summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2018-01-05 12:44:19 -0500
committerIan Stakenvicius <axs@gentoo.org>2018-01-05 19:38:57 -0500
commitffa4ef4e9136e1843a19b02ae71305fa1c328ef9 (patch)
tree80e9e2be2b44f429fe6ac30892212e879f97d928 /www-client
parentdev-python/s3transfer: drop upper limit of botocore version (diff)
downloadgentoo-ffa4ef4e9136e1843a19b02ae71305fa1c328ef9.tar.gz
gentoo-ffa4ef4e9136e1843a19b02ae71305fa1c328ef9.tar.bz2
gentoo-ffa4ef4e9136e1843a19b02ae71305fa1c328ef9.zip
www-client/firefox: bump to 57.0.4 for Meltdown/Spectre, backport pkcs11 support
57.0.4 mitigates new timing-based attacks (Meltdown and Spectre), for more info please see https://www.mozilla.org/en-US/firefox/57.0.4/releasenotes/ Also backported the pkcs11 support from 58 to 57 to support extensions that require it, thanks to leio for the patch. Package-Manager: Portage-2.3.13, Repoman-2.3.3
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest184
-rw-r--r--www-client/firefox/files/firefox-57.0-pkcs11-backport.patch529
-rw-r--r--www-client/firefox/firefox-57.0.4.ebuild (renamed from www-client/firefox/firefox-57.0.1.ebuild)3
3 files changed, 623 insertions, 93 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 453ec015328b..b4c826e416c8 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -278,95 +278,95 @@ DIST firefox-52.5.2esr-zh-CN.xpi 461694 BLAKE2B 63c39764c2ad138dba0849bc9a018309
DIST firefox-52.5.2esr-zh-TW.xpi 472534 BLAKE2B 5ef9625facf35d4e220c0b2272c25786a21b0ee36ec2fb62f260168401979df50a90e41fb2e85ad963b426f08b27d52540f0eae4484a67b94a59d0a966ff76b8 SHA512 c64c65b31aa2e4f3534d394183e0dfa96672721f0d8e070daa142263fccdf71236b6a2ab7e45b88cc49b96bb46165cf6c36aaa981ee23385c19be54f2537fdfb
DIST firefox-52.5.2esr.source.tar.xz 214094820 BLAKE2B f9eb9b5aa333d16639a59e6b36a4adef276d84b807868c671a464cb16060e275bdf7b0b45e1c72bc71930c71455fcfbff590df0f97ca3a97dfb651c3fefa0722 SHA512 bbc7dcc4cb392f06fe2e963a3b6372efcfbbcc1ca7218a3ef05885285fe00c9e87e0f8d307bd9363668327eb43542c0600443bd9e6744de64494b96dd00efa5a
DIST firefox-57.0-patches-01.tar.xz 10964 BLAKE2B 207ad3ddbf924224efabc880e94a051076386102224dcc54e6f2b99466d87e9e5da29ba29d14d3f2024c9d50e3def1a39fceac5b3aac5f789a781c2ac3ab5039 SHA512 5f4c668eb1ae9b4067997973e7f5fcfa4d3de7b60520f7cc2a96b97b0814e921f777862e45fa0ffad231040d99e98f259e2482d4a5d7be096abc5d5860bfc593
-DIST firefox-57.0.1-ach.xpi 441113 BLAKE2B dbab6535791c08cff6dc6eacb2f76f285b2d932d6dfb49f48debb98657853ef4d05886c445ebbc4528b6ec5c15343456d23cca3c8912ee471ee97433749fd614 SHA512 239b67d8e1c9e26f2400dac57986eb352c20efc5a9319908418e65fcaf8b17e69f9416561b7e3d7f4bf86c333b292534c8b78be67167e11ce95771673da65480
-DIST firefox-57.0.1-af.xpi 442206 BLAKE2B f683812558cff77c68a5aec700bccc5d20b3126f5ab586195dd783b47400ae62f69a1144b8da2e94f32577838a274032b36fe7a814f3bd970680b2c47ecb9de2 SHA512 df4827d47773ee699c9abf81bff0931dd00b5a67c4253d50ea62cd5824feeacab832d4ea041c161d06a0b8947b0ea7dc4a01cf59282d5217588a52dfc57c1ed4
-DIST firefox-57.0.1-an.xpi 462778 BLAKE2B 41216564524bff884d3f278ab2363f93895f1e1077adcb79bfdfd6f83687743a1904f5f85e616599828b9b4074aa4aeebb1bf43e6a1c6980e47f527bc9299cb0 SHA512 8d646c564e4c07de4ac888e08eb182197850f6380f1b8d2ecdbcfabfa1edd9b86946e1f4dc5531fa0d22f26772c933f9787bc64c3df611f8e808e9f78adf5798
-DIST firefox-57.0.1-ar.xpi 488160 BLAKE2B 551bc6661572aa0041ab1fa0d42080e2eb14614b2708df4f82e77d08761070d715bb0bbc8ce38e42de44136df2b3e085c6432311e2364033dffdec7515c3602a SHA512 17ce0ac626f0b5acd2b1e093903a50373b748024c90ba1e2a7b95195ef4c76e2cc249a9b58ce8207c5861dff32a1f9fa67676d23b129139a53fec7456d2f889b
-DIST firefox-57.0.1-as.xpi 491075 BLAKE2B cff094f8915d66d50f31c00b571bf96959e29516a8846c056680105bfd095a31fed7bfb3c8d5a511d2d71e797a6b990240e389708e79b35883e881347a6b4491 SHA512 dfd888380fc99abc2aaac9be0e01576a090d624c4011b9f85386cfaef868c1db34bf821621164eab5e41e11977b1c16c2a9117ae88f868f757c60ca659291044
-DIST firefox-57.0.1-ast.xpi 455504 BLAKE2B 9a0c7ba2aa4ab8c356094e012202c32e876046588d27d7536357dc5876cec25ab469403e656e3c8f92b21c4fc04423f70d8075c61f18fc26e167a0e6b73b7a85 SHA512 6b6a907f2fa74c9dd748baed0e751df9a5f5ea55ea7b619501e8e0bb8065c0b284d0a6878249813a64b3e8c4aa5e7f8677c9b4901e869373cc36b179a8ea8e7a
-DIST firefox-57.0.1-az.xpi 466044 BLAKE2B 3f9585be3f94bd9274aeb53b7e3a334a043c428de889d1af29fa8ffea0b8621c88caae3f621d734a1a00fd3edbdb2b4b9ed7e430ee6becf14c5d0261f658ed96 SHA512 ec4f5530541f65e86ba8185009983e08f675980e4b090f55fb262718646fe979c4a1ac16939dd2c5977b397c7f882c9b9dc8bf6e4264dfb04106f730feb00748
-DIST firefox-57.0.1-bg.xpi 510352 BLAKE2B cbc3baaa1d34716f44dddf0ca1f966320f75eaef8b273617fc25c2efc8d01563939b804d4782fd975da7ef401d5e677f8ea4a19091f591c54c809ea844274d3c SHA512 3f8eca12a5d8c9f21ac773a14159f9042613b16126cd96859afbd623b4639e52b38cd4dfbb70a468ba8f324489fd2860777668bab04dbfa8b4d2257ab145e05b
-DIST firefox-57.0.1-bn-BD.xpi 527190 BLAKE2B 9db3d7248d78d7dce16bf1e9d09f631c40d6a4d431d5c20c3b7e6fbbbe32ad2b145a462f4937ea5d518d91f447ec66bf558c59aa82bd0dd1b71c010f4cf439e9 SHA512 d388817b7da7f4dd60373a5fed44a10f39c7ff3bd6244db5363b8225ead353e218e76ee4290966665ae0e6c75b55c0efddcbebb0dd9b81e615332164e1810d90
-DIST firefox-57.0.1-bn-IN.xpi 516180 BLAKE2B 33066f4da6350eb4b40d910032170e1f2ab737d6f0b125b57f247e7d0a0ba47832429d5100870293b2730c77f61fdb055ddaf511f4f3ea7b7d78b28688c42411 SHA512 eb552be90d3e13716e824aa03794b75a0906e6546985b06149c709a16fcdbe580e10cb5e8bcc79f89b198232ad0e19c7da12da5ed4f814286f5c318d9a3664f0
-DIST firefox-57.0.1-br.xpi 451867 BLAKE2B 50d9dd868b06e26674d900603576ad8b2e3433d5ddfa9d3a8f0dad72b8c0f32c01fdf0bb07365d4049e8433d49cfdb3544578bd6402bdddab43f0a5ddf9cdeab SHA512 fee1057b9a810a82058975fa2eeff97f6aa0191564413097b241b07987824a2ee7ca55b13a97526e94688beb3cf8952569badaae17ab04faac42cdbe0a6ab681
-DIST firefox-57.0.1-bs.xpi 459650 BLAKE2B fa0c58ca76b5ba6fcdfd73883a8e129f83018e2603ca96bd29a3e940f391606b7cc33fffd446b503932afb7dc09c2d727406b1f96405af465908c1d9dc09a4c9 SHA512 65b94db677945abc87f8ed601ba2a8537715cc3549ce12875acd9a9441759829e81aa7f1f0dbf3d6c362a51b199f7bb293f321859de4cddc6380c3312e002480
-DIST firefox-57.0.1-ca.xpi 466641 BLAKE2B ce2336b947c13bb8a1ebfa7e729f2e957add98dd99668c1771d4a0ca2e6f69142296b4d4c79e42e57f9c93059fc60b9b2dfb4563731931b0b5bbfc4a778e26bc SHA512 e43c4fd45b9bae0226b009032a1eeffba7be2387a29624a68f20f1a05f8a48e05fb5890be792d636ba2b896dc52e6f1945950d920efec040951a0b61ef80b74d
-DIST firefox-57.0.1-cak.xpi 475935 BLAKE2B 5eeff715ed9af6b1e2f6cb2cee42b02c9f449d5d4f20464d1f6386b6584b6eee39095d577cdc73e36bd996a723be9c96592d6003a86366d8dece8c417629f827 SHA512 0f45529b82247fda328fbf9c2c90f0f431513f2a1cc34dffc4673b4abaf15437c2a093de0f463fd9b2c60486c54c0c08f527affbb3a0da213a047254fa36c926
-DIST firefox-57.0.1-cs.xpi 469457 BLAKE2B cf51a03f5ca41d29dd84722002e76b84edf1b94f97c01b9903a9de01008dbf1cb2f9485fe7a6baa9e791578c1606ec224d212c024bcab64de26206c0a26c303e SHA512 2869b1609bd2ca05acaff847cacf61641a383edd6659b74f34d7fa66cc27b02be1a4efa3c46ae9dcafa28e1a57c344fea0a38fffb6d7ae723ccd50c5a3aa08eb
-DIST firefox-57.0.1-cy.xpi 455788 BLAKE2B d2d6df4012e0e2dd9087917c295d65260d3e11c276e809b689186a942b262be25ac201a138b6a271eb5b92107641afa49ca8bef136643f44f33c16a181d15b1f SHA512 f4cc0d88a068b1efc39c64fa9f52a1c09bf1d0d2e3dcd95a1b2ca61a953a7cf9a4ce27bf7d3ff82cb697d04b168bae47d663617c86cd2c98f7d78394ad1e6070
-DIST firefox-57.0.1-da.xpi 448416 BLAKE2B 61e317baceee3fe41084ca372456cedbd6ed310921c268243a725e6e5c9ed5a7f07d3a0b115d696e7149a8d376d6e72ab682b81484dae0d70f8a184cb8fd44e8 SHA512 891f129f850564905f6524f23c83b86031ea352320598a9853aeb914f8ed3726a42762668594c3e644d1fe647b21dbb279780e770861cbf973eb6c5bd07e111e
-DIST firefox-57.0.1-de.xpi 460814 BLAKE2B 0fc9be379ed1ba50329c6f8adca74ae2062f7808e9edf57320e861c60cea80e3a4a51c17eca226e8ada409af3c1c664a2f45d17a5a4e10d7917810637e3149c9 SHA512 f6f2a304ee9fdd79bde59d3cf0116e9ce81425c604670add18117bdc6f5bac3c212afe56b368d8b327aeb08117ca1e8adc6c4606e0cefb974f0b01f2b14b1ee2
-DIST firefox-57.0.1-dsb.xpi 479511 BLAKE2B f519e3c26a3b65b6bce8c870101de0464ce848c268760cd30aabebabae5f091e3c9f581d314c19def0174a5dcb08ff9942949e17b14b6ca44dfa809ddc9c95ac SHA512 5e955e9816c05f4b1305ef36837e7f07cfae68fdee027ce0ad3dde284cbd54f2c49b5630990c70421864f734ccf8659227b1cfb2562305d7e98af1163a28b533
-DIST firefox-57.0.1-el.xpi 534484 BLAKE2B b232ed5fea1632b229fcfcfff1bb3fd4014301692d5750e2f41fe5b0117a83ad5672e2e9f449c3632db3e2b47cd03285d8d28ed237d31aaba25248b6a354791f SHA512 2383d75ad30d19deb27337642369e09157035826251461efa0a671ca02842047ea34721da759e831bc6d26c59d04212647c409a96443eb874adc64fc904d5a6c
-DIST firefox-57.0.1-en-GB.xpi 435623 BLAKE2B 5b4b1a461775dbe1c0358769837262b9220698d0df62209fa01e8c886d250848c4683fcfdcc5fd8ea4b2bec0969b81080231e79d11fc07f56ba9c7ebb3693bd9 SHA512 3d51b7cadf826be8619314682e482890e0cc57fc34c0687a3760c4ca5af12620cdc9005d2e0c81f0371ef56ede12996ee9364336a89caeedc70e854650b28585
-DIST firefox-57.0.1-en-ZA.xpi 432020 BLAKE2B 4e78d36f28d6eaa4c2406a4fae993379fe8aa5d760ac5b370b3c21dab72a5620b38912d127f38fa60101d33609e733d0a013437fa3884fccd59da8bcf3634b1d SHA512 788e2e11a37ae4bb1bacc4021742534d35144227744112e94dda505ded81bcfdffed4d41f39b204e9e62fd69f52e6a8218bfb3ba2c78fa96fa44e7f416ddc178
-DIST firefox-57.0.1-eo.xpi 454910 BLAKE2B cb17b6de90432269c45e45e1edd7d74985efd916a355a99a8aeae98f19641465d1d2765aa65070113e46427f76c175f3b7e288a64517c3082b68174f09054f91 SHA512 b8d814192eddbb3bbd7953c27b14dd48d33d9e7d993d7c421f2383269bb7c78a663e67a3fc1f185fd14b6210a0c41dd77628b3a74d99b42bbad2f31bd5a9d68f
-DIST firefox-57.0.1-es-AR.xpi 462980 BLAKE2B b08cb6e335c638a09a4b082210e39d964f536b20e2f27f64a8b4644ff1b01a23b8ec88eb55d320404002b26b69390e8fef24ac8712c9a3684e96e23559acd21b SHA512 34082f39b5fd0eef577fd8463e8a12fbfb51a68f4347f08359e2d6a096e765e194337abbed634f5b84d9eef8c1d6433757ba3dd46056ce396cc88c0a5eb49c20
-DIST firefox-57.0.1-es-CL.xpi 465514 BLAKE2B f4d94b05db99fa955b61bfd6d5b56c3b1426404d1e6d5641e3d5532aafe69f0db763c6d74dc2b3d0bd2251d19517da330bb1f2e214758136537aa93dded90ee5 SHA512 c0ca0fdc3bbcb83d47b57b92c3d7e421983cec362b828b3e625ec717625b83a7457488b59640e530738de8413efa2802a06f0623e3ac3f62baf72ab14e0cd7a3
-DIST firefox-57.0.1-es-ES.xpi 353625 BLAKE2B 1195a957cdea21faa8c8acf921e83b6d07937cffe0c22744c045582dd914d0d1de4c474bb2cf8d928d557625f47c35cae680728dba88c9c344d0c57eee1b1dae SHA512 85dc945937e2c68b2919665d29914371f9f05e7ae9912b45e506ff74ec5639622edb614ef5d985fff8d72d9c1a3936462f03e979bf6ef56590c1a7f810251615
-DIST firefox-57.0.1-es-MX.xpi 468761 BLAKE2B a4b71581d1ec0826fec5bb9230dab79ef2cdf1e3143ec297d87742b69ae9c546f8a428fa871e4f8e1b7b38a5b4a60238fb8f3c1c059cc4aead113691d425df14 SHA512 d0bfc9d43e24863a54f3008627904b268e60dcb552be72c4c942eb478c4f22e0a7bc914e37ebf1cce2983eff096855cdc8a2414f9fd2a4b24c1b5ad8e03c2cc6
-DIST firefox-57.0.1-et.xpi 447279 BLAKE2B ab03143a7e85e141543c5ba15f2b475cb5af2111831da74afc519bf498d888ce79adcd7b82f99714b5576fa700f76f09f340cf28309ce378610d5cd7c5937e30 SHA512 cf6b1d8392797f44bb657d2675ef906c2d4da6ae5a634b3d9426fdcf5552db1411e88bdbe52f023f1c9290a41bcfb836598f412031c41a25b2ae0ad912d72c0a
-DIST firefox-57.0.1-eu.xpi 454673 BLAKE2B 205207ad8102f3b6ec25a41c66cb618dceb23836af16f391ec0c572177b02f6c4e0b1feb88a8f2613ac708b8e66b8a225ab3aba617f08a9727a76b4324ad94ab SHA512 6fd47c177ec9ca0d6b679cad7b5f36eed1f3a9d1e05477ef626a9052f8064c64ba2e3a2ac4ec7066a163995a9ec1db870bcdb054d49ff49f251a182abb95d0b6
-DIST firefox-57.0.1-fa.xpi 510829 BLAKE2B 59d0930e6525d35ba9201a8158db9b41e34f055acd1609b2c0bc56209a7eb87f060472c43ae19b74d966aafdf1d6a2e623770d6e259ae7e42c7bce640a877898 SHA512 dc6ddc4c6c0ba0fca510147def52f949221dead17e3ff0a6ded1b7db59fea3e55c76e4901e33e64b2c3897737360fa771bd8572c8c6090d02f99687e47c89c5b
-DIST firefox-57.0.1-ff.xpi 454015 BLAKE2B 577eab187e803d8e808698c5924078a12bb596894cb29fac01c51f9e237d173ccea2ea8318ad967efed48e8ecc5c640eac29cafa1871175dba5c5338cf05b0f2 SHA512 11e118ac52accbbf068912541e73bedcb8d94926f4f1b99a93b9da237487032c663ba987ebc790442e543f49993d0ac2f73a5b52838bd7b2b88fd24df1c68ce7
-DIST firefox-57.0.1-fi.xpi 446244 BLAKE2B 807aaf9b48c59c00f9afdfc83a7f89f0aaf2e3f8e87d0284edcb4260d490e953915734627c2dbf3e07d5a490d38a02b2d42d32639e9b9b541686ec6fa9ea4a18 SHA512 9a61a1d718171d344a590f85ff63b6cb533d7e288c32f031a36e7b3467353afda3345f7dc0bc6bb8e1be034cdae724f8441c3d65a578ff23d335cd0c9210c343
-DIST firefox-57.0.1-fr.xpi 472722 BLAKE2B 9b16832b4ca98f6c29a188e64d73cad8063eaafafe3b6a48535fa4a6b5fd8c67bda45f34c6ac15ebfc2d20ceabe4cefc18fd78f81d94493a97d4b451a55a1fdf SHA512 21b7d08ba5da393eb35f05bb7e977babbe38892226223aad3164a8888994ac06cc2d6e105f841e6a495118fdbcd1d2ed329fc473d6735b299088d4bd817bc3ee
-DIST firefox-57.0.1-fy-NL.xpi 465912 BLAKE2B 060abf49dc34a8a0607310d468cb4e7834e311867b528026b3b1bd796f6b85c5c6e5a4f894f1d86de3aef8041f270c1a52edc715c9a070835bbc2a1e73cc6de5 SHA512 ad5d6fe25bc1af5699f942434c45d7e12a7bd670a0c90010b722d320de9d5db4b2e07e4023fbd1c891932b6e90824949d2cb6fb8b6433df078aae4f5ea9a76d8
-DIST firefox-57.0.1-ga-IE.xpi 475963 BLAKE2B 54e9508bf513e61d3cfd70ae92dba838b87e8f894265be638f75e57a048916f8eb74cc25e87517087f26dd9d63c00eccb73954ad835061a6d29e37828eb19da7 SHA512 675600bdefdee315bfffd7f83fff84e61303e2e7766f32720f7f07e69a0d6b31ff435fb321abce231a4875e315b04cb55318bae387371525f8a6a8119ac7f3ad
-DIST firefox-57.0.1-gd.xpi 465123 BLAKE2B 30676a54c73eb7e590a8a21b50f58c890467bb66b1c43309a2c28df6df9a6e964e5673c6509db019f81feacebf0b08eaee29ae4143a4f0dd9ca0ea6d575cd4f4 SHA512 8695e6af135d0009bf100fdf95b175c9bc2ec8a71a7b9684fce4c2c32eebf29fa42f34fdc300ca7599c073dde6dbad65fc55a821a3a1a2dbbc1987d449182af0
-DIST firefox-57.0.1-gl.xpi 452032 BLAKE2B b1bfdf196404f156e8e8704d4c09d3fcb0c61aaa856700034123aa31762af56758bf3b89b4dbaa2615cbb39c4a3f36c2087cc47c6de05fcfbe6969d7ba42c8aa SHA512 43dba722d9ee42e7558b6100ca3609f8929156339f9cbe7049822cb5bdaa5b13365eb50319ab3bd329db46db7179b260de1d75a335a41e9a483b4c338a66a54b
-DIST firefox-57.0.1-gn.xpi 471956 BLAKE2B bf57d332d9352c44c74afab3ad267de11dfb75cd28986ffe777a58e19328037f6aee7962020c908e2d45d783b1b123b57694926a2d16407609a102437f40b67c SHA512 6e60aa050fb9dff4f5429cf6fa6167e0f44dde84f5cde537223f177277c92c174e93ae8d93d021f6bbaeb99fee444c336f8535a2d86845e6ad1cdf7bbba82e02
-DIST firefox-57.0.1-gu-IN.xpi 511990 BLAKE2B f79f69f45c4103412f117abe41e581e57093aae7c3bbe993b838a2cbe3bd4156cf0cfeced3987ed1f06de4447c11eacdee82b99ff9425286a15de79f6a8a5417 SHA512 282a8dfcee5087eced13bc8eec2c8eb0704514dcab6ceb012ed99dcbec454388ea1c25b3d5b66afd8c75550e2ca0573c1cb614ce6f589193fdd2fd94d6778582
-DIST firefox-57.0.1-he.xpi 471921 BLAKE2B 64eaad0e161701e82b41b6f3c65898e45ce25357349b2d1169fb41f1654fbbeec0e9165ac6ad2696b189a5c91c83150e4001ff909ccb553ac04bb6a218503ba7 SHA512 4d956d1e09908dc4a803d506d2de8cdceec143526298a98779a10757f53fa00b23017aae6d413b6bd885d8b2fc40dc9813728087092c484266894f560ab91f7b
-DIST firefox-57.0.1-hi-IN.xpi 526111 BLAKE2B babfea7d0abbdeb32b1e4c944d9b221ece1fc7bdf76cde5be026b58e75b662daa64517dc2be7878941e9c8877249de621587601e56f108fc5c72424edb28d2ad SHA512 3e60cbc650d3b0905ae7d90814dede5a017adb7dc3dfd10edfd5fe55f585279c2bea94d75805bfaef31dd6e2f02caf694497a08d342fc30631dd72dea4b12465
-DIST firefox-57.0.1-hr.xpi 460722 BLAKE2B d0c699910ccfb4d91bee152dea84321e0376bc7dc343e5f602032639f176a8dd8762ebea1230df48632f9c6870b2f2c7585e3c8b0c5537a9cf9994a6c84b5198 SHA512 dec2f0743c288f71def95716907996f191554a36782755dd77c90a05b1fbdab5c298f097a1e31586cbfe83fbde0018c4b521e4b7dc8ab05f03f10f4a790824d8
-DIST firefox-57.0.1-hsb.xpi 476505 BLAKE2B 8fe461f3b9b481043f481aa12aa06d9f389e9fb3fc09c168ea44c7cbb4e719a139b299955240fd4e4beb4c08e303ea9123b79721fd565c76d2f3174c48ed2b83 SHA512 9fed68ac79ce4e55ab7b2e06434f615cea12c52528be7e43dcc64aca06041817637f41221b712208b35a2c519862e095e2ee771f89c218474c473d18ede7ccd3
-DIST firefox-57.0.1-hu.xpi 476604 BLAKE2B 6d630d343de3a29d4ed6b7a1526421ac0c084d4c25c614a11252dd2255c0c17b9b8e850397e2caf30a772042d3b9cd7cd56fd0f063b5bc84ff758b1b0f4aa289 SHA512 48eb2d0deb0945219364727b872abdaa7249d95f809008157c475bd309d322ff3b8538400b0078dd3927789fe4fda1831aed66aadc0798bb0d2d0d205a292cf5
-DIST firefox-57.0.1-hy-AM.xpi 510825 BLAKE2B ed95c9b60a5c8105e9f2550c69d19ed1ed3bb8e557f3b7d529299a17f060c12303937ce91833521fdfe5c5c3e8feb529b9d79ee93d721a05b0ba3c5f19b89166 SHA512 54e52ba07a289a01a1c7f07911aa3df913736019d8282cabfebde0d8957fadf73382d4e9df1ad09844ac2180b8a6df397f5669b796abeebeaea9f65a7bcca1d6
-DIST firefox-57.0.1-id.xpi 444041 BLAKE2B e4bdc432abe77a159417c4ee63f0d0e9e5f00f05d60dbab8d65fc7ed00bed1142ecc57a3795b328aa3bdb8faf9f7e3b3e1d8185b68d2f559df6fa0e1a0167460 SHA512 2b0505613c0cedeab2bd3d04c6bff9e1e542f733f9b1b5b97f1de984c8e7f970849dd08613629fb05045ad3d33b16a3dd869e0ff61557f9d0acfa302985259e0
-DIST firefox-57.0.1-is.xpi 452660 BLAKE2B f751bd97469fb868adc290e2c9f8d0fe4d4cb9c79d6cf8c4a0914bf7313759b1b6e546f872cb7a712295decda070c3d100e9769ff56c7cd42c10b82c279069c3 SHA512 7ec005df6aade674609f0b6e86152f080a55f2bb273b352239af52d410619bddd5614dfe5ebea37d7a2c164ebabe329d9e62c4fa37bb53f8b7ce278eb86e99c0
-DIST firefox-57.0.1-it.xpi 347172 BLAKE2B 2bbcdc15c23319337226be9a579c61a6d0a3384d5ecc6cd447606e2b7a3d0f6d25f9842551dd4f23bdf16c63cea6df747072f43000426e689f60a6f4ccd8fea3 SHA512 7a9e7df4456d4997f7dbfe70d052d3c42aa83a205355d599462b384daa306251f7434a2aac55592c9c27d2c52c2e08a631c38e83d186a6213efde8fad249a83a
-DIST firefox-57.0.1-ja.xpi 508553 BLAKE2B 163d0e3a31cb0408d79445d62778e780c3444aff4e79d934e0c57dffbef0aea1a82b0811294710aacae41ac074d30dedba565efc0fa1c9b763ff5003782f721b SHA512 c3a3d71b790ae752d209df47b1f40b80a3ab549d95d6932e0c22d9c10ece26f8253d685d9c5baaf7e43593db0c180dff952197dd31aeb3326783aa0507098aa7
-DIST firefox-57.0.1-ka.xpi 492355 BLAKE2B 909c432e5c9d86f4a8ba8d61f03effcae1594654e12b26d5d91362e16af28ce89021e3afb10cc764395bccbcf407c881c4b995cd22f9be8a3806c37837f58c3b SHA512 640afa77b257ad262a603da13e455e5f350f5a18e8635c04610f7f7253bbbc72d872be619268ef4c5fd97743342f8dcda6ce6c3cc20ab3f8be5e064045d7f62d
-DIST firefox-57.0.1-kab.xpi 462531 BLAKE2B e88012afdab3edd2f04f590d1ff867e15c3661684efa7ab2295b838e8c9ca46d263790c25c1daa17fa7ce1430c2a8da8be7a39afce1572d882bf7308c3614af0 SHA512 d2cba33e8aefcf18f8a17613e0eb0ecf8e670c9899ac9fcbe6f236b355571e2d7c83c3bb0ed8ded4939b628d577617b45e85e001664b8584629553543c1fb99c
-DIST firefox-57.0.1-kk.xpi 519249 BLAKE2B bc6aa442d9db999a92bb15a246f991c9980ba5a08db6c6f2606e55487ca5e3c4e73b545cea539fd7b9f4e8ac9444bd999045273f7c2e8fde70712538f579826f SHA512 3de23fc326fb2db2df69d40754b9174eb1de0326e0da53f0082236088548573fadd70903dcf30e10186dfec146185380aeacf27cbb3dfa553fd146534b89da4b
-DIST firefox-57.0.1-km.xpi 530080 BLAKE2B 6a4a7055070e5b14d6525f1f3134d41a62cc7aa1f14b07eed193b427077c9fa8ea4a97bb23fffa8afafd64189d5341a3ec109691e7ec0f9663e0f5244784fe20 SHA512 38c8c18bb86d7e61b2c04260a8ef2ac14e04652fc4628c8f7b84533bf246c3df641123c11935b98bdbdf6b8f5fc91cb8494fe3f35b431c605f7212965d0e20d9
-DIST firefox-57.0.1-kn.xpi 531316 BLAKE2B cfe8c706aa95b6a271e59acbf5441771684fe9e4419665a205c705ac01e321bbf9fefa940c8997017be0a2ac6ff9f5edbbc997c8d703d996702a2efd45e64264 SHA512 ece70f05e9b4a3f8fedcaed5f57cf605b349ba664481ae448ba0f8ea51f1e795df427b7dd0bdda155d8e560b2fa1475ed75edc3c57b309c76fd2740205439536
-DIST firefox-57.0.1-ko.xpi 487306 BLAKE2B a3449003256b8bd8956552976fecf7592711ff458a5e4484006281a4a0de095741c788dfd8f5588143f78f2a8d7d4b07a1efbef812fe9e748da0dc5718e7d160 SHA512 0f88fc6eb1060ba2b5073a113511f5536bf15bbbf798995df5ca54f1265d77f196535c3db7e22dd946059a9d8d151a2e1163832638bb6fd9cf5585d0f786e028
-DIST firefox-57.0.1-lij.xpi 452343 BLAKE2B 502b91e6d7a5a92a78f103ad21251a8be9e820cb38697884a460c21b1ada687d3c9ceea7ed9586a6b67cd7ab54e2892f3300c9daad5aa6558e55f6227e915504 SHA512 9acdee87b68cbf214f9213535a83b83b24ce31acf645def88500f90158aefe9b005ab29afd6e97fe7294f0207f4113581a55f4608b0d07541a5e909858597e85
-DIST firefox-57.0.1-lt.xpi 474957 BLAKE2B 6c212ccbbd7b97b0f41209a29244ae1005ef2dc812b70d0ed54ac623b92fa010976c2b057584596d4ada3a5ce069ac485d18c477ec77ff7d72b495a17d19491d SHA512 1fdb0af3c8f6e143f776aa13cda8d6587c2b16917045ec8c0cea4781e2987f01cb25e83ae86b88aa5c257d36cc63edca4dad7cc1f88574a166e06007ce5221ce
-DIST firefox-57.0.1-lv.xpi 465243 BLAKE2B fb8f04afd9419df86bf5779952c7c7187ef4ca6d5da1857bee22bea2052dd64b63e61878c7b95543fb800e5b9a2ba372f0ee15be08486bce984eb583051fbf6e SHA512 0b7b2f106a1f6ed59342267c6831bd7fdac4e85d5c2b048652cad7c9038ac8b6f758b42eea0d0f79e9e48605d3aaf513a4bc28590c11e5336a50a977c7f808fe
-DIST firefox-57.0.1-mai.xpi 507396 BLAKE2B 0e8058ed7089229e30d398275b47a0c08cac973d63325ee58d89eaf890bd6d0a863d92be73e87118ccee377f918fd2282a36624c5f27d7c0ce1923fdf556d375 SHA512 e5a965dccd3c0aa4b39c7809b22e6a3663da3390a715cdc061a12ecb12faf5c2d385c5718e86fb854a2dd8ecd48fca2a4b5f5e5d55043909aaf268374d0ef665
-DIST firefox-57.0.1-mk.xpi 490853 BLAKE2B d99cac551f2239a9f261546237d87bbc741e12db7be40c99dd93c19dd6fca6ae00245231653ca2cb4acc2731c38c320da22d269bd652f94ed5fe8330feb4ae23 SHA512 8c42c32a5ff24ab6ea872caae53cd7c8663fb13e3dfcfdc1a09e1ca9535e7a1a37215241625501b5fb4155896a4eef72b03b46aa624400880a5ce0f366ad3a98
-DIST firefox-57.0.1-ml.xpi 528256 BLAKE2B 3c50c5bd22ee911b30fb406ec4720f1dc1d7def3d776f1b337dfc2891985c494d55d2d1b81a3c8908108a8b02480fc120e6930702cc4c0cb1d9e8aa383a63954 SHA512 abeb437ba5926ecaea48474a7e3a1ee4a0011aa7669eeea0bbe8409b96d699b1b469bf0c6702256165dbd26bba48eb158d14051a23e880fb4c470fbc27ba0b94
-DIST firefox-57.0.1-mr.xpi 521291 BLAKE2B 84ce36693ac01df47b6a252350a393c40a0a3358c16c88132340daca2a19cbc11cf85c808dc9bb2d61fb4b3e25a955ecc5439ec5dd7286b076c7dff57653e535 SHA512 46fa2586024c21b5c09212c6f2cb1908d442801fc4f1f325a529ad9378a7fe6fabcde9815c1a02cd0f617ad20c691c82a5800f5c2f4070513f34e4ef09ea1e9b
-DIST firefox-57.0.1-ms.xpi 451255 BLAKE2B 73099958c5d96399d8ef7103e6aabbcf88e477561b905e5f39f765010141a800dc3a26db5720bde165d794a8de1fa93e36a264958303c724ac55dc74196a98c1 SHA512 171c0fe3b6e94bb687645cd42e5aa7ca48a52dc7850a9b146e8ea158710abe34619381b3a5f4763c8bec2a3bf5f796ecb9e4c6ff250eeae81a6ec02a90361503
-DIST firefox-57.0.1-nb-NO.xpi 451557 BLAKE2B 8749e40433959b0504b6655b0ae0e3d301d2314423b3be59730f960da8a8e84c8e6a816748037c9de01c46f0f0e06be02cc13358ffeb87647d22259686d872f7 SHA512 48d606ab263f63c543078f1ac32b43374e0a28683177083f6fdb4bce8413679d786e57d880a716f7939a7f21781b85b4bce74db3f5a1a313fdd9175a25c3d045
-DIST firefox-57.0.1-nl.xpi 458319 BLAKE2B ccf42ec18078599cb5018a2327ef53c1db0bf0a863048839bf8a452790ae2b148d703b760059520f2775d9735d94f566d6948ea6bc8a6a7a326594ee2e81521c SHA512 81500df2ed6e99619495da3bf65c0870aec0c743ecf06a0c19db8023c2ddf0274492a6cbb395db1243b4e765891fa023d383dcdaa455b6661ae41bfc074774a3
-DIST firefox-57.0.1-nn-NO.xpi 452005 BLAKE2B c62ec09e19b4204e4d09b5f48987d7bcbc1e37b010323ed01b929888138cb74be3d5cf388a587d761fb74de3d69d54834a819493cc23cc4b2b4dfb4b956cde9e SHA512 e227c870e3f8629cde8c3118165f4f9aceef44fb6c344ecbe159c5ea4ea46495430545aeb6a74095a954f7eeac1aea04f9d858caef9a4c23dc7d30715f166174
-DIST firefox-57.0.1-or.xpi 500868 BLAKE2B 7c2cf66b8e1aed0e5e258a9a36a4036db864470ada587fcfbeea5e637b8b3d26befa33f7471799768dbb007830542183643709efd713b7a19b692430bd4e631f SHA512 3696bd7350d0dad42269d2c007da64b638ba8da6a6313f6f51b61e85ff201f2ad22c408328430921a887fdf3af98745609ec0a30f4a9c7ad19391707c026bd20
-DIST firefox-57.0.1-pa-IN.xpi 495271 BLAKE2B ed3b27fb44a3afdcea1c82ded67b58312b41f5f618a08714b6d298ae003256c20209fbe1c92bc4d12314864578294a31d4d6bc851719635426af894d2d702b0f SHA512 a73a1260ff5f7f39eccbc4de21fd17d5e41ceea666e7656784cc8ba6c7cf39f943158d6121c2cc67c440c1be66a80b7cbd6260529f07e889f1ff45cc5d18a22c
-DIST firefox-57.0.1-pl.xpi 364230 BLAKE2B 2b83187e5038e9f04ff2a708cafcf351bef9747dcd4ec83efd90a0b70a88c52d870bafbcf9e1ca4eeb76ee589e001e91f3451fdfd19bad3658a113a30b720165 SHA512 e4085646512d1718228018da723d5fa00841a2165a6a853a324210be53e508aaf04636101ed842238a21b7bf455ca119a0efffd98a43ca9aa322746bbf0e5d72
-DIST firefox-57.0.1-pt-BR.xpi 457155 BLAKE2B 1506c0497e1006f1f8d42c88ef54b129b0abce16e0cb3332b6df630d0c2fb5628d92b7d14f814bdb3a2694f8925cc3814cd336859190aa699147fd8768fe0fc6 SHA512 d713db70d4875cbabcc5001f4b87aa0df4a8ae3392a4377efe49fb373f04f265771c455078b58f0469e1de80c374194c2c86287e3679a806c827a8329733aa59
-DIST firefox-57.0.1-pt-PT.xpi 460000 BLAKE2B b12275b9e605a7cc20c18464ccd6ee74b32452afe820c4c02e9ee28cdad7c3dddf09356b0e11c51fc346f2f56e6be6d30361e417f95e8f0ce5ecebc443de53b2 SHA512 8840a9ff31b0dc5161f6836279590ecdde7e8e66d33599150137710ff1b710938eb6a3c7009a9003c8a5134cf3f61031bd3833327e3e922e874c29b63de386bb
-DIST firefox-57.0.1-rm.xpi 451059 BLAKE2B eaa3fc73039efa321ff53bc28395844ff86639c779ea764b22e806b0f853e6956785bd1e0ef57eeb352e36783e287cca60b7ec1a1f69be099b20d93ca5b5c7eb SHA512 6bf97d7a770aef3720153db47ecdc31c0e6d0fd52a5ac5f40921e056ea378ee0d394924bd8f4e36c0e62826c15b6db90c28384a9084811535ff8df5a5f9e59bc
-DIST firefox-57.0.1-ro.xpi 455511 BLAKE2B bec40c5c137b903f9d09094bd7c93548b27f84600fdc5a8d549052c6fdacc32d6033f9e2b2e0c0e1c1a979830326a991f431525a3e98673ac7bcf485cf21da2c SHA512 ce02a09b600f0a491b143dd73372952ccaab6cefd6a131559d426b5b056a22b29cf19178f772a8614d3156ba820cec7fa4e7147582ace6c6e9b3d0bb0ed06f95
-DIST firefox-57.0.1-ru.xpi 526955 BLAKE2B 818716e55e1ced157a149e8a6a572727e4dcc7ad6273c8426246a25cf37cf58ad068a29bdeb2ccecb79779b03d9f6a16ef2ad23482395851d67e70ace9581aa5 SHA512 e0e6290279c43df5d1384de17ebd4a34f6b3a524481c6aba3300b12f2faf316d5eb9427db609f677ff5f3d18119019a5f2ee758bb16d6bfd32d4eed9975d2e86
-DIST firefox-57.0.1-si.xpi 498324 BLAKE2B 4d6868bb5836277d9c3f06fec827ad32065b303a76c56c948cf07090762fb271f1c39af0049aa93919a3a572e0b0340b106417d30f6497a4b3b8a71c08a31b62 SHA512 87c591fc7e25408bf38977c004db55282c3ceddcc9c1a14dcd75492ccbf3a9cf7480d0fcaa4338d57a9534275129dc9bb4e781f2b7231b533b2d389d6202f334
-DIST firefox-57.0.1-sk.xpi 480397 BLAKE2B 1274bd682d9b345234d67289e2c0509bdea350b8b40b778e1fdf3af19c38cae2e3f315439636685447a38164777ccc0ab12975366347b1fcd6608798c6679d46 SHA512 14d907f83b13def0c81469d9047359587285a8ab540c616057bedcdff41f1809ed263a947fdcdd8371669e8d78760de0b24053aec9d27b075bb6aa2889d244b3
-DIST firefox-57.0.1-sl.xpi 459377 BLAKE2B 16d1be42524365e96d9814d0ed6e98f9406856ebda8cdd03843177ab28e52f897418c5b5bd293db7004b65b6637255775248a292f2dbf89791e0011e01ddd66e SHA512 aea4f95a2d06040371f51b51622dc88b9ece6643a570cb2b710da2dc1765ad8afb8f625f7104d17cdca812aa42f006bc0c9123832a1ac93a3109967f40571755
-DIST firefox-57.0.1-son.xpi 450931 BLAKE2B 2d33af17d798e9908c0f3d3546ec1349f433a086e88befd9ce175d797c20e89747fbbd59bc76b46545a7714b7685de27a7e29f116f37ed06a5a6386fc552f72f SHA512 ac924e84984d157e537dc088fd55f61119227b6757a042dfc7f7b091bdb56ff34a36417d1c82349e070fabb439fef0527554bef865620658b97983b11f4fbd8f
-DIST firefox-57.0.1-sq.xpi 465051 BLAKE2B e2030792ea67fd6dac1e030ce4bb87ee2064d39d60499c3e9814bd9da6bd8f2f33f6509d578968b90b70fa0aa5915e4c4d151727154375e793a1972c9f176110 SHA512 160c29874d119aedf12f3d2942d41ec24236b3fb4743ff54bcf6047f40ac1be17ebe66fa70c59a7b92aa716dd11d1824f9cc6d6ab738d5450c84a706ff16eff7
-DIST firefox-57.0.1-sr.xpi 487003 BLAKE2B cf1ccab3aecae10e1add7ceb15412b5bf136a38abe1fe1b71f3aaba9160ddd4278fdebabefc0bd8478720a936bf53461d6db263998061905533da6846a590d63 SHA512 125ece27543efb5538f897d40de01bba98d7b68a14df7d6a5b491f81d593b46c1bfd421d2e2a05957d674c04f4d2afdd517fb0c3e2e4fcc14d9fc0a4df31a322
-DIST firefox-57.0.1-sv-SE.xpi 459666 BLAKE2B c49e7bfd16e2b114a09a9341a3f421f82f825889e0f8bfab2b1463b896f7b8471cee99e475bf15825d8c2ed57e061dd64d59b4dc4c17b5a721ff03d3b110c348 SHA512 f3170bdefb3264062a8b012547d36e30cb622e593426c762a8f3e8395d5a9b5a8ef7e3480462b96019ebe3552028aca6aa73a4f1c796e612c058d4537e39dde8
-DIST firefox-57.0.1-ta.xpi 513228 BLAKE2B d6240ce4a0ef7e77711c26f76814eabc19794367a193171ab02196abf6ec8115de9b031c060de45e56e497dee5c4eb28be6ede4bf3e137b3fca39bb702a31177 SHA512 81190d3a7df3e0159cd5d9b2cca00348e2c43c3b90336850f7fed16329f4ad2f49dfcfa042ff694d71a7140937572bcd590e245d85654c7b44673420847c99c9
-DIST firefox-57.0.1-te.xpi 530693 BLAKE2B 2393f0b334afead3ccdc00aa95a363d0a2c8231b6d4d2661a9282aba2632d6b020c09e67589e2dff8d6dcd6e2ff61e2704b1aed447039664f1eb7bc2f6d3fc59 SHA512 9a6c1611244b20ca36f988b42f74fa64f47e5d520d514b490fd868a4d546fda9c6069bf8e4721e07ca1334af807217746031957c08c9f4442919b8fa4599111b
-DIST firefox-57.0.1-th.xpi 502451 BLAKE2B 316134820fe1a5473ff6f1242382e0965c0b9093bd672ecb600ecd6db599773f15976a411742622fc27c8e4efe4fd9c59abf87868837cd940932933bfb35950d SHA512 776c0a62dc136b0fcf585eee6920bf4cbc281f1df662be4d53aa7505af226ad0b2c7f58ae8deaeeaaaa7215ca9b48627a415f7d029a235dc806b138291de4ff9
-DIST firefox-57.0.1-tr.xpi 465580 BLAKE2B 159a7abc450fd8bbff719a6d19fd47d690e912d25892d3ac96fa61ec719c47daec6c1ecc7b89f827d9665eb516e57be0524e9c02ba468e883727e76d2713a797 SHA512 3d224506092252fe8bd80cd0c2889f514bbc9f0c47d742ae1d689dac4a735521fadc04e076164c4e7cf943eeaedd65b7c433665450f537b0fb10e2ad92158db8
-DIST firefox-57.0.1-uk.xpi 518138 BLAKE2B 140267d6422d6fc7950ab49ab0b9c7e1949c9d69d23823310509d16b813c68fe903db1352f4e39545a9ffda9d97ce34e7e8bf5d0ecbfa65ba4acd4764a29ea58 SHA512 374bedf8d7059a842cfc0feaf302eadd2d36c5126f186aa9683f6d802d62fc7f579fcb37109d9bac62ed20f5c68d9dec4cc693a7f4dacda441442a3536b2e3dd
-DIST firefox-57.0.1-uz.xpi 461694 BLAKE2B 78c9f83006c2bf3466c21e7c913cbe0166eb64ef011465ead911af313ea818153fd73e691c66a65cb688336b44a00c2e1cdacafe991b8ef6926af07a9be23bc0 SHA512 6c232ff97b3aa8c1cd1a181277fea29322b50f664a85c6d38637c83eb0a02866823821cca7ef92620046890ef1105d87605483f80eb1090a8c3c73d6305d73d2
-DIST firefox-57.0.1-vi.xpi 471320 BLAKE2B a342596956b4796c305ac0a85b099753892a7cc251653f0fc04787c8ed008cb80efcdc53d9d5ec0934a5d0b0d691ad3eec9ca4e5a922d7f53898e5bd8ec1555d SHA512 cc2d84c98b113b48631bd8e1a33cf424b113fc357b35996fc5379cdf85601df78367a62c505ef55c6adf82ff15de439ccfbaa6859609df8f3fa127ece97a23d9
-DIST firefox-57.0.1-xh.xpi 464461 BLAKE2B 59da14d94217b6111e663ae177ac80a19e18c7e11f70f218f6e3df614100a68b9f2b72ba11e662d91f5a0bc60a6cf0aef3a9ee1fe15f12700fe3aeb0e7f67d19 SHA512 42f98cca46a2eb92ab297137b6b9beb4565482c3102253f996f86093e5272ee7fbdf816b602d28a3baeab1696ce6cef49c5193f9347df2a302fbad285703e78e
-DIST firefox-57.0.1-zh-CN.xpi 483625 BLAKE2B 7fa0afe93ee44edbab7b118ba2b291e39fe8138c7d4a55ec7f1ed701b4b4383b96255068e10241e838c6c40bad5c7fe8c9d0441e9160550be3818e99aed99ab8 SHA512 70a37b29f8c410596f533ab8c19b6841bff2f86bd482937e238edad07f69391985fb11628753c56f29a52b41779771392c2b5d7789c94e4c0b5ae94d99718f31
-DIST firefox-57.0.1-zh-TW.xpi 482462 BLAKE2B ab3ac1b44ef51ef87bbef85db5a8fd3ddf54e6765561edfa5414afa44606113686273fb93b7be88117b8f43e8d60eff256bd4975e04160082a409c16cff77f14 SHA512 f514c8191c96c93363955d5700b81b14b1a463acbdd9dab7ac138cc584587d11b575ed66d813dfdbd99f8e9e8ffd5a3fa927c505654b01f9cf4f8100d9a81169
-DIST firefox-57.0.1.source.tar.xz 251048924 BLAKE2B ad1ec76f106d9ecda3a61023f5d97046646fb7c3ba7514539a02196c484e80ebe28dd46b49297da0df8fa1c6e788385dde30b0ae86dc98e8af9df8706d7b9d91 SHA512 8cbfe0ad2c0f935dbc3a0ac4e855c489c83bf8c4506815dbae6e27f5d6a262ecf19ac82b6e81d52782559834fa14403116ecbf3acc8e3bc56b6c319e68316edd
+DIST firefox-57.0.4-ach.xpi 441113 BLAKE2B 10940542eb83a3692ca2b9915192f9b0db28f78de7501688890ca3ca84ba8f26a6cd184f590eb5b796ea5c822d09ffc09b740938982874b63596889f3d4520a0 SHA512 1c269b5a8c98855f025e3d0d1df79803f633c79619b01b37b487888ce1ba96335c3117ed3fa11fe63a90f65e8c56eff142e9a1af1b76d1277ade42cb29d85b73
+DIST firefox-57.0.4-af.xpi 442206 BLAKE2B b05aee23bb88c225d72ebf3d1c4aecbc48216e17ae9a500d11870d04469c63a81a35be579db359d4daf872ce821883719432eb752e884084b14badba73eb70c4 SHA512 a62975f1cec946cb355cb35105cae68af104b70c6848e43bd1f6cd4f69ebe14d40ce349dbbfc3390d9181d0bb3eba12ac0b789cffa80939914f50bc4e72b6111
+DIST firefox-57.0.4-an.xpi 462778 BLAKE2B 969d19d3e81834c84bc2774cbef920dae2abf23548d659a373dfc0a938aba83b4ea72c96f7ccb759528d88217ae8b0aa2b0339a3ea7622dfde3359a4e3b4d655 SHA512 bdf98b67343515c9e0266eb0c6971dd7c2629a2062a76136616dda4933eea91ff71b9c730a42d0d9f6df05c5b9b78d99078e4b2f6e24ec92bfdf8637ad3e4f72
+DIST firefox-57.0.4-ar.xpi 488160 BLAKE2B 25d4d6b239ce2c3e200635208308b643701fad162fce730a2e325ae12f1c6023788028ed9816bc8a854d1d2365a5fc3c9d83ed509b9513403148ba558e491475 SHA512 516dcfe19f016df62674a0d0c816b92f64bc90fe0153a9bedb4685e3deddc29ac16d6ffcb186adf5d0f99931f3a7deec7c3ca66621822f59c85b487f0e542174
+DIST firefox-57.0.4-as.xpi 491075 BLAKE2B 31995f2a8b3bfb8c35a7816a7d296e9e40f9d103e26ed628928dd2e421d0922f5bd97b656ef1bbb55e1fcf9be46644b025217d3fbb5d0974b45c237003123286 SHA512 cb947973d9bc392f24224bf5103ef91f9e7c354a8fc4df079b3a1a00ab2e0d26443ed92fdb4d95f187c2a0137bacfe28f5ea83f0b44ab213461a9767b0f628d2
+DIST firefox-57.0.4-ast.xpi 455504 BLAKE2B 610454cfc6da881384d66a47fb59720f238e21c86d5d0c2e2f1fe622fce336a7cbdfceddc901897c1c179c763545eaeea12e2ffdd6dcb4ade2dd8fd21508d84a SHA512 46c3d9c543e23b897b1c6cd94b9cb96db722b73b66ad315bd249b60a27a8d4f221ef8ee0bc43de126e9abf572114242f11127617fc0791ab77c5c87ea98f3c41
+DIST firefox-57.0.4-az.xpi 466045 BLAKE2B 7afd401b46c9ce347052d9a4f3195e8064e089aa23a54d0bfa8878e5a52c2d6526a33d7eaa80bc64d9fb975941e9411da89fbdfcb91ae641c11ae36b8f987b3f SHA512 46f5719b2fcb585c418a5a42cbb92f5079340a3b75d8471f95d3ac0a9af491e7d2d5ef6d3b0d4e637208c74156583d7b38024cca7d8912187080f3c8923cc139
+DIST firefox-57.0.4-bg.xpi 510351 BLAKE2B f7fc7192f40a8b385da3435dea04a3efe85a546a04c236615b0f3403c97b917a4438925cf4f0b37a20b90f7c51652653414965bd6592e58c3abac1d611686558 SHA512 07bacfdf881b0461b2e2752cb9c89e488d8240c78264c664cc8ec8ada83804377aa762650eec1a1314d04b628f6ccd9996162377db43b2099b5fe8d49d1ea8d6
+DIST firefox-57.0.4-bn-BD.xpi 527189 BLAKE2B f6a4900654695eb843c45f83fc96a65e331f04144f86878d0fe2795f5ff09bb9474006dd7efc6e507c3886ce549725bb0da478de3d77c5b4fc1d7a540280cb2b SHA512 6ac599803f705435adafcdc7d25fd4b0ef0338a2f06d5bbd1c83e444d613289421a4e13b6dec770973cd037b6f5499fece77d0ee44d43f6e37b28796253c5edf
+DIST firefox-57.0.4-bn-IN.xpi 516180 BLAKE2B 6039ea94bc48ac630ad63f9f5a7f2d6a2f5a355dad2401118fa399e61e0e2c6336b3966cc0c78d681e5a898db34d5425039812c4f8d5921fcd67f234178df0d4 SHA512 0339097616104f337ed14c8be30e27994a8c20cdba3f138c50f6b8b5bae06803d6f4b4448cd6b4967a071c54e436b04be0c0c110e412fa21ebfcb5c35406ad94
+DIST firefox-57.0.4-br.xpi 451866 BLAKE2B 032a6b2e17a8128c164dee538fe353b2cd1d1981107c88083d5acda864ac59f0b302bb8571e9996674d14180ce380708a5928ffc9f688a81719401930b0da680 SHA512 2dd0c57ab848fdd2f9e18b226fe614aede91f330292a4bb35863123453812d1837bee31a8fe6364b16e02346d9ce065b7493b7171a89ea690120a96c8bc8b4c7
+DIST firefox-57.0.4-bs.xpi 459650 BLAKE2B 8aab9f1cfc53979d687622b8f125d2e2e47d6edbe7d726fdb1ec4c9976fccfda3a15a5ac62f82908d77e3cb405a0408370d6d2b3f7ed8e18b8f7d5ab6a209370 SHA512 0e14fb9649155ecf401d4659bd5c7483f1c767b2a9fa30c3bd881093b58a3680a8cbea78cc8e64aa98fc0d36aa483041d6f58a99dfb085f8b88bff6980b82f0a
+DIST firefox-57.0.4-ca.xpi 466641 BLAKE2B 17b6e462fd694a3954e3e8ec84c093a33eab32f56f6b0d4f472af1fbdd43c19f782d6513935276b1032bfdfa2f2741136b9f47b8de21469b81b580a0e7e847a7 SHA512 1469709cded36d797c4f613640a2cb784e0542dd27bc8adf4a467aafb803ff45685b61fb5aed1e1ef6424e1aa2bed0424ee4e4e04e6337468f232f48f9e4925d
+DIST firefox-57.0.4-cak.xpi 475935 BLAKE2B f7dea29f530b44d8f2f5c42a7f76d4ebe2fe682afc4a1f7b5fb052f8660b333020dea6ceec51c646b8fbaf8fbd59e6eedc53c8f209178a10429d75db0f712dcb SHA512 d18a62f9b772443b07a696de85f16f417655ef1d48051230e9ea44d1a5300d9005fd486a390400658270f4ddf8fad0a2f0295cec4835a23bc614e8e9ccfb70f6
+DIST firefox-57.0.4-cs.xpi 469457 BLAKE2B 80bf90022f4982ce947e2d10ff173ba94aded31b8e18c0283439fd465980a2cdd3da51959b8fcd4ad2091455b5957d38b9360289c187af9a5242d87f017eba72 SHA512 c89bb1b9af7672749ede46de11effc6d172a59e56049a07b116902309091536201a847401ca632f7e05b155b677c1a8c272d66672645cee1ae1007444471de6d
+DIST firefox-57.0.4-cy.xpi 455788 BLAKE2B e5497b22a22de6a224ad0ef9e1d019b7d78878ac79fe5408522a7a6ea87e085a3e4164056d520922764c8c2573559288386d55614212714f956d3c3f2a9910b8 SHA512 e770d35cb68a08c6b47b882d3333ea473e5b0d06a49a30914a14817376b2da6322553ac1f7aa7ed3807e649f9c1c94409e8642102d1d21c463d80e89be7d17bc
+DIST firefox-57.0.4-da.xpi 448416 BLAKE2B 8bb11a3afd92a7ec8e6c952369a1c8167279b9a1c7733eb891ab3e4ac27a4c997299b62e0925d7f54db9af86fe845532307b0476133d9a11c036761ccfb2f922 SHA512 005c9017c3f023a2557cb9fc0122829d65f673bea8d6c6ab57166bfac9127cdaf112c972257d7e5d680b5861b31411e109e76cbe40d13494f1abe97d0241cc88
+DIST firefox-57.0.4-de.xpi 460813 BLAKE2B e79a42722871f37ef66f12f2d88d6f1ec3bf4814dbae69f51545da91c38acd64a6e45878bd3f7a44ef22b493256c7b0575827c44c20a65ad315c594a29167c39 SHA512 ec6572ccf5dd0eb305ccd422c2c48d34bc05523cf917289a207c59c4181dff5c52ab97a9a1ab9c90a2fc3690a51a6748e7bb05ac45b9c11de7aeb5a9ea564bda
+DIST firefox-57.0.4-dsb.xpi 479509 BLAKE2B 11d93129266ba1aa06bea5dfadaf7df30d4b1eeb4f09dd8ff41483c2bc3418932234bac4d37485d04bdbf3d56a33b3d0129e05a754f31747a76a429cd5d0de89 SHA512 153b57cc7ee6cadad65dfec42b3b7e0b7f0ac1aed0c783dd810c344a9bd82adef26c893047ce689cc6d22077274f78cef19536d7b6bc0142dce66195a5cf7a31
+DIST firefox-57.0.4-el.xpi 534484 BLAKE2B 4c8d342c7e2222ce5d8f0c19fcdd6383220d9f419c8e5b36780964a581b2c20bbb48016e85089178a730dba3b4f49de0b5cb14249acc0e67138a9b462878a517 SHA512 5fdc5fbdf3841c6924a43480a4399294e42fe9b1942f2258505bd9daeb8292d0ef0987443bfd1c4a2a6b4a68ca46388cb185eb12ef81735327029ab7526f32c1
+DIST firefox-57.0.4-en-GB.xpi 435623 BLAKE2B 707301c8176ab7ddb31542f7392bd59d63ebac375ce824145bede45b3310a959610d7eacd941f2d4899088b33fa8cbc72ee38b9f065c73925c526049cf497afb SHA512 83a3e1d4e910d48f03b0170e1730c23fc33d57d9a286cf761604b169298453443387b5f31e945684bfffdd805f7445d6f55c87fdddfd1ea66a3a6e180eabd8c3
+DIST firefox-57.0.4-en-ZA.xpi 432020 BLAKE2B 64ec9fd7562151fbeb9590fdbef462d01720fd77a3b8168087e1b389a8b83a465953bf9d3c76243f31149e0f9e1a865d95d07b5bb0635e05a011db204de6e0f2 SHA512 18348569f2a32490933cf19910b23eddd26bef8059b7735bb16c40a9378e37ff7b6ef748428cb5fa989677aada09225daf8424f2faf1e8b42c3762a3dcd3744a
+DIST firefox-57.0.4-eo.xpi 454910 BLAKE2B 1ad97cf666410e4ef2f0b072f28508ff5039a8a1b79016c350002192a6e2dbf71ab38e63df22ff8114520d4f8e87231c72b3b522686e814570857e85579ad2ed SHA512 151c12d3e29afdde34d5b6dad73962077ec2853582e8ee318fc39f31022ad1495460a47ed84c1fe675a7567811f4c844a5564ba07f90f29f009f190c8f9a7eb0
+DIST firefox-57.0.4-es-AR.xpi 462980 BLAKE2B 0ffc5a48b79d60fa1762e3ee623c263c6af0a27075839fd4be3be5dde6017dbe1f31616aa1cabfb57dca3b02477853549038b8f11dea175694dc3882326655a7 SHA512 940e3984d23c4ae77cb7d66a08e59e4438ede0ef0ec6a8b12e3b5be6faad43261df2c373536444f92178548370d4b1a9f8db0b9976109c39aa4eb6fdfcf9e361
+DIST firefox-57.0.4-es-CL.xpi 465514 BLAKE2B 0b1ae10ce735cc273b4e3f6d2cd2a47dcdf7c7daddc021ef8930337d22461f2ac95e92d58ff13e2e2b50fb1beaba1e0fecabfdee1098e4cf2f2f3c432f172740 SHA512 3e3789de5e15e90afbe8ed8058449bd200d8872cf7b5991de52d5922051c8e909d4d6829f673066e3933b3d45791ab6609ae2006954c867fe98ae326fdd943e4
+DIST firefox-57.0.4-es-ES.xpi 353625 BLAKE2B 413faf457bacd630024fe7fe350b31a48a663fed15b9c2e487bbe11f44cd626c1488c97b345843e33a0593e6b6067c5d5446448e5a71cd6f51ba5548e57fdc42 SHA512 d2442e7ea5e00baef742f9074f188a9331b7cdaa8258812de92584b977e06ec10a71368c7aacaf1985b733dd80298049ed05532aad0d0235dbe003e6080cbbce
+DIST firefox-57.0.4-es-MX.xpi 468761 BLAKE2B 0437dd6799ea37248f276dfe5b18f29e291e8d0c37ef9403360cfff9c23a4d40c9a94a62b9b156b93e4c1942d8297e6692b5002425217132a088bc974dc930c3 SHA512 489410d5017f4098aac4905675eb7a0335a6edaccd47ace2dfa9fa24cf70f68afd266a6b0d649a06d69212b96496bec06d86b5afd6fd7ea1591343cd748d1f92
+DIST firefox-57.0.4-et.xpi 447279 BLAKE2B 6a5cfed2146ac47bcc23b1c998e5ee09a278c083aa3ecfa85629b5444bf0dcb7917f2138a71d96e43f70ad12ab3b3f209513b4e65959846a31e5989e19650184 SHA512 0c049577dfb12feffa9f9b65fc4762ad5ef3bf0e3fbfb0f0056bc37471121c10a07e45cccb436f80da7495a2f6937b13e244d9eda81fa7bce9c25d9eeea2e3ee
+DIST firefox-57.0.4-eu.xpi 454673 BLAKE2B 71e61d516873988a536c187222a272ff2094330b80b3437159bd5606a78f9fb7837cfce14ac05bd50dfa9cd2172926aeea9182e219a78890a45916b260cf5801 SHA512 056f0916dec50f6c8af5add42d851fb9dcf557f931391d4f9c9077cf692e879fbf27a66a3bf2b8a3afd5fbfb0a19ba1c1d8d12f54232312010db5549a2cb206c
+DIST firefox-57.0.4-fa.xpi 510829 BLAKE2B 9e32943ea5798f0fe2fbbaa4b8bd15f5981442465ec9cd48b646095b539693d1a350cdc5f9615025712083914f0c02e823ab4af62e5ce6fc80279488562a9e51 SHA512 b2f650b940c3e5804fee61fc82c26ac55405ef59f3c0f5f9673f18dd10a421270c626817da7ed436a535f574cd0b5413a2d71923d5c4b7e27f412f528f140798
+DIST firefox-57.0.4-ff.xpi 454015 BLAKE2B a68428bf95d2b93c1d0b1a1049815ba283cb6c3c63ac7256017327c6ee345bf560cbb050656fb184cab03f76631ebc5fa4d979595d972afb8659728175d0fc07 SHA512 b69ed99e5d7c312ed4eb941eb6bacab1211a136d947832c355a0fffc8bc24a1fec8811dba6760aeb0e269a9ee2f084aace1eb0008b69fb9f405d5791127edc36
+DIST firefox-57.0.4-fi.xpi 446244 BLAKE2B 7219e6f8f663155630f264659324199b70d9dd02583fd4e04b83a7532511217fe07906ac0fac64d98b09649f9bdc052270c59061fdc41826ab48636de5a7ee82 SHA512 a4816457ddcb4e6466111f5f0622f5644d9dcaa4053dc11aa8cdbbaf22ce17db97de6ba852bb8ca8ab823fe3c4b19148ad3d417c66a8687e5a6ae0c7001f94f5
+DIST firefox-57.0.4-fr.xpi 472722 BLAKE2B 21af89c94ee77f5ea7a8440596f96447e8e9331a3d8e30345df9c4bc374cc9805ed1528ec6aa14b78231d9ec714b641cd2e4b0439073722f958bcfb244252a46 SHA512 9a020647fe0a77f870fd4e70993c053862fa02fc27f7ee07b19822604edd298825cd0a2b31b94615f5a46494f55289028e5d5f4934f4d347975ce01053d58135
+DIST firefox-57.0.4-fy-NL.xpi 465911 BLAKE2B 115f6adb3ce37017d6a3c1da7d1f899d0313828b5cfd7904332c72060fe2f3752d4de52b044d259725290d4675ded5c84dff3b4799a1038efb2b190502d324f3 SHA512 672ccdf0c5f81bf2370c0ee38ac746876038dbed828dc4c7d3e08b3e7bcc384ba57c84eacc8182d5246c9d8d27fc1099eba775969040c7f65e760e6a7e31d3f9
+DIST firefox-57.0.4-ga-IE.xpi 475963 BLAKE2B 508815237c2da512133ea546b37ac473d92a0c1fc40b84faf7d69890ee8a81d03017b53ef04c09e38ae168811b037e42df26506747fe8ce24cfda565867eb14b SHA512 f2c9fd5d05466c7146e46fea43b5e4544a7dd28d8983341677f18b0877ec0911a13c6d7fb834268c4c93bb1ae072df0038f926043cfe2875ca736123b708327b
+DIST firefox-57.0.4-gd.xpi 465122 BLAKE2B 04b2b5a4e2f567712c09ec538b6f297b53ddeea5fa24b74f2866dce10ef8d70e93acdd8b77d79188a1422bb72da869d4fbb6e0908a59ea9899198e3b32f8dd32 SHA512 1386a650722b16ff287d981801d7718a9019cf233bb111c056da474b6a7ed39c297cc22dadcf538269aaa9fe49b8b0319b02e3293716a2fa6fa1c397fbe244d0
+DIST firefox-57.0.4-gl.xpi 452032 BLAKE2B 42f4a1196c06a42f9964e0e47f8e7fb46ceeb9cc6d8b8df1fda9224bd21c3dea8636d2639afb7a560f8034b142f15d432ca995ea4d5500b0be04eb5fea821df8 SHA512 e3501d004ede8f6de29819879a347c1af74e2eafa3a065892d11104eadcebbf4da87dfcf00e3f2c821d0bebe504c16440b5b21c69a270447b0f0ad37fe34d764
+DIST firefox-57.0.4-gn.xpi 471956 BLAKE2B 2a8c2cfde8c918b0a7b35e378804a7cf1b6b18279de26c7e6eb439fd56772ab81d7d36e6633976e57016c4cdc9beea27e42079b4c2fdba8c1ce3d19741338acb SHA512 90754d2262651190169abe4eb3e0176c9957f4f76a72301f7b8d7040bafc65fc7118ae61dde6498da4e855f907edea9177df78d38ed514e1f665ed84d021e87a
+DIST firefox-57.0.4-gu-IN.xpi 511990 BLAKE2B c0310ff22cb731fc6cfe83bf077c3f04d5d5d35a87ea094bb49997c3c3df45b06a7e8a3d91c7736573b4f3ecb9cff6e4da8349383003894f0ec8c35c2e5d55e8 SHA512 89a19cff9bcbef3cec925a6fc3c198aff02657bafcc0723751bfc714b5afbb25d510679ac6f6086d994342a8b588752b043b05223cb58d347ca2083298b98386
+DIST firefox-57.0.4-he.xpi 471921 BLAKE2B cdc099391d6e7e5b9198774155670ab8ea906f42470b0f355c3200d12a71bdf0fd3189cd86c17578d2ba13ce67a3f8fc972eca3672a860f65a9a171e068645c1 SHA512 1dacb313cca1e75fc76c124a766acb0943191b573640ad6e306b83993fcc232ec522314f81de14bf376c5bae0e6126a1c666f90d9dbd95ff6f1f31c67d5db316
+DIST firefox-57.0.4-hi-IN.xpi 526111 BLAKE2B 406959069a984d22e1f185c23cb65b3279e8fc4635153b7c70cbf11a76f77ce326506f1ab65513b7e54b64930d81fdaf02b2e0b0fc3ff76b91e74a721adeee4a SHA512 81e40459cfc7056a4538de41daf9403f67331279e795a180c2bcdb61b1e40e0158e82d9c0d161d0ddd7352492f84dfd42f5f4116461a125aebf3a235225994a1
+DIST firefox-57.0.4-hr.xpi 460722 BLAKE2B 930d7a485e005924d1aeb4625448533b08cf82803c0c5c96333d012c7876faac380ee0aa56a0f5afb757119ad27e998c50363d5a942b42d8f845e9b564a557a5 SHA512 c41ee4272fe6b228baf6a1aa017b28c28211c7136c01777b105d9e17da75f57e12b24784e4b9ef2e64a6e3fc5eca826dfd98eb8c5a17fb435324db5a6689df42
+DIST firefox-57.0.4-hsb.xpi 476505 BLAKE2B b6f736a47fdd9338e002005490ac8b1ec0fc4a42b8dda4d153cc060213bcf1fe90e5322201b4ed05aaf7aa36a2f2cc0ac48371573f0b7b53d0ffabca4c14c338 SHA512 b266d38bb640169d996eeed588acb8254ccabb8d4e28e61122db9af251b8ccf98f5935470e27cf2368e8654a128648d63b5330030a990ac82d3ae400bd133ba5
+DIST firefox-57.0.4-hu.xpi 476607 BLAKE2B e90b618878eda7c5fd9f124e4dd7fcf13d63a1aa439b5df44b4dea18ff5f8e980197d4d93059e0af28a95dfdb00004f9d3113f14e0da148d1b475c17273dd3af SHA512 9e8f31c4e618baf20b66ca22e6384eead80053bea72eb181e0e3452904d3c877fefa0273f66cdca84b979930c83a3c65161be336fbeae78442af1690f6102602
+DIST firefox-57.0.4-hy-AM.xpi 510825 BLAKE2B 9a6ae90e9f3a9abda9df78f3525d8e0010945e7811be8b075d3e84819f53265dd639c8d5762c87cc8008a919a3506a4cb114178e97e41f91656deb6ce0d82a8d SHA512 6804c1fd521e060ebeba06b968ecae455d59bd846c2ca9d86316f1100f59fa2a98973067c7d46cebded4f1103111712ee7c4a22b344d7ddcdabb0e5ee8b863b9
+DIST firefox-57.0.4-id.xpi 444041 BLAKE2B 68ec0ec9ccc78edb006c428dfdc6b40009dac3a3ada47689b33fe657f6f5ba094fd02de3bdbb1c22f2ea4e7c2fe39397dfe7fc83faf1253dc2a627ea8ba9e0ff SHA512 981b97f7ac720ed7d869cb1fb00854b35bbf4df8d83c05f0c92adfc47dc2fc942285519b32b2a8f39ddc0ce69d8b1480cdffb02843feda519b728e1b614c2686
+DIST firefox-57.0.4-is.xpi 452660 BLAKE2B f46573fe2d804f265da5efd579b7b5ea7381f1b8adf870993c68f5452a3535dce6a001f911df582e21b9e014f7bfa0ab469b2621286362965ec1dd93a8554928 SHA512 0fc415fc733e47949729697d95535b6c91703e627c0f41153d09f87ef4c4add103027b639b41eb00f6a2d22061dd9cb520d2a4add9d55f5fe93a996eb807db4b
+DIST firefox-57.0.4-it.xpi 347172 BLAKE2B e6dba45e4e3d3f244bf509085139b2d2c26ed92a1609dcdd97709faca2bc26ab90c3c0ce0fac43468169b5cd7f77a2f83f031452739264ca9cec7cb2aa7914c9 SHA512 5bc30a0c97408de828229e920f2a088412790d8dbd6fedf337494f9623999af15d57951cb0fe97fe5071be67effb662f4c82067d2833ce1de23981ac9d929a78
+DIST firefox-57.0.4-ja.xpi 508553 BLAKE2B 51894be6073e4a8622b5f6630c6dfffc37df895c1595e0992636f78b97dd8c3334450352f3efcc395fcd09b8158f8a387cdba652d5bbd0619393ac1d95128fab SHA512 8aa7dd80ecefc7cff2a2f930b5aa903a907e0c17aebc63fdf457e5e838c2479993d13906f8112e8b6d8df9d1a62e9853388b9460ddbb96638bf5264c3912bba2
+DIST firefox-57.0.4-ka.xpi 492356 BLAKE2B 4c18b67f96695b6b64665c07dcce3ccec6c0f6553bdc739fd4002aa963463c244667e510b6a8c1ff903bf149b01558cd3b6af0d6f68d12ef42e7d9cc0d310fbe SHA512 c88cbc3d19e2c358db74fdd2acd0e6274c8dec0eb0ba0acdef51938738265e4283504ff8396471ed11bbfaf605b3cc6f6728a6f55669d0c30c165b62b046d78e
+DIST firefox-57.0.4-kab.xpi 462530 BLAKE2B ac9a6dbdd29cfcc1db4cc473c85b0bb8a757300e02fd495cb818b963733a0dba041597027ae71aa1f97580843cebe13360c0bc33cf1360c3234227430aa04195 SHA512 951d3b59dee6fe395ca260f5b045a942d94da78eadc8e046c829e82f0e44c8b0c946b9a978aad3173fd3329ff6789f80c2312efaac03b66a25689ff0a55edd66
+DIST firefox-57.0.4-kk.xpi 519249 BLAKE2B 3bbcf59f0e6c490ab43767e56ab0d1296cc6ac9523a19743ae921a510378759fb67b885acc5f69bb5ba097e7576627d0c0ba73584eb52aa1bd9258735a4d386f SHA512 310499dd4b4a0adf4c343c677dbfee0f785e3fa1d4b13233a2a481560100297d10ace69ea4af75d9969ac1d3abd3595f644c294ed68a7909c98e120f4c2fdef4
+DIST firefox-57.0.4-km.xpi 530080 BLAKE2B 599df570289bc2ac7b0bd23b259956c1a4fe4549db27bafd09726ad55792b78841b662ae45b33c4aca0e76df2af364bd58c92ea7758bcbe7396d5dc2af505601 SHA512 0f78768601310879311654ec772dafeb3059ff8ffe5302ff20c7f4fcad3c624c6690a5d38024dc8f1fcf3e57957708cde73226bff1bfa1713b81903340eaf95f
+DIST firefox-57.0.4-kn.xpi 531316 BLAKE2B 98a06d0c99c5879391965242661d19ee1eb3930985fcd6aa42c5edd47fcdecd0afad443da36bfbe0eafcd32a37a36fd3c7b2a2af4dc06a6eabcc833a222af0b0 SHA512 99d274f0744455161da15f9fd127e8657a5c462bf3b28da5852b9bf361a254dcdc9b1a986571be95c4136b9a0c6b4ad3cbc5ef604431b2e07b3fbdc726a1f25b
+DIST firefox-57.0.4-ko.xpi 487305 BLAKE2B e4bd68dead6605fb1aa19c2dc621461250500814ea5e70fdbec8e252958b825e43d116faebf430426a47b9b5ae1b92d9586d49964f78acb5033f4cc1d8402344 SHA512 5eed124675c4f93aa172acb2aceaecd6300ee7d4a0021a16cd9e551247c5b0b120271f70aeab5e5dc9e2850f9e90e4a7ccfb59415e6eac11be0ec3a3594c8813
+DIST firefox-57.0.4-lij.xpi 452343 BLAKE2B 37e793307a4d016f61e12a8cde726d4a7be983cb4654cef76a3f892ed1a612a6fd5015527197582ef0c0527c35a45a6f09f13fe180dfda1c1dff2a5d09d4ef0a SHA512 593bd319c04bcc7785deaba36519c75ddb830987994aec8da9b9e5f74b8a37df2c52bdd1436955e085a7fdf169d18974abe229070eafe93b74aa866c8eb1f706
+DIST firefox-57.0.4-lt.xpi 474957 BLAKE2B ff24d8709812311dee857b18c0988294cea77c4050d51bf7b0415bd52d96a038e575080c1eca8c1f195be58be3bc4fe0542886de1e035182de716ba79dc823f1 SHA512 309ec6f41d3872c3c7be88e4b38a708c5747d90c39ec395bd038d73e4987a18afeea28b9739b7529a09e4288a5a9269623c7f6b32fd5805b8515a5ce40248d57
+DIST firefox-57.0.4-lv.xpi 465243 BLAKE2B ca0e5c4257a23f64db5f68da047996ef0e8f21bd9ee2fc7dfd097f7983fb102f7b303cd3c254a812c0580d83e136ac8746d2134249345ea296569d57a0a701b6 SHA512 ae0077dbda67ee887af820865c2d6958866f7849a9dcdb43dad50c67ea45f10eb09a401ea5a247d21c97da9677754c52b0a82d47caef2aa048b3b7b23d46c364
+DIST firefox-57.0.4-mai.xpi 507396 BLAKE2B 3588b1e808d532c1c73f94414ed7678307b16f6c336971016d3aae4c7901297d4004cf28b1fb384a69dc7ec0c702080f1abbdb51da6be7c0aed996541ed8f3fe SHA512 d1e814a8519aedb86a60832fb2fcf3ef3571ca5fde918b83c1ca34d112ebd510f8dbdd2b1be29b69df36932ae1b5f35d4c4d758d6a71a6a0027e1af4cb066533
+DIST firefox-57.0.4-mk.xpi 490853 BLAKE2B 75442e650b4483c7b7d70e9ac69e7a48f353f2d2bae593ed32366322b512d2e7dd48600a29dd780bf1f189b4a8da8ca04b7ccbc7b20a2cd65cc95835e7a39624 SHA512 8b23ab30ce9d55b713307c1f11413a6aab0b39ff243fceecc8340405c9d4de09ce278e30296633520412f68f431ac2a8d9c64e75cd1dc4499c46bed81d64d48d
+DIST firefox-57.0.4-ml.xpi 528255 BLAKE2B 5afd13b9d0441a0ac6151fc18d57406d48cf6c1dbee695d75d52b2260236e1f07df0c48b6535de7cb49374d1e139ba00595aaab74290ce4a592e43181415b888 SHA512 d9b894e9c8f311eec019eca1f45ef23689e2a776804a521c7eee405e9e66fba4727630ef739d2271769b68e229fa5a3f0d5b7cc0d4fc334b244cdf4de865ad28
+DIST firefox-57.0.4-mr.xpi 521290 BLAKE2B 313f289b28cf4c2abf1103141f920c7129b02164fcd512c5992fe26c2f632cdd3a91b35725d1076efbf08afff2f3d02248dbd60f3354578a777c1cb93e402bb8 SHA512 e3e9634544c02ecf76f667af61b22b786e86b29acfe47dedcded71ba156c77295efefd0211bbdf9af68d6ef996fd5051971a180d3cdee82da65bf723ecaf5fd5
+DIST firefox-57.0.4-ms.xpi 451255 BLAKE2B dbe75e93d6b11e8b6a57b94649cc02a26b5a665403868842335216a89eace74b2b7fba9089c50c352d4c732381edd9003f8326c6f3a093822b0116361e6ca26e SHA512 c7027e291ff99a78bb1680975d748e53e2bffa28b9ba0fc90ad2d84fda16e67a67c19239b794166cdc048d509a225ced7c91b2e758ead4ba0fd74b9215edd31a
+DIST firefox-57.0.4-nb-NO.xpi 451557 BLAKE2B 7e6155e3f24df1ea68a1f1d367fcbafdf22d786b716c66583e4d26c9b0b61171cbe6ef67b8c77c99501d59742ec6f417c7bc6939309d5f3ce93025fa971fcceb SHA512 17757897dbe7428cdba5d75de349770d63c8807cb78b0955e93159d968e220048ca977be222af7bad1d480b15f60386fad443fbb14bd277eecc4573c040c495b
+DIST firefox-57.0.4-nl.xpi 458319 BLAKE2B aeb53483951ef37459b09e1e7b983bfe7151249420c28385e13d2439d47f0d9cd0cfe3471803140ecbb711ab58ed6ed19c5b17f203b80cda2c708499d6db815a SHA512 f8dc480a35bd2784966d949321f4b79ab410fb0d4625c2e445fec836b890e463a3260fb96c9c7746e595be14332231ee046eb6beddd2c31a0b2495b666a76125
+DIST firefox-57.0.4-nn-NO.xpi 452004 BLAKE2B 7bc8d32e0934eb4cdc595b3e486d185889401253f5e53cb277f323ee233b4e45f4097cedffdce0db768790aed05d3aa84ae36947fe42aebc3df648770dbe2336 SHA512 552ce12168938e26f96f1148fb2273a44769db329018e7971a6c7da40ddabebb59efed7068cbff55ec624d5131e89e51fb8442e35fa2bb12602bcd040cababcb
+DIST firefox-57.0.4-or.xpi 500867 BLAKE2B 4aa44d4d3a379157af063e833c31bf71aecce6fa7fcd283c126b7b1d0df484279f4e23fa49264b32782aa32b5a78f2068bc71163597b4b9350c5b8a823a24975 SHA512 e44e8ff836a4b5fcded054d1d3b709b0abc73b198dec3e69e6d49e6046be78e463526ca269760a5be22bd49e2cdb4dd85c37dce880394dae1cd6d5d59cfd1ac6
+DIST firefox-57.0.4-pa-IN.xpi 495272 BLAKE2B 96ee15e1808ef9d7eb1772932f5e8f1fb314479ffbe35788a2fd0e0efbe7901e8e6ffe8a28baf6aed67e6dd6c849a42a9a002e42decf23e1dc9e68bc53e36c27 SHA512 5d50c845c71b387021dfa3921462c87c7c6bba09d3411813481684dc4d7a04544f0aa22874a2f714244b2dd3b4a124755897083dee9b4921b26d3373f57bfb33
+DIST firefox-57.0.4-pl.xpi 364230 BLAKE2B 1d69a9e51d95e21a6983337c3273c50bcd788b2c30423b90205fe734413d9e3d8c49de525acce11516dc8917d41d028ae685766bbb2dc6e1e26ce5e60f26440c SHA512 2ae924345df868ffac6a7f0ae17afdea57cbc8d32ba9dc46b978709cc8a092c62bcf091a4057402b00eeb713eeafee5092e40ce63e1f920da41a4a2eab172f48
+DIST firefox-57.0.4-pt-BR.xpi 457154 BLAKE2B a8ba9341e3c865e37e2051fdbb2d02c73c2ba44fbde5faea588404df5aa44fb7ca5ca435f10433f0db5d33c0945762f0cb1d5b1140aff4e8a902880651db1d66 SHA512 75d1be94f2a1f9a4abc485380ce61fde5ec9df796e9515eb521c42976063b4d91fec3874f27dd124fcf44102cde7b3d9f877020e537fb7cbc26979a8db976d86
+DIST firefox-57.0.4-pt-PT.xpi 460000 BLAKE2B 5caa0dc54f5b60cb831b49251b9bbc88eb2dcb26106891e6e59691685c8f5038e3523f9f5c08e3dc9ff1132b2442cbb254321052a98eda1232811f8fa221e66a SHA512 bbc851c4853d5bb77a4d9585e6279965cba82839386b3f55d8bdcf65332d9828243a21f4f3e358d383fec8dbe10ce11c62bc936b301b00ed1fff6648c6506591
+DIST firefox-57.0.4-rm.xpi 451059 BLAKE2B 17d9507ea448228a367bf065bffe640e94d0df4ad75667c0c2b8fff99fed8e6f0b49090e5ad5608d76db61457661f3d86cfcaa99d2a183e33073e7f8713a7a78 SHA512 7fee0fb1fa6f26075b9c29a7bc79d4fe09963eb244d1ef4317cbba4e2d8367baab4da3ca812574f44d37ea257a15a8528a8cda0fe03fe2305cbf93d14e5809eb
+DIST firefox-57.0.4-ro.xpi 455510 BLAKE2B 882ab35bf09e7413a90486fc115657009e89287ab41d8ecb83820d191a2442ba7a15b0ebca988c94a65e62e2d052084af07708963b1495ba4fffd228b2dc400e SHA512 29a499bdfb50e9d1a1d28e5b8cd45aca8333b5145570ebb6fa63c37b917785e23e626473e80d3ab1780ecccc5fe6f2e594b2ba576d65f31346fbfb7f64fec631
+DIST firefox-57.0.4-ru.xpi 527005 BLAKE2B 8f82d20d03ef9f55792d9b58f32ebe5f744165b071cd7e048dbb1c1fb489afa106e32a82656b357970b19523f4f65d78f113cf10a54a4ca05d7d8fa667ccf83c SHA512 e82bdd36d217a818653f429f4c1076c61b5b09faa2cbcb9156a8acc96bb8a420846657fdebeace6056619b9f2c052d197db0e5ec0e03c970ea312cd0c4a275a3
+DIST firefox-57.0.4-si.xpi 498324 BLAKE2B 879aa89cc3f69003349ebf87ef343f1f0bde284d90dd83948351f7b8169c0e03999efc43a2287bba48059f06fe1fde771b9399235a479eca22ad38a3e3aed63f SHA512 d215de76cacb3bae708aeb1e60d965f8218c38ed31acbcb711bb381e2d34d1aad5a080b3717fb1990d58e6070bad1d6f98c5bc41a78a54f0562c86e1e9fa6a00
+DIST firefox-57.0.4-sk.xpi 480397 BLAKE2B 69501dc40a9ede034b10a051d201948a8675e500c82e8202889a3297b48fd6f62515ab3e2562f96aebfa98c63f275f50872a51aeda35f7f2e7e18b1ea74971ef SHA512 6f7948573c782e79e1d8a47b2f3c43ba6d4ea8a517447086f3c934975e8575515a57c5f8f6553009c906fb32087bf12163744c5f5c5c50f95c714e1656339114
+DIST firefox-57.0.4-sl.xpi 459377 BLAKE2B e58534fb7c47430073d48b5fd8431fd35e8d99fae4568379e5a20834277dfca374c0585fadaabe5aaafc218781c5e3dba01413b11df250024a9ab5527097e454 SHA512 d32ef8fa4227885e7f416afd03bd18d788c279b489e08d6f97913bc7dbd9535d52dc773f4cde69554bb6dceac425ac992da45136b1da9bcb73455ee4db9920c1
+DIST firefox-57.0.4-son.xpi 450930 BLAKE2B fad4254c4feb685a38ca2b95c0fbd229a2af86e7a521cad99e67d81ce994e75b6e5b9aa0bb3cae820f0214b5177bb8db690557a0df09e79fef505d8e5e2555d0 SHA512 dfc9ffb20eabf418fbfa23ce120a6d7c54eb26046e4e68f4303a24b93357c848e2a8cd8ffe3f71638c1ac456d1d9054aa3dd7885aa6f00f1afe87d47837e34d6
+DIST firefox-57.0.4-sq.xpi 465051 BLAKE2B dad5f12062a565327c800cd26925ac638aa6405514a69edd2e2b624f7155812976e41e85d56d6b5531aa6779a1172456ea5c07ab9f772188e8bc2826688a88d7 SHA512 8b5b8bf94b72a6792b93dfae2274514a02565a4aa64f8bb38c6dc43e72b723f973b298ff32809fde22f6c7c67e339ed0f467c180f62b382bcf708ded421a46c2
+DIST firefox-57.0.4-sr.xpi 487004 BLAKE2B fa3117646d1e746ba08f8c8745cedd9352174591f86d952e654a984075d2e872c4c0523a7253548ce5ea8279b2a7589c058dc7b2fa12d0fc3635aa6c0364f696 SHA512 0106c97c201313d5eae54d1d76f317942ab8e09b3e9bfd278d6f5309427b139c9252d81656b923f1ed86e31f012b8da4eebd348dc54564ed67ed3f3dad815336
+DIST firefox-57.0.4-sv-SE.xpi 459665 BLAKE2B e19c4d58723c7fcfc21d769dc98ef83404b318de257c4e9fd9cd95145f125c935b3947868c3f1e5fde9145df92a6862c4f1c3a725658d44f400bd61175a92176 SHA512 8034976918ef1b77753e6e7106f03aca3c76944d7bd56b0e99a5411e0661c5ab6e380e52d5a14c8dacdc4a20d6b2477684d6ac27fe9e8a8199cf09a652b8a512
+DIST firefox-57.0.4-ta.xpi 513228 BLAKE2B 408600f794c9368ce08b3d4f85625137eae000f2761fd6d92a2d98ff74ad4b12ed2684b795d1dc953c25c58eaf859132be855ed44deaa155dd580cbbe82d773c SHA512 34d91119facf80b12dcf5fbac51989f46fec1fa4c752ab705e693aa38bbf841fc82ff272b47f972ef69bd4740a0d9a68825b3aa38487d4197128525333d89496
+DIST firefox-57.0.4-te.xpi 530693 BLAKE2B 258d7aa206125c441bb797351647440b0fab7924f299041fdfec7e1b492a94044c7529ad44bfcb67711149248419e0f0047cb14e9594749be616e38616fc4e2a SHA512 baed8762b874ab3bbe80d2361d8fc88bfe4424c22c6be86027439ca8b4b47f09188ca06fce2cba033d27ccdca51c122ce6006ec8706ec51a098a4192d14836c9
+DIST firefox-57.0.4-th.xpi 502452 BLAKE2B 4262657b4ac1f5bcfa01286941be8eefaf9c9448335a0be7d617a35896182be9098287cd72ec5a16a162a11f5b8a938e07c27985d13cbda07d169cb43b78f8ab SHA512 c4275d18ec42bcc9821b8e422f3f32664aea515f8b8e73a93c812905ae962268876554178db5fb82dc810d2fc388478465fe25ca7e1ff40dbc0bacc33ca6511d
+DIST firefox-57.0.4-tr.xpi 465581 BLAKE2B 7f107f1bb0d51bcd8a5f97e42572148306b4448d21ea885986e4d82c64711079f13c9c8abc57d1e1832f9721a9f07ab40038ee80c69fed49d9a903a0123572d0 SHA512 70c9f17bc34cbc2991fb5d3ff182a73aeabc0334b30af4b623aa392c464e8cd8297d93d0f167015063fc38ad26f80f062683a4a0a992e08d098b199ae57fe7d5
+DIST firefox-57.0.4-uk.xpi 518138 BLAKE2B e3ce7369317c2dcab61136ef1192fcddc00804e01d1b6845a48b48cc83f525d3fabe62b1f94a03e477634a33ada3feb58c2ce3614977be2cc38a0ea12d226508 SHA512 ab9cd22fb4a3996b7b57b7257c34ce64f20de2b734422b9d0303c9f80413a417adb3a16ec7911805fc6b028e74e655dd8437d6c803e7d9598c9b772702b0bbc2
+DIST firefox-57.0.4-uz.xpi 461694 BLAKE2B 99e239e4c5d9c1cc4540016fb5017fbaf3b0d07b976d71572d5f72383e1cbb3bc6467185f9a027c93153a861481ffdf68812cb40198008096cb716bf8fae2d86 SHA512 bc5e0109820267f5dedd46ba8522927bf081af44cd9edbf8806b04c24cd77434ed3f78b67e0b5ffea295ec42482f6251b2f43a7929b68eb04ca71fd7cb543dd4
+DIST firefox-57.0.4-vi.xpi 471320 BLAKE2B 1ff981f26985f32597d38d232f19d1b2c6f539a09bf3a9c993bd93633929a41f09aedf1fd2c9451fc452ea5c49ec6e8601ed18a2c720a8dffe722fff20502ee6 SHA512 184dedfe8a676f2409cb4c3ce45bb52ef1f952cda4bfb0a5cc0594bbf633c4c96f61b40eea5bbd6ab161b552928e1cee4f8c3d544e10edc38a3d6396e0da62fb
+DIST firefox-57.0.4-xh.xpi 464461 BLAKE2B ae75465ca965ba116999294563697d2b88b9a07734c41e6a1c6e38aa5192c46b1ed109e065ad01053017b8ba1a333bbd116a740afe526246680769e2970fe554 SHA512 cab336c5081974348341db82dbb053719bdc3f2547e8840c9e139afb8ebfefcc596c26ce692612b7d548429624e8a68973ff81fbdfe3a89764bd209957fc2199
+DIST firefox-57.0.4-zh-CN.xpi 483625 BLAKE2B 56f04e4b8a4f2aaebc33522ba422ff23d482f22008e10375455df480ef8e42e0d0d3ac618dcb84c362acaa750fc9f956c58914acef8bec553055632a7fe6d280 SHA512 4031b88d2fba17360abba9cc0cd4c88ca3d98a1a073bc94626c104559c993b3503a138cddb97ca285c6bdd231710dd60abafa8fdfb0e34fcbfaa1a55fd6fe86f
+DIST firefox-57.0.4-zh-TW.xpi 482348 BLAKE2B ca6cb3452682c0f5770660da22a77ec885e371fb6ab37276050d4fb506aac7e1f2c29f3b61e8adc76471e57b1299d565e7f19fb500e28ddf68d4683c8fc0357c SHA512 682316318346cb358dabd038815c94149e80d00d639ce5ede1952ac5b712165a7bc6e2b7ee33a79817915063ce5a02f595f85496e91fc1e172d1286453034f0f
+DIST firefox-57.0.4.source.tar.xz 250217612 BLAKE2B 59ccf9c52d3af0888e13996dba74555ccffd92949d708c09d594703cc7acc953c6608cab7895f974a61af01b56f946fa60bbb0c4a89363d472c530d6164e9395 SHA512 58846037aebbf14b85e6b3a46dbe617c780c6916e437ea4ee32a2502a6b55e3689921a0be28b920dedf2f966195df04ac8e45411caeb2601a168ec08b4827cf0
diff --git a/www-client/firefox/files/firefox-57.0-pkcs11-backport.patch b/www-client/firefox/files/firefox-57.0-pkcs11-backport.patch
new file mode 100644
index 000000000000..c07d185f9157
--- /dev/null
+++ b/www-client/firefox/files/firefox-57.0-pkcs11-backport.patch
@@ -0,0 +1,529 @@
+
+# HG changeset patch
+# User Wouter Verhelst <wouter.verhelst@fedict.be>
+# Date 1503417578 -7200
+# Node ID 22374473d24f4b4877e50f0b49da3174a70f79ab
+# Parent fcb1865dca35554b6d8e9afe017bc7b74c413c72
+Bug 1357391 - Implement a PKCS#11 management API r=kmag,zombie
+
+This WebExtensions API allows to install, remove, and query installed
+PKCS#11 modules as well as to query the the status of available PKCS#11
+"slots" for a given module.
+
+Reuses the native application manifests from the "Native Messaging" API,
+but using the "pkcs11" type rather than the "stdio" type.
+
+All calls expect an application name, which is not the PKCS#11 friendly
+name (the "description" field in the manifest file is used for that) but
+instead the application name in the manifest file.
+
+MozReview-Commit-ID: 8dHr5QfEaXv
+
+diff --git a/browser/components/extensions/ext-browser.json b/browser/components/extensions/ext-browser.json
+--- a/browser/components/extensions/ext-browser.json
++++ b/browser/components/extensions/ext-browser.json
+@@ -117,16 +117,24 @@
+ "url": "chrome://browser/content/ext-pageAction.js",
+ "schema": "chrome://browser/content/schemas/page_action.json",
+ "scopes": ["addon_parent"],
+ "manifest": ["page_action"],
+ "paths": [
+ ["pageAction"]
+ ]
+ },
++ "pkcs11": {
++ "url": "chrome://browser/content/ext-pkcs11.js",
++ "schema": "chrome://browser/content/schemas/pkcs11.json",
++ "scopes": ["addon_parent"],
++ "paths": [
++ ["pkcs11"]
++ ]
++ },
+ "geckoProfiler": {
+ "url": "chrome://browser/content/ext-geckoProfiler.js",
+ "schema": "chrome://browser/content/schemas/geckoProfiler.json",
+ "scopes": ["addon_parent"],
+ "paths": [
+ ["geckoProfiler"]
+ ]
+ },
+diff --git a/browser/components/extensions/ext-pkcs11.js b/browser/components/extensions/ext-pkcs11.js
+new file mode 100644
+--- /dev/null
++++ b/browser/components/extensions/ext-pkcs11.js
+@@ -0,0 +1,145 @@
++"use strict";
++
++XPCOMUtils.defineLazyModuleGetters(this, {
++ ctypes: "resource://gre/modules/ctypes.jsm",
++ NativeManifests: "resource://gre/modules/NativeManifests.jsm",
++ OS: "resource://gre/modules/osfile.jsm",
++});
++
++XPCOMUtils.defineLazyServiceGetter(this,
++ "pkcs11db",
++ "@mozilla.org/security/pkcs11moduledb;1",
++ "nsIPKCS11ModuleDB");
++
++var {DefaultMap} = ExtensionUtils;
++
++const findModuleByPath = function(path) {
++ let modules = pkcs11db.listModules();
++ for (let module of XPCOMUtils.IterSimpleEnumerator(modules, Ci.nsIPKCS11Module)) {
++ if (module && module.libName === path) {
++ return module;
++ }
++ }
++ return null;
++};
++
++this.pkcs11 = class extends ExtensionAPI {
++ getAPI(context) {
++ let manifestCache = new DefaultMap(async name => {
++ let hostInfo = await NativeManifests.lookupManifest("pkcs11", name, context);
++ if (hostInfo) {
++ if (AppConstants.platform === "win") {
++ hostInfo.manifest.path = OS.Path.join(OS.Path.dirname(hostInfo.path), hostInfo.manifest.path);
++ }
++ let manifestLib = OS.Path.basename(hostInfo.manifest.path);
++ if (AppConstants.platform !== "linux") {
++ manifestLib = manifestLib.toLowerCase(manifestLib);
++ }
++ if (manifestLib !== ctypes.libraryName("nssckbi")) {
++ return hostInfo.manifest;
++ }
++ }
++ return Promise.reject({message: `No such PKCS#11 module ${name}`});
++ });
++ return {
++ pkcs11: {
++ /**
++ * Verify whether a given PKCS#11 module is installed.
++ *
++ * @param {string} name The name of the module, as specified in
++ * the manifest file.
++ * @returns {Promise} A Promise that resolves to true if the package
++ * is installed, or false if it is not. May be
++ * rejected if the module could not be found.
++ */
++ async isModuleInstalled(name) {
++ let manifest = await manifestCache.get(name);
++ return findModuleByPath(manifest.path) !== null;
++ },
++ /**
++ * Install a PKCS#11 module
++ *
++ * @param {string} name The name of the module, as specified in
++ * the manifest file.
++ * @param {integer} [flags = 0] Any flags to be passed on to the
++ * nsIPKCS11ModuleDB.addModule method
++ * @returns {Promise} When the Promise resolves, the module will have
++ * been installed. When it is rejected, the module
++ * either is already installed or could not be
++ * installed for some reason.
++ */
++ async installModule(name, flags = 0) {
++ let manifest = await manifestCache.get(name);
++ if (!manifest.description) {
++ return Promise.reject({message: `The description field in the manifest for PKCS#11 module ${name} must have a value`});
++ }
++ pkcs11db.addModule(manifest.description, manifest.path, flags, 0);
++ },
++ /**
++ * Uninstall a PKCS#11 module
++ *
++ * @param {string} name The name of the module, as specified in
++ * the manifest file.
++ * @returns {Promise}. When the Promise resolves, the module will have
++ * been uninstalled. When it is rejected, the
++ * module either was not installed or could not be
++ * uninstalled for some reason.
++ */
++ async uninstallModule(name) {
++ let manifest = await manifestCache.get(name);
++ let module = findModuleByPath(manifest.path);
++ if (!module) {
++ return Promise.reject({message: `The PKCS#11 module ${name} is not loaded`});
++ }
++ pkcs11db.deleteModule(module.name);
++ },
++ /**
++ * Get a list of slots for a given PKCS#11 module, with
++ * information on the token (if any) in the slot.
++ *
++ * The PKCS#11 standard defines slots as an abstract concept
++ * that may or may not have at most one token. In practice, when
++ * using PKCS#11 for smartcards (the most likely use case of
++ * PKCS#11 for Firefox), a slot corresponds to a cardreader, and
++ * a token corresponds to a card.
++ *
++ * @param {string} name The name of the PKCS#11 module, as
++ * specified in the manifest file.
++ * @returns {Promise} A promise that resolves to an array of objects
++ * with two properties. The `name` object contains
++ * the name of the slot; the `token` object is null
++ * if there is no token in the slot, or is an object
++ * describing various properties of the token if
++ * there is.
++ */
++ async getModuleSlots(name) {
++ let manifest = await manifestCache.get(name);
++ let module = findModuleByPath(manifest.path);
++ if (!module) {
++ return Promise.reject({message: `The module ${name} is not installed`});
++ }
++ let rv = [];
++ for (let slot of XPCOMUtils.IterSimpleEnumerator(module.listSlots(), Ci.nsIPKCS11Slot)) {
++ let token = slot.getToken();
++ let slotobj = {
++ name: slot.name,
++ token: null,
++ };
++ if (slot.status != 1 /* SLOT_NOT_PRESENT */) {
++ slotobj.token = {
++ name: token.tokenName,
++ manufacturer: token.tokenManID,
++ HWVersion: token.tokenHWVersion,
++ FWVersion: token.tokenFWVersion,
++ serial: token.tokenSerialNumber,
++ isLoggedIn: token.isLoggedIn(),
++ };
++ }
++ rv.push(slotobj);
++ }
++ return rv;
++ },
++ },
++ };
++ }
++};
+diff --git a/browser/components/extensions/jar.mn b/browser/components/extensions/jar.mn
+--- a/browser/components/extensions/jar.mn
++++ b/browser/components/extensions/jar.mn
+@@ -24,16 +24,17 @@ browser.jar:
+ content/browser/ext-devtools-network.js
+ content/browser/ext-devtools-panels.js
+ content/browser/ext-find.js
+ content/browser/ext-geckoProfiler.js
+ content/browser/ext-history.js
+ content/browser/ext-menus.js
+ content/browser/ext-omnibox.js
+ content/browser/ext-pageAction.js
++ content/browser/ext-pkcs11.js
+ content/browser/ext-sessions.js
+ content/browser/ext-sidebarAction.js
+ content/browser/ext-tabs.js
+ content/browser/ext-url-overrides.js
+ content/browser/ext-windows.js
+ content/browser/ext-c-browser.js
+ content/browser/ext-c-devtools-inspectedWindow.js
+ content/browser/ext-c-devtools-panels.js
+diff --git a/browser/components/extensions/schemas/jar.mn b/browser/components/extensions/schemas/jar.mn
+--- a/browser/components/extensions/schemas/jar.mn
++++ b/browser/components/extensions/schemas/jar.mn
+@@ -14,13 +14,14 @@ browser.jar:
+ content/browser/schemas/devtools_panels.json
+ content/browser/schemas/find.json
+ content/browser/schemas/geckoProfiler.json
+ content/browser/schemas/history.json
+ content/browser/schemas/menus.json
+ content/browser/schemas/menus_internal.json
+ content/browser/schemas/omnibox.json
+ content/browser/schemas/page_action.json
++ content/browser/schemas/pkcs11.json
+ content/browser/schemas/sessions.json
+ content/browser/schemas/sidebar_action.json
+ content/browser/schemas/tabs.json
+ content/browser/schemas/url_overrides.json
+ content/browser/schemas/windows.json
+diff --git a/browser/components/extensions/schemas/pkcs11.json b/browser/components/extensions/schemas/pkcs11.json
+new file mode 100644
+--- /dev/null
++++ b/browser/components/extensions/schemas/pkcs11.json
+@@ -0,0 +1,76 @@
++[
++ {
++ "namespace": "manifest",
++ "types": [
++ {
++ "$extend": "Permission",
++ "choices": [{
++ "type": "string",
++ "enum": [
++ "pkcs11"
++ ]
++ }]
++ }
++ ]
++ },
++ {
++ "namespace": "pkcs11",
++ "description": "PKCS#11 module management API",
++ "permissions": ["pkcs11"],
++ "functions": [
++ {
++ "name": "isModuleInstalled",
++ "type": "function",
++ "description": "checks whether a PKCS#11 module, given by name, is installed",
++ "async": true,
++ "parameters": [
++ {
++ "name": "name",
++ "type": "string"
++ }
++ ]
++ },
++ {
++ "name": "installModule",
++ "type": "function",
++ "description": "Install a PKCS#11 module with a given name",
++ "async": true,
++ "parameters": [
++ {
++ "name": "name",
++ "type": "string"
++ },
++ {
++ "name": "flags",
++ "type": "integer",
++ "optional": true
++ }
++ ]
++ },
++ {
++ "name": "uninstallModule",
++ "type": "function",
++ "description": "Remove an installed PKCS#11 module from firefox",
++ "async": true,
++ "parameters": [
++ {
++ "name": "name",
++ "type": "string"
++ }
++ ]
++ },
++ {
++ "name": "getModuleSlots",
++ "type": "function",
++ "description": "Enumerate a module's slots, each with their name and whether a token is present",
++ "async": true,
++ "parameters": [
++ {
++ "name": "name",
++ "type": "string"
++ }
++ ]
++ }
++ ]
++ }
++]
+diff --git a/browser/components/extensions/test/xpcshell/test_ext_pkcs11_management.js b/browser/components/extensions/test/xpcshell/test_ext_pkcs11_management.js
+new file mode 100644
+--- /dev/null
++++ b/browser/components/extensions/test/xpcshell/test_ext_pkcs11_management.js
+@@ -0,0 +1,168 @@
++"use strict";
++
++XPCOMUtils.defineLazyModuleGetters(this, {
++ ctypes: "resource://gre/modules/ctypes.jsm",
++ MockRegistry: "resource://testing-common/MockRegistry.jsm",
++ OS: "resource://gre/modules/osfile.jsm",
++});
++
++do_get_profile();
++let tmpDir = FileUtils.getDir("TmpD", ["PKCS11"]);
++let slug = AppConstants.platform === "linux" ? "pkcs11-modules" : "PKCS11Modules";
++tmpDir.createUnique(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
++let baseDir = OS.Path.join(tmpDir.path, slug);
++OS.File.makeDir(baseDir);
++
++do_register_cleanup(() => {
++ tmpDir.remove(true);
++});
++
++function getPath(filename) {
++ return OS.Path.join(baseDir, filename);
++}
++
++const testmodule = "../../../../../security/manager/ssl/tests/unit/pkcs11testmodule/" + ctypes.libraryName("pkcs11testmodule");
++
++// This function was inspired by the native messaging test under
++// toolkit/components/extensions
++
++async function setupManifests(modules) {
++ async function writeManifest(module) {
++ let manifest = {
++ name: module.name,
++ description: module.description,
++ path: module.path,
++ type: "pkcs11",
++ allowed_extensions: [module.id],
++ };
++
++ let manifestPath = getPath(`${module.name}.json`);
++ await OS.File.writeAtomic(manifestPath, JSON.stringify(manifest));
++
++ return manifestPath;
++ }
++
++ switch (AppConstants.platform) {
++ case "macosx":
++ case "linux":
++ let dirProvider = {
++ getFile(property) {
++ if (property == "XREUserNativeManifests") {
++ return tmpDir.clone();
++ } else if (property == "XRESysNativeManifests") {
++ return tmpDir.clone();
++ }
++ return null;
++ },
++ };
++
++ Services.dirsvc.registerProvider(dirProvider);
++ do_register_cleanup(() => {
++ Services.dirsvc.unregisterProvider(dirProvider);
++ });
++
++ for (let module of modules) {
++ await writeManifest(module);
++ }
++ break;
++
++ case "win":
++ const REGKEY = String.raw`Software\Mozilla\PKCS11Modules`;
++
++ let registry = new MockRegistry();
++ do_register_cleanup(() => {
++ registry.shutdown();
++ });
++
++ for (let module of modules) {
++ if (!OS.Path.winIsAbsolute(module.path)) {
++ let cwd = await OS.File.getCurrentDirectory();
++ module.path = OS.Path.join(cwd, module.path);
++ }
++ let manifestPath = await writeManifest(module);
++ registry.setValue(Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER,
++ `${REGKEY}\\${module.name}`, "", manifestPath);
++ }
++ break;
++
++ default:
++ ok(false, `Loading of PKCS#11 modules is not supported on ${AppConstants.platform}`);
++ }
++}
++
++add_task(async function test_pkcs11() {
++ async function background() {
++ try {
++ let isInstalled = await browser.pkcs11.isModuleInstalled("testmodule");
++ browser.test.assertFalse(isInstalled, "PKCS#11 module is not installed before we install it");
++ await browser.pkcs11.installModule("testmodule", 0);
++ isInstalled = browser.pkcs11.isModuleInstalled("testmodule");
++ browser.test.assertTrue(isInstalled, "PKCS#11 module is installed after we install it");
++ let slots = await browser.pkcs11.getModuleSlots("testmodule");
++ browser.test.assertEq("Test PKCS11 Slot", slots[0].name, "The first slot name matches the expected name");
++ browser.test.assertEq("Test PKCS11 Slot 二", slots[1].name, "The second slot name matches the expected name");
++ browser.test.assertTrue(slots[1].token, "The second slot has a token");
++ browser.test.assertEq("Test PKCS11 Tokeñ 2 Label", slots[1].token.name, "The token name matches the expected name");
++ browser.test.assertEq("Test PKCS11 Manufacturer ID", slots[1].token.manufacturer, "The token manufacturer matches the expected manufacturer");
++ browser.test.assertEq("0.0", slots[1].token.HWVersion, "The token hardware version matches the expected version");
++ browser.test.assertEq("0.0", slots[1].token.FWVersion, "The token firmware version matches the expected version");
++ browser.test.assertEq("", slots[1].token.serial, "The token has no serial number");
++ browser.test.assertFalse(slots[1].token.isLoggedIn, "The token is not logged in");
++ await browser.pkcs11.uninstallModule("testmodule");
++ isInstalled = await browser.pkcs11.isModuleInstalled("testmodule");
++ browser.test.assertFalse(isInstalled, "PKCS#11 module is no longer installed after we uninstall it");
++ await browser.pkcs11.installModule("testmodule");
++ isInstalled = await browser.pkcs11.isModuleInstalled("testmodule");
++ browser.test.assertTrue(isInstalled, "Installing the PKCS#11 module without flags parameter succeeds");
++ await browser.pkcs11.uninstallModule("testmodule");
++ await browser.test.assertRejects(
++ browser.pkcs11.isModuleInstalled("nonexistingmodule"),
++ /No such PKCS#11 module nonexistingmodule/,
++ "We cannot access modules if no JSON file exists");
++ await browser.test.assertRejects(
++ browser.pkcs11.isModuleInstalled("othermodule"),
++ /No such PKCS#11 module othermodule/,
++ "We cannot access modules if we're not listed in the module's manifest file's allowed_extensions key");
++ await browser.test.assertRejects(
++ browser.pkcs11.uninstallModule("internalmodule"),
++ /No such PKCS#11 module internalmodule/,
++ "We cannot uninstall the NSS Builtin Roots Module");
++ browser.test.notifyPass("pkcs11");
++ } catch (e) {
++ browser.test.fail(`Error: ${String(e)} :: ${e.stack}`);
++ browser.test.notifyFail("pkcs11 failed");
++ }
++ }
++
++ await setupManifests([
++ {
++ name: "testmodule",
++ description: "PKCS#11 Test Module",
++ path: testmodule,
++ id: "pkcs11@tests.mozilla.org",
++ },
++ {
++ name: "othermodule",
++ description: "PKCS#11 Test Module",
++ path: testmodule,
++ id: "other@tests.mozilla.org",
++ },
++ {
++ name: "internalmodule",
++ description: "Builtin Roots Module",
++ path: ctypes.libraryName("nssckbi"),
++ id: "pkcs11@tests.mozilla.org",
++ },
++ ]);
++
++ let extension = ExtensionTestUtils.loadExtension({
++ manifest: {
++ permissions: ["pkcs11"],
++ applications: {"gecko": {id: "pkcs11@tests.mozilla.org"}},
++ },
++ background: background,
++ });
++ await extension.startup();
++ await extension.awaitFinish("pkcs11");
++ await extension.unload();
++});
+diff --git a/browser/components/extensions/test/xpcshell/xpcshell.ini b/browser/components/extensions/test/xpcshell/xpcshell.ini
+--- a/browser/components/extensions/test/xpcshell/xpcshell.ini
++++ b/browser/components/extensions/test/xpcshell/xpcshell.ini
+@@ -15,10 +15,11 @@ dupe-manifest =
+ # For tests which should run in all configurations.
+ # - xpcshell-remote.ini
+ # For tests which should only run with both remote extensions and remote content.
+
+ [test_ext_manifest_commands.js]
+ [test_ext_manifest_omnibox.js]
+ [test_ext_manifest_permissions.js]
+ [test_ext_geckoProfiler_schema.js]
++[test_ext_pkcs11_management.js]
+
+ [include:xpcshell-common.ini]
+diff --git a/browser/locales/en-US/chrome/browser/browser.properties b/browser/locales/en-US/chrome/browser/browser.properties
+--- a/browser/locales/en-US/chrome/browser/browser.properties
++++ b/browser/locales/en-US/chrome/browser/browser.properties
+@@ -106,16 +106,17 @@ webextPerms.description.downloads.open=O
+ webextPerms.description.find=Read the text of all open tabs
+ webextPerms.description.geolocation=Access your location
+ webextPerms.description.history=Access browsing history
+ webextPerms.description.management=Monitor extension usage and manage themes
+ # LOCALIZATION NOTE (webextPerms.description.nativeMessaging)
+ # %S will be replaced with the name of the application
+ webextPerms.description.nativeMessaging=Exchange messages with programs other than %S
+ webextPerms.description.notifications=Display notifications to you
++webextPerms.description.pkcs11=Provide cryptographic authentication services
+ webextPerms.description.privacy=Read and modify privacy settings
+ webextPerms.description.proxy=Control browser proxy settings
+ webextPerms.description.sessions=Access recently closed tabs
+ webextPerms.description.tabs=Access browser tabs
+ webextPerms.description.topSites=Access browsing history
+ webextPerms.description.unlimitedStorage=Store unlimited amount of client-side data
+ webextPerms.description.webNavigation=Access browser activity during navigation
+
+
diff --git a/www-client/firefox/firefox-57.0.1.ebuild b/www-client/firefox/firefox-57.0.4.ebuild
index 57484d8aaa4d..f02cc1c09ac2 100644
--- a/www-client/firefox/firefox-57.0.1.ebuild
+++ b/www-client/firefox/firefox-57.0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -123,6 +123,7 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}/firefox"
+ eapply "${FILESDIR}"/firefox-57.0-pkcs11-backport.patch
# Enable gnomebreakpad
if use debug ; then