[ES6] Implement @@search
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Feb 2016 20:46:30 +0000 (20:46 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Feb 2016 20:46:30 +0000 (20:46 +0000)
https://bugs.webkit.org/show_bug.cgi?id=143889

Reviewed by Darin Adler.

Source/JavaScriptCore:

Implement RegExp.prototype[@@search].
In ES6, String.prototype.search delegates the actual matching to it
instead of executing RegExp matching inside String.prototype.search method itself.
By customizing @@search method, we can change the behavior of String.prototype.search for
derived / customized RegExp object.

* CMakeLists.txt:
* DerivedSources.make:
* builtins/BuiltinNames.h:
(JSC::BuiltinNames::BuiltinNames): Deleted.
* builtins/BuiltinUtils.h:
* builtins/StringPrototype.js:
(search):
* bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
* bytecode/BytecodeIntrinsicRegistry.h:
* runtime/CommonIdentifiers.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncSearch):
* runtime/RegExpPrototype.h:
(JSC::RegExpPrototype::create):
* runtime/StringPrototype.cpp:
(JSC::StringPrototype::getOwnPropertySlot):
(JSC::StringPrototype::finishCreation): Deleted.
(JSC::stringProtoFuncSearch): Deleted.
* runtime/StringPrototype.h:
* tests/es6.yaml:
* tests/stress/regexp-search.js: Added.
(shouldBe):
(shouldThrow):
(errorKey.toString):
(primitive.of.primitives.shouldThrow):
(testRegExpSearch):
(testSearch):
(testBoth):
(alwaysUnmatch):

LayoutTests:

* js/Object-getOwnPropertyNames-expected.txt:
* js/dom/string-prototype-properties-expected.txt:
* js/regress/script-tests/v8-regexp-search.js: Added.
(runRegExpBenchmark.runBlock0):
(runRegExpBenchmark.runBlock1):
(runRegExpBenchmark):
(runRegExpBenchmark.runBlock3):
(runRegExpBenchmark.runBlock4):
* js/regress/v8-regexp-search-expected.txt: Added.
* js/regress/v8-regexp-search.html: Added.
* js/script-tests/Object-getOwnPropertyNames.js:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196498 268f45cc-cd09-0410-ab3c-d52691b4dbfc

24 files changed:
LayoutTests/ChangeLog
LayoutTests/js/Object-getOwnPropertyNames-expected.txt
LayoutTests/js/dom/string-prototype-properties-expected.txt
LayoutTests/js/regress/script-tests/v8-regexp-search.js [new file with mode: 0644]
LayoutTests/js/regress/v8-regexp-search-expected.txt [new file with mode: 0644]
LayoutTests/js/regress/v8-regexp-search.html [new file with mode: 0644]
LayoutTests/js/script-tests/Object-getOwnPropertyNames.js
LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/DerivedSources.make
Source/JavaScriptCore/builtins/BuiltinNames.h
Source/JavaScriptCore/builtins/BuiltinUtils.h
Source/JavaScriptCore/builtins/StringPrototype.js
Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp
Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h
Source/JavaScriptCore/runtime/CommonIdentifiers.h
Source/JavaScriptCore/runtime/JSGlobalObject.cpp
Source/JavaScriptCore/runtime/RegExpPrototype.cpp
Source/JavaScriptCore/runtime/RegExpPrototype.h
Source/JavaScriptCore/runtime/StringPrototype.cpp
Source/JavaScriptCore/runtime/StringPrototype.h
Source/JavaScriptCore/tests/es6.yaml
Source/JavaScriptCore/tests/stress/regexp-search.js [new file with mode: 0644]

index fed6851..ae30385 100644 (file)
@@ -1,3 +1,23 @@
+2016-02-12  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [ES6] Implement @@search
+        https://bugs.webkit.org/show_bug.cgi?id=143889
+
+        Reviewed by Darin Adler.
+
+        * js/Object-getOwnPropertyNames-expected.txt:
+        * js/dom/string-prototype-properties-expected.txt:
+        * js/regress/script-tests/v8-regexp-search.js: Added.
+        (runRegExpBenchmark.runBlock0):
+        (runRegExpBenchmark.runBlock1):
+        (runRegExpBenchmark):
+        (runRegExpBenchmark.runBlock3):
+        (runRegExpBenchmark.runBlock4):
+        * js/regress/v8-regexp-search-expected.txt: Added.
+        * js/regress/v8-regexp-search.html: Added.
+        * js/script-tests/Object-getOwnPropertyNames.js:
+        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:
+
 2016-02-12  Ryan Haddad  <ryanhaddad@apple.com>
 
         Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196466
index 7cf623d..66687e8 100644 (file)
@@ -61,7 +61,7 @@ PASS getSortedOwnPropertyNames(Error) is ['length', 'name', 'prototype']
 PASS getSortedOwnPropertyNames(Error.prototype) is ['constructor', 'message', 'name', 'toString']
 PASS getSortedOwnPropertyNames(Math) is ['E','LN10','LN2','LOG10E','LOG2E','PI','SQRT1_2','SQRT2','abs','acos','acosh','asin','asinh','atan','atan2','atanh','cbrt','ceil','clz32','cos','cosh','exp','expm1','floor','fround','hypot','imul','log','log10','log1p','log2','max','min','pow','random','round','sign','sin','sinh','sqrt','tan','tanh','trunc']
 PASS getSortedOwnPropertyNames(JSON) is ['parse', 'stringify']
-PASS getSortedOwnPropertyNames(Symbol) is ['for', 'hasInstance', 'iterator', 'keyFor', 'length', 'name', 'prototype', 'species', 'toStringTag', 'unscopables']
+PASS getSortedOwnPropertyNames(Symbol) is ['for', 'hasInstance', 'iterator', 'keyFor', 'length', 'name', 'prototype', 'search', 'species', 'toStringTag', 'unscopables']
 PASS getSortedOwnPropertyNames(Symbol.prototype) is ['constructor', 'toString', 'valueOf']
 PASS getSortedOwnPropertyNames(Map) is ['length', 'name', 'prototype']
 PASS getSortedOwnPropertyNames(Map.prototype) is ['clear', 'constructor', 'delete', 'entries', 'forEach', 'get', 'has', 'keys', 'set', 'size', 'values']
index 9864941..15f1e19 100644 (file)
@@ -12,7 +12,7 @@ PASS String.prototype.indexOf.call(undefined, '2') threw exception TypeError: Ty
 PASS String.prototype.lastIndexOf.call(undefined, '2') threw exception TypeError: Type error.
 PASS String.prototype.match.call(undefined, /2+/) threw exception TypeError: Type error.
 PASS String.prototype.replace.call(undefined, /2+/, '-') threw exception TypeError: Type error.
-PASS String.prototype.search.call(undefined, '4') threw exception TypeError: Type error.
+PASS String.prototype.search.call(undefined, '4') threw exception TypeError: String.prototype.search requires that |this| not be undefined.
 PASS String.prototype.slice.call(undefined, 1, 3) threw exception TypeError: Type error.
 PASS String.prototype.split.call(undefined, '2') threw exception TypeError: Type error.
 PASS String.prototype.slice.call(undefined, 1, 3) threw exception TypeError: Type error.
diff --git a/LayoutTests/js/regress/script-tests/v8-regexp-search.js b/LayoutTests/js/regress/script-tests/v8-regexp-search.js
new file mode 100644 (file)
index 0000000..3cd3cb3
--- /dev/null
@@ -0,0 +1,1613 @@
+// Copyright 2009 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Automatically generated on 2009-01-30.
+
+// This benchmark is generated by loading 50 of the most popular pages
+// on the web and logging all regexp operations performed.  Each
+// operation is given a weight that is calculated from an estimate of
+// the popularity of the pages where it occurs and the number of times
+// it is executed while loading each page.  Finally the literal
+// letters in the data are encoded using ROT13 in a way that does not
+// affect how the regexps match their input.
+
+function runRegExpBenchmark() {
+  var re0 = /^ba/;
+  var re1 = /(((\w+):\/\/)([^\/:]*)(:(\d+))?)?([^#?]*)(\?([^#]*))?(#(.*))?/;
+  var re2 = /^\s*|\s*$/g;
+  var re3 = /\bQBZPbageby_cynprubyqre\b/;
+  var re4 = /,/;
+  var re5 = /\bQBZPbageby_cynprubyqre\b/g;
+  var re6 = /^[\s\xa0]+|[\s\xa0]+$/g;
+  var re7 = /(\d*)(\D*)/g;
+  var re8 = /=/;
+  var re9 = /(^|\s)lhv\-h(\s|$)/;
+  var str0 = 'Zbmvyyn/5.0 (Jvaqbjf; H; Jvaqbjf AG 5.1; ra-HF) NccyrJroXvg/528.9 (XUGZY, yvxr Trpxb) Puebzr/2.0.157.0 Fnsnev/528.9';
+  var re10 = /\#/g;
+  var re11 = /\./g;
+  var re12 = /'/g;
+  var re13 = /\?[\w\W]*(sevraqvq|punaaryvq|tebhcvq)=([^\&\?#]*)/i;
+  var str1 = 'Fubpxjnir Synfu 9.0  e115';
+  var re14 = /\s+/g;
+  var re15 = /^\s*(\S*(\s+\S+)*)\s*$/;
+  var re16 = /(-[a-z])/i;
+  function runBlock0() {
+    for (var i = 0; i < 6511; i++) {
+      'pyvpx'.search(re0);
+    }
+    for (var i = 0; i < 1844; i++) {
+      'uggc://jjj.snprobbx.pbz/ybtva.cuc'.search(re1);
+    }
+    for (var i = 0; i < 739; i++) {
+      'QBZPbageby_cynprubyqre'.replace(re2, '');
+    }
+    for (var i = 0; i < 598; i++) {
+      'uggc://jjj.snprobbx.pbz/'.search(re1);
+    }
+    for (var i = 0; i < 454; i++) {
+      'uggc://jjj.snprobbx.pbz/fepu.cuc'.search(re1);
+    }
+    for (var i = 0; i < 352; i++) {
+      'qqqq, ZZZ q, llll'.search(/qqqq|qqq|qq|q|ZZZZ|ZZZ|ZZ|Z|llll|ll|l|uu|u|UU|U|zz|z|ff|f|gg|g|sss|ss|s|mmm|mm|m/g);
+    }
+    for (var i = 0; i < 312; i++) {
+      'vachggrkg QBZPbageby_cynprubyqre'.search(re3);
+    }
+    for (var i = 0; i < 282; i++) {
+      '/ZlFcnprUbzrcntr/Vaqrk-FvgrUbzr,10000000'.search(re4);
+    }
+    for (var i = 0; i < 177; i++) {
+      'vachggrkg'.replace(re5, '');
+    }
+    for (var i = 0; i < 170; i++) {
+      '528.9'.replace(re6, '');
+      '528'.search(re7);
+    }
+    for (var i = 0; i < 156; i++) {
+      'VCPhygher=ra-HF'.search(re8);
+      'CersreerqPhygher=ra-HF'.search(re8);
+    }
+    for (var i = 0; i < 144; i++) {
+      'xrlcerff'.search(re0);
+    }
+    for (var i = 0; i < 139; i++) {
+      '521'.replace(re6, '');
+      '521'.search(re7);
+      ''.search(re9);
+      str0.search(/JroXvg\/(\S+)/);
+    }
+    for (var i = 0; i < 137; i++) {
+      'qvi .so_zrah'.replace(re10, '');
+      'qvi .so_zrah'.replace(/\[/g, '');
+      'qvi.so_zrah'.replace(re11, '');
+    }
+    for (var i = 0; i < 117; i++) {
+      'uvqqra_ryrz'.replace(re2, '');
+    }
+    for (var i = 0; i < 95; i++) {
+      'sevraqfgre_naba=nvq%3Qn6ss9p85n868ro9s059pn854735956o3%26ers%3Q%26df%3Q%26vpgl%3QHF'.search(/(?:^|;)\s*sevraqfgre_ynat=([^;]*)/);
+    }
+    for (var i = 0; i < 93; i++) {
+      'uggc://ubzr.zlfcnpr.pbz/vaqrk.psz'.replace(re12, '');
+      'uggc://ubzr.zlfcnpr.pbz/vaqrk.psz'.search(re13);
+    }
+    for (var i = 0; i < 92; i++) {
+      str1.replace(/([a-zA-Z]|\s)+/, '');
+    }
+    for (var i = 0; i < 85; i++) {
+      'svefg'.replace(re14, '');
+      'svefg'.replace(re15, '');
+      'uggc://cebsvyr.zlfcnpr.pbz/vaqrk.psz'.replace(re12, '');
+      'ynfg'.replace(re14, '');
+      'ynfg'.replace(re15, '');
+      'qvfcynl'.search(re16);
+      'uggc://cebsvyr.zlfcnpr.pbz/vaqrk.psz'.search(re13);
+    }
+  }
+  var re17 = /(^|[^\\])\"\\\/Qngr\((-?[0-9]+)\)\\\/\"/g;
+  var str2 = '{"anzr":"","ahzoreSbezng":{"PheeraplQrpvznyQvtvgf":2,"PheeraplQrpvznyFrcnengbe":".","VfErnqBayl":gehr,"PheeraplTebhcFvmrf":[3],"AhzoreTebhcFvmrf":[3],"CrepragTebhcFvmrf":[3],"PheeraplTebhcFrcnengbe":",","PheeraplFlzoby":"\xa4","AnAFlzoby":"AnA","PheeraplArtngvirCnggrea":0,"AhzoreArtngvirCnggrea":1,"CrepragCbfvgvirCnggrea":0,"CrepragArtngvirCnggrea":0,"ArtngvirVasvavglFlzoby":"-Vasvavgl","ArtngvirFvta":"-","AhzoreQrpvznyQvtvgf":2,"AhzoreQrpvznyFrcnengbe":".","AhzoreTebhcFrcnengbe":",","PheeraplCbfvgvirCnggrea":0,"CbfvgvirVasvavglFlzoby":"Vasvavgl","CbfvgvirFvta":"+","CrepragQrpvznyQvtvgf":2,"CrepragQrpvznyFrcnengbe":".","CrepragTebhcFrcnengbe":",","CrepragFlzoby":"%","CreZvyyrFlzoby":"\u2030","AngvirQvtvgf":["0","1","2","3","4","5","6","7","8","9"],"QvtvgFhofgvghgvba":1},"qngrGvzrSbezng":{"NZQrfvtangbe":"NZ","Pnyraqne":{"ZvaFhccbegrqQngrGvzr":"@-62135568000000@","ZnkFhccbegrqQngrGvzr":"@253402300799999@","NytbevguzGlcr":1,"PnyraqneGlcr":1,"Renf":[1],"GjbQvtvgLrneZnk":2029,"VfErnqBayl":gehr},"QngrFrcnengbe":"/","SvefgQnlBsJrrx":0,"PnyraqneJrrxEhyr":0,"ShyyQngrGvzrCnggrea":"qqqq, qq ZZZZ llll UU:zz:ff","YbatQngrCnggrea":"qqqq, qq ZZZZ llll","YbatGvzrCnggrea":"UU:zz:ff","ZbaguQnlCnggrea":"ZZZZ qq","CZQrfvtangbe":"CZ","ESP1123Cnggrea":"qqq, qq ZZZ llll UU\':\'zz\':\'ff \'TZG\'","FubegQngrCnggrea":"ZZ/qq/llll","FubegGvzrCnggrea":"UU:zz","FbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq\'G\'UU\':\'zz\':\'ff","GvzrFrcnengbe":":","HavirefnyFbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq UU\':\'zz\':\'ff\'M\'","LrneZbaguCnggrea":"llll ZZZZ","NooerivngrqQnlAnzrf":["Fha","Zba","Ghr","Jrq","Guh","Sev","Fng"],"FubegrfgQnlAnzrf":["Fh","Zb","Gh","Jr","Gu","Se","Fn"],"QnlAnzrf":["Fhaqnl","Zbaqnl","Ghrfqnl","Jrqarfqnl","Guhefqnl","Sevqnl","Fngheqnl"],"NooerivngrqZbaguAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""],"VfErnqBayl":gehr,"AngvirPnyraqneAnzr":"Tertbevna Pnyraqne","NooerivngrqZbaguTravgvirAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguTravgvirAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""]}}';
+  var str3 = '{"anzr":"ra-HF","ahzoreSbezng":{"PheeraplQrpvznyQvtvgf":2,"PheeraplQrpvznyFrcnengbe":".","VfErnqBayl":snyfr,"PheeraplTebhcFvmrf":[3],"AhzoreTebhcFvmrf":[3],"CrepragTebhcFvmrf":[3],"PheeraplTebhcFrcnengbe":",","PheeraplFlzoby":"$","AnAFlzoby":"AnA","PheeraplArtngvirCnggrea":0,"AhzoreArtngvirCnggrea":1,"CrepragCbfvgvirCnggrea":0,"CrepragArtngvirCnggrea":0,"ArtngvirVasvavglFlzoby":"-Vasvavgl","ArtngvirFvta":"-","AhzoreQrpvznyQvtvgf":2,"AhzoreQrpvznyFrcnengbe":".","AhzoreTebhcFrcnengbe":",","PheeraplCbfvgvirCnggrea":0,"CbfvgvirVasvavglFlzoby":"Vasvavgl","CbfvgvirFvta":"+","CrepragQrpvznyQvtvgf":2,"CrepragQrpvznyFrcnengbe":".","CrepragTebhcFrcnengbe":",","CrepragFlzoby":"%","CreZvyyrFlzoby":"\u2030","AngvirQvtvgf":["0","1","2","3","4","5","6","7","8","9"],"QvtvgFhofgvghgvba":1},"qngrGvzrSbezng":{"NZQrfvtangbe":"NZ","Pnyraqne":{"ZvaFhccbegrqQngrGvzr":"@-62135568000000@","ZnkFhccbegrqQngrGvzr":"@253402300799999@","NytbevguzGlcr":1,"PnyraqneGlcr":1,"Renf":[1],"GjbQvtvgLrneZnk":2029,"VfErnqBayl":snyfr},"QngrFrcnengbe":"/","SvefgQnlBsJrrx":0,"PnyraqneJrrxEhyr":0,"ShyyQngrGvzrCnggrea":"qqqq, ZZZZ qq, llll u:zz:ff gg","YbatQngrCnggrea":"qqqq, ZZZZ qq, llll","YbatGvzrCnggrea":"u:zz:ff gg","ZbaguQnlCnggrea":"ZZZZ qq","CZQrfvtangbe":"CZ","ESP1123Cnggrea":"qqq, qq ZZZ llll UU\':\'zz\':\'ff \'TZG\'","FubegQngrCnggrea":"Z/q/llll","FubegGvzrCnggrea":"u:zz gg","FbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq\'G\'UU\':\'zz\':\'ff","GvzrFrcnengbe":":","HavirefnyFbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq UU\':\'zz\':\'ff\'M\'","LrneZbaguCnggrea":"ZZZZ, llll","NooerivngrqQnlAnzrf":["Fha","Zba","Ghr","Jrq","Guh","Sev","Fng"],"FubegrfgQnlAnzrf":["Fh","Zb","Gh","Jr","Gu","Se","Fn"],"QnlAnzrf":["Fhaqnl","Zbaqnl","Ghrfqnl","Jrqarfqnl","Guhefqnl","Sevqnl","Fngheqnl"],"NooerivngrqZbaguAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""],"VfErnqBayl":snyfr,"AngvirPnyraqneAnzr":"Tertbevna Pnyraqne","NooerivngrqZbaguTravgvirAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguTravgvirAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""]}}';
+  var str4 = 'HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str5 = 'HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var re18 = /^\s+|\s+$/g;
+  var str6 = 'uggc://jjj.snprobbx.pbz/vaqrk.cuc';
+  var re19 = /(?:^|\s+)ba(?:\s+|$)/;
+  var re20 = /[+, ]/;
+  var re21 = /ybnqrq|pbzcyrgr/;
+  var str7 = ';;jvaqbj.IjPurpxZbhfrCbfvgvbaNQ_VQ=shapgvba(r){vs(!r)ine r=jvaqbj.rirag;ine c=-1;vs(d1)c=d1.EbyybssCnary;ine bo=IjTrgBow("IjCnayNQ_VQ_"+c);vs(bo&&bo.fglyr.ivfvovyvgl=="ivfvoyr"){ine fns=IjFns?8:0;ine pheK=r.pyvragK+IjBOFpe("U")+fns,pheL=r.pyvragL+IjBOFpe("I")+fns;ine y=IjBOEC(NQ_VQ,bo,"Y"),g=IjBOEC(NQ_VQ,bo,"G");ine e=y+d1.Cnaryf[c].Jvqgu,o=g+d1.Cnaryf[c].Urvtug;vs((pheK<y)||(pheK>e)||(pheL<g)||(pheL>o)){vs(jvaqbj.IjBaEbyybssNQ_VQ)IjBaEbyybssNQ_VQ(c);ryfr IjPybfrNq(NQ_VQ,c,gehr,"");}ryfr erghea;}IjPnapryZbhfrYvfgrareNQ_VQ();};;jvaqbj.IjFrgEbyybssCnaryNQ_VQ=shapgvba(c){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;c=IjTc(NQ_VQ,c);vs(d1&&d1.EbyybssCnary>-1)IjPnapryZbhfrYvfgrareNQ_VQ();vs(d1)d1.EbyybssCnary=c;gel{vs(q.nqqRiragYvfgrare)q.nqqRiragYvfgrare(z,s,snyfr);ryfr vs(q.nggnpuRirag)q.nggnpuRirag("ba"+z,s);}pngpu(r){}};;jvaqbj.IjPnapryZbhfrYvfgrareNQ_VQ=shapgvba(){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;vs(d1)d1.EbyybssCnary=-1;gel{vs(q.erzbirRiragYvfgrare)q.erzbirRiragYvfgrare(z,s,snyfr);ryfr vs(q.qrgnpuRirag)q.qrgnpuRirag("ba"+z,s);}pngpu(r){}};;d1.IjTc=d2(n,c){ine nq=d1;vs(vfAnA(c)){sbe(ine v=0;v<nq.Cnaryf.yratgu;v++)vs(nq.Cnaryf[v].Anzr==c)erghea v;erghea 0;}erghea c;};;d1.IjTpy=d2(n,c,p){ine cn=d1.Cnaryf[IjTc(n,c)];vs(!cn)erghea 0;vs(vfAnA(p)){sbe(ine v=0;v<cn.Pyvpxguehf.yratgu;v++)vs(cn.Pyvpxguehf[v].Anzr==p)erghea v;erghea 0;}erghea p;};;d1.IjGenpr=d2(n,f){gel{vs(jvaqbj["Ij"+"QtQ"])jvaqbj["Ij"+"QtQ"](n,1,f);}pngpu(r){}};;d1.IjYvzvg1=d2(n,f){ine nq=d1,vh=f.fcyvg("/");sbe(ine v=0,p=0;v<vh.yratgu;v++){vs(vh[v].yratgu>0){vs(nq.FzV.yratgu>0)nq.FzV+="/";nq.FzV+=vh[v];nq.FtZ[nq.FtZ.yratgu]=snyfr;}}};;d1.IjYvzvg0=d2(n,f){ine nq=d1,vh=f.fcyvg("/");sbe(ine v=0;v<vh.yratgu;v++){vs(vh[v].yratgu>0){vs(nq.OvC.yratgu>0)nq.OvC+="/";nq.OvC+=vh[v];}}};;d1.IjRVST=d2(n,c){jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]=IjTrgBow("IjCnayNQ_VQ_"+c+"_Bow");vs(jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]==ahyy)frgGvzrbhg("IjRVST(NQ_VQ,"+c+")",d1.rvsg);};;d1.IjNavzSHC=d2(n,c){ine nq=d1;vs(c>nq.Cnaryf.yratgu)erghea;ine cna=nq.Cnaryf[c],nn=gehr,on=gehr,yn=gehr,en=gehr,cn=nq.Cnaryf[0],sf=nq.ShF,j=cn.Jvqgu,u=cn.Urvtug;vs(j=="100%"){j=sf;en=snyfr;yn=snyfr;}vs(u=="100%"){u=sf;nn=snyfr;on=snyfr;}vs(cn.YnY=="Y")yn=snyfr;vs(cn.YnY=="E")en=snyfr;vs(cn.GnY=="G")nn=snyfr;vs(cn.GnY=="O")on=snyfr;ine k=0,l=0;fjvgpu(nq.NshP%8){pnfr 0:oernx;pnfr 1:vs(nn)l=-sf;oernx;pnfr 2:k=j-sf;oernx;pnfr 3:vs(en)k=j;oernx;pnfr 4:k=j-sf;l=u-sf;oernx;pnfr 5:k=j-sf;vs(on)l=u;oernx;pnfr 6:l=u-sf;oernx;pnfr 7:vs(yn)k=-sf;l=u-sf;oernx;}vs(nq.NshP++ <nq.NshG)frgGvzrbhg(("IjNavzSHC(NQ_VQ,"+c+")"),nq.NshC);ryfr{k=-1000;l=k;}cna.YrsgBssfrg=k;cna.GbcBssfrg=l;IjNhErcb(n,c);};;d1.IjTrgErnyCbfvgvba=d2(n,b,j){erghea IjBOEC.nccyl(guvf,nethzragf);};;d1.IjPnapryGvzrbhg=d2(n,c){c=IjTc(n,c);ine cay=d1.Cnaryf[c];vs(cay&&cay.UgU!=""){pyrneGvzrbhg(cay.UgU);}};;d1.IjPnapryNyyGvzrbhgf=d2(n){vs(d1.YbpxGvzrbhgPunatrf)erghea;sbe(ine c=0;c<d1.bac;c++)IjPnapryGvzrbhg(n,c);};;d1.IjFgnegGvzrbhg=d2(n,c,bG){c=IjTc(n,c);ine cay=d1.Cnaryf[c];vs(cay&&((cay.UvqrGvzrbhgInyhr>0)||(nethzragf.yratgu==3&&bG>0))){pyrneGvzrbhg(cay.UgU);cay.UgU=frgGvzrbhg(cay.UvqrNpgvba,(nethzragf.yratgu==3?bG:cay.UvqrGvzrbhgInyhr));}};;d1.IjErfrgGvzrbhg=d2(n,c,bG){c=IjTc(n,c);IjPnapryGvzrbhg(n,c);riny("IjFgnegGvzrbhg(NQ_VQ,c"+(nethzragf.yratgu==3?",bG":"")+")");};;d1.IjErfrgNyyGvzrbhgf=d2(n){sbe(ine c=0;c<d1.bac;c++)IjErfrgGvzrbhg(n,c);};;d1.IjQrgnpure=d2(n,rig,sap){gel{vs(IjQVR5)riny("jvaqbj.qrgnpuRirag(\'ba"+rig+"\',"+sap+"NQ_VQ)");ryfr vs(!IjQVRZnp)riny("jvaqbj.erzbirRiragYvfgrare(\'"+rig+"\',"+sap+"NQ_VQ,snyfr)");}pngpu(r){}};;d1.IjPyrnaHc=d2(n){IjCvat(n,"G");ine nq=d1;sbe(ine v=0;v<nq.Cnaryf.yratgu;v++){IjUvqrCnary(n,v,gehr);}gel{IjTrgBow(nq.gya).vaareUGZY="";}pngpu(r){}vs(nq.gya!=nq.gya2)gel{IjTrgBow(nq.gya2).vaareUGZY="";}pngpu(r){}gel{d1=ahyy;}pngpu(r){}gel{IjQrgnpure(n,"haybnq","IjHayNQ_VQ");}pngpu(r){}gel{jvaqbj.IjHayNQ_VQ=ahyy;}pngpu(r){}gel{IjQrgnpure(n,"fpebyy","IjFeNQ_VQ");}pngpu(r){}gel{jvaqbj.IjFeNQ_VQ=ahyy;}pngpu(r){}gel{IjQrgnpure(n,"erfvmr","IjEmNQ_VQ");}pngpu(r){}gel{jvaqbj.IjEmNQ_VQ=ahyy;}pngpu(r){}gel{IjQrgnpure(n';
+  var str8 = ';;jvaqbj.IjPurpxZbhfrCbfvgvbaNQ_VQ=shapgvba(r){vs(!r)ine r=jvaqbj.rirag;ine c=-1;vs(jvaqbj.IjNqNQ_VQ)c=jvaqbj.IjNqNQ_VQ.EbyybssCnary;ine bo=IjTrgBow("IjCnayNQ_VQ_"+c);vs(bo&&bo.fglyr.ivfvovyvgl=="ivfvoyr"){ine fns=IjFns?8:0;ine pheK=r.pyvragK+IjBOFpe("U")+fns,pheL=r.pyvragL+IjBOFpe("I")+fns;ine y=IjBOEC(NQ_VQ,bo,"Y"),g=IjBOEC(NQ_VQ,bo,"G");ine e=y+jvaqbj.IjNqNQ_VQ.Cnaryf[c].Jvqgu,o=g+jvaqbj.IjNqNQ_VQ.Cnaryf[c].Urvtug;vs((pheK<y)||(pheK>e)||(pheL<g)||(pheL>o)){vs(jvaqbj.IjBaEbyybssNQ_VQ)IjBaEbyybssNQ_VQ(c);ryfr IjPybfrNq(NQ_VQ,c,gehr,"");}ryfr erghea;}IjPnapryZbhfrYvfgrareNQ_VQ();};;jvaqbj.IjFrgEbyybssCnaryNQ_VQ=shapgvba(c){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;c=IjTc(NQ_VQ,c);vs(jvaqbj.IjNqNQ_VQ&&jvaqbj.IjNqNQ_VQ.EbyybssCnary>-1)IjPnapryZbhfrYvfgrareNQ_VQ();vs(jvaqbj.IjNqNQ_VQ)jvaqbj.IjNqNQ_VQ.EbyybssCnary=c;gel{vs(q.nqqRiragYvfgrare)q.nqqRiragYvfgrare(z,s,snyfr);ryfr vs(q.nggnpuRirag)q.nggnpuRirag("ba"+z,s);}pngpu(r){}};;jvaqbj.IjPnapryZbhfrYvfgrareNQ_VQ=shapgvba(){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;vs(jvaqbj.IjNqNQ_VQ)jvaqbj.IjNqNQ_VQ.EbyybssCnary=-1;gel{vs(q.erzbirRiragYvfgrare)q.erzbirRiragYvfgrare(z,s,snyfr);ryfr vs(q.qrgnpuRirag)q.qrgnpuRirag("ba"+z,s);}pngpu(r){}};;jvaqbj.IjNqNQ_VQ.IjTc=shapgvba(n,c){ine nq=jvaqbj.IjNqNQ_VQ;vs(vfAnA(c)){sbe(ine v=0;v<nq.Cnaryf.yratgu;v++)vs(nq.Cnaryf[v].Anzr==c)erghea v;erghea 0;}erghea c;};;jvaqbj.IjNqNQ_VQ.IjTpy=shapgvba(n,c,p){ine cn=jvaqbj.IjNqNQ_VQ.Cnaryf[IjTc(n,c)];vs(!cn)erghea 0;vs(vfAnA(p)){sbe(ine v=0;v<cn.Pyvpxguehf.yratgu;v++)vs(cn.Pyvpxguehf[v].Anzr==p)erghea v;erghea 0;}erghea p;};;jvaqbj.IjNqNQ_VQ.IjGenpr=shapgvba(n,f){gel{vs(jvaqbj["Ij"+"QtQ"])jvaqbj["Ij"+"QtQ"](n,1,f);}pngpu(r){}};;jvaqbj.IjNqNQ_VQ.IjYvzvg1=shapgvba(n,f){ine nq=jvaqbj.IjNqNQ_VQ,vh=f.fcyvg("/");sbe(ine v=0,p=0;v<vh.yratgu;v++){vs(vh[v].yratgu>0){vs(nq.FzV.yratgu>0)nq.FzV+="/";nq.FzV+=vh[v];nq.FtZ[nq.FtZ.yratgu]=snyfr;}}};;jvaqbj.IjNqNQ_VQ.IjYvzvg0=shapgvba(n,f){ine nq=jvaqbj.IjNqNQ_VQ,vh=f.fcyvg("/");sbe(ine v=0;v<vh.yratgu;v++){vs(vh[v].yratgu>0){vs(nq.OvC.yratgu>0)nq.OvC+="/";nq.OvC+=vh[v];}}};;jvaqbj.IjNqNQ_VQ.IjRVST=shapgvba(n,c){jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]=IjTrgBow("IjCnayNQ_VQ_"+c+"_Bow");vs(jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]==ahyy)frgGvzrbhg("IjRVST(NQ_VQ,"+c+")",jvaqbj.IjNqNQ_VQ.rvsg);};;jvaqbj.IjNqNQ_VQ.IjNavzSHC=shapgvba(n,c){ine nq=jvaqbj.IjNqNQ_VQ;vs(c>nq.Cnaryf.yratgu)erghea;ine cna=nq.Cnaryf[c],nn=gehr,on=gehr,yn=gehr,en=gehr,cn=nq.Cnaryf[0],sf=nq.ShF,j=cn.Jvqgu,u=cn.Urvtug;vs(j=="100%"){j=sf;en=snyfr;yn=snyfr;}vs(u=="100%"){u=sf;nn=snyfr;on=snyfr;}vs(cn.YnY=="Y")yn=snyfr;vs(cn.YnY=="E")en=snyfr;vs(cn.GnY=="G")nn=snyfr;vs(cn.GnY=="O")on=snyfr;ine k=0,l=0;fjvgpu(nq.NshP%8){pnfr 0:oernx;pnfr 1:vs(nn)l=-sf;oernx;pnfr 2:k=j-sf;oernx;pnfr 3:vs(en)k=j;oernx;pnfr 4:k=j-sf;l=u-sf;oernx;pnfr 5:k=j-sf;vs(on)l=u;oernx;pnfr 6:l=u-sf;oernx;pnfr 7:vs(yn)k=-sf;l=u-sf;oernx;}vs(nq.NshP++ <nq.NshG)frgGvzrbhg(("IjNavzSHC(NQ_VQ,"+c+")"),nq.NshC);ryfr{k=-1000;l=k;}cna.YrsgBssfrg=k;cna.GbcBssfrg=l;IjNhErcb(n,c);};;jvaqbj.IjNqNQ_VQ.IjTrgErnyCbfvgvba=shapgvba(n,b,j){erghea IjBOEC.nccyl(guvf,nethzragf);};;jvaqbj.IjNqNQ_VQ.IjPnapryGvzrbhg=shapgvba(n,c){c=IjTc(n,c);ine cay=jvaqbj.IjNqNQ_VQ.Cnaryf[c];vs(cay&&cay.UgU!=""){pyrneGvzrbhg(cay.UgU);}};;jvaqbj.IjNqNQ_VQ.IjPnapryNyyGvzrbhgf=shapgvba(n){vs(jvaqbj.IjNqNQ_VQ.YbpxGvzrbhgPunatrf)erghea;sbe(ine c=0;c<jvaqbj.IjNqNQ_VQ.bac;c++)IjPnapryGvzrbhg(n,c);};;jvaqbj.IjNqNQ_VQ.IjFgnegGvzrbhg=shapgvba(n,c,bG){c=IjTc(n,c);ine cay=jvaqbj.IjNqNQ_VQ.Cnaryf[c];vs(cay&&((cay.UvqrGvzrbhgInyhr>0)||(nethzragf.yratgu==3&&bG>0))){pyrneGvzrbhg(cay.UgU);cay.UgU=frgGvzrbhg(cay.UvqrNpgvba,(nethzragf.yratgu==3?bG:cay.UvqrGvzrbhgInyhr));}};;jvaqbj.IjNqNQ_VQ.IjErfrgGvzrbhg=shapgvba(n,c,bG){c=IjTc(n,c);IjPnapryGvzrbhg(n,c);riny("IjFgnegGvzrbhg(NQ_VQ,c"+(nethzragf.yratgu==3?",bG":"")+")");};;jvaqbj.IjNqNQ_VQ.IjErfrgNyyGvzrbhgf=shapgvba(n){sbe(ine c=0;c<jvaqbj.IjNqNQ_VQ.bac;c++)IjErfrgGvzrbhg(n,c);};;jvaqbj.IjNqNQ_VQ.IjQrgnpure=shapgvba(n,rig,sap){gel{vs(IjQVR5)riny("jvaqbj.qrgnpuRirag(\'ba"+rig+"\',"+sap+"NQ_VQ)");ryfr vs(!IjQVRZnp)riny("jvaqbj.erzbir';
+  var str9 = ';;jvaqbj.IjPurpxZbhfrCbfvgvbaNQ_VQ=shapgvba(r){vs(!r)ine r=jvaqbj.rirag;ine c=-1;vs(jvaqbj.IjNqNQ_VQ)c=jvaqbj.IjNqNQ_VQ.EbyybssCnary;ine bo=IjTrgBow("IjCnayNQ_VQ_"+c);vs(bo&&bo.fglyr.ivfvovyvgl=="ivfvoyr"){ine fns=IjFns?8:0;ine pheK=r.pyvragK+IjBOFpe("U")+fns,pheL=r.pyvragL+IjBOFpe("I")+fns;ine y=IjBOEC(NQ_VQ,bo,"Y"),g=IjBOEC(NQ_VQ,bo,"G");ine e=y+jvaqbj.IjNqNQ_VQ.Cnaryf[c].Jvqgu,o=g+jvaqbj.IjNqNQ_VQ.Cnaryf[c].Urvtug;vs((pheK<y)||(pheK>e)||(pheL<g)||(pheL>o)){vs(jvaqbj.IjBaEbyybssNQ_VQ)IjBaEbyybssNQ_VQ(c);ryfr IjPybfrNq(NQ_VQ,c,gehr,"");}ryfr erghea;}IjPnapryZbhfrYvfgrareNQ_VQ();};;jvaqbj.IjFrgEbyybssCnaryNQ_VQ=shapgvba(c){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;c=IjTc(NQ_VQ,c);vs(jvaqbj.IjNqNQ_VQ&&jvaqbj.IjNqNQ_VQ.EbyybssCnary>-1)IjPnapryZbhfrYvfgrareNQ_VQ();vs(jvaqbj.IjNqNQ_VQ)jvaqbj.IjNqNQ_VQ.EbyybssCnary=c;gel{vs(q.nqqRiragYvfgrare)q.nqqRiragYvfgrare(z,s,snyfr);ryfr vs(q.nggnpuRirag)q.nggnpuRirag("ba"+z,s);}pngpu(r){}};;jvaqbj.IjPnapryZbhfrYvfgrareNQ_VQ=shapgvba(){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;vs(jvaqbj.IjNqNQ_VQ)jvaqbj.IjNqNQ_VQ.EbyybssCnary=-1;gel{vs(q.erzbirRiragYvfgrare)q.erzbirRiragYvfgrare(z,s,snyfr);ryfr vs(q.qrgnpuRirag)q.qrgnpuRirag("ba"+z,s);}pngpu(r){}};;jvaqbj.IjNqNQ_VQ.IjTc=d2(n,c){ine nq=jvaqbj.IjNqNQ_VQ;vs(vfAnA(c)){sbe(ine v=0;v<nq.Cnaryf.yratgu;v++)vs(nq.Cnaryf[v].Anzr==c)erghea v;erghea 0;}erghea c;};;jvaqbj.IjNqNQ_VQ.IjTpy=d2(n,c,p){ine cn=jvaqbj.IjNqNQ_VQ.Cnaryf[IjTc(n,c)];vs(!cn)erghea 0;vs(vfAnA(p)){sbe(ine v=0;v<cn.Pyvpxguehf.yratgu;v++)vs(cn.Pyvpxguehf[v].Anzr==p)erghea v;erghea 0;}erghea p;};;jvaqbj.IjNqNQ_VQ.IjGenpr=d2(n,f){gel{vs(jvaqbj["Ij"+"QtQ"])jvaqbj["Ij"+"QtQ"](n,1,f);}pngpu(r){}};;jvaqbj.IjNqNQ_VQ.IjYvzvg1=d2(n,f){ine nq=jvaqbj.IjNqNQ_VQ,vh=f.fcyvg("/");sbe(ine v=0,p=0;v<vh.yratgu;v++){vs(vh[v].yratgu>0){vs(nq.FzV.yratgu>0)nq.FzV+="/";nq.FzV+=vh[v];nq.FtZ[nq.FtZ.yratgu]=snyfr;}}};;jvaqbj.IjNqNQ_VQ.IjYvzvg0=d2(n,f){ine nq=jvaqbj.IjNqNQ_VQ,vh=f.fcyvg("/");sbe(ine v=0;v<vh.yratgu;v++){vs(vh[v].yratgu>0){vs(nq.OvC.yratgu>0)nq.OvC+="/";nq.OvC+=vh[v];}}};;jvaqbj.IjNqNQ_VQ.IjRVST=d2(n,c){jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]=IjTrgBow("IjCnayNQ_VQ_"+c+"_Bow");vs(jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]==ahyy)frgGvzrbhg("IjRVST(NQ_VQ,"+c+")",jvaqbj.IjNqNQ_VQ.rvsg);};;jvaqbj.IjNqNQ_VQ.IjNavzSHC=d2(n,c){ine nq=jvaqbj.IjNqNQ_VQ;vs(c>nq.Cnaryf.yratgu)erghea;ine cna=nq.Cnaryf[c],nn=gehr,on=gehr,yn=gehr,en=gehr,cn=nq.Cnaryf[0],sf=nq.ShF,j=cn.Jvqgu,u=cn.Urvtug;vs(j=="100%"){j=sf;en=snyfr;yn=snyfr;}vs(u=="100%"){u=sf;nn=snyfr;on=snyfr;}vs(cn.YnY=="Y")yn=snyfr;vs(cn.YnY=="E")en=snyfr;vs(cn.GnY=="G")nn=snyfr;vs(cn.GnY=="O")on=snyfr;ine k=0,l=0;fjvgpu(nq.NshP%8){pnfr 0:oernx;pnfr 1:vs(nn)l=-sf;oernx;pnfr 2:k=j-sf;oernx;pnfr 3:vs(en)k=j;oernx;pnfr 4:k=j-sf;l=u-sf;oernx;pnfr 5:k=j-sf;vs(on)l=u;oernx;pnfr 6:l=u-sf;oernx;pnfr 7:vs(yn)k=-sf;l=u-sf;oernx;}vs(nq.NshP++ <nq.NshG)frgGvzrbhg(("IjNavzSHC(NQ_VQ,"+c+")"),nq.NshC);ryfr{k=-1000;l=k;}cna.YrsgBssfrg=k;cna.GbcBssfrg=l;IjNhErcb(n,c);};;jvaqbj.IjNqNQ_VQ.IjTrgErnyCbfvgvba=d2(n,b,j){erghea IjBOEC.nccyl(guvf,nethzragf);};;jvaqbj.IjNqNQ_VQ.IjPnapryGvzrbhg=d2(n,c){c=IjTc(n,c);ine cay=jvaqbj.IjNqNQ_VQ.Cnaryf[c];vs(cay&&cay.UgU!=""){pyrneGvzrbhg(cay.UgU);}};;jvaqbj.IjNqNQ_VQ.IjPnapryNyyGvzrbhgf=d2(n){vs(jvaqbj.IjNqNQ_VQ.YbpxGvzrbhgPunatrf)erghea;sbe(ine c=0;c<jvaqbj.IjNqNQ_VQ.bac;c++)IjPnapryGvzrbhg(n,c);};;jvaqbj.IjNqNQ_VQ.IjFgnegGvzrbhg=d2(n,c,bG){c=IjTc(n,c);ine cay=jvaqbj.IjNqNQ_VQ.Cnaryf[c];vs(cay&&((cay.UvqrGvzrbhgInyhr>0)||(nethzragf.yratgu==3&&bG>0))){pyrneGvzrbhg(cay.UgU);cay.UgU=frgGvzrbhg(cay.UvqrNpgvba,(nethzragf.yratgu==3?bG:cay.UvqrGvzrbhgInyhr));}};;jvaqbj.IjNqNQ_VQ.IjErfrgGvzrbhg=d2(n,c,bG){c=IjTc(n,c);IjPnapryGvzrbhg(n,c);riny("IjFgnegGvzrbhg(NQ_VQ,c"+(nethzragf.yratgu==3?",bG":"")+")");};;jvaqbj.IjNqNQ_VQ.IjErfrgNyyGvzrbhgf=d2(n){sbe(ine c=0;c<jvaqbj.IjNqNQ_VQ.bac;c++)IjErfrgGvzrbhg(n,c);};;jvaqbj.IjNqNQ_VQ.IjQrgnpure=d2(n,rig,sap){gel{vs(IjQVR5)riny("jvaqbj.qrgnpuRirag(\'ba"+rig+"\',"+sap+"NQ_VQ)");ryfr vs(!IjQVRZnp)riny("jvaqbj.erzbirRiragYvfgrare(\'"+rig+"\',"+sap+"NQ_VQ,snyfr)");}pngpu(r){}};;jvaqbj.IjNqNQ_VQ.IjPyrna';
+  function runBlock1() {
+    for (var i = 0; i < 81; i++) {
+      'VC=74.125.75.1'.search(re8);
+    }
+    for (var i = 0; i < 78; i++) {
+      '9.0  e115'.replace(/(\s)+e/, '');
+      'k'.replace(/./, '');
+      str2.replace(re17, '');
+      str3.replace(re17, '');
+      '144631658'.search(re8);
+      'Pbhagel=IIZ%3Q'.search(re8);
+      'Pbhagel=IIZ='.search(re8);
+      'CersreerqPhygherCraqvat='.search(re8);
+      str4.search(re8);
+      str5.search(re8);
+      '__hgzp=144631658'.search(re8);
+      'gvzrMbar=-8'.search(re8);
+      'gvzrMbar=0'.search(re8);
+      str0.search(/Fnsnev\/(\d+\.\d+)/);
+      'vachggrkg  QBZPbageby_cynprubyqre'.search(re3);
+      'xrlqbja'.search(re0);
+      'xrlhc'.search(re0);
+    }
+    for (var i = 0; i < 77; i++) {
+      'uggc://zrffntvat.zlfcnpr.pbz/vaqrk.psz'.replace(re12, '');
+      'uggc://zrffntvat.zlfcnpr.pbz/vaqrk.psz'.search(re13);
+    }
+    for (var i = 0; i < 73; i++) {
+      'FrffvbaFgbentr=%7O%22GnoThvq%22%3N%7O%22thvq%22%3N1231367125017%7Q%7Q'.replace(re18, '');
+    }
+    for (var i = 0; i < 72; i++) {
+      str6.search(re1);
+    }
+    for (var i = 0; i < 71; i++) {
+      ''.search(re19);
+    }
+    for (var i = 0; i < 70; i++) {
+      '3.5.0.0'.replace(re11, '');
+      str7.replace(/d1/g, '');
+      str8.replace(/NQ_VQ/g, '');
+      str9.replace(/d2/g, '');
+      'NI%3Q1_CI%3Q1_PI%3Q1_EI%3Q1_HI%3Q1_HP%3Q1_IC%3Q0.0.0.0_IH%3Q0'.replace(/_/g, '');
+      'svz_zlfcnpr_ubzrcntr_abgybttrqva,svz_zlfcnpr_aba_HTP,svz_zlfcnpr_havgrq-fgngrf'.split(re20);
+      'ybnqvat'.search(re21);
+    }
+    for (var i = 0; i < 68; i++) {
+      '#'.search(re1);
+      str0.search(/(?:ZFVR.(\d+\.\d+))|(?:(?:Sversbk|TenaCnenqvfb|Vprjrnfry).(\d+\.\d+))|(?:Bcren.(\d+\.\d+))|(?:NccyrJroXvg.(\d+(?:\.\d+)?))/);
+      str0.search(/(Znp BF K)|(Jvaqbjf;)/);
+      str0.search(/Trpxb\/([0-9]+)/);
+      'ybnqrq'.search(re21);
+    }
+    for (var i = 0; i < 49; i++) {
+      'pbybe'.search(re16);
+    }
+    for (var i = 0; i < 44; i++) {
+      'uggc://sevraqf.zlfcnpr.pbz/vaqrk.psz'.replace(re12, '');
+      'uggc://sevraqf.zlfcnpr.pbz/vaqrk.psz'.search(re13);
+    }
+  }
+  var re22 = /\bso_zrah\b/;
+  var re23 = /^(?:(?:[^:\/?#]+):)?(?:\/\/(?:[^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/;
+  var re24 = /uggcf?:\/\/([^\/]+\.)?snprobbx\.pbz\//;
+  var re25 = /"/g;
+  var re26 = /^([^?#]+)(?:\?([^#]*))?(#.*)?/;
+  function runBlock2() {
+    for (var i = 0; i < 40; i++) {
+      'fryrpgrq'.replace(re14, '');
+      'fryrpgrq'.replace(re15, '');
+    }
+    for (var i = 0; i < 39; i++) {
+      'vachggrkg uvqqra_ryrz'.replace(/\buvqqra_ryrz\b/g, '');
+      'vachggrkg '.search(re3);
+      'vachggrkg'.search(re3);
+      'HVYvaxOhggba'.search(re22);
+      'HVYvaxOhggba_E'.search(re22);
+      'HVYvaxOhggba_EJ'.search(re22);
+      'zrah_ybtva_pbagnvare'.search(re22);
+      'vachgcnffjbeq'.search(/\buvqqra_ryrz\b/);
+    }
+    for (var i = 0; i < 37; i++) {
+      '111soqs57qo8o8480qo18sor2011r3n591q7s6s37r120904'.search(re8);
+      'SbeprqRkcvengvba=633669315660164980'.search(re8);
+      'FrffvbaQQS2=111soqs57qo8o8480qo18sor2011r3n591q7s6s37r120904'.search(re8);
+    }
+    for (var i = 0; i < 35; i++) {
+      'puvyq p1 svefg'.replace(re14, '');
+      'puvyq p1 svefg'.replace(re15, '');
+      'sylbhg pybfrq'.replace(re14, '');
+      'sylbhg pybfrq'.replace(re15, '');
+    }
+    for (var i = 0; i < 34; i++) {
+      'gno2'.search(re19);
+      'gno3'.search(re19);
+      '44132r503660'.search(re8);
+      'SbeprqRkcvengvba=633669316860113296'.search(re8);
+      'AFP_zp_dfctwzs-aowb_80=44132r503660'.search(re8);
+      'FrffvbaQQS2=s6r4579npn4rn2135s904r0s75pp1o5334p6s6pospo12696'.search(re8);
+      's6r4579npn4rn2135s904r0s75pp1o5334p6s6pospo12696'.search(re8);
+    }
+    for (var i = 0; i < 32; i++) {
+      str0.search(/puebzr/i);
+    }
+    for (var i = 0; i < 31; i++) {
+      'uggc://jjj.snprobbx.pbz/'.replace(re23, '');
+      'SbeprqRkcvengvba=633669358527244818'.search(re8);
+      'VC=66.249.85.130'.search(re8);
+      'FrffvbaQQS2=s15q53p9n372sn76npr13o271n4s3p5r29p235746p908p58'.search(re8);
+      's15q53p9n372sn76npr13o271n4s3p5r29p235746p908p58'.search(re8);
+      'uggc://jjj.snprobbx.pbz/'.search(re24);
+    }
+    for (var i = 0; i < 30; i++) {
+      '419'.replace(re6, '');
+      'gvzrfgnzc'.search(/(?:^|\s+)gvzrfgnzc(?:\s+|$)/);
+      '419'.search(re7);
+    }
+    for (var i = 0; i < 29; i++) {
+      'uggc://jjj.snprobbx.pbz/ybtva.cuc'.replace(re23, '');
+    }
+    for (var i = 0; i < 28; i++) {
+      'Funer guvf tnqtrg'.replace(re25, '');
+      'Funer guvf tnqtrg'.replace(re12, '');
+      'uggc://jjj.tbbtyr.pbz/vt/qverpgbel'.search(re26);
+    }
+  }
+  var re27 = /-\D/g;
+  var re28 = /\bnpgvingr\b/;
+  var re29 = /%2R/gi;
+  var re30 = /%2S/gi;
+  var re31 = /^(mu-(PA|GJ)|wn|xb)$/;
+  var re32 = /\s?;\s?/;
+  var re33 = /%\w?$/;
+  var re34 = /TNQP=([^;]*)/i;
+  var str10 = 'FrffvbaQQS2=111soqs57qo8o8480qo18sor2011r3n591q7s6s37r120904; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669315660164980&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var str11 = 'FrffvbaQQS2=111soqs57qo8o8480qo18sor2011r3n591q7s6s37r120904; __hgzm=144631658.1231363570.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.3426875219718084000.1231363570.1231363570.1231363570.1; __hgzo=144631658.0.10.1231363570; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669315660164980&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str12 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231363514065&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231363514065&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Subzr.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1326469221.1231363557&tn_fvq=1231363557&tn_uvq=1114636509&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str13 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669315660164980&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str14 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669315660164980&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var re35 = /[<>]/g;
+  var str15 = 'FrffvbaQQS2=s6r4579npn4rn2135s904r0s75pp1o5334p6s6pospo12696; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669316860113296&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzs-aowb_80=44132r503660';
+  var str16 = 'FrffvbaQQS2=s6r4579npn4rn2135s904r0s75pp1o5334p6s6pospo12696; AFP_zp_dfctwzs-aowb_80=44132r503660; __hgzm=144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.965867047679498800.1231363638.1231363638.1231363638.1; __hgzo=144631658.0.10.1231363638; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669316860113296&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str17 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231363621014&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231363621014&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyr.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=348699119.1231363624&tn_fvq=1231363624&tn_uvq=895511034&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str18 = 'uggc://jjj.yrobapbva.se/yv';
+  var str19 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669316860113296&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str20 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669316860113296&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  function runBlock3() {
+    for (var i = 0; i < 27; i++) {
+      'e115'.replace(/[A-Za-z]/g, '');
+    }
+    for (var i = 0; i < 23; i++) {
+      'qvfcynl'.replace(re27, '');
+      'cbfvgvba'.replace(re27, '');
+    }
+    for (var i = 0; i < 22; i++) {
+      'unaqyr'.replace(re14, '');
+      'unaqyr'.replace(re15, '');
+      'yvar'.replace(re14, '');
+      'yvar'.replace(re15, '');
+      'cnerag puebzr6 fvatyr1 gno'.replace(re14, '');
+      'cnerag puebzr6 fvatyr1 gno'.replace(re15, '');
+      'fyvqre'.replace(re14, '');
+      'fyvqre'.replace(re15, '');
+      ''.search(re28);
+    }
+    for (var i = 0; i < 21; i++) {
+      'uggc://jjj.zlfcnpr.pbz/'.replace(re12, '');
+      'uggc://jjj.zlfcnpr.pbz/'.search(re13);
+    }
+    for (var i = 0; i < 20; i++) {
+      'cntrivrj'.replace(re29, '');
+      'cntrivrj'.replace(re30, '');
+      'ynfg'.search(re19);
+      'ba svefg'.search(re19);
+      'VC=74.125.75.3'.search(re8);
+    }
+    for (var i = 0; i < 19; i++) {
+      'ra'.search(re31);
+    }
+    for (var i = 0; i < 18; i++) {
+      str10.split(re32);
+      str11.split(re32);
+      str12.replace(re33, '');
+      '144631658.0.10.1231363570'.search(re8);
+      '144631658.1231363570.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.3426875219718084000.1231363570.1231363570.1231363570.1'.search(re8);
+      str13.search(re8);
+      str14.search(re8);
+      '__hgzn=144631658.3426875219718084000.1231363570.1231363570.1231363570.1'.search(re8);
+      '__hgzo=144631658.0.10.1231363570'.search(re8);
+      '__hgzm=144631658.1231363570.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      str10.search(re34);
+      str11.search(re34);
+    }
+    for (var i = 0; i < 17; i++) {
+      str0.search(/zfvr/gi);
+      str0.search(/bcren/gi);
+      str15.split(re32);
+      str16.split(re32);
+      'ohggba'.replace(re14, '');
+      'ohggba'.replace(re15, '');
+      'puvyq p1 svefg sylbhg pybfrq'.replace(re14, '');
+      'puvyq p1 svefg sylbhg pybfrq'.replace(re15, '');
+      'pvgvrf'.replace(re14, '');
+      'pvgvrf'.replace(re15, '');
+      'pybfrq'.replace(re14, '');
+      'pybfrq'.replace(re15, '');
+      'qry'.replace(re14, '');
+      'qry'.replace(re15, '');
+      'uqy_zba'.replace(re14, '');
+      'uqy_zba'.replace(re15, '');
+      str17.replace(re33, '');
+      str18.replace(/%3P/g, '');
+      str18.replace(/%3R/g, '');
+      str18.replace(/%3q/g, '');
+      str18.replace(re35, '');
+      'yvaxyvfg16'.replace(re14, '');
+      'yvaxyvfg16'.replace(re15, '');
+      'zvahf'.replace(re14, '');
+      'zvahf'.replace(re15, '');
+      'bcra'.replace(re14, '');
+      'bcra'.replace(re15, '');
+      'cnerag puebzr5 fvatyr1 ps NU'.replace(re14, '');
+      'cnerag puebzr5 fvatyr1 ps NU'.replace(re15, '');
+      'cynlre'.replace(re14, '');
+      'cynlre'.replace(re15, '');
+      'cyhf'.replace(re14, '');
+      'cyhf'.replace(re15, '');
+      'cb_uqy'.replace(re14, '');
+      'cb_uqy'.replace(re15, '');
+      'hyJVzt'.replace(re14, '');
+      'hyJVzt'.replace(re15, '');
+      '144631658.0.10.1231363638'.search(re8);
+      '144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.965867047679498800.1231363638.1231363638.1231363638.1'.search(re8);
+      '4413268q3660'.search(re8);
+      '4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n'.search(re8);
+      'SbeprqRkcvengvba=633669321699093060'.search(re8);
+      'VC=74.125.75.20'.search(re8);
+      str19.search(re8);
+      str20.search(re8);
+      'AFP_zp_tfwsbrg-aowb_80=4413268q3660'.search(re8);
+      'FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n'.search(re8);
+      '__hgzn=144631658.965867047679498800.1231363638.1231363638.1231363638.1'.search(re8);
+      '__hgzo=144631658.0.10.1231363638'.search(re8);
+      '__hgzm=144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      str15.search(re34);
+      str16.search(re34);
+    }
+  }
+  var re36 = /uers|fep|fryrpgrq/;
+  var re37 = /\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g;
+  var re38 = /^(\w+|\*)$/;
+  var str21 = 'FrffvbaQQS2=s15q53p9n372sn76npr13o271n4s3p5r29p235746p908p58; ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669358527244818&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var str22 = 'FrffvbaQQS2=s15q53p9n372sn76npr13o271n4s3p5r29p235746p908p58; __hgzm=144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.4127520630321984500.1231367822.1231367822.1231367822.1; __hgzo=144631658.0.10.1231367822; __hgzp=144631658; ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669358527244818&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str23 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231367803797&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367803797&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Szrffntvat.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1192552091.1231367807&tn_fvq=1231367807&tn_uvq=1155446857&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str24 = 'ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669358527244818&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str25 = 'ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669358527244818&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var str26 = 'hy.ynat-fryrpgbe';
+  var re39 = /\\/g;
+  var re40 = / /g;
+  var re41 = /\/\xc4\/t/;
+  var re42 = /\/\xd6\/t/;
+  var re43 = /\/\xdc\/t/;
+  var re44 = /\/\xdf\/t/;
+  var re45 = /\/\xe4\/t/;
+  var re46 = /\/\xf6\/t/;
+  var re47 = /\/\xfc\/t/;
+  var re48 = /\W/g;
+  var re49 = /uers|fep|fglyr/;
+  function runBlock4() {
+    for (var i = 0; i < 16; i++) {
+      ''.replace(/\*/g, '');
+      'npgvir'.search(/\bnpgvir\b/);
+      str0.search(/sversbk/i);
+      'glcr'.search(re36);
+      str0.search(/zfvr/i);
+      str0.search(/bcren/i);
+    }
+    for (var i = 0; i < 15; i++) {
+      str21.split(re32);
+      str22.split(re32);
+      'uggc://ohyyrgvaf.zlfcnpr.pbz/vaqrk.psz'.replace(re12, '');
+      str23.replace(re33, '');
+      'yv'.replace(re37, '');
+      'yv'.replace(re18, '');
+      '144631658.0.10.1231367822'.search(re8);
+      '144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.4127520630321984500.1231367822.1231367822.1231367822.1'.search(re8);
+      str24.search(re8);
+      str25.search(re8);
+      '__hgzn=144631658.4127520630321984500.1231367822.1231367822.1231367822.1'.search(re8);
+      '__hgzo=144631658.0.10.1231367822'.search(re8);
+      '__hgzm=144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      str21.search(re34);
+      str22.search(re34);
+      str26.search(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g);
+      'uggc://ohyyrgvaf.zlfcnpr.pbz/vaqrk.psz'.search(re13);
+      'yv'.search(re38);
+    }
+    for (var i = 0; i < 14; i++) {
+      ''.replace(re18, '');
+      '9.0  e115'.replace(/(\s+e|\s+o[0-9]+)/, '');
+      'Funer guvf tnqtrg'.replace(/</g, '');
+      'Funer guvf tnqtrg'.replace(/>/g, '');
+      'Funer guvf tnqtrg'.replace(re39, '');
+      'uggc://cebsvyrrqvg.zlfcnpr.pbz/vaqrk.psz'.replace(re12, '');
+      'grnfre'.replace(re40, '');
+      'grnfre'.replace(re41, '');
+      'grnfre'.replace(re42, '');
+      'grnfre'.replace(re43, '');
+      'grnfre'.replace(re44, '');
+      'grnfre'.replace(re45, '');
+      'grnfre'.replace(re46, '');
+      'grnfre'.replace(re47, '');
+      'grnfre'.replace(re48, '');
+      'znetva-gbc'.search(re16);
+      'cbfvgvba'.search(re16);
+      'gno1'.search(re19);
+      'qz'.search(re9);
+      'qg'.search(re9);
+      'zbqobk'.search(re9);
+      'zbqobkva'.search(re9);
+      'zbqgvgyr'.search(re9);
+      'uggc://cebsvyrrqvg.zlfcnpr.pbz/vaqrk.psz'.search(re13);
+      '/vt/znvytnqtrg'.search(re26);
+      'glcr'.search(re49);
+    }
+  }
+  var re50 = /(?:^|\s+)fryrpgrq(?:\s+|$)/;
+  var re51 = /\&/g;
+  var re52 = /\+/g;
+  var re53 = /\?/g;
+  var re54 = /\t/g;
+  var re55 = /(\$\{nqiHey\})|(\$nqiHey\b)/g;
+  var re56 = /(\$\{cngu\})|(\$cngu\b)/g;
+  function runBlock5() {
+    for (var i = 0; i < 13; i++) {
+      'purpx'.replace(re14, '');
+      'purpx'.replace(re15, '');
+      'pvgl'.replace(re14, '');
+      'pvgl'.replace(re15, '');
+      'qrpe fyvqrgrkg'.replace(re14, '');
+      'qrpe fyvqrgrkg'.replace(re15, '');
+      'svefg fryrpgrq'.replace(re14, '');
+      'svefg fryrpgrq'.replace(re15, '');
+      'uqy_rag'.replace(re14, '');
+      'uqy_rag'.replace(re15, '');
+      'vape fyvqrgrkg'.replace(re14, '');
+      'vape fyvqrgrkg'.replace(re15, '');
+      'vachggrkg QBZPbageby_cynprubyqre'.replace(re5, '');
+      'cnerag puebzr6 fvatyr1 gno fryrpgrq'.replace(re14, '');
+      'cnerag puebzr6 fvatyr1 gno fryrpgrq'.replace(re15, '');
+      'cb_guz'.replace(re14, '');
+      'cb_guz'.replace(re15, '');
+      'fhozvg'.replace(re14, '');
+      'fhozvg'.replace(re15, '');
+      ''.search(re50);
+      str0.search(/NccyrJroXvg\/([^\s]*)/);
+      str0.search(/XUGZY/);
+    }
+    for (var i = 0; i < 12; i++) {
+      '${cebg}://${ubfg}${cngu}/${dz}'.replace(/(\$\{cebg\})|(\$cebg\b)/g, '');
+      '1'.replace(re40, '');
+      '1'.replace(re10, '');
+      '1'.replace(re51, '');
+      '1'.replace(re52, '');
+      '1'.replace(re53, '');
+      '1'.replace(re39, '');
+      '1'.replace(re54, '');
+      '9.0  e115'.replace(/^(.*)\..*$/, '');
+      '9.0  e115'.replace(/^.*e(.*)$/, '');
+      '<!-- ${nqiHey} -->'.replace(re55, '');
+      '<fpevcg glcr="grkg/wninfpevcg" fep="${nqiHey}"></fpevcg>'.replace(re55, '');
+      str1.replace(/^.*\s+(\S+\s+\S+$)/, '');
+      'tzk%2Subzrcntr%2Sfgneg%2Sqr%2S'.replace(re30, '');
+      'tzk'.replace(re30, '');
+      'uggc://${ubfg}${cngu}/${dz}'.replace(/(\$\{ubfg\})|(\$ubfg\b)/g, '');
+      'uggc://nqpyvrag.hvzfrei.arg${cngu}/${dz}'.replace(re56, '');
+      'uggc://nqpyvrag.hvzfrei.arg/wf.at/${dz}'.replace(/(\$\{dz\})|(\$dz\b)/g, '');
+      'frpgvba'.replace(re29, '');
+      'frpgvba'.replace(re30, '');
+      'fvgr'.replace(re29, '');
+      'fvgr'.replace(re30, '');
+      'fcrpvny'.replace(re29, '');
+      'fcrpvny'.replace(re30, '');
+      'anzr'.search(re36);
+      '9.0  e115'.search(/e/);
+    }
+  }
+  var re57 = /##yv4##/gi;
+  var re58 = /##yv16##/gi;
+  var re59 = /##yv19##/gi;
+  var str27 = '<hy pynff="nqi">##yv4##Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.##yv16##Ybgf bs fgbentr &#40;5 TO&#41; - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##</hy>';
+  var str28 = '<hy pynff="nqi"><yv vq="YvOYG4" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg4.cat)">Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.##yv16##Ybgf bs fgbentr &#40;5 TO&#41; - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##</hy>';
+  var str29 = '<hy pynff="nqi"><yv vq="YvOYG4" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg4.cat)">Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.<yv vq="YvOYG16" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg16.cat)">Ybgf bs fgbentr &#40;5 TO&#41; - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##</hy>';
+  var str30 = '<hy pynff="nqi"><yv vq="YvOYG4" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg4.cat)">Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.<yv vq="YvOYG19" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg19.cat)">Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.<yv vq="YvOYG16" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg16.cat)">Ybgf bs fgbentr &#40;5 TO&#41; - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##</hy>';
+  var str31 = '<hy pynff="nqi"><yv vq="YvOYG4" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg4.cat)">Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.<yv vq="YvOYG19" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg19.cat)">Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.<yv vq="YvOYG16" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg16.cat)">Ybgf bs fgbentr &#40;5 TO&#41; - zber pbby fghss ba gur jnl.<oe> <oe> ##N##Yrnea zber##/N##</hy>';
+  var str32 = '<hy pynff="nqi"><yv vq="YvOYG4" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg4.cat)">Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.<yv vq="YvOYG19" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg19.cat)">Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.<yv vq="YvOYG16" fglyr="onpxtebhaq-vzntr:hey(uggc://vzt.jykef.pbz/~Yvir.FvgrPbagrag.VQ/~14.2.1230/~/~/~/oyg16.cat)">Ybgf bs fgbentr &#40;5 TO&#41; - zber pbby fghss ba gur jnl.<oe> <oe> <n uers="uggc://znvy.yvir.pbz/znvy/nobhg.nfck" gnetrg="_oynax">Yrnea zber##/N##</hy>';
+  var str33 = 'Bar Jvaqbjf Yvir VQ trgf lbh vagb <o>Ubgznvy</o>, <o>Zrffratre</o>, <o>Kobk YVIR</o> \u2014 naq bgure cynprf lbh frr #~#argjbexybtb#~#';
+  var re60 = /(?:^|\s+)bss(?:\s+|$)/;
+  var re61 = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/;
+  var re62 = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;
+  var str34 = '${1}://${2}${3}${4}${5}';
+  var str35 = ' O=6gnyg0g4znrrn&o=3&f=gc; Q=_lyu=K3bQZGSxnT4lZzD3OS9GNmV3ZGLkAQxRpTyxNmRlZmRmAmNkAQLRqTImqNZjOUEgpTjQnJ5xMKtgoN--; SCF=qy';
+  function runBlock6() {
+    for (var i = 0; i < 11; i++) {
+      str27.replace(/##yv0##/gi, '');
+      str27.replace(re57, '');
+      str28.replace(re58, '');
+      str29.replace(re59, '');
+      str30.replace(/##\/o##/gi, '');
+      str30.replace(/##\/v##/gi, '');
+      str30.replace(/##\/h##/gi, '');
+      str30.replace(/##o##/gi, '');
+      str30.replace(/##oe##/gi, '');
+      str30.replace(/##v##/gi, '');
+      str30.replace(/##h##/gi, '');
+      str31.replace(/##n##/gi, '');
+      str32.replace(/##\/n##/gi, '');
+      str33.replace(/#~#argjbexybtb#~#/g, '');
+      str0.search(/ Zbovyr\//);
+      str27.search(/##yv1##/gi);
+      str28.search(/##yv10##/gi);
+      str28.search(/##yv11##/gi);
+      str28.search(/##yv12##/gi);
+      str28.search(/##yv13##/gi);
+      str28.search(/##yv14##/gi);
+      str28.search(/##yv15##/gi);
+      str28.search(re58);
+      str29.search(/##yv17##/gi);
+      str29.search(/##yv18##/gi);
+      str29.search(re59);
+      str27.search(/##yv2##/gi);
+      str30.search(/##yv20##/gi);
+      str30.search(/##yv21##/gi);
+      str30.search(/##yv22##/gi);
+      str30.search(/##yv23##/gi);
+      str27.search(/##yv3##/gi);
+      str27.search(re57);
+      str28.search(/##yv5##/gi);
+      str28.search(/##yv6##/gi);
+      str28.search(/##yv7##/gi);
+      str28.search(/##yv8##/gi);
+      str28.search(/##yv9##/gi);
+      '473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29'.search(re8);
+      'SbeprqRkcvengvba=633669325184628362'.search(re8);
+      'FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29'.search(re8);
+      str0.search(/AbxvnA[^\/]*/);
+    }
+    for (var i = 0; i < 10; i++) {
+      ' bss'.replace(/(?:^|\s+)bss(?:\s+|$)/g, '');
+      str34.replace(/(\$\{0\})|(\$0\b)/g, '');
+      str34.replace(/(\$\{1\})|(\$1\b)/g, '');
+      str34.replace(/(\$\{pbzcyrgr\})|(\$pbzcyrgr\b)/g, '');
+      str34.replace(/(\$\{sentzrag\})|(\$sentzrag\b)/g, '');
+      str34.replace(/(\$\{ubfgcbeg\})|(\$ubfgcbeg\b)/g, '');
+      str34.replace(re56, '');
+      str34.replace(/(\$\{cebgbpby\})|(\$cebgbpby\b)/g, '');
+      str34.replace(/(\$\{dhrel\})|(\$dhrel\b)/g, '');
+      'nqfvmr'.replace(re29, '');
+      'nqfvmr'.replace(re30, '');
+      'uggc://${2}${3}${4}${5}'.replace(/(\$\{2\})|(\$2\b)/g, '');
+      'uggc://wf.hv-cbegny.qr${3}${4}${5}'.replace(/(\$\{3\})|(\$3\b)/g, '');
+      'arjf'.replace(re40, '');
+      'arjf'.replace(re41, '');
+      'arjf'.replace(re42, '');
+      'arjf'.replace(re43, '');
+      'arjf'.replace(re44, '');
+      'arjf'.replace(re45, '');
+      'arjf'.replace(re46, '');
+      'arjf'.replace(re47, '');
+      'arjf'.replace(re48, '');
+      str35.search(/ PC=i=(\d+)&oe=(.)/);
+      ' '.search(re60);
+      ' bss'.search(re60);
+      ''.search(re60);
+      ' '.search(re19);
+      'svefg ba'.search(re19);
+      'ynfg vtaber'.search(re19);
+      'ba'.search(re19);
+      'scnq so '.search(re9);
+      'zrqvgobk'.search(re9);
+      'hsgy'.search(re9);
+      'lhv-h'.search(re9);
+      str0.search(/Fnsnev|Xbadhrebe|XUGZY/gi);
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf'.search(re61);
+      '#Ybtva_rznvy'.search(re62);
+    }
+  }
+  var re63 = /\{0\}/g;
+  var str36 = 'FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n; ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669321699093060&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_tfwsbrg-aowb_80=4413268q3660';
+  var str37 = 'FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n; AFP_zp_tfwsbrg-aowb_80=4413268q3660; __hgzm=144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.2294274870215848400.1231364074.1231364074.1231364074.1; __hgzo=144631658.0.10.1231364074; __hgzp=144631658; ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669321699093060&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str38 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231364057761&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231364057761&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Ssevraqf.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1667363813.1231364061&tn_fvq=1231364061&tn_uvq=1917563877&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str39 = 'ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669321699093060&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str40 = 'ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669321699093060&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  function runBlock7() {
+    for (var i = 0; i < 9; i++) {
+      '0'.replace(re40, '');
+      '0'.replace(re10, '');
+      '0'.replace(re51, '');
+      '0'.replace(re52, '');
+      '0'.replace(re53, '');
+      '0'.replace(re39, '');
+      '0'.replace(re54, '');
+      'Lrf'.replace(re40, '');
+      'Lrf'.replace(re10, '');
+      'Lrf'.replace(re51, '');
+      'Lrf'.replace(re52, '');
+      'Lrf'.replace(re53, '');
+      'Lrf'.replace(re39, '');
+      'Lrf'.replace(re54, '');
+    }
+    for (var i = 0; i < 8; i++) {
+      'Pybfr {0}'.replace(re63, '');
+      'Bcra {0}'.replace(re63, '');
+      str36.split(re32);
+      str37.split(re32);
+      'puvyq p1 svefg gnournqref'.replace(re14, '');
+      'puvyq p1 svefg gnournqref'.replace(re15, '');
+      'uqy_fcb'.replace(re14, '');
+      'uqy_fcb'.replace(re15, '');
+      'uvag'.replace(re14, '');
+      'uvag'.replace(re15, '');
+      str38.replace(re33, '');
+      'yvfg'.replace(re14, '');
+      'yvfg'.replace(re15, '');
+      'at_bhgre'.replace(re30, '');
+      'cnerag puebzr5 qbhoyr2 NU'.replace(re14, '');
+      'cnerag puebzr5 qbhoyr2 NU'.replace(re15, '');
+      'cnerag puebzr5 dhnq5 ps NU osyvax zbarl'.replace(re14, '');
+      'cnerag puebzr5 dhnq5 ps NU osyvax zbarl'.replace(re15, '');
+      'cnerag puebzr6 fvatyr1'.replace(re14, '');
+      'cnerag puebzr6 fvatyr1'.replace(re15, '');
+      'cb_qrs'.replace(re14, '');
+      'cb_qrs'.replace(re15, '');
+      'gnopbagrag'.replace(re14, '');
+      'gnopbagrag'.replace(re15, '');
+      'iv_svefg_gvzr'.replace(re30, '');
+      'cntrf.ronl.pbz'.search(/(^|.)(ronl|qri-ehf3.wbg)(|fgberf|zbgbef|yvirnhpgvbaf|jvxv|rkcerff|punggre).(pbz(|.nh|.pa|.ux|.zl|.ft|.oe|.zk)|pb(.hx|.xe|.am)|pn|qr|se|vg|ay|or|ng|pu|vr|va|rf|cy|cu|fr)$/i);
+      '144631658.0.10.1231364074'.search(re8);
+      '144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.2294274870215848400.1231364074.1231364074.1231364074.1'.search(re8);
+      '4413241q3660'.search(re8);
+      'SbeprqRkcvengvba=633669357391353591'.search(re8);
+      str39.search(re8);
+      str40.search(re8);
+      'AFP_zp_kkk-gdzogv_80=4413241q3660'.search(re8);
+      'FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7'.search(re8);
+      '__hgzn=144631658.2294274870215848400.1231364074.1231364074.1231364074.1'.search(re8);
+      '__hgzo=144631658.0.10.1231364074'.search(re8);
+      '__hgzm=144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      'p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7'.search(re8);
+      str36.search(re34);
+      str37.search(re34);
+    }
+  }
+  var re64 = /\b[a-z]/g;
+  var re65 = /^uggc:\/\//;
+  var re66 = /(?:^|\s+)qvfnoyrq(?:\s+|$)/;
+  var str41 = 'uggc://cebsvyr.zlfcnpr.pbz/Zbqhyrf/Nccyvpngvbaf/Cntrf/Pnainf.nfck';
+  function runBlock8() {
+    for (var i = 0; i < 7; i++) {
+      str1.search(/\d+/g);
+      'nsgre'.replace(re64, '');
+      'orsber'.replace(re64, '');
+      'obggbz'.replace(re64, '');
+      'ohvygva_jrngure.kzy'.replace(re65, '');
+      'ohggba'.replace(re37, '');
+      'ohggba'.replace(re18, '');
+      'qngrgvzr.kzy'.replace(re65, '');
+      'uggc://eff.paa.pbz/eff/paa_gbcfgbevrf.eff'.replace(re65, '');
+      'vachg'.replace(re37, '');
+      'vachg'.replace(re18, '');
+      'vafvqr'.replace(re64, '');
+      'cbvagre'.replace(re27, '');
+      'cbfvgvba'.replace(/[A-Z]/g, '');
+      'gbc'.replace(re27, '');
+      'gbc'.replace(re64, '');
+      'hy'.replace(re37, '');
+      'hy'.replace(re18, '');
+      str26.replace(re37, '');
+      str26.replace(re18, '');
+      'lbhghor_vtbbtyr/i2/lbhghor.kzy'.replace(re65, '');
+      'm-vaqrk'.replace(re27, '');
+      str26.search(/#([\w-]+)/);
+      'urvtug'.search(re16);
+      'znetvaGbc'.search(re16);
+      'jvqgu'.search(re16);
+      'gno0 svefg ba'.search(re19);
+      'gno0 ba'.search(re19);
+      'gno4 ynfg'.search(re19);
+      'gno4'.search(re19);
+      'gno5'.search(re19);
+      'gno6'.search(re19);
+      'gno7'.search(re19);
+      'gno8'.search(re19);
+      str0.search(/NqborNVE\/([^\s]*)/);
+      str0.search(/NccyrJroXvg\/([^ ]*)/);
+      str0.search(/XUGZY/gi);
+      'YV'.search(/^(?:obql|ugzy)$/i);
+      'ohggba'.search(re38);
+      'vachg'.search(re38);
+      'hy'.search(re38);
+      str26.search(re38);
+      str26.search(/^(\w+|\*)/);
+      'Jva32'.search(/znp|jva|yvahk/i);
+      'fgngvp'.search(/eton?\([\d\s,]+\)/);
+    }
+    for (var i = 0; i < 6; i++) {
+      ''.replace(/\r/g, '');
+      '/'.replace(re40, '');
+      '/'.replace(re10, '');
+      '/'.replace(re51, '');
+      '/'.replace(re52, '');
+      '/'.replace(re53, '');
+      '/'.replace(re39, '');
+      '/'.replace(re54, '');
+      'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/{0}?[NDO]&{1}&{2}&[NDR]'.replace(re63, '');
+      str41.replace(re12, '');
+      'uggc://jjj.snprobbx.pbz/fepu.cuc'.replace(re23, '');
+      'freivpr'.replace(re40, '');
+      'freivpr'.replace(re41, '');
+      'freivpr'.replace(re42, '');
+      'freivpr'.replace(re43, '');
+      'freivpr'.replace(re44, '');
+      'freivpr'.replace(re45, '');
+      'freivpr'.replace(re46, '');
+      'freivpr'.replace(re47, '');
+      'freivpr'.replace(re48, '');
+      str0.search(/((ZFVR\s+([6-9]|\d\d)\.))/);
+      ''.search(re66);
+      'fryrpgrq'.search(re50);
+      '8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn'.search(re8);
+      'SbeprqRkcvengvba=633669340386893867'.search(re8);
+      'VC=74.125.75.17'.search(re8);
+      'FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn'.search(re8);
+      str0.search(/Xbadhrebe|Fnsnev|XUGZY/);
+      str41.search(re13);
+      'unfsbphf'.search(re49);
+    }
+  }
+  var re67 = /zrah_byq/g;
+  var str42 = 'FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669325184628362&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var str43 = 'FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29; __hgzm=144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.3931862196947939300.1231364380.1231364380.1231364380.1; __hgzo=144631658.0.10.1231364380; __hgzp=144631658; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669325184628362&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str44 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_vzntrf_wf&qg=1231364373088&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231364373088&punaary=svz_zlfcnpr_hfre-ivrj-pbzzragf%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Spbzzrag.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1158737789.1231364375&tn_fvq=1231364375&tn_uvq=415520832&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str45 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669325184628362&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str46 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669325184628362&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var re68 = /^([#.]?)((?:[\w\u0128-\uffff*_-]|\\.)*)/;
+  var re69 = /\{1\}/g;
+  var re70 = /\s+/;
+  var re71 = /(\$\{4\})|(\$4\b)/g;
+  var re72 = /(\$\{5\})|(\$5\b)/g;
+  var re73 = /\{2\}/g;
+  var re74 = /[^+>] [^+>]/;
+  var re75 = /\bucpyv\s*=\s*([^;]*)/i;
+  var re76 = /\bucuvqr\s*=\s*([^;]*)/i;
+  var re77 = /\bucfie\s*=\s*([^;]*)/i;
+  var re78 = /\bhfucjrn\s*=\s*([^;]*)/i;
+  var re79 = /\bmvc\s*=\s*([^;]*)/i;
+  var re80 = /^((?:[\w\u0128-\uffff*_-]|\\.)+)(#)((?:[\w\u0128-\uffff*_-]|\\.)+)/;
+  var re81 = /^([>+~])\s*(\w*)/i;
+  var re82 = /^>\s*((?:[\w\u0128-\uffff*_-]|\\.)+)/;
+  var re83 = /^[\s[]?shapgvba/;
+  var re84 = /v\/g.tvs#(.*)/i;
+  var str47 = '#Zbq-Vasb-Vasb-WninFpevcgUvag';
+  var str48 = ',n.svryqOgaPnapry';
+  var str49 = 'FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669357391353591&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_kkk-gdzogv_80=4413241q3660';
+  var str50 = 'FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7; AFP_zp_kkk-gdzogv_80=4413241q3660; AFP_zp_kkk-aowb_80=4413235p3660; __hgzm=144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.2770915348920628700.1231367708.1231367708.1231367708.1; __hgzo=144631658.0.10.1231367708; __hgzp=144631658; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669357391353591&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str51 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231367691141&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367691141&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Sjjj.zlfcnpr.pbz%2S&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=320757904.1231367694&tn_fvq=1231367694&tn_uvq=1758792003&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str52 = 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55332979829981?[NDO]&aqu=1&g=7%2S0%2S2009%2014%3N38%3N42%203%20480&af=zfacbegny&cntrAnzr=HF%20UCZFSGJ&t=uggc%3N%2S%2Sjjj.zfa.pbz%2S&f=1024k768&p=24&x=L&oj=994&ou=634&uc=A&{2}&[NDR]';
+  var str53 = 'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq qbhoyr2 ps';
+  var str54 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669357391353591&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str55 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669357391353591&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var str56 = 'ne;ng;nh;or;oe;pn;pu;py;pa;qr;qx;rf;sv;se;to;ux;vq;vr;va;vg;wc;xe;zk;zl;ay;ab;am;cu;cy;cg;eh;fr;ft;gu;ge;gj;mn;';
+  var str57 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886&GHVQ=1';
+  var str58 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886';
+  var str59 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886; mvc=m:94043|yn:37.4154|yb:-122.0585|p:HF|ue:1';
+  var str60 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886; mvc=m:94043|yn:37.4154|yb:-122.0585|p:HF';
+  var str61 = 'uggc://gx2.fgp.f-zfa.pbz/oe/uc/11/ra-hf/pff/v/g.tvs#uggc://gx2.fgo.f-zfa.pbz/v/29/4RQP4969777N048NPS4RRR3PO2S7S.wct';
+  var str62 = 'uggc://gx2.fgp.f-zfa.pbz/oe/uc/11/ra-hf/pff/v/g.tvs#uggc://gx2.fgo.f-zfa.pbz/v/OQ/63NP9O94NS5OQP1249Q9S1ROP7NS3.wct';
+  var str63 = 'zbmvyyn/5.0 (jvaqbjf; h; jvaqbjf ag 5.1; ra-hf) nccyrjroxvg/528.9 (xugzy, yvxr trpxb) puebzr/2.0.157.0 fnsnev/528.9';
+  function runBlock9() {
+    for (var i = 0; i < 5; i++) {
+      str42.split(re32);
+      str43.split(re32);
+      'svz_zlfcnpr_hfre-ivrj-pbzzragf,svz_zlfcnpr_havgrq-fgngrf'.split(re20);
+      str44.replace(re33, '');
+      'zrah_arj zrah_arj_gbttyr zrah_gbttyr'.replace(re67, '');
+      'zrah_byq zrah_byq_gbttyr zrah_gbttyr'.replace(re67, '');
+      '102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98'.search(re8);
+      '144631658.0.10.1231364380'.search(re8);
+      '144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.3931862196947939300.1231364380.1231364380.1231364380.1'.search(re8);
+      '441326q33660'.search(re8);
+      'SbeprqRkcvengvba=633669341278771470'.search(re8);
+      str45.search(re8);
+      str46.search(re8);
+      'AFP_zp_dfctwzssrwh-aowb_80=441326q33660'.search(re8);
+      'FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98'.search(re8);
+      '__hgzn=144631658.3931862196947939300.1231364380.1231364380.1231364380.1'.search(re8);
+      '__hgzo=144631658.0.10.1231364380'.search(re8);
+      '__hgzm=144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+    }
+    for (var i = 0; i < 4; i++) {
+      ' yvfg1'.replace(re14, '');
+      ' yvfg1'.replace(re15, '');
+      ' yvfg2'.replace(re14, '');
+      ' yvfg2'.replace(re15, '');
+      ' frneputebhc1'.replace(re14, '');
+      ' frneputebhc1'.replace(re15, '');
+      str47.replace(re68, '');
+      str47.replace(re18, '');
+      ''.replace(/&/g, '');
+      ''.replace(re35, '');
+      '(..-{0})(\|(\d+)|)'.replace(re63, '');
+      str48.replace(re18, '');
+      '//vzt.jro.qr/vij/FC/${cngu}/${anzr}/${inyhr}?gf=${abj}'.replace(re56, '');
+      '//vzt.jro.qr/vij/FC/tzk_uc/${anzr}/${inyhr}?gf=${abj}'.replace(/(\$\{anzr\})|(\$anzr\b)/g, '');
+      '<fcna pynff="urnq"><o>Jvaqbjf Yvir Ubgznvy</o></fcna><fcna pynff="zft">{1}</fcna>'.replace(re69, '');
+      '<fcna pynff="urnq"><o>{0}</o></fcna><fcna pynff="zft">{1}</fcna>'.replace(re63, '');
+      '<fcna pynff="fvtahc"><n uers=uggc://jjj.ubgznvy.pbz><o>{1}</o></n></fcna>'.replace(re69, '');
+      '<fcna pynff="fvtahc"><n uers={0}><o>{1}</o></n></fcna>'.replace(re63, '');
+      'Vzntrf'.replace(re15, '');
+      'ZFA'.replace(re15, '');
+      'Zncf'.replace(re15, '');
+      'Zbq-Vasb-Vasb-WninFpevcgUvag'.replace(re39, '');
+      'Arjf'.replace(re15, '');
+      str49.split(re32);
+      str50.split(re32);
+      'Ivqrb'.replace(re15, '');
+      'Jro'.replace(re15, '');
+      'n'.replace(re39, '');
+      'nwnkFgneg'.split(re70);
+      'nwnkFgbc'.split(re70);
+      'ovaq'.replace(re14, '');
+      'ovaq'.replace(re15, '');
+      'oevatf lbh zber. Zber fcnpr (5TO), zber frphevgl, fgvyy serr.'.replace(re63, '');
+      'puvyq p1 svefg qrpx'.replace(re14, '');
+      'puvyq p1 svefg qrpx'.replace(re15, '');
+      'puvyq p1 svefg qbhoyr2'.replace(re14, '');
+      'puvyq p1 svefg qbhoyr2'.replace(re15, '');
+      'puvyq p2 ynfg'.replace(re14, '');
+      'puvyq p2 ynfg'.replace(re15, '');
+      'puvyq p2'.replace(re14, '');
+      'puvyq p2'.replace(re15, '');
+      'puvyq p3'.replace(re14, '');
+      'puvyq p3'.replace(re15, '');
+      'puvyq p4 ynfg'.replace(re14, '');
+      'puvyq p4 ynfg'.replace(re15, '');
+      'pbclevtug'.replace(re14, '');
+      'pbclevtug'.replace(re15, '');
+      'qZFAZR_1'.replace(re14, '');
+      'qZFAZR_1'.replace(re15, '');
+      'qbhoyr2 ps'.replace(re14, '');
+      'qbhoyr2 ps'.replace(re15, '');
+      'qbhoyr2'.replace(re14, '');
+      'qbhoyr2'.replace(re15, '');
+      'uqy_arj'.replace(re14, '');
+      'uqy_arj'.replace(re15, '');
+      'uc_fubccvatobk'.replace(re30, '');
+      'ugzy%2Rvq'.replace(re29, '');
+      'ugzy%2Rvq'.replace(re30, '');
+      str51.replace(re33, '');
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/cebgbglcr.wf${4}${5}'.replace(re71, '');
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/cebgbglcr.wf${5}'.replace(re72, '');
+      str52.replace(re73, '');
+      'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55332979829981?[NDO]&{1}&{2}&[NDR]'.replace(re69, '');
+      'vztZFSG'.replace(re14, '');
+      'vztZFSG'.replace(re15, '');
+      'zfasbbg1 ps'.replace(re14, '');
+      'zfasbbg1 ps'.replace(re15, '');
+      str53.replace(re14, '');
+      str53.replace(re15, '');
+      'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq'.replace(re14, '');
+      'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq'.replace(re15, '');
+      'cevznel'.replace(re14, '');
+      'cevznel'.replace(re15, '');
+      'erpgnatyr'.replace(re30, '');
+      'frpbaqnel'.replace(re14, '');
+      'frpbaqnel'.replace(re15, '');
+      'haybnq'.split(re70);
+      '{0}{1}1'.replace(re63, '');
+      '|{1}1'.replace(re69, '');
+      'xb-xe,ra-va,gu-gu'.search(/(..-HF)(\|(\d+)|)/i);
+      '/ZlFcnprNccf/NccPnainf,45000012'.search(re4);
+      '144631658.0.10.1231367708'.search(re8);
+      '144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.2770915348920628700.1231367708.1231367708.1231367708.1'.search(re8);
+      '4413235p3660'.search(re8);
+      '441327q73660'.search(re8);
+      '9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473'.search(re8);
+      'SbeprqRkcvengvba=633669350559478880'.search(re8);
+      str54.search(re8);
+      str55.search(re8);
+      'AFP_zp_dfctwzs-aowb_80=441327q73660'.search(re8);
+      'AFP_zp_kkk-aowb_80=4413235p3660'.search(re8);
+      'FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473'.search(re8);
+      '__hgzn=144631658.2770915348920628700.1231367708.1231367708.1231367708.1'.search(re8);
+      '__hgzo=144631658.0.10.1231367708'.search(re8);
+      '__hgzm=144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      str49.search(re34);
+      str50.search(re34);
+      str0.search(/ZFVR\s+5[.]01/);
+      str56.search(/HF(?=;)/i);
+      str47.search(re74);
+      'svefg npgvir svefgNpgvir'.search(re28);
+      'ynfg'.search(re28);
+      'm:94043|yn:37.4154|yb:-122.0585|p:HF'.search(/\bp:(..)/i);
+      str57.search(re75);
+      str58.search(re75);
+      str57.search(re76);
+      str58.search(re76);
+      str57.search(re77);
+      str58.search(re77);
+      str59.search(/\bhfucce\s*=\s*([^;]*)/i);
+      str57.search(re78);
+      str58.search(re78);
+      str59.search(/\bjci\s*=\s*([^;]*)/i);
+      str58.search(re79);
+      str60.search(re79);
+      str59.search(re79);
+      'm:94043|yn:37.4154|yb:-122.0585|p:HF|ue:1'.search(/\|p:([a-z]{2})/i);
+      str47.search(re80);
+      'cebgbglcr.wf'.search(re61);
+      str47.search(re68);
+      str47.search(re81);
+      str47.search(re82);
+      str1.search(/^Fubpxjnir Synfu (\d)/);
+      str1.search(/^Fubpxjnir Synfu (\d+)/);
+      '[bowrpg tybony]'.search(re83);
+      str47.search(re62);
+      str61.search(re84);
+      str62.search(re84);
+      str63.search(/jroxvg/);
+    }
+  }
+  var re85 = /eaq_zbqobkva/;
+  var str64 = '1231365729213';
+  var str65 = '74.125.75.3-1057165600.29978900';
+  var str66 = '74.125.75.3-1057165600.29978900.1231365730214';
+  var str67 = 'Frnepu%20Zvpebfbsg.pbz';
+  var str68 = 'FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn; ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669340386893867&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var str69 = 'FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn; __hgzm=144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1877536177953918500.1231365779.1231365779.1231365779.1; __hgzo=144631658.0.10.1231365779; __hgzp=144631658; ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669340386893867&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str70 = 'I=3%26THVQ=757q3ss871q44o7o805n8113n5p72q52';
+  var str71 = 'I=3&THVQ=757q3ss871q44o7o805n8113n5p72q52';
+  var str72 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231365765292&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231365765292&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Sohyyrgvaf.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1579793869.1231365768&tn_fvq=1231365768&tn_uvq=2056210897&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str73 = 'frnepu.zvpebfbsg.pbz';
+  var str74 = 'frnepu.zvpebfbsg.pbz/';
+  var str75 = 'ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669340386893867&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str76 = 'ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669340386893867&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  function runBlock10() {
+    for (var i = 0; i < 3; i++) {
+      '%3Szxg=ra-HF'.replace(re39, '');
+      '-8'.replace(re40, '');
+      '-8'.replace(re10, '');
+      '-8'.replace(re51, '');
+      '-8'.replace(re52, '');
+      '-8'.replace(re53, '');
+      '-8'.replace(re39, '');
+      '-8'.replace(re54, '');
+      '1.5'.replace(re40, '');
+      '1.5'.replace(re10, '');
+      '1.5'.replace(re51, '');
+      '1.5'.replace(re52, '');
+      '1.5'.replace(re53, '');
+      '1.5'.replace(re39, '');
+      '1.5'.replace(re54, '');
+      '1024k768'.replace(re40, '');
+      '1024k768'.replace(re10, '');
+      '1024k768'.replace(re51, '');
+      '1024k768'.replace(re52, '');
+      '1024k768'.replace(re53, '');
+      '1024k768'.replace(re39, '');
+      '1024k768'.replace(re54, '');
+      str64.replace(re40, '');
+      str64.replace(re10, '');
+      str64.replace(re51, '');
+      str64.replace(re52, '');
+      str64.replace(re53, '');
+      str64.replace(re39, '');
+      str64.replace(re54, '');
+      '14'.replace(re40, '');
+      '14'.replace(re10, '');
+      '14'.replace(re51, '');
+      '14'.replace(re52, '');
+      '14'.replace(re53, '');
+      '14'.replace(re39, '');
+      '14'.replace(re54, '');
+      '24'.replace(re40, '');
+      '24'.replace(re10, '');
+      '24'.replace(re51, '');
+      '24'.replace(re52, '');
+      '24'.replace(re53, '');
+      '24'.replace(re39, '');
+      '24'.replace(re54, '');
+      str65.replace(re40, '');
+      str65.replace(re10, '');
+      str65.replace(re51, '');
+      str65.replace(re52, '');
+      str65.replace(re53, '');
+      str65.replace(re39, '');
+      str65.replace(re54, '');
+      str66.replace(re40, '');
+      str66.replace(re10, '');
+      str66.replace(re51, '');
+      str66.replace(re52, '');
+      str66.replace(re53, '');
+      str66.replace(re39, '');
+      str66.replace(re54, '');
+      '9.0'.replace(re40, '');
+      '9.0'.replace(re10, '');
+      '9.0'.replace(re51, '');
+      '9.0'.replace(re52, '');
+      '9.0'.replace(re53, '');
+      '9.0'.replace(re39, '');
+      '9.0'.replace(re54, '');
+      '994k634'.replace(re40, '');
+      '994k634'.replace(re10, '');
+      '994k634'.replace(re51, '');
+      '994k634'.replace(re52, '');
+      '994k634'.replace(re53, '');
+      '994k634'.replace(re39, '');
+      '994k634'.replace(re54, '');
+      '?zxg=ra-HF'.replace(re40, '');
+      '?zxg=ra-HF'.replace(re10, '');
+      '?zxg=ra-HF'.replace(re51, '');
+      '?zxg=ra-HF'.replace(re52, '');
+      '?zxg=ra-HF'.replace(re53, '');
+      '?zxg=ra-HF'.replace(re54, '');
+      'PAA.pbz'.replace(re25, '');
+      'PAA.pbz'.replace(re12, '');
+      'PAA.pbz'.replace(re39, '');
+      'Qngr & Gvzr'.replace(re25, '');
+      'Qngr & Gvzr'.replace(re12, '');
+      'Qngr & Gvzr'.replace(re39, '');
+      'Frnepu Zvpebfbsg.pbz'.replace(re40, '');
+      'Frnepu Zvpebfbsg.pbz'.replace(re54, '');
+      str67.replace(re10, '');
+      str67.replace(re51, '');
+      str67.replace(re52, '');
+      str67.replace(re53, '');
+      str67.replace(re39, '');
+      str68.split(re32);
+      str69.split(re32);
+      str70.replace(re52, '');
+      str70.replace(re53, '');
+      str70.replace(re39, '');
+      str71.replace(re40, '');
+      str71.replace(re10, '');
+      str71.replace(re51, '');
+      str71.replace(re54, '');
+      'Jrngure'.replace(re25, '');
+      'Jrngure'.replace(re12, '');
+      'Jrngure'.replace(re39, '');
+      'LbhGhor'.replace(re25, '');
+      'LbhGhor'.replace(re12, '');
+      'LbhGhor'.replace(re39, '');
+      str72.replace(re33, '');
+      'erzbgr_vsenzr_1'.replace(/^erzbgr_vsenzr_/, '');
+      str73.replace(re40, '');
+      str73.replace(re10, '');
+      str73.replace(re51, '');
+      str73.replace(re52, '');
+      str73.replace(re53, '');
+      str73.replace(re39, '');
+      str73.replace(re54, '');
+      str74.replace(re40, '');
+      str74.replace(re10, '');
+      str74.replace(re51, '');
+      str74.replace(re52, '');
+      str74.replace(re53, '');
+      str74.replace(re39, '');
+      str74.replace(re54, '');
+      'lhv-h'.replace(/\-/g, '');
+      'p'.search(re9);
+      'qz p'.search(re9);
+      'zbqynory'.search(re9);
+      'lhv-h svefg'.search(re9);
+      '144631658.0.10.1231365779'.search(re8);
+      '144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.1877536177953918500.1231365779.1231365779.1231365779.1'.search(re8);
+      str75.search(re8);
+      str76.search(re8);
+      '__hgzn=144631658.1877536177953918500.1231365779.1231365779.1231365779.1'.search(re8);
+      '__hgzo=144631658.0.10.1231365779'.search(re8);
+      '__hgzm=144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      str68.search(re34);
+      str69.search(re34);
+      ''.search(/^$/);
+      'qr'.search(re31);
+      ''.search(/^znk\d+$/);
+      ''.search(/^zva\d+$/);
+      ''.search(/^erfgber$/);
+      'zbqobkva zbqobk_abcnqqvat '.search(re85);
+      'zbqgvgyr'.search(re85);
+      'eaq_zbqobkva '.search(re85);
+      'eaq_zbqgvgyr '.search(re85);
+      'obggbz_ani'.search(/frpgvba\d+_pbagragf/);
+    }
+  }
+  var re86 = /;\s*/;
+  var re87 = /(\$\{inyhr\})|(\$inyhr\b)/g;
+  var re88 = /(\$\{abj\})|(\$abj\b)/g;
+  var re89 = /\s+$/;
+  var re90 = /^\s+/;
+  var re91 = /(\\\"|\x00-|\x1f|\x7f-|\x9f|\u00ad|\u0600-|\u0604|\u070f|\u17b4|\u17b5|\u200c-|\u200f|\u2028-|\u202f|\u2060-|\u206f|\ufeff|\ufff0-|\uffff)/g;
+  var re92 = /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/;
+  var re93 = /^([:.#]*)((?:[\w\u0128-\uffff*_-]|\\.)+)/;
+  var re94 = /^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/;
+  var str77 = '#fubhgobk .pybfr';
+  var str78 = 'FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669341278771470&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzssrwh-aowb_80=441326q33660';
+  var str79 = 'FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98; AFP_zp_dfctwzssrwh-aowb_80=441326q33660; __hgzm=144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1670816052019209000.1231365869.1231365869.1231365869.1; __hgzo=144631658.0.10.1231365869; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669341278771470&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str80 = 'FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669350559478880&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzs-aowb_80=441327q73660';
+  var str81 = 'FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473; AFP_zp_dfctwzs-aowb_80=441327q73660; __hgzm=144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1796080716621419500.1231367054.1231367054.1231367054.1; __hgzo=144631658.0.10.1231367054; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669350559478880&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str82 = '[glcr=fhozvg]';
+  var str83 = 'n.svryqOga,n.svryqOgaPnapry';
+  var str84 = 'n.svryqOgaPnapry';
+  var str85 = 'oyvpxchaxg';
+  var str86 = 'qvi.bow-nppbeqvba qg';
+  var str87 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_nccf_wf&qg=1231367052227&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367052227&punaary=svz_zlfcnpr_nccf-pnainf%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyr.zlfcnpr.pbz%2SZbqhyrf%2SNccyvpngvbaf%2SCntrf%2SPnainf.nfck&nq_glcr=grkg&rvq=6083027&rn=0&sez=1&tn_ivq=716357910.1231367056&tn_fvq=1231367056&tn_uvq=1387206491&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str88 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231365851658&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231365851658&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyrrqvg.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1979828129.1231365855&tn_fvq=1231365855&tn_uvq=2085229649&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22';
+  var str89 = 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55023338617756?[NDO]&aqu=1&g=7%2S0%2S2009%2014%3N12%3N47%203%20480&af=zfacbegny&cntrAnzr=HF%20UCZFSGJ&t=uggc%3N%2S%2Sjjj.zfa.pbz%2S&f=0k0&p=43835816&x=A&oj=994&ou=634&uc=A&{2}&[NDR]';
+  var str90 = 'zrgn[anzr=nwnkHey]';
+  var str91 = 'anpuevpugra';
+  var str92 = 'b oS={\'oT\':1.1};x $8n(B){z(B!=o9)};x $S(B){O(!$8n(B))z A;O(B.4L)z\'T\';b S=7t B;O(S==\'2P\'&&B.p4){23(B.7f){12 1:z\'T\';12 3:z/\S/.2g(B.8M)?\'ox\':\'oh\'}}O(S==\'2P\'||S==\'x\'){23(B.nE){12 2V:z\'1O\';12 7I:z\'5a\';12 18:z\'4B\'}O(7t B.I==\'4F\'){O(B.3u)z\'pG\';O(B.8e)z\'1p\'}}z S};x $2p(){b 4E={};Z(b v=0;v<1p.I;v++){Z(b X 1o 1p[v]){b nc=1p[v][X];b 6E=4E[X];O(6E&&$S(nc)==\'2P\'&&$S(6E)==\'2P\')4E[X]=$2p(6E,nc);17 4E[X]=nc}}z 4E};b $E=7p.E=x(){b 1d=1p;O(!1d[1])1d=[p,1d[0]];Z(b X 1o 1d[1])1d[0][X]=1d[1][X];z 1d[0]};b $4D=7p.pJ=x(){Z(b v=0,y=1p.I;v<y;v++){1p[v].E=x(1J){Z(b 1I 1o 1J){O(!p.1Y[1I])p.1Y[1I]=1J[1I];O(!p[1I])p[1I]=$4D.6C(1I)}}}};$4D.6C=x(1I){z x(L){z p.1Y[1I].3H(L,2V.1Y.nV.1F(1p,1))}};$4D(7F,2V,6J,nb);b 3l=x(B){B=B||{};B.E=$E;z B};b pK=Y 3l(H);b pZ=Y 3l(C);C.6f=C.35(\'6f\')[0];x $2O(B){z!!(B||B===0)};x $5S(B,n8){z $8n(B)?B:n8};x $7K(3c,1m){z 1q.na(1q.7K()*(1m-3c+1)+3c)};x $3N(){z Y 97().os()};x $4M(1U){pv(1U);pa(1U);z 1S};H.43=!!(C.5Z);O(H.nB)H.31=H[H.7q?\'py\':\'nL\']=1r;17 O(C.9N&&!C.om&&!oy.oZ)H.pF=H.4Z=H[H.43?\'pt\':\'65\']=1r;17 O(C.po!=1S)H.7J=1r;O(7t 5B==\'o9\'){b 5B=x(){};O(H.4Z)C.nd("pW");5B.1Y=(H.4Z)?H["[[oN.1Y]]"]:{}}5B.1Y.4L=1r;O(H.nL)5s{C.oX("pp",A,1r)}4K(r){};b 18=x(1X){b 63=x(){z(1p[0]!==1S&&p.1w&&$S(p.1w)==\'x\')?p.1w.3H(p,1p):p};$E(63,p);63.1Y=1X;63.nE=18;z 63};18.1z=x(){};18.1Y={E:x(1X){b 7x=Y p(1S);Z(b X 1o 1X){b nC=7x[X];7x[X]=18.nY(nC,1X[X])}z Y 18(7x)},3d:x(){Z(b v=0,y=1p.I;v<y;v++)$E(p.1Y,1p[v])}};18.nY=x(2b,2n){O(2b&&2b!=2n){b S=$S(2n);O(S!=$S(2b))z 2n;23(S){12\'x\':b 7R=x(){p.1e=1p.8e.1e;z 2n.3H(p,1p)};7R.1e=2b;z 7R;12\'2P\':z $2p(2b,2n)}}z 2n};b 8o=Y 18({oQ:x(J){p.4w=p.4w||[];p.4w.1x(J);z p},7g:x(){O(p.4w&&p.4w.I)p.4w.9J().2x(10,p)},oP:x(){p.4w=[]}});b 2d=Y 18({1V:x(S,J){O(J!=18.1z){p.$19=p.$19||{};p.$19[S]=p.$19[S]||[];p.$19[S].5j(J)}z p},1v:x(S,1d,2x){O(p.$19&&p.$19[S]){p.$19[S].1b(x(J){J.3n({\'L\':p,\'2x\':2x,\'1p\':1d})()},p)}z p},3M:x(S,J){O(p.$19&&p.$19[S])p.$19[S].2U(J);z p}});b 4v=Y 18({2H:x(){p.P=$2p.3H(1S,[p.P].E(1p));O(!p.1V)z p;Z(b 3O 1o p.P){O($S(p.P[3O]==\'x\')&&3O.2g(/^5P[N-M]/))p.1V(3O,p.P[3O])}z p}});2V.E({7y:x(J,L){Z(b v=0,w=p.I;v<w;v++)J.1F(L,p[v],v,p)},3s:x(J,L){b 54=[];Z(b v=0,w=p.I;v<w;v++){O(J.1F(L,p[v],v,p))54.1x(p[v])}z 54},2X:x(J,L){b 54=[];Z(b v=0,w=p.I;v<w;v++)54[v]=J.1F(L,p[v],v,p);z 54},4i:x(J,L){Z(b v=0,w=p.I;v<w;v++){O(!J.1F(L,p[v],v,p))z A}z 1r},ob:x(J,L){Z(b v=0,w=p.I;v<w;v++){O(J.1F(L,p[v],v,p))z 1r}z A},3F:x(3u,15){b 3A=p.I;Z(b v=(15<0)?1q.1m(0,3A+15):15||0;v<3A;v++){O(p[v]===3u)z v}z-1},8z:x(1u,I){1u=1u||0;O(1u<0)1u=p.I+1u;I=I||(p.I-1u);b 89=[];Z(b v=0;v<I;v++)89[v]=p[1u++];z 89},2U:x(3u){b v=0;b 3A=p.I;6L(v<3A){O(p[v]===3u){p.6l(v,1);3A--}17{v++}}z p},1y:x(3u,15){z p.3F(3u,15)!=-1},oz:x(1C){b B={},I=1q.3c(p.I,1C.I);Z(b v=0;v<I;v++)B[1C[v]]=p[v];z B},E:x(1O){Z(b v=0,w=1O.I;v<w;v++)p.1x(1O[v]);z p},2p:x(1O){Z(b v=0,y=1O.I;v<y;v++)p.5j(1O[v]);z p},5j:x(3u){O(!p.1y(3u))p.1x(3u);z p},oc:x(){z p[$7K(0,p.I-1)]||A},7L:x(){z p[p.I-1]||A}});2V.1Y.1b=2V.1Y.7y;2V.1Y.2g=2V.1Y.1y;x $N(1O){z 2V.8z(1O)};x $1b(3J,J,L){O(3J&&7t 3J.I==\'4F\'&&$S(3J)!=\'2P\')2V.7y(3J,J,L);17 Z(b 1j 1o 3J)J.1F(L||3J,3J[1j],1j)};6J.E({2g:x(6b,2F){z(($S(6b)==\'2R\')?Y 7I(6b,2F):6b).2g(p)},3p:x(){z 5K(p,10)},o4:x(){z 69(p)},7A:x(){z p.3y(/-\D/t,x(2G){z 2G.7G(1).nW()})},9b:x(){z p.3y(/\w[N-M]/t,x(2G){z(2G.7G(0)+\'-\'+2G.7G(1).5O())})},8V:x(){z p.3y(/\b[n-m]/t,x(2G){z 2G.nW()})},5L:x(){z p.3y(/^\s+|\s+$/t,\'\')},7j:x(){z p.3y(/\s{2,}/t,\' \').5L()},5V:x(1O){b 1i=p.2G(/\d{1,3}/t);z(1i)?1i.5V(1O):A},5U:x(1O){b 3P=p.2G(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);z(3P)?3P.nV(1).5U(1O):A},1y:x(2R,f){z(f)?(f+p+f).3F(f+2R+f)>-1:p.3F(2R)>-1},nX:x(){z p.3y(/([.*+?^${}()|[\]\/\\])/t,\'\\$1\')}});2V.E({5V:x(1O){O(p.I<3)z A;O(p.I==4&&p[3]==0&&!1O)z\'p5\';b 3P=[];Z(b v=0;v<3;v++){b 52=(p[v]-0).4h(16);3P.1x((52.I==1)?\'0\'+52:52)}z 1O?3P:\'#\'+3P.2u(\'\')},5U:x(1O){O(p.I!=3)z A;b 1i=[];Z(b v=0;v<3;v++){1i.1x(5K((p[v].I==1)?p[v]+p[v]:p[v],16))}z 1O?1i:\'1i(\'+1i.2u(\',\')+\')\'}});7F.E({3n:x(P){b J=p;P=$2p({\'L\':J,\'V\':A,\'1p\':1S,\'2x\':A,\'4s\':A,\'6W\':A},P);O($2O(P.1p)&&$S(P.1p)!=\'1O\')P.1p=[P.1p];z x(V){b 1d;O(P.V){V=V||H.V;1d=[(P.V===1r)?V:Y P.V(V)];O(P.1p)1d.E(P.1p)}17 1d=P.1p||1p;b 3C=x(){z J.3H($5S(P';
+  var str93 = 'hagreunyghat';
+  var str94 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669341278771470&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str95 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669350559478880&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q';
+  var str96 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669341278771470&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var str97 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669350559478880&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=';
+  var str98 = 'shapgvba (){Cuk.Nccyvpngvba.Frghc.Pber();Cuk.Nccyvpngvba.Frghc.Nwnk();Cuk.Nccyvpngvba.Frghc.Synfu();Cuk.Nccyvpngvba.Frghc.Zbqhyrf()}';
+  function runBlock11() {
+    for (var i = 0; i < 2; i++) {
+      ' .pybfr'.replace(re18, '');
+      ' n.svryqOgaPnapry'.replace(re18, '');
+      ' qg'.replace(re18, '');
+      str77.replace(re68, '');
+      str77.replace(re18, '');
+      ''.replace(re39, '');
+      ''.replace(/^/, '');
+      ''.split(re86);
+      '*'.replace(re39, '');
+      '*'.replace(re68, '');
+      '*'.replace(re18, '');
+      '.pybfr'.replace(re68, '');
+      '.pybfr'.replace(re18, '');
+      '//vzt.jro.qr/vij/FC/tzk_uc/fperra/${inyhr}?gf=${abj}'.replace(re87, '');
+      '//vzt.jro.qr/vij/FC/tzk_uc/fperra/1024?gf=${abj}'.replace(re88, '');
+      '//vzt.jro.qr/vij/FC/tzk_uc/jvafvmr/${inyhr}?gf=${abj}'.replace(re87, '');
+      '//vzt.jro.qr/vij/FC/tzk_uc/jvafvmr/992/608?gf=${abj}'.replace(re88, '');
+      '300k120'.replace(re30, '');
+      '300k250'.replace(re30, '');
+      '310k120'.replace(re30, '');
+      '310k170'.replace(re30, '');
+      '310k250'.replace(re30, '');
+      '9.0  e115'.replace(/^.*\.(.*)\s.*$/, '');
+      'Nppbeqvba'.replace(re2, '');
+      'Nxghryy\x0a'.replace(re89, '');
+      'Nxghryy\x0a'.replace(re90, '');
+      'Nccyvpngvba'.replace(re2, '');
+      'Oyvpxchaxg\x0a'.replace(re89, '');
+      'Oyvpxchaxg\x0a'.replace(re90, '');
+      'Svanamra\x0a'.replace(re89, '');
+      'Svanamra\x0a'.replace(re90, '');
+      'Tnzrf\x0a'.replace(re89, '');
+      'Tnzrf\x0a'.replace(re90, '');
+      'Ubebfxbc\x0a'.replace(re89, '');
+      'Ubebfxbc\x0a'.replace(re90, '');
+      'Xvab\x0a'.replace(re89, '');
+      'Xvab\x0a'.replace(re90, '');
+      'Zbqhyrf'.replace(re2, '');
+      'Zhfvx\x0a'.replace(re89, '');
+      'Zhfvx\x0a'.replace(re90, '');
+      'Anpuevpugra\x0a'.replace(re89, '');
+      'Anpuevpugra\x0a'.replace(re90, '');
+      'Cuk'.replace(re2, '');
+      'ErdhrfgSvavfu'.split(re70);
+      'ErdhrfgSvavfu.NWNK.Cuk'.split(re70);
+      'Ebhgr\x0a'.replace(re89, '');
+      'Ebhgr\x0a'.replace(re90, '');
+      str78.split(re32);
+      str79.split(re32);
+      str80.split(re32);
+      str81.split(re32);
+      'Fcbeg\x0a'.replace(re89, '');
+      'Fcbeg\x0a'.replace(re90, '');
+      'GI-Fcbg\x0a'.replace(re89, '');
+      'GI-Fcbg\x0a'.replace(re90, '');
+      'Gbhe\x0a'.replace(re89, '');
+      'Gbhe\x0a'.replace(re90, '');
+      'Hagreunyghat\x0a'.replace(re89, '');
+      'Hagreunyghat\x0a'.replace(re90, '');
+      'Ivqrb\x0a'.replace(re89, '');
+      'Ivqrb\x0a'.replace(re90, '');
+      'Jrggre\x0a'.replace(re89, '');
+      'Jrggre\x0a'.replace(re90, '');
+      str82.replace(re68, '');
+      str82.replace(re18, '');
+      str83.replace(re68, '');
+      str83.replace(re18, '');
+      str84.replace(re68, '');
+      str84.replace(re18, '');
+      'nqiFreivprObk'.replace(re30, '');
+      'nqiFubccvatObk'.replace(re30, '');
+      'nwnk'.replace(re39, '');
+      'nxghryy'.replace(re40, '');
+      'nxghryy'.replace(re41, '');
+      'nxghryy'.replace(re42, '');
+      'nxghryy'.replace(re43, '');
+      'nxghryy'.replace(re44, '');
+      'nxghryy'.replace(re45, '');
+      'nxghryy'.replace(re46, '');
+      'nxghryy'.replace(re47, '');
+      'nxghryy'.replace(re48, '');
+      str85.replace(re40, '');
+      str85.replace(re41, '');
+      str85.replace(re42, '');
+      str85.replace(re43, '');
+      str85.replace(re44, '');
+      str85.replace(re45, '');
+      str85.replace(re46, '');
+      str85.replace(re47, '');
+      str85.replace(re48, '');
+      'pngrtbel'.replace(re29, '');
+      'pngrtbel'.replace(re30, '');
+      'pybfr'.replace(re39, '');
+      'qvi'.replace(re39, '');
+      str86.replace(re68, '');
+      str86.replace(re18, '');
+      'qg'.replace(re39, '');
+      'qg'.replace(re68, '');
+      'qg'.replace(re18, '');
+      'rzorq'.replace(re39, '');
+      'rzorq'.replace(re68, '');
+      'rzorq'.replace(re18, '');
+      'svryqOga'.replace(re39, '');
+      'svryqOgaPnapry'.replace(re39, '');
+      'svz_zlfcnpr_nccf-pnainf,svz_zlfcnpr_havgrq-fgngrf'.split(re20);
+      'svanamra'.replace(re40, '');
+      'svanamra'.replace(re41, '');
+      'svanamra'.replace(re42, '');
+      'svanamra'.replace(re43, '');
+      'svanamra'.replace(re44, '');
+      'svanamra'.replace(re45, '');
+      'svanamra'.replace(re46, '');
+      'svanamra'.replace(re47, '');
+      'svanamra'.replace(re48, '');
+      'sbphf'.split(re70);
+      'sbphf.gno sbphfva.gno'.split(re70);
+      'sbphfva'.split(re70);
+      'sbez'.replace(re39, '');
+      'sbez.nwnk'.replace(re68, '');
+      'sbez.nwnk'.replace(re18, '');
+      'tnzrf'.replace(re40, '');
+      'tnzrf'.replace(re41, '');
+      'tnzrf'.replace(re42, '');
+      'tnzrf'.replace(re43, '');
+      'tnzrf'.replace(re44, '');
+      'tnzrf'.replace(re45, '');
+      'tnzrf'.replace(re46, '');
+      'tnzrf'.replace(re47, '');
+      'tnzrf'.replace(re48, '');
+      'ubzrcntr'.replace(re30, '');
+      'ubebfxbc'.replace(re40, '');
+      'ubebfxbc'.replace(re41, '');
+      'ubebfxbc'.replace(re42, '');
+      'ubebfxbc'.replace(re43, '');
+      'ubebfxbc'.replace(re44, '');
+      'ubebfxbc'.replace(re45, '');
+      'ubebfxbc'.replace(re46, '');
+      'ubebfxbc'.replace(re47, '');
+      'ubebfxbc'.replace(re48, '');
+      'uc_cebzbobk_ugzy%2Puc_cebzbobk_vzt'.replace(re30, '');
+      'uc_erpgnatyr'.replace(re30, '');
+      str87.replace(re33, '');
+      str88.replace(re33, '');
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf${4}${5}'.replace(re71, '');
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf${5}'.replace(re72, '');
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/qlaYvo.wf${4}${5}'.replace(re71, '');
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/qlaYvo.wf${5}'.replace(re72, '');
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/rssrpgYvo.wf${4}${5}'.replace(re71, '');
+      'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/rssrpgYvo.wf${5}'.replace(re72, '');
+      str89.replace(re73, '');
+      'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55023338617756?[NDO]&{1}&{2}&[NDR]'.replace(re69, '');
+      str6.replace(re23, '');
+      'xvab'.replace(re40, '');
+      'xvab'.replace(re41, '');
+      'xvab'.replace(re42, '');
+      'xvab'.replace(re43, '');
+      'xvab'.replace(re44, '');
+      'xvab'.replace(re45, '');
+      'xvab'.replace(re46, '');
+      'xvab'.replace(re47, '');
+      'xvab'.replace(re48, '');
+      'ybnq'.split(re70);
+      'zrqvnzbqgno lhv-anifrg lhv-anifrg-gbc'.replace(re18, '');
+      'zrgn'.replace(re39, '');
+      str90.replace(re68, '');
+      str90.replace(re18, '');
+      'zbhfrzbir'.split(re70);
+      'zbhfrzbir.gno'.split(re70);
+      str63.replace(/^.*jroxvg\/(\d+(\.\d+)?).*$/, '');
+      'zhfvx'.replace(re40, '');
+      'zhfvx'.replace(re41, '');
+      'zhfvx'.replace(re42, '');
+      'zhfvx'.replace(re43, '');
+      'zhfvx'.replace(re44, '');
+      'zhfvx'.replace(re45, '');
+      'zhfvx'.replace(re46, '');
+      'zhfvx'.replace(re47, '');
+      'zhfvx'.replace(re48, '');
+      'zlfcnpr_nccf_pnainf'.replace(re52, '');
+      str91.replace(re40, '');
+      str91.replace(re41, '');
+      str91.replace(re42, '');
+      str91.replace(re43, '');
+      str91.replace(re44, '');
+      str91.replace(re45, '');
+      str91.replace(re46, '');
+      str91.replace(re47, '');
+      str91.replace(re48, '');
+      'anzr'.replace(re39, '');
+      str92.replace(/\b\w+\b/g, '');
+      'bow-nppbeqvba'.replace(re39, '');
+      'bowrpg'.replace(re39, '');
+      'bowrpg'.replace(re68, '');
+      'bowrpg'.replace(re18, '');
+      'cnenzf%2Rfglyrf'.replace(re29, '');
+      'cnenzf%2Rfglyrf'.replace(re30, '');
+      'cbchc'.replace(re30, '');
+      'ebhgr'.replace(re40, '');
+      'ebhgr'.replace(re41, '');
+      'ebhgr'.replace(re42, '');
+      'ebhgr'.replace(re43, '');
+      'ebhgr'.replace(re44, '');
+      'ebhgr'.replace(re45, '');
+      'ebhgr'.replace(re46, '');
+      'ebhgr'.replace(re47, '');
+      'ebhgr'.replace(re48, '');
+      'freivprobk_uc'.replace(re30, '');
+      'fubccvatobk_uc'.replace(re30, '');
+      'fubhgobk'.replace(re39, '');
+      'fcbeg'.replace(re40, '');
+      'fcbeg'.replace(re41, '');
+      'fcbeg'.replace(re42, '');
+      'fcbeg'.replace(re43, '');
+      'fcbeg'.replace(re44, '');
+      'fcbeg'.replace(re45, '');
+      'fcbeg'.replace(re46, '');
+      'fcbeg'.replace(re47, '');
+      'fcbeg'.replace(re48, '');
+      'gbhe'.replace(re40, '');
+      'gbhe'.replace(re41, '');
+      'gbhe'.replace(re42, '');
+      'gbhe'.replace(re43, '');
+      'gbhe'.replace(re44, '');
+      'gbhe'.replace(re45, '');
+      'gbhe'.replace(re46, '');
+      'gbhe'.replace(re47, '');
+      'gbhe'.replace(re48, '');
+      'gi-fcbg'.replace(re40, '');
+      'gi-fcbg'.replace(re41, '');
+      'gi-fcbg'.replace(re42, '');
+      'gi-fcbg'.replace(re43, '');
+      'gi-fcbg'.replace(re44, '');
+      'gi-fcbg'.replace(re45, '');
+      'gi-fcbg'.replace(re46, '');
+      'gi-fcbg'.replace(re47, '');
+      'gi-fcbg'.replace(re48, '');
+      'glcr'.replace(re39, '');
+      'haqrsvarq'.replace(/\//g, '');
+      str93.replace(re40, '');
+      str93.replace(re41, '');
+      str93.replace(re42, '');
+      str93.replace(re43, '');
+      str93.replace(re44, '');
+      str93.replace(re45, '');
+      str93.replace(re46, '');
+      str93.replace(re47, '');
+      str93.replace(re48, '');
+      'ivqrb'.replace(re40, '');
+      'ivqrb'.replace(re41, '');
+      'ivqrb'.replace(re42, '');
+      'ivqrb'.replace(re43, '');
+      'ivqrb'.replace(re44, '');
+      'ivqrb'.replace(re45, '');
+      'ivqrb'.replace(re46, '');
+      'ivqrb'.replace(re47, '');
+      'ivqrb'.replace(re48, '');
+      'ivfvgf=1'.split(re86);
+      'jrggre'.replace(re40, '');
+      'jrggre'.replace(re41, '');
+      'jrggre'.replace(re42, '');
+      'jrggre'.replace(re43, '');
+      'jrggre'.replace(re44, '');
+      'jrggre'.replace(re45, '');
+      'jrggre'.replace(re46, '');
+      'jrggre'.replace(re47, '');
+      'jrggre'.replace(re48, '');
+      'uggc://jjj.fpuhryreim.arg/Qrsnhyg'.search(/#[a-z0-9]+$/i);
+      'fryrpgrq'.search(re66);
+      'sff lhv-ani'.search(/(?:^|\s+)lhv-ani(?:\s+|$)/);
+      'zrqvnzbqgno lhv-anifrg'.search(/(?:^|\s+)lhv-anifrg(?:\s+|$)/);
+      'zrqvnzbqgno lhv-anifrg'.search(/(?:^|\s+)lhv-anifrg-gbc(?:\s+|$)/);
+      'GnoThvq'.search(re91);
+      'thvq'.search(re91);
+      str63.search(/(pbzcngvoyr|jroxvg)/);
+      str63.search(/.+(?:ei|vg|en|vr)[\/: ]([\d.]+)/);
+      '144631658.0.10.1231365869'.search(re8);
+      '144631658.0.10.1231367054'.search(re8);
+      '144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '144631658.1670816052019209000.1231365869.1231365869.1231365869.1'.search(re8);
+      '144631658.1796080716621419500.1231367054.1231367054.1231367054.1'.search(re8);
+      str94.search(re8);
+      str95.search(re8);
+      str96.search(re8);
+      str97.search(re8);
+      '__hgzn=144631658.1670816052019209000.1231365869.1231365869.1231365869.1'.search(re8);
+      '__hgzn=144631658.1796080716621419500.1231367054.1231367054.1231367054.1'.search(re8);
+      '__hgzo=144631658.0.10.1231365869'.search(re8);
+      '__hgzo=144631658.0.10.1231367054'.search(re8);
+      '__hgzm=144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      '__hgzm=144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'.search(re8);
+      str78.search(re34);
+      str79.search(re34);
+      str81.search(re34);
+      str77.search(re74);
+      '*'.search(re74);
+      str82.search(re74);
+      str83.search(re74);
+      str86.search(re74);
+      'rzorq'.search(re74);
+      'sbez.nwnk'.search(re74);
+      str90.search(re74);
+      'bowrpg'.search(re74);
+      '/uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf'.search(/\/onfr.wf(\?.+)?$/);
+      'uvag ynfgUvag ynfg'.search(re28);
+      ''.search(re75);
+      ''.search(re76);
+      ''.search(re77);
+      ''.search(re78);
+      str77.search(re80);
+      '*'.search(re80);
+      '.pybfr'.search(re80);
+      str82.search(re80);
+      str83.search(re80);
+      str84.search(re80);
+      str86.search(re80);
+      'qg'.search(re80);
+      'rzorq'.search(re80);
+      'sbez.nwnk'.search(re80);
+      str90.search(re80);
+      'bowrpg'.search(re80);
+      'qlaYvo.wf'.search(re61);
+      'rssrpgYvo.wf'.search(re61);
+      'uggc://jjj.tzk.arg/qr/?fgnghf=uvajrvf'.search(re61);
+      ' .pybfr'.search(re92);
+      ' n.svryqOgaPnapry'.search(re92);
+      ' qg'.search(re92);
+      str48.search(re92);
+      '.nwnk'.search(re92);
+      '.svryqOga,n.svryqOgaPnapry'.search(re92);
+      '.svryqOgaPnapry'.search(re92);
+      '.bow-nppbeqvba qg'.search(re92);
+      str77.search(re68);
+      '*'.search(re68);
+      '.pybfr'.search(re68);
+      str82.search(re68);
+      str83.search(re68);
+      str84.search(re68);
+      str86.search(re68);
+      'qg'.search(re68);
+      'rzorq'.search(re68);
+      'sbez.nwnk'.search(re68);
+      str90.search(re68);
+      'bowrpg'.search(re68);
+      ' .pybfr'.search(re93);
+      ' n.svryqOgaPnapry'.search(re93);
+      ' qg'.search(re93);
+      str48.search(re93);
+      '.nwnk'.search(re93);
+      '.svryqOga,n.svryqOgaPnapry'.search(re93);
+      '.svryqOgaPnapry'.search(re93);
+      '.bow-nppbeqvba qg'.search(re93);
+      str77.search(re81);
+      '*'.search(re81);
+      str48.search(re81);
+      '.pybfr'.search(re81);
+      str82.search(re81);
+      str83.search(re81);
+      str84.search(re81);
+      str86.search(re81);
+      'qg'.search(re81);
+      'rzorq'.search(re81);
+      'sbez.nwnk'.search(re81);
+      str90.search(re81);
+      'bowrpg'.search(re81);
+      ' .pybfr'.search(re94);
+      ' n.svryqOgaPnapry'.search(re94);
+      ' qg'.search(re94);
+      str48.search(re94);
+      '.nwnk'.search(re94);
+      '.svryqOga,n.svryqOgaPnapry'.search(re94);
+      '.svryqOgaPnapry'.search(re94);
+      '.bow-nppbeqvba qg'.search(re94);
+      '[anzr=nwnkHey]'.search(re94);
+      str82.search(re94);
+      'rf'.search(re31);
+      'wn'.search(re31);
+      str77.search(re82);
+      '*'.search(re82);
+      str48.search(re82);
+      '.pybfr'.search(re82);
+      str82.search(re82);
+      str83.search(re82);
+      str84.search(re82);
+      str86.search(re82);
+      'qg'.search(re82);
+      'rzorq'.search(re82);
+      'sbez.nwnk'.search(re82);
+      str90.search(re82);
+      'bowrpg'.search(re82);
+      str98.search(re83);
+      'shapgvba sbphf() { [angvir pbqr] }'.search(re83);
+      '#Ybtva'.search(re62);
+      '#Ybtva_cnffjbeq'.search(re62);
+      str77.search(re62);
+      '#fubhgobkWf'.search(re62);
+      '#fubhgobkWfReebe'.search(re62);
+      '#fubhgobkWfFhpprff'.search(re62);
+      '*'.search(re62);
+      str82.search(re62);
+      str83.search(re62);
+      str86.search(re62);
+      'rzorq'.search(re62);
+      'sbez.nwnk'.search(re62);
+      str90.search(re62);
+      'bowrpg'.search(re62);
+      'pbagrag'.search(re49);
+      str6.search(re24);
+      str63.search(/xbadhrebe/);
+      'jva32'.search(/znp/);
+      str63.search(/zbmvyyn/);
+      str63.search(/zfvr/);
+      str63.search(/ag\s5\.1/);
+      str63.search(/bcren/);
+      str63.search(/fnsnev/);
+      'jva32'.search(/jva/);
+      str63.search(/jvaqbjf/);
+    }
+  }
+  for (var i = 0; i < 5; i++) {
+    runBlock0();
+    runBlock1();
+    runBlock2();
+    runBlock3();
+    runBlock4();
+    runBlock5();
+    runBlock6();
+    runBlock7();
+    runBlock8();
+    runBlock9();
+    runBlock10();
+    runBlock11();
+  }
+}
+
+for (var i = 0; i < 3; ++i)
+    runRegExpBenchmark();
diff --git a/LayoutTests/js/regress/v8-regexp-search-expected.txt b/LayoutTests/js/regress/v8-regexp-search-expected.txt
new file mode 100644 (file)
index 0000000..64dabd0
--- /dev/null
@@ -0,0 +1,10 @@
+JSRegress/v8-regexp-search
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS no exception thrown
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/js/regress/v8-regexp-search.html b/LayoutTests/js/regress/v8-regexp-search.html
new file mode 100644 (file)
index 0000000..3e494be
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body>
+<script src="../../resources/regress-pre.js"></script>
+<script src="script-tests/v8-regexp-search.js"></script>
+<script src="../../resources/regress-post.js"></script>
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
index 03b9b0b..3c742f0 100644 (file)
@@ -70,7 +70,7 @@ var expectedPropertyNamesSet = {
     "Error.prototype": "['constructor', 'message', 'name', 'toString']",
     "Math": "['E','LN10','LN2','LOG10E','LOG2E','PI','SQRT1_2','SQRT2','abs','acos','acosh','asin','asinh','atan','atan2','atanh','cbrt','ceil','clz32','cos','cosh','exp','expm1','floor','fround','hypot','imul','log','log10','log1p','log2','max','min','pow','random','round','sign','sin','sinh','sqrt','tan','tanh','trunc']",
     "JSON": "['parse', 'stringify']",
-    "Symbol": "['for', 'hasInstance', 'iterator', 'keyFor', 'length', 'name', 'prototype', 'species', 'toStringTag', 'unscopables']",
+    "Symbol": "['for', 'hasInstance', 'iterator', 'keyFor', 'length', 'name', 'prototype', 'search', 'species', 'toStringTag', 'unscopables']",
     "Symbol.prototype": "['constructor', 'toString', 'valueOf']",
     "Map": "['length', 'name', 'prototype']",
     "Map.prototype": "['clear', 'constructor', 'delete', 'entries', 'forEach', 'get', 'has', 'keys', 'set', 'size', 'values']",
index d397d55..5e8436f 100644 (file)
@@ -827,6 +827,7 @@ set(JavaScriptCore_OBJECT_LUT_SOURCES
     runtime/SetPrototype.cpp
     runtime/StringConstructor.cpp
     runtime/StringIteratorPrototype.cpp
+    runtime/StringPrototype.cpp
     runtime/SymbolConstructor.cpp
     runtime/SymbolPrototype.cpp
 )
index 79b7712..696b73d 100644 (file)
@@ -1,3 +1,50 @@
+2016-02-12  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [ES6] Implement @@search
+        https://bugs.webkit.org/show_bug.cgi?id=143889
+
+        Reviewed by Darin Adler.
+
+        Implement RegExp.prototype[@@search].
+        In ES6, String.prototype.search delegates the actual matching to it
+        instead of executing RegExp matching inside String.prototype.search method itself.
+        By customizing @@search method, we can change the behavior of String.prototype.search for
+        derived / customized RegExp object.
+
+        * CMakeLists.txt:
+        * DerivedSources.make:
+        * builtins/BuiltinNames.h:
+        (JSC::BuiltinNames::BuiltinNames): Deleted.
+        * builtins/BuiltinUtils.h:
+        * builtins/StringPrototype.js:
+        (search):
+        * bytecode/BytecodeIntrinsicRegistry.cpp:
+        (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
+        * bytecode/BytecodeIntrinsicRegistry.h:
+        * runtime/CommonIdentifiers.h:
+        * runtime/JSGlobalObject.cpp:
+        (JSC::JSGlobalObject::init):
+        * runtime/RegExpPrototype.cpp:
+        (JSC::RegExpPrototype::finishCreation):
+        (JSC::regExpProtoFuncSearch):
+        * runtime/RegExpPrototype.h:
+        (JSC::RegExpPrototype::create):
+        * runtime/StringPrototype.cpp:
+        (JSC::StringPrototype::getOwnPropertySlot):
+        (JSC::StringPrototype::finishCreation): Deleted.
+        (JSC::stringProtoFuncSearch): Deleted.
+        * runtime/StringPrototype.h:
+        * tests/es6.yaml:
+        * tests/stress/regexp-search.js: Added.
+        (shouldBe):
+        (shouldThrow):
+        (errorKey.toString):
+        (primitive.of.primitives.shouldThrow):
+        (testRegExpSearch):
+        (testSearch):
+        (testBoth):
+        (alwaysUnmatch):
+
 2016-02-12  Keith Miller  <keith_miller@apple.com>
 
         AdaptiveInferredPropertyValueWatchpoint can trigger a GC that frees its CodeBlock and thus itself
index 78724d1..883cc34 100644 (file)
@@ -150,6 +150,7 @@ OBJECT_LUT_HEADERS = \
     SetPrototype.lut.h \
     StringConstructor.lut.h \
     StringIteratorPrototype.lut.h \
+    StringPrototype.lut.h \
     SymbolConstructor.lut.h \
     SymbolPrototype.lut.h \
 #
index 29d0a35..75fc848 100644 (file)
@@ -47,10 +47,8 @@ public:
     {
         JSC_FOREACH_BUILTIN_FUNCTION_NAME(INITIALIZE_PRIVATE_TO_PUBLIC_ENTRY)
         JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_PRIVATE_TO_PUBLIC_ENTRY)
-        JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_WELL_KNOWN_SYMBOL(INITIALIZE_PRIVATE_TO_PUBLIC_ENTRY)
         JSC_FOREACH_BUILTIN_FUNCTION_NAME(INITIALIZE_PUBLIC_TO_PRIVATE_ENTRY)
         JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_PUBLIC_TO_PRIVATE_ENTRY)
-        JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_WELL_KNOWN_SYMBOL(INITIALIZE_PUBLIC_TO_PRIVATE_ENTRY)
     }
 
     bool isPrivateName(SymbolImpl& uid) const;
index 07c29a6..45c3e6a 100644 (file)
@@ -37,10 +37,9 @@ namespace JSC {
     const JSC::Identifier& name##PublicName() const { return m_##name; } \
     const JSC::Identifier& name##PrivateName() const { return m_##name##PrivateName; }
 
-#define INITIALIZE_BUILTIN_SYMBOLS(name) INITIALIZE_BUILTIN_NAMES(name), m_##name##Symbol(JSC::Identifier::fromUid(JSC::PrivateName(JSC::PrivateName::Description, ASCIILiteral("Symbol." #name))))
-#define DECLARE_BUILTIN_SYMBOLS(name) DECLARE_BUILTIN_NAMES(name) const JSC::Identifier m_##name##Symbol;
+#define INITIALIZE_BUILTIN_SYMBOLS(name) , m_##name##Symbol(JSC::Identifier::fromUid(JSC::PrivateName(JSC::PrivateName::Description, ASCIILiteral("Symbol." #name))))
+#define DECLARE_BUILTIN_SYMBOLS(name) const JSC::Identifier m_##name##Symbol;
 #define DECLARE_BUILTIN_SYMBOL_ACCESSOR(name) \
-    DECLARE_BUILTIN_IDENTIFIER_ACCESSOR(name) \
     const JSC::Identifier& name##Symbol() const { return m_##name##Symbol; }
 
 class Identifier;
index 6d51733..9a3049b 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2015 Andy VanWagoner <thetalecrafter@gmail.com>.
+ * Copyright (C) 2016 Yusuke Suzuki <utatane.tea@gmail.com>
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -58,3 +59,24 @@ function localeCompare(that/*, locales, options */)
     // 8. Return CompareStrings(collator, S, That).
     return collator.compare(thisString, thatString);
 }
+
+function search(regexp)
+{
+    "use strict";
+
+    if (this == null) {
+        if (this === null)
+            throw new @TypeError("String.prototype.search requires that |this| not be null");
+        throw new @TypeError("String.prototype.search requires that |this| not be undefined");
+    }
+
+    if (regexp != null) {
+         var searcher = regexp[@symbolSearch];
+         if (searcher !== @undefined)
+            return searcher.@call(regexp, this);
+    }
+
+    var thisString = @toString(this);
+    var createdRegExp = new @RegExp(regexp, @undefined);
+    return createdRegExp[@symbolSearch](thisString);
+}
index bf22c7e..57740ac 100644 (file)
@@ -51,6 +51,7 @@ BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry(VM& vm)
     m_promiseStateFulfilled.set(m_vm, jsNumber(static_cast<unsigned>(JSPromise::Status::Fulfilled)));
     m_promiseStateRejected.set(m_vm, jsNumber(static_cast<unsigned>(JSPromise::Status::Rejected)));
     m_symbolIterator.set(m_vm, Symbol::create(m_vm, static_cast<SymbolImpl&>(*m_vm.propertyNames->iteratorSymbol.impl())));
+    m_symbolSearch.set(m_vm, Symbol::create(m_vm, static_cast<SymbolImpl&>(*m_vm.propertyNames->searchSymbol.impl())));
 }
 
 BytecodeIntrinsicNode::EmitterType BytecodeIntrinsicRegistry::lookup(const Identifier& ident) const
index 35b6aa3..bd44dd3 100644 (file)
@@ -52,7 +52,8 @@ class Identifier;
     macro(promiseStatePending) \
     macro(promiseStateFulfilled) \
     macro(promiseStateRejected) \
-    macro(symbolIterator)
+    macro(symbolIterator) \
+    macro(symbolSearch)
 
 class BytecodeIntrinsicRegistry {
     WTF_MAKE_NONCOPYABLE(BytecodeIntrinsicRegistry);
index fe85187..1ac06d5 100644 (file)
     macro(isConcatSpreadable) \
     macro(match) \
     macro(replace) \
-    macro(search) \
     macro(split) \
     macro(toPrimitive)
 
 #define JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_WELL_KNOWN_SYMBOL(macro) \
     macro(hasInstance) \
     macro(iterator) \
+    macro(search) \
     macro(species) \
     macro(toStringTag) \
     macro(unscopables)
     macro(Number) \
     macro(Array) \
     macro(String) \
+    macro(RegExp) \
     macro(Map) \
     macro(Promise) \
     macro(InternalPromise) \
index 486ef24..3f96531 100644 (file)
@@ -360,7 +360,7 @@ void JSGlobalObject::init(VM& vm)
 
     RegExp* emptyRegex = RegExp::create(vm, "", NoFlags);
     
-    m_regExpPrototype.set(vm, this, RegExpPrototype::create(vm, RegExpPrototype::createStructure(vm, this, m_objectPrototype.get()), emptyRegex));
+    m_regExpPrototype.set(vm, this, RegExpPrototype::create(vm, this, RegExpPrototype::createStructure(vm, this, m_objectPrototype.get()), emptyRegex));
     m_regExpStructure.set(vm, this, RegExpObject::createStructure(vm, this, m_regExpPrototype.get()));
     m_regExpMatchesArrayStructure.set(vm, this, createRegExpMatchesArrayStructure(vm, *this));
 
@@ -544,6 +544,7 @@ putDirectWithoutTransition(vm, vm.propertyNames-> jsName, lowerName ## Construct
         GlobalPropertyInfo(vm.propertyNames->BuiltinLogPrivateName, builtinLog, DontEnum | DontDelete | ReadOnly),
         GlobalPropertyInfo(vm.propertyNames->ArrayPrivateName, arrayConstructor, DontEnum | DontDelete | ReadOnly),
         GlobalPropertyInfo(vm.propertyNames->NumberPrivateName, numberConstructor, DontEnum | DontDelete | ReadOnly),
+        GlobalPropertyInfo(vm.propertyNames->RegExpPrivateName, m_regExpConstructor.get(), DontEnum | DontDelete | ReadOnly),
         GlobalPropertyInfo(vm.propertyNames->StringPrivateName, stringConstructor, DontEnum | DontDelete | ReadOnly),
         GlobalPropertyInfo(vm.propertyNames->absPrivateName, privateFuncAbs, DontEnum | DontDelete | ReadOnly),
         GlobalPropertyInfo(vm.propertyNames->floorPrivateName, privateFuncFloor, DontEnum | DontDelete | ReadOnly),
index fb6fc5f..3b1d41c 100644 (file)
@@ -35,6 +35,7 @@
 #include "RegExpObject.h"
 #include "RegExp.h"
 #include "RegExpCache.h"
+#include "RegExpConstructor.h"
 #include "StringRecursionChecker.h"
 
 namespace JSC {
@@ -43,6 +44,7 @@ static EncodedJSValue JSC_HOST_CALL regExpProtoFuncTest(ExecState*);
 static EncodedJSValue JSC_HOST_CALL regExpProtoFuncExec(ExecState*);
 static EncodedJSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState*);
 static EncodedJSValue JSC_HOST_CALL regExpProtoFuncToString(ExecState*);
+static EncodedJSValue JSC_HOST_CALL regExpProtoFuncSearch(ExecState*);
 static EncodedJSValue JSC_HOST_CALL regExpProtoGetterGlobal(ExecState*);
 static EncodedJSValue JSC_HOST_CALL regExpProtoGetterIgnoreCase(ExecState*);
 static EncodedJSValue JSC_HOST_CALL regExpProtoGetterMultiline(ExecState*);
@@ -76,6 +78,13 @@ RegExpPrototype::RegExpPrototype(VM& vm, Structure* structure, RegExp* regExp)
 {
 }
 
+void RegExpPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject)
+{
+    Base::finishCreation(vm);
+    ASSERT(inherits(info()));
+    JSC_NATIVE_FUNCTION(vm.propertyNames->searchSymbol, regExpProtoFuncSearch, DontEnum, 1);
+}
+
 bool RegExpPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &slot)
 {
     return getStaticFunctionSlot<Base>(exec, regExpPrototypeTable, jsCast<RegExpPrototype*>(object), propertyName, slot);
@@ -347,4 +356,21 @@ EncodedJSValue JSC_HOST_CALL regExpProtoGetterSource(ExecState* exec)
     return JSValue::encode(regExpProtoGetterSourceInternal(exec, pattern, pattern.characters16(), pattern.length()));
 }
 
+EncodedJSValue JSC_HOST_CALL regExpProtoFuncSearch(ExecState* exec)
+{
+    JSValue thisValue = exec->thisValue();
+    if (!thisValue.inherits(RegExpObject::info()))
+        return throwVMTypeError(exec);
+    RegExp* regExp = asRegExpObject(thisValue)->regExp();
+
+    JSString* string = exec->argument(0).toString(exec);
+    String s = string->value(exec);
+    if (exec->hadException())
+        return JSValue::encode(jsUndefined());
+
+    RegExpConstructor* regExpConstructor = exec->lexicalGlobalObject()->regExpConstructor();
+    MatchResult result = regExpConstructor->performMatch(exec->vm(), regExp, string, s, 0);
+    return JSValue::encode(result ? jsNumber(result.start) : jsNumber(-1));
+}
+
 } // namespace JSC
index cb6ee69..8c49cf1 100644 (file)
@@ -31,10 +31,10 @@ public:
     typedef RegExpObject Base;
     static const unsigned StructureFlags = Base::StructureFlags | OverridesGetOwnPropertySlot;
 
-    static RegExpPrototype* create(VM& vm, Structure* structure, RegExp* regExp)
+    static RegExpPrototype* create(VM& vm, JSGlobalObject* globalObject, Structure* structure, RegExp* regExp)
     {
         RegExpPrototype* prototype = new (NotNull, allocateCell<RegExpPrototype>(vm.heap)) RegExpPrototype(vm, structure, regExp);
-        prototype->finishCreation(vm);
+        prototype->finishCreation(vm, globalObject);
         return prototype;
     }
 
@@ -49,6 +49,7 @@ protected:
     RegExpPrototype(VM&, Structure*, RegExp*);
 
 private:
+    void finishCreation(VM&, JSGlobalObject*);
     static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
 };
 
index ea2b3e5..50e37ed 100644 (file)
@@ -100,7 +100,19 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncIncludes(ExecState*);
 EncodedJSValue JSC_HOST_CALL stringProtoFuncNormalize(ExecState*);
 EncodedJSValue JSC_HOST_CALL stringProtoFuncIterator(ExecState*);
 
-const ClassInfo StringPrototype::s_info = { "String", &StringObject::s_info, 0, CREATE_METHOD_TABLE(StringPrototype) };
+}
+
+#include "StringPrototype.lut.h"
+
+namespace JSC {
+
+const ClassInfo StringPrototype::s_info = { "String", &StringObject::s_info, &stringPrototypeTable, CREATE_METHOD_TABLE(StringPrototype) };
+
+/* Source for StringConstructor.lut.h
+@begin stringPrototypeTable
+    search    JSBuiltin    DontEnum|Function 1
+@end
+*/
 
 // ECMA 15.5.4
 StringPrototype::StringPrototype(VM& vm, Structure* structure)
@@ -124,7 +136,6 @@ void StringPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject, JSStr
     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("match", stringProtoFuncMatch, DontEnum, 1);
     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("repeat", stringProtoFuncRepeat, DontEnum, 1);
     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("replace", stringProtoFuncReplace, DontEnum, 2);
-    JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("search", stringProtoFuncSearch, DontEnum, 1);
     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("slice", stringProtoFuncSlice, DontEnum, 2);
     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("split", stringProtoFuncSplit, DontEnum, 2);
     JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("substr", stringProtoFuncSubstr, DontEnum, 2);
@@ -176,6 +187,11 @@ StringPrototype* StringPrototype::create(VM& vm, JSGlobalObject* globalObject, S
     return prototype;
 }
 
+bool StringPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &slot)
+{
+    return getStaticFunctionSlot<Base>(exec, stringPrototypeTable, jsCast<StringPrototype*>(object), propertyName, slot);
+}
+
 // ------------------------------ Functions --------------------------
 
 // Helper for producing a JSString for 'string', where 'string' was been produced by
@@ -1020,36 +1036,6 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncMatch(ExecState* exec)
     return JSValue::encode(constructArray(exec, static_cast<ArrayAllocationProfile*>(0), list));
 }
 
-EncodedJSValue JSC_HOST_CALL stringProtoFuncSearch(ExecState* exec)
-{
-    JSValue thisValue = exec->thisValue();
-    if (!checkObjectCoercible(thisValue))
-        return throwVMTypeError(exec);
-    JSString* string = thisValue.toString(exec);
-    String s = string->value(exec);
-    VM* vm = &exec->vm();
-
-    JSValue a0 = exec->argument(0);
-
-    RegExp* reg;
-    if (a0.inherits(RegExpObject::info()))
-        reg = asRegExpObject(a0)->regExp();
-    else { 
-        /*
-         *  ECMA 15.5.4.12 String.prototype.search (regexp)
-         *  If regexp is not an object whose [[Class]] property is "RegExp", it is
-         *  replaced with the result of the expression new RegExp(regexp).
-         *  Per ECMA 15.10.4.1, if a0 is undefined substitute the empty string.
-         */
-        reg = RegExp::create(exec->vm(), a0.isUndefined() ? emptyString() : a0.toString(exec)->value(exec), NoFlags);
-        if (!reg->isValid())
-            return throwVMError(exec, createSyntaxError(exec, reg->errorMessage()));
-    }
-    RegExpConstructor* regExpConstructor = exec->lexicalGlobalObject()->regExpConstructor();
-    MatchResult result = regExpConstructor->performMatch(*vm, reg, string, s, 0);
-    return JSValue::encode(result ? jsNumber(result.start) : jsNumber(-1));
-}
-
 EncodedJSValue JSC_HOST_CALL stringProtoFuncSlice(ExecState* exec)
 {
     JSValue thisValue = exec->thisValue();
index bd4f02a..54a78d9 100644 (file)
@@ -33,7 +33,7 @@ private:
 
 public:
     typedef StringObject Base;
-    static const unsigned StructureFlags = Base::StructureFlags;
+    static const unsigned StructureFlags = OverridesGetOwnPropertySlot | Base::StructureFlags;
 
     static StringPrototype* create(VM&, JSGlobalObject*, Structure*);
 
@@ -46,6 +46,9 @@ public:
 
 protected:
     void finishCreation(VM&, JSGlobalObject*, JSString*);
+
+private:
+    static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
 };
 
 } // namespace JSC
index 064fa5a..73c865d 100644 (file)
 - path: es6/RegExp.prototype_properties_RegExp.prototype[Symbol.replace].js
   cmd: runES6 :fail
 - path: es6/RegExp.prototype_properties_RegExp.prototype[Symbol.search].js
-  cmd: runES6 :fail
+  cmd: runES6 :normal
 - path: es6/RegExp.prototype_properties_RegExp.prototype[Symbol.split].js
   cmd: runES6 :fail
 - path: es6/RegExp.prototype_properties_RegExp[Symbol.species].js
 - path: es6/well-known_symbols_Symbol.replace.js
   cmd: runES6 :fail
 - path: es6/well-known_symbols_Symbol.search.js
-  cmd: runES6 :fail
+  cmd: runES6 :normal
 - path: es6/well-known_symbols_Symbol.species_Array.prototype.concat.js
   cmd: runES6 :normal
 - path: es6/well-known_symbols_Symbol.species_Array.prototype.filter.js
diff --git a/Source/JavaScriptCore/tests/stress/regexp-search.js b/Source/JavaScriptCore/tests/stress/regexp-search.js
new file mode 100644 (file)
index 0000000..2fd34ac
--- /dev/null
@@ -0,0 +1,104 @@
+
+function shouldBe(actual, expected) {
+    if (actual !== expected)
+        throw new Error('bad value: ' + actual);
+}
+
+function shouldThrow(func, expected) {
+    var error = null;
+    try {
+        func();
+    } catch (e) {
+        error = e;
+    }
+    if (!error)
+        throw new Error('not thrown');
+    shouldBe(String(error), expected);
+}
+
+var errorKey = {
+    toString() {
+        throw new Error('out');
+    }
+};
+var string = 'Cocoa, Cappuccino, Rize, Matcha, Kilimanjaro';
+
+shouldThrow(function () {
+    String.prototype.search.call(null, /Cocoa/);
+}, "TypeError: String.prototype.search requires that |this| not be null");
+
+shouldThrow(function () {
+    String.prototype.search.call(undefined, /Cocoa/);
+}, "TypeError: String.prototype.search requires that |this| not be undefined");
+
+shouldThrow(function () {
+    string.search(errorKey);
+}, "Error: out");
+
+shouldBe('Cocoa'.search(/Cocoa/), 0);
+
+shouldBe(string.search(/Rize/), 19);
+shouldBe(string.search('Rize'), 19);
+shouldBe(string.search(/Matcha/), 25);
+shouldBe(string.search('Matcha'), 25);
+
+shouldBe('    undefined'.search(), 0);
+shouldBe('    undefined'.search('undefined'), 4);
+
+shouldBe((/Cocoa/)[Symbol.search]('Cocoa'), 0);
+
+var primitives = [
+    '',
+    'string',
+    null,
+    undefined,
+    42,
+    Symbol('Cocoa'),
+];
+
+for (var primitive of primitives) {
+    shouldThrow(function () {
+        RegExp.prototype[Symbol.search].call(primitive)
+    }, 'TypeError: Type error');
+}
+
+shouldThrow(function () {
+    /Cocoa/[Symbol.search](errorKey);
+}, "Error: out");
+
+
+function testRegExpSearch(regexp, string, result, lastIndex) {
+    shouldBe(regexp[Symbol.search](string), result);
+    shouldBe(regexp.lastIndex, lastIndex);
+}
+
+function testSearch(regexp, string, result, lastIndex) {
+    shouldBe(string.search(regexp), result);
+    shouldBe(regexp.lastIndex, lastIndex);
+}
+
+function testBoth(regexp, string, result, lastIndex) {
+    testSearch(regexp, string, result, lastIndex);
+    testRegExpSearch(regexp, string, result, lastIndex);
+}
+
+var cocoa = /Cocoa/;
+cocoa.lastIndex = 20;
+testBoth(cocoa, 'Cocoa', 0, 20);
+testBoth(cocoa, '  Cocoa', 2, 20);
+testBoth(cocoa, '  ', -1, 20);
+
+var multibyte = /ココア/;
+multibyte.lastIndex = 20;
+testBoth(multibyte, 'ココア', 0, 20);
+testBoth(multibyte, '  Cocoa', -1, 20);
+testBoth(multibyte, 'カプチーノ', -1, 20);
+
+function alwaysUnmatch(string) {
+    return -1;
+}
+
+var regexp = new RegExp('ココア');
+regexp[Symbol.search] = alwaysUnmatch;
+shouldBe(regexp[Symbol.search], alwaysUnmatch);
+testBoth(regexp, 'ココア', -1, 0);