[Pkg-mozext-commits] [noscript] 13/17: New upstream version 5.1.2

David Prévot taffit at moszumanska.debian.org
Sun Oct 15 05:38:07 UTC 2017


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository noscript.

commit c6256ae5b4f39f51994724232350e3e2fde87e1b
Author: David Prévot <david at tilapin.org>
Date:   Sat Oct 14 17:15:25 2017 -1000

    New upstream version 5.1.2
---
 META-INF/manifest.mf                               | 282 ++++++++++-----------
 META-INF/mozilla.rsa                               | Bin 4196 -> 4196 bytes
 META-INF/mozilla.sf                                |   4 +-
 bootstrap.js                                       |   6 +-
 chrome/content/noscript/ABE.js                     |   8 +
 chrome/content/noscript/ClearClickHandler.js       |   5 +-
 chrome/content/noscript/FrameScript.jsm            |   3 +-
 chrome/content/noscript/MSEInterception.js         |   4 +
 chrome/content/noscript/Main.js                    |  35 +--
 chrome/content/noscript/MainChild.js               |   2 +-
 chrome/content/noscript/MainParent.js              |  25 +-
 chrome/content/noscript/PasteHandler.jsm           |  14 +-
 chrome/content/noscript/Policy.js                  |   5 +-
 chrome/content/noscript/Restartless.jsm            | 133 ++++++----
 chrome/content/noscript/ScriptSurrogate.js         |  56 ++--
 chrome/content/noscript/UISync.jsm                 |  28 +-
 chrome/content/noscript/WebExt.js                  |   6 +-
 chrome/content/noscript/about.xul                  |   6 +-
 chrome/content/noscript/noscriptBM.js              |  25 +-
 ...layFx57.xul => noscriptOverlay-noStatusBar.xul} |   0
 chrome/content/noscript/noscriptOverlay.js         |   5 +-
 chrome/locale/bg-BG/noscript/noscript.dtd          |   2 +-
 chrome/locale/ca-AD/noscript/noscript.dtd          |   2 +-
 chrome/locale/cs-CZ/noscript/noscript.dtd          |   2 +-
 chrome/locale/cy-GB/noscript/noscript.dtd          |   2 +-
 chrome/locale/da/noscript/noscript.dtd             |   2 +-
 chrome/locale/de/noscript/noscript.dtd             |   2 +-
 chrome/locale/el/noscript/noscript.dtd             |   2 +-
 chrome/locale/en-GB/noscript/noscript.dtd          |   2 +-
 chrome/locale/en-US/noscript/noscript.dtd          |   2 +-
 chrome/locale/eo/noscript/noscript.dtd             |   2 +-
 chrome/locale/es-AR/noscript/noscript.dtd          |   2 +-
 chrome/locale/es-CL/noscript/noscript.dtd          |   2 +-
 chrome/locale/es-ES/noscript/noscript.dtd          |   2 +-
 chrome/locale/et-EE/noscript/noscript.dtd          |   2 +-
 chrome/locale/eu/noscript/noscript.dtd             |   2 +-
 chrome/locale/fa-IR/noscript/noscript.dtd          |   2 +-
 chrome/locale/fi/noscript/noscript.dtd             |   2 +-
 chrome/locale/fr/noscript/noscript.dtd             |   2 +-
 chrome/locale/gl-ES/noscript/noscript.dtd          |   2 +-
 chrome/locale/he-IL/noscript/noscript.dtd          |   2 +-
 chrome/locale/hr-HR/noscript/noscript.dtd          |   2 +-
 chrome/locale/hsb/noscript/noscript.dtd            |   2 +-
 chrome/locale/hu-HU/noscript/noscript.dtd          |   2 +-
 chrome/locale/id-ID/noscript/noscript.dtd          |   2 +-
 chrome/locale/it/noscript/noscript.dtd             |   2 +-
 chrome/locale/ja-JP/noscript/noscript.dtd          |   2 +-
 chrome/locale/kk-KZ/noscript/noscript.dtd          |   2 +-
 chrome/locale/km-KH/noscript/noscript.dtd          |   2 +-
 chrome/locale/ko-KR/noscript/noscript.dtd          |   2 +-
 chrome/locale/lt/noscript/noscript.dtd             |   2 +-
 chrome/locale/mk-MK/noscript/noscript.dtd          |   2 +-
 chrome/locale/ms-MY/noscript/noscript.dtd          |   2 +-
 chrome/locale/nb-NO/noscript/noscript.dtd          |   2 +-
 chrome/locale/nl/noscript/noscript.dtd             |   2 +-
 chrome/locale/pl/noscript/noscript.dtd             |   2 +-
 chrome/locale/pt-BR/noscript/noscript.dtd          |   2 +-
 chrome/locale/pt-PT/noscript/noscript.dtd          |   2 +-
 chrome/locale/ro/noscript/noscript.dtd             |   2 +-
 chrome/locale/sk-SK/noscript/noscript.dtd          |   2 +-
 chrome/locale/sl-SI/noscript/noscript.dtd          |   2 +-
 chrome/locale/sr-RS/noscript/noscript.dtd          |   2 +-
 chrome/locale/sv-SE/noscript/noscript.dtd          |   2 +-
 chrome/locale/te-IN/noscript/noscript.dtd          |   2 +-
 chrome/locale/th/noscript/noscript.dtd             |   2 +-
 chrome/locale/tr/noscript/noscript.dtd             |   2 +-
 chrome/locale/vi/noscript/noscript.dtd             |   2 +-
 chrome/locale/zh-CN/noscript/noscript.dtd          |   2 +-
 chrome/locale/zh-TW/noscript/noscript.dtd          |   2 +-
 defaults/preferences/noscript.js                   |   2 +-
 install.rdf                                        |   2 +-
 webextension/manifest.json                         |   1 +
 72 files changed, 432 insertions(+), 321 deletions(-)

diff --git a/META-INF/manifest.mf b/META-INF/manifest.mf
index adedd48..7411bc3 100644
--- a/META-INF/manifest.mf
+++ b/META-INF/manifest.mf
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
 
 Name: install.rdf
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: OtMS2c/6OaRGXQBS+E8UOQ==
-SHA1-Digest: nLsKv3AUNm6Ndb6CTkpvAq5UPWM=
+MD5-Digest: Et5nXnK49K0tY6bWJJ90lQ==
+SHA1-Digest: SZUkHoeDCpf2fzOT0JO8W5Zps84=
 
 Name: chrome.manifest
 Digest-Algorithms: MD5 SHA1
@@ -12,8 +12,8 @@ SHA1-Digest: z4/9Lia05sKUaZOm5aOQWjShvvw=
 
 Name: bootstrap.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 0L4y18XsK6mUTg6ZqaEgOw==
-SHA1-Digest: W344towRGDePnPWL539hzVAZKUY=
+MD5-Digest: 59z9rOaR26C+Owf2n9FvPQ==
+SHA1-Digest: GG1CCxXDF3eapbD8yMl89+rdX6s=
 
 Name: GPL.txt
 Digest-Algorithms: MD5 SHA1
@@ -37,8 +37,8 @@ SHA1-Digest: YaQhyi7gw+UKy7h45EG/o3tjSm4=
 
 Name: chrome/content/noscript/ABE.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: efVxreJLBVnT1v4M8x7p1g==
-SHA1-Digest: qMeocOEicA0Pt1hfYgAWA8JDKlw=
+MD5-Digest: 2QWM9X/06RGsHyXZqs5EdQ==
+SHA1-Digest: zsJtSKuyxD++cj4aOjnp/2BvXN0=
 
 Name: chrome/content/noscript/ABELexer.js
 Digest-Algorithms: MD5 SHA1
@@ -52,8 +52,8 @@ SHA1-Digest: idl2qN6ruxPfDks9LUMR4uR/6sQ=
 
 Name: chrome/content/noscript/about.xul
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: /UeiCuH0IH/JWMYeoSX5PA==
-SHA1-Digest: cImTXQsnjk8qX/k/m0fzoQsgggY=
+MD5-Digest: 1Axl4nsVMWWADzlsVCKzYQ==
+SHA1-Digest: DxyHKXqwdjaMFwX34iRM9RbqW6U=
 
 Name: chrome/content/noscript/AddressMatcher.js
 Digest-Algorithms: MD5 SHA1
@@ -92,8 +92,8 @@ SHA1-Digest: aD2kpx4CDzAtYg7rnQ/7IYQMysk=
 
 Name: chrome/content/noscript/ClearClickHandler.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: hOEnlq5QQj+Yjri0RS+6nA==
-SHA1-Digest: +95/Pms57wxG+ZQ82FL3c/xu+LY=
+MD5-Digest: aNnKlLTdtGzNaREy7QqO/Q==
+SHA1-Digest: kQ9QVwFfMDFFAu9CpJXpJtgSyjA=
 
 Name: chrome/content/noscript/Cookie.js
 Digest-Algorithms: MD5 SHA1
@@ -167,8 +167,8 @@ SHA1-Digest: 1E9JvLF8RouOZDLjutanoVGkQJQ=
 
 Name: chrome/content/noscript/FrameScript.jsm
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: JF4+y9Nd1kOhOrrD/aPBZQ==
-SHA1-Digest: qZY23lR2Yf3DB+lOkYoXC4mpJWc=
+MD5-Digest: ncxTRwRv8h1ygdTofcQV7w==
+SHA1-Digest: AWJJI3lZ0o8IjtMMbimccXoBoso=
 
 Name: chrome/content/noscript/HTTPS.js
 Digest-Algorithms: MD5 SHA1
@@ -217,18 +217,18 @@ SHA1-Digest: IP1FtRnULNQsRbu3E46+ynWOwGU=
 
 Name: chrome/content/noscript/Main.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 88TRwn93bJ2YurXlUjqY3w==
-SHA1-Digest: b6vZdPbQf555ff+T98bkucWG85M=
+MD5-Digest: XoJxK6x8tfXA48tGF8GMYw==
+SHA1-Digest: t/erH/PGV5pcTSfBdMDpC5kNOMw=
 
 Name: chrome/content/noscript/MainChild.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: Tc8aIP/ACd9RwPfxMUKC7w==
-SHA1-Digest: MV4XZnpyOQgOn8iCFe6wEbVsD34=
+MD5-Digest: 6TSgDelom3K2mbeu0swhPQ==
+SHA1-Digest: y/RnLfMxmgCR4sOc9ouJaRQQwNU=
 
 Name: chrome/content/noscript/MainParent.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: YVdXGpECT4+UlIK2+6E5oQ==
-SHA1-Digest: 6o97kDxdzZOTT61pIw4k9+2Yc8k=
+MD5-Digest: H5KX74iJI91KfBg7J2xWyQ==
+SHA1-Digest: bwfuZXewB11hh5r9yOEa1z4Vq/g=
 
 Name: chrome/content/noscript/Membrane.js
 Digest-Algorithms: MD5 SHA1
@@ -247,8 +247,8 @@ SHA1-Digest: g14nJ8e3gNDkDRFqY0ijGXSQCfg=
 
 Name: chrome/content/noscript/MSEInterception.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: AO8t0sfPUkKXum0oNMI7IA==
-SHA1-Digest: GTTbeZeTYeAXao/rrNl72fizgu4=
+MD5-Digest: E6YSoryH9cN/G+g6m6ZSVg==
+SHA1-Digest: 8s1mjp5jgYsvCjUWbjPgSs12TME=
 
 Name: chrome/content/noscript/noscript.js
 Digest-Algorithms: MD5 SHA1
@@ -267,8 +267,8 @@ SHA1-Digest: uqtHOuEANw0yaB8FG+uGsIK+NXg=
 
 Name: chrome/content/noscript/noscriptBM.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: f5sDrEAtEYLbIQfpZYvj2g==
-SHA1-Digest: kBwjco19lSNQbXYt+C/c5snJOyo=
+MD5-Digest: yCrsoeWUPxtIxtuJLsxEvQ==
+SHA1-Digest: zWAChJ/LaLfit1fybZ9ElxjYisI=
 
 Name: chrome/content/noscript/noscriptBMOverlay.xul
 Digest-Algorithms: MD5 SHA1
@@ -285,25 +285,25 @@ Digest-Algorithms: MD5 SHA1
 MD5-Digest: 1BTqVjqipbVFoSCSEeTefw==
 SHA1-Digest: T4a9uqQZ91qFBGu9ZTSJVgC9dro=
 
+Name: chrome/content/noscript/noscriptOverlay-noStatusBar.xul
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: SqC2axa7K+oRAA6mO+Q+qw==
+SHA1-Digest: jWWCtJsmGeh7UhGy8ptRe5GSP14=
+
 Name: chrome/content/noscript/noscriptOverlay.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: Xi561XztyMdFY1bE9JbAdA==
-SHA1-Digest: owlrEh8/a8hkq5eU4axv6cu4Slc=
+MD5-Digest: ts+Aoe3FcSow0WeTn3UjcA==
+SHA1-Digest: Nl0W7Y0K7/zxffC+3M8xmgsdWfE=
 
 Name: chrome/content/noscript/noscriptOverlay.xul
 Digest-Algorithms: MD5 SHA1
 MD5-Digest: giWGrZcCCtlN82SQSU8CmA==
 SHA1-Digest: wagI/eCNsEv12PDTczIYFLZcsQU=
 
-Name: chrome/content/noscript/noscriptOverlayFx57.xul
-Digest-Algorithms: MD5 SHA1
-MD5-Digest: SqC2axa7K+oRAA6mO+Q+qw==
-SHA1-Digest: jWWCtJsmGeh7UhGy8ptRe5GSP14=
-
 Name: chrome/content/noscript/PasteHandler.jsm
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 0zIzYcZR5CMzFDIwkJtAKg==
-SHA1-Digest: vflWxtckVsNjaih2Kk8eCjdGU3s=
+MD5-Digest: 0g0JgYbNwMT6jiI5YLdWpg==
+SHA1-Digest: 9+hAI73FL2VCLvMr/TnnY50eY1A=
 
 Name: chrome/content/noscript/Plugins.js
 Digest-Algorithms: MD5 SHA1
@@ -312,8 +312,8 @@ SHA1-Digest: TYWN7GGZVcQ2DdL2qgLdHzAbzv4=
 
 Name: chrome/content/noscript/Policy.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: b7NfiFJ6yI/DD2EFwMQQGQ==
-SHA1-Digest: ayuvuVotiO21rhvYerGeSbKuRek=
+MD5-Digest: 40n8IdehJ2rG9wiM/0xvvw==
+SHA1-Digest: izfIjDnf+kzgJ7xYL0LaaF2TXVQ=
 
 Name: chrome/content/noscript/Profiler.js
 Digest-Algorithms: MD5 SHA1
@@ -332,8 +332,8 @@ SHA1-Digest: DZs9i9nhj38XO72GaUftxylBj3w=
 
 Name: chrome/content/noscript/Restartless.jsm
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: nyVkIDHQZ6WY+OE2DGvoQA==
-SHA1-Digest: 7m+0YRaSy0OhmXlCa4poqRXgLNU=
+MD5-Digest: 3uO7A0cn9zv9xIIUQeQM0w==
+SHA1-Digest: NsFgkuqr6xqNSB50tJGQuvcymbE=
 
 Name: chrome/content/noscript/ScriptlessBGThumbs.js
 Digest-Algorithms: MD5 SHA1
@@ -342,8 +342,8 @@ SHA1-Digest: G97emYsx9q8EiY6knedB1wFa2KI=
 
 Name: chrome/content/noscript/ScriptSurrogate.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: lTBQ5BFEOFr/wslN/KWkOA==
-SHA1-Digest: jBBZSkI36jE8uNNyD0egBcy9c9M=
+MD5-Digest: Cg/5vsKTP06cLcDyGzu3VA==
+SHA1-Digest: 0vfeQ3I4VJDBpd2CHrpho/ZSsyw=
 
 Name: chrome/content/noscript/SiteUtils.js
 Digest-Algorithms: MD5 SHA1
@@ -372,8 +372,8 @@ SHA1-Digest: vrTKbl7kvlvqSFIRpUSyDDhFFVQ=
 
 Name: chrome/content/noscript/UISync.jsm
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: eSLnENggl3Hs1kNO6kSHUg==
-SHA1-Digest: JCGsKPc36b7zByJy4UNgiaxY3J8=
+MD5-Digest: 07q1u4xEzcl+OfRPtrhhdg==
+SHA1-Digest: PTSDMMT0uucOIdbmOzezTxNMsUE=
 
 Name: chrome/content/noscript/URIValidator.js
 Digest-Algorithms: MD5 SHA1
@@ -382,8 +382,8 @@ SHA1-Digest: YW3PmH2KYhx4nVKuJjhROY3xv4o=
 
 Name: chrome/content/noscript/WebExt.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: xoF112sW4CN8+DeINsOafw==
-SHA1-Digest: TUiJloR/Pn8+BJxgE9Rz44Mn2kg=
+MD5-Digest: TobdYPChLUkKcmZw8bmATg==
+SHA1-Digest: 2CEXoHS/TWfRTmm1+h1gIhKSqv0=
 
 Name: chrome/content/noscript/WebGLInterception.js
 Digest-Algorithms: MD5 SHA1
@@ -432,8 +432,8 @@ SHA1-Digest: sNaAoiFjfluUFYT3NJO8pa0cBr4=
 
 Name: chrome/locale/bg-BG/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: jsSk8Ld0bVoO987jmkeP0g==
-SHA1-Digest: jHaK7CBe7BtmHQaC4I1TLQgEftM=
+MD5-Digest: LC7/S7xvgyTo9nfZnTEAqg==
+SHA1-Digest: YwLdwqlLNg3yuxwWFsmeoas7MQs=
 
 Name: chrome/locale/bg-BG/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -462,8 +462,8 @@ SHA1-Digest: kflYT0pG5PkXqcxExu1I32CKtmU=
 
 Name: chrome/locale/ca-AD/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: MXwqgWEikHxe6T9b0cDgBA==
-SHA1-Digest: F/FVRCDlDnVNU4AMokcfYKpX1CU=
+MD5-Digest: MZtpNGvxw+k6lFiM+hqLlw==
+SHA1-Digest: iH1jHecnfARqLivIKbRCDTz+txo=
 
 Name: chrome/locale/ca-AD/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -477,8 +477,8 @@ SHA1-Digest: uvHG2IX5kUIz3oj8KZ9WeopZNvk=
 
 Name: chrome/locale/cs-CZ/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 4O7XlNQo3HSdb9j0c0bheQ==
-SHA1-Digest: VOK5F/RHl/3C0IX3LyUaqaNPu7Y=
+MD5-Digest: CKZj23ASI/haIqnkGrjxjg==
+SHA1-Digest: ozv7s9moLpNAxaUCV+ObmJnQalU=
 
 Name: chrome/locale/cs-CZ/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -492,8 +492,8 @@ SHA1-Digest: QJMBA6MQxw4D8NcGjgbaRU5RMn8=
 
 Name: chrome/locale/cy-GB/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 9lD1BkUjzNC5naS603XIlg==
-SHA1-Digest: mYaMJY2SUj/oFbye1Dia8vcytik=
+MD5-Digest: 0mFgmgkC1nSruKElJUefuw==
+SHA1-Digest: 6uC5mi2mPVxtfr+1QbVa5YNodDU=
 
 Name: chrome/locale/cy-GB/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -507,8 +507,8 @@ SHA1-Digest: pbxJdqyMQHZfqpXhtN51RN56DUM=
 
 Name: chrome/locale/da/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: U0fDdjdFF3+LAZMY/o5z7A==
-SHA1-Digest: wnPE4knK+HTPC9BHOkjZPlQLxqg=
+MD5-Digest: /miVSAttX5gEzO87ZUlZ6g==
+SHA1-Digest: S16li6KhxHoyX7Wr6vZIuubh19A=
 
 Name: chrome/locale/da/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -522,8 +522,8 @@ SHA1-Digest: UvqiVC7ZhZNpetUZ3sD5OmBHshI=
 
 Name: chrome/locale/de/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: AgntsAusGkG88s7X3Cvblg==
-SHA1-Digest: E5dIQeKeBu2Fo1ZKlX/s0dgtVFI=
+MD5-Digest: xspNKu842XisMxA4PRtadg==
+SHA1-Digest: PY15rnisVYBz88d5N2ceY/9PspM=
 
 Name: chrome/locale/de/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -537,8 +537,8 @@ SHA1-Digest: FzzY/kDgk9oB/yfhbthUH+3K+p0=
 
 Name: chrome/locale/el/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: lEbHdraUp3gfNspChJmFvQ==
-SHA1-Digest: lV4Vwm6lqrzfYGRB5TMADGPYS8k=
+MD5-Digest: p9AzRbVF0AUwOTQ230LV7w==
+SHA1-Digest: axCmzUKnEKTrL4wDNTunKKfyIvE=
 
 Name: chrome/locale/el/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -552,8 +552,8 @@ SHA1-Digest: HUexKIcNtXuADoCrQga0QJQJMlw=
 
 Name: chrome/locale/en-GB/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: rVvLhzkoKQzOeP2sEmvYiw==
-SHA1-Digest: 1+r8ao9i3XxSYhvvMD86/hl5pWE=
+MD5-Digest: ZBgcnvWGVQscPBiqFLPPDQ==
+SHA1-Digest: 5fJMNokGx80/wPKbBPINq6p7BbE=
 
 Name: chrome/locale/en-GB/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -567,8 +567,8 @@ SHA1-Digest: wPgAT8TTe+fOk2o/kzl27p7hiEA=
 
 Name: chrome/locale/en-US/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: YoCdF0uRaHigbgRYRFl20w==
-SHA1-Digest: 70lP5rWLuXKorsoy7kS9bieiEds=
+MD5-Digest: 4JM/6GJtMvchpp+lGUazgg==
+SHA1-Digest: fets0wQm5tmgV0trwqyIKZu4Mk0=
 
 Name: chrome/locale/en-US/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -582,8 +582,8 @@ SHA1-Digest: wImWq9Q0F9cVLKYccfgHDGULZUw=
 
 Name: chrome/locale/eo/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: PHp2Ta46Y+InDPgv+cpdEg==
-SHA1-Digest: 7n2Dod69ElKNLUGXr0rVCFHih94=
+MD5-Digest: A+UuahE+LtMnZRz4+5yY2w==
+SHA1-Digest: FalnjsZJ2YZEVTC0W2wv5oU7HSA=
 
 Name: chrome/locale/eo/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -597,8 +597,8 @@ SHA1-Digest: OdCbf6/mUi60G84lQxF9xvdj2i4=
 
 Name: chrome/locale/es-AR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: rsKYQRd2d3lKEq1bW05o8w==
-SHA1-Digest: QwIkZRJgvJSwFXJOOfL+yvvXuks=
+MD5-Digest: JJg2sErfjFo1wi5xTO8RaQ==
+SHA1-Digest: wYgwH8dptY9wYfHmthFGhtu2pXw=
 
 Name: chrome/locale/es-AR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -612,8 +612,8 @@ SHA1-Digest: bANkMTYDxZWaaM8hLQZ3kFpkazo=
 
 Name: chrome/locale/es-CL/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: e5a3LXZYAL6W0Dm6RDLLMg==
-SHA1-Digest: D0z8lfwv+Vmt6pfTbXOjvkP5Uzg=
+MD5-Digest: fJSRRuYyOY+bjeJ1iz913w==
+SHA1-Digest: wp9nX3EP3ZFF039vgvcPyKLq1rA=
 
 Name: chrome/locale/es-CL/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -627,8 +627,8 @@ SHA1-Digest: VfTz8hfRFURHfliKGnVqXQxXFks=
 
 Name: chrome/locale/es-ES/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: /PkhxZjVxpbpWiYQhSgVaA==
-SHA1-Digest: YZZZ1eegg/Q81BnQMNGuk9iSFB0=
+MD5-Digest: NcNIwQND+4t4Fg++m4g+4w==
+SHA1-Digest: zqafG3qwWFCPvFsPEIxFZ+C2+vY=
 
 Name: chrome/locale/es-ES/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -642,8 +642,8 @@ SHA1-Digest: tLipgYuD6A9JdnK6tunUWzslLaM=
 
 Name: chrome/locale/et-EE/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: od3Tl5DeQ8ni0//QEcMaPQ==
-SHA1-Digest: k9NvrPH1bYtQ2CMFSe/JcIPBWR8=
+MD5-Digest: XuXok0Lxf2ONtiKrBCINIw==
+SHA1-Digest: dJTVh4C+TFSTw1pAQ1vY3CKKL7Q=
 
 Name: chrome/locale/et-EE/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -657,8 +657,8 @@ SHA1-Digest: f2/STGGGc0EN5ASWPXXelE41f0g=
 
 Name: chrome/locale/eu/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: RQRLcwV8YtAMyqg8eO20bA==
-SHA1-Digest: uB0W5WTTExrkKZMn9P99dUPkeYA=
+MD5-Digest: Tp2otKLYRfhQ32kM9+GZhA==
+SHA1-Digest: RxOj/+ju1ehyI6po7I54bIce6a4=
 
 Name: chrome/locale/eu/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -672,8 +672,8 @@ SHA1-Digest: azpjHw2wj68uxic90eEifEP6hdk=
 
 Name: chrome/locale/fa-IR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 9pLKvT/2Hf/SZpru3zCSgA==
-SHA1-Digest: 2slBD418KTL/KCJPkC8+xRSy424=
+MD5-Digest: NeC4VmhyfXsdZVPPuPV1Xg==
+SHA1-Digest: EnKIFcA8zyepq4U9ouID7VeZKBY=
 
 Name: chrome/locale/fa-IR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -687,8 +687,8 @@ SHA1-Digest: zn4bfaSGlqZv6201f53lOwwUGig=
 
 Name: chrome/locale/fi/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: Ns7p+xrvoHxOyVi48BUzpw==
-SHA1-Digest: IwRnUM8q9z76/SPPfJzW0/5/7t4=
+MD5-Digest: t6k2ZB8njHgfFA4BkdkMqA==
+SHA1-Digest: IaGDygiPiIYVqusW8tOrtm7IiBs=
 
 Name: chrome/locale/fi/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -702,8 +702,8 @@ SHA1-Digest: /jz7SZgj4l8NBAXZxNUV6YvNmq0=
 
 Name: chrome/locale/fr/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: JciX6hE8vEaxOs4InP7aDg==
-SHA1-Digest: v9NCS4ZrFtzTDuXKZgQ9AICOwJM=
+MD5-Digest: GMcQHUAAWfJQcfIP57FUGA==
+SHA1-Digest: xB8PBKkb26Nk9hyqklMZJMN2rQQ=
 
 Name: chrome/locale/fr/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -717,8 +717,8 @@ SHA1-Digest: LU8wXSphmmd7qv/nXZxsmy5/VZ8=
 
 Name: chrome/locale/gl-ES/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: BA5m1Wd7LzCTjkPoL0i/Cw==
-SHA1-Digest: AIOGFVvHrq6Z8CIkFZoSjhe992E=
+MD5-Digest: lc+dXzMfFc4tTHJkOJwbng==
+SHA1-Digest: G45zjXxt40ZyJhPgaYoGyMuZH1Q=
 
 Name: chrome/locale/gl-ES/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -732,8 +732,8 @@ SHA1-Digest: s6RAVGXfmmTceVFCjTgg1rFDnr8=
 
 Name: chrome/locale/he-IL/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: CcuU1pzTtistRqp2HbJzcw==
-SHA1-Digest: B0VDoi5Xh0C+9eJyB7Uh7HA/ikE=
+MD5-Digest: jhpwo3zvND3nk4dbfTnQQw==
+SHA1-Digest: vZPRovX7rUkDcNSi8QeZgMTE3cU=
 
 Name: chrome/locale/he-IL/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -747,8 +747,8 @@ SHA1-Digest: wV5mzFilGjLReuYFadHBNBuVZ4k=
 
 Name: chrome/locale/hr-HR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: GhutlhE6uFAy8RbnIcT11Q==
-SHA1-Digest: 8xkMg8wCQR7/mJRch0tlSO779HQ=
+MD5-Digest: oexK9yieNQ6vLUD/ibYiTw==
+SHA1-Digest: m9FRnbBYJ2ivGBKovDdcUwLEo2I=
 
 Name: chrome/locale/hr-HR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -762,8 +762,8 @@ SHA1-Digest: t5wMEPVua4wuGwBHf97L7FLdbwo=
 
 Name: chrome/locale/hsb/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: Dq/fwEXHHeSgizuuxJNxUg==
-SHA1-Digest: /SgeQIAlEvHdYa4ymFsIEGYsIPo=
+MD5-Digest: jQ2CyB09ayxbbpDkosZTkg==
+SHA1-Digest: vrOEhktvBI4D+hpdg/Dmc6oqvDk=
 
 Name: chrome/locale/hsb/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -777,8 +777,8 @@ SHA1-Digest: vZzf9pMQ/01ovCpCdaHSAOBoH/o=
 
 Name: chrome/locale/hu-HU/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: XO8RcT10yxBPQAT6YaI6hg==
-SHA1-Digest: ltvKdIZyAqvgD/jSkthCDiAC/WY=
+MD5-Digest: Czb3QdXw4vcC2x7yec8Taw==
+SHA1-Digest: Y8nEHb/9yOQnIzqq6VW5jYltH70=
 
 Name: chrome/locale/hu-HU/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -792,8 +792,8 @@ SHA1-Digest: f98lOBm8U6bwxWqz/51Ntq5SNxw=
 
 Name: chrome/locale/id-ID/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: pp7KeJUEAyUPBICPUUhdyQ==
-SHA1-Digest: 8eWSg5VFjnjjURudca9RiVDyilI=
+MD5-Digest: G3Y5VRdfEu2YFFfS73etyw==
+SHA1-Digest: SjsdCtwc+TI+pQnDiBHThriyUYs=
 
 Name: chrome/locale/id-ID/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -807,8 +807,8 @@ SHA1-Digest: AXC2nbKZGSkqbC8aIXiPvcMJImc=
 
 Name: chrome/locale/it/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: hjPdC9XybCDxxjXMMdfPnQ==
-SHA1-Digest: Y4pLbs6y/vM8yuNcuVPpGDQ3aoc=
+MD5-Digest: 76mTgEfAx9fXnm/VpRyzfQ==
+SHA1-Digest: ekWV1uRFBFNYptiEtUH9O8GwmsM=
 
 Name: chrome/locale/it/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -822,8 +822,8 @@ SHA1-Digest: sta5MoQ0XEGJhUl65YPJ5hdtt1A=
 
 Name: chrome/locale/ja-JP/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: Qpq1eltwaTA2/xqnIWgkKg==
-SHA1-Digest: onmMZS/2egZNNXIeE6EGg/nGwtc=
+MD5-Digest: dQgH3tcUogM8bfMPoh6Dpg==
+SHA1-Digest: jY5YFz1tQlIZR3k1EQKE+ncScuU=
 
 Name: chrome/locale/ja-JP/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -837,8 +837,8 @@ SHA1-Digest: BmojPYZwczyr7siGSTqMj6PRlG8=
 
 Name: chrome/locale/kk-KZ/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: limFqnZlShjbMXk+4R0aVA==
-SHA1-Digest: dDFv2JVCNxa6KvEVkUazf8rp68Y=
+MD5-Digest: 24J9jbN9ExNsRwR0vfTtiQ==
+SHA1-Digest: Gtkq/GECgbpCq+V8q1YIN3AfOXo=
 
 Name: chrome/locale/kk-KZ/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -852,8 +852,8 @@ SHA1-Digest: mWY8HPNe6NqhGrPI3JdngLbbah4=
 
 Name: chrome/locale/km-KH/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: DLp99tT+8+bUZop/B/72Fw==
-SHA1-Digest: 40vdJsYlvwCPY+zR+hBEmiF+wLA=
+MD5-Digest: r5pQ4i6wySxHnbGF+b2M1g==
+SHA1-Digest: fMvtlbq3c0jroReWeYRECRSSZzQ=
 
 Name: chrome/locale/km-KH/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -867,8 +867,8 @@ SHA1-Digest: 44MXu+9gzxhh8ayl4eczJepe1W4=
 
 Name: chrome/locale/ko-KR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: uQ5ugc5N0+VeiZzoysBSvw==
-SHA1-Digest: x6xdJdqLxDKYIQVDjdlXCsUYR/I=
+MD5-Digest: w8N5KpG1yusFfA3IApaN0w==
+SHA1-Digest: MdcjP4803rSRaq00Vp7ArZCPC4U=
 
 Name: chrome/locale/ko-KR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -882,8 +882,8 @@ SHA1-Digest: OXJotNTKa+qW3KH2xglglsfyXps=
 
 Name: chrome/locale/lt/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 6D4eHr7PURItz+mI1/x1Fg==
-SHA1-Digest: J2FyhlzGJazmJ+sMhBX/JpCpOk0=
+MD5-Digest: zBV1eC924L4a2h8tSMAWNA==
+SHA1-Digest: wQ1E9VI0om+fuysXRWc8+EP+qjI=
 
 Name: chrome/locale/lt/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -897,8 +897,8 @@ SHA1-Digest: FK2I4LKVCMG61glufAEd4Xu3AHo=
 
 Name: chrome/locale/mk-MK/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: vplD23TMZLIaYcnu+UbYyg==
-SHA1-Digest: xeDHk2dSAktLp2CGXw2lgUtmlIM=
+MD5-Digest: q3AcHlVYVDS3BbZHsvZdJg==
+SHA1-Digest: 9brp0EwSUJucDChju1oKLreoWbE=
 
 Name: chrome/locale/mk-MK/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -912,8 +912,8 @@ SHA1-Digest: cfSmI7vUD8EMK3m2vZPKZpYFDPU=
 
 Name: chrome/locale/ms-MY/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: CfEy5Ffg1ygXoVMMGx2B4w==
-SHA1-Digest: 18yi+u5wxN4Ea3/SXlVsKBaKUMs=
+MD5-Digest: /wuUAHrsJhwx7+Zz2dD+Bg==
+SHA1-Digest: FiuSxwEnVQbCaeNt57yFA4q8vX8=
 
 Name: chrome/locale/ms-MY/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -927,8 +927,8 @@ SHA1-Digest: wVO4Zccxj/r0+ZVVvg8Y4t2tE90=
 
 Name: chrome/locale/nb-NO/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: yRdtNWs+1i4uZpv1KKLYSA==
-SHA1-Digest: bVqSX6/rjNsDW6hTvR+rVd6gMsA=
+MD5-Digest: uX4kSiZND+Pp5BIIYXEtGA==
+SHA1-Digest: 9O8iDItOI+fgJ0Ur69wINdSrtS8=
 
 Name: chrome/locale/nb-NO/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -942,8 +942,8 @@ SHA1-Digest: ocnQh9+4tavoFD6kFCm1NX/oBRY=
 
 Name: chrome/locale/nl/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: dhcgc0/TnzbRb1K+i9O3cw==
-SHA1-Digest: 7XpgnNI94yH2ImFFSr2bGP8MTsU=
+MD5-Digest: qnPCQhD2irSmx/1OuZKcGw==
+SHA1-Digest: uNaXI3130dfEbX8o2MKiWVT9whw=
 
 Name: chrome/locale/nl/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -957,8 +957,8 @@ SHA1-Digest: I1Att5q7dUDdAIbhroTZi1FZ0os=
 
 Name: chrome/locale/pl/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: RWL9lR1dKZMCyjcgd/g3nA==
-SHA1-Digest: xQWi59ILN/hJZIR7yCkAWUD4ujc=
+MD5-Digest: S69iHvac0VhzE9Q4T1LPgw==
+SHA1-Digest: 6wN6m7y2VZAA6LYXdsgCx1DhRWU=
 
 Name: chrome/locale/pl/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -972,8 +972,8 @@ SHA1-Digest: P9ocXE7IK6wNPXiIr51c2D+MoXs=
 
 Name: chrome/locale/pt-BR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: QZGo39dVa+WfzNrHeMARRg==
-SHA1-Digest: y1fClICnoWYHMOauCsRSo++YatE=
+MD5-Digest: sY1vkgk3rJe4MFYMrpvC8g==
+SHA1-Digest: mhLn+BAG+pH035Ntmn+iKgV0oto=
 
 Name: chrome/locale/pt-BR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -987,8 +987,8 @@ SHA1-Digest: F5Gzudwcvj9tdqcBsxGr0efxB6Y=
 
 Name: chrome/locale/pt-PT/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: GxyKrfXeSyyrTqQymAjAnQ==
-SHA1-Digest: dn7+28opjw+lgvqIPVWWIovPp0M=
+MD5-Digest: 9SXQvUN0YKaHCBd7b8T1vQ==
+SHA1-Digest: A/dxtLOBVmmbPjq/mqOSCeqICNo=
 
 Name: chrome/locale/pt-PT/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1002,8 +1002,8 @@ SHA1-Digest: 2lcDUg+dqYSX7FOY4prf39S61Uk=
 
 Name: chrome/locale/ro/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: pVreMeeMPOjYJgVaxuPIvQ==
-SHA1-Digest: PvKM0GEGmRGKrIJ9QzbnScY8GU4=
+MD5-Digest: 7JpJ3uNdnTDbz1bKgTD09A==
+SHA1-Digest: tYsSBgGWT9IDdogirhyesbPbSXU=
 
 Name: chrome/locale/ro/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1032,8 +1032,8 @@ SHA1-Digest: l4ysX3tnwlN4hCoasmYaODXXcoA=
 
 Name: chrome/locale/sk-SK/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: PPUpAEXhbRiQl6C2S0kuGw==
-SHA1-Digest: camC29aCa+BAhkPov4W8dxXRTa8=
+MD5-Digest: hl9pryNqLsyasCT3eilM0Q==
+SHA1-Digest: sEU7v+SHtSWm1fV0CRXjsshVRUI=
 
 Name: chrome/locale/sk-SK/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1047,8 +1047,8 @@ SHA1-Digest: vyVw61FTz5MIKLbhdN0RhokcOFQ=
 
 Name: chrome/locale/sl-SI/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: ooq9E8yeejU/2ABUiJY57A==
-SHA1-Digest: Ir1ji6hE2RPjcjzZBnEMDueU64c=
+MD5-Digest: CaQpOr0/g5aFWl4lxK1ZlQ==
+SHA1-Digest: 9KKWh+zxTJZeo+AwZ1CmuHuR94Y=
 
 Name: chrome/locale/sl-SI/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1062,8 +1062,8 @@ SHA1-Digest: pzRQpOrfox3yFbjBJA7q9RxkUCI=
 
 Name: chrome/locale/sr-RS/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 1beKfsJMrWjvfD+V7jSTTQ==
-SHA1-Digest: BF6rDEzOIidtQExxXgr7IG4dvAI=
+MD5-Digest: Qy6C7WXcVasGY8VD9njasQ==
+SHA1-Digest: PsVxc3pZBsa9SpWSFF/Oj3gfa4s=
 
 Name: chrome/locale/sr-RS/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1092,8 +1092,8 @@ SHA1-Digest: DZdGzRyvtAVDdd+ieOShWPb/K/w=
 
 Name: chrome/locale/sv-SE/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: YGT5jjAclJWbsMrUDb4vTg==
-SHA1-Digest: 0puPcipuk0cO8lV0BVwTwl2wWRY=
+MD5-Digest: xdM0MHI3waIGGSbGUdsU4A==
+SHA1-Digest: YIHhSBeOJzAI3MPsBfmK1/ndSzo=
 
 Name: chrome/locale/sv-SE/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1107,8 +1107,8 @@ SHA1-Digest: wPgAT8TTe+fOk2o/kzl27p7hiEA=
 
 Name: chrome/locale/te-IN/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: ZbcRjKRpDMnLlphbgdOspA==
-SHA1-Digest: PexDJsFdjHGafbH3fKwRMrWtjYg=
+MD5-Digest: GeA8Zj+k0q/3AQ14U5jxSg==
+SHA1-Digest: zJj4UI8wXkzSZ3mh7DdlyFlH/Rg=
 
 Name: chrome/locale/te-IN/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1122,8 +1122,8 @@ SHA1-Digest: E9iNrmms3GPVPG83auLwHZhc3Yk=
 
 Name: chrome/locale/th/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: zoj854UeXjrSsqDuh5ijrg==
-SHA1-Digest: iQN6x03bh5t/YIm9RBFMIPAC1io=
+MD5-Digest: FrqSqRiQ3Wu1ywZjhxyjBw==
+SHA1-Digest: MWKbbZBhMDCbOmaZLHVxrz+iApA=
 
 Name: chrome/locale/th/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1137,8 +1137,8 @@ SHA1-Digest: fyquCmWmcvO+XAQZEpRKesve1qE=
 
 Name: chrome/locale/tr/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: bY56RAy/wCBbzlsoLc9w1A==
-SHA1-Digest: bIOrMG+XI2y4QlYDYYL9NxT41zM=
+MD5-Digest: 9XGECTGUbVogljlirAd4zw==
+SHA1-Digest: 7DHj2R6843w50fv06R3xv2IuPgQ=
 
 Name: chrome/locale/tr/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1167,8 +1167,8 @@ SHA1-Digest: jJ2uCXM0ppagHEC8Zga3rBAHiKY=
 
 Name: chrome/locale/vi/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: yWDeQ7Zabyn3Kwyq+SsUwQ==
-SHA1-Digest: MyfJTm2VvutWD4T+UjRz2qsrAsk=
+MD5-Digest: ajK3mGaJBezAt38AH/sb2Q==
+SHA1-Digest: FC8T0sjRs3Vu1HtdxGofHfHUcgk=
 
 Name: chrome/locale/vi/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1182,8 +1182,8 @@ SHA1-Digest: sjSFXUWhoyS0AL/uEOcWbEWXZiA=
 
 Name: chrome/locale/zh-CN/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: yQCEjZruLbeYrEr+yHElTg==
-SHA1-Digest: 0yQFTNZMARqMcaKi1SD9vpJnNKk=
+MD5-Digest: M9LefNxSLylY52bXSE/04A==
+SHA1-Digest: USBU0MCVOlUP1NDAa6Hva4Cy6wA=
 
 Name: chrome/locale/zh-CN/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1197,8 +1197,8 @@ SHA1-Digest: 0ezRfaXTFlZHSTxEUFVH9gh3mvU=
 
 Name: chrome/locale/zh-TW/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: zpGpVywJcVkngyjkyuOBHw==
-SHA1-Digest: qAUPZ5XfFpg3nDWEk/0cA4Yxvso=
+MD5-Digest: wgfFjek96XoVKdqEbnjBig==
+SHA1-Digest: QUhWxyTZItK/HgOwSTFFgabe2WY=
 
 Name: chrome/locale/zh-TW/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1502,8 +1502,8 @@ SHA1-Digest: CST2HsndXBM/v2zddWR+BmatjQc=
 
 Name: defaults/preferences/noscript.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: heqFad1K5qpuERW28ngdog==
-SHA1-Digest: h1caPa+wHL2gn2Li+g+EkiMPMJ4=
+MD5-Digest: 6wFpU3hQ3zKmAGCUKfZfHQ==
+SHA1-Digest: kHfJ59mp7zcgBqi1OXmIHj0+6Dc=
 
 Name: webextension/background.html
 Digest-Algorithms: MD5 SHA1
@@ -1517,8 +1517,8 @@ SHA1-Digest: p1DTu1E3zQ7rgR7U70GGYNCGaDY=
 
 Name: webextension/manifest.json
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: eQ22YMnCZIK4V0GWs7wzqQ==
-SHA1-Digest: XRKdwWItWXQwh+KrWk+Qh5HuaWk=
+MD5-Digest: FyrA155ucp2TMfWEUd7elw==
+SHA1-Digest: q7Vw0SgCC+7IHYPcP+GovkSZOkM=
 
 Name: webextension/noscript.js
 Digest-Algorithms: MD5 SHA1
diff --git a/META-INF/mozilla.rsa b/META-INF/mozilla.rsa
index a156253..256e96b 100644
Binary files a/META-INF/mozilla.rsa and b/META-INF/mozilla.rsa differ
diff --git a/META-INF/mozilla.sf b/META-INF/mozilla.sf
index 79da834..b55fd18 100644
--- a/META-INF/mozilla.sf
+++ b/META-INF/mozilla.sf
@@ -1,4 +1,4 @@
 Signature-Version: 1.0
-MD5-Digest-Manifest: X9G4BvnOCEmx2DYWL2fKyg==
-SHA1-Digest-Manifest: Ktsaj3UDGDzp4L4pO9GtOUebhV0=
+MD5-Digest-Manifest: L1nPDINfg9gY34M1mdKsbA==
+SHA1-Digest-Manifest: TCnjeZ/3hlqmTK7bGuUddznhL/s=
 
diff --git a/bootstrap.js b/bootstrap.js
index a3da6ae..43f3a08 100644
--- a/bootstrap.js
+++ b/bootstrap.js
@@ -8,10 +8,8 @@ let module = {};
 
 function startup(data, reason) {
     Cu.import(moduleURL, module);
-    module.startup(data);  // Do whatever initial startup stuff you need to do
-    if (module.upgrade && (reason === ADDON_INSTALL || reason === ADDON_UPGRADE)) {
-      module.upgrade(data);
-    }
+    module.startup(data, reason === APP_STARTUP);  // Do whatever initial startup stuff you need to do
+
     if (module.loadIntoWindow) {
       forEachOpenWindow(module.loadIntoWindow);
     }
diff --git a/chrome/content/noscript/ABE.js b/chrome/content/noscript/ABE.js
index 881a22a..95d7146 100644
--- a/chrome/content/noscript/ABE.js
+++ b/chrome/content/noscript/ABE.js
@@ -1181,6 +1181,10 @@ var ABEStorage = {
   },
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
   observe: function(prefs, topic, name) {
+    if (typeof ABE === "undefined") {
+      prefs.removeObserver("", this, true);
+      return;
+    }
     switch(name) {
       case "wanIpAsLocal":
         WAN.enabled = prefs.getBoolPref(name);
@@ -1347,6 +1351,10 @@ var WAN = {
   _observingHTTP: false,
 
   observe: function(subject, topic, data) {
+    if (typeof WAN === "undefined") {
+      OS.removeObserver(this, topic);
+      return;
+    }
     if (!this.enabled) return;
 
     switch(topic) {
diff --git a/chrome/content/noscript/ClearClickHandler.js b/chrome/content/noscript/ClearClickHandler.js
index f81ce4d..211c330 100644
--- a/chrome/content/noscript/ClearClickHandler.js
+++ b/chrome/content/noscript/ClearClickHandler.js
@@ -290,7 +290,10 @@ ClearClickHandler.prototype = {
   },
 
   handleEvent: function(ev) {
-
+    if (typeof ClearClickHandler === "undefined") { // uninstalled
+      ev.currentTarget.removeEventListener(ev.type, arguments.callee, true);
+      return;
+    }
     const o = ev.target;
     const d = o.ownerDocument;
     if (!d) return;
diff --git a/chrome/content/noscript/FrameScript.jsm b/chrome/content/noscript/FrameScript.jsm
index a1c61c6..9ab821d 100644
--- a/chrome/content/noscript/FrameScript.jsm
+++ b/chrome/content/noscript/FrameScript.jsm
@@ -47,7 +47,8 @@ FrameScript.prototype = {
     [Ci.nsIObserver, Ci.nsISupportsWeakReference]),
   init() {
     let ctx = this.ctx;
-    new PasteHandler(ctx);
+    let pasteHandler = new PasteHandler(ctx);
+    ctx.ns.onDisposal(() => pasteHandler.dispose());
     ctx.uiSync = new UISync(ctx);
     ctx.ns.dump(`Framescript initialized in ${ctx.content.location.href}`);
   },
diff --git a/chrome/content/noscript/MSEInterception.js b/chrome/content/noscript/MSEInterception.js
index 0b89729..f3086cc 100644
--- a/chrome/content/noscript/MSEInterception.js
+++ b/chrome/content/noscript/MSEInterception.js
@@ -1,6 +1,10 @@
 var MSEInterception = {
   sites: {},
   handler(ev) {
+    if (typeof ns === "undefined") {
+      ev.currentTarget.removeEventListener(ev.type, argument.callee, true);
+      return;
+    }
     let target = ev.target;
     let mime = ev.detail.mime;
     let doc = target.ownerDocument || target;
diff --git a/chrome/content/noscript/Main.js b/chrome/content/noscript/Main.js
index c767910..2132e3d 100644
--- a/chrome/content/noscript/Main.js
+++ b/chrome/content/noscript/Main.js
@@ -108,7 +108,7 @@ this.__defineGetter__("ABE", function() {
 });
 
 const ns = {
-  VERSION: "5.1.2rc1",
+  VERSION: "5.1.2",
   classDescription: CLASS_NAME,
 	classID: Components.ID(SERVICE_ID),
 	contractID: SERVICE_CTRID,
@@ -156,7 +156,7 @@ const ns = {
           }
           break;
         case "sessionstore-windows-restored":
-          ns.checkVersion();
+          ns.checkVersion(true);
           INCLUDE("Removal");
           break;
 
@@ -219,6 +219,7 @@ const ns = {
         OS.removeObserver(this[topic] || this, topic);
       } catch (e) {}
     }
+    this.observe = () => {};
     this.dump("NoScript shutdown done");
   },
 
@@ -1064,7 +1065,7 @@ const ns = {
     if (s && !this._isHttpsAndNotUntrusted(s)) return false;
     if (!win) return !!s;
     for (;; win = win.parent) {
-      let site = this.getSite(this.getPrincipalOrigin(this.getPrincipal(win.document)));
+      let site = this.getDocSite(win.document);
       if (!(allow = s && site === s || this._isHttpsAndNotUntrusted(site)) || win === win.parent)
         break;
       s = site;
@@ -1312,9 +1313,12 @@ const ns = {
     return enabled;
   },
 
-  getSite: function(url) {
+  getSite(url) {
     return SiteUtils.getSite(url);
   },
+  getDocSite(doc) {
+    return this.getSite(this.getPrincipalOrigin(this.getPrincipal(doc)));
+  },
 
   getQuickSite: function(url, level) {
     var site = null;
@@ -3650,19 +3654,11 @@ const ns = {
     var scripts;
 
     if (jsBlocked) {
-
       this.blockEvents(doc.defaultView);
-
-      if (this.getPref("fixLinks")) {
-        let newWin = doc.defaultView;
-        newWin.addEventListener("click", this.bind(this.onContentClick), true);
-        newWin.addEventListener("change", this.bind(this.onContentChange), true);
-      }
     } else {
 
       if (this.implementToStaticHTML && !("toStaticHTML" in doc.defaultView)) {
         scripts = [this._toStaticHTMLDef];
-        doc.addEventListener("NoScript:toStaticHTML", this._toStaticHTMLHandler, false, true);
       }
 
       let dntPatch = DoNotTrack.getDOMPatch(docShell);
@@ -3877,7 +3873,7 @@ const ns = {
       }
     }
   },
-  _toStaticHTMLHandler:  function(ev) {
+  toStaticHTMLHandler:  function(ev) {
     try {
       var t = ev.target;
       var doc = t.ownerDocument;
@@ -4212,15 +4208,11 @@ const ns = {
         s.hasAttribute("multiple") ||
         !/open|nav|location|\bgo|load/i.test(s.getAttribute("onchange"))) return;
 
-    var doc = s.ownerDocument;
-    var url = doc.documentURI;
-    if (this.isJSEnabled(this.getSite(url), doc.defaultView)) return;
-
     var opt = s.options[s.selectedIndex];
     if (!opt) return;
 
     if (/[\/\.]/.test(opt.value) && opt.value.indexOf("@") < 0) {
-      this.attemptNavigation(doc, opt.value, function(doc, uri) {
+      this.attemptNavigation(s.ownerDocument, opt.value, function(doc, uri) {
         doc.defaultView.location.href = uri.spec;
       });
       ev.preventDefault();
@@ -4236,11 +4228,10 @@ const ns = {
     if (a.__noscriptFixed) return;
 
     var doc = a.ownerDocument;
-    var url = doc.documentURI;
-    if (this.isJSEnabled(this.getSite(url))) return;
-
-    let onclick;
     let w = doc.defaultView;
+    
+    let onclick;
+
     while (!(a instanceof w.HTMLAnchorElement || a instanceof w.HTMLAreaElement)) {
       if (typeof(a.getAttribute) == "function" && (onclick = a.getAttribute("onclick"))) break;
       if (!(a = a.parentNode)) return;
diff --git a/chrome/content/noscript/MainChild.js b/chrome/content/noscript/MainChild.js
index 0cf34e0..5f9ab54 100644
--- a/chrome/content/noscript/MainChild.js
+++ b/chrome/content/noscript/MainChild.js
@@ -35,7 +35,7 @@ var MainChild = {
 
   blockWhereNeeded(browser) {
     this.traverseDocShells(function(docShell) {
-      let site = this.getSite(docShell.currentURI.spec);
+      let site = this.getDocSite(docShell.document);
       if (!(this.isJSEnabled(site) || this.checkShorthands(site))) {
         try {
           WinScript.block(docShell.document.defaultView);
diff --git a/chrome/content/noscript/MainParent.js b/chrome/content/noscript/MainParent.js
index f4e3fd4..9a13d94 100644
--- a/chrome/content/noscript/MainParent.js
+++ b/chrome/content/noscript/MainParent.js
@@ -190,27 +190,33 @@ var MainParent = {
 
   firstRun: false,
   versionChecked: false,
-  checkVersion: function() {
+  checkVersion: function(browserStartup = false) {
     if (this.versionChecked) return;
-    this.versionChecked = true;
+    this.versionChecked = browserStartup;
 
     if (!this.getPref("visibleUIChecked", false) && this.ensureUIVisibility())
       this.setPref("visibleUIChecked", true);
 
-    const ver =  this.VERSION;
-    const prevVer = this.getPref("version", "");
-
-    if ((this.firstRun = prevVer != ver)) {
-      if (prevVer) try {
+    let ver =  this.VERSION;
+    let prevVer = this.getPref("version", "");
+    this.firstRun = prevVer !== ver;
+    if (!this.firstRun) {
+      prevVer = this.getPref("firstRunRedirection.pending", ver);
+    }
+    ns.dump(`Checking version - browserStartup=${browserStartup}, ${prevVer} -> ${ver}`);
+    if (this.firstRun || prevVer !== ver) {
+      if (this.firstRun && prevVer) try {
         this.onVersionChanged(prevVer);
       } catch (ex) {
         Cu.reportError(ex);
       }
       this.setPref("version", ver);
-      this.savePrefs();
+      this.setPref("firstRunRedirection.pending", ver);
       const betaRx = /(?:a|alpha|b|beta|pre|rc)\d*$/; // see http://viewvc.svn.mozilla.org/vc/addons/trunk/site/app/config/constants.php?view=markup#l431
       if (prevVer.replace(betaRx, "") != ver.replace(betaRx, "")) {
-        if (this.getPref("firstRunRedirection", true)) {
+        if (!browserStartup) {
+          this.setPref("firstRunRedirection.pending", prevVer);
+        } else if (this.getPref("firstRunRedirection", true)) {
           const name = "noscript";
           const domain = name.toLowerCase() + ".net";
 
@@ -248,6 +254,7 @@ var MainParent = {
           }, {});
         }
       }
+      this.savePrefs();
     }
   },
 
diff --git a/chrome/content/noscript/PasteHandler.jsm b/chrome/content/noscript/PasteHandler.jsm
index b666176..72151f1 100644
--- a/chrome/content/noscript/PasteHandler.jsm
+++ b/chrome/content/noscript/PasteHandler.jsm
@@ -1,5 +1,3 @@
-'use strict';
-
 var EXPORTED_SYMBOLS = ["PasteHandler"];
 
 const Cu = Components.utils;
@@ -8,11 +6,23 @@ Cu.import("chrome://noscript/content/importer.jsm");
 let IMPORT = IMPORT_FOR(this);
 
 function PasteHandler(ctx) {
+  this.ctx = ctx;
   ctx.addEventListener("paste", pasteEventHandler, true);
 }
 
+PasteHandler.prototype = {
+  dispose() {
+    this.ctx.removeEventListener("paste", pasteEventHandler, true);
+  }
+}
+
+
 
 function pasteEventHandler(e) {
+  if (typeof Cu === "undefined") { // uninstalled
+    e.currentTarget.removeEventListener(e.type, arguments.callee, true);
+    return;
+  }
   Cu.import("resource://gre/modules/Services.jsm");
   if (!Services.prefs.getBoolPref("noscript.sanitizePaste")) {
     return;
diff --git a/chrome/content/noscript/Policy.js b/chrome/content/noscript/Policy.js
index 5ef9c11..5c7f7f6 100644
--- a/chrome/content/noscript/Policy.js
+++ b/chrome/content/noscript/Policy.js
@@ -825,8 +825,9 @@ var MainContentPolicy = {
       if (forbid) forbid = !(aContentLocation.schemeIs("file") && aRequestOrigin && aRequestOrigin.schemeIs("resource")); // fire.fm work around
 
       if (forbid && this.cascadePermissions && !this.contentBlocker) {
-        let principal = aContext.ownerDocument && aContext.ownerDocument.defaultView.top.document.nodePrincipal;
-        forbid = untrusted || !this.isJSEnabled(this.getSite(this.getPrincipalOrigin(principal), aContext.ownerDocument.defaultView));
+        let win = aContext.ownerDocument && aContext.ownerDocument.defaultView;
+        let topDoc = win.top.document;
+        forbid = untrusted || !this.isJSEnabled(this.getDocSite(topDoc), win);
       }
 
       if (forbid) {
diff --git a/chrome/content/noscript/Restartless.jsm b/chrome/content/noscript/Restartless.jsm
index 52b914f..cd23fb3 100644
--- a/chrome/content/noscript/Restartless.jsm
+++ b/chrome/content/noscript/Restartless.jsm
@@ -5,42 +5,72 @@ Cu.import(`chrome://noscript/content/importer.jsm`);
 
 Services.scriptloader.loadSubScript(NO_CACHE("loader.js"), this);
 
-function loadDefaultPrefs(xpiURI, fileName) {
-  try {
-      let prefURI = xpiURI.spec + "/defaults/preferences/" + fileName;
-      let branch = Services.prefs.getDefaultBranch("");
-      Services.scriptloader.loadSubScript(prefURI, {
-        Cc,
-        Ci,
-        pref(name, value) {
-            try {
-              switch (typeof value) {
-                  case "boolean":
-                      branch.setBoolPref(name, value);
-                      break;
-
-                  case "number":
-                      branch.setIntPref(name, value);
-                      break;
-
-                  case "string":
-                      var str = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString);
-                      str.data = value;
-                      branch.setComplexValue(name, Ci.nsISupportsString, str);
-                      break;
-              }
-            } catch (e) {
-                Cu.reportError(`NoScript could not set default pref value for ${name}: ${e}`);
-            }
+function loadPrefs(branch, uriOrFile, filter = null) {
+    try {
+      let setPref = (name, value) => {
+        try {
+          switch (typeof value) {
+            case "boolean":
+            branch.setBoolPref(name, value);
+            break;
+
+            case "number":
+            branch.setIntPref(name, value);
+            break;
+
+            case "string":
+            var str = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString);
+            str.data = value;
+            branch.setComplexValue(name, Ci.nsISupportsString, str);
+            break;
+          }
+        } catch (e) {
+          Cu.reportError(`NoScript could not set default pref value for ${name}: ${e}`);
         }
-      });
+      };
+      
+      if (typeof uriOrFile === "string") {
+        let uri = uriOrFile;
+        let pref = filter ? (name, value) => filter(name, value) && setPref(name, value)
+                        : setPref;
+        Services.scriptloader.loadSubScript(uri, { pref });
+      } else {
+        INCLUDE("IO");
+        let file = uriOrFile;
+        let prefJSON = JSON.parse(`[${IO.readFile(file).replace(/^[^p].*/mg, '')
+                    .replace(/^pref\((.*)\);$/mg, "[$1],")
+                    .replace(/,\s*$/, '')}]`);
+        if (filter) prefJSON = prefJSON.filter(([name, value]) => filter(name, value));
+        prefJSON.forEach(([name, value]) => setPref(name, value));
+      }
   } catch (err) {
-      Cu.reportError(err);
+    Cu.reportError(err);
   }
 }
 
-function startup(addonData) {
-  loadDefaultPrefs(addonData.resourceURI, "noscript.js");
+function loadDefaultPrefs(xpiURI) {
+  let branch = Services.prefs.getDefaultBranch("");
+  let seen = null;
+  let overrides = Cc["@mozilla.org/file/directory_service;1"]
+    .getService(Ci.nsIProperties).get("ProfD", Ci.nsIFile);
+  overrides.append("preferences");
+  if (overrides.exists() && overrides.isDirectory()) {
+    seen = new Set();
+    let filter = name => name.startsWith("noscript.") && seen.add(name);
+    for (let entries = overrides.directoryEntries, file; (file = entries.getNext()) instanceof Ci.nsIFile;) {
+      if (file.path.endsWith(".js")) {
+        loadPrefs(branch, file, filter);
+      }
+    }
+  }
+  let filter = seen && seen.size ? name => !seen.has(name) : null;
+  loadPrefs(branch, `${xpiURI}/defaults/preferences/noscript.js`, filter);
+}
+
+function startup(addonData, browserStartup) {
+
+  loadDefaultPrefs(addonData.resourceURI.spec);
+
   INCLUDE("Main");
   Main.bootstrap();
 
@@ -49,6 +79,7 @@ function startup(addonData) {
   if (Main.webExt && addonData.webExtension) {
     Main.webExt.init(addonData.webExtension);
   }
+  Main.checkVersion();
 }
 
 function shutdown(addonData) {
@@ -59,9 +90,6 @@ function shutdown(addonData) {
   UNLOAD_ALL();
 }
 
-function upgrade(addonData) {
-  Main.checkVersion();
-}
 
 try {
   Cu.import("resource:///modules/CustomizableUI.jsm");
@@ -69,13 +97,14 @@ try {
   var CustomizableUI = null;
 }
 var widgetTemplate = null;
-let isSeamonkey = () => !CustomizableUI && Services.appinfo.ID === "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}";
-const OVERLAY_URL = NO_CACHE(`noscriptOverlay${isSeamonkey() ? "" : "Fx57"}.xul`);
+var overlayURL  = NO_CACHE(`noscriptOverlay-noStatusBar.xul`);
 
 function createWidgetTemplate(window, callback) {
-  let xhr = window ? new window.XMLHttpRequest() : // Let's provide as much contextual info as possible, e.g. to Tor Browser
-              Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
-  xhr.open("GET", OVERLAY_URL);
+  let xhr = new window.XMLHttpRequest();
+  if (window.document.getElementById("status-bar")) {
+    overlayURL = overlayURL.replace("-noStatusBar", "");
+  }
+  xhr.open("GET", overlayURL);
 
   try {
     // work around to resolve overlay's XML entities despite the Tor Browser
@@ -146,8 +175,16 @@ function placeWidgetNoAustralis(document) {
 
 var overlayLoading = false;
 var overlayQueue = [];
+var overlaid = new WeakSet();
+function overlayNext() {
+  overlayLoading = false;
+  if (overlayQueue.length) {
+    Thread.asap(() => loadIntoWindow(overlayQueue.shift()));
+  }
+}
 function loadIntoWindow(w, early = false) {
   if (w.noscriptOverlay) return;
+
   if (overlayLoading) {
     overlayQueue.push(w);
     return;
@@ -163,15 +200,20 @@ function loadIntoWindow(w, early = false) {
   }
   
   try {
-    w.document.loadOverlay(OVERLAY_URL, {
+    if (overlaid.has(w)) {
+      overlayNext();
+      return;
+    }
+    overlaid.add(w);  
+    w.document.loadOverlay(overlayURL, {
       observe() {
         if (!early) {
           if (CustomizableUI) {
-            CustomizableUI.ensureWidgetPlacedInWindow(widgetTemplate.id, w);
             let widget = w.document.getElementById(widgetTemplate.id);
             if (widget) widget.hidden = false;
             else {
-              Main.log(`${widgetTemplate.id} not found!`);
+              Main.dump(`${widgetTemplate.id} not found!`);
+              CustomizableUI.ensureWidgetPlacedInWindow(widgetTemplate.id, w);
             }
           } else {
             placeWidgetNoAustralis(w.document);
@@ -186,16 +228,13 @@ function loadIntoWindow(w, early = false) {
           })();
         }
         Main.dump(`Overlay loaded ${early}, ${w.noscriptOverlay}`);
-        overlayLoading = false;
-        if (overlayQueue.length) {
-          loadIntoWindow(overlayQueue.shift());
-        }
+        overlayNext();
       }
     });
   } catch (e) {
     Cu.reportError(e);
     Cu.reportError(`Could not overlay ${w.location.href}`);
-    overlayLoading = false;
+    overlayNext();
   }
 
 }
diff --git a/chrome/content/noscript/ScriptSurrogate.js b/chrome/content/noscript/ScriptSurrogate.js
index 1744cf6..c5f8483 100644
--- a/chrome/content/noscript/ScriptSurrogate.js
+++ b/chrome/content/noscript/ScriptSurrogate.js
@@ -179,14 +179,30 @@ var ScriptSurrogate = {
     return scripts;
   },
 
-
-  _errorListener: function(ev) {
-    var s = ev.target;
+  _listener(ev) {
+    if (typeof ScriptSurrogate === "undefined") { // disabled / uninstalled
+      let f = arguments.callee;
+      let t = ev.currentTarget;
+      for (let et of ["error", "beforescriptexecute", "afterscriptexecute"]) {
+        t.removeEventListener(et, f, true);
+      }
+      return;
+    }
+    
+    let s = ev.target;
     if (s.localName !== "script") return;
     let url = s.src;
     if (!url) return;
 
     let doc = s.ownerDocument;
+    let et = ev.type;
+
+    if (et !== "error") { // onbefore/onafter script execution
+      ScriptSurrogate.apply(doc, url, et[0] === 'b' ? "<" : ">", false);
+      return;
+    }
+
+    // onerror
     let hasSurrogate = ScriptSurrogate.apply(doc, url);
     if (!hasSurrogate) return;
 
@@ -199,16 +215,13 @@ var ScriptSurrogate = {
       ) {
       ev.preventDefault();
       ev.stopPropagation();
-      ev = s.ownerDocument.createEvent('HTMLEvents');
+      ev = doc.createEvent('HTMLEvents');
       ev.initEvent('load', false, true);
       s.dispatchEvent(ev);
     }
-  },
-  _execListener: function(ev) {
-    let s = ev.target;
-    if (s.localName === "script" && s.src) {
-      ScriptSurrogate.apply(s.ownerDocument, s.src, ev.type[0] === 'b' ? "<" : ">", false);
-    }
+    
+    
+    
   },
 
   replaceScript: function(scriptElement) {
@@ -229,23 +242,24 @@ var ScriptSurrogate = {
       scripts = this.getScripts(scriptURL, pageURL, noScript, scripts);
       if (pageURL && !noScript) {
         let w = document.defaultView;
-        w.addEventListener("error", this._errorListener, true);
-        if (this.mappings.before.length)
-          w.addEventListener("beforescriptexecute", this._execListener, true);
-        if (this.mappings.after.length)
-          w.addEventListener("afterscriptexecute", this._execListener, true);
+        let events = ["error"];
+        for (let when of ["before", "after"]) {
+          if (this.mappings[when].length) events.push(`${when}scriptexecute`);
+        }
+        for (let e of events) {
+          w.addEventListener(e, this._listener, true);
+        }
       }
     }
 
     if (!scripts) return false;
 
-    const runner = noScript
-      ? this.fallback
-      : scriptURL === pageURL
-        ? document.defaultView !== document.defaultView.top
-            ? this.executeSandbox
+    const runner = noScript ? this.fallback :
+      scriptURL === pageURL ?
+        document.defaultView !== document.defaultView.top ?
+          this.executeSandbox
             : (this.sandbox ? this.execute : this.executeDOM)
-        : this.sandboxInclusions ? this.executeSandbox : this.executeDOM;
+          : this.sandboxInclusions ? this.executeSandbox : this.executeDOM;
 
     if (this.debug) {
       // we run each script separately and don't swallow exceptions
diff --git a/chrome/content/noscript/UISync.jsm b/chrome/content/noscript/UISync.jsm
index 68d6c80..439e58a 100644
--- a/chrome/content/noscript/UISync.jsm
+++ b/chrome/content/noscript/UISync.jsm
@@ -21,14 +21,16 @@ UISync.prototype = {
   },
 
   listeners: [],
-  addListener(type, handler, opts) {
-    this.ctx.addEventListener(type, handler, opts);
+  addListener(type, handler, ...opts) {
+    this.ctx.addEventListener(type, handler, ...opts);
     this.listeners.push({type, handler, opts});
   },
   removeListeners() {
     let ctx = this.ctx;
+    let ns = ctx.ns;
     for(let {type, handler, opts} of this.listeners) {
-      ctx.removeEventListener(type, handler, opts);
+      if (ns.consoleDump) ns.dump(`Removing listener ${type}, ${uneval(handler)}, ${uneval(opts)}`);
+      ctx.removeEventListener(type, handler, ...opts);
     }
   },
 
@@ -92,7 +94,25 @@ UISync.prototype = {
       eraser.tapped = null;
     }, true);
 
-
+    let fixLinksHandler = ev => {
+      let ns = ctx.ns;
+      if (!ns.getPref("fixLinks")) return;
+      let doc = ev.target.ownerDocument;
+      if (ns.isJSEnabled(ns.getDocSite(doc), doc.defaultView)) return;
+      switch(ev.type) {
+        case "click":
+          ns.onContentClick(ev);
+          break;
+        case "change":
+          ns.onContentChange(ev);
+          break;
+      }
+    };
+    this.addListener("click",fixLinksHandler, true);
+    this.addListener("change", fixLinksHandler, true);
+    if (ctx.ns.implementToStaticHTML) {
+      this.addListener("NoScript:toStaticHTML", ctx.ns.toStaticHTMLHandler, false, true);
+    }
     for (let m of messages) {
       ctx.addMessageListener(m, this);
     }
diff --git a/chrome/content/noscript/WebExt.js b/chrome/content/noscript/WebExt.js
index e70a68e..8895cf3 100644
--- a/chrome/content/noscript/WebExt.js
+++ b/chrome/content/noscript/WebExt.js
@@ -13,8 +13,12 @@ var WebExt = {
     this.tell("stop");
   },
   tell(type, data) {
-    if (this.port) {
+    if (this.port) try {
       this.port.postMessage({ type, data });
+    } catch (e) {
+      if (!/\bdead object\b/.test(e.message)) { // normal on uninstall
+        Cu.reportError(e);
+      }
     }
   },
 
diff --git a/chrome/content/noscript/about.xul b/chrome/content/noscript/about.xul
index fc23c9f..bf4f3d1 100644
--- a/chrome/content/noscript/about.xul
+++ b/chrome/content/noscript/about.xul
@@ -48,7 +48,7 @@ function about_onload() {
   
   var str = getString("aboutTitle",["NoScript"]);
   if(str) document.title = str;
-  str = getString("version", ["5.1.2rc1"]);
+  str = getString("version", ["5.1.2"]);
   if(str) document.getElementById("extensionVersion").setAttribute("value", str);
   
   setString("extensionDescription",null,"extensions.{73a6fe31-595d-460b-a920-fcc0f8843232}.description");
@@ -86,7 +86,7 @@ function about_open(url, features) {
 <hbox id="headBox" align="end">
 <vbox flex="1">
 <label value="NoScript" id="extensionName" crop="right"/>
-<label value="Version 5.1.2rc1" id="extensionVersion" crop="right"/>
+<label value="Version 5.1.2" id="extensionVersion" crop="right"/>
 </vbox>
 <vbox flex="1" align="end">
 <hbox align="end">
@@ -164,7 +164,7 @@ function about_open(url, features) {
 <hbox>
 <label id="license" class="text-link" tooltiptext="Read end-user license" onclick="about_open('chrome://noscript/content/NoScript_License.txt')">License</label>
 <spacer flex="1"/>
-<label id="changelog" class="text-link" align="center" tooltiptext="See Changelog" onclick="about_open('https://noscript.net/changelog#5.1.2rc1')">Changelog</label>
+<label id="changelog" class="text-link" align="center" tooltiptext="See Changelog" onclick="about_open('https://noscript.net/changelog#5.1.2')">Changelog</label>
 <spacer flex="1"/>
 <label id="extensionHomepage" class="text-link" tooltiptext="Visit Extension Home Page" onclick="about_open('https://noscript.net')">https://noscript.net</label>
 </hbox>
diff --git a/chrome/content/noscript/noscriptBM.js b/chrome/content/noscript/noscriptBM.js
index 9d0995b..16d2cab 100644
--- a/chrome/content/noscript/noscriptBM.js
+++ b/chrome/content/noscript/noscriptBM.js
@@ -63,13 +63,16 @@ window.noscriptBM = {
     return noscriptUtil.service.handleBookmark(url, openCallback);
   },
   
-  patchPlacesMethods: function(pu) {   
-    if ("__originalCheckURLSecurity" in pu) return; // already patched
-    pu.__originalCheckURLSecurity = pu.checkURLSecurity;
-    pu.__ns = noscriptUtil.service;
-    pu.checkURLSecurity = pu.__ns.placesCheckURLSecurity;
+  patchPlacesMethods: function(pu) {
+    let ns = noscriptUtil.service;
+    if (pu.__ns === ns) return; // already patched
+    pu.__ns = ns;
+    if (!pu.__originalCheckURLSecurity) {
+      pu.__originalCheckURLSecurity = pu.checkURLSecurity;
+    }
+    pu.checkURLSecurity = ns.placesCheckURLSecurity;
     
-    noscriptBM.onDisposal(() => {
+    ns.onDisposal(() => {
       if ("__originalCheckURLSecurity" in pu) {
         pu.checkURLSecurity = pu.__originalCheckURLSecurity;
         delete pu.__originalCheckURLSecurity;
@@ -93,6 +96,9 @@ window.noscriptBM = {
       if("handleURLBarCommand" in window) { // Fx 3.0
         patch = { obj: window, func: window.handleURLBarCommand };
         window.handleURLBarCommand = noscriptBM.handleURLBarCommand;
+        noscriptBM.onDisposal(() => {
+          window.handleURLBarCommand = patch.func;
+        });
       } else if ("gBrowser" in window) { // Fx >= 3.5
         patch = { obj: gBrowser, func: gBrowser.loadURIWithFlags };
         gBrowser.loadURIWithFlags = noscriptBM.loadURIWithFlags;
@@ -101,7 +107,7 @@ window.noscriptBM = {
         });
       }
       if (patch) {
-        noscriptBM.handleURLBarCommandOriginal = (args) => patch.func.apply(patch.obj, args);
+        noscriptBM.handleURLBarCommandOriginal = args => patch.func.apply(patch.obj, args);
       }
     }
     
@@ -149,8 +155,11 @@ window.noscriptBM = {
   },
   dispose() {
     window.removeEventListener("unload", noscriptBM.dispose, false);
-    for (let t of noscriptBM._disposalTasks) {
+    let ns = noscriptUtil.service;
+    let tasks = noscriptBM._disposalTasks; 
+    for (let t of tasks) {
       try {
+        if (ns.consoleDump) ns.dump(`Running noscriptBM disposal task ${uneval(t)}`);
         t();
       } catch (e) {
         Components.utils.reportError(e);
diff --git a/chrome/content/noscript/noscriptOverlayFx57.xul b/chrome/content/noscript/noscriptOverlay-noStatusBar.xul
similarity index 100%
rename from chrome/content/noscript/noscriptOverlayFx57.xul
rename to chrome/content/noscript/noscriptOverlay-noStatusBar.xul
diff --git a/chrome/content/noscript/noscriptOverlay.js b/chrome/content/noscript/noscriptOverlay.js
index 2c88cad..80668f9 100644
--- a/chrome/content/noscript/noscriptOverlay.js
+++ b/chrome/content/noscript/noscriptOverlay.js
@@ -1442,7 +1442,8 @@ return {
     if (this._syncTimeout) return;
     this._syncTimeout = window.setTimeout(() => {
       this._syncTimeout = 0;
-      if (this.currentBrowser === browser) {
+      if (this.currentBrowser === browser &&
+          typeof noscriptOverlay !== "undefined" && this === noscriptOverlay) {
         this._syncUINow();
       }
      }, 400);
@@ -2409,7 +2410,7 @@ return {
       }
 
     },
-    onUnload: function(ev) {
+    onUnload: function() {
       noscriptOverlay.ns.dump(`Unloading from ${window.location}`);
       window.removeEventListener("unload", noscriptOverlay.listeners.onUnload, false);
       noscriptOverlay.ns.clearClickHandler.chromeUninstall(window);
diff --git a/chrome/locale/bg-BG/noscript/noscript.dtd b/chrome/locale/bg-BG/noscript/noscript.dtd
index e4b6776..dd6a3e0 100644
--- a/chrome/locale/bg-BG/noscript/noscript.dtd
+++ b/chrome/locale/bg-BG/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Настройки…">
 <!ENTITY noscriptOptions.accesskey "Н">
 <!ENTITY noscriptOptionsLong "Настройки на NoScript">
-<!ENTITY noscriptAbout "За NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "За NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Можете да зададете в кои уеб-сайтове е позволено да се използват скриптовете. Напишете адреса или домейна (например "http://www.site.com" или "site.com") на сайта, който искате да разрешите и натиснете Разреши.">
 <!ENTITY noscriptWebAddress "Адрес на уеб-сайта:">
 <!ENTITY noscriptAllow "Разреши">
diff --git a/chrome/locale/ca-AD/noscript/noscript.dtd b/chrome/locale/ca-AD/noscript/noscript.dtd
index 04433c2..84b77ea 100644
--- a/chrome/locale/ca-AD/noscript/noscript.dtd
+++ b/chrome/locale/ca-AD/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcions...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcions de NoScript">
-<!ENTITY noscriptAbout "Quant a NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Quant a NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Podeu especificar quins llocs web poden executar seqüències. El tipus d'adreça o el domini (p.ex. "http://www.site.com" o "site.com") del lloc al qual voleu donar permissos i feu clic a Permet.">
 <!ENTITY noscriptWebAddress "Adreça del lloc web:">
 <!ENTITY noscriptAllow "Permet">
diff --git a/chrome/locale/cs-CZ/noscript/noscript.dtd b/chrome/locale/cs-CZ/noscript/noscript.dtd
index 3465507..a8e5cbf 100644
--- a/chrome/locale/cs-CZ/noscript/noscript.dtd
+++ b/chrome/locale/cs-CZ/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Nastavení...">
 <!ENTITY noscriptOptions.accesskey "N">
 <!ENTITY noscriptOptionsLong "Nastavení NoScript">
-<!ENTITY noscriptAbout "O rozšíření NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "O rozšíření NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Můžete si zvolit, které webové stránky mají povoleno spouštět skripty. Zadejte adresu (např. http://www.site.com nebo site.com) na které se nachází stránka, pro kterou chcete skripty povolit a klepněte na Povolit.">
 <!ENTITY noscriptWebAddress "Adresa webové stránky:">
 <!ENTITY noscriptAllow "Povolit">
diff --git a/chrome/locale/cy-GB/noscript/noscript.dtd b/chrome/locale/cy-GB/noscript/noscript.dtd
index 4b6622e..22c8091 100644
--- a/chrome/locale/cy-GB/noscript/noscript.dtd
+++ b/chrome/locale/cy-GB/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opsiynau">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opsiynau NoScript">
-<!ENTITY noscriptAbout "Yngylch NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Yngylch NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Cewch enwi pa wefannau sy'n cael rhedeg sgriptiau. Teipiwch gyfeiriad neu barth (e.e. "http://www.site.com" neu "site.com") y safle rydych eisiau ei ganiatau ac wedyn cliciwch Caniatau.">
 <!ENTITY noscriptWebAddress "Cyfeiriad wefan">
 <!ENTITY noscriptAllow "Caniatau">
diff --git a/chrome/locale/da/noscript/noscript.dtd b/chrome/locale/da/noscript/noscript.dtd
index 70ebdb3..22a3efa 100644
--- a/chrome/locale/da/noscript/noscript.dtd
+++ b/chrome/locale/da/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Indstillinger…">
 <!ENTITY noscriptOptions.accesskey "I">
 <!ENTITY noscriptOptionsLong "NoScript Indstillinger">
-<!ENTITY noscriptAbout "Om NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Om NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Du kan angive hvilke websteder der må udføre scripts. Indtast adresse eller domæne (f.eks. "http://www.site.com" eller "site.com") på det websted du ønsker at tillade og klik på Tillad.">
 <!ENTITY noscriptWebAddress "Webstedets adresse:">
 <!ENTITY noscriptAllow "Tillad">
diff --git a/chrome/locale/de/noscript/noscript.dtd b/chrome/locale/de/noscript/noscript.dtd
index 55ae661..28f6093 100644
--- a/chrome/locale/de/noscript/noscript.dtd
+++ b/chrome/locale/de/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Einstellungen…">
 <!ENTITY noscriptOptions.accesskey "E">
 <!ENTITY noscriptOptionsLong "NoScript - Einstellungen">
-<!ENTITY noscriptAbout "Über NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "Über NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "Sie können festlegen, welchen Websites Sie das Ausführen von Skripten erlauben möchten. Geben Sie bitte die exakte Adresse oder die Domain der Website ein (z.B. "http://www.site.com" oder "site.com"), für die Sie dies zulassen möchten, und klicken Sie dann auf "Erlauben".">
 <!ENTITY noscriptWebAddress "Adresse der Website:">
 <!ENTITY noscriptAllow "Erlauben">
diff --git a/chrome/locale/el/noscript/noscript.dtd b/chrome/locale/el/noscript/noscript.dtd
index 9de7f70..6d7708c 100644
--- a/chrome/locale/el/noscript/noscript.dtd
+++ b/chrome/locale/el/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Επιλογές">
 <!ENTITY noscriptOptions.accesskey "Ε">
 <!ENTITY noscriptOptionsLong "Επιλογές NoScript">
-<!ENTITY noscriptAbout "Περί NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Περί NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Μπορείτε να καθορίσετε για ποιους ιστότοπους θα επιτρέπεται η εκτέλεση σεναρίων εντολών. Πληκτρολογήστε τη διεύθυνση τομέα (πχ. "http://www.site.com" or "site.com") του ιστότοπου που θέλετε και μετά κάντε κλικ στο «Να επιτρέπεται»">
 <!ENTITY noscriptWebAddress "Διεύθυνση ιστότοπου">
 <!ENTITY noscriptAllow "Να επιτρέπεται">
diff --git a/chrome/locale/en-GB/noscript/noscript.dtd b/chrome/locale/en-GB/noscript/noscript.dtd
index 643abc4..d57a794 100644
--- a/chrome/locale/en-GB/noscript/noscript.dtd
+++ b/chrome/locale/en-GB/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Options">
-<!ENTITY noscriptAbout "About NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "About NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/locale/en-US/noscript/noscript.dtd b/chrome/locale/en-US/noscript/noscript.dtd
index a7c970b..d9b29a6 100644
--- a/chrome/locale/en-US/noscript/noscript.dtd
+++ b/chrome/locale/en-US/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Options">
-<!ENTITY noscriptAbout "About NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "About NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/locale/eo/noscript/noscript.dtd b/chrome/locale/eo/noscript/noscript.dtd
index e4fa3cd..5bb77fe 100644
--- a/chrome/locale/eo/noscript/noscript.dtd
+++ b/chrome/locale/eo/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcioj…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcioj de NoScript">
-<!ENTITY noscriptAbout "Pri NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "Pri NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "Vi povas specifi, kiuj ttt-ejoj rajtu plenumigi skriptojn. Entajpu la adreson aŭ la domajnonomon (ekz. “http://www.retejo.org” aŭ “retejo.org”) de la ttt-ejo, kiun vi volas rajtigi, kaj poste alklaku “Rajtigi”.">
 <!ENTITY noscriptWebAddress "Adreso de retpaĝaro:">
 <!ENTITY noscriptAllow "Rajtigi">
diff --git a/chrome/locale/es-AR/noscript/noscript.dtd b/chrome/locale/es-AR/noscript/noscript.dtd
index d2de792..ca1f6fc 100644
--- a/chrome/locale/es-AR/noscript/noscript.dtd
+++ b/chrome/locale/es-AR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opciones…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opciones de NoScript">
-<!ENTITY noscriptAbout "Acerca de NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Acerca de NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Puede especificar a cuáles sitios web le permitirá ejecutar scripts. Escriba la dirección o el dominio (por ejemplo, "http://www.sitio.com" o "sitio.com") del sitio y luego haga clic en Permitir.">
 <!ENTITY noscriptWebAddress "Dirección del sitio web:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/locale/es-CL/noscript/noscript.dtd b/chrome/locale/es-CL/noscript/noscript.dtd
index 0253912..3df0605 100644
--- a/chrome/locale/es-CL/noscript/noscript.dtd
+++ b/chrome/locale/es-CL/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opciones de NoScript">
-<!ENTITY noscriptAbout "About NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "About NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/locale/es-ES/noscript/noscript.dtd b/chrome/locale/es-ES/noscript/noscript.dtd
index d1da55b..e1fef6a 100644
--- a/chrome/locale/es-ES/noscript/noscript.dtd
+++ b/chrome/locale/es-ES/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opciones…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Configuración de NoScript">
-<!ENTITY noscriptAbout "Acerca de NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Acerca de NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Aquí puede especificar las páginas web a las que va a permitir ejecutar código JavaScript. Escriba la dirección de la web que quiera incluir (ej. "http://www.paginaweb.com" o "paginaweb.com") y después pulse "Permitir".">
 <!ENTITY noscriptWebAddress "Dirección de la página web:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/locale/et-EE/noscript/noscript.dtd b/chrome/locale/et-EE/noscript/noscript.dtd
index b601df2..738e251 100644
--- a/chrome/locale/et-EE/noscript/noscript.dtd
+++ b/chrome/locale/et-EE/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Sätted…">
 <!ENTITY noscriptOptions.accesskey "S">
 <!ENTITY noscriptOptionsLong "NoScripti sätted">
-<!ENTITY noscriptAbout "Täpsemalt lisast NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "Täpsemalt lisast NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "Sa saad määrata, millistel veebilehtedel lubatakse skripte käivitada. Kirjuta veebilehe aadress või domeeni, mida soovid lubada (nt "http://www.site.com" või "site.com") ja klõpsa Luba nuppu">
 <!ENTITY noscriptWebAddress "Veebilehe aadress:">
 <!ENTITY noscriptAllow "Luba">
diff --git a/chrome/locale/eu/noscript/noscript.dtd b/chrome/locale/eu/noscript/noscript.dtd
index 22b0edc..4bee17d 100644
--- a/chrome/locale/eu/noscript/noscript.dtd
+++ b/chrome/locale/eu/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Aukerak:">
 <!ENTITY noscriptOptions.accesskey "A">
 <!ENTITY noscriptOptionsLong "NoScript aukerak">
-<!ENTITY noscriptAbout "NoScript 5.1.2rc1-eri buruz:">
+<!ENTITY noscriptAbout "NoScript 5.1.2-eri buruz:">
 <!ENTITY noscriptPermissionsText "Zein webgunek script-ak exekuta ditzakeen zehaztu dezakezu. Idatzi script-ak erabiltzea onartzea nahi duzun domeinuaren izena (adib. "http://www.gunea.org" or "gunea.org") eta Onartu sakatu.">
 <!ENTITY noscriptWebAddress "Webgunearen helbidea:">
 <!ENTITY noscriptAllow "Onartu">
diff --git a/chrome/locale/fa-IR/noscript/noscript.dtd b/chrome/locale/fa-IR/noscript/noscript.dtd
index 24b8777..be99ead 100644
--- a/chrome/locale/fa-IR/noscript/noscript.dtd
+++ b/chrome/locale/fa-IR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "تنظیمات...">
 <!ENTITY noscriptOptions.accesskey "ت">
 <!ENTITY noscriptOptionsLong "تنظیمات NoScript">
-<!ENTITY noscriptAbout "درباره NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "درباره NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "شما می توانید سایت هایی را که اجازه اجرای اسکریپت دارند را مشخص کنید.آدرس سایت یا نام دامنه را وارد کنید.(به عنوان مثال "http://www.site.com" یا "site.com")">
 <!ENTITY noscriptWebAddress "آدرس وب سایت :">
 <!ENTITY noscriptAllow "اجازه دادن">
diff --git a/chrome/locale/fi/noscript/noscript.dtd b/chrome/locale/fi/noscript/noscript.dtd
index 5697222..7ab1083 100644
--- a/chrome/locale/fi/noscript/noscript.dtd
+++ b/chrome/locale/fi/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Asetukset…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript asetukset">
-<!ENTITY noscriptAbout "Tietoja NoScript 5.1.2rc1istä…">
+<!ENTITY noscriptAbout "Tietoja NoScript 5.1.2istä…">
 <!ENTITY noscriptPermissionsText "Voit määrittää verkkosivut joiden sallitaan suorittaa scriptejä. Kirjoita verkko-osoite tai verkkonimi (esim. "http://www.site.com" tai "site.com") jonka haluat sallia ja paina Salli.">
 <!ENTITY noscriptWebAddress "Verkkosivun osoite:">
 <!ENTITY noscriptAllow "Salli">
diff --git a/chrome/locale/fr/noscript/noscript.dtd b/chrome/locale/fr/noscript/noscript.dtd
index f23dee8..ad04f28 100644
--- a/chrome/locale/fr/noscript/noscript.dtd
+++ b/chrome/locale/fr/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Options de NoScript">
-<!ENTITY noscriptAbout "À propos de NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "À propos de NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "Il est possible de spécifier quels sites Web sont autorisés à exécuter des scripts. Saisissez l'adresse exacte du site que vous désirez autoriser puis cliquez sur Autoriser.">
 <!ENTITY noscriptWebAddress "Adresse du site Web :">
 <!ENTITY noscriptAllow "Autoriser">
diff --git a/chrome/locale/gl-ES/noscript/noscript.dtd b/chrome/locale/gl-ES/noscript/noscript.dtd
index d45cec7..428d7fd 100644
--- a/chrome/locale/gl-ES/noscript/noscript.dtd
+++ b/chrome/locale/gl-ES/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcións...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcións de NoScript">
-<!ENTITY noscriptAbout "Acerca de NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Acerca de NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Podes especificar que páxinas web poden executar scripts. Teclea o enderezo ou o dominio (por exemplo "http://www.paxina.com" ou "paxina.com") do sitio que queres autorizar e despois preme en "Permitir".">
 <!ENTITY noscriptWebAddress "Enderezo web:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/locale/he-IL/noscript/noscript.dtd b/chrome/locale/he-IL/noscript/noscript.dtd
index 6c8f688..c806652 100644
--- a/chrome/locale/he-IL/noscript/noscript.dtd
+++ b/chrome/locale/he-IL/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "הגדרות...">
 <!ENTITY noscriptOptions.accesskey "">
 <!ENTITY noscriptOptionsLong "NoScript הגדרות של">
-<!ENTITY noscriptAbout "אודות NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "אודות NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "ציין אילו אתרים יכולים לקבל היתר להפעלת קבצי Script. הקלד את כתובת האתר או את שם התחום (כגון: "http://www.site.com" או "site.com") ולאחר מכן לחץ על התר.">
 <!ENTITY noscriptWebAddress "כתובת/תחום:">
 <!ENTITY noscriptAllow "התר">
diff --git a/chrome/locale/hr-HR/noscript/noscript.dtd b/chrome/locale/hr-HR/noscript/noscript.dtd
index 50c79e0..09c864f 100644
--- a/chrome/locale/hr-HR/noscript/noscript.dtd
+++ b/chrome/locale/hr-HR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcije...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Opcije">
-<!ENTITY noscriptAbout "O NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "O NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Možete odrediti koje web stranice imaju dopuštenje za izvođenje skripti. Upišite adresu ili domenu (npr. "http://www.stranica.hr" ili "stranica.hr") stranice kojoj želite dopustiti i kliknite na Dopusti.">
 <!ENTITY noscriptWebAddress "Adresa web stranice:">
 <!ENTITY noscriptAllow "Dopusti">
diff --git a/chrome/locale/hsb/noscript/noscript.dtd b/chrome/locale/hsb/noscript/noscript.dtd
index 029a807..f5c9e84 100644
--- a/chrome/locale/hsb/noscript/noscript.dtd
+++ b/chrome/locale/hsb/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcije…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcije NoScript">
-<!ENTITY noscriptAbout "Wo NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "Wo NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "Móžeće podać, kotre websydła smědźa skripty wuwjesć. Zapisajće adresu abo domenu  (na př. "http://www.site.com" abo "site.com") websydła, kotremuž chceće to dowolić a klikńće potom na "Dowolić".">
 <!ENTITY noscriptWebAddress "Adresa websydła:">
 <!ENTITY noscriptAllow "Dowolić">
diff --git a/chrome/locale/hu-HU/noscript/noscript.dtd b/chrome/locale/hu-HU/noscript/noscript.dtd
index c3aa825..52aa7a1 100644
--- a/chrome/locale/hu-HU/noscript/noscript.dtd
+++ b/chrome/locale/hu-HU/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Beállítások…">
 <!ENTITY noscriptOptions.accesskey "B">
 <!ENTITY noscriptOptionsLong "A NoScript beállításai">
-<!ENTITY noscriptAbout "A NoScript 5.1.2rc1 névjegye">
+<!ENTITY noscriptAbout "A NoScript 5.1.2 névjegye">
 <!ENTITY noscriptPermissionsText "Megadhatja, hogy mely webhelyek számára engedélyezi a parancsfájlok futtatását. Írja be az engedélyezni kívánt webhely címét vagy tartomány nevét (pl. "http://www.webhely.hu" vagy "webhely.hu"), majd kattintson az Engedélyezés gombra.">
 <!ENTITY noscriptWebAddress "A webhely címe:">
 <!ENTITY noscriptAllow "Engedélyezés">
diff --git a/chrome/locale/id-ID/noscript/noscript.dtd b/chrome/locale/id-ID/noscript/noscript.dtd
index 7b042c6..5df303c 100644
--- a/chrome/locale/id-ID/noscript/noscript.dtd
+++ b/chrome/locale/id-ID/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Pilihan...">
 <!ENTITY noscriptOptions.accesskey "P">
 <!ENTITY noscriptOptionsLong "Pilihan NoScript">
-<!ENTITY noscriptAbout "Tentang NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Tentang NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Anda dapat menentukan situs web mana yang diijinkan menjalankan naskah. Masukkan alamat atau domain (contoh: "http://www.site.com" atau "site.com") yang akan diberi ijin kemudian klik Ijinkan.">
 <!ENTITY noscriptWebAddress "Alamat situs web:">
 <!ENTITY noscriptAllow "Ijinkan">
diff --git a/chrome/locale/it/noscript/noscript.dtd b/chrome/locale/it/noscript/noscript.dtd
index 62c7b25..c0549d6 100644
--- a/chrome/locale/it/noscript/noscript.dtd
+++ b/chrome/locale/it/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opzioni…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opzioni NoScript">
-<!ENTITY noscriptAbout "Informazioni su NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "Informazioni su NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "Qui si possono indicare i siti per i quali l'esecuzione degli script è consentita. Digitare l'indirizzo o il dominio (es. "http://www.sito.com" oppure "sito.com")  e fare clic su Permetti.">
 <!ENTITY noscriptWebAddress "Indirizzo del sito:">
 <!ENTITY noscriptAllow "Permetti">
diff --git a/chrome/locale/ja-JP/noscript/noscript.dtd b/chrome/locale/ja-JP/noscript/noscript.dtd
index 74d0f85..360b8d5 100644
--- a/chrome/locale/ja-JP/noscript/noscript.dtd
+++ b/chrome/locale/ja-JP/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "オプション...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript オプション">
-<!ENTITY noscriptAbout "NoScript 5.1.2rc1について...">
+<!ENTITY noscriptAbout "NoScript 5.1.2について...">
 <!ENTITY noscriptPermissionsText "JavaScriptを許可するサイトを指定する事ができます。許可したいサイトのアドレスかドメインを入力して、ボタンを押してください。(例: "http://www.site.com" または "site.com")">
 <!ENTITY noscriptWebAddress "ウェブサイトのアドレス:">
 <!ENTITY noscriptAllow "許可する">
diff --git a/chrome/locale/kk-KZ/noscript/noscript.dtd b/chrome/locale/kk-KZ/noscript/noscript.dtd
index c03c78f..b3e17af 100644
--- a/chrome/locale/kk-KZ/noscript/noscript.dtd
+++ b/chrome/locale/kk-KZ/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Баптаулары">
 <!ENTITY noscriptOptions.accesskey "Б">
 <!ENTITY noscriptOptionsLong "NoScript баптаулары">
-<!ENTITY noscriptAbout "NoScript 5.1.2rc1 туралы...">
+<!ENTITY noscriptAbout "NoScript 5.1.2 туралы...">
 <!ENTITY noscriptPermissionsText "Қай сайттарға JavaScript орындауға рұқсат екенін көрсете аласыз. Рұқсат етілетін сайттың домен адресін енгізіңіз (мысалы, "http://www.site.com" немесе "site.com"), содан кейін Рұқсат ету басыңыз.">
 <!ENTITY noscriptWebAddress "Веб-сайт адресі:">
 <!ENTITY noscriptAllow "Рұқсат ету">
diff --git a/chrome/locale/km-KH/noscript/noscript.dtd b/chrome/locale/km-KH/noscript/noscript.dtd
index 3cd2a62..c954ce2 100644
--- a/chrome/locale/km-KH/noscript/noscript.dtd
+++ b/chrome/locale/km-KH/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Options">
-<!ENTITY noscriptAbout "About NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "About NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/locale/ko-KR/noscript/noscript.dtd b/chrome/locale/ko-KR/noscript/noscript.dtd
index ca1e0cc..67d8c03 100644
--- a/chrome/locale/ko-KR/noscript/noscript.dtd
+++ b/chrome/locale/ko-KR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "옵션...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 옵션">
-<!ENTITY noscriptAbout "NoScript 5.1.2rc1 정보...">
+<!ENTITY noscriptAbout "NoScript 5.1.2 정보...">
 <!ENTITY noscriptPermissionsText "스크립트 실행을 허용할 웹 사이트를 지정할 수 있습니다. 스크립트를 허용할 사이트의 주소나 도메인 (예를 들면, "http://www.site.com" 또는 "site.com")을 입력한 후 [허용] 버튼을 클릭합니다.">
 <!ENTITY noscriptWebAddress "웹 사이트 주소">
 <!ENTITY noscriptAllow "허용">
diff --git a/chrome/locale/lt/noscript/noscript.dtd b/chrome/locale/lt/noscript/noscript.dtd
index b03196c..b182b50 100644
--- a/chrome/locale/lt/noscript/noscript.dtd
+++ b/chrome/locale/lt/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Nuostatos...">
 <!ENTITY noscriptOptions.accesskey "N">
 <!ENTITY noscriptOptionsLong "NoScript nuostatos">
-<!ENTITY noscriptAbout "Apie NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Apie NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Jūs galite nurodyti, kurioms interneto svetainėms suteikiamas leidimas vykdyti programinius kodus. Įveskite adresą arba domeną (pvz., "http://www.svetaine.lt" arba "svetaine.lt") svetainės, kuriai norite suteikti leidimą ir spauskite Leisti.">
 <!ENTITY noscriptWebAddress "Interneto svetainės adresas:">
 <!ENTITY noscriptAllow "Leisti">
diff --git a/chrome/locale/mk-MK/noscript/noscript.dtd b/chrome/locale/mk-MK/noscript/noscript.dtd
index 5343260..6ba7cfe 100644
--- a/chrome/locale/mk-MK/noscript/noscript.dtd
+++ b/chrome/locale/mk-MK/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Опции...">
 <!ENTITY noscriptOptions.accesskey "О">
 <!ENTITY noscriptOptionsLong "NoScript Опции">
-<!ENTITY noscriptAbout "За NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "За NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Можете да ги назначите страните, на кои што скриптите ќе бидат дозволени. Напишете ја дозволената адреса (на пример http://www.site.com или site.com) и кликнете „Дозволи“">
 <!ENTITY noscriptWebAddress "Адреса на дозволената веб страна:">
 <!ENTITY noscriptAllow "Дозволи">
diff --git a/chrome/locale/ms-MY/noscript/noscript.dtd b/chrome/locale/ms-MY/noscript/noscript.dtd
index 722655c..b5dc32e 100644
--- a/chrome/locale/ms-MY/noscript/noscript.dtd
+++ b/chrome/locale/ms-MY/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Tetapan...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Tetapan NoScript">
-<!ENTITY noscriptAbout "Tentang NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Tentang NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Anda boleh menentukan laman web yang anda benarkan skripnya diproses. Taipkan alamat atau domain(contoh:"http://www.tapak.com" atau "tapak.com") laman web yang diingini dan klik Benarkan">
 <!ENTITY noscriptWebAddress "Alamat laman web:">
 <!ENTITY noscriptAllow "Benarkan">
diff --git a/chrome/locale/nb-NO/noscript/noscript.dtd b/chrome/locale/nb-NO/noscript/noscript.dtd
index 31dde82..902c7be 100644
--- a/chrome/locale/nb-NO/noscript/noscript.dtd
+++ b/chrome/locale/nb-NO/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Innstillinger">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Innstillinger">
-<!ENTITY noscriptAbout "Om NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Om NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Du kan spesifisere hvilke websider som har tillatelse til å kjøre scritper. Skriv inn adresse, eller domene (F.eks: "http://www.side.no", eller &quotside.no") du ønsker å gi tillatelse til, og klikk Tillat.">
 <!ENTITY noscriptWebAddress "Webadresse:">
 <!ENTITY noscriptAllow "Tillat">
diff --git a/chrome/locale/nl/noscript/noscript.dtd b/chrome/locale/nl/noscript/noscript.dtd
index f8a2b52..d696011 100644
--- a/chrome/locale/nl/noscript/noscript.dtd
+++ b/chrome/locale/nl/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opties…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript-opties">
-<!ENTITY noscriptAbout "Over NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Over NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "U kunt opgeven welke websites scripts mogen gebruiken. Typ het adres of domein (bv. ‘http://www.website.com’ of ‘website.com’) van de website die u wilt toestaan, en klik daarna op Toestaan.">
 <!ENTITY noscriptWebAddress "Adres van website:">
 <!ENTITY noscriptAllow "Toestaan">
diff --git a/chrome/locale/pl/noscript/noscript.dtd b/chrome/locale/pl/noscript/noscript.dtd
index f9f7af3..3c35200 100644
--- a/chrome/locale/pl/noscript/noscript.dtd
+++ b/chrome/locale/pl/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Ustawienia">
 <!ENTITY noscriptOptions.accesskey "U">
 <!ENTITY noscriptOptionsLong "NoScript – ustawienia">
-<!ENTITY noscriptAbout "NoScript 5.1.2rc1 – informacje">
+<!ENTITY noscriptAbout "NoScript 5.1.2 – informacje">
 <!ENTITY noscriptPermissionsText "Tutaj można określić witryny internetowe, które będą mogły uruchamiać skrypty. Proszę wprowadzić adres lub domenę witryny (np: „http://www.witryna.pl” lub „witryna.pl”) i nacisnąć przycisk Pozwól.">
 <!ENTITY noscriptWebAddress "Adres witryny:">
 <!ENTITY noscriptAllow "Pozwól">
diff --git a/chrome/locale/pt-BR/noscript/noscript.dtd b/chrome/locale/pt-BR/noscript/noscript.dtd
index 55fc650..3c84e01 100644
--- a/chrome/locale/pt-BR/noscript/noscript.dtd
+++ b/chrome/locale/pt-BR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opções">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opções do NoScript">
-<!ENTITY noscriptAbout "Sobre o NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "Sobre o NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "Você pode especificar os sites que podem executar JavaScripts. Escreva o endereço ou o domínio (ex "http://www.site.com" ou "site.com") do site que deseja permitir e depois clique em Permitir.">
 <!ENTITY noscriptWebAddress "Endereço:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/locale/pt-PT/noscript/noscript.dtd b/chrome/locale/pt-PT/noscript/noscript.dtd
index 402ddfd..38c8c44 100644
--- a/chrome/locale/pt-PT/noscript/noscript.dtd
+++ b/chrome/locale/pt-PT/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opções">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opções do NoScript">
-<!ENTITY noscriptAbout "Sobre o NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Sobre o NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Pode especificar os sítios que podem executar scripts. Escreva o endereço ou o domínio (ex: "http://www.sitio.com" ou "sitio.com") do sítio que deseja permitir e depois pressione em Permitir.">
 <!ENTITY noscriptWebAddress "Endereço:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/locale/ro/noscript/noscript.dtd b/chrome/locale/ro/noscript/noscript.dtd
index 78357e2..982e66d 100644
--- a/chrome/locale/ro/noscript/noscript.dtd
+++ b/chrome/locale/ro/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opțiuni...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opțiuni NoScript">
-<!ENTITY noscriptAbout "Despre NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Despre NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Puteți specifica saiturile cărora li se permite să execute scripturi. Scrieți adresa sau domeniul paginii (exemplu: „http://www.sait.ro“ sau „sait.ro“), apoi apăsați pe butonul „Permite“.">
 <!ENTITY noscriptWebAddress "Adresă sait:">
 <!ENTITY noscriptAllow "Permite">
diff --git a/chrome/locale/sk-SK/noscript/noscript.dtd b/chrome/locale/sk-SK/noscript/noscript.dtd
index 3ae69ba..0c17ac5 100644
--- a/chrome/locale/sk-SK/noscript/noscript.dtd
+++ b/chrome/locale/sk-SK/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Možnosti...">
 <!ENTITY noscriptOptions.accesskey "M">
 <!ENTITY noscriptOptionsLong "NoScript – Možnosti">
-<!ENTITY noscriptAbout "O rozšírení NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "O rozšírení NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Môžete určiť, ktoré webové stránky majú povolené spúšťať JavaScript. Zadajte adresu alebo doménu (napríklad "http://www.site.com" alebo "site.com") stránky, ktorú chcete povoliť, a potom kliknite na tlačidlo Povoliť.">
 <!ENTITY noscriptWebAddress "Adresa webovej stránky:">
 <!ENTITY noscriptAllow "Povoliť">
diff --git a/chrome/locale/sl-SI/noscript/noscript.dtd b/chrome/locale/sl-SI/noscript/noscript.dtd
index 57558e4..a67459d 100644
--- a/chrome/locale/sl-SI/noscript/noscript.dtd
+++ b/chrome/locale/sl-SI/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Možnosti...">
 <!ENTITY noscriptOptions.accesskey "M">
 <!ENTITY noscriptOptionsLong "NoScript Možnosti">
-<!ENTITY noscriptAbout "O NoScript 5.1.2rc1 programu...">
+<!ENTITY noscriptAbout "O NoScript 5.1.2 programu...">
 <!ENTITY noscriptPermissionsText "Določite lahko na katerih straneh bo izvajanje skript dovoljeno. Vnesite naslov ali domeno (pr. "http://www.domena.com" or "domena.com") strani, na kateri želite omogočiti izvajanje skript in kliknite Dovoli.">
 <!ENTITY noscriptWebAddress "Naslov strani:">
 <!ENTITY noscriptAllow "Dovoli">
diff --git a/chrome/locale/sr-RS/noscript/noscript.dtd b/chrome/locale/sr-RS/noscript/noscript.dtd
index 1aa6825..ee61007 100644
--- a/chrome/locale/sr-RS/noscript/noscript.dtd
+++ b/chrome/locale/sr-RS/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Подешавања...">
 <!ENTITY noscriptOptions.accesskey "П">
 <!ENTITY noscriptOptionsLong "NoScript подешавања">
-<!ENTITY noscriptAbout "О NoScript 5.1.2rc1-у">
+<!ENTITY noscriptAbout "О NoScript 5.1.2-у">
 <!ENTITY noscriptPermissionsText "Можете да наведете којим веб странама је дозвољено да извршавају скриптове. Унесите адресу или домен (нпр. "http://www.site.com" или "site.com") стране којој желите да дате дозволу и онда кликните Дозволи.">
 <!ENTITY noscriptWebAddress "Адреса веб стране:">
 <!ENTITY noscriptAllow "Дозволи">
diff --git a/chrome/locale/sv-SE/noscript/noscript.dtd b/chrome/locale/sv-SE/noscript/noscript.dtd
index c87e899..55616b6 100644
--- a/chrome/locale/sv-SE/noscript/noscript.dtd
+++ b/chrome/locale/sv-SE/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Alternativ...">
 <!ENTITY noscriptOptions.accesskey "A">
 <!ENTITY noscriptOptionsLong "NoScript-alternativ">
-<!ENTITY noscriptAbout "Om NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Om NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Ange vilka webbplatser som får köra skript. Skriv webbadressen eller domänen (t ex. "http://www.webbplats.se" eller "webbplats.se") för den webbplats där skript ska tillåtas. Klicka sedan på "Tillåt".">
 <!ENTITY noscriptWebAddress "Sidans adress:">
 <!ENTITY noscriptAllow "Tillåt">
diff --git a/chrome/locale/te-IN/noscript/noscript.dtd b/chrome/locale/te-IN/noscript/noscript.dtd
index b5572fe..7e0f42d 100644
--- a/chrome/locale/te-IN/noscript/noscript.dtd
+++ b/chrome/locale/te-IN/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Options">
-<!ENTITY noscriptAbout "About NoScript 5.1.2rc1…">
+<!ENTITY noscriptAbout "About NoScript 5.1.2…">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/locale/th/noscript/noscript.dtd b/chrome/locale/th/noscript/noscript.dtd
index 1987b17..ac52e3f 100644
--- a/chrome/locale/th/noscript/noscript.dtd
+++ b/chrome/locale/th/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "ตัวเลือก...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "ตัวเลือก NoScript">
-<!ENTITY noscriptAbout "เกี่ยวกับ NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "เกี่ยวกับ NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "คุณสามารถกำหนดเว็บไซต์ที่จะอนุญาตดำเนินการสคริปต์ พิมพ์ที่อยู่หรือโดเมน (เช่น "http://www.site.com" หรือ "site.com") ของไซต์ที่คุณต้องการอนุญาตและคลิกอนุญาต">
 <!ENTITY noscriptWebAddress "ที่อยู่เว็บไซต์:">
 <!ENTITY noscriptAllow "อนุญาต">
diff --git a/chrome/locale/tr/noscript/noscript.dtd b/chrome/locale/tr/noscript/noscript.dtd
index 3fd1123..12df6c1 100644
--- a/chrome/locale/tr/noscript/noscript.dtd
+++ b/chrome/locale/tr/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Seçenekler">
 <!ENTITY noscriptOptions.accesskey "S">
 <!ENTITY noscriptOptionsLong "NoScript Seçenekleri">
-<!ENTITY noscriptAbout "NoScript 5.1.2rc1 @VERSION@ Hakkında">
+<!ENTITY noscriptAbout "NoScript 5.1.2 @VERSION@ Hakkında">
 <!ENTITY noscriptPermissionsText "Hangi web sayfalarında JavaScript'e izni vereceğinizi kolayca seçebilirsiniz. Lütfen adresi tam olarak girin (örn. "http://www.site.com" veya "site.com") ve 'İzin ver' düğmesine tıklayarak sayfanın JavaScript kullanmasına izin verin.">
 <!ENTITY noscriptWebAddress "Site adresi:">
 <!ENTITY noscriptAllow "İzin ver">
diff --git a/chrome/locale/vi/noscript/noscript.dtd b/chrome/locale/vi/noscript/noscript.dtd
index f2138b8..aec0392 100644
--- a/chrome/locale/vi/noscript/noscript.dtd
+++ b/chrome/locale/vi/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Tùy chọn">
 <!ENTITY noscriptOptions.accesskey "y">
 <!ENTITY noscriptOptionsLong "Tùy chọn cho NoScript">
-<!ENTITY noscriptAbout "Thông tin về NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "Thông tin về NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "Bạn có thể chỉ định trang web nào được phép chạy script. Gõ địa chỉ hay tên miền (v.d. "http://www.nhaccodien.com" hay "nhaccodien.com") của trang mà bạn muốn cho phép, rồi nhấn Cho phép.">
 <!ENTITY noscriptWebAddress "Địa chỉ của trang web:">
 <!ENTITY noscriptAllow "Cho phép">
diff --git a/chrome/locale/zh-CN/noscript/noscript.dtd b/chrome/locale/zh-CN/noscript/noscript.dtd
index 986a9f3..cc6fc89 100644
--- a/chrome/locale/zh-CN/noscript/noscript.dtd
+++ b/chrome/locale/zh-CN/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "选项...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 选项">
-<!ENTITY noscriptAbout "关于 NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "关于 NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "您可以指定允许执行脚本的网站。请输入您想要允许的网站地址或域名(例如: “http://www.site.com”或者“site.com”)然后单击“允许”。">
 <!ENTITY noscriptWebAddress "网站地址:">
 <!ENTITY noscriptAllow "允许">
diff --git a/chrome/locale/zh-TW/noscript/noscript.dtd b/chrome/locale/zh-TW/noscript/noscript.dtd
index 9f35388..c67f89b 100644
--- a/chrome/locale/zh-TW/noscript/noscript.dtd
+++ b/chrome/locale/zh-TW/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "選項…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 選項">
-<!ENTITY noscriptAbout "關於 NoScript 5.1.2rc1">
+<!ENTITY noscriptAbout "關於 NoScript 5.1.2">
 <!ENTITY noscriptPermissionsText "您可以指定允許執行 JavaScript 的網站。輸入您要允許的網址或網域(例如 "http://www.site.com" 或 "site.com"),然後按下允許.">
 <!ENTITY noscriptWebAddress "網址:">
 <!ENTITY noscriptAllow "允許">
diff --git a/defaults/preferences/noscript.js b/defaults/preferences/noscript.js
index c6ef636..43cd1f0 100644
--- a/defaults/preferences/noscript.js
+++ b/defaults/preferences/noscript.js
@@ -30,7 +30,7 @@ pref("noscript.showExternalFilters", true);
 pref("noscript.showTempAllowPage", true);
 pref("noscript.showAllowPage", true);
 pref("noscript.mandatory", "[System+Principal] chrome: blob: mediasource: moz-extension: moz-safe-about: about: about:addons about:blocked about:crashes about:feeds about:home about:config about:neterror about:certerror about:memory about:plugins about:preferences about:privatebrowsing about:sessionrestore about:support resource: about:srcdoc");
-pref("noscript.default", "about:blank about:pocket-signup about:pocket-saved addons.mozilla.org mozilla.net google.com gstatic.com ajax.googleapis.com  maps.googleapis.com paypal.com paypalobjects.com securecode.com securesuite.net firstdata.com firstdata.lv yahoo.com yimg.com yahooapis.com youtube.com ytimg.com googlevideo.com netflix.com nflxext.com nflximg.com nflxvideo.net noscript.net hotmail.com passport.com passport.net passportimages.com live.com live.net outlook.com afx.ms gfx.m [...]
+pref("noscript.default", "about:blank about:pocket-signup about:pocket-saved about:tabcrashed addons.mozilla.org mozilla.net google.com gstatic.com ajax.googleapis.com  maps.googleapis.com paypal.com paypalobjects.com securecode.com securesuite.net firstdata.com firstdata.lv yahoo.com yimg.com yahooapis.com youtube.com ytimg.com googlevideo.com netflix.com nflxext.com nflximg.com nflxvideo.net noscript.net hotmail.com passport.com passport.net passportimages.com live.com live.net outlook [...]
 pref("noscript.allowWhitelistUpdates", true);
 pref("noscript.volatilePrivatePermissions", false);
 pref("noscript.showVolatilePrivatePermissionsToggle", true);
diff --git a/install.rdf b/install.rdf
index 13a2c56..f1d54d1 100644
--- a/install.rdf
+++ b/install.rdf
@@ -5,7 +5,7 @@
 
    <em:id>{73a6fe31-595d-460b-a920-fcc0f8843232}</em:id>
    <em:name>NoScript</em:name>
-   <em:version>5.1.2rc1</em:version>
+   <em:version>5.1.2</em:version>
    <em:description>Extra protection for your Firefox: NoScript allows JavaScript, Java (and other plugins) only for trusted domains of your choice (e.g. your home-banking web site). This whitelist based pre-emptive blocking approach  prevents exploitation of security vulnerabilities (known and even unknown!) with no loss of functionality... Experts will agree: Firefox is really safer with NoScript :-)</em:description>
    <em:creator>Giorgio Maone</em:creator>
    <em:type>2</em:type>
diff --git a/webextension/manifest.json b/webextension/manifest.json
index 25fd27a..4678285 100644
--- a/webextension/manifest.json
+++ b/webextension/manifest.json
@@ -15,6 +15,7 @@
       "privacy",
       "storage",
       "tabs",
+      "unlimitedStorage",
       "webNavigation",
       "webRequest",
       "webRequestBlocking",

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/noscript.git



More information about the Pkg-mozext-commits mailing list