From f538cfe848abd3a859fa50dfdb5f64e70e291164 Mon Sep 17 00:00:00 2001 From: yenda Date: Fri, 6 Sep 2019 13:17:49 +0200 Subject: [PATCH] remove web3 dependency --- clj-rn.conf.edn | 8 +-- desktop_files/package.json.orig | 1 - desktop_files/yarn.lock | 10 ---- externs.js | 3 +- mobile_files/package.json.orig | 3 +- mobile_files/yarn.lock | 25 --------- resources/js/web3.min.js | 1 + src/status_im/js_dependencies.cljs | 3 +- src/status_im/utils/js_resources.cljs | 2 +- src/status_im/utils/money.cljs | 18 ++----- test/cljs/status_im/test/protocol/core.cljs | 53 ------------------- test/cljs/status_im/test/protocol/node.cljs | 9 ---- test/cljs/status_im/test/protocol/runner.cljs | 13 ----- test/cljs/status_im/test/protocol/utils.cljs | 25 --------- 14 files changed, 13 insertions(+), 161 deletions(-) create mode 100644 resources/js/web3.min.js delete mode 100644 test/cljs/status_im/test/protocol/core.cljs delete mode 100644 test/cljs/status_im/test/protocol/node.cljs delete mode 100644 test/cljs/status_im/test/protocol/runner.cljs delete mode 100644 test/cljs/status_im/test/protocol/utils.cljs diff --git a/clj-rn.conf.edn b/clj-rn.conf.edn index 936d9e0552..f427046879 100644 --- a/clj-rn.conf.edn +++ b/clj-rn.conf.edn @@ -4,7 +4,8 @@ :figwheel-bridge "./figwheel-bridge.js" ;; JS modules - :js-modules ["react-native-languages" + :js-modules ["bignumber.js" + "react-native-languages" "i18n-js" "dismissKeyboard" "react-native-splash-screen" @@ -22,7 +23,6 @@ "react-native-webview-bridge" "react-native-firebase" "react-native-touch-id" - "web3" "web3-utils" "chance" "react-native-http-bridge" @@ -45,7 +45,8 @@ "react-native-shake" "@react-native-community/netinfo"] ;; Desktop modules - :desktop-modules ["react-native-languages" + :desktop-modules ["bignumber.js" + "react-native-languages" "i18n-js" "dismissKeyboard" "react-native-splash-screen" @@ -57,7 +58,6 @@ "react-native-image-crop-picker" "react-native-securerandom" "react-native-webview-bridge" - "web3" "chance" "react-native-http-bridge" "emojilib" diff --git a/desktop_files/package.json.orig b/desktop_files/package.json.orig index e45645ad32..1ec002d035 100644 --- a/desktop_files/package.json.orig +++ b/desktop_files/package.json.orig @@ -85,7 +85,6 @@ "react-navigation": "^2.12.1", "status-conan": "git+https://github.com/status-im/status-conan.git#v1.0.0", "url": "0.10.3", - "web3": "git+https://github.com/status-im/web3.js.git#0.20.3-status.alpha.3", "web3-utils": "1.0.0-beta.36" }, "devDependencies": { diff --git a/desktop_files/yarn.lock b/desktop_files/yarn.lock index d3b9d71454..c5e338a8ad 100644 --- a/desktop_files/yarn.lock +++ b/desktop_files/yarn.lock @@ -7878,16 +7878,6 @@ web3-utils@1.0.0-beta.36: underscore "1.8.3" utf8 "2.1.1" -"web3@git+https://github.com/status-im/web3.js.git#0.20.3-status.alpha.3": - version "0.20.1" - resolved "git+https://github.com/status-im/web3.js.git#29677754c8b87c55c828df2694e35b0b760dca5f" - dependencies: - bignumber.js "git+https://github.com/status-im/bignumber.js.git#v4.0.2-status" - crypto-js "^3.1.4" - utf8 "^2.1.1" - xhr2 "*" - xmlhttprequest "*" - whatwg-fetch@>=0.10.0: version "3.0.0" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" diff --git a/externs.js b/externs.js index 3beda184e8..ce8a04c7b4 100644 --- a/externs.js +++ b/externs.js @@ -23,6 +23,7 @@ var TopLevel = { "back" : function () {}, "balanceOf" : function () {}, "bezier" : function () {}, + "BigNumber" : function () {}, "blur" : function () {}, "button" : function () {}, "bytesToHex" : function () {}, @@ -489,7 +490,6 @@ var TopLevel = { "timing" : function () {}, "title" : function () {}, "toAscii" : function () {}, - "toBigNumber" : function () {}, "toChecksumAddress" : function () {}, "toFixed" : function () {}, "toHex" : function () {}, @@ -519,7 +519,6 @@ var TopLevel = { "vibrate" : function () {}, "View" : function () {}, "warn" : function () {}, - "Web3" : function () {}, "WebView" : function () {}, "WebViewBridgeModule" : function () {}, "width" : function () {}, diff --git a/mobile_files/package.json.orig b/mobile_files/package.json.orig index bfa7ad54e5..e423036ab7 100644 --- a/mobile_files/package.json.orig +++ b/mobile_files/package.json.orig @@ -26,11 +26,11 @@ "react-native-background-timer": "^2.1.1", "react-native-camera": "git+https://github.com/status-im/react-native-camera.git#v1.1.5-1-status", "react-native-config": "git+https://github.com/status-im/react-native-config.git#0.11.2-1", - "react-native-gesture-handler": "1.3.0", "react-native-dialogs": "^1.0.5", "react-native-fetch-polyfill": "^1.1.3", "react-native-firebase": "5.1.1", "react-native-fs": "^2.14.1", + "react-native-gesture-handler": "1.3.0", "react-native-http-bridge": "^0.6.1", "react-native-image-crop-picker": "^0.18.2", "react-native-image-resizer": "git+https://github.com/status-im/react-native-image-resizer.git#1.0.0-1-status", @@ -50,7 +50,6 @@ "react-native-touch-id": "^4.4.1", "react-native-webview-bridge": "git+https://github.com/status-im/react-native-webview-bridge.git#fix/classnames-colision", "react-navigation": "3.11.0", - "web3": "git+https://github.com/status-im/web3.js.git#0.20.3-status.alpha.3", "web3-utils": "^1.2.1" }, "devDependencies": { diff --git a/mobile_files/yarn.lock b/mobile_files/yarn.lock index 42e21a9b5b..eeb17a2bb7 100644 --- a/mobile_files/yarn.lock +++ b/mobile_files/yarn.lock @@ -1877,11 +1877,6 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -crypto-js@^3.1.4: - version "3.1.8" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.8.tgz#715f070bf6014f2ae992a98b3929258b713f08d5" - integrity sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU= - d64@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/d64/-/d64-1.0.0.tgz#4002a87e850cbfc9f9d9706b60fca613a3336e90" @@ -6213,16 +6208,6 @@ web3-utils@^1.2.1: underscore "1.9.1" utf8 "3.0.0" -"web3@git+https://github.com/status-im/web3.js.git#0.20.3-status.alpha.3": - version "0.20.1" - resolved "git+https://github.com/status-im/web3.js.git#29677754c8b87c55c828df2694e35b0b760dca5f" - dependencies: - bignumber.js "git+https://github.com/status-im/bignumber.js.git#v4.0.2-status" - crypto-js "^3.1.4" - utf8 "^2.1.1" - xhr2 "*" - xmlhttprequest "*" - whatwg-fetch@>=0.10.0: version "3.0.0" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" @@ -6342,11 +6327,6 @@ xhr-request@^1.0.1: url-set-query "^1.0.0" xhr "^2.0.4" -xhr2@*: - version "0.2.0" - resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.2.0.tgz#eddeff782f3b7551061b8d75645085269396e521" - integrity sha512-BDtiD0i2iKPK/S8OAZfpk6tyzEDnKKSjxWHcMBVmh+LuqJ8A32qXTyOx+TVOg2dKvq6zGBq2sgKPkEeRs1qTRA== - xhr@^2.0.4: version "2.5.0" resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" @@ -6374,11 +6354,6 @@ xmldom@0.1.x: resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= -xmlhttprequest@*: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= - xpipe@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" diff --git a/resources/js/web3.min.js b/resources/js/web3.min.js new file mode 100644 index 0000000000..5e73e29bd3 --- /dev/null +++ b/resources/js/web3.min.js @@ -0,0 +1 @@ +require=function i(a,s,c){function u(e,t){if(!s[e]){if(!a[e]){var r="function"==typeof require&&require;if(!t&&r)return r(e,!0);if(f)return f(e,!0);var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}var o=s[e]={exports:{}};a[e][0].call(o.exports,function(t){return u(a[e][1][t]||t)},o,o.exports,i,a,s,c)}return s[e].exports}for(var f="function"==typeof require&&require,t=0;tthis._inputTypes.length&&!i.isObject(t[t.length-1]))return s.inputDefaultBlockNumberFormatter(t.pop())},n.prototype.validateArgs=function(t){if(t.filter(function(t){return!(!0===i.isObject(t)&&!1===i.isArray(t)&&!1===i.isBigNumber(t))}).length!==this._inputTypes.length)throw a.InvalidNumberOfSolidityArgs()},n.prototype.toPayload=function(t){var e={};return t.length>this._inputTypes.length&&i.isObject(t[t.length-1])&&(e=t[t.length-1]),this.validateArgs(t),e.to=this._address,e.data="0x"+this.signature()+o.encodeParams(this._inputTypes,t),e},n.prototype.signature=function(){return c(this._name).slice(0,8)},n.prototype.unpackOutput=function(t){if(t){t=2<=t.length?t.slice(2):t;var e=o.decodeParams(this._outputTypes,t);return 1===e.length?e[0]:e}},n.prototype.call=function(){var t=Array.prototype.slice.call(arguments).filter(function(t){return void 0!==t}),n=this.extractCallback(t),e=this.extractDefaultBlock(t),r=this.toPayload(t);if(!n){var o=this._eth.call(r,e);return this.unpackOutput(o)}var i=this;this._eth.call(r,e,function(e,t){if(e)return n(e,null);var r=null;try{r=i.unpackOutput(t)}catch(t){e=t}n(e,r)})},n.prototype.sendTransaction=function(){var t=Array.prototype.slice.call(arguments).filter(function(t){return void 0!==t}),e=this.extractCallback(t),r=this.toPayload(t);if(0>>8^255&o^99,u[r]=o;var i=t[f[o]=r],a=t[i],s=t[a],c=257*t[o]^16843008*o;l[r]=c<<24|c>>>8,p[r]=c<<16|c>>>16,h[r]=c<<8|c>>>24,d[r]=c;c=16843009*s^65537*a^257*i^16843008*r;m[o]=c<<24|c>>>8,y[o]=c<<16|c>>>16,g[o]=c<<8|c>>>24,v[o]=c,r?(r=i^t[t[t[s^i]]],n^=t[t[n]]):r=n=1}}();var b=[0,1,2,4,8,16,32,64,128,27,54],n=r.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,r=t.sigBytes/4,n=4*(1+(this._nRounds=6+r)),o=this._keySchedule=[],i=0;i>>24]<<24|u[a>>>16&255]<<16|u[a>>>8&255]<<8|u[255&a]):(a=u[(a=a<<8|a>>>24)>>>24]<<24|u[a>>>16&255]<<16|u[a>>>8&255]<<8|u[255&a],a^=b[i/r|0]<<24),o[i]=o[i-r]^a}for(var s=this._invKeySchedule=[],c=0;c>>24]]^y[u[a>>>16&255]]^g[u[a>>>8&255]]^v[u[255&a]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,l,p,h,d,u)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r,this._doCryptBlock(t,e,this._invKeySchedule,m,y,g,v,f);r=t[e+1];t[e+1]=t[e+3],t[e+3]=r},_doCryptBlock:function(t,e,r,n,o,i,a,s){for(var c=this._nRounds,u=t[e]^r[0],f=t[e+1]^r[1],l=t[e+2]^r[2],p=t[e+3]^r[3],h=4,d=1;d>>24]^o[f>>>16&255]^i[l>>>8&255]^a[255&p]^r[h++],y=n[f>>>24]^o[l>>>16&255]^i[p>>>8&255]^a[255&u]^r[h++],g=n[l>>>24]^o[p>>>16&255]^i[u>>>8&255]^a[255&f]^r[h++],v=n[p>>>24]^o[u>>>16&255]^i[f>>>8&255]^a[255&l]^r[h++];u=m,f=y,l=g,p=v}m=(s[u>>>24]<<24|s[f>>>16&255]<<16|s[l>>>8&255]<<8|s[255&p])^r[h++],y=(s[f>>>24]<<24|s[l>>>16&255]<<16|s[p>>>8&255]<<8|s[255&u])^r[h++],g=(s[l>>>24]<<24|s[p>>>16&255]<<16|s[u>>>8&255]<<8|s[255&f])^r[h++],v=(s[p>>>24]<<24|s[u>>>16&255]<<16|s[f>>>8&255]<<8|s[255&l])^r[h++];t[e]=m,t[e+1]=y,t[e+2]=g,t[e+3]=v},keySize:8});t.AES=e._createHelper(n)}(),o.AES},"object"==typeof r?e.exports=r=o(t("./core"),t("./enc-base64"),t("./md5"),t("./evpkdf"),t("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],o):o(n.CryptoJS)},{"./cipher-core":52,"./core":53,"./enc-base64":54,"./evpkdf":56,"./md5":61}],52:[function(t,e,r){var n,o;n=this,o=function(w){w.lib.Cipher||function(){var t=w,e=t.lib,r=e.Base,c=e.WordArray,n=e.BufferedBlockAlgorithm,o=t.enc,i=(o.Utf8,o.Base64),a=t.algo.EvpKDF,s=e.Cipher=n.extend({cfg:r.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r),this._xformMode=t,this._key=e,this.reset()},reset:function(){n.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(n){return{encrypt:function(t,e,r){return u(e).encrypt(n,t,e,r)},decrypt:function(t,e,r){return u(e).decrypt(n,t,e,r)}}}});function u(t){return"string"==typeof t?_:v}e.StreamCipher=s.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var f,l=t.mode={},p=e.BlockCipherMode=r.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),h=l.CBC=((f=p.extend()).Encryptor=f.extend({processBlock:function(t,e){var r=this._cipher,n=r.blockSize;d.call(this,t,e,n),r.encryptBlock(t,e),this._prevBlock=t.slice(e,e+n)}}),f.Decryptor=f.extend({processBlock:function(t,e){var r=this._cipher,n=r.blockSize,o=t.slice(e,e+n);r.decryptBlock(t,e),d.call(this,t,e,n),this._prevBlock=o}}),f);function d(t,e,r){var n=this._iv;if(n){var o=n;this._iv=void 0}else o=this._prevBlock;for(var i=0;i>>2];t.sigBytes-=e}},y=(e.BlockCipher=s.extend({cfg:s.cfg.extend({mode:h,padding:m}),reset:function(){s.reset.call(this);var t=this.cfg,e=t.iv,r=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=r.createEncryptor;else{n=r.createDecryptor;this._minBufferSize=1}this._mode=n.call(r,this,e&&e.words)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else{e=this._process(!0);t.unpad(e)}return e},blockSize:4}),e.CipherParams=r.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),g=(t.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,r=t.salt;if(r)var n=c.create([1398893684,1701076831]).concat(r).concat(e);else n=e;return n.toString(i)},parse:function(t){var e=i.parse(t),r=e.words;if(1398893684==r[0]&&1701076831==r[1]){var n=c.create(r.slice(2,4));r.splice(0,4),e.sigBytes-=16}return y.create({ciphertext:e,salt:n})}},v=e.SerializableCipher=r.extend({cfg:r.extend({format:g}),encrypt:function(t,e,r,n){n=this.cfg.extend(n);var o=t.createEncryptor(r,n),i=o.finalize(e),a=o.cfg;return y.create({ciphertext:i,key:r,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,r,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(r,n).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),b=(t.kdf={}).OpenSSL={execute:function(t,e,r,n){n||(n=c.random(8));var o=a.create({keySize:e+r}).compute(t,n),i=c.create(o.words.slice(e),4*r);return o.sigBytes=4*e,y.create({key:o,iv:i,salt:n})}},_=e.PasswordBasedCipher=v.extend({cfg:v.cfg.extend({kdf:b}),encrypt:function(t,e,r,n){var o=(n=this.cfg.extend(n)).kdf.execute(r,t.keySize,t.ivSize);n.iv=o.iv;var i=v.encrypt.call(this,t,e,o.key,n);return i.mixIn(o),i},decrypt:function(t,e,r,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var o=n.kdf.execute(r,t.keySize,t.ivSize,e.salt);return n.iv=o.iv,v.decrypt.call(this,t,e,o.key,n)}})}()},"object"==typeof r?e.exports=r=o(t("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(n.CryptoJS)},{"./core":53}],53:[function(t,e,r){var n,o;n=this,o=function(){var f,r,t,e,n,l,o,i,a,s,c,u,p=p||(f=Math,r=Object.create||function(t){var e;return h.prototype=t,e=new h,h.prototype=null,e},e=(t={}).lib={},n=e.Base={extend:function(t){var e=r(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),(e.init.prototype=e).$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},l=e.WordArray=n.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||i).stringify(this)},concat:function(t){var e=this.words,r=t.words,n=this.sigBytes,o=t.sigBytes;if(this.clamp(),n%4)for(var i=0;i>>2]>>>24-i%4*8&255;e[n+i>>>2]|=a<<24-(n+i)%4*8}else for(i=0;i>>2]=r[i>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=f.ceil(e/4)},clone:function(){var t=n.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){function e(e){e=e;var r=987654321,n=4294967295;return function(){var t=((r=36969*(65535&r)+(r>>16)&n)<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n;return t/=4294967296,(t+=.5)*(.5>>2]>>>24-o%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new l.init(r,e/2)}},a=o.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],o=0;o>>2]>>>24-o%4*8&255;n.push(String.fromCharCode(i))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new l.init(r,e)}},s=o.Utf8={stringify:function(t){try{return decodeURIComponent(escape(a.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return a.parse(unescape(encodeURIComponent(t)))}},c=e.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=s.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e=this._data,r=e.words,n=e.sigBytes,o=this.blockSize,i=n/(4*o),a=(i=t?f.ceil(i):f.max((0|i)-this._minBufferSize,0))*o,s=f.min(4*a,n);if(a){for(var c=0;c>>2]>>>24-i%4*8&255)<<16|(e[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|e[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;s<4&&i+.75*s>>6*(3-s)&63));var c=n.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(t){var e=t.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o>>6-i%4*2;n[o>>>2]|=(a|s)<<24-o%4*8,o++}return c.create(n,o)}(t,e,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},t.enc.Base64},"object"==typeof r?e.exports=r=o(t("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(n.CryptoJS)},{"./core":53}],55:[function(t,e,r){var n,o;n=this,o=function(r){return function(){var t=r,o=t.lib.WordArray,e=t.enc;e.Utf16=e.Utf16BE={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535;n.push(String.fromCharCode(i))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>1]|=t.charCodeAt(n)<<16-n%2*16;return o.create(r,2*e)}};function a(t){return t<<8&4278255360|t>>>8&16711935}e.Utf16LE={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(i))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>1]|=a(t.charCodeAt(n)<<16-n%2*16);return o.create(r,2*e)}}}(),r.enc.Utf16},"object"==typeof r?e.exports=r=o(t("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(n.CryptoJS)},{"./core":53}],56:[function(t,e,r){var n,o;n=this,o=function(t){var e,r,n,f,o,i,a;return r=(e=t).lib,n=r.Base,f=r.WordArray,o=e.algo,i=o.MD5,a=o.EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:i,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var r=this.cfg,n=r.hasher.create(),o=f.create(),i=o.words,a=r.keySize,s=r.iterations;i.lengthn&&(e=t.finalize(e)),e.clamp();for(var o=this._oKey=e.clone(),i=this._iKey=e.clone(),a=o.words,s=i.words,c=0;c>>2]|=t[n]<<24-n%4*8;o.call(this,r,e)}else o.apply(this,arguments)}).prototype=t}}(),e.lib.WordArray},"object"==typeof r?e.exports=r=o(t("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(n.CryptoJS)},{"./core":53}],61:[function(t,e,r){var n,o;n=this,o=function(a){return function(f){var t=a,e=t.lib,r=e.WordArray,n=e.Hasher,o=t.algo,C=[];!function(){for(var t=0;t<64;t++)C[t]=4294967296*f.abs(f.sin(t+1))|0}();var i=o.MD5=n.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var n=e+r,o=t[n];t[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var i=this._hash.words,a=t[e+0],s=t[e+1],c=t[e+2],u=t[e+3],f=t[e+4],l=t[e+5],p=t[e+6],h=t[e+7],d=t[e+8],m=t[e+9],y=t[e+10],g=t[e+11],v=t[e+12],b=t[e+13],_=t[e+14],w=t[e+15],x=i[0],k=i[1],B=i[2],S=i[3];k=P(k=P(k=P(k=P(k=I(k=I(k=I(k=I(k=F(k=F(k=F(k=F(k=A(k=A(k=A(k=A(k,B=A(B,S=A(S,x=A(x,k,B,S,a,7,C[0]),k,B,s,12,C[1]),x,k,c,17,C[2]),S,x,u,22,C[3]),B=A(B,S=A(S,x=A(x,k,B,S,f,7,C[4]),k,B,l,12,C[5]),x,k,p,17,C[6]),S,x,h,22,C[7]),B=A(B,S=A(S,x=A(x,k,B,S,d,7,C[8]),k,B,m,12,C[9]),x,k,y,17,C[10]),S,x,g,22,C[11]),B=A(B,S=A(S,x=A(x,k,B,S,v,7,C[12]),k,B,b,12,C[13]),x,k,_,17,C[14]),S,x,w,22,C[15]),B=F(B,S=F(S,x=F(x,k,B,S,s,5,C[16]),k,B,p,9,C[17]),x,k,g,14,C[18]),S,x,a,20,C[19]),B=F(B,S=F(S,x=F(x,k,B,S,l,5,C[20]),k,B,y,9,C[21]),x,k,w,14,C[22]),S,x,f,20,C[23]),B=F(B,S=F(S,x=F(x,k,B,S,m,5,C[24]),k,B,_,9,C[25]),x,k,u,14,C[26]),S,x,d,20,C[27]),B=F(B,S=F(S,x=F(x,k,B,S,b,5,C[28]),k,B,c,9,C[29]),x,k,h,14,C[30]),S,x,v,20,C[31]),B=I(B,S=I(S,x=I(x,k,B,S,l,4,C[32]),k,B,d,11,C[33]),x,k,g,16,C[34]),S,x,_,23,C[35]),B=I(B,S=I(S,x=I(x,k,B,S,s,4,C[36]),k,B,f,11,C[37]),x,k,h,16,C[38]),S,x,y,23,C[39]),B=I(B,S=I(S,x=I(x,k,B,S,b,4,C[40]),k,B,a,11,C[41]),x,k,u,16,C[42]),S,x,p,23,C[43]),B=I(B,S=I(S,x=I(x,k,B,S,m,4,C[44]),k,B,v,11,C[45]),x,k,w,16,C[46]),S,x,c,23,C[47]),B=P(B,S=P(S,x=P(x,k,B,S,a,6,C[48]),k,B,h,10,C[49]),x,k,_,15,C[50]),S,x,l,21,C[51]),B=P(B,S=P(S,x=P(x,k,B,S,v,6,C[52]),k,B,u,10,C[53]),x,k,y,15,C[54]),S,x,s,21,C[55]),B=P(B,S=P(S,x=P(x,k,B,S,d,6,C[56]),k,B,w,10,C[57]),x,k,p,15,C[58]),S,x,b,21,C[59]),B=P(B,S=P(S,x=P(x,k,B,S,f,6,C[60]),k,B,g,10,C[61]),x,k,c,15,C[62]),S,x,m,21,C[63]),i[0]=i[0]+x|0,i[1]=i[1]+k|0,i[2]=i[2]+B|0,i[3]=i[3]+S|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32;var o=f.floor(r/4294967296),i=r;e[15+(64+n>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),e[14+(64+n>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process();for(var a=this._hash,s=a.words,c=0;c<4;c++){var u=s[c];s[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});function A(t,e,r,n,o,i,a){var s=t+(e&r|~e&n)+o+a;return(s<>>32-i)+e}function F(t,e,r,n,o,i,a){var s=t+(e&n|r&~n)+o+a;return(s<>>32-i)+e}function I(t,e,r,n,o,i,a){var s=t+(e^r^n)+o+a;return(s<>>32-i)+e}function P(t,e,r,n,o,i,a){var s=t+(r^(e|~n))+o+a;return(s<>>32-i)+e}t.MD5=n._createHelper(i),t.HmacMD5=n._createHmacHelper(i)}(Math),a.MD5},"object"==typeof r?e.exports=r=o(t("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(n.CryptoJS)},{"./core":53}],62:[function(t,e,r){var n,o;n=this,o=function(t){function i(t,e,r,n){var o=this._iv;if(o){var i=o.slice(0);this._iv=void 0}else i=this._prevBlock;n.encryptBlock(i,0);for(var a=0;a>24&255)){var e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}else t+=1<<24;return t}var e,r;return t.mode.CTRGladman=(e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(t,e){var r=this._cipher,n=r.blockSize,o=this._iv,i=this._counter;o&&(i=this._counter=o.slice(0),this._iv=void 0),function(t){0===(t[0]=c(t[0]))&&(t[1]=c(t[1]))}(i);var a=i.slice(0);r.encryptBlock(a,0);for(var s=0;s>>2]|=o<<24-i%4*8,t.sigBytes+=o},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},t.pad.Ansix923},"object"==typeof r?e.exports=r=o(t("./core"),t("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./cipher-core"],o):o(n.CryptoJS)},{"./cipher-core":52,"./core":53}],68:[function(t,e,r){var n,o;n=this,o=function(o){return o.pad.Iso10126={pad:function(t,e){var r=4*e,n=r-t.sigBytes%r;t.concat(o.lib.WordArray.random(n-1)).concat(o.lib.WordArray.create([n<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},o.pad.Iso10126},"object"==typeof r?e.exports=r=o(t("./core"),t("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./cipher-core"],o):o(n.CryptoJS)},{"./cipher-core":52,"./core":53}],69:[function(t,e,r){var n,o;n=this,o=function(r){return r.pad.Iso97971={pad:function(t,e){t.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(t,e)},unpad:function(t){r.pad.ZeroPadding.unpad(t),t.sigBytes--}},r.pad.Iso97971},"object"==typeof r?e.exports=r=o(t("./core"),t("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./cipher-core"],o):o(n.CryptoJS)},{"./cipher-core":52,"./core":53}],70:[function(t,e,r){var n,o;n=this,o=function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding},"object"==typeof r?e.exports=r=o(t("./core"),t("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./cipher-core"],o):o(n.CryptoJS)},{"./cipher-core":52,"./core":53}],71:[function(t,e,r){var n,o;n=this,o=function(t){return t.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp(),t.sigBytes+=r-(t.sigBytes%r||r)},unpad:function(t){for(var e=t.words,r=t.sigBytes-1;!(e[r>>>2]>>>24-r%4*8&255);)r--;t.sigBytes=r+1}},t.pad.ZeroPadding},"object"==typeof r?e.exports=r=o(t("./core"),t("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./cipher-core"],o):o(n.CryptoJS)},{"./cipher-core":52,"./core":53}],72:[function(t,e,r){var n,o;n=this,o=function(t){var e,r,n,g,o,i,v,a;return r=(e=t).lib,n=r.Base,g=r.WordArray,o=e.algo,i=o.SHA1,v=o.HMAC,a=o.PBKDF2=n.extend({cfg:n.extend({keySize:4,hasher:i,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var r=this.cfg,n=v.create(r.hasher,t),o=g.create(),i=g.create([1]),a=o.words,s=i.words,c=r.keySize,u=r.iterations;a.length>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0;for(r=0;r<8;r++){var n=t[r]+e[r],o=65535&n,i=n>>>16,a=((o*o>>>17)+o*i>>>15)+i*i,s=((4294901760&n)*n|0)+((65535&n)*n|0);u[r]=a^s}t[0]=u[0]+(u[7]<<16|u[7]>>>16)+(u[6]<<16|u[6]>>>16)|0,t[1]=u[1]+(u[0]<<8|u[0]>>>24)+u[7]|0,t[2]=u[2]+(u[1]<<16|u[1]>>>16)+(u[0]<<16|u[0]>>>16)|0,t[3]=u[3]+(u[2]<<8|u[2]>>>24)+u[1]|0,t[4]=u[4]+(u[3]<<16|u[3]>>>16)+(u[2]<<16|u[2]>>>16)|0,t[5]=u[5]+(u[4]<<8|u[4]>>>24)+u[3]|0,t[6]=u[6]+(u[5]<<16|u[5]>>>16)+(u[4]<<16|u[4]>>>16)|0,t[7]=u[7]+(u[6]<<8|u[6]>>>24)+u[5]|0}var e,r,n,o,c,u,i;return r=(e=t).lib.StreamCipher,n=e.algo,o=[],c=[],u=[],i=n.RabbitLegacy=r.extend({_doReset:function(){for(var t=this._key.words,e=this.cfg.iv,r=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]],o=this._b=0;o<4;o++)p.call(this);for(o=0;o<8;o++)n[o]^=r[o+4&7];if(e){var i=e.words,a=i[0],s=i[1],c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),f=c>>>16|4294901760&u,l=u<<16|65535&c;n[0]^=c,n[1]^=f,n[2]^=u,n[3]^=l,n[4]^=c,n[5]^=f,n[6]^=u,n[7]^=l;for(o=0;o<4;o++)p.call(this)}},_doProcessBlock:function(t,e){var r=this._X;p.call(this),o[0]=r[0]^r[5]>>>16^r[3]<<16,o[1]=r[2]^r[7]>>>16^r[5]<<16,o[2]=r[4]^r[1]>>>16^r[7]<<16,o[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)o[n]=16711935&(o[n]<<8|o[n]>>>24)|4278255360&(o[n]<<24|o[n]>>>8),t[e+n]^=o[n]},blockSize:4,ivSize:2}),e.RabbitLegacy=r._createHelper(i),t.RabbitLegacy},"object"==typeof r?e.exports=r=o(t("./core"),t("./enc-base64"),t("./md5"),t("./evpkdf"),t("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],o):o(n.CryptoJS)},{"./cipher-core":52,"./core":53,"./enc-base64":54,"./evpkdf":56,"./md5":61}],74:[function(t,e,r){var n,o;n=this,o=function(t){function p(){for(var t=this._X,e=this._C,r=0;r<8;r++)c[r]=e[r];e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0;for(r=0;r<8;r++){var n=t[r]+e[r],o=65535&n,i=n>>>16,a=((o*o>>>17)+o*i>>>15)+i*i,s=((4294901760&n)*n|0)+((65535&n)*n|0);u[r]=a^s}t[0]=u[0]+(u[7]<<16|u[7]>>>16)+(u[6]<<16|u[6]>>>16)|0,t[1]=u[1]+(u[0]<<8|u[0]>>>24)+u[7]|0,t[2]=u[2]+(u[1]<<16|u[1]>>>16)+(u[0]<<16|u[0]>>>16)|0,t[3]=u[3]+(u[2]<<8|u[2]>>>24)+u[1]|0,t[4]=u[4]+(u[3]<<16|u[3]>>>16)+(u[2]<<16|u[2]>>>16)|0,t[5]=u[5]+(u[4]<<8|u[4]>>>24)+u[3]|0,t[6]=u[6]+(u[5]<<16|u[5]>>>16)+(u[4]<<16|u[4]>>>16)|0,t[7]=u[7]+(u[6]<<8|u[6]>>>24)+u[5]|0}var e,r,n,o,c,u,i;return r=(e=t).lib.StreamCipher,n=e.algo,o=[],c=[],u=[],i=n.Rabbit=r.extend({_doReset:function(){for(var t=this._key.words,e=this.cfg.iv,r=0;r<4;r++)t[r]=16711935&(t[r]<<8|t[r]>>>24)|4278255360&(t[r]<<24|t[r]>>>8);var n=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],o=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];for(r=this._b=0;r<4;r++)p.call(this);for(r=0;r<8;r++)o[r]^=n[r+4&7];if(e){var i=e.words,a=i[0],s=i[1],c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),f=c>>>16|4294901760&u,l=u<<16|65535&c;o[0]^=c,o[1]^=f,o[2]^=u,o[3]^=l,o[4]^=c,o[5]^=f,o[6]^=u,o[7]^=l;for(r=0;r<4;r++)p.call(this)}},_doProcessBlock:function(t,e){var r=this._X;p.call(this),o[0]=r[0]^r[5]>>>16^r[3]<<16,o[1]=r[2]^r[7]>>>16^r[5]<<16,o[2]=r[4]^r[1]>>>16^r[7]<<16,o[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)o[n]=16711935&(o[n]<<8|o[n]>>>24)|4278255360&(o[n]<<24|o[n]>>>8),t[e+n]^=o[n]},blockSize:4,ivSize:2}),e.Rabbit=r._createHelper(i),t.Rabbit},"object"==typeof r?e.exports=r=o(t("./core"),t("./enc-base64"),t("./md5"),t("./evpkdf"),t("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],o):o(n.CryptoJS)},{"./cipher-core":52,"./core":53,"./enc-base64":54,"./evpkdf":56,"./md5":61}],75:[function(t,e,r){var n,o;n=this,o=function(a){return function(){var t=a,e=t.lib.StreamCipher,r=t.algo,n=r.RC4=e.extend({_doReset:function(){for(var t=this._key,e=t.words,r=t.sigBytes,n=this._S=[],o=0;o<256;o++)n[o]=o;o=0;for(var i=0;o<256;o++){var a=o%r,s=e[a>>>2]>>>24-a%4*8&255;i=(i+n[o]+s)%256;var c=n[o];n[o]=n[i],n[i]=c}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var t=this._S,e=this._i,r=this._j,n=0,o=0;o<4;o++){r=(r+t[e=(e+1)%256])%256;var i=t[e];t[e]=t[r],t[r]=i,n|=t[(t[e]+t[r])%256]<<24-8*o}return this._i=e,this._j=r,n}t.RC4=e._createHelper(n);var i=r.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var t=this.cfg.drop;0>>32-e}var e,r,n,o,i,I,P,O,M,N,T,a;return Math,r=(e=t).lib,n=r.WordArray,o=r.Hasher,i=e.algo,I=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),P=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),O=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),M=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),N=n.create([0,1518500249,1859775393,2400959708,2840853838]),T=n.create([1352829926,1548603684,1836072691,2053994217,0]),a=i.RIPEMD160=o.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var n=e+r,o=t[n];t[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var i,a,s,c,u,f,l,p,h,d,m,y=this._hash.words,g=N.words,v=T.words,b=I.words,_=P.words,w=O.words,x=M.words;f=i=y[0],l=a=y[1],p=s=y[2],h=c=y[3],d=u=y[4];for(r=0;r<80;r+=1)m=i+t[e+b[r]]|0,m+=r<16?k(a,s,c)+g[0]:r<32?B(a,s,c)+g[1]:r<48?S(a,s,c)+g[2]:r<64?C(a,s,c)+g[3]:A(a,s,c)+g[4],m=(m=F(m|=0,w[r]))+u|0,i=u,u=c,c=F(s,10),s=a,a=m,m=f+t[e+_[r]]|0,m+=r<16?A(l,p,h)+v[0]:r<32?C(l,p,h)+v[1]:r<48?S(l,p,h)+v[2]:r<64?B(l,p,h)+v[3]:k(l,p,h)+v[4],m=(m=F(m|=0,x[r]))+d|0,f=d,d=h,h=F(p,10),p=l,l=m;m=y[1]+s+h|0,y[1]=y[2]+c+d|0,y[2]=y[3]+u+f|0,y[3]=y[4]+i+l|0,y[4]=y[0]+a+p|0,y[0]=m},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(64+n>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(e.length+1),this._process();for(var o=this._hash,i=o.words,a=0;a<5;a++){var s=i[a];i[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return o},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}}),e.RIPEMD160=o._createHelper(a),e.HmacRIPEMD160=o._createHmacHelper(a),t.RIPEMD160},"object"==typeof r?e.exports=r=o(t("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(n.CryptoJS)},{"./core":53}],77:[function(t,e,r){var n,o;n=this,o=function(t){var e,r,n,o,i,l,a;return r=(e=t).lib,n=r.WordArray,o=r.Hasher,i=e.algo,l=[],a=i.SHA1=o.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],o=r[1],i=r[2],a=r[3],s=r[4],c=0;c<80;c++){if(c<16)l[c]=0|t[e+c];else{var u=l[c-3]^l[c-8]^l[c-14]^l[c-16];l[c]=u<<1|u>>>31}var f=(n<<5|n>>>27)+s+l[c];f+=c<20?1518500249+(o&i|~o&a):c<40?1859775393+(o^i^a):c<60?(o&i|o&a|i&a)-1894007588:(o^i^a)-899497514,s=a,a=i,i=o<<30|o>>>2,o=n,n=f}r[0]=r[0]+n|0,r[1]=r[1]+o|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(64+n>>>9<<4)]=Math.floor(r/4294967296),e[15+(64+n>>>9<<4)]=r,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA1=o._createHelper(a),e.HmacSHA1=o._createHmacHelper(a),t.SHA1},"object"==typeof r?e.exports=r=o(t("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(n.CryptoJS)},{"./core":53}],78:[function(t,e,r){var n,o;n=this,o=function(t){var e,r,n,o,i;return r=(e=t).lib.WordArray,n=e.algo,o=n.SHA256,i=n.SHA224=o.extend({_doReset:function(){this._hash=new r.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=o._doFinalize.call(this);return t.sigBytes-=4,t}}),e.SHA224=o._createHelper(i),e.HmacSHA224=o._createHmacHelper(i),t.SHA224},"object"==typeof r?e.exports=r=o(t("./core"),t("./sha256")):"function"==typeof define&&define.amd?define(["./core","./sha256"],o):o(n.CryptoJS)},{"./core":53,"./sha256":79}],79:[function(t,e,r){var n,o;n=this,o=function(c){return function(o){var t=c,e=t.lib,r=e.WordArray,n=e.Hasher,i=t.algo,a=[],b=[];!function(){function t(t){for(var e=o.sqrt(t),r=2;r<=e;r++)if(!(t%r))return!1;return!0}function e(t){return 4294967296*(t-(0|t))|0}for(var r=2,n=0;n<64;)t(r)&&(n<8&&(a[n]=e(o.pow(r,.5))),b[n]=e(o.pow(r,1/3)),n++),r++}();var _=[],s=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],o=r[1],i=r[2],a=r[3],s=r[4],c=r[5],u=r[6],f=r[7],l=0;l<64;l++){if(l<16)_[l]=0|t[e+l];else{var p=_[l-15],h=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,d=_[l-2],m=(d<<15|d>>>17)^(d<<13|d>>>19)^d>>>10;_[l]=h+_[l-7]+m+_[l-16]}var y=n&o^n&i^o&i,g=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),v=f+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&c^~s&u)+b[l]+_[l];f=u,u=c,c=s,s=a+v|0,a=i,i=o,o=n,n=v+(g+y)|0}r[0]=r[0]+n|0,r[1]=r[1]+o|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0,r[5]=r[5]+c|0,r[6]=r[6]+u|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(64+n>>>9<<4)]=o.floor(r/4294967296),e[15+(64+n>>>9<<4)]=r,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});t.SHA256=n._createHelper(s),t.HmacSHA256=n._createHmacHelper(s)}(Math),c.SHA256},"object"==typeof r?e.exports=r=o(t("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(n.CryptoJS)},{"./core":53}],80:[function(t,e,r){var n,o;n=this,o=function(i){return function(p){var t=i,e=t.lib,h=e.WordArray,n=e.Hasher,f=t.x64.Word,r=t.algo,I=[],P=[],O=[];!function(){for(var t=1,e=0,r=0;r<24;r++){I[t+5*e]=(r+1)*(r+2)/2%64;var n=(2*t+3*e)%5;t=e%5,e=n}for(t=0;t<5;t++)for(e=0;e<5;e++)P[t+5*e]=e+(2*t+3*e)%5*5;for(var o=1,i=0;i<24;i++){for(var a=0,s=0,c=0;c<7;c++){if(1&o){var u=(1<>>24)|4278255360&(i<<24|i>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(B=r[o]).high^=a,B.low^=i}for(var s=0;s<24;s++){for(var c=0;c<5;c++){for(var u=0,f=0,l=0;l<5;l++){u^=(B=r[c+5*l]).high,f^=B.low}var p=M[c];p.high=u,p.low=f}for(c=0;c<5;c++){var h=M[(c+4)%5],d=M[(c+1)%5],m=d.high,y=d.low;for(u=h.high^(m<<1|y>>>31),f=h.low^(y<<1|m>>>31),l=0;l<5;l++){(B=r[c+5*l]).high^=u,B.low^=f}}for(var g=1;g<25;g++){var v=(B=r[g]).high,b=B.low,_=I[g];if(_<32)u=v<<_|b>>>32-_,f=b<<_|v>>>32-_;else u=b<<_-32|v>>>64-_,f=v<<_-32|b>>>64-_;var w=M[P[g]];w.high=u,w.low=f}var x=M[0],k=r[0];x.high=k.high,x.low=k.low;for(c=0;c<5;c++)for(l=0;l<5;l++){var B=r[g=c+5*l],S=M[g],C=M[(c+1)%5+5*l],A=M[(c+2)%5+5*l];B.high=S.high^~C.high&A.high,B.low=S.low^~C.low&A.low}B=r[0];var F=O[s];B.high^=F.high,B.low^=F.low}},_doFinalize:function(){var t=this._data,e=t.words,r=(this._nDataBytes,8*t.sigBytes),n=32*this.blockSize;e[r>>>5]|=1<<24-r%32,e[(p.ceil((1+r)/n)*n>>>5)-1]|=128,t.sigBytes=4*e.length,this._process();for(var o=this._state,i=this.cfg.outputLength/8,a=i/8,s=[],c=0;c>>24)|4278255360&(f<<24|f>>>8),l=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),s.push(l),s.push(f)}return new h.init(s,i)},clone:function(){for(var t=n.clone.call(this),e=t._state=this._state.slice(0),r=0;r<25;r++)e[r]=e[r].clone();return t}});t.SHA3=n._createHelper(o),t.HmacSHA3=n._createHmacHelper(o)}(Math),i.SHA3},"object"==typeof r?e.exports=r=o(t("./core"),t("./x64-core")):"function"==typeof define&&define.amd?define(["./core","./x64-core"],o):o(n.CryptoJS)},{"./core":53,"./x64-core":84}],81:[function(t,e,r){var n,o;n=this,o=function(t){var e,r,n,o,i,a,s;return r=(e=t).x64,n=r.Word,o=r.WordArray,i=e.algo,a=i.SHA512,s=i.SHA384=a.extend({_doReset:function(){this._hash=new o.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var t=a._doFinalize.call(this);return t.sigBytes-=16,t}}),e.SHA384=a._createHelper(s),e.HmacSHA384=a._createHmacHelper(s),t.SHA384},"object"==typeof r?e.exports=r=o(t("./core"),t("./x64-core"),t("./sha512")):"function"==typeof define&&define.amd?define(["./core","./x64-core","./sha512"],o):o(n.CryptoJS)},{"./core":53,"./sha512":82,"./x64-core":84}],82:[function(t,e,r){var n,o;n=this,o=function(c){return function(){var t=c,e=t.lib.Hasher,r=t.x64,n=r.Word,o=r.WordArray,i=t.algo;function a(){return n.create.apply(n,arguments)}var kt=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],Bt=[];!function(){for(var t=0;t<80;t++)Bt[t]=a()}();var s=i.SHA512=e.extend({_doReset:function(){this._hash=new o.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],o=r[1],i=r[2],a=r[3],s=r[4],c=r[5],u=r[6],f=r[7],l=n.high,p=n.low,h=o.high,d=o.low,m=i.high,y=i.low,g=a.high,v=a.low,b=s.high,_=s.low,w=c.high,x=c.low,k=u.high,B=u.low,S=f.high,C=f.low,A=l,F=p,I=h,P=d,O=m,M=y,N=g,T=v,D=b,E=_,R=w,H=x,j=k,q=B,z=S,L=C,U=0;U<80;U++){var W=Bt[U];if(U<16)var J=W.high=0|t[e+2*U],K=W.low=0|t[e+2*U+1];else{var G=Bt[U-15],X=G.high,$=G.low,V=(X>>>1|$<<31)^(X>>>8|$<<24)^X>>>7,Z=($>>>1|X<<31)^($>>>8|X<<24)^($>>>7|X<<25),Y=Bt[U-2],Q=Y.high,tt=Y.low,et=(Q>>>19|tt<<13)^(Q<<3|tt>>>29)^Q>>>6,rt=(tt>>>19|Q<<13)^(tt<<3|Q>>>29)^(tt>>>6|Q<<26),nt=Bt[U-7],ot=nt.high,it=nt.low,at=Bt[U-16],st=at.high,ct=at.low;J=(J=(J=V+ot+((K=Z+it)>>>0>>0?1:0))+et+((K=K+rt)>>>0>>0?1:0))+st+((K=K+ct)>>>0>>0?1:0);W.high=J,W.low=K}var ut,ft=D&R^~D&j,lt=E&H^~E&q,pt=A&I^A&O^I&O,ht=F&P^F&M^P&M,dt=(A>>>28|F<<4)^(A<<30|F>>>2)^(A<<25|F>>>7),mt=(F>>>28|A<<4)^(F<<30|A>>>2)^(F<<25|A>>>7),yt=(D>>>14|E<<18)^(D>>>18|E<<14)^(D<<23|E>>>9),gt=(E>>>14|D<<18)^(E>>>18|D<<14)^(E<<23|D>>>9),vt=kt[U],bt=vt.high,_t=vt.low,wt=z+yt+((ut=L+gt)>>>0>>0?1:0),xt=mt+ht;z=j,L=q,j=R,q=H,R=D,H=E,D=N+(wt=(wt=(wt=wt+ft+((ut=ut+lt)>>>0>>0?1:0))+bt+((ut=ut+_t)>>>0<_t>>>0?1:0))+J+((ut=ut+K)>>>0>>0?1:0))+((E=T+ut|0)>>>0>>0?1:0)|0,N=O,T=M,O=I,M=P,I=A,P=F,A=wt+(dt+pt+(xt>>>0>>0?1:0))+((F=ut+xt|0)>>>0>>0?1:0)|0}p=n.low=p+F,n.high=l+A+(p>>>0>>0?1:0),d=o.low=d+P,o.high=h+I+(d>>>0

>>0?1:0),y=i.low=y+M,i.high=m+O+(y>>>0>>0?1:0),v=a.low=v+T,a.high=g+N+(v>>>0>>0?1:0),_=s.low=_+E,s.high=b+D+(_>>>0>>0?1:0),x=c.low=x+H,c.high=w+R+(x>>>0>>0?1:0),B=u.low=B+q,u.high=k+j+(B>>>0>>0?1:0),C=f.low=C+L,f.high=S+z+(C>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(128+n>>>10<<5)]=Math.floor(r/4294967296),e[31+(128+n>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=e.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});t.SHA512=e._createHelper(s),t.HmacSHA512=e._createHmacHelper(s)}(),c.SHA512},"object"==typeof r?e.exports=r=o(t("./core"),t("./x64-core")):"function"==typeof define&&define.amd?define(["./core","./x64-core"],o):o(n.CryptoJS)},{"./core":53,"./x64-core":84}],83:[function(t,e,r){var n,o;n=this,o=function(s){return function(){var t=s,e=t.lib,r=e.WordArray,n=e.BlockCipher,o=t.algo,u=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],f=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],l=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],p=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],h=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],i=o.DES=n.extend({_doReset:function(){for(var t=this._key.words,e=[],r=0;r<56;r++){var n=u[r]-1;e[r]=t[n>>>5]>>>31-n%32&1}for(var o=this._subKeys=[],i=0;i<16;i++){var a=o[i]=[],s=l[i];for(r=0;r<24;r++)a[r/6|0]|=e[(f[r]-1+s)%28]<<31-r%6,a[4+(r/6|0)]|=e[28+(f[r+24]-1+s)%28]<<31-r%6;a[0]=a[0]<<1|a[0]>>>31;for(r=1;r<7;r++)a[r]=a[r]>>>4*(r-1)+3;a[7]=a[7]<<5|a[7]>>>27}var c=this._invSubKeys=[];for(r=0;r<16;r++)c[r]=o[15-r]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,r){this._lBlock=t[e],this._rBlock=t[e+1],d.call(this,4,252645135),d.call(this,16,65535),m.call(this,2,858993459),m.call(this,8,16711935),d.call(this,1,1431655765);for(var n=0;n<16;n++){for(var o=r[n],i=this._lBlock,a=this._rBlock,s=0,c=0;c<8;c++)s|=p[c][((a^o[c])&h[c])>>>0];this._lBlock=a,this._rBlock=i^s}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,d.call(this,1,1431655765),m.call(this,8,16711935),m.call(this,2,858993459),d.call(this,16,65535),d.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function d(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r,this._lBlock^=r<>>t^this._lBlock)&e;this._lBlock^=r,this._rBlock^=r<>e&63|128)}function l(t){if(0==(4294967168&t))return s(t);var e="";return 0==(4294965248&t)?e=s(t>>6&31|192):0==(4294901760&t)?(u(t),e=s(t>>12&15|224),e+=f(t,6)):0==(4292870144&t)&&(e=s(t>>18&7|240),e+=f(t,12),e+=f(t,6)),e+=s(63&t|128)}function p(){if(i<=a)throw Error("Invalid byte index");var t=255&o[a];if(a++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}function h(){var t,e;if(i>>10&1023|55296),e=56320|1023&e),o+=s(e);return o}(r)}};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return d});else if(e&&!e.nodeType)if(r)r.exports=d;else{var m={}.hasOwnProperty;for(var y in d)m.call(d,y)&&(e[y]=d[y])}else t.utf8=d}(this)},{}],86:[function(t,e,r){e.exports=XMLHttpRequest},{}],"bignumber.js":[function(t,r,e){!function(t){"use strict";var e,H=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,j=Math.ceil,q=Math.floor,z=" not a boolean or binary digit",L="rounding mode",U="number type has more than 15 significant digits",W="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_",J=1e14,K=14,G=9007199254740991,X=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],$=1e7,V=1e9;function Z(t){var e=0|t;return 0i[a]^r?1:-1;return c==u?0:u=e&&t<=r}function tt(t){return"[object Array]"==Object.prototype.toString.call(t)}function et(t,e,r){for(var n,o,i=[0],a=0,s=t.length;ar-1&&(null==i[n+1]&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function rt(t,e){return(1(r=t.length)){for(n="0",e-=r;--e;n+="0");t+=n}else ee;)u[o]=0,o||(++i,u=[1].concat(u));for(a=u.length;!u[--a];);for(l=0,t="";l<=a;t+=W.charAt(u[l++]));t=nt(t,i)}return t}function P(t,e,r){var n,o,i,a,s=0,c=t.length,u=e%$,f=e/$|0;for(t=t.slice();c--;)s=((o=u*(i=t[c]%$)+(n=f*i+(a=t[c]/$|0)*u)%$*$+s)/r|0)+(n/$|0)+f*a,t[c]=o%r;return s&&(t=[s].concat(t)),t}function O(t,e,r,n){var o,i;if(r!=n)i=ne[o]?1:-1;break}return i}function M(t,e,r,n){for(var o=0;r--;)t[r]-=o,o=t[r]w?t.c=t.e=null:r=l.length){if(!n)break t;for(;l.length<=u;l.push(0));c=f=0,a=(i%=K)-K+(o=1)}else{for(c=s=l[u],o=1;10<=s;s/=10,o++);f=(a=(i%=K)-K+o)<0?0:c/p[o-a-1]%10|0}if(n=n||e<0||null!=l[u+1]||(a<0?c:c%p[o-a-1]),n=r<4?(f||n)&&(0==r||r==(t.s<0?3:2)):5w?t.c=t.e=null:t.e>>11))?(r=crypto.getRandomValues(new Uint32Array(2)),e[a]=r[0],e[a+1]=r[1]):(s.push(i%1e14),a+=2);a=o/2}else if(crypto.randomBytes){for(e=crypto.randomBytes(o*=7);a(k[s]||0)&&a--,x<0)h.push(1),c=!0;else{for(v=k.length,_=B.length,x+=2,1<(u=q(o/(B[s=0]+1)))&&(B=P(B,u,o),k=P(k,u,o),_=B.length,v=k.length),g=_,m=(d=k.slice(0,_)).length;m<_;d[m++]=0);w=B.slice(),w=[0].concat(w),b=B[0],B[1]>=o/2&&b++;do{if(u=0,(i=O(B,d,_,m))<0){if(y=d[0],_!=m&&(y=y*o+(d[1]||0)),1<(u=q(y/b)))for(o<=u&&(u=o-1),l=(f=P(B,u,o)).length,m=d.length;1==O(f,d,l,m);)u--,M(f,_this.c.length-2},n.isNaN=function(){return!this.s},n.isNegative=n.isNeg=function(){return this.s<0},n.isZero=function(){return!!this.c&&0==this.c[0]},n.lessThan=n.lt=function(t,e){return _=8,a(this,new F(t,e))<0},n.lessThanOrEqualTo=n.lte=function(t,e){return _=9,-1===(e=a(this,new F(t,e)))||0===e},n.minus=n.sub=function(t,e){var r,n,o,i,a=this,s=a.s;if(_=10,e=(t=new F(t,e)).s,!s||!e)return new F(NaN);if(s!=e)return t.s=-e,a.plus(t);var c=a.e/K,u=t.e/K,f=a.c,l=t.c;if(!c||!u){if(!f||!l)return f?(t.s=-e,t):new F(l?a:NaN);if(!f[0]||!l[0])return l[0]?(t.s=-e,t):new F(f[0]?a:3==v?-0:0)}if(c=Z(c),u=Z(u),f=f.slice(),s=c-u){for((o=(i=s<0)?(s=-s,f):(u=c,l)).reverse(),e=s;e--;o.push(0));o.reverse()}else for(n=(i=(s=f.length)<(e=l.length))?s:e,s=e=0;ee&&(e=this.e+1),e},n.round=function(t,e){var r=new F(this);return null!=t&&!k(t,0,V,15)||R(r,~~t+this.e+1,null!=e&&k(e,0,8,15,L)?0|e:v),r},n.shift=function(t){var e=this;return k(t,-G,G,16,"argument")?e.times("1e"+ot(t)):new F(e.c&&e.c[0]&&(t<-G||Gr&&(n.c.length=r):e&&(n=n.mod(e))}if(!(i=q(i/2)))break;a=a.times(a),r?a.c&&a.c.length>r&&(a.c.length=r):e&&(a=a.mod(e))}return e?n:(t<0&&(n=g.div(n)),o?n.mod(o):r?R(n,C,v):n)},n.toPrecision=function(t,e){return N(this,null!=t&&k(t,1,V,24,"precision")?0|t:null,e,24)},n.toString=function(t){var e,r=this.s,n=this.e;return null===n?r?(e="Infinity",r<0&&(e="-"+e)):e="NaN":(e=Y(this.c),e=null!=t&&k(t,2,64,25,"base")?I(nt(e,n),0|t,10,r):n<=h||m<=n?rt(e,n):nt(e,n),r<0&&this.c[0]&&(e="-"+e)),e},n.truncated=n.trunc=function(){return R(new F(this),this.e+1,1)},n.valueOf=n.toJSON=function(){var t,e=this.e;return null===e?this.toString():(t=Y(this.c),t=e<=h||m<=e?rt(t,e):nt(t,e),this.s<0?"-"+t:t)},n.isBigNumber=!0,null!=e&&F.config(e),F}()).default=e.BigNumber=e,"function"==typeof define&&define.amd?define(function(){return e}):void 0!==r&&r.exports?r.exports=e:(t||(t="undefined"!=typeof self?self:Function("return this")()),t.BigNumber=e)}(this)},{}],web3:[function(t,e,r){var n=t("./lib/web3");"undefined"!=typeof window&&void 0===window.Web3&&(window.Web3=n),e.exports=n},{"./lib/web3":22}]},{},["web3"]); \ No newline at end of file diff --git a/src/status_im/js_dependencies.cljs b/src/status_im/js_dependencies.cljs index fa8607bd09..d333638419 100644 --- a/src/status_im/js_dependencies.cljs +++ b/src/status_im/js_dependencies.cljs @@ -4,7 +4,6 @@ (def emojis (js/require "emojilib")) (def phishing-detect (js/require "eth-phishing-detect")) (def identicon-js (js/require "identicon.js")) -(def Web3 (js/require "web3")) -(def web3-prototype (.-prototype Web3)) +(def BigNumber (js/require "bignumber.js")) (def web3-utils (js/require "web3-utils")) (def hi-base32 (js/require "hi-base32")) diff --git a/src/status_im/utils/js_resources.cljs b/src/status_im/utils/js_resources.cljs index def986affb..01b7960651 100644 --- a/src/status_im/utils/js_resources.cljs +++ b/src/status_im/utils/js_resources.cljs @@ -9,7 +9,7 @@ (and (string? url) (s/starts-with? url local-protocol))) (def webview-js (slurp "resources/js/webview.js")) -(def web3-file (slurp "node_modules/web3/dist/web3.min.js")) +(def web3-file (slurp "resources/js/web3.min.js")) (def web3 (memoize (fn [] diff --git a/src/status_im/utils/money.cljs b/src/status_im/utils/money.cljs index dab2dab394..88e4cb91fb 100644 --- a/src/status_im/utils/money.cljs +++ b/src/status_im/utils/money.cljs @@ -30,26 +30,16 @@ (defn bignumber [n] (when n (try - (.toBigNumber dependencies/web3-prototype (normalize (str n))) + (new dependencies/BigNumber (normalize (str n))) (catch :default err nil)))) (defn valid? [bn] (when bn (.greaterThanOrEqualTo bn 0))) -(defn str->wei [s] - (when-let [ns (normalize s)] - (try - (.toWei dependencies/web3-prototype ns "ether") - (catch :default err nil)))) - -(defn to-decimal [s] - (when s - (try - (.toDecimal dependencies/web3-prototype (normalize s)) - (catch :default err nil)))) - -(defn from-decimal [n] (when n (str "1" (string/join (repeat n "0"))))) +(defn from-decimal [n] + (when n + (str "1" (string/join (repeat n "0"))))) (def eth-units {:wei (bignumber "1") diff --git a/test/cljs/status_im/test/protocol/core.cljs b/test/cljs/status_im/test/protocol/core.cljs deleted file mode 100644 index 3194bfcb6b..0000000000 --- a/test/cljs/status_im/test/protocol/core.cljs +++ /dev/null @@ -1,53 +0,0 @@ -(ns status-im.test.protocol.core - (:require [cljs.test :refer-macros [deftest is testing async]] - [cljs.nodejs :as nodejs] - re-frame.db - status-im.ui.screens.events - [re-frame.core :as rf] - [cljs.core.async :as async] - [status-im.transport.utils :as transport.utils] - [day8.re-frame.test :refer-macros [run-test-async run-test-sync] :as rf-test] - [status-im.test.protocol.node :as node] - [status-im.transport.message.contact :as transport.contact] - [status-im.test.protocol.utils :as utils])) - -;; NOTE(oskarth): All these tests are evaluated in NodeJS - -(nodejs/enable-util-print!) - -(def contact-public-key "0x048f7d5d4bda298447bbb5b021a34832509bd1a8dbe4e06f9b7223d00a59b6dc14f6e142b21d3220ceb3155a6d8f40ec115cd96394d3cc7c55055b433a1758dc74") -(def rpc-url (aget nodejs/process.env "WNODE_ADDRESS")) - -(def Web3 (js/require "web3")) -(defn make-web3 [] - (Web3. (Web3.providers.HttpProvider. rpc-url))) - -(defn create-keys [shh] - (let [keypair-promise (.newKeyPair shh)] - (.getPublicKey shh keypair-promise))) - -(deftest test-send-message! - (testing "send contact request & message" - (run-test-async - (let [web3 (make-web3) - shh (.-shh web3) - from (create-keys shh)] - (reset! re-frame.db/app-db {:web3 web3 - :multiaccount {:public-key from}}) - - (rf/dispatch [:contact.ui/send-message-pressed {:public-key contact-public-key}]) - (rf-test/wait-for [::transport.contact/send-new-sym-key] - (rf/dispatch [:set-chat-input-text "test message"]) - (rf/dispatch [:send-current-message]) - (rf-test/wait-for [:update-message-status :transport/send-status-message-error] - (is true))))))) - -(deftest test-whisper-version! - (testing "Whisper version supported" - (async done - (let [web3 (make-web3) - shh (.-shh web3)] - (.version shh - (fn [& args] - (is (= "6.0" (second args))) - (done))))))) diff --git a/test/cljs/status_im/test/protocol/node.cljs b/test/cljs/status_im/test/protocol/node.cljs deleted file mode 100644 index 1a9b20ab08..0000000000 --- a/test/cljs/status_im/test/protocol/node.cljs +++ /dev/null @@ -1,9 +0,0 @@ -(ns status-im.test.protocol.node - (:require [clojure.string :as s] - [status-im.test.protocol.utils :as utils])) - -(def identity-1 "0x04eedbaafd6adf4a9233a13e7b1c3c14461fffeba2e9054b8d456ce5f6ebeafadcbf3dce3716253fbc391277fa5a086b60b283daf61fb5b1f26895f456c2f31ae3") -(def identity-2 "0x0490161b00f2c47542d28c2e8908e77159b1720dccceb6393d7c001850122efc3b1709bcea490fd8f5634ba1a145aa0722d86b9330b0e39a8d493cb981fd459da2") -(def topic-1 "0xdeadbeef") - -(def topic-2 "0xbeefdead") diff --git a/test/cljs/status_im/test/protocol/runner.cljs b/test/cljs/status_im/test/protocol/runner.cljs deleted file mode 100644 index efaee67000..0000000000 --- a/test/cljs/status_im/test/protocol/runner.cljs +++ /dev/null @@ -1,13 +0,0 @@ -(ns status-im.test.protocol.runner - (:require [doo.runner :refer-macros [doo-tests]] - [status-im.test.protocol.core])) - -(enable-console-print!) - -;; Or doo will exit with an error, see: -;; https://github.com/bensu/doo/issues/83#issuecomment-165498172 -(set! (.-error js/console) (fn [x] (.log js/console x))) - -(set! goog.DEBUG false) - -(doo-tests 'status-im.test.protocol.core) diff --git a/test/cljs/status_im/test/protocol/utils.cljs b/test/cljs/status_im/test/protocol/utils.cljs deleted file mode 100644 index c946150a0c..0000000000 --- a/test/cljs/status_im/test/protocol/utils.cljs +++ /dev/null @@ -1,25 +0,0 @@ -(ns status-im.test.protocol.utils) - -(def fs (js/require "fs")) -(def child-process (js/require "child_process")) -(def process (js/require "process")) - -(def exist? (.-existsSync fs)) - -(defn exec-sync [command options] - (.execSync child-process command (clj->js options))) - -(defn exec [command options] - (.exec child-process command (clj->js options))) - -(defn spawn-sync [command args options] - (.spawnSync child-process command (clj->js args) (clj->js options))) - -(defn spawn [command args options] - (.spawn child-process command (clj->js args) (clj->js options))) - -(defn exit! [] - (.exit process)) - -(defn mkdir-sync [dir] - (.mkdirSync fs dir))