#!/bin/sh

iterate()
{
	"$@" GX - bin/opera@@{SUFFIX}
	"$@" GX - bin/opera@@{SUFFIX}-widget-manager
	if ! $repackage
	then
		"$@" GX - bin/uninstall-opera@@{SUFFIX}
	fi
	"$@" NF 9569f3702d7be751e757ef160ac7acfa lib/opera@@{SUFFIX}/gstreamer/plugins/libgstoperamatroska.so
	"$@" NF 67cfdd9a00c0fb5fcb0606a490bc15f1 lib/opera@@{SUFFIX}/gstreamer/plugins/libgstoperavp8.so
	"$@" NF 5b66981bea0cebfac3fb118d67bc5b18 lib/opera@@{SUFFIX}/liboperagtk2.so
	"$@" NF 5f77d57222c5c76cfbe8f75625489b72 lib/opera@@{SUFFIX}/liboperagtk3.so
	"$@" NF bc648328ea0090409436e8545909744d lib/opera@@{SUFFIX}/liboperakde4.so
	"$@" NX d4d8306187ae6fca88f9c4be3fcbbe99 lib/opera@@{SUFFIX}/opera@@{SUFFIX}
	"$@" NX b4c0898df7f47a5af2475121b8c8b215 lib/opera@@{SUFFIX}/operaplugincleaner
	"$@" NX 7ea40931a1e3839802f52e00c34635d7 lib/opera@@{SUFFIX}/operapluginwrapper
	"$@" NF 0a8389b127c477aa2c55ee5d234473ca lib/opera@@{SUFFIX}/plugins/README
	"$@" PF 7391965010108b488c3bc526c8c7015c share/applications/opera@@{SUFFIX}-browser.desktop
	"$@" PF e78f45e2dc8098046f2a19e268031058 share/applications/opera@@{SUFFIX}-widget-installer.desktop
	"$@" PF 4d84c2febef83fd835ebf0d9f1f5d7df share/applications/opera@@{SUFFIX}-widget-manager.desktop
	"$@" NF 3214f080875748938ba060314b4f727d share/doc/opera@@{SUFFIX}/LGPL-2
	"$@" NF 6a6a8e020838b23406c81b19c1d46df6 share/doc/opera@@{SUFFIX}/LGPL-3
	"$@" NF c65fcbc55239fd1df14305d61f52b446 share/doc/opera@@{SUFFIX}/LICENSE
	"$@" NF c9996f43d681b457f038bfc8efeef28a share/doc/opera@@{SUFFIX}/README.gstreamer
	"$@" NF e86ae7a20a7bc688af75a10d628de734 share/icons/hicolor/128x128/apps/opera@@{SUFFIX}-browser.png
	"$@" NF a8364412e16fd47998b58733e5a17ce6 share/icons/hicolor/128x128/apps/opera@@{SUFFIX}-widget-manager.png
	"$@" LL ../mimetypes/opera@@{SUFFIX}-widget.png share/icons/hicolor/128x128/apps/opera@@{SUFFIX}-widget.png
	"$@" NF 272f6ee8bbad4dc7029d81286ca4763e share/icons/hicolor/128x128/mimetypes/opera@@{SUFFIX}-extension.png
	"$@" NF e67a11f466869d45bda53bdc9dbf4820 share/icons/hicolor/128x128/mimetypes/opera@@{SUFFIX}-unite-application.png
	"$@" NF a2ae615b486e32092225f672d436d799 share/icons/hicolor/128x128/mimetypes/opera@@{SUFFIX}-widget.png
	"$@" NF c3a9608cefc210c9e7823389c880a846 share/icons/hicolor/16x16/apps/opera@@{SUFFIX}-browser.png
	"$@" NF 63786cc7701894e2ed1cecad31f2f78e share/icons/hicolor/16x16/apps/opera@@{SUFFIX}-widget-manager.png
	"$@" LL ../mimetypes/opera@@{SUFFIX}-widget.png share/icons/hicolor/16x16/apps/opera@@{SUFFIX}-widget.png
	"$@" NF 87c5739d23920500c0815c88fcee8fb1 share/icons/hicolor/16x16/mimetypes/opera@@{SUFFIX}-extension.png
	"$@" NF 87a4cd99f0b1be41a1f6cfda5d57858a share/icons/hicolor/16x16/mimetypes/opera@@{SUFFIX}-unite-application.png
	"$@" NF 2bf861fe626ecd8480ed4f4b1d4f6086 share/icons/hicolor/16x16/mimetypes/opera@@{SUFFIX}-widget.png
	"$@" NF 6ed751290abb1877dc5f63d98d519388 share/icons/hicolor/22x22/apps/opera@@{SUFFIX}-browser.png
	"$@" NF a385010faaf3f4474e179b3e31e7dc4c share/icons/hicolor/22x22/apps/opera@@{SUFFIX}-widget-manager.png
	"$@" LL ../mimetypes/opera@@{SUFFIX}-widget.png share/icons/hicolor/22x22/apps/opera@@{SUFFIX}-widget.png
	"$@" NF b1aadfffe1a2a4cbc0769505f130f462 share/icons/hicolor/22x22/mimetypes/opera@@{SUFFIX}-extension.png
	"$@" NF 96f5a6bb62249a96b18a21e2620dcaf5 share/icons/hicolor/22x22/mimetypes/opera@@{SUFFIX}-unite-application.png
	"$@" NF a9c3ccc0b72ab3af8abd7e340e3c9918 share/icons/hicolor/22x22/mimetypes/opera@@{SUFFIX}-widget.png
	"$@" NF 69ec92d70839774813d2b947b64b6c47 share/icons/hicolor/24x24/apps/opera@@{SUFFIX}-browser.png
	"$@" NF 18da329a213cc3c61f44fe570d7fafe5 share/icons/hicolor/24x24/apps/opera@@{SUFFIX}-widget-manager.png
	"$@" LL ../mimetypes/opera@@{SUFFIX}-widget.png share/icons/hicolor/24x24/apps/opera@@{SUFFIX}-widget.png
	"$@" NF 70c1f737385a88bd616654ef23a187cc share/icons/hicolor/24x24/mimetypes/opera@@{SUFFIX}-extension.png
	"$@" NF 5de5a30096324d2fb9d48928d49912c3 share/icons/hicolor/24x24/mimetypes/opera@@{SUFFIX}-unite-application.png
	"$@" NF 588162e24d2bd73258d1bcecf62b7798 share/icons/hicolor/24x24/mimetypes/opera@@{SUFFIX}-widget.png
	"$@" NF 8252fceede693440b96be35f6065cde3 share/icons/hicolor/32x32/apps/opera@@{SUFFIX}-browser.png
	"$@" NF 7d64048682c5ea906e7ea281f4f12442 share/icons/hicolor/32x32/apps/opera@@{SUFFIX}-widget-manager.png
	"$@" LL ../mimetypes/opera@@{SUFFIX}-widget.png share/icons/hicolor/32x32/apps/opera@@{SUFFIX}-widget.png
	"$@" NF 852841f582f95cabb04992397fcc97ce share/icons/hicolor/32x32/mimetypes/opera@@{SUFFIX}-extension.png
	"$@" NF 7d861375334ea90d50f01bd84720f54e share/icons/hicolor/32x32/mimetypes/opera@@{SUFFIX}-unite-application.png
	"$@" NF 70b287cbe7a06465220692a15c9b9c13 share/icons/hicolor/32x32/mimetypes/opera@@{SUFFIX}-widget.png
	"$@" NF d0b315ea05750c1abb157042e56165d2 share/icons/hicolor/48x48/apps/opera@@{SUFFIX}-browser.png
	"$@" NF 6177835f1655a6a1441ebefe49f404ff share/icons/hicolor/48x48/apps/opera@@{SUFFIX}-widget-manager.png
	"$@" LL ../mimetypes/opera@@{SUFFIX}-widget.png share/icons/hicolor/48x48/apps/opera@@{SUFFIX}-widget.png
	"$@" NF 6b94ab4c0f32141dc889207cf3454c43 share/icons/hicolor/48x48/mimetypes/opera@@{SUFFIX}-extension.png
	"$@" NF 4e4670e50dc2cb2305abd6f526a82099 share/icons/hicolor/48x48/mimetypes/opera@@{SUFFIX}-unite-application.png
	"$@" NF 6471746ab02f81f91b2e08fc95db4aa4 share/icons/hicolor/48x48/mimetypes/opera@@{SUFFIX}-widget.png
	"$@" NF 52440fbe31989de381a04002fe54da6e share/icons/hicolor/scalable/apps/opera@@{SUFFIX}-browser.svg
	"$@" NF c8931b3343cbec2271105febad88ebfe share/icons/hicolor/scalable/apps/opera@@{SUFFIX}-widget-manager.svg
	"$@" LL ../mimetypes/opera@@{SUFFIX}-widget.svg share/icons/hicolor/scalable/apps/opera@@{SUFFIX}-widget.svg
	"$@" NF fe9c0b034eb8961565ee0c19efecc2cd share/icons/hicolor/scalable/mimetypes/opera@@{SUFFIX}-extension.svg
	"$@" NF 957818c8871b44f4b490a51f90134fa5 share/icons/hicolor/scalable/mimetypes/opera@@{SUFFIX}-unite-application.svg
	"$@" NF 71d72ea4945da5e60a0dcef66c28c319 share/icons/hicolor/scalable/mimetypes/opera@@{SUFFIX}-widget.svg
	"$@" PF 857cffff2a3abd14f45c78fa4df1c529 share/man/man1/opera@@{SUFFIX}-widget-manager.1.gz
	"$@" PF c8040eb38896b86d09578602145b9b94 share/man/man1/opera@@{SUFFIX}.1.gz
	"$@" PF a960b3c9c3fabecd6805a4b954d893e1 share/mime/packages/opera@@{SUFFIX}-extension.xml
	"$@" PF c2c25c89d82f6eb553903a414bf51d31 share/mime/packages/opera@@{SUFFIX}-unite-application.xml
	"$@" PF df56e332a5c86b549caaad058b6928b6 share/mime/packages/opera@@{SUFFIX}-widget.xml
	"$@" NF 6af713ba417b5ab3b7bf9353b98b357d share/opera@@{SUFFIX}/defaults/bookmarks.adr
	"$@" NF 8c82c67376cf11535d0be347051e0600 share/opera@@{SUFFIX}/defaults/dictionaries.xml
	"$@" NF be5b3d761bb4aae49722002eb95d0c89 share/opera@@{SUFFIX}/defaults/feedreaders.ini
	"$@" NF cd2c7135a4f91af45892a366bb5274c8 share/opera@@{SUFFIX}/defaults/filehandler.ini
	"$@" NF 47a53d099e890ff3d20fba89291d7edc share/opera@@{SUFFIX}/defaults/handlers-ignore.ini
	"$@" LL ../../doc/opera@@{SUFFIX}/LICENSE share/opera@@{SUFFIX}/defaults/license.txt
	"$@" NF ce01f6750a0ce6c3792df2192c732e77 share/opera@@{SUFFIX}/defaults/mailproviders.xml
	"$@" NF 0cb4ac60c1cf45bd08ec4d5d62da5c02 share/opera@@{SUFFIX}/defaults/plugin-ignore.ini
	"$@" NF 140888cfeb603e37cb6de4845debbf8e share/opera@@{SUFFIX}/defaults/pluginpath.ini
	"$@" NF c923ad621572e7b42769079acf749132 share/opera@@{SUFFIX}/defaults/public_domains.dat
	"$@" NF 75b869ed8af9c551fcb587512cc4d9ec share/opera@@{SUFFIX}/defaults/search.ini
	"$@" NF 6634058c2f4467e55d1f4370bf4bea02 share/opera@@{SUFFIX}/defaults/standard_speeddial.ini
	"$@" NF 2ecfa381c2006b9db4143f4da84954e5 share/opera@@{SUFFIX}/defaults/standard_trusted_repositories.ini
	"$@" NF bd9d8babf17fab74b6ac921034e0c9fe share/opera@@{SUFFIX}/defaults/tips_metadata.ini
	"$@" NF 51e20bcd23e47edb6ff898439b9c7a7c share/opera@@{SUFFIX}/defaults/webmailproviders.ini
	"$@" NF 5978ba5d3fa29bb0f5b210cc8aad57e1 share/opera@@{SUFFIX}/defaults/xmlentities.ini
	"$@" NF 4365dbd98aece2a19fc2541e37180831 share/opera@@{SUFFIX}/encoding.bin
	"$@" NF 54f1497ac9cc9ffa04d52213be260559 share/opera@@{SUFFIX}/extra/missingplugin.svg
	"$@" NF 17700f8a405a78dc1afdf69679a3f85b share/opera@@{SUFFIX}/extra/missingpluginhover.svg
	"$@" NF 0547d144b3de633887a8657de0ee1779 share/opera@@{SUFFIX}/extra/svg-mo.dat
	"$@" NF 6ee58550670e206dc93e1b31a7da2c9f share/opera@@{SUFFIX}/extra/svg-mobd.dat
	"$@" NF 0ab7eca84c071dac25dafd3b4569d80f share/opera@@{SUFFIX}/extra/svg-sa.dat
	"$@" NF 23059c42a43dceded9122d8834aa43fe share/opera@@{SUFFIX}/extra/svg-sabd.dat
	"$@" NF f3747a59108df781e04305b1bee29574 share/opera@@{SUFFIX}/extra/svg-se.dat
	"$@" NF bcdb530c010ed72fe6096d46366c57f5 share/opera@@{SUFFIX}/extra/svg-sebd.dat
	"$@" NF b17a8e6d55ebf7b1b4a7b7d6d84297cc share/opera@@{SUFFIX}/files.sig
	"$@" NF 07691ad17c3fd15036b85c5fa416f34d share/opera@@{SUFFIX}/files_old.sig
	"$@" NF 7a2db2de5211ab16a6712e4168d17ec7 share/opera@@{SUFFIX}/html40_entities.dtd
	"$@" NF 605e7197db177408472e89e24503ee99 share/opera@@{SUFFIX}/html5_entity_init.dat
	"$@" NF 63827d48e764482a3dcfd678924f6fce share/opera@@{SUFFIX}/lngcode.txt
	"$@" NF abe9fc9cb742aa077889c49f5fc75cd2 share/opera@@{SUFFIX}/locale/af/af.lng
	"$@" NF 5f1271057ad68c9ca1f3cc6dcaa63e3a share/opera@@{SUFFIX}/locale/az/az.lng
	"$@" NF 67955af09d01889e73e1229291841c78 share/opera@@{SUFFIX}/locale/be/be.lng
	"$@" NF 63653908ea880883635828c07d88a0b3 share/opera@@{SUFFIX}/locale/be/bookmarks.adr
	"$@" NF 28d29cbc7131158aa255f5387a5b7355 share/opera@@{SUFFIX}/locale/be/search.ini
	"$@" NF 206fb4b3fd86df378d1870b5232bcd37 share/opera@@{SUFFIX}/locale/be/standard_speeddial.ini
	"$@" NF ef5a166268b42fdff1bd7d2858aa77e3 share/opera@@{SUFFIX}/locale/bg/bg.lng
	"$@" NF 13c63b5f59f3e7aa2473d391057ea3d9 share/opera@@{SUFFIX}/locale/bg/bookmarks.adr
	"$@" NF 8f50e5bed48158b4b1ce9a3a5112342a share/opera@@{SUFFIX}/locale/bg/search.ini
	"$@" NF 27489309ca0a0c8316ba564455a1281a share/opera@@{SUFFIX}/locale/bg/standard_speeddial.ini
	"$@" NF aa158105c9faf4b94da5be7064e2127a share/opera@@{SUFFIX}/locale/bn/bn.lng
	"$@" NF 26bbdb72b403145887bcc3ff90125bf0 share/opera@@{SUFFIX}/locale/cs/bookmarks.adr
	"$@" NF a79dce5ab8c8cbbf9c36a9c834ec8bec share/opera@@{SUFFIX}/locale/cs/cs.lng
	"$@" NF eba405dfcc1601cbeff472ed27c0dfe7 share/opera@@{SUFFIX}/locale/cs/search.ini
	"$@" NF bca9ddf506f0af7ab5e945a8fc1a0478 share/opera@@{SUFFIX}/locale/cs/standard_speeddial.ini
	"$@" NF bd24cd637ff4d7f3d04d72fcaff4e4bf share/opera@@{SUFFIX}/locale/da/da.lng
	"$@" NF 38213ca7403af37883f5afc7257ec495 share/opera@@{SUFFIX}/locale/de/bookmarks.adr
	"$@" NF c6f535e8aabfe2ab3c6fa52a1325433f share/opera@@{SUFFIX}/locale/de/de.lng
	"$@" NF 03ea96d014fbde9aef3d9806b7a6b1f7 share/opera@@{SUFFIX}/locale/de/search.ini
	"$@" NF 5b3f7038fcfab43175b6ef09559e092b share/opera@@{SUFFIX}/locale/de/standard_speeddial.ini
	"$@" NF 0aa3eaa4a884df35ef9328a941c917cb share/opera@@{SUFFIX}/locale/el/el.lng
	"$@" NF bcb661d3389fa7915b95c3ff4b539a1a share/opera@@{SUFFIX}/locale/en-GB/en-GB.lng
	"$@" NF 4a6aa4754058ca1eddd2b9f92b0af552 share/opera@@{SUFFIX}/locale/en/en.lng
	"$@" NF d3675b99495ed56e13ebab1dcd90efc2 share/opera@@{SUFFIX}/locale/en/en.zip
	"$@" LL ../../../doc/opera@@{SUFFIX}/LICENSE share/opera@@{SUFFIX}/locale/en/license.txt
	"$@" NF f176d42fbb152845236fd99ac5f00b62 share/opera@@{SUFFIX}/locale/es-ES/bookmarks.adr
	"$@" NF 34b7fd57ae6f6824867083b234a172ec share/opera@@{SUFFIX}/locale/es-ES/es-ES.lng
	"$@" NF 5db683a461d67044e7d56474950491ab share/opera@@{SUFFIX}/locale/es-ES/search.ini
	"$@" NF eaa549c0cfaca1bc3d82aadade511cc3 share/opera@@{SUFFIX}/locale/es-ES/standard_speeddial.ini
	"$@" NF ca9d7116db0cbefe8c7b8b8ebda64dd4 share/opera@@{SUFFIX}/locale/es-LA/es-LA.lng
	"$@" NF cf7c10a1d30e8c318b4e61bfc9e3d16e share/opera@@{SUFFIX}/locale/et/et.lng
	"$@" NF d545f8d0131fe31e8ec527e6bf8eec5b share/opera@@{SUFFIX}/locale/fi/fi.lng
	"$@" NF 195eb54b81258599f9af515f154976a5 share/opera@@{SUFFIX}/locale/fr-CA/fr-CA.lng
	"$@" NF 84aa797b44f67cabc4758fd0de43f920 share/opera@@{SUFFIX}/locale/fr/bookmarks.adr
	"$@" NF 89f5f261ef497dc6e9316083d3bd8570 share/opera@@{SUFFIX}/locale/fr/fr.lng
	"$@" NF 52d0461eadd5ad222a92be0981e8677e share/opera@@{SUFFIX}/locale/fr/search.ini
	"$@" NF fc1742345e534b584865e0beba9b5438 share/opera@@{SUFFIX}/locale/fr/standard_speeddial.ini
	"$@" NF b569140fe98141d87c90823d63d3f671 share/opera@@{SUFFIX}/locale/fy/fy.lng
	"$@" NF 43722e4e103308bf110e7f36eef814a5 share/opera@@{SUFFIX}/locale/gd/gd.lng
	"$@" NF 2487af0103eee06a0b49948c8b397f25 share/opera@@{SUFFIX}/locale/hi/hi.lng
	"$@" NF 3b86583f8d9764584f4117c3e4327e25 share/opera@@{SUFFIX}/locale/hr/hr.lng
	"$@" NF a294d2fbf27fb9bd29b0d7922df71cd3 share/opera@@{SUFFIX}/locale/hu/bookmarks.adr
	"$@" NF 39ea068c64f0d79bd53eede979ba0df6 share/opera@@{SUFFIX}/locale/hu/hu.lng
	"$@" NF 1bd4c7a20b7459170c399388af0fc095 share/opera@@{SUFFIX}/locale/hu/search.ini
	"$@" NF 5e22c7f6ca5297dd9d870177b1570199 share/opera@@{SUFFIX}/locale/hu/standard_speeddial.ini
	"$@" NF 1308e763e7642968aa590b280db74e85 share/opera@@{SUFFIX}/locale/id/id.lng
	"$@" NF 38c3fdd58653b14260220aa00552f9a3 share/opera@@{SUFFIX}/locale/it/bookmarks.adr
	"$@" NF d7a6e36e59fc98b1be17a06dc30ce785 share/opera@@{SUFFIX}/locale/it/it.lng
	"$@" NF de1e048d7a668d35db5edbed2c207185 share/opera@@{SUFFIX}/locale/it/search.ini
	"$@" NF 3cdd5f24a5c7266e2de1b2f4a0289b23 share/opera@@{SUFFIX}/locale/it/standard_speeddial.ini
	"$@" NF b57e9fed9a0d9aee55a050a07e99eebf share/opera@@{SUFFIX}/locale/ja/bookmarks.adr
	"$@" NF 4c8619d426c5ed34d7ef262aa032e3af share/opera@@{SUFFIX}/locale/ja/ja.lng
	"$@" NF 8ada682bbd8c56378dbc61cfa9b98d5c share/opera@@{SUFFIX}/locale/ja/search.ini
	"$@" NF 1090fb75990f06e82e7a3899714e56f8 share/opera@@{SUFFIX}/locale/ja/standard_speeddial.ini
	"$@" NF 0a83d5bbe6391048943b355c3d7ba0c2 share/opera@@{SUFFIX}/locale/ka/ka.lng
	"$@" NF f497f13f2fc66967863574afca99fcd4 share/opera@@{SUFFIX}/locale/ko/ko.lng
	"$@" NF 8e2ed214338161189e2a78e5267aa17d share/opera@@{SUFFIX}/locale/lt/lt.lng
	"$@" NF 88ff3c80ea9a064e23f30ddbefa34644 share/opera@@{SUFFIX}/locale/me/me.lng
	"$@" NF 142f3155e78ae344069a3a7acf7af80a share/opera@@{SUFFIX}/locale/mk/mk.lng
	"$@" NF 62db3e7a850a5d36b3d06c356a1b0396 share/opera@@{SUFFIX}/locale/ms/ms.lng
	"$@" NF 4decd9c9ecb1651ce8c8083c3ff1e7d2 share/opera@@{SUFFIX}/locale/nb/bookmarks.adr
	"$@" NF 0ab7e04b72e117d408aaaa61367dfaff share/opera@@{SUFFIX}/locale/nb/nb.lng
	"$@" NF c7131874a1a7442033bb0791648b5795 share/opera@@{SUFFIX}/locale/nb/search.ini
	"$@" NF 4580e5dea9855ff4a9b89f312c1b07b9 share/opera@@{SUFFIX}/locale/nb/standard_speeddial.ini
	"$@" NF 29c7d7bc259a93f783546338e0c201b0 share/opera@@{SUFFIX}/locale/nl/nl.lng
	"$@" NF a2e5d6e8bedfe13aa1a0fd55345fc9fd share/opera@@{SUFFIX}/locale/nn/nn.lng
	"$@" NF 365b0257d74933d9472d4bd32a8937eb share/opera@@{SUFFIX}/locale/pa/pa.lng
	"$@" NF 5ebfc0a6326a05c40d6fb0d0d7a5fa21 share/opera@@{SUFFIX}/locale/pl/bookmarks.adr
	"$@" NF 952d60b50387c1f875f177c9fad6ca2a share/opera@@{SUFFIX}/locale/pl/pl.lng
	"$@" NF ce17d6f4537e5b96ed4d244cd95e174a share/opera@@{SUFFIX}/locale/pl/search.ini
	"$@" NF 74b5a6ecba2418eddfd2e53b4bbde995 share/opera@@{SUFFIX}/locale/pl/standard_speeddial.ini
	"$@" NF 29d59499d6e146b22b40d562e7ea3d59 share/opera@@{SUFFIX}/locale/pt-BR/bookmarks.adr
	"$@" NF 5cc356bc313760818439209c3e8a2e88 share/opera@@{SUFFIX}/locale/pt-BR/pt-BR.lng
	"$@" NF ea28c6a7d432c4b950da31efba93697b share/opera@@{SUFFIX}/locale/pt-BR/search.ini
	"$@" NF 1618a9dab4c00d81789c9aea9b007178 share/opera@@{SUFFIX}/locale/pt-BR/standard_speeddial.ini
	"$@" NF 10813142db369026226c0936563aa846 share/opera@@{SUFFIX}/locale/pt/pt.lng
	"$@" NF 97eca42dd07776100d82266ac3d62387 share/opera@@{SUFFIX}/locale/ro/bookmarks.adr
	"$@" NF 3675ed459e5b350e1f09220652e26d04 share/opera@@{SUFFIX}/locale/ro/ro.lng
	"$@" NF 8fbae1741761859112014d366b0fbbc3 share/opera@@{SUFFIX}/locale/ro/search.ini
	"$@" NF b1581b0a01ff4d57156a237c1f023719 share/opera@@{SUFFIX}/locale/ro/standard_speeddial.ini
	"$@" NF ea99a0a5cec294c3fb848f43773f2c9b share/opera@@{SUFFIX}/locale/ru/bookmarks.adr
	"$@" NF eff2617ee818e69241aead181ca20ec3 share/opera@@{SUFFIX}/locale/ru/ru.lng
	"$@" NF 936045c4caf7d3ceb757f61f8f66b519 share/opera@@{SUFFIX}/locale/ru/search.ini
	"$@" NF 49c8131452fc12d231f17b8631fb9c63 share/opera@@{SUFFIX}/locale/ru/standard_speeddial.ini
	"$@" NF 231d5b14243dbe53082cf334d43247f9 share/opera@@{SUFFIX}/locale/sk/bookmarks.adr
	"$@" NF 6b5b46199bd07a2b25d9d97ce80ca0d6 share/opera@@{SUFFIX}/locale/sk/search.ini
	"$@" NF addabbc714aab7700544c65e7b2cd6a7 share/opera@@{SUFFIX}/locale/sk/sk.lng
	"$@" NF 23e8307594a8b4ef65e095291b06ccf5 share/opera@@{SUFFIX}/locale/sk/standard_speeddial.ini
	"$@" NF fc29ab7506847d069c7f6a0f97f5f8fd share/opera@@{SUFFIX}/locale/sr/bookmarks.adr
	"$@" NF 5a080eefdc493cc040b7b34477dea045 share/opera@@{SUFFIX}/locale/sr/search.ini
	"$@" NF 1499e0eaf328b716e0c7e3bd09cae9d8 share/opera@@{SUFFIX}/locale/sr/sr.lng
	"$@" NF 5339815ce2134793a5c303edb56007c8 share/opera@@{SUFFIX}/locale/sr/standard_speeddial.ini
	"$@" NF a0b0c76b92f0b3d47e71c81530c460db share/opera@@{SUFFIX}/locale/sv/sv.lng
	"$@" NF 2455fe2da1dc721a166bac7088cbee6f share/opera@@{SUFFIX}/locale/sw/sw.lng
	"$@" NF 8b005c42d35c3d84d24ab57f81ff5601 share/opera@@{SUFFIX}/locale/ta/ta.lng
	"$@" NF b685007623d081b9f3a80a96ec05aeea share/opera@@{SUFFIX}/locale/te/te.lng
	"$@" NF 989b78cec5160272ce0c92f6616ad4bf share/opera@@{SUFFIX}/locale/th/th.lng
	"$@" NF 1ee8308fcf9f72ba0ed23adc86f93567 share/opera@@{SUFFIX}/locale/tl/tl.lng
	"$@" NF d2a9bc2799197a990bba0c32779216b7 share/opera@@{SUFFIX}/locale/tr/bookmarks.adr
	"$@" NF 0c26c108dbc1354268dde7a249e55d59 share/opera@@{SUFFIX}/locale/tr/search.ini
	"$@" NF adb363c6c73e81e84010f8c517f4bac2 share/opera@@{SUFFIX}/locale/tr/standard_speeddial.ini
	"$@" NF 2c94aea190d779bda4ce4c4cee25f5d6 share/opera@@{SUFFIX}/locale/tr/tr.lng
	"$@" NF 7703fabb62fa896a01be1975b3ddac5d share/opera@@{SUFFIX}/locale/uk/bookmarks.adr
	"$@" NF 99249fd570ea8c02ac2b8ea493e60d20 share/opera@@{SUFFIX}/locale/uk/search.ini
	"$@" NF e04dda99f3fd45677304c360e8a739ec share/opera@@{SUFFIX}/locale/uk/standard_speeddial.ini
	"$@" NF 141abc4d543c936053fabade73c940aa share/opera@@{SUFFIX}/locale/uk/uk.lng
	"$@" NF 5422819a8fdcd3f6eed4367992afe6f5 share/opera@@{SUFFIX}/locale/uz/uz.lng
	"$@" NF ddba7c3b9248e8b1dd06daa8bb332cb7 share/opera@@{SUFFIX}/locale/vi/vi.lng
	"$@" NF 58349d9bc0afb0f58610c806bd446501 share/opera@@{SUFFIX}/locale/zh-cn/bookmarks.adr
	"$@" NF 8f2241e9ccc3516321d3b7eba0256516 share/opera@@{SUFFIX}/locale/zh-cn/search.ini
	"$@" NF d09cc5e0fd301d5553ca7f11f990a8ba share/opera@@{SUFFIX}/locale/zh-cn/standard_speeddial.ini
	"$@" NF 2f1d514428259ae0d70a7d8164b082ac share/opera@@{SUFFIX}/locale/zh-cn/zh-cn.lng
	"$@" NF 82d611151ba0af5ada741ab9f41b8f02 share/opera@@{SUFFIX}/locale/zh-tw/zh-tw.lng
	"$@" NF 0514bfb40ee4721b4d34294620f6de6a share/opera@@{SUFFIX}/locale/zu/zu.lng
	"$@" NF 1c24deadc6027ab1b7a2cecc7b7c00e4 share/opera@@{SUFFIX}/mathml.dtd
	"$@" NF bbcf4cd96a659d4e1e00ab21f0565d56 share/opera@@{SUFFIX}/package-id.ini
	"$@" NF a6485d9b7be876314c624d291d6575a1 share/opera@@{SUFFIX}/package/lib/binprint.sh
	"$@" NF e7e881f582f55beb206ee28c694a9a1c share/opera@@{SUFFIX}/package/lib/layout_common.sh
	"$@" NF 45642baaad2a785da620edf0945690ff share/opera@@{SUFFIX}/package/lib/layout_deb.sh
	"$@" NF ef97aabff0bf409a1b8869d34668d727 share/opera@@{SUFFIX}/package/lib/layout_tar.sh
	"$@" NF a8282806a1e3b9bea0f279348f76d4c2 share/opera@@{SUFFIX}/package/lib/main.sh
	"$@" NF 5843ecaae9aad7e1e0f36bc0d245df45 share/opera@@{SUFFIX}/package/lib/normalize.sh
	"$@" NF 324d47f2b5cf6e64fc7b548883527d5f share/opera@@{SUFFIX}/package/lib/package_deb.sh
	"$@" NF f809760b9a5cce32e0dd95e0fd39eb36 share/opera@@{SUFFIX}/package/lib/package_rpm.sh
	"$@" NF bd8cc8ab3353a0c14c514fb25f74302f share/opera@@{SUFFIX}/package/lib/package_tar.sh
	"$@" NF b2a6eb60c20b9329acad9f519ca66ac0 share/opera@@{SUFFIX}/package/lib/xml.sh
	"$@" NX bca998e6f24510a22be340fea94f81f0 share/opera@@{SUFFIX}/package/main.sh
	"$@" NF 4b9efdff0eac7dee1c7250668186d1aa share/opera@@{SUFFIX}/pubsuffix.xml
	"$@" NF ee8259feacfbf62e84f205eab1cd4a42 share/opera@@{SUFFIX}/region/cis/en/bookmarks.adr
	"$@" NF 8b02bba72feec5b445a864131f942281 share/opera@@{SUFFIX}/region/cis/en/search.ini
	"$@" NF 6dd5fbe2392946f5bd59f72c4c51d18d share/opera@@{SUFFIX}/region/cis/en/standard_speeddial.ini
	"$@" NF ea99a0a5cec294c3fb848f43773f2c9b share/opera@@{SUFFIX}/region/cis/ru/bookmarks.adr
	"$@" NF 936045c4caf7d3ceb757f61f8f66b519 share/opera@@{SUFFIX}/region/cis/ru/search.ini
	"$@" NF 49c8131452fc12d231f17b8631fb9c63 share/opera@@{SUFFIX}/region/cis/ru/standard_speeddial.ini
	"$@" NF 53fea2b4d0d37a1c5a2b328dac32eb2d share/opera@@{SUFFIX}/region/cn/browser.js
	"$@" NF 6c76f12f5c2112f508424338525889c3 share/opera@@{SUFFIX}/region/cn/en/bookmarks.adr
	"$@" NF 1c068dea16f390bdb63afe6b80d8f6d6 share/opera@@{SUFFIX}/region/cn/en/search.ini
	"$@" NF 52394efda8425173a039778bf5c186a4 share/opera@@{SUFFIX}/region/cn/en/standard_speeddial.ini
	"$@" NF d44fc31b4c96a97d22624455874764ca share/opera@@{SUFFIX}/region/cn/turbosettings.xml
	"$@" NF 79e356e45952a6002a9cc26ee8c2cf62 share/opera@@{SUFFIX}/region/gb/bookmarks.adr
	"$@" NF 03b593fe38c84cfef7c065a857b91dbe share/opera@@{SUFFIX}/region/gb/search.ini
	"$@" NF 7c7a5ae9b3ab17afd772ee2ba62dbf04 share/opera@@{SUFFIX}/region/gb/standard_speeddial.ini
	"$@" NF 53fea2b4d0d37a1c5a2b328dac32eb2d share/opera@@{SUFFIX}/region/hk/browser.js
	"$@" NF 6ea2f98cdeaf54c398dca24aea9df644 share/opera@@{SUFFIX}/region/hk/turbosettings.xml
	"$@" NF abf454b10eef91a6dc1e8ad23c227030 share/opera@@{SUFFIX}/region/id/bookmarks.adr
	"$@" NF 6fe5f57417492e2cd774b705013b03c7 share/opera@@{SUFFIX}/region/id/search.ini
	"$@" NF fb1677b86ee1f76fda99d96c5fd007ac share/opera@@{SUFFIX}/region/id/standard_speeddial.ini
	"$@" NF 992379f9f07e4205f6bae797f315bf31 share/opera@@{SUFFIX}/region/in/bookmarks.adr
	"$@" NF ca20d3cd97540dac008652873222585e share/opera@@{SUFFIX}/region/in/search.ini
	"$@" NF 0ead23a194891407e54b81bf4c4c4aa2 share/opera@@{SUFFIX}/region/in/standard_speeddial.ini
	"$@" NF a0a98bdcbd56d7bbf869f65eecb7a087 share/opera@@{SUFFIX}/region/latin_america/bookmarks.adr
	"$@" NF 28d250c4d2d3037d76e449e08fcf0681 share/opera@@{SUFFIX}/region/latin_america/search.ini
	"$@" NF d003e54a9556d0a8b24386645ba98a8c share/opera@@{SUFFIX}/region/latin_america/standard_speeddial.ini
	"$@" NF 1b558b4fd0f49e9c2cc69b4f73a52d1b share/opera@@{SUFFIX}/region/middle_east/bookmarks.adr
	"$@" NF 023664e53056292d04ba24eb3838e0ed share/opera@@{SUFFIX}/region/middle_east/search.ini
	"$@" NF d3057586e06eca07c5f69611088c0669 share/opera@@{SUFFIX}/region/middle_east/standard_speeddial.ini
	"$@" NF 1888c185fbb798a144c93e2a93bc0b0c share/opera@@{SUFFIX}/region/region.ini
	"$@" NF 53fea2b4d0d37a1c5a2b328dac32eb2d share/opera@@{SUFFIX}/region/tw/browser.js
	"$@" NF 6ea2f98cdeaf54c398dca24aea9df644 share/opera@@{SUFFIX}/region/tw/turbosettings.xml
	"$@" NF d2d71ff4261009f009354f551c3c8df3 share/opera@@{SUFFIX}/region/ua/ru/bookmarks.adr
	"$@" NF 3958bf1777edc4b00de04e02663c9b36 share/opera@@{SUFFIX}/region/ua/ru/search.ini
	"$@" NF ba7e66e698522683b7d95163353905d9 share/opera@@{SUFFIX}/region/ua/ru/standard_speeddial.ini
	"$@" NF e7df5deac1a50c5ed83e8aa8e0f4b7ba share/opera@@{SUFFIX}/region/us/bookmarks.adr
	"$@" NF 895b6e1530230843a344535cbb5b504c share/opera@@{SUFFIX}/region/us/search.ini
	"$@" NF b7d802a8138d321a45b501f49101fb39 share/opera@@{SUFFIX}/region/us/standard_speeddial.ini
	"$@" NF c52df01f1881b5156103e016df3759c7 share/opera@@{SUFFIX}/skin/standard_skin.zip
	"$@" NF d31512bcf513a97c71414aa1cd52ba34 share/opera@@{SUFFIX}/skin/unix_skin.zip
	"$@" NF 06820e6bdd581b0a257e5e2648360457 share/opera@@{SUFFIX}/styles/about.css
	"$@" NF 4fb7c857524fd084449266fc70e9288b share/opera@@{SUFFIX}/styles/cache.css
	"$@" NF 51738dfa1066ca0716150a59929fd4ce share/opera@@{SUFFIX}/styles/certinfo.css
	"$@" NF 12ebb2fab0ecc03466f1a56630dc634a share/opera@@{SUFFIX}/styles/config.css
	"$@" NF 27249ef2c359eb6f207179f0c76214ba share/opera@@{SUFFIX}/styles/contentblock.css
	"$@" NF 3ddaf96398ae99245f6b83e6dc676ac6 share/opera@@{SUFFIX}/styles/debug.css
	"$@" NF 056873687942e8aad4f0f297c1d4a57b share/opera@@{SUFFIX}/styles/dir.css
	"$@" NF 22d3529beacb5ddda06db41039bc7848 share/opera@@{SUFFIX}/styles/error.css
	"$@" NF e2fe058194b04269a874420d76ed9261 share/opera@@{SUFFIX}/styles/feed.css
	"$@" NF e9ee42b5c66c0367c1e02a1eeeca0776 share/opera@@{SUFFIX}/styles/history.css
	"$@" NF 12f94765c2868077a49c69c47a546e43 share/opera@@{SUFFIX}/styles/im.css
	"$@" NF df384ae925f810d03d84dadf96b5beb1 share/opera@@{SUFFIX}/styles/image.css
	"$@" NF 73b840d67b16a49008b7ed3d6aec38ab share/opera@@{SUFFIX}/styles/images/Opera_256x256.png
	"$@" NF b769d1013cf6d688b39c36a5e72da222 share/opera@@{SUFFIX}/styles/images/arrow.png
	"$@" NF 35a8968b802c4cd66f70631354cec397 share/opera@@{SUFFIX}/styles/images/bar.png
	"$@" NF 2e242ddd9c9679c584b0fe430b8948cf share/opera@@{SUFFIX}/styles/images/bkgd-rev.png
	"$@" NF b133b79753e118bafa077c594ed22724 share/opera@@{SUFFIX}/styles/images/bkgd.png
	"$@" NF 4289d8db3e0ad4cb825d34c969c142ff share/opera@@{SUFFIX}/styles/images/bullet.png
	"$@" NF cbdbb7032558dae6b04f7691c4b8a41a share/opera@@{SUFFIX}/styles/images/center.png
	"$@" NF 669d3ef423184869eb24b29500330b06 share/opera@@{SUFFIX}/styles/images/container.png
	"$@" NF b423f4149c868ccf56a15abb83228f09 share/opera@@{SUFFIX}/styles/images/customize.gif
	"$@" NF e715da6d7e5314261bdff2942251718a share/opera@@{SUFFIX}/styles/images/darkBox.png
	"$@" NF 0dfc37ae4404b4a6811e4876db6b7df1 share/opera@@{SUFFIX}/styles/images/defaultFavicon.png
	"$@" NF 71bbdb354d7e65183c86aa36a27ddd1d share/opera@@{SUFFIX}/styles/images/error.png
	"$@" NF ac4455a870ed9d5365377c2d9566240c share/opera@@{SUFFIX}/styles/images/file.png
	"$@" NF 86c6ac920bd2fbb7f538ff79d4e34395 share/opera@@{SUFFIX}/styles/images/flag.png
	"$@" NF c6ee6872a8d70dbec976edd11bdaf986 share/opera@@{SUFFIX}/styles/images/folder.png
	"$@" NF 9b0cdaf9d7623041bd00e576cd1733f1 share/opera@@{SUFFIX}/styles/images/hanger.png
	"$@" NF 807f783c2043b0ff19471459cb52ad14 share/opera@@{SUFFIX}/styles/images/opera-icon-red.png
	"$@" NF a2ed905f3862c320bb43e866721729d7 share/opera@@{SUFFIX}/styles/images/opera.png
	"$@" NF dbb6d41150a244186500718eda971047 share/opera@@{SUFFIX}/styles/images/page-bot.png
	"$@" NF d58ef56a726e38bb51da5adf696153fc share/opera@@{SUFFIX}/styles/images/red_center.png
	"$@" NF 3c6c895d2519efa918b4b3f46a897b67 share/opera@@{SUFFIX}/styles/images/red_left.png
	"$@" NF a28ba91c09ea75605d727e9bde7771b1 share/opera@@{SUFFIX}/styles/images/red_right.png
	"$@" NF a0c5f8a66f4e25f5d16ca1696a8f2e03 share/opera@@{SUFFIX}/styles/images/root.png
	"$@" NF 4aecd261352501fa1bad2c5e608df556 share/opera@@{SUFFIX}/styles/images/search.png
	"$@" NF b641cb9df6a4065ec64e6aac43cd5bc8 share/opera@@{SUFFIX}/styles/images/section.png
	"$@" NF 62f6287d95fafa0a8c56287e41760f33 share/opera@@{SUFFIX}/styles/images/smartGroup.png
	"$@" NF 2dab1572b02772c7a4fea3b5d51d1c48 share/opera@@{SUFFIX}/styles/images/tooltiptail.png
	"$@" NF f4dbc8a7b78e98448ad509bedca371c1 share/opera@@{SUFFIX}/styles/images/top.png
	"$@" NF 074b5a2c5386b6f2d12d172aa2f349fa share/opera@@{SUFFIX}/styles/images/warning.png
	"$@" NF abdfd39692029c4dc15cc1225ab370cb share/opera@@{SUFFIX}/styles/info.css
	"$@" NF 7e50dc0a9e8768200ff985d6bfdc82d1 share/opera@@{SUFFIX}/styles/m2_upgrade_1160.mbs
	"$@" NF 6adf41c75dd0d11cf0f09ab6472ca13c share/opera@@{SUFFIX}/styles/m2_welcome_message.mbs
	"$@" NF 3d3c384bea83a19f7a2fb4016f176c78 share/opera@@{SUFFIX}/styles/mail.css
	"$@" NF 6e52a17228623ab69e767b8973c73789 share/opera@@{SUFFIX}/styles/mathml.css
	"$@" NF 73ca40c23f00b5b8045c1db8e0d2310f share/opera@@{SUFFIX}/styles/media.css
	"$@" NF e7dd3d81e0088d5fb56df880226cc7e1 share/opera@@{SUFFIX}/styles/message.css
	"$@" NF 595247eb6605461ec72cce29da48a5ff share/opera@@{SUFFIX}/styles/mime.css
	"$@" NF 9511172f9a2f4f68cab2bc621beff640 share/opera@@{SUFFIX}/styles/opera.css
	"$@" NF d454348a805830bb78124b2f522f69d6 share/opera@@{SUFFIX}/styles/plugins.css
	"$@" NF 71c1d1774ad2319d1684854cdf5f94c2 share/opera@@{SUFFIX}/styles/private.css
	"$@" NF 028e214f2f1147678d50afc03705e7de share/opera@@{SUFFIX}/styles/search.css
	"$@" NF 4a1307a5ef44ce6f2699910d68353aaf share/opera@@{SUFFIX}/styles/unstyledxml.css
	"$@" NF 6a2bd73028a115965e2a8ab449f076b1 share/opera@@{SUFFIX}/styles/user/accessibility.css
	"$@" NF 7101c2b43e206a4fea3ea3b2e9d1ec65 share/opera@@{SUFFIX}/styles/user/altdebugger.css
	"$@" NF a1b473182a7f49252ca4092d4e3771e8 share/opera@@{SUFFIX}/styles/user/classid.css
	"$@" NF 2310bf5751a3d7e559a475146c15e133 share/opera@@{SUFFIX}/styles/user/contrastbw.css
	"$@" NF 49f63ead21d30601ec7d78ee8a979e05 share/opera@@{SUFFIX}/styles/user/contrastwb.css
	"$@" NF 0ddf795df3cd231834e7d3949f79d14b share/opera@@{SUFFIX}/styles/user/disablebreaks.css
	"$@" NF 290e3323bb78b510f46778cffc3e496a share/opera@@{SUFFIX}/styles/user/disablefloats.css
	"$@" NF b1213dc22de822fbbb54de3a77fde99b share/opera@@{SUFFIX}/styles/user/disableforms.css
	"$@" NF 2d4d9ffb55079767b3def4fcec29b011 share/opera@@{SUFFIX}/styles/user/disablepositioning.css
	"$@" NF b9c59fe668608bfc3c63c50f65b8298e share/opera@@{SUFFIX}/styles/user/disabletables.css
	"$@" NF a78c1f82b4028dc6cb954562b5f54833 share/opera@@{SUFFIX}/styles/user/outline.css
	"$@" NF abc6abdf3fb4a7b891e473c35f26d8ad share/opera@@{SUFFIX}/styles/user/structureblock.css
	"$@" NF ab99f3deacaa836a440f47851b2bb5ca share/opera@@{SUFFIX}/styles/user/structureinline.css
	"$@" NF 10a7bccf3d937c7a2b7efd79c3071cdc share/opera@@{SUFFIX}/styles/user/structuretables.css
	"$@" NF 8a0cb82243918b7952f09f29d0d7f104 share/opera@@{SUFFIX}/styles/user/tablelayout.css
	"$@" NF 30987a9dba87e7c4b2a56afabff5b9f5 share/opera@@{SUFFIX}/styles/user/toc.css
	"$@" NF a2fafb8c2521c958c3fbc5e49230e349 share/opera@@{SUFFIX}/styles/warning.css
	"$@" NF a3a2d380e96de00e59628ca99ebba6d1 share/opera@@{SUFFIX}/styles/webfeeds.html
	"$@" NF 06820e6bdd581b0a257e5e2648360457 share/opera@@{SUFFIX}/styles/webstorage.css
	"$@" NF 71b60351587330f9c6f9121895b34a17 share/opera@@{SUFFIX}/styles/wml.css
	"$@" NF 38af088935000489cc34e36b42bf0d2d share/opera@@{SUFFIX}/ui/dialog.ini
	"$@" NF c7747bd72af03b058aa0b2e38adeec55 share/opera@@{SUFFIX}/ui/dialogs.yaml
	"$@" NF e6d9e74c12773dcf0d6a195b6b9e78ac share/opera@@{SUFFIX}/ui/fastforward.ini
	"$@" NF b14e1f1f6e437bd0755b2523772c8fc6 share/opera@@{SUFFIX}/ui/standard_keyboard.ini
	"$@" NF 233a9b4f3528ac5dceb979adf097ccc1 share/opera@@{SUFFIX}/ui/standard_keyboard_compat.ini
	"$@" NF f56c2cabeed5848d04c8bf10bf94a03a share/opera@@{SUFFIX}/ui/standard_menu.ini
	"$@" NF 942a4cf89c0f15f20744dc91431876fd share/opera@@{SUFFIX}/ui/standard_mouse.ini
	"$@" NF a715ab03ed453797c0a45aea79f210cc share/opera@@{SUFFIX}/ui/standard_toolbar.ini
	"$@" NF f1b22b48900b8e95f32ef95bfa6d90c9 share/opera@@{SUFFIX}/ui/unix_keyboard.ini
	"$@" NF 7a45b148ddb8e801de8e43c5267d23bc share/opera@@{SUFFIX}/ui/widgets.yaml
	"$@" NF 294bd46a5b0b53ad970bc46e2a94498b share/opera@@{SUFFIX}/unite/fileSharing.ua
	"$@" NF 6c48f2147c70db184dd08726e7de63a7 share/opera@@{SUFFIX}/unite/fridge.ua
	"$@" NF e6c52cc692bd122fe4ded9f7e485e247 share/opera@@{SUFFIX}/unite/home.ua
	"$@" NF 7f34e6d584c19c463e3177a6b881f49f share/opera@@{SUFFIX}/unite/mediaPlayer.ua
	"$@" NF 0663272dd6abf16ad2225414773e60ed share/opera@@{SUFFIX}/unite/messenger.ua
	"$@" NF 547fa5ec37b7ac40feda98c0300b731e share/opera@@{SUFFIX}/unite/photoSharing.ua
	"$@" NF 85e0ed37de06ea431ec68bb32a4eb189 share/opera@@{SUFFIX}/unite/webserver.ua
}

available()
{
	command -v "$1" >/dev/null 2>&1
}

finalize_desktop()
{
	# Menu entries
	if available update-desktop-database
	then
		update-desktop-database $PREFIX/share/applications
	fi

	# MIME associations
	if available update-mime-database
	then
		mkdir -p $PREFIX/share/mime/packages
		update-mime-database $PREFIX/share/mime
		! rmdir $PREFIX/share/mime/packages >/dev/null 2>&1
	fi

	# Icons
	touch -c $PREFIX/share/icons/hicolor
	if available update-icon-caches
	then
		update-icon-caches -tq $PREFIX/share/icons/hicolor
	elif available gtk-update-icon-cache
	then
		gtk-update-icon-cache -tq $PREFIX/share/icons/hicolor
	fi
}

make_tempdir()
{
	if [ -z "$tempdir" ]
	then
		tempdir=$(mktemp -d -t opera-install.XXXXXXXX)
		if [ $? != 0 ]
		then
			ui_error "Cannot create a temporary directory, please set TMPDIR correctly"
		fi
	fi
}

cleanup()
{
	res=$?
	trap - 0
	if [ $res -gt 0 ] && $need_rollback
	then
		rollback
	fi
	if $need_ui_cleanup
	then
		ui_cleanup
	fi
	if [ -n "$tempdir" ]
	then
		rm -rf $tempdir
	fi
	exit $res
}

ui_widget()
{
	local width height
	message=$(
		echo "$2"
		if [ -n "$3" ]
		then
			echo
			cat "$3"
		fi
		if [ -n "$4" ]
		then
			echo
			echo "$4"
		fi
	)
	case $driver in
		dialog|whiptail)
			width=72
			if available fmt
			then
				message=$(echo "$message" | fmt -w $((width - 4)))
				height=$(($(echo "$message" | wc -l) + 6))
				if [ $1 = inputbox ]
				then
					height=$((height + 2))
				fi
			else
				height=20
			fi
			;;
	esac
	need_ui_cleanup=true
	case $driver in
		dialog|whiptail)
			exec 4>&1
			answer=$($driver --title "$windowtitle" --clear --$1 "$message" $height $width 2>&1 1>&4)
			res=$?
			exec 4>&-
			;;
		plain)
			echo
			echo "$message"
			case $1 in
				yesno)
					while true
					do
						read -p 'Please enter Y or N: ' answer
						case "$answer" in
							y*|Y*)
								res=0
								break
								;;
							n*|N*)
								res=1
								break
								;;
						esac
					done
					;;
				inputbox)
					read -p '>' answer
					;;
				msgbox|infobox)
					res=0
					;;
			esac
			;;
	esac
	need_ui_cleanup=false
	return $res
}

ui_info()
{
	ui_widget infobox "$@"
}

ui_message()
{
	ui_widget msgbox "$@"
}

ui_warn()
{
	ui_widget yesno "$1" "$2" 'Continue?' || exit
}

ui_error()
{
	ui_widget msgbox "$1" "$2" 'Installation aborted.'
	exit 1
}

ui_input()
{
	ui_widget inputbox "$1" "$2" ''
}

ui_menu()
{
	local text width height
	case $driver in
		dialog|whiptail)
			width=72
			if available fmt
			then
				height=$(($(echo "$text" | fmt -w $((width - 4)) | wc -l) + $# / 2 + 8))
			else
				height=20
			fi
			;;
	esac
	need_ui_cleanup=true
	case $driver in
		dialog|whiptail)
			text=$1
			shift
			exec 4>&1
			answer=$($driver --menu "$text" $height $width $(($# / 2)) "$@" 2>&1 1>&4) || exit
			res=$?
			exec 4>&-
			;;
		plain)
			echo
			echo "$1"
			shift
			(
				n=1
				while [ -n "$1" ]
				do
					echo "[$n] $2"
					n=$((n + 1))
					shift 2
				done
			)
			while true
			do
				read -p "Your choice: " answer
				if echo "$answer" | grep -q '^[0-9][0-9]*$' && [ $((answer >= 1)) = 1 ] && [ $((answer <= $# / 2)) = 1 ]
				then
					break
				fi
				echo "Please enter an integer between 1 and $(($# / 2))."
			done
			shift $((answer * 2 - 2))
			answer="$1"
			res=0
			;;
	esac
	need_ui_cleanup=false
	return $res
}

ui_progress_begin()
{
	if ! $talk
	then
		return
	fi
	if [ -z "$progress_max" ]
	then
		progress_max=$(iterate echo | wc -l)
	fi
	progress_cur=0
	need_ui_cleanup=true
	case $driver in
		whiptail)
			make_tempdir
			mkfifo $tempdir/gauge
			whiptail --gauge "$1" 0 72 0 <$tempdir/gauge &
			exec 3>$tempdir/gauge
			;;
		*)
			echo
			echo -n "$1"
			;;
	esac
}

ui_progress_advance()
{
	if ! $talk
	then
		return
	fi
	progress_cur=$((progress_cur + 1))
	case $driver in
		whiptail)
			echo $((progress_cur * 100 / progress_max)) >&3
			;;
		*)
			echo -n '.'
			;;
	esac
}

ui_progress_end()
{
	if ! $talk
	then
		return
	fi
	case $driver in
		whiptail)
			exec 3>&-
			rm $tempdir/gauge
			;;
		*)
			echo 'done'
			;;
	esac
	need_ui_cleanup=false
}

ui_cleanup()
{
	case $driver in
		dialog)
			exec 4>&-
			dialog --clear
			stty sane
			clear
			;;
		whiptail)
			exec 3>&- 4>&-
			stty sane
			clear
			;;
		plain)
			echo
			;;
	esac
}

ui_init()
{
	if [ -z "$TERM" -o "$TERM" = dumb ]
	then
		driver=plain
	elif available whiptail && [ "$(whiptail --version)" != 'whiptail (newt): 0.52.13' ]
	then
		driver=whiptail
	elif available dialog
	then
		driver=dialog
	else
		driver=plain
	fi
	answer=''
	progress_max=''
	windowtitle="$1"
}

common_init()
{
	interactive=true
	talk=true
	force=false
	need_rollback=false
	need_ui_cleanup=false
	repackage=false
	tempdir=''

	trap cleanup 0 INT QUIT TERM
}

common_opt()
{
	case "$1" in
		--text)
			driver=plain
			;;
		--unattended)
			interactive=false
			driver=plain
			;;
		--quiet)
			talk=false
			interactive=false
			driver=plain
			;;
		--force)
			force=true
			;;
		*)
			return 1
	esac
}

# EOF_COMMON

version()
{
	ui_message "Opera - Fast and secure web browser and Internet suite

Opera is a small, fast, customizable, powerful and user-friendly web
browser, as well as an Internet suite, including an email client, an IRC
client, web developer tools (Opera Dragonfly), and a personal web server
(Opera Unite).

This script installs Opera 11.62 build 1347 for Linux on i386.

Copyright (c) 1995-2012 Opera Software ASA. All rights reserved."
}

usage()
{
	version
	cat <<EOF

Options:

    --text          Select plain-text user interface.

    --unattended    Ask no questions. Implies --text.
                    The --prefix option becomes mandatory.

    --quiet         Ask no questions and don't show progress.
                    Implies --text.

    --prefix /P     Specify installation directory. Opera will be
                    installed into /P/bin, /P/share and /P/lib.

    --user          Install for the current user. Default for non-root.
                    Alias for --prefix $HOME/.local.

    --system        Install for everybody. Default for root.
                    Alias for --prefix /usr/local.

    --name N        Use N for package name. Must either be "opera" or
                    begin with "opera-". Names of installed files and
                    directories will contain this string in place of
                    "opera". This allows to install several
                    versions of Opera side by side. The default is
                    "opera".

    --suffix S      Obsolete. Same as --name opera-S.

    --force         Ignore all kinds of errors and try to continue.

    --repackage R   Special mode for package maintainers. Extract files
                    into the staging directory R as if it were the
                    installation prefix, but prepare them to be
                    installed under the actual prefix. In this mode, no
                    finalizing actions, such as registration of menu
                    entries, are performed. Sanity checks are disabled.
                    Implies --unattended.

    --version       Show Opera version.

    --help          Show this message.
EOF
}

check_os()
{
	local name version arch res msg
	res=false
	name=$(uname -s)
	case "$name" in
		Linux)
			res=true
			;;
		*BSD)
			;;
	esac
	arch=$(uname -m)
	case "$arch" in
		i?86|i86pc)
			arch=i386
			;;
		amd64)
			arch=x86_64
			;;
	esac
	if [ "$arch" != i386 ]
	then
		res=false
	fi
	if ! $res
	then
		msg="You are running $name on $arch, but this package is intended for Linux on i386. If you choose to install it, the product may not work correctly."
		if $interactive
		then
			ui_warn "$msg"
		else
			ui_error "$msg"
		fi
	fi
}

check_package_manager()
{
	if available dpkg
	then
		ui_warn "Your system seems to support Debian-style packages. You might want to download and install a Debian package of Opera instead."
	elif available rpm
	then
		ui_warn "Your system seems to support RPM packages. You might want to download and install an RPM package of Opera instead."
	fi
}

install_file()
{
	local source dest existing tomake
	if [ -f $tempdir/damaged ] && ! $force
	then
		return 1
	fi
	source=$(use_suffix '' "$3")
	dest=$INTO/$(use_suffix "$SUFFIX" "$3")
	existing=$dest
	tomake=''
	while [ -n "$existing" -a ! -e "$existing" ]
	do
		tomake=$existing
		existing=${existing%/*}
	done
	if [ ! -d "$existing" -o "$dest" = "$existing" ]
	then
		if { rm -rf "$existing~" && mv "$existing" "$existing~"; } 2>$tempdir/error || $force
		then
			echo "mv '$existing~' '$existing'" >>$tempdir/rollback
			echo "rm -rf '$existing~'" >>$tempdir/commit
		else
			ui_error "Cannot make a backup copy of $existing -- see detailed error message below." $tempdir/error
			echo "$dest">>$tempdir/damaged
			return 1
		fi
	elif [ -n "$tomake" -a "$tomake" != "$dest" ]
	then
		if mkdir -p "${dest%/*}" 2>$tempdir/error || $force
		then
			echo "rm -rf '$tomake'" >>$tempdir/rollback
		else
			ui_error "Cannot create directory ${dest%/*} -- see detailed error message below." $tempdir/error
			echo "$dest">>$tempdir/damaged
			return 1
		fi
	fi
	case "$1" in
		N?)
			cp "$source" "$dest"
			;;
		L?)
			source=$(use_suffix "$SUFFIX" "$2")
			ln -s "$source" "$dest"
			;;
		P?)
			case "$dest" in
				*.gz)
					gzip -dc "$source" | process >"${dest%.gz}" && gzip -9 "${dest%.gz}"
					;;
				*)
					process <"$source" >"$dest"
					;;
			esac
			;;
		G?)
			generate_file "${source##*/}" | process >"$dest"
			;;
	esac 2>$tempdir/error || $force || {
		ui_error "Cannot install $dest -- see detailed error message below." $tempdir/error
		echo "$dest">>$tempdir/damaged
		return 1
	}
	case "$1" in
		?F)
			chmod 0644 "$dest"
			;;
		?X)
			chmod 0755 "$dest"
			;;
	esac 2>$tempdir/error || $force || {
		ui_error "Cannot install $dest -- see detailed error message below." $tempdir/error
		echo "$dest">>$tempdir/damaged
		return 1
	}
	ui_progress_advance
}

generate_file()
{
	case "$1" in
		opera)
			cat <<'EOF_generate_file'
#!/bin/sh
export OPERA_DIR=${OPERA_DIR:-@@{PREFIX}/share/opera@@{SUFFIX}}
export OPERA_PERSONALDIR=${OPERA_PERSONALDIR:-$HOME/.opera@@{SUFFIX}}
exec @@{PREFIX}/lib/opera@@{SUFFIX}/opera@@{SUFFIX} "$@"
EOF_generate_file
			;;
		opera-widget-manager)
			cat <<'EOF_generate_file'
#!/bin/sh
exec @@{PREFIX}/bin/opera@@{SUFFIX} --widgetmanager "$@"
EOF_generate_file
			;;
		uninstall-opera)
			sed -ne '1,/EOF_COMMON/p' "${0##*/}"
			cat <<EOF
PREFIX='$PREFIX'
SUFFIX='$SUFFIX'
EOF
			cat <<'EOF_generate_file'

usage()
{
	version
	cat <<EOF

Options:
    --text          Select plaintext user interface
    --unattended    Ask no questions
    --quiet         Ask no questions and don't show progress (implies --text)
    --force         Ignore all kinds of errors and try to continue
    --help          Show this message
EOF
}

uninstall_file()
{
	if $upgrade_mode
	then
		mv "$PREFIX/$3" "$PREFIX/$3~"
		echo "mv '$PREFIX/$3~' '$PREFIX/$3'" >>$install_tempdir/rollback
		echo "rm -f '$PREFIX/$3~'; rmdir -p '$PREFIX/${3%/*}' 2>/dev/null" >>$install_tempdir/commit
	else
		rm -f "$PREFIX/$3"
		rmdir -p "$PREFIX/${3%/*}" 2>/dev/null
	fi
	ui_progress_advance
}

common_init
ui_init 'Uninstalling Opera'

upgrade_mode=false

while [ -n "$1" ]
do
	common_opt "$1" || case "$1" in
		--upgrade)
			shift
			upgrade_mode=true
			talk=false
			interactive=false
			driver=plain
			force=true
			install_tempdir="$1"
			;;
		*)
			driver=plain
			usage
			exit
			;;
	esac
	shift
done

if $talk
then
	msg="This script uninstalls Opera 11.62 build 1347 for Linux on i386 installed as $PREFIX/bin/opera$SUFFIX."
	if $interactive
	then
		ui_warn "$msg"
	else
		ui_message "$msg"
	fi
fi

if [ ! -w $PREFIX ] && ! $force
then
	ui_error "You do not have write permissions for $PREFIX. Perhaps you should be uninstalling as root?"
fi

ui_progress_begin "Removing files"
iterate uninstall_file
ui_progress_end

if ! $upgrade_mode
then
	if $talk
	then
		ui_info "Finalizing uninstallation..."
	fi
	finalize_desktop
fi

if $talk
then
	ui_message "Opera has been uninstalled successfully. However, users' profile directories, which are by default ~/.opera$SUFFIX, have been left intact. You might want to delete them manually."
fi
EOF_generate_file
			;;
		*)
			return 1
	esac
}

rollback()
{
	ui_progress_begin "Undoing installation"
	iterate rollback_file
	ui_progress_end
	if [ -f $tempdir/rollback ]
	then
		. $tempdir/rollback
	fi
}

rollback_file()
{
	local dest
	dest=$INTO/$(use_suffix "$SUFFIX" "$3")
	rm -f "$dest"
	while [ -n "$dest" ]
	do
		dest=${dest%/*}
		case "$dest" in
			$INTO/*/opera*)
				rmdir "$dest" 2>/dev/null || break
				;;
		esac
	done
	ui_progress_advance
}

verify_file()
{
	local md5 file
	md5="$2"
	file=$(use_suffix '' "$3")
	case "$1" in
		[GL]?)
			ui_progress_advance
			return
			;;
	esac
	if [ ! -f "$file" ]
	then
		make_tempdir
		echo "$file" >>$tempdir/damaged
	elif [ -n "$md5prog" ]
	then
		if [ $(get_md5 "$file") != "$md5" ]
		then
			make_tempdir
			echo "$file" >>$tempdir/damaged
		fi
	fi
	ui_progress_advance
}

get_md5()
{
	if [ "$md5prog" = md5 ]
	then
		md5 -q "$1"
	else
		md5sum "$1" | { read sum file; echo $sum; }
	fi
}

use_suffix()
{
	echo "$2" | sed -e "s:@@{SUFFIX}:$1:g"
}

process()
{
	sed -e "s:@@{PREFIX}:$PREFIX:g;s:@@{SUFFIX}:$SUFFIX:g;s:@@{_SUFFIX}:$_SUFFIX:g;s:@@{USUFFIX}:$USUFFIX:g"
}

PREFIX=''
INTO=''
orig_pwd=$PWD
suffix_set=false

cd "${0%/*}"

common_init
ui_init 'Installing Opera'

if available md5
then
	md5prog=md5
elif available md5sum
then
	md5prog=md5sum
else
	md5prog=''
fi

while [ -n "$1" ]
do
	common_opt "$1" || case "$1" in
		--user)
			PREFIX=$HOME/.local
			;;
		--system)
			PREFIX=/usr/local
			;;
		--prefix)
			shift
			PREFIX="$1"
			;;
		--name)
			shift
			case "$1" in
				opera|opera-*)
					SUFFIX=${1#opera}
					;;
				*)
					ui_error '--name string must either be "opera" or begin with "opera-".'
					;;
			esac
			suffix_set=true
			;;
		--suffix)
			shift
			if [ -n "$1" ]
			then
				SUFFIX="-$1"
			else
				SUFFIX=''
			fi
			suffix_set=true
			;;
		--repackage)
			shift
			INTO="$1"
			repackage=true
			interactive=false
			driver=plain
			case "$INTO" in
				'')
					ui_error "--repackage needs a non-empty argument."
					;;
				/*)
					;;
				*)
					INTO=$orig_pwd/$INTO
					;;
			esac
			;;
		--version)
			driver=plain
			version
			exit
			;;
		*)
			driver=plain
			usage
			exit
			;;
	esac
	shift
done

if $talk
then
	version
fi

if ! $interactive && [ -z "$PREFIX" ]
then
	ui_error "Please specify --prefix, --user or --system for unattended installation."
fi

if ! $force && ! $repackage
then
	check_os
	if $interactive
	then
		check_package_manager
	fi
fi

if [ $(id -u) -eq 0 ]
then
	prefix_who="running as root"
	prefix_for="for all users"
	prefix_default=/usr/local
else
	prefix_who="not running as root"
	prefix_for="just for yourself"
	prefix_default=$HOME/.local
fi

while true
do
	if [ -n "$PREFIX" ]
	then
		answer=$PREFIX
		bad_answer=ui_error
	elif $interactive
	then
		ui_input "Please choose an installation directory. Opera will be installed in bin, share and lib directories under the specified location.

Since you are $prefix_who, you probably want to install Opera $prefix_for. The recommended installation prefix in this case is $prefix_default.

Press Enter to accept the recommended location, or specify a different prefix." || exit
		if [ -z "$answer" ]
		then
			answer=$prefix_default
		fi
		bad_answer=ui_message
	else
		ui_warn "Since you are $prefix_who, assuming you want to install Opera $prefix_for. Using $prefix_default as the installation prefix."
		answer=$prefix_default
		bad_answer=ui_error
	fi
	case "$answer" in
		''|[!/]*)
			$bad_answer "The installation prefix must begin with a slash."
			continue
			;;
		*' '*)
			$bad_answer "The installation prefix is not allowed to contain whitespace."
			continue
			;;
	esac
	while [ $answer != / -a "${answer%/}" != $answer ]
	do
		answer=${answer%/}
	done
	if $repackage
	then
		PREFIX=$answer
		break
	fi
	prefix_parent=$answer
	while [ ! -e "$prefix_parent" ]
	do
		prefix_parent=${prefix_parent%/*}
		if [ -z "$prefix_parent" ]
		then
			prefix_parent=/
		fi
	done
	if [ -w $prefix_parent ]
	then
		PREFIX=$answer
		break
	elif [ -d $prefix_parent ]
	then
		$bad_answer "You do not have write permissions for $prefix_parent. Perhaps you should be installing as root?"
	else
		$bad_answer "$prefix_parent is not a directory."
	fi
done

if [ -z "$INTO" ]
then
	INTO=$PREFIX
fi

while true
do
	if $suffix_set
	then
		answer=opera$SUFFIX
		bad_answer=ui_error
	elif $interactive
	then
		ui_input "You can install Opera with an alternative package name, so that the installation does not conflict with other installations of Opera you might have. For example, if you specify opera-11.62 as the package name, Opera files will be installed under $PREFIX/share/opera-11.62 and $PREFIX/lib/opera-11.62, and you will have to run $PREFIX/bin/opera-11.62 to run it. The default location of your profile directory will then be ~/.opera-11.62. If you want that, please enter the desired package name below. The name must be either \"opera\" or begin with \"opera-\". Only Latin letters, digits, periods and dashes are allowed.

Pressing Enter to accept the default and install as \"opera\" is a safe choice." || exit
		bad_answer=ui_message
	else
		answer=''
	fi
	case "$answer" in
		'')
			SUFFIX=''
			_SUFFIX=''
			USUFFIX=''
			break
			;;
		opera-*[!-.A-Za-z0-9]*)
			$bad_answer "The package name is only allowed to contain Latin letters, digits, periods and dashes."
			;;
		opera-*)
			SUFFIX=${answer#opera}
			_SUFFIX=' '$(echo ${answer#opera-} | cut -c 1 | tr a-z A-Z)${answer#opera-?}
			USUFFIX=-$(echo ${answer#opera-} | tr a-z A-Z)
			break
			;;
		opera)
			SUFFIX=''
			_SUFFIX=''
			USUFFIX=''
			break
			;;
		*)
			$bad_answer "The package name must either be \"opera\" or begin with \"opera-\"."
			;;
	esac
done

if ! $repackage && [ -f "$INTO/share/opera$SUFFIX/package-id.ini" ]
then
	upgrade_product=$(sed -ne '/^Product=\(.*\)$/s//\1/p' "$INTO/share/opera$SUFFIX/package-id.ini")
	upgrade_version=$(sed -ne '/^Version=\(.*\)$/s//\1/p' "$INTO/share/opera$SUFFIX/package-id.ini")
	upgrade_build=$(sed -ne '/^Build=\(.*\)$/s//\1/p' "$INTO/share/opera$SUFFIX/package-id.ini")
	if [ -z "$upgrade_product" ]
	then
		upgrade_product=opera
	fi
	if [ "$upgrade_product" = opera ]
	then
		upgrade_title='Opera'
	else
		upgrade_title='Opera '$(echo ${upgrade_product#opera-} | cut -c 1 | tr a-z A-Z)${answer#?}
	fi
	if [ -n "$upgrade_version" -a -n "$upgrade_build" ]
	then
		if [ "$upgrade_product" = opera -a "$upgrade_version" = 11.62 -a "$upgrade_build" = 1347 ]
		then
			msg="The chosen location already contains an installation of $upgrade_title 11.62 build 1347. The installer will attempt to refresh it."
		elif [ "$upgrade_product" = opera ]
		then
			msg="The chosen location contains an installation of $upgrade_title $upgrade_version build $upgrade_build. The installer will attempt to upgrade it to version 11.62 build 1347."
		else
			msg="The chosen location contains an installation of $upgrade_title $upgrade_version build $upgrade_build. The installer will attempt to replace it with Opera version 11.62 build 1347."
		fi
		if $interactive
		then
			ui_warn "$msg"
		elif $talk
		then
			ui_message "$msg"
		fi
	fi
fi

ui_progress_begin "Verifying package"
iterate verify_file
ui_progress_end

if [ -n "$tempdir" -a -f $tempdir/damaged ] && ! $force
then
	ui_error "The following files are missing or damaged:" $tempdir/damaged
fi

if ! $force && ! $repackage
then
	need_rollback=true
fi

make_tempdir

if ! $repackage && [ -x "$PREFIX/bin/uninstall-opera$SUFFIX" ]
then
	if $talk
	then
		ui_info "Removing old files..."
	fi
	"$PREFIX/bin/uninstall-opera$SUFFIX" --upgrade $tempdir
fi

ui_progress_begin "Installing files"
iterate install_file
ui_progress_end

need_rollback=false

if ! $repackage
then
	if $talk
	then
		ui_info "Finalizing installation..."
	fi
	if [ -f $tempdir/commit ]
	then
		. $tempdir/commit
	fi
	if $talk && [ "$driver" = plain ]
	then
		finalize_desktop
	else
		finalize_desktop >/dev/null 2>&1
	fi
fi

if $talk
then
	if [ -n "$upgrade_version" -a -n "$upgrade_build" ]
	then
		done='upgraded'
	else
		done='installed'
	fi
	if $repackage
	then
		ui_message "Opera has been installed successfully under $INTO as if it were $PREFIX."
	else
		ui_message "Opera has been $done successfully. To start, run $PREFIX/bin/opera$SUFFIX (you might want to add this location to your PATH).

To manage installed Opera Widgets, run $PREFIX/bin/opera$SUFFIX-widget-manager.

To uninstall Opera, run $PREFIX/bin/uninstall-opera$SUFFIX."
	fi
fi
