drop.chapril.org-firefoxsend/assets/cryptofill.js
2018-03-01 13:10:57 -08:00

17 lines
188 KiB
JavaScript

var liner=function(e){function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}var t={};return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="",r(r.s=18)}([function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),function(e){function n(e){for(var r,t=e,n=/[^%](%\d+)/g,a=[];r=n.exec(t);)a.push({arg:r[1],index:r.index});for(var o=a.length-1;o>=0;o--){var s=a[o],i=s.arg.substring(1),c=s.index+1;t=t.substring(0,c)+arguments[+i]+t.substring(c+1+i.length)}return t=t.replace("%%","%")}function a(e){var r;r="string"==typeof e?{name:e}:e,h.checkAlgorithm(r);var t=e;return t.hash&&(t.hash=a(t.hash)),r}function o(e,r){if(!e)throw new i("Parameter '"+r+"' is required and cant be empty");if("undefined"!=typeof Buffer&&Buffer.isBuffer(e))return new Uint8Array(e);if(ArrayBuffer.isView(e)){var t=e.map(function(e){return e});return new Uint8Array(t.buffer)}if(e instanceof ArrayBuffer)return new Uint8Array(e);throw new i("Incoming parameter '"+r+"' has wrong data type. Must be ArrayBufferView or ArrayBuffer")}t.d(r,"WebCryptoError",function(){return i}),t.d(r,"AlgorithmError",function(){return c}),t.d(r,"CryptoKeyError",function(){return u}),t.d(r,"PrepareAlgorithm",function(){return a}),t.d(r,"PrepareData",function(){return o}),t.d(r,"BaseCrypto",function(){return h}),t.d(r,"AlgorithmNames",function(){return p}),t.d(r,"Base64Url",function(){return y}),t.d(r,"SubtleCrypto",function(){return W}),t.d(r,"Aes",function(){return m}),t.d(r,"AesAlgorithmError",function(){return A}),t.d(r,"AesWrapKey",function(){return w}),t.d(r,"AesEncrypt",function(){return g}),t.d(r,"AesECB",function(){return v}),t.d(r,"AesCBC",function(){return C}),t.d(r,"AesCTR",function(){return d}),t.d(r,"AesGCM",function(){return k}),t.d(r,"AesKW",function(){return b}),t.d(r,"RsaKeyGenParamsError",function(){return M}),t.d(r,"RsaHashedImportParamsError",function(){return G}),t.d(r,"Rsa",function(){return B}),t.d(r,"RsaSSA",function(){return T}),t.d(r,"RsaPSSParamsError",function(){return D}),t.d(r,"RsaPSS",function(){return H}),t.d(r,"RsaOAEPParamsError",function(){return x}),t.d(r,"RsaOAEP",function(){return j}),t.d(r,"EcKeyGenParamsError",function(){return U}),t.d(r,"Ec",function(){return _}),t.d(r,"EcAlgorithmError",function(){return S}),t.d(r,"EcDSA",function(){return L}),t.d(r,"EcDH",function(){return R}),t.d(r,"ShaAlgorithms",function(){return E}),t.d(r,"Sha",function(){return P});var s=t(8),i=function(e){function r(r){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];var o=e.call(this)||this;o.code=0,o.message=n.apply(void 0,[r].concat(t));var s=new Error(o.message);return s.name=o.constructor.name,o.stack=s.stack,o}return Object(s.a)(r,e),r.NOT_SUPPORTED="Method is not supported",r}(Error),c=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=1,r}return Object(s.a)(r,e),r.PARAM_REQUIRED="Algorithm hasn't got required paramter '%1'",r.PARAM_WRONG_TYPE="Algorithm has got wrong type for paramter '%1'. Must be %2",r.PARAM_WRONG_VALUE="Algorithm has got wrong value for paramter '%1'. Must be %2",r.WRONG_ALG_NAME="Algorithm has got wrong name '%1'. Must be '%2'",r.UNSUPPORTED_ALGORITHM="Algorithm '%1' is not supported",r.WRONG_USAGE="Algorithm doesn't support key usage '%1'",r}(i),u=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=3,r}return Object(s.a)(r,e),r.EMPTY_KEY="CryptoKey is empty",r.WRONG_KEY_ALG="CryptoKey has wrong algorithm '%1'. Must be '%2'",r.WRONG_KEY_TYPE="CryptoKey has wrong type '%1'. Must be '%2'",r.WRONG_KEY_USAGE="CryptoKey has wrong key usage. Must be '%1'",r.NOT_EXTRACTABLE="CryptoKey is not extractable",r.WRONG_FORMAT="CryptoKey has '%1' type. It can be used with '%2' format",r.UNKNOWN_FORMAT="Unknown format in use '%1'. Must be one of 'raw', 'pkcs8', 'spki' or 'jwk'",r.ALLOWED_FORMAT="Wrong format value '%1'. Must be %2",r}(i),h=function(){function e(){}return e.checkAlgorithm=function(e){if("object"!=typeof e)throw new TypeError("Wrong algorithm data type. Must be Object");if(!e.name)throw new c(c.PARAM_REQUIRED,"name")},e.checkAlgorithmParams=function(e){this.checkAlgorithm(e)},e.checkKey=function(e,r,t,n){if(void 0===t&&(t=null),void 0===n&&(n=null),!e)throw new u(u.EMPTY_KEY);var a=e.algorithm;if(this.checkAlgorithm(a),r&&a.name.toUpperCase()!==r.toUpperCase())throw new u(u.WRONG_KEY_ALG,a.name,r);if(t&&(!e.type||e.type.toUpperCase()!==t.toUpperCase()))throw new u(u.WRONG_KEY_TYPE,e.type,t);if(n&&!e.usages.some(function(e){return n.toUpperCase()===e.toUpperCase()}))throw new u(u.WRONG_KEY_USAGE,n)},e.checkWrappedKey=function(e){if(!e.extractable)throw new u(u.NOT_EXTRACTABLE)},e.checkKeyUsages=function(e){if(!e||!e.length)throw new i("Parameter 'keyUsages' cannot be empty.")},e.checkFormat=function(e,r){switch(e.toLowerCase()){case"raw":if(r&&"secret"!==r.toLowerCase()&&r&&"public"!==r.toLowerCase())throw new u(u.WRONG_FORMAT,r,"raw");break;case"pkcs8":if(r&&"private"!==r.toLowerCase())throw new u(u.WRONG_FORMAT,r,"pkcs8");break;case"spki":if(r&&"public"!==r.toLowerCase())throw new u(u.WRONG_FORMAT,r,"spki");break;case"jwk":break;default:throw new u(u.UNKNOWN_FORMAT,e)}},e.generateKey=function(e,r,t){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.digest=function(e,r){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.sign=function(e,r,t){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.verify=function(e,r,t,n){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.encrypt=function(e,r,t){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.decrypt=function(e,r,t){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.deriveBits=function(e,r,t){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.deriveKey=function(e,r,t,n,a){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.exportKey=function(e,r){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.importKey=function(e,r,t,n,a){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.wrapKey=function(e,r,t,n){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e.unwrapKey=function(e,r,t,n,a,o,s){return new Promise(function(e,r){throw new i(i.NOT_SUPPORTED)})},e}(),p={RsaSSA:"RSASSA-PKCS1-v1_5",RsaPSS:"RSA-PSS",RsaOAEP:"RSA-OAEP",AesECB:"AES-ECB",AesCTR:"AES-CTR",AesCMAC:"AES-CMAC",AesGCM:"AES-GCM",AesCBC:"AES-CBC",AesKW:"AES-KW",Sha1:"SHA-1",Sha256:"SHA-256",Sha384:"SHA-384",Sha512:"SHA-512",EcDSA:"ECDSA",EcDH:"ECDH",Hmac:"HMAC",Pbkdf2:"PBKDF2",Hkdf:"HKDF"};if("undefined"==typeof self){var f=e;f.btoa=function(e){return new Buffer(e,"binary").toString("base64")},f.atob=function(e){return new Buffer(e,"base64").toString("binary")}}var y=function(){function e(){}return e.encode=function(e){var r=this.buffer2string(e);return btoa(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},e.decode=function(e){for(;e.length%4;)e+="=";var r=e.replace(/\-/g,"+").replace(/_/g,"/");return this.string2buffer(atob(r))},e.buffer2string=function(e){for(var r="",t=e.length,n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r},e.string2buffer=function(e){for(var r=new Uint8Array(e.length),t=e.length,n=0;n<t;n++)r[n]=e.charCodeAt(n);return r},e}(),l=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=7,r}return Object(s.a)(r,e),r}(c),m=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkKeyUsages=function(r){var t=this;e.checkKeyUsages.call(this,r);var n=r.filter(function(e){return-1===t.KEY_USAGES.indexOf(e)});if(n.length)throw new c(c.WRONG_USAGE,n.join(", "))},r.checkAlgorithm=function(e){if(e.name.toUpperCase()!==this.ALG_NAME.toUpperCase())throw new c(c.WRONG_ALG_NAME,e.name,this.ALG_NAME)},r.checkKeyGenParams=function(e){switch(e.length){case 128:case 192:case 256:break;default:throw new l(l.PARAM_WRONG_VALUE,"length","128, 192 or 256")}},r.generateKey=function(e,r,t){var n=this;return new Promise(function(r,a){n.checkAlgorithm(e),n.checkKeyGenParams(e),n.checkKeyUsages(t),r(void 0)})},r.exportKey=function(e,r){var t=this;return new Promise(function(n,a){t.checkKey(r,t.ALG_NAME),t.checkFormat(e,r.type),n(void 0)})},r.importKey=function(e,r,t,n,a){var o=this;return new Promise(function(r,n){if(o.checkAlgorithm(t),o.checkFormat(e),"raw"!==e.toLowerCase()&&"jwk"!==e.toLowerCase())throw new u(u.ALLOWED_FORMAT,e,"'jwk' or 'raw'");o.checkKeyUsages(a),r(void 0)})},r.ALG_NAME="",r.KEY_USAGES=[],r}(h),A=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=8,r}return Object(s.a)(r,e),r}(c),w=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.wrapKey=function(e,r,t,n){var a=this;return new Promise(function(o,s){a.checkAlgorithmParams(n),a.checkKey(t,a.ALG_NAME,"secret","wrapKey"),a.checkWrappedKey(r),a.checkFormat(e,r.type),o(void 0)})},r.unwrapKey=function(e,r,t,n,a,o,s){var i=this;return new Promise(function(r,a){i.checkAlgorithmParams(n),i.checkKey(t,i.ALG_NAME,"secret","unwrapKey"),i.checkFormat(e),r(void 0)})},r}(m),g=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.encrypt=function(e,r,t){var n=this;return new Promise(function(t,a){n.checkAlgorithmParams(e),n.checkKey(r,n.ALG_NAME,"secret","encrypt"),t(void 0)})},r.decrypt=function(e,r,t){var n=this;return new Promise(function(t,a){n.checkAlgorithmParams(e),n.checkKey(r,n.ALG_NAME,"secret","decrypt"),t(void 0)})},r.KEY_USAGES=["encrypt","decrypt","wrapKey","unwrapKey"],r}(w),v=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.ALG_NAME=p.AesECB,r}(g),C=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithmParams=function(e){if(this.checkAlgorithm(e),!e.iv)throw new A(A.PARAM_REQUIRED,"iv");if(!(ArrayBuffer.isView(e.iv)||e.iv instanceof ArrayBuffer))throw new A(A.PARAM_WRONG_TYPE,"iv","ArrayBufferView or ArrayBuffer");if(16!==e.iv.byteLength)throw new A(A.PARAM_WRONG_VALUE,"iv","ArrayBufferView or ArrayBuffer with size 16")},r.ALG_NAME=p.AesCBC,r}(g),d=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithmParams=function(e){if(this.checkAlgorithm(e),!e.counter||!(ArrayBuffer.isView(e.counter)||e.counter instanceof ArrayBuffer))throw new A(A.PARAM_WRONG_TYPE,"counter","ArrayBufferView or ArrayBuffer");if(16!==e.counter.byteLength)throw new A(A.PARAM_WRONG_VALUE,"counter","ArrayBufferView or ArrayBuffer with size 16");if(!(e.length>0&&e.length<=128))throw new A(A.PARAM_WRONG_VALUE,"length","number [1-128]")},r.ALG_NAME=p.AesCTR,r}(g),k=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithmParams=function(e){if(this.checkAlgorithm(e),e.additionalData&&!(ArrayBuffer.isView(e.additionalData)||e.additionalData instanceof ArrayBuffer))throw new A(A.PARAM_WRONG_TYPE,"additionalData","ArrayBufferView or ArrayBuffer");if(!e.iv)throw new A(A.PARAM_REQUIRED,"iv");if(!(ArrayBuffer.isView(e.iv)||e.iv instanceof ArrayBuffer))throw new A(A.PARAM_WRONG_TYPE,"iv","ArrayBufferView or ArrayBuffer");if(e.tagLength){if(![32,64,96,104,112,120,128].some(function(r){return r===e.tagLength}))throw new A(A.PARAM_WRONG_VALUE,"tagLength","32, 64, 96, 104, 112, 120 or 128")}},r.ALG_NAME=p.AesGCM,r}(g),b=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithmParams=function(e){this.checkAlgorithm(e)},r.ALG_NAME=p.AesKW,r.KEY_USAGES=["wrapKey","unwrapKey"],r}(w),E=[p.Sha1,p.Sha256,p.Sha384,p.Sha512].join(" | "),P=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithm=function(r){var t;switch(t="string"==typeof r?{name:r}:r,e.checkAlgorithm.call(this,t),t.name.toUpperCase()){case p.Sha1:case p.Sha256:case p.Sha384:case p.Sha512:break;default:throw new c(c.WRONG_ALG_NAME,t.name,E)}},r.digest=function(e,r){var t=this;return new Promise(function(r,n){t.checkAlgorithm(e),r(void 0)})},r}(h),U=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=9,r}return Object(s.a)(r,e),r}(c),_=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithm=function(e){if(e.name.toUpperCase()!==this.ALG_NAME.toUpperCase())throw new c(c.WRONG_ALG_NAME,e.name,this.ALG_NAME)},r.checkKeyGenParams=function(e){if(!e.namedCurve)throw new U(U.PARAM_REQUIRED,"namedCurve");if("string"!=typeof e.namedCurve)throw new U(U.PARAM_WRONG_TYPE,"namedCurve","string");switch(e.namedCurve.toUpperCase()){case"P-256":case"K-256":case"P-384":case"P-521":break;default:throw new U(U.PARAM_WRONG_VALUE,"namedCurve","K-256, P-256, P-384 or P-521")}},r.checkKeyGenUsages=function(e){var r=this;e.forEach(function(e){var t=0;for(t;t<r.KEY_USAGES.length&&r.KEY_USAGES[t].toLowerCase()!==e.toLowerCase();t++);if(t===r.KEY_USAGES.length)throw new i("Unsupported key usage '"+e+"'. Should be one of ["+r.KEY_USAGES.join(", ")+"]")})},r.generateKey=function(e,r,t){var n=this;return new Promise(function(r,a){n.checkAlgorithm(e),n.checkKeyGenParams(e),n.checkKeyGenUsages(t),r(void 0)})},r.exportKey=function(e,r){var t=this;return new Promise(function(n,a){t.checkKey(r,t.ALG_NAME),e&&"raw"===e.toLowerCase()&&"public"===r.type||t.checkFormat(e,r.type),n(void 0)})},r.importKey=function(e,r,t,n,a){var o=this;return new Promise(function(r,n){o.checkKeyGenParams(t),o.checkFormat(e),o.checkKeyGenUsages(a),r(void 0)})},r.ALG_NAME="",r.KEY_USAGES=[],r}(h),S=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=10,r}return Object(s.a)(r,e),r}(c),L=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithmParams=function(e){this.checkAlgorithm(e),P.checkAlgorithm(e.hash)},r.sign=function(e,r,t){var n=this;return new Promise(function(t,a){n.checkAlgorithmParams(e),n.checkKey(r,n.ALG_NAME,"private","sign"),t(void 0)})},r.verify=function(e,r,t,n){var a=this;return new Promise(function(t,n){a.checkAlgorithmParams(e),a.checkKey(r,a.ALG_NAME,"public","verify"),t(void 0)})},r.ALG_NAME=p.EcDSA,r.KEY_USAGES=["sign","verify","deriveKey","deriveBits"],r}(_),R=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkDeriveParams=function(e){if(this.checkAlgorithm(e),!e.public)throw new S(S.PARAM_REQUIRED,"public");this.checkKey(e.public,this.ALG_NAME,"public")},r.deriveBits=function(e,r,t){var n=this;return new Promise(function(t,a){n.checkDeriveParams(e),n.checkKey(r,n.ALG_NAME,"private","deriveBits"),t(void 0)})},r.deriveKey=function(e,r,t,n,a){var o=this;return new Promise(function(n,a){switch(o.checkDeriveParams(e),o.checkKey(r,o.ALG_NAME,"private","deriveKey"),h.checkAlgorithm(t),t.name.toUpperCase()){case p.AesCBC:C.checkKeyGenParams(t);break;case p.AesCTR:d.checkKeyGenParams(t);break;case p.AesGCM:k.checkKeyGenParams(t);break;case p.AesKW:b.checkKeyGenParams(t);break;default:throw new S("Unsupported name '"+t.name+"' for algorithm in param 'derivedKeyType'")}n(void 0)})},r.ALG_NAME=p.EcDH,r.KEY_USAGES=["deriveKey","deriveBits"],r}(_),O=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithm=function(e){if(e.name.toUpperCase()!==this.ALG_NAME.toUpperCase())throw new c(c.WRONG_ALG_NAME,e.name,this.ALG_NAME)},r.checkKeyGenParams=function(e){if("length"in e&&!(e.length>0&&e.length<=512))throw new c(c.PARAM_WRONG_VALUE,"length","more 0 and less than 512")},r.checkKeyGenUsages=function(e){var r=this;this.checkKeyUsages(e),e.forEach(function(e){var t=0;for(t;t<r.KEY_USAGES.length&&r.KEY_USAGES[t].toLowerCase()!==e.toLowerCase();t++);if(t===r.KEY_USAGES.length)throw new i("Unsupported key usage '"+e+"'. Should be one of ["+r.KEY_USAGES.join(", ")+"]")})},r.generateKey=function(e,r,t){var n=this;return new Promise(function(r,a){n.checkAlgorithm(e),n.checkKeyGenParams(e),n.checkKeyGenUsages(t),r(void 0)})},r.exportKey=function(e,r){var t=this;return new Promise(function(n,a){t.checkKey(r,t.ALG_NAME),t.checkFormat(e,r.type),n(void 0)})},r.importKey=function(e,r,t,n,a){var o=this;return new Promise(function(r,n){if(o.checkAlgorithm(t),o.checkFormat(e),"raw"!==e.toLowerCase()&&"jwk"!==e.toLowerCase())throw new u(u.ALLOWED_FORMAT,e,"'jwk' or 'raw'");o.checkKeyGenUsages(a),r(void 0)})},r.sign=function(e,r,t){var n=this;return new Promise(function(t,a){n.checkAlgorithmParams(e),n.checkKey(r,n.ALG_NAME,"secret","sign"),t(void 0)})},r.verify=function(e,r,t,n){var a=this;return new Promise(function(t,n){a.checkAlgorithmParams(e),a.checkKey(r,a.ALG_NAME,"secret","verify"),t(void 0)})},r.ALG_NAME=p.Hmac,r.KEY_USAGES=["sign","verify"],r}(h),K=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithm=function(e){if(e.name.toUpperCase()!==this.ALG_NAME.toUpperCase())throw new c(c.WRONG_ALG_NAME,e.name,this.ALG_NAME)},r.checkDeriveParams=function(e){if(this.checkAlgorithm(e),!e.salt)throw new c(c.PARAM_REQUIRED,"salt");if(!(ArrayBuffer.isView(e.salt)||e.salt instanceof ArrayBuffer))throw new c(c.PARAM_WRONG_TYPE,"salt","ArrayBuffer or ArrayBufferView");if(!e.info)throw new c(c.PARAM_REQUIRED,"info");if(!(ArrayBuffer.isView(e.info)||e.info instanceof ArrayBuffer))throw new c(c.PARAM_WRONG_TYPE,"info","ArrayBuffer or ArrayBufferView");if(!e.hash)throw new c(c.PARAM_REQUIRED,"hash");var r=a(e.hash);P.checkAlgorithm(r)},r.importKey=function(e,r,t,n,a){var o=this;return Promise.resolve().then(function(){if(n)throw new i("KDF keys must set extractable=false");if(o.checkAlgorithm(t),o.checkFormat(e),"raw"!==e.toLowerCase())throw new u(u.ALLOWED_FORMAT,e,"'raw'");o.checkKeyUsages(a)})},r.deriveKey=function(e,r,t,n,a){var o=this;return Promise.resolve().then(function(){switch(o.checkDeriveParams(e),o.checkKey(r,o.ALG_NAME,"secret","deriveKey"),h.checkAlgorithm(t),t.name.toUpperCase()){case p.AesCBC:C.checkKeyGenParams(t),C.checkKeyUsages(a);break;case p.AesCTR:d.checkKeyGenParams(t),d.checkKeyUsages(a);break;case p.AesGCM:k.checkKeyGenParams(t),k.checkKeyUsages(a);break;case p.AesKW:b.checkKeyGenParams(t),b.checkKeyUsages(a);break;case p.Hmac:O.checkKeyGenParams(t),O.checkKeyUsages(a);break;default:throw new c(c.UNSUPPORTED_ALGORITHM,t)}})},r.deriveBits=function(e,r,t){var n=this;return Promise.resolve().then(function(){if(n.checkDeriveParams(e),n.checkKey(r,n.ALG_NAME,"secret","deriveBits"),!t||"number"!=typeof t)throw new i("Parameter 'length' must be Number and more than 0")})},r.ALG_NAME=p.Hkdf,r.KEY_USAGES=["deriveKey","deriveBits"],r}(h),N=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithm=function(e){if(e.name.toUpperCase()!==this.ALG_NAME.toUpperCase())throw new c(c.WRONG_ALG_NAME,e.name,this.ALG_NAME)},r.checkDeriveParams=function(e){if(this.checkAlgorithm(e),!e.salt)throw new c(c.PARAM_REQUIRED,"salt");if(!(ArrayBuffer.isView(e.salt)||e.salt instanceof ArrayBuffer))throw new c(c.PARAM_WRONG_TYPE,"salt","ArrayBuffer or ArrayBufferView");if(!e.iterations)throw new c(c.PARAM_REQUIRED,"iterations");if(!e.hash)throw new c(c.PARAM_REQUIRED,"hash");var r=a(e.hash);P.checkAlgorithm(r)},r.importKey=function(e,r,t,n,a){var o=this;return Promise.resolve().then(function(){if(n)throw new i("KDF keys must set extractable=false");if(o.checkAlgorithm(t),o.checkFormat(e),"raw"!==e.toLowerCase())throw new u(u.ALLOWED_FORMAT,e,"'raw'");o.checkKeyUsages(a)})},r.deriveKey=function(e,r,t,n,a){var o=this;return Promise.resolve().then(function(){switch(o.checkDeriveParams(e),o.checkKey(r,o.ALG_NAME,"secret","deriveKey"),h.checkAlgorithm(t),t.name.toUpperCase()){case p.AesCBC:C.checkKeyGenParams(t),C.checkKeyUsages(a);break;case p.AesCTR:d.checkKeyGenParams(t),d.checkKeyUsages(a);break;case p.AesGCM:k.checkKeyGenParams(t),k.checkKeyUsages(a);break;case p.AesKW:b.checkKeyGenParams(t),b.checkKeyUsages(a);break;case p.Hmac:O.checkKeyGenParams(t),O.checkKeyUsages(a);break;default:throw new c(c.UNSUPPORTED_ALGORITHM,t)}})},r.deriveBits=function(e,r,t){var n=this;return Promise.resolve().then(function(){if(n.checkDeriveParams(e),n.checkKey(r,n.ALG_NAME,"secret","deriveBits"),!t||"number"!=typeof t)throw new i("Parameter 'length' must be Number and more than 0")})},r.ALG_NAME=p.Pbkdf2,r.KEY_USAGES=["deriveKey","deriveBits"],r}(h),M=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=2,r}return Object(s.a)(r,e),r}(c),G=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=6,r}return Object(s.a)(r,e),r}(c),B=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithm=function(e){if(e.name.toUpperCase()!==this.ALG_NAME.toUpperCase())throw new c(c.WRONG_ALG_NAME,e.name,this.ALG_NAME)},r.checkImportAlgorithm=function(e){if(this.checkAlgorithm(e),!e.hash)throw new G(G.PARAM_REQUIRED,"hash");P.checkAlgorithm(e.hash)},r.checkKeyGenParams=function(e){var r=e.modulusLength;if(!(r>=256&&r<=16384)||r%8)throw new M(M.PARAM_WRONG_VALUE,"modulusLength"," a multiple of 8 bits and >= 256 and <= 16384");var t=e.publicExponent;if(!t)throw new M(M.PARAM_REQUIRED,"publicExponent");if(!ArrayBuffer.isView(t))throw new M(M.PARAM_WRONG_TYPE,"publicExponent","ArrayBufferView");if(3!==t[0]&&(1!==t[0]||0!==t[1]||1!==t[2]))throw new M(M.PARAM_WRONG_VALUE,"publicExponent","Uint8Array([3]) | Uint8Array([1, 0, 1])");if(!e.hash)throw new M(M.PARAM_REQUIRED,"hash",E);P.checkAlgorithm(e.hash)},r.checkKeyGenUsages=function(e){var r=this;this.checkKeyUsages(e),e.forEach(function(e){var t=0;for(t;t<r.KEY_USAGES.length&&r.KEY_USAGES[t].toLowerCase()!==e.toLowerCase();t++);if(t===r.KEY_USAGES.length)throw new i("Unsupported key usage '"+e+"'. Should be one of ["+r.KEY_USAGES.join(", ")+"]")})},r.generateKey=function(e,r,t){var n=this;return new Promise(function(r,a){n.checkAlgorithm(e),n.checkKeyGenParams(e),n.checkKeyGenUsages(t),r(void 0)})},r.exportKey=function(e,r){var t=this;return new Promise(function(n,a){t.checkKey(r,t.ALG_NAME),t.checkFormat(e,r.type),n(void 0)})},r.importKey=function(e,r,t,n,a){var o=this;return new Promise(function(r,n){if(o.checkImportAlgorithm(t),o.checkFormat(e),"raw"===e.toLowerCase())throw new u(u.ALLOWED_FORMAT,e,"'JsonWebKey', 'pkcs8' or 'spki'");o.checkKeyGenUsages(a),r(void 0)})},r.ALG_NAME="",r.KEY_USAGES=[],r}(h),T=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.sign=function(e,r,t){var n=this;return new Promise(function(t,a){n.checkAlgorithmParams(e),n.checkKey(r,n.ALG_NAME,"private","sign"),t(void 0)})},r.verify=function(e,r,t,n){var a=this;return new Promise(function(t,n){a.checkAlgorithmParams(e),a.checkKey(r,a.ALG_NAME,"public","verify"),t(void 0)})},r.ALG_NAME=p.RsaSSA,r.KEY_USAGES=["sign","verify"],r}(B),D=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=4,r}return Object(s.a)(r,e),r}(c),H=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithmParams=function(r){var t=r;if(e.checkAlgorithmParams.call(this,t),!t.saltLength)throw new D(D.PARAM_REQUIRED,"saltLength");if(t.saltLength<0)throw new D("Parameter 'saltLength' is outside of numeric range")},r.ALG_NAME=p.RsaPSS,r}(T),x=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=5,r}return Object(s.a)(r,e),r}(c),j=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return Object(s.a)(r,e),r.checkAlgorithmParams=function(e){if(e.label&&!(ArrayBuffer.isView(e.label)||e.label instanceof ArrayBuffer))throw new x(x.PARAM_WRONG_TYPE,"label","ArrayBufferView or ArrayBuffer")},r.encrypt=function(e,r,t){var n=this;return new Promise(function(t,a){n.checkAlgorithmParams(e),n.checkKey(r,n.ALG_NAME,"public","encrypt"),t(void 0)})},r.decrypt=function(e,r,t){var n=this;return new Promise(function(t,a){n.checkAlgorithmParams(e),n.checkKey(r,n.ALG_NAME,"private","decrypt"),t(void 0)})},r.wrapKey=function(e,r,t,n){var a=this;return new Promise(function(o,s){a.checkAlgorithmParams(n),a.checkKey(t,a.ALG_NAME,"public","wrapKey"),a.checkWrappedKey(r),a.checkFormat(e,r.type),o(void 0)})},r.unwrapKey=function(e,r,t,n,a,o,s){var i=this;return new Promise(function(r,a){i.checkAlgorithmParams(n),i.checkKey(t,i.ALG_NAME,"private","unwrapKey"),i.checkFormat(e),r(void 0)})},r.ALG_NAME=p.RsaOAEP,r.KEY_USAGES=["encrypt","decrypt","wrapKey","unwrapKey"],r}(B),W=function(){function e(){}return e.prototype.generateKey=function(e,r,t){return new Promise(function(n,o){var s=a(e),i=h;switch(s.name.toUpperCase()){case p.RsaSSA.toUpperCase():i=T;break;case p.RsaOAEP.toUpperCase():i=j;break;case p.RsaPSS.toUpperCase():i=H;break;case p.AesECB.toUpperCase():i=v;break;case p.AesCBC.toUpperCase():i=C;break;case p.AesCTR.toUpperCase():i=d;break;case p.AesGCM.toUpperCase():i=k;break;case p.AesKW.toUpperCase():i=b;break;case p.EcDSA.toUpperCase():i=L;break;case p.EcDH.toUpperCase():i=R;break;case p.Hmac.toUpperCase():i=O;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,s.name)}i.generateKey(s,r,t).then(n,o)})},e.prototype.digest=function(e,r){return new Promise(function(t,n){var s=a(e),i=o(r,"data"),u=h;switch(s.name.toUpperCase()){case p.Sha1.toUpperCase():case p.Sha256.toUpperCase():case p.Sha384.toUpperCase():case p.Sha512.toUpperCase():u=P;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,s.name)}u.digest(s,i).then(t,n)})},e.prototype.sign=function(e,r,t){return new Promise(function(n,s){var i=a(e),u=o(t,"data"),f=h;switch(i.name.toUpperCase()){case p.RsaSSA.toUpperCase():f=T;break;case p.RsaPSS.toUpperCase():f=H;break;case p.EcDSA.toUpperCase():f=L;break;case p.Hmac.toUpperCase():f=O;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,i.name)}f.sign(i,r,u).then(n,s)})},e.prototype.verify=function(e,r,t,n){return new Promise(function(t,s){var i=a(e),u=o(n,"signature"),f=o(n,"data"),y=h;switch(i.name.toUpperCase()){case p.RsaSSA.toUpperCase():y=T;break;case p.RsaPSS.toUpperCase():y=H;break;case p.EcDSA.toUpperCase():y=L;break;case p.Hmac.toUpperCase():y=O;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,i.name)}y.verify(i,r,u,f).then(t,s)})},e.prototype.encrypt=function(e,r,t){return new Promise(function(n,s){var i=a(e),u=o(t,"data"),f=h;switch(i.name.toUpperCase()){case p.RsaOAEP.toUpperCase():f=j;break;case p.AesECB.toUpperCase():f=v;break;case p.AesCBC.toUpperCase():f=C;break;case p.AesCTR.toUpperCase():f=d;break;case p.AesGCM.toUpperCase():f=k;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,i.name)}f.encrypt(i,r,u).then(n,s)})},e.prototype.decrypt=function(e,r,t){return new Promise(function(n,s){var i=a(e),u=o(t,"data"),f=h;switch(i.name.toUpperCase()){case p.RsaOAEP.toUpperCase():f=j;break;case p.AesECB.toUpperCase():f=v;break;case p.AesCBC.toUpperCase():f=C;break;case p.AesCTR.toUpperCase():f=d;break;case p.AesGCM.toUpperCase():f=k;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,i.name)}f.decrypt(i,r,u).then(n,s)})},e.prototype.deriveBits=function(e,r,t){return new Promise(function(n,o){var s=a(e),i=h;switch(s.name.toUpperCase()){case p.EcDH.toUpperCase():i=R;break;case p.Pbkdf2.toUpperCase():i=N;break;case p.Hkdf.toUpperCase():i=K;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,s.name)}i.deriveBits(s,r,t).then(n,o)})},e.prototype.deriveKey=function(e,r,t,n,o){return new Promise(function(s,i){var u=a(e),f=a(t),y=h;switch(u.name.toUpperCase()){case p.EcDH.toUpperCase():y=R;break;case p.Pbkdf2.toUpperCase():y=N;break;case p.Hkdf.toUpperCase():y=K;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,u.name)}y.deriveKey(u,r,f,n,o).then(s,i)})},e.prototype.exportKey=function(e,r){return new Promise(function(t,n){if(h.checkKey(r),!r.extractable)throw new u(u.NOT_EXTRACTABLE);var a=h;switch(r.algorithm.name.toUpperCase()){case p.RsaSSA.toUpperCase():a=T;break;case p.RsaPSS.toUpperCase():a=H;break;case p.AesECB.toUpperCase():a=v;break;case p.RsaOAEP.toUpperCase():a=j;break;case p.AesCBC.toUpperCase():a=C;break;case p.AesCTR.toUpperCase():a=d;break;case p.AesGCM.toUpperCase():a=k;break;case p.AesKW.toUpperCase():a=b;break;case p.EcDSA.toUpperCase():a=L;break;case p.EcDH.toUpperCase():a=R;break;case p.Hmac.toUpperCase():a=O;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,r.algorithm.name)}a.exportKey(e,r).then(t,n)})},e.prototype.importKey=function(e,r,t,n,o){return new Promise(function(s,i){var u=a(t),f=h;switch(u.name.toUpperCase()){case p.RsaSSA.toUpperCase():f=T;break;case p.RsaPSS.toUpperCase():f=H;break;case p.RsaOAEP.toUpperCase():f=j;break;case p.AesECB.toUpperCase():f=v;break;case p.AesCBC.toUpperCase():f=C;break;case p.AesCTR.toUpperCase():f=d;break;case p.AesGCM.toUpperCase():f=k;break;case p.AesKW.toUpperCase():f=b;break;case p.EcDSA.toUpperCase():f=L;break;case p.EcDH.toUpperCase():f=R;break;case p.Hmac.toUpperCase():f=O;break;case p.Pbkdf2.toUpperCase():f=N;break;case p.Hkdf.toUpperCase():f=K;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,u.name)}f.importKey(e,r,u,n,o).then(s,i)})},e.prototype.wrapKey=function(e,r,t,n){return new Promise(function(o,s){var i=a(n),u=h;switch(i.name.toUpperCase()){case p.RsaOAEP.toUpperCase():u=j;break;case p.AesECB.toUpperCase():u=v;break;case p.AesCBC.toUpperCase():u=C;break;case p.AesCTR.toUpperCase():u=d;break;case p.AesGCM.toUpperCase():u=k;break;case p.AesKW.toUpperCase():u=b;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,i.name)}u.wrapKey(e,r,t,i).then(o,s)})},e.prototype.unwrapKey=function(e,r,t,n,s,i,u){return new Promise(function(f,y){var l=a(n),m=a(s),A=o(r,"wrappedKey"),w=h;switch(l.name.toUpperCase()){case p.RsaOAEP.toUpperCase():w=j;break;case p.AesECB.toUpperCase():w=v;break;case p.AesCBC.toUpperCase():w=C;break;case p.AesCTR.toUpperCase():w=d;break;case p.AesGCM.toUpperCase():w=k;break;case p.AesKW.toUpperCase():w=b;break;default:throw new c(c.UNSUPPORTED_ALGORITHM,l.name)}w.unwrapKey(e,A,t,l,m,i,u).then(f,y)})},e}()}.call(r,t(7))},function(e,r,t){"use strict";var n=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var a=t(0),o=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.code=10,r}return n(r,e),r.MODULE_NOT_FOUND="Module '%1' is not found. Download it from %2",r.UNSUPPORTED_ALGORITHM="Unsupported algorithm '%1'",r}(a.WebCryptoError);r.LinerError=o},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(10),a=t(4),o=function(){function e(){this.subtle=new n.SubtleCrypto}return e.prototype.getRandomValues=function(e){return a.nativeCrypto.getRandomValues(e)},e}();r.Crypto=o},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function e(e){this.algorithm=e.algorithm,e.type&&(this.type=e.type),this.extractable=e.extractable,this.usages=e.usages}return e}();r.CryptoKey=n},function(e,r,t){"use strict";function n(e,r){var t=e[r];e[r]=function(){var n=arguments;return new Promise(function(a,o){var s=t.apply(e,n);s.oncomplete=function(e){a(e.target.result)},s.onerror=function(e){o("Error on running '"+r+"' function")}})}}Object.defineProperty(r,"__esModule",{value:!0});var a,o=t(1);if("undefined"==typeof self){var s=t(9);a={crypto:{subtle:{},getRandomValues:function(e){var r=e.buffer,t=new Uint8Array(r);return s.randomBytes(t.length).forEach(function(e,r){return t[r]=e}),e}}}}else a=self;r.nativeCrypto=a.msCrypto||a.crypto||{},r.nativeSubtle=null;try{r.nativeSubtle=r.nativeCrypto.subtle||r.nativeCrypto.webkitSubtle}catch(e){}if(a.msCrypto){if(!a.Promise)throw new o.LinerError(o.LinerError.MODULE_NOT_FOUND,"Promise","https://www.promisejs.org");n(r.nativeSubtle,"generateKey"),n(r.nativeSubtle,"digest"),n(r.nativeSubtle,"sign"),n(r.nativeSubtle,"verify"),n(r.nativeSubtle,"encrypt"),n(r.nativeSubtle,"decrypt"),n(r.nativeSubtle,"importKey"),n(r.nativeSubtle,"exportKey"),n(r.nativeSubtle,"wrapKey"),n(r.nativeSubtle,"unwrapKey"),n(r.nativeSubtle,"deriveKey"),n(r.nativeSubtle,"deriveBits")}Math.imul||(Math.imul=function(e,r){var t=e>>>16&65535,n=65535&e,a=r>>>16&65535,o=65535&r;return n*o+(t*o+n*a<<16>>>0)|0})},function(e,r,t){"use strict";function n(){var e,t={name:"Unknown",version:"0"},n=self.navigator.userAgent;return(e=/edge\/([\d\.]+)/i.exec(n))?(t.name=r.Browser.Edge,t.version=e[1]):/msie/i.test(n)?(t.name=r.Browser.IE,t.version=/msie ([\d\.]+)/i.exec(n)[1]):/Trident/i.test(n)?(t.name=r.Browser.IE,t.version=/rv:([\d\.]+)/i.exec(n)[1]):/chrome/i.test(n)?(t.name=r.Browser.Chrome,t.version=/chrome\/([\d\.]+)/i.exec(n)[1]):/mobile/i.test(n)?(t.name=r.Browser.Mobile,t.version=/mobile\/([\w]+)/i.exec(n)[1]):/safari/i.test(n)?(t.name=r.Browser.Safari,t.version=/version\/([\d\.]+)/i.exec(n)[1]):/firefox/i.test(n)&&(t.name=r.Browser.Firefox,t.version=/firefox\/([\d\.]+)/i.exec(n)[1]),t}function a(e){for(var r=new Uint8Array(e.length),t=0;t<e.length;t++)r[t]=e.charCodeAt(t);return r}function o(e){for(var r="",t=0;t<e.length;t++)r+=String.fromCharCode(e[t]);return r}function s(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var t=new Uint8Array(e.map(function(e){return e.length}).reduce(function(e,r){return e+r})),n=0;return e.forEach(function(e,r){for(var a=0;a<e.length;a++)t[n+a]=e[a];n+=e.length}),t}function i(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];for(var n=arguments[0],a=1;a<arguments.length;a++){var o=arguments[a];for(var s in o)n[s]=o[s]}return n}function c(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];"undefined"!=typeof self&&self.PV_WEBCRYPTO_LINER_LOG&&console.warn.apply(console,arguments)}Object.defineProperty(r,"__esModule",{value:!0}),r.Browser={IE:"Internet Explorer",Safari:"Safari",Edge:"Edge",Chrome:"Chrome",Firefox:"Firefox Mozilla",Mobile:"Mobile"},r.BrowserInfo=n,r.string2buffer=a,r.buffer2string=o,r.concat=s,r.assign=i,r.warn=c},function(e,r,t){"use strict";function n(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}Object.defineProperty(r,"__esModule",{value:!0}),n(t(4)),n(t(2))},function(e,r){var t;t=function(){return this}();try{t=t||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,r,t){"use strict";function n(e,r){function t(){this.constructor=e}a(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}r.a=n;/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
var a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};Object.assign},function(e,r){e.exports=require("crypto")},function(e,r,t){"use strict";function n(e,r){return Promise.resolve().then(function(){if(e.key)return e;if(e.extractable){return(new m.Crypto).subtle.exportKey("jwk",e).then(function(t){var n=o(e);return n&&(n=w.assign(n,e.algorithm)),r.importKey("jwk",t,n,!0,e.usages)})}throw new A.LinerError("'key' is Native CryptoKey. It can't be converted to JS CryptoKey")})}function a(e,r){w.BrowserInfo().name!==w.Browser.IE&&w.BrowserInfo().name!==w.Browser.Edge&&w.BrowserInfo().name!==w.Browser.Safari||!/^rsa/i.test(e.name)||(r.privateKey?(P.push({hash:e.hash,key:r.privateKey}),P.push({hash:e.hash,key:r.publicKey})):P.push({hash:e.hash,key:r}))}function o(e){var r=null;return P.some(function(t){return t.key===e&&(r=w.assign({},e.algorithm,{hash:t.hash}),!0)}),r}function s(e,r){var t=[];e.privateKey?(t.push(e.privateKey),t.push(e.publicKey)):t.push(e),t.forEach(function(e){"keyUsage"in e&&(e.usages=e.keyUsage||[],e.usages.length||(["verify","encrypt","wrapKey"].forEach(function(t){r.indexOf(t)>-1&&("public"===e.type||"secret"===e.type)&&e.usages.push(t)}),["sign","decrypt","unwrapKey","deriveKey","deriveBits"].forEach(function(t){r.indexOf(t)>-1&&("private"===e.type||"secret"===e.type)&&e.usages.push(t)})))})}function i(e,r,t){if(r&&w.BrowserInfo().name===w.Browser.IE){"extractable"in e&&(e.ext=e.extractable,delete e.extractable);var n=null;switch(r.name.toUpperCase()){case p.AlgorithmNames.RsaOAEP.toUpperCase():case p.AlgorithmNames.RsaPSS.toUpperCase():case p.AlgorithmNames.RsaSSA.toUpperCase():n=C.RsaCrypto;break;case p.AlgorithmNames.AesECB.toUpperCase():case p.AlgorithmNames.AesCBC.toUpperCase():case p.AlgorithmNames.AesGCM.toUpperCase():n=g.AesCrypto;break;default:throw new A.LinerError(A.LinerError.UNSUPPORTED_ALGORITHM,r.name.toUpperCase())}n&&!e.alg&&(e.alg=n.alg2jwk(r)),"key_ops"in e||(e.key_ops=t)}}function c(e){w.BrowserInfo().name===w.Browser.IE&&("ext"in e&&(e.extractable=e.ext,delete e.ext),delete e.key_ops,delete e.alg)}function u(e){var r=/AppleWebKit\/(\d+)/.exec(self.navigator.userAgent);return e.toUpperCase()===p.AlgorithmNames.RsaOAEP&&r&&parseInt(r[1],10)<604}var h=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var p=t(0),f=t(0),y=t(0),l=t(4),m=t(2),A=t(1),w=t(5),g=t(11),v=t(12),C=t(13),d=t(14),k=t(15),b=t(16),E=t(17),P=[],U=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return h(r,e),r.prototype.generateKey=function(r,t,n){var o,i=this,c=arguments;return e.prototype.generateKey.apply(this,c).then(function(e){if(o=y.PrepareAlgorithm(r),!(w.BrowserInfo().name===w.Browser.Edge&&o.name.toUpperCase()===p.AlgorithmNames.AesGCM||u(o.name))&&l.nativeSubtle)try{return l.nativeSubtle.generateKey.apply(l.nativeSubtle,c).catch(function(e){w.warn("WebCrypto: native generateKey for "+o.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native generateKey for "+o.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if(e){var c=Promise.resolve(e);if(w.BrowserInfo().name===w.Browser.Safari&&(o.name.toUpperCase()===p.AlgorithmNames.EcDH.toUpperCase()||o.name.toUpperCase()===p.AlgorithmNames.EcDSA.toUpperCase())){var u=e.publicKey;c=c.then(function(){return i.exportKey("jwk",u).then(function(a){return i.exportKey("spki",u).then(function(o){for(var s=p.Base64Url.decode(a.x),c=p.Base64Url.decode(a.y),u=s.length+c.length,h=new Uint8Array(o),f=0;f<u;f++){var y=h[h.length-f-1],l=void 0;if(l=f<c.length?c[c.length-f-1]:s[s.length+c.length-f-1],y!==l)return w.warn("WebCrypto: EC key has wrong public key JWK. Key pair will be recreated"),i.generateKey(r,t,n)}return e})})})}return c.then(function(e){return s(e,n),a(o,e),e})}var h;switch(o.name.toLowerCase()){case p.AlgorithmNames.AesECB.toLowerCase():case p.AlgorithmNames.AesCBC.toLowerCase():case p.AlgorithmNames.AesGCM.toLowerCase():h=g.AesCrypto;break;case p.AlgorithmNames.EcDSA.toLowerCase():case p.AlgorithmNames.EcDH.toLowerCase():h=d.EcCrypto;break;case p.AlgorithmNames.RsaOAEP.toLowerCase():case p.AlgorithmNames.RsaPSS.toLowerCase():case p.AlgorithmNames.RsaSSA.toLowerCase():h=C.RsaCrypto;break;default:throw new A.LinerError(A.LinerError.UNSUPPORTED_ALGORITHM,o.name.toLowerCase())}return h.generateKey(o,t,n)})},r.prototype.digest=function(r,t){var n,a,o=arguments;return e.prototype.digest.apply(this,o).then(function(e){if(n=y.PrepareAlgorithm(r),a=y.PrepareData(t,"data"),l.nativeSubtle)try{return l.nativeSubtle.digest.apply(l.nativeSubtle,o).catch(function(e){w.warn("WebCrypto: native digest for "+n.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native digest for "+n.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){return e||v.ShaCrypto.digest(n,a)})},r.prototype.sign=function(r,t,a){var s,i,c=arguments;return e.prototype.sign.apply(this,c).then(function(e){s=y.PrepareAlgorithm(r),i=y.PrepareData(a,"data");var n=o(t);if(n&&(c[0]=w.assign(s,n)),l.nativeSubtle)try{return l.nativeSubtle.sign.apply(l.nativeSubtle,c).catch(function(e){w.warn("WebCrypto: native sign for "+s.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native sign for "+s.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if(e)return e;var r;switch(s.name.toLowerCase()){case p.AlgorithmNames.EcDSA.toLowerCase():r=d.EcCrypto;break;case p.AlgorithmNames.RsaSSA.toLowerCase():case p.AlgorithmNames.RsaPSS.toLowerCase():r=C.RsaCrypto;break;case p.AlgorithmNames.Hmac.toLowerCase():r=b.HmacCrypto;break;default:throw new A.LinerError(A.LinerError.UNSUPPORTED_ALGORITHM,s.name.toLowerCase())}return n(t,r).then(function(e){return r.sign(s,e,i)})})},r.prototype.verify=function(r,t,a,s){var i,c,u,h=arguments;return e.prototype.verify.apply(this,h).then(function(e){i=y.PrepareAlgorithm(r),c=y.PrepareData(a,"data"),u=y.PrepareData(s,"data");var n=o(t);if(n&&(h[0]=w.assign(i,n)),l.nativeSubtle)try{return l.nativeSubtle.verify.apply(l.nativeSubtle,h).catch(function(e){w.warn("WebCrypto: native verify for "+i.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native verify for "+i.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if("boolean"==typeof e)return e;var r;switch(i.name.toLowerCase()){case p.AlgorithmNames.EcDSA.toLowerCase():r=d.EcCrypto;break;case p.AlgorithmNames.RsaSSA.toLowerCase():case p.AlgorithmNames.RsaPSS.toLowerCase():r=C.RsaCrypto;break;default:throw new A.LinerError(A.LinerError.UNSUPPORTED_ALGORITHM,i.name.toLowerCase())}return n(t,r).then(function(e){return r.verify(i,e,c,u)})})},r.prototype.deriveBits=function(r,t,n){var a,o=arguments;return e.prototype.deriveBits.apply(this,o).then(function(e){if(a=y.PrepareAlgorithm(r),l.nativeSubtle)try{return l.nativeSubtle.deriveBits.apply(l.nativeSubtle,o).catch(function(e){w.warn("WebCrypto: native deriveBits for "+a.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native deriveBits for "+a.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if(e)return e;var r;switch(a.name.toLowerCase()){case p.AlgorithmNames.EcDH.toLowerCase():r=d.EcCrypto;break;case p.AlgorithmNames.Pbkdf2.toLowerCase():r=k.Pbkdf2Crypto;break;case p.AlgorithmNames.Hkdf.toLowerCase():r=E.HkdfCrypto;break;default:throw new A.LinerError(A.LinerError.NOT_SUPPORTED,"deriveBits")}return r.deriveBits(a,t,n)})},r.prototype.deriveKey=function(r,t,n,a,o){var i,c,u=arguments;return e.prototype.deriveKey.apply(this,u).then(function(e){if(i=y.PrepareAlgorithm(r),c=y.PrepareAlgorithm(n),l.nativeSubtle)try{return l.nativeSubtle.deriveKey.apply(l.nativeSubtle,u).catch(function(e){w.warn("WebCrypto: native deriveKey for "+i.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native deriveKey for "+i.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if(e)return s(e,o),e;var r;switch(i.name.toLowerCase()){case p.AlgorithmNames.EcDH.toLowerCase():r=d.EcCrypto;break;case p.AlgorithmNames.Pbkdf2.toLowerCase():r=k.Pbkdf2Crypto;break;case p.AlgorithmNames.Hkdf.toLowerCase():r=E.HkdfCrypto;break;default:throw new A.LinerError(A.LinerError.NOT_SUPPORTED,"deriveKey")}return r.deriveKey(i,t,c,a,o)})},r.prototype.encrypt=function(r,t,a){var o,s,i=arguments;return e.prototype.encrypt.apply(this,i).then(function(e){if(o=y.PrepareAlgorithm(r),s=y.PrepareData(a,"data"),l.nativeSubtle)try{return l.nativeSubtle.encrypt.apply(l.nativeSubtle,i).catch(function(e){w.warn("WebCrypto: native 'encrypt' for "+o.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native 'encrypt' for "+o.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if(e){if(w.BrowserInfo().name===w.Browser.IE&&o.name.toUpperCase()===p.AlgorithmNames.AesGCM&&e.ciphertext){var r=new Uint8Array(e.ciphertext.byteLength+e.tag.byteLength),a=0;new Uint8Array(e.ciphertext).forEach(function(e){return r[a++]=e}),new Uint8Array(e.tag).forEach(function(e){return r[a++]=e}),e=r.buffer}return Promise.resolve(e)}var i;switch(o.name.toLowerCase()){case p.AlgorithmNames.AesECB.toLowerCase():case p.AlgorithmNames.AesCBC.toLowerCase():case p.AlgorithmNames.AesGCM.toLowerCase():i=g.AesCrypto;break;case p.AlgorithmNames.RsaOAEP.toLowerCase():i=C.RsaCrypto;break;default:throw new A.LinerError(A.LinerError.NOT_SUPPORTED,"encrypt")}return n(t,i).then(function(e){return i.encrypt(o,e,s)})})},r.prototype.decrypt=function(r,t,n){var a,o,s=arguments;return e.prototype.decrypt.apply(this,s).then(function(e){a=y.PrepareAlgorithm(r),o=y.PrepareData(n,"data");var s=o;if(w.BrowserInfo().name===w.Browser.IE&&a.name.toUpperCase()===p.AlgorithmNames.AesGCM){var i=o.byteLength-a.tagLength/8;s={ciphertext:o.buffer.slice(0,i),tag:o.buffer.slice(i,o.byteLength)}}if(t.key){var c=void 0;switch(a.name.toLowerCase()){case p.AlgorithmNames.AesECB.toLowerCase():case p.AlgorithmNames.AesCBC.toLowerCase():case p.AlgorithmNames.AesGCM.toLowerCase():c=g.AesCrypto;break;case p.AlgorithmNames.RsaOAEP.toLowerCase():c=C.RsaCrypto;break;default:throw new A.LinerError(A.LinerError.NOT_SUPPORTED,"decrypt")}return c.decrypt(a,t,o)}return l.nativeSubtle.decrypt.call(l.nativeSubtle,a,t,s)})},r.prototype.wrapKey=function(r,t,n,a){var o,s=arguments;return e.prototype.wrapKey.apply(this,s).then(function(e){if(o=y.PrepareAlgorithm(a),l.nativeSubtle)try{return l.nativeSubtle.wrapKey.apply(l.nativeSubtle,s).catch(function(e){w.warn("WebCrypto: native 'wrapKey' for "+o.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native 'wrapKey' for "+o.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if(e)return e;var a;switch(o.name.toLowerCase()){case p.AlgorithmNames.AesECB.toLowerCase():case p.AlgorithmNames.AesCBC.toLowerCase():case p.AlgorithmNames.AesGCM.toLowerCase():a=g.AesCrypto;break;case p.AlgorithmNames.RsaOAEP.toLowerCase():a=C.RsaCrypto;break;default:throw new A.LinerError(A.LinerError.NOT_SUPPORTED,"wrapKey")}return a.wrapKey(r,t,n,o)})},r.prototype.unwrapKey=function(r,t,n,a,o,i,c){var u,h,f,m=this,v=arguments;return e.prototype.unwrapKey.apply(this,v).then(function(e){if(u=y.PrepareAlgorithm(a),h=y.PrepareAlgorithm(o),f=y.PrepareData(t,"wrappedKey"),n.key){var d=void 0;switch(u.name.toLowerCase()){case p.AlgorithmNames.AesECB.toLowerCase():case p.AlgorithmNames.AesCBC.toLowerCase():case p.AlgorithmNames.AesGCM.toLowerCase():d=g.AesCrypto;break;case p.AlgorithmNames.RsaOAEP.toLowerCase():d=C.RsaCrypto;break;default:throw new A.LinerError(A.LinerError.NOT_SUPPORTED,"unwrapKey")}return d.unwrapKey(r,f,n,u,h,i,c)}return l.nativeSubtle.unwrapKey.apply(l.nativeSubtle,v).catch(function(e){return m.decrypt(u,n,t).then(function(e){var t;return t="jwk"===r?JSON.parse(w.buffer2string(new Uint8Array(e))):e,m.importKey(r,t,h,i,c)})}).then(function(e){if(e)return s(e,c),e}).catch(function(e){throw console.error(e),new Error("Cannot unwrap key from incoming data")})})},r.prototype.exportKey=function(r,t){var n=arguments;return e.prototype.exportKey.apply(this,n).then(function(){if(l.nativeSubtle)try{return l.nativeSubtle.exportKey.apply(l.nativeSubtle,n).catch(function(e){w.warn("WebCrypto: native 'exportKey' for "+t.algorithm.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native 'exportKey' for "+t.algorithm.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if(e){"jwk"===r&&e instanceof ArrayBuffer&&(e=w.buffer2string(new Uint8Array(e)),e=JSON.parse(e));var n=o(t);return n||(n=w.assign({},t.algorithm)),i(e,n,t.usages),Promise.resolve(e)}if(!t.key)throw new A.LinerError("Cannot export native CryptoKey from JS implementation");var a;switch(t.algorithm.name.toLowerCase()){case p.AlgorithmNames.AesECB.toLowerCase():case p.AlgorithmNames.AesCBC.toLowerCase():case p.AlgorithmNames.AesGCM.toLowerCase():a=g.AesCrypto;break;case p.AlgorithmNames.EcDH.toLowerCase():case p.AlgorithmNames.EcDSA.toLowerCase():a=d.EcCrypto;break;case p.AlgorithmNames.RsaSSA.toLowerCase():case p.AlgorithmNames.RsaPSS.toLowerCase():case p.AlgorithmNames.RsaOAEP.toLowerCase():a=C.RsaCrypto;break;case p.AlgorithmNames.Hmac.toLowerCase():a=b.HmacCrypto;break;default:throw new A.LinerError(A.LinerError.UNSUPPORTED_ALGORITHM,t.algorithm.name.toLowerCase())}return a.exportKey(r,t)})},r.prototype.importKey=function(r,t,n,o,i){var h,f,m=arguments;return e.prototype.importKey.apply(this,m).then(function(e){h=y.PrepareAlgorithm(n),f=t;var a=w.BrowserInfo();if("jwk"!==r||(a.name!==w.Browser.Safari||/^11/.test(a.version))&&a.name!==w.Browser.IE||(w.BrowserInfo().name===w.Browser.IE&&(t=w.assign({},t),c(t)),m[1]=w.string2buffer(JSON.stringify(t)).buffer),ArrayBuffer.isView(t)&&(f=y.PrepareData(t,"keyData")),!u(h.name)&&l.nativeSubtle)try{return l.nativeSubtle.importKey.apply(l.nativeSubtle,m).catch(function(e){w.warn("WebCrypto: native 'importKey' for "+h.name+" doesn't work.",e&&e.message||"Unknown message")})}catch(e){w.warn("WebCrypto: native 'importKey' for "+h.name+" doesn't work.",e&&e.message||"Unknown message")}}).then(function(e){if(e)return a(h,e),s(e,i),Promise.resolve(e);var t;switch(h.name.toLowerCase()){case p.AlgorithmNames.AesECB.toLowerCase():case p.AlgorithmNames.AesCBC.toLowerCase():case p.AlgorithmNames.AesGCM.toLowerCase():t=g.AesCrypto;break;case p.AlgorithmNames.EcDH.toLowerCase():case p.AlgorithmNames.EcDSA.toLowerCase():t=d.EcCrypto;break;case p.AlgorithmNames.RsaSSA.toLowerCase():case p.AlgorithmNames.RsaPSS.toLowerCase():case p.AlgorithmNames.RsaOAEP.toLowerCase():t=C.RsaCrypto;break;case p.AlgorithmNames.Pbkdf2.toLowerCase():t=k.Pbkdf2Crypto;break;case p.AlgorithmNames.Hmac.toLowerCase():t=b.HmacCrypto;break;case p.AlgorithmNames.Hkdf.toLowerCase():t=E.HkdfCrypto;break;default:throw new A.LinerError(A.LinerError.UNSUPPORTED_ALGORITHM,h.name.toLowerCase())}return t.importKey(r,f,h,o,i)})},r}(f.SubtleCrypto);r.SubtleCrypto=U,Uint8Array.prototype.forEach||(Uint8Array.prototype.forEach=function(e){for(var r=0;r<this.length;r++)e(this[r],r,this)}),Uint8Array.prototype.slice||(Uint8Array.prototype.slice=function(e,r){return new Uint8Array(this.buffer.slice(e,r))}),Uint8Array.prototype.filter||(Uint8Array.prototype.filter=function(e){for(var r=[],t=0;t<this.length;t++)e(this[t],t,this)&&r.push(this[t]);return new Uint8Array(r)})},function(e,r,t){"use strict";var n=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var a=t(0),o=t(1),s=t(3),i=t(5),c=t(4),u=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.generateKey=function(e,r,t){var n=this;return Promise.resolve().then(function(){n.checkModule();var a=c.nativeCrypto.getRandomValues(new Uint8Array(e.length/8)),o=new s.CryptoKey({type:"secret",algorithm:e,extractable:r,usages:t});return o.key=a,o})},r.encrypt=function(e,r,t){return Promise.resolve().then(function(){var n;switch(e.name.toUpperCase()){case a.AlgorithmNames.AesECB:var s=e;n=asmCrypto.AES_ECB.encrypt(t,r.key,!!s.padding);break;case a.AlgorithmNames.AesCBC:var i=e;n=asmCrypto.AES_CBC.encrypt(t,r.key,void 0,a.PrepareData(i.iv,"iv"));break;case a.AlgorithmNames.AesGCM:var c=e;c.tagLength=c.tagLength||128;var u=void 0;c.additionalData&&(u=a.PrepareData(c.additionalData,"additionalData")),n=asmCrypto.AES_GCM.encrypt(t,r.key,c.iv,u,c.tagLength/8);break;default:throw new o.LinerError(a.AlgorithmError.UNSUPPORTED_ALGORITHM,e.name)}return n.buffer})},r.decrypt=function(e,r,t){return Promise.resolve().then(function(){var n;switch(e.name.toUpperCase()){case a.AlgorithmNames.AesECB:var s=e;n=asmCrypto.AES_ECB.decrypt(t,r.key,!!s.padding);break;case a.AlgorithmNames.AesCBC:var i=e;n=asmCrypto.AES_CBC.decrypt(t,r.key,void 0,a.PrepareData(i.iv,"iv"));break;case a.AlgorithmNames.AesGCM:var c=e;c.tagLength=c.tagLength||128;var u=void 0;c.additionalData&&(u=a.PrepareData(c.additionalData,"additionalData")),n=asmCrypto.AES_GCM.decrypt(t,r.key,c.iv,u,c.tagLength/8);break;default:throw new o.LinerError(a.AlgorithmError.UNSUPPORTED_ALGORITHM,e.name)}return n.buffer})},r.wrapKey=function(e,r,t,n){var a;return Promise.resolve().then(function(){return a=new h.Crypto,a.subtle.exportKey(e,r)}).then(function(e){var r;return r=e instanceof ArrayBuffer?new Uint8Array(e):i.string2buffer(JSON.stringify(e)),a.subtle.encrypt(n,t,r)})},r.unwrapKey=function(e,r,t,n,a,o,s){var c;return Promise.resolve().then(function(){return c=new h.Crypto,c.subtle.decrypt(n,t,r)}).then(function(r){var t;return t="jwk"===e.toLowerCase()?JSON.parse(i.buffer2string(new Uint8Array(r))):new Uint8Array(r),c.subtle.importKey(e,t,a,o,s)})},r.alg2jwk=function(e){return"A"+e.length+/-(\w+)/i.exec(e.name.toUpperCase())[1]},r.jwk2alg=function(e){throw new Error("Not implemented")},r.exportKey=function(e,r){var t=this;return Promise.resolve().then(function(){var n=r.key;if("jwk"===e.toLowerCase()){return{alg:t.alg2jwk(r.algorithm),ext:r.extractable,k:a.Base64Url.encode(n),key_ops:r.usages,kty:"oct"}}return n.buffer})},r.importKey=function(e,r,t,n,o){return Promise.resolve().then(function(){var i;if("jwk"===e.toLowerCase()){var c=r;i=a.Base64Url.decode(c.k)}else i=new Uint8Array(r);var u=new s.CryptoKey({type:"secret",algorithm:t,extractable:n,usages:o});return u.key=i,u})},r.checkModule=function(){if("undefined"==typeof asmCrypto)throw new o.LinerError(o.LinerError.MODULE_NOT_FOUND,"asmCrypto","https://github.com/vibornoff/asmcrypto.js")},r}(a.BaseCrypto);r.AesCrypto=u;var h=t(2)},function(e,r,t){"use strict";var n=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var a=t(0),o=t(1),s=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.digest=function(e,r){return Promise.resolve().then(function(){if("undefined"==typeof asmCrypto)throw new o.LinerError(o.LinerError.MODULE_NOT_FOUND,"asmCrypto","https://github.com/vibornoff/asmcrypto.js");switch(e.name.toUpperCase()){case a.AlgorithmNames.Sha1:return asmCrypto.SHA1.bytes(r).buffer;case a.AlgorithmNames.Sha256:return asmCrypto.SHA256.bytes(r).buffer;case a.AlgorithmNames.Sha512:return asmCrypto.SHA512.bytes(r).buffer;default:throw new o.LinerError("Not supported algorithm '"+e.name+"'")}})},r}(a.BaseCrypto);r.ShaCrypto=s},function(e,r,t){"use strict";function n(e){var r=!0;return e.filter(function(e){return(!r||0!==e)&&(r=!1,!0)})}var a=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var o=t(0),s=t(1),i=t(5),c=t(3),u=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return a(r,e),r.generateKey=function(e,r,t){var n=this;return Promise.resolve().then(function(){n.checkModule();var a=3===e.publicExponent[0]?3:65537,i=asmCrypto.RSA.generateKey(e.modulusLength,a),u=new c.CryptoKey({type:"private",algorithm:e,extractable:r,usages:[]}),h=new c.CryptoKey({type:"public",algorithm:e,extractable:!0,usages:[]});switch(u.key=h.key=i,e.name.toLowerCase()){case o.AlgorithmNames.RsaOAEP.toLowerCase():u.usages=n.filterUsages(["decrypt","unwrapKey"],t),h.usages=n.filterUsages(["encrypt","wrapKey"],t);break;case o.AlgorithmNames.RsaSSA.toLowerCase():case o.AlgorithmNames.RsaPSS.toLowerCase():u.usages=n.filterUsages(["sign"],t),h.usages=n.filterUsages(["verify"],t);break;default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,e.name)}return{privateKey:u,publicKey:h}})},r.sign=function(e,r,t){return Promise.resolve().then(function(){switch(e.name.toLowerCase()){case o.AlgorithmNames.RsaSSA.toLowerCase():var n=r.algorithm,a=e,i=void 0;switch(n.hash.name.toUpperCase()){case o.AlgorithmNames.Sha1:i=asmCrypto.RSA_PKCS1_v1_5_SHA1.sign;break;case o.AlgorithmNames.Sha256:i=asmCrypto.RSA_PKCS1_v1_5_SHA256.sign;break;case o.AlgorithmNames.Sha512:i=asmCrypto.RSA_PKCS1_v1_5_SHA512.sign;break;default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,r.algorithm.name)}return i(t,r.key).buffer;case o.AlgorithmNames.RsaPSS.toLowerCase():var n=r.algorithm,a=e,i=void 0;switch(n.hash.name.toUpperCase()){case o.AlgorithmNames.Sha1:i=asmCrypto.RSA_PSS_SHA1.sign;break;case o.AlgorithmNames.Sha256:i=asmCrypto.RSA_PSS_SHA256.sign;break;case o.AlgorithmNames.Sha512:i=asmCrypto.RSA_PSS_SHA512.sign;break;default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,r.algorithm.name)}return i(t,r.key,a.saltLength).buffer;default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,e.name)}})},r.verify=function(e,r,t,n){return Promise.resolve().then(function(){switch(e.name.toLowerCase()){case o.AlgorithmNames.RsaSSA.toLowerCase():var a,i=r.algorithm;switch(i.hash.name.toUpperCase()){case o.AlgorithmNames.Sha1:a=asmCrypto.RSA_PKCS1_v1_5_SHA1.verify;break;case o.AlgorithmNames.Sha256:a=asmCrypto.RSA_PKCS1_v1_5_SHA256.verify;break;case o.AlgorithmNames.Sha512:a=asmCrypto.RSA_PKCS1_v1_5_SHA512.verify;break;default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,r.algorithm.name)}try{return a(t,n,r.key)}catch(e){return console.warn("Verify error: "+e.message),!1}case o.AlgorithmNames.RsaPSS.toLowerCase():var c=r.algorithm,u=e,h=void 0;switch(c.hash.name.toUpperCase()){case o.AlgorithmNames.Sha1:h=asmCrypto.RSA_PSS_SHA1.verify;break;case o.AlgorithmNames.Sha256:h=asmCrypto.RSA_PSS_SHA256.verify;break;case o.AlgorithmNames.Sha512:h=asmCrypto.RSA_PSS_SHA512.verify;break;default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,r.algorithm.name)}try{return h(t,n,r.key,u.saltLength)}catch(e){return console.warn("Verify error: "+e.message),!1}default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,e.name)}})},r.encrypt=function(e,r,t){return Promise.resolve().then(function(){switch(e.name.toLowerCase()){case o.AlgorithmNames.RsaOAEP.toLowerCase():var n=r.algorithm,a=e,i=void 0;switch(n.hash.name.toUpperCase()){case o.AlgorithmNames.Sha1:i=asmCrypto.RSA_OAEP_SHA1.encrypt;break;case o.AlgorithmNames.Sha256:i=asmCrypto.RSA_OAEP_SHA256.encrypt;break;case o.AlgorithmNames.Sha512:i=asmCrypto.RSA_OAEP_SHA512.encrypt;break;default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,n.name+" "+n.hash.name)}var c=void 0;return a.label&&(c=o.PrepareData(a.label,"label")),i(t,r.key,c);default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,e.name)}})},r.decrypt=function(e,r,t){return Promise.resolve().then(function(){switch(e.name.toLowerCase()){case o.AlgorithmNames.RsaOAEP.toLowerCase():var n=r.algorithm,a=e,i=void 0;switch(n.hash.name.toUpperCase()){case o.AlgorithmNames.Sha1:i=asmCrypto.RSA_OAEP_SHA1.decrypt;break;case o.AlgorithmNames.Sha256:i=asmCrypto.RSA_OAEP_SHA256.decrypt;break;case o.AlgorithmNames.Sha512:i=asmCrypto.RSA_OAEP_SHA512.decrypt;break;default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,n.name+" "+n.hash.name)}var c=void 0;return a.label&&(c=o.PrepareData(a.label,"label")),i(t,r.key,c);default:throw new s.LinerError(s.LinerError.UNSUPPORTED_ALGORITHM,e.name)}})},r.wrapKey=function(e,r,t,n){var a;return Promise.resolve().then(function(){return a=new h.Crypto,a.subtle.exportKey(e,r)}).then(function(e){var r;return r=e instanceof ArrayBuffer?new Uint8Array(e):i.string2buffer(JSON.stringify(e)),a.subtle.encrypt(n,t,r)})},r.unwrapKey=function(e,r,t,n,a,o,s){var c;return Promise.resolve().then(function(){return c=new h.Crypto,c.subtle.decrypt(n,t,r)}).then(function(r){var t;return t="jwk"===e.toLowerCase()?JSON.parse(i.buffer2string(new Uint8Array(r))):new Uint8Array(r),c.subtle.importKey(e,t,a,o,s)})},r.alg2jwk=function(e){var r=e.hash,t=/(\d+)/.exec(r.name)[1];switch(e.name.toUpperCase()){case o.AlgorithmNames.RsaOAEP.toUpperCase():return"RSA-OAEP"+("1"===t?"":"-"+t);case o.AlgorithmNames.RsaPSS.toUpperCase():return"PS"+t;case o.AlgorithmNames.RsaSSA.toUpperCase():return"RS"+t;default:throw new o.AlgorithmError(o.AlgorithmError.UNSUPPORTED_ALGORITHM,e.name)}},r.jwk2alg=function(e){throw new Error("Not implemented")},r.exportKey=function(e,r){var t=this;return Promise.resolve().then(function(){if("jwk"===e.toLowerCase()){var a={kty:"RSA",ext:!0,key_ops:r.usages};return a.alg=t.alg2jwk(r.algorithm),a.n=o.Base64Url.encode(n(r.key[0])),a.e=o.Base64Url.encode(n(r.key[1])),"private"===r.type&&(a.d=o.Base64Url.encode(n(r.key[2])),a.p=o.Base64Url.encode(n(r.key[3])),a.q=o.Base64Url.encode(n(r.key[4])),a.dp=o.Base64Url.encode(n(r.key[5])),a.dq=o.Base64Url.encode(n(r.key[6])),a.qi=o.Base64Url.encode(n(r.key[7]))),a}throw new s.LinerError(s.LinerError.NOT_SUPPORTED)})},r.importKey=function(e,r,t,n,a){return Promise.resolve().then(function(){var i,u=new c.CryptoKey({algorithm:t,extractable:n,usages:a});if(u.key=[],"jwk"===e.toLowerCase())return i=r,u.key[0]=o.Base64Url.decode(i.n),u.key[1]=3===o.Base64Url.decode(i.e)[0]?new Uint8Array([0,0,0,3]):new Uint8Array([0,1,0,1]),i.d?(u.type="private",u.key[2]=o.Base64Url.decode(i.d),u.key[3]=o.Base64Url.decode(i.p),u.key[4]=o.Base64Url.decode(i.q),u.key[5]=o.Base64Url.decode(i.dp),u.key[6]=o.Base64Url.decode(i.dq),u.key[7]=o.Base64Url.decode(i.qi)):u.type="public",u;throw new s.LinerError(s.LinerError.NOT_SUPPORTED)})},r.checkModule=function(){if("undefined"==typeof asmCrypto)throw new s.LinerError(s.LinerError.MODULE_NOT_FOUND,"asmCrypto","https://github.com/vibornoff/asmcrypto.js")},r.filterUsages=function(e,r){return e.filter(function(e){return!!r.filter(function(r){return e===r}).length})},r}(o.BaseCrypto);r.RsaCrypto=u;var h=t(2)},function(e,r,t){"use strict";function n(e){for(var r=new Uint8Array(e),t=[],n=0;n<r.length;n++)t.push(r[n]);return t}function a(e,r){e.length%2&&(e="0"+e);for(var t=new Uint8Array(e.length/2),n=0;n<e.length;n++){var a=e.slice(n,++n+1);t[(n-1)/2]=parseInt(a,16)}if(r){var o=t.length;o=o>32?o>48?66:48:32,t.length<o&&(t=h.concat(new Uint8Array(o-t.length),t))}return t}function o(e,r){for(var t="",n=0;n<e.length;n++){var a=e[n].toString(16);t+=a.length%2?"0"+a:a}if(r){var o=e.length;o=o>32?o>48?66:48:32,t.length/2<o&&(t=new Array(2*o-t.length+1).join("0")+t)}return t}var s=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var i=t(0),c=t(1),u=t(3),h=t(5),p=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return s(r,e),r.generateKey=function(e,r,t){var n=this;return Promise.resolve().then(function(){n.checkModule();var t=new elliptic.ec(n.getNamedCurve(e.namedCurve)),a=new u.CryptoKey({type:"private",algorithm:e,extractable:r,usages:[]}),o=new u.CryptoKey({type:"public",algorithm:e,extractable:!0,usages:[]});return a.key=o.key=t.genKeyPair(),e.name===i.AlgorithmNames.EcDSA?(a.usages=["sign"],o.usages=["verify"]):e.name===i.AlgorithmNames.EcDH&&(a.usages=["deriveKey","deriveBits"],o.usages=[]),{privateKey:a,publicKey:o}})},r.sign=function(e,r,t){return Promise.resolve().then(function(){var r=e;return(new f.Crypto).subtle.digest(r.hash,t)}).then(function(e){var t=n(e),s=r.key.sign(t);return a(o(s.r.toArray(),!0)+o(s.s.toArray(),!0)).buffer})},r.verify=function(e,r,t,a){var o;return Promise.resolve().then(function(){var r=e;return o={r:t.slice(0,t.byteLength/2),s:t.slice(t.byteLength/2)},(new f.Crypto).subtle.digest(r.hash,a)}).then(function(e){var t=n(e);return r.key.verify(t,o)})},r.deriveKey=function(e,r,t,n,a){var o=this;return Promise.resolve().then(function(){return o.deriveBits(e,r,t.length)}).then(function(e){return(new f.Crypto).subtle.importKey("raw",new Uint8Array(e),t,n,a)})},r.deriveBits=function(e,r,t){return Promise.resolve().then(function(){var n=(Promise.resolve(null),r.key.derive(e.public.key.getPublic())),a=new Uint8Array(n.toArray()),o=a.length;return o=o>32?o>48?66:48:32,a.length<o&&(a=h.concat(new Uint8Array(o-a.length),a)),a.slice(0,t/8).buffer})},r.exportKey=function(e,r){return Promise.resolve().then(function(){var t=r.key;if("jwk"===e.toLowerCase()){var n=t.getPublic("hex").slice(2),o=n.slice(0,n.length/2),s=n.slice(n.length/2,n.length);if("public"===r.type){var u={crv:r.algorithm.namedCurve,ext:r.extractable,x:i.Base64Url.encode(a(o,!0)),y:i.Base64Url.encode(a(s,!0)),key_ops:r.usages,kty:"EC"};return u}var u={crv:r.algorithm.namedCurve,ext:r.extractable,d:i.Base64Url.encode(a(t.getPrivate("hex"),!0)),x:i.Base64Url.encode(a(o,!0)),y:i.Base64Url.encode(a(s,!0)),key_ops:r.usages,kty:"EC"};return u}throw new c.LinerError("Format '"+e+"' is not implemented")})},r.importKey=function(e,r,t,n,a){var s=this;return Promise.resolve().then(function(){var p=new u.CryptoKey({algorithm:t,extractable:n,usages:a});if("jwk"!==e.toLowerCase())throw new c.LinerError("Format '"+e+"' is not implemented");var f=s.getNamedCurve(t.namedCurve);console.log(f);var y=new elliptic.ec(f);if(r.d)p.key=y.keyFromPrivate(i.Base64Url.decode(r.d)),p.type="private";else{var l=h.concat(new Uint8Array([4]),i.Base64Url.decode(r.x),i.Base64Url.decode(r.y)),m=o(l);p.key=y.keyFromPublic(m,"hex"),p.type="public"}return p})},r.checkModule=function(){if("undefined"==typeof elliptic)throw new c.LinerError(c.LinerError.MODULE_NOT_FOUND,"elliptic","https://github.com/indutny/elliptic")},r.getNamedCurve=function(e){var r=e.toUpperCase(),t="";if(["P-256","P-384","P-521"].indexOf(r)>-1)t=r.replace("-","").toLowerCase();else{if("K-256"!==r)throw new c.LinerError("Unsupported named curve '"+e+"'");t="secp256k1"}return t},r}(i.BaseCrypto);r.EcCrypto=p;var f=t(2)},function(e,r,t){"use strict";var n=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var a=t(0),o=t(1),s=t(3),i=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.importKey=function(e,r,t,n,a){return Promise.resolve().then(function(){var e=new Uint8Array(r),o=new s.CryptoKey({type:"secret",algorithm:t,extractable:n,usages:a});return o.key=e,o})},r.deriveBits=function(e,r,t){return Promise.resolve().then(function(){var n,s=new Uint8Array(e.salt),i=e.iterations,c=t/8,u="string"==typeof e.hash?e.hash:e.hash.name;switch(u.toUpperCase()){case a.AlgorithmNames.Sha512.toUpperCase():n=asmCrypto.PBKDF2_HMAC_SHA512.bytes(r.key,s,i,c);break;case a.AlgorithmNames.Sha256.toUpperCase():n=asmCrypto.PBKDF2_HMAC_SHA256.bytes(r.key,s,i,c);break;case a.AlgorithmNames.Sha1.toUpperCase():n=asmCrypto.PBKDF2_HMAC_SHA1.bytes(r.key,s,i,c);break;default:throw new o.LinerError(o.LinerError.UNSUPPORTED_ALGORITHM,u)}return n.buffer})},r.deriveKey=function(e,r,t,n,s){var i=this;return Promise.resolve().then(function(){var n=0;switch(t.name.toUpperCase()){case a.AlgorithmNames.AesCBC.toUpperCase():case a.AlgorithmNames.AesCTR.toUpperCase():case a.AlgorithmNames.AesGCM.toUpperCase():case a.AlgorithmNames.AesKW.toUpperCase():n=t.length;break;case a.AlgorithmNames.Hmac.toUpperCase():n=512;break;default:throw new o.LinerError(o.LinerError.UNSUPPORTED_ALGORITHM,t.name)}return i.deriveBits(e,r,n)}).then(function(e){return(new c.Crypto).subtle.importKey("raw",new Uint8Array(e),t,n,s)})},r}(a.BaseCrypto);r.Pbkdf2Crypto=i;var c=t(2)},function(e,r,t){"use strict";var n=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var a=t(0),o=t(3),s=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.importKey=function(e,r,t,n,s){return Promise.resolve().then(function(){var i;if("jwk"===e.toLowerCase()){var c=r;i=a.Base64Url.decode(c.k)}else i=new Uint8Array(r);var u=new o.CryptoKey({type:"secret",algorithm:t,extractable:n,usages:s});return u.key=i,u})},r.sign=function(e,r,t){return Promise.resolve().then(function(){return asmCrypto.HMAC_SHA256.bytes(t,r.key).buffer})},r.exportKey=function(e,r){return Promise.resolve().then(function(){var t=r.key;if("jwk"===e.toLowerCase()){return{alg:"HS256",kty:"oct",k:a.Base64Url.encode(t),key_ops:r.usages,ext:r.extractable}}return t.buffer})},r}(a.BaseCrypto);r.HmacCrypto=s},function(e,r,t){"use strict";function n(e,r){return asmCrypto.HMAC_SHA256.bytes(e,r)}function a(e,r,t){for(var n=e.length,a=Math.ceil(r/n),o=new Uint8Array(n*a+t.length+1),s=0,i=0,c=0;c<a;c++){o.set(t,i),o[i+t.length]=c+1;var u=asmCrypto.HMAC_SHA256.bytes(o.slice(s,i+t.length+1),e);o.set(u,i),s=i,i+=n}return o.slice(0,r)}function o(e,r,t,o){return a(n(e,t),r,o)}var s=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])};return function(r,t){function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}();Object.defineProperty(r,"__esModule",{value:!0});var i=t(0),c=t(1),u=t(3),h=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return s(r,e),r.importKey=function(e,r,t,n,a){return Promise.resolve().then(function(){var e=new Uint8Array(r),o=new u.CryptoKey({type:"secret",algorithm:t,extractable:n,usages:a});return o.key=e,o})},r.deriveBits=function(e,r,t){return Promise.resolve().then(function(){var n,a=new Uint8Array(e.salt),s=new Uint8Array(e.info),u=t/8,h="string"==typeof e.hash?e.hash:e.hash.name;switch(h.toUpperCase()){case i.AlgorithmNames.Sha256.toUpperCase():n=o(r.key,u,a,s);break;default:throw new c.LinerError(c.LinerError.UNSUPPORTED_ALGORITHM,h)}return n.buffer})},r.deriveKey=function(e,r,t,n,a){var o=this;return Promise.resolve().then(function(){var n=0;switch(t.name.toUpperCase()){case i.AlgorithmNames.AesCBC.toUpperCase():case i.AlgorithmNames.AesCTR.toUpperCase():case i.AlgorithmNames.AesGCM.toUpperCase():case i.AlgorithmNames.AesKW.toUpperCase():n=t.length;break;case i.AlgorithmNames.Hmac.toUpperCase():n=512;break;default:throw new c.LinerError(c.LinerError.UNSUPPORTED_ALGORITHM,t.name)}return o.deriveBits(e,r,n)}).then(function(e){return(new p.Crypto).subtle.importKey("raw",new Uint8Array(e),t,n,a)})},r}(i.BaseCrypto);r.HkdfCrypto=h;var p=t(2)},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(6),a=self;n.nativeCrypto&&Object.freeze(n.nativeCrypto.getRandomValues),delete self.crypto,a.crypto=new n.Crypto,Object.freeze(a.crypto),r.crypto=a.crypto}]);
/*! asmCrypto v0.22.0, (c) 2018 asmCrypto.js, opensource.org/licenses/MIT */
!function(f,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(f.asmCrypto={})}(this,function(f){"use strict";var t="undefined"!=typeof Float64Array?Float64Array:Float32Array;function e(f,t){t=!!t;for(var e=f.length,r=new Uint8Array(t?4*e:e),i=0,s=0;i<e;i++){var n=f.charCodeAt(i);if(t&&55296<=n&&n<=56319){if(++i>=e)throw new Error("Malformed string, low surrogate expected at position "+i);n=(55296^n)<<10|65536|56320^f.charCodeAt(i)}else if(!t&&n>>>8)throw new Error("Wide characters are not allowed.");!t||n<=127?r[s++]=n:n<=2047?(r[s++]=192|n>>6,r[s++]=128|63&n):n<=65535?(r[s++]=224|n>>12,r[s++]=128|n>>6&63,r[s++]=128|63&n):(r[s++]=240|n>>18,r[s++]=128|n>>12&63,r[s++]=128|n>>6&63,r[s++]=128|63&n)}return r.subarray(0,s)}function r(f,t){t=!!t;for(var e=f.length,r=new Array(e),i=0,s=0;i<e;i++){var n=f[i];if(!t||n<128)r[s++]=n;else if(n>=192&&n<224&&i+1<e)r[s++]=(31&n)<<6|63&f[++i];else if(n>=224&&n<240&&i+2<e)r[s++]=(15&n)<<12|(63&f[++i])<<6|63&f[++i];else{if(!(n>=240&&n<248&&i+3<e))throw new Error("Malformed UTF8 character at byte offset "+i);var a=(7&n)<<18|(63&f[++i])<<12|(63&f[++i])<<6|63&f[++i];a<=65535?r[s++]=a:(a^=65536,r[s++]=55296|a>>10,r[s++]=56320|1023&a)}}var h="";for(i=0;i<s;i+=16384)h+=String.fromCharCode.apply(String,r.slice(i,i+16384<=s?i+16384:s));return h}function i(f){for(var t="",e=0;e<f.length;e++){var r=(255&f[e]).toString(16);r.length<2&&(t+="0"),t+=r}return t}function s(f){return btoa(r(f))}function n(f){return"number"==typeof f}function a(f){return"string"==typeof f}function h(f){return f instanceof ArrayBuffer}function o(f){return f instanceof Uint8Array}function x(f){return f instanceof Int8Array||f instanceof Uint8Array||f instanceof Int16Array||f instanceof Uint16Array||f instanceof Int32Array||f instanceof Uint32Array||f instanceof Float32Array||f instanceof Float64Array}function c(f,t,e){var r=t?t.byteLength:e||65536;if(4095&r||r<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return t=t||new f(new ArrayBuffer(r))}function u(f,t,e,r,i){var s=f.length-t,n=s<i?s:i;return f.set(e.subarray(r,r+n),t),n}function l(){var f=Error.apply(this,arguments);this.message=f.message,this.stack=f.stack}function y(){var f=Error.apply(this,arguments);this.message=f.message,this.stack=f.stack}function w(){var f=Error.apply(this,arguments);this.message=f.message,this.stack=f.stack}l.prototype=Object.create(Error.prototype,{name:{value:"IllegalStateError"}}),y.prototype=Object.create(Error.prototype,{name:{value:"IllegalArgumentError"}}),w.prototype=Object.create(Error.prototype,{name:{value:"SecurityError"}});var d=function(){var f,t,e=!1;function r(e,r){var i=f[(t[e]+t[r])%255];return 0!==e&&0!==r||(i=0),i}var i,s,n,a;function h(){function h(e){var r,i,s;for(i=s=function(e){var r=f[255-t[e]];return 0===e&&(r=0),r}(e),r=0;r<4;r++)s^=i=255&(i<<1|i>>>7);return s^=99}e||function(){f=[],t=[];var r,i,s=1;for(r=0;r<255;r++)f[r]=s,i=128&s,s<<=1,s&=255,128===i&&(s^=27),s^=f[r],t[f[r]]=r;f[255]=f[0],t[0]=0,e=!0}(),i=[],s=[],n=[[],[],[],[]],a=[[],[],[],[]];for(var o=0;o<256;o++){var x=h(o);i[o]=x,s[x]=o,n[0][o]=r(2,x)<<24|x<<16|x<<8|r(3,x),a[0][x]=r(14,o)<<24|r(9,o)<<16|r(13,o)<<8|r(11,o);for(var c=1;c<4;c++)n[c][o]=n[c-1][o]>>>8|n[c-1][o]<<24,a[c][x]=a[c-1][x]>>>8|a[c-1][x]<<24}}var o=function(f,t){h();var e=new Uint32Array(t);e.set(i,512),e.set(s,768);for(var r=0;r<4;r++)e.set(n[r],4096+1024*r>>2),e.set(a[r],8192+1024*r>>2);var o=function(f,t,e){"use asm";var r=0,i=0,s=0,n=0,a=0,h=0,o=0,x=0,c=0,u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0,b=0,m=0,_=0,A=0;var E=new f.Uint32Array(e),S=new f.Uint8Array(e);function C(f,t,e,a,h,o,x,c){f=f|0;t=t|0;e=e|0;a=a|0;h=h|0;o=o|0;x=x|0;c=c|0;var u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0;u=e|0x400,l=e|0x800,y=e|0xc00;h=h^E[(f|0)>>2],o=o^E[(f|4)>>2],x=x^E[(f|8)>>2],c=c^E[(f|12)>>2];for(v=16;(v|0)<=a<<4;v=v+16|0){w=E[(e|h>>22&1020)>>2]^E[(u|o>>14&1020)>>2]^E[(l|x>>6&1020)>>2]^E[(y|c<<2&1020)>>2]^E[(f|v|0)>>2],d=E[(e|o>>22&1020)>>2]^E[(u|x>>14&1020)>>2]^E[(l|c>>6&1020)>>2]^E[(y|h<<2&1020)>>2]^E[(f|v|4)>>2],p=E[(e|x>>22&1020)>>2]^E[(u|c>>14&1020)>>2]^E[(l|h>>6&1020)>>2]^E[(y|o<<2&1020)>>2]^E[(f|v|8)>>2],g=E[(e|c>>22&1020)>>2]^E[(u|h>>14&1020)>>2]^E[(l|o>>6&1020)>>2]^E[(y|x<<2&1020)>>2]^E[(f|v|12)>>2];h=w,o=d,x=p,c=g}r=E[(t|h>>22&1020)>>2]<<24^E[(t|o>>14&1020)>>2]<<16^E[(t|x>>6&1020)>>2]<<8^E[(t|c<<2&1020)>>2]^E[(f|v|0)>>2],i=E[(t|o>>22&1020)>>2]<<24^E[(t|x>>14&1020)>>2]<<16^E[(t|c>>6&1020)>>2]<<8^E[(t|h<<2&1020)>>2]^E[(f|v|4)>>2],s=E[(t|x>>22&1020)>>2]<<24^E[(t|c>>14&1020)>>2]<<16^E[(t|h>>6&1020)>>2]<<8^E[(t|o<<2&1020)>>2]^E[(f|v|8)>>2],n=E[(t|c>>22&1020)>>2]<<24^E[(t|h>>14&1020)>>2]<<16^E[(t|o>>6&1020)>>2]<<8^E[(t|x<<2&1020)>>2]^E[(f|v|12)>>2]}function U(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;C(0x0000,0x0800,0x1000,A,f,t,e,r)}function k(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var s=0;C(0x0400,0x0c00,0x2000,A,f,r,e,t);s=i,i=n,n=s}function M(f,t,e,c){f=f|0;t=t|0;e=e|0;c=c|0;C(0x0000,0x0800,0x1000,A,a^f,h^t,o^e,x^c);a=r,h=i,o=s,x=n}function H(f,t,e,c){f=f|0;t=t|0;e=e|0;c=c|0;var u=0;C(0x0400,0x0c00,0x2000,A,f,c,e,t);u=i,i=n,n=u;r=r^a,i=i^h,s=s^o,n=n^x;a=f,h=t,o=e,x=c}function L(f,t,e,c){f=f|0;t=t|0;e=e|0;c=c|0;C(0x0000,0x0800,0x1000,A,a,h,o,x);a=r=r^f,h=i=i^t,o=s=s^e,x=n=n^c}function T(f,t,e,c){f=f|0;t=t|0;e=e|0;c=c|0;C(0x0000,0x0800,0x1000,A,a,h,o,x);r=r^f,i=i^t,s=s^e,n=n^c;a=f,h=t,o=e,x=c}function I(f,t,e,c){f=f|0;t=t|0;e=e|0;c=c|0;C(0x0000,0x0800,0x1000,A,a,h,o,x);a=r,h=i,o=s,x=n;r=r^f,i=i^t,s=s^e,n=n^c}function Z(f,t,e,a){f=f|0;t=t|0;e=e|0;a=a|0;C(0x0000,0x0800,0x1000,A,c,u,l,y);y=~g&y|g&y+1;l=~p&l|p&l+((y|0)==0);u=~d&u|d&u+((l|0)==0);c=~w&c|w&c+((u|0)==0);r=r^f;i=i^t;s=s^e;n=n^a}function D(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var i=0,s=0,n=0,c=0,u=0,l=0,y=0,w=0,d=0,p=0;f=f^a,t=t^h,e=e^o,r=r^x;i=v|0,s=b|0,n=m|0,c=_|0;for(;(d|0)<128;d=d+1|0){if(i>>>31){u=u^f,l=l^t,y=y^e,w=w^r}i=i<<1|s>>>31,s=s<<1|n>>>31,n=n<<1|c>>>31,c=c<<1;p=r&1;r=r>>>1|e<<31,e=e>>>1|t<<31,t=t>>>1|f<<31,f=f>>>1;if(p)f=f^0xe1000000}a=u,h=l,o=y,x=w}function P(f){f=f|0;A=f}function O(f,t,e,a){f=f|0;t=t|0;e=e|0;a=a|0;r=f,i=t,s=e,n=a}function B(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;a=f,h=t,o=e,x=r}function q(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;c=f,u=t,l=e,y=r}function G(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;w=f,d=t,p=e,g=r}function R(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;y=~g&y|g&r,l=~p&l|p&e,u=~d&u|d&t,c=~w&c|w&f}function z(f){f=f|0;if(f&15)return-1;S[f|0]=r>>>24,S[f|1]=r>>>16&255,S[f|2]=r>>>8&255,S[f|3]=r&255,S[f|4]=i>>>24,S[f|5]=i>>>16&255,S[f|6]=i>>>8&255,S[f|7]=i&255,S[f|8]=s>>>24,S[f|9]=s>>>16&255,S[f|10]=s>>>8&255,S[f|11]=s&255,S[f|12]=n>>>24,S[f|13]=n>>>16&255,S[f|14]=n>>>8&255,S[f|15]=n&255;return 16}function N(f){f=f|0;if(f&15)return-1;S[f|0]=a>>>24,S[f|1]=a>>>16&255,S[f|2]=a>>>8&255,S[f|3]=a&255,S[f|4]=h>>>24,S[f|5]=h>>>16&255,S[f|6]=h>>>8&255,S[f|7]=h&255,S[f|8]=o>>>24,S[f|9]=o>>>16&255,S[f|10]=o>>>8&255,S[f|11]=o&255,S[f|12]=x>>>24,S[f|13]=x>>>16&255,S[f|14]=x>>>8&255,S[f|15]=x&255;return 16}function K(){U(0,0,0,0);v=r,b=i,m=s,_=n}function F(f,t,e){f=f|0;t=t|0;e=e|0;var a=0;if(t&15)return-1;while((e|0)>=16){V[f&7](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);S[t|0]=r>>>24,S[t|1]=r>>>16&255,S[t|2]=r>>>8&255,S[t|3]=r&255,S[t|4]=i>>>24,S[t|5]=i>>>16&255,S[t|6]=i>>>8&255,S[t|7]=i&255,S[t|8]=s>>>24,S[t|9]=s>>>16&255,S[t|10]=s>>>8&255,S[t|11]=s&255,S[t|12]=n>>>24,S[t|13]=n>>>16&255,S[t|14]=n>>>8&255,S[t|15]=n&255;a=a+16|0,t=t+16|0,e=e-16|0}return a|0}function j(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;if(t&15)return-1;while((e|0)>=16){W[f&1](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);r=r+16|0,t=t+16|0,e=e-16|0}return r|0}var V=[U,k,M,H,L,T,I,Z];var W=[M,D];return{set_rounds:P,set_state:O,set_iv:B,set_nonce:q,set_mask:G,set_counter:R,get_state:z,get_iv:N,gcm_init:K,cipher:F,mac:j}}({Uint8Array:Uint8Array,Uint32Array:Uint32Array},f,t);return o.set_key=function(f,t,r,s,n,h,x,c,u){var l=e.subarray(0,60),y=e.subarray(256,316);l.set([t,r,s,n,h,x,c,u]);for(var w=f,d=1;w<4*f+28;w++){var p=l[w-1];(w%f==0||8===f&&w%f==4)&&(p=i[p>>>24]<<24^i[p>>>16&255]<<16^i[p>>>8&255]<<8^i[255&p]),w%f==0&&(p=p<<8^p>>>24^d<<24,d=d<<1^(128&d?27:0)),l[w]=l[w-f]^p}for(var g=0;g<w;g+=4)for(var v=0;v<4;v++)p=l[w-(4+g)+(4-v)%4],y[g+v]=g<4||g>=w-4?p:a[0][i[p>>>24]]^a[1][i[p>>>16&255]]^a[2][i[p>>>8&255]]^a[3][i[255&p]];o.set_rounds(f+5)},o};return o.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},o.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},o.MAC={CBC:0,GCM:1},o.HEAP_DATA=16384,o}(),p=new Uint8Array(1048576),g=d(null,p.buffer);class v{constructor(f,t,e,r,i){this.nonce=null,this.counter=0,this.counterSize=0,this.heap=c(Uint8Array,r).subarray(d.HEAP_DATA),this.asm=i||d(null,this.heap.buffer),this.mode=null,this.key=null,this.AES_reset(f,t,e)}AES_set_key(f){if(void 0!==f){if(!o(f))throw new TypeError("unexpected key type");var t=f.length;if(16!==t&&24!==t&&32!==t)throw new y("illegal key size");var e=new DataView(f.buffer,f.byteOffset,f.byteLength);this.asm.set_key(t>>2,e.getUint32(0),e.getUint32(4),e.getUint32(8),e.getUint32(12),t>16?e.getUint32(16):0,t>16?e.getUint32(20):0,t>24?e.getUint32(24):0,t>24?e.getUint32(28):0),this.key=f}else if(!this.key)throw new Error("key is required")}AES_CTR_set_options(f,t,e){if(void 0!==e){if(e<8||e>48)throw new y("illegal counter size");this.counterSize=e;var r=Math.pow(2,e)-1;this.asm.set_mask(0,0,r/4294967296|0,0|r)}else this.counterSize=e=48,this.asm.set_mask(0,0,65535,4294967295);if(void 0===f)throw new Error("nonce is required");if(!o(f))throw new TypeError("unexpected nonce type");var i=f.length;if(!i||i>16)throw new y("illegal nonce size");this.nonce=f;var s=new DataView(new ArrayBuffer(16));if(new Uint8Array(s.buffer).set(f),this.asm.set_nonce(s.getUint32(0),s.getUint32(4),s.getUint32(8),s.getUint32(12)),void 0!==t){if(!n(t))throw new TypeError("unexpected counter type");if(t<0||t>=Math.pow(2,e))throw new y("illegal counter value");this.counter=t,this.asm.set_counter(0,0,t/4294967296|0,0|t)}else this.counter=0}AES_set_iv(f){if(void 0!==f){if(!o(f))throw new TypeError("unexpected iv type");if(16!==f.length)throw new y("illegal iv size");var t=new DataView(f.buffer,f.byteOffset,f.byteLength);this.iv=f,this.asm.set_iv(t.getUint32(0),t.getUint32(4),t.getUint32(8),t.getUint32(12))}else this.iv=null,this.asm.set_iv(0,0,0,0)}AES_set_padding(f){this.padding=void 0===f||!!f}AES_reset(f,t,e){return this.result=null,this.pos=0,this.len=0,this.AES_set_key(f),this.AES_set_iv(t),this.AES_set_padding(e),this}AES_Encrypt_process(f){if(!o(f))throw new TypeError("data isn't of expected type");for(var t=this.asm,e=this.heap,r=d.ENC[this.mode],i=d.HEAP_DATA,s=this.pos,n=this.len,a=0,h=f.length||0,x=0,c=0,l=new Uint8Array(n+h&-16);h>0;)n+=c=u(e,s+n,f,a,h),a+=c,h-=c,(c=t.cipher(r,i+s,n))&&l.set(e.subarray(s,s+c),x),x+=c,c<n?(s+=c,n-=c):(s=0,n=0);return this.result=l,this.pos=s,this.len=n,this}AES_Encrypt_finish(f){var t=null,e=0;void 0!==f&&(e=(t=this.AES_Encrypt_process(f).result).length);var r=this.asm,i=this.heap,s=d.ENC[this.mode],n=d.HEAP_DATA,a=this.pos,h=this.len,o=16-h%16,x=h;if(this.hasOwnProperty("padding")){if(this.padding){for(var c=0;c<o;++c)i[a+h+c]=o;x=h+=o}else if(h%16)throw new y("data length must be a multiple of the block size")}else h+=o;var u=new Uint8Array(e+x);return e&&u.set(t),h&&r.cipher(s,n+a,h),x&&u.set(i.subarray(a,a+x),e),this.result=u,this.pos=0,this.len=0,this}AES_Decrypt_process(f){if(!o(f))throw new TypeError("data isn't of expected type");var t=this.asm,e=this.heap,r=d.DEC[this.mode],i=d.HEAP_DATA,s=this.pos,n=this.len,a=0,h=f.length||0,x=0,c=n+h&-16,l=0,y=0;this.padding&&(c-=l=n+h-c||16);for(var w=new Uint8Array(c);h>0;)n+=y=u(e,s+n,f,a,h),a+=y,h-=y,(y=t.cipher(r,i+s,n-(h?0:l)))&&w.set(e.subarray(s,s+y),x),x+=y,y<n?(s+=y,n-=y):(s=0,n=0);return this.result=w,this.pos=s,this.len=n,this}AES_Decrypt_finish(f){var t=null,e=0;void 0!==f&&(e=(t=this.AES_Decrypt_process(f).result).length);var r=this.asm,i=this.heap,s=d.DEC[this.mode],n=d.HEAP_DATA,a=this.pos,h=this.len,o=h;if(h>0){if(h%16){if(this.hasOwnProperty("padding"))throw new y("data length must be a multiple of the block size");h+=16-h%16}if(r.cipher(s,n+a,h),this.hasOwnProperty("padding")&&this.padding){var x=i[a+o-1];if(x<1||x>16||x>o)throw new w("bad padding");for(var c=0,u=x;u>1;u--)c|=x^i[a+o-u];if(c)throw new w("bad padding");o-=x}}var l=new Uint8Array(e+o);return e>0&&l.set(t),o>0&&l.set(i.subarray(a,a+o),e),this.result=l,this.pos=0,this.len=0,this}}class b extends v{constructor(f,t=null,e=!0,r,i){super(f,t,e,r,i),this.mode="CBC",this.BLOCK_SIZE=16}encrypt(f){return this.AES_Encrypt_finish(f)}decrypt(f){return this.AES_Decrypt_finish(f)}}b.encrypt=function(f,t,e,r){if(void 0===f)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");return new b(t,r,e,p,g).encrypt(f).result},b.decrypt=function(f,t,e,r){if(void 0===f)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");return new b(t,r,e,p,g).decrypt(f).result};var m=68719476704;class _ extends v{constructor(f,t,e,r,i,s){super(f,void 0,!1,i,s),this.nonce=null,this.adata=null,this.iv=null,this.counter=1,this.tagSize=16,this.mode="GCM",this.BLOCK_SIZE=16,this.reset(f,r,t,e)}reset(f,t,e,r){return this.AES_GCM_reset(f,t,e,r)}encrypt(f){return this.AES_GCM_encrypt(f)}decrypt(f){return this.AES_GCM_decrypt(f)}AES_GCM_Encrypt_process(f){if(!o(f))throw new TypeError("data isn't of expected type");var t=0,e=f.length||0,r=this.asm,i=this.heap,s=this.counter,n=this.pos,a=this.len,h=0,x=a+e&-16,c=0;if((s-1<<4)+a+e>m)throw new RangeError("counter overflow");for(var l=new Uint8Array(x);e>0;)a+=c=u(i,n+a,f,t,e),t+=c,e-=c,c=r.cipher(d.ENC.CTR,d.HEAP_DATA+n,a),(c=r.mac(d.MAC.GCM,d.HEAP_DATA+n,c))&&l.set(i.subarray(n,n+c),h),s+=c>>>4,h+=c,c<a?(n+=c,a-=c):(n=0,a=0);return this.result=l,this.counter=s,this.pos=n,this.len=a,this}AES_GCM_Encrypt_finish(){var f=this.asm,t=this.heap,e=this.counter,r=this.tagSize,i=this.adata,s=this.pos,n=this.len,a=new Uint8Array(n+r);f.cipher(d.ENC.CTR,d.HEAP_DATA+s,n+15&-16),n&&a.set(t.subarray(s,s+n));for(var h=n;15&h;h++)t[s+h]=0;f.mac(d.MAC.GCM,d.HEAP_DATA+s,h);var o=null!==i?i.length:0,x=(e-1<<4)+n;return t[0]=t[1]=t[2]=0,t[3]=o>>>29,t[4]=o>>>21,t[5]=o>>>13&255,t[6]=o>>>5&255,t[7]=o<<3&255,t[8]=t[9]=t[10]=0,t[11]=x>>>29,t[12]=x>>>21&255,t[13]=x>>>13&255,t[14]=x>>>5&255,t[15]=x<<3&255,f.mac(d.MAC.GCM,d.HEAP_DATA,16),f.get_iv(d.HEAP_DATA),f.set_counter(0,0,0,this.gamma0),f.cipher(d.ENC.CTR,d.HEAP_DATA,16),a.set(t.subarray(0,r),n),this.result=a,this.counter=1,this.pos=0,this.len=0,this}AES_GCM_Decrypt_process(f){if(!o(f))throw new TypeError("data isn't of expected type");var t=0,e=f.length||0,r=this.asm,i=this.heap,s=this.counter,n=this.tagSize,a=this.pos,h=this.len,x=0,c=h+e>n?h+e-n&-16:0,l=h+e-c,y=0;if((s-1<<4)+h+e>m)throw new RangeError("counter overflow");for(var w=new Uint8Array(c);e>l;)h+=y=u(i,a+h,f,t,e-l),t+=y,e-=y,y=r.mac(d.MAC.GCM,d.HEAP_DATA+a,y),(y=r.cipher(d.DEC.CTR,d.HEAP_DATA+a,y))&&w.set(i.subarray(a,a+y),x),s+=y>>>4,x+=y,a=0,h=0;return e>0&&(h+=u(i,0,f,t,e)),this.result=w,this.counter=s,this.pos=a,this.len=h,this}AES_GCM_Decrypt_finish(){var f=this.asm,t=this.heap,e=this.tagSize,r=this.adata,i=this.counter,s=this.pos,n=this.len,a=n-e;if(n<e)throw new l("authentication tag not found");for(var h=new Uint8Array(a),o=new Uint8Array(t.subarray(s+a,s+n)),x=a;15&x;x++)t[s+x]=0;f.mac(d.MAC.GCM,d.HEAP_DATA+s,x),f.cipher(d.DEC.CTR,d.HEAP_DATA+s,x),a&&h.set(t.subarray(s,s+a));var c=null!==r?r.length:0,u=(i-1<<4)+n-e;t[0]=t[1]=t[2]=0,t[3]=c>>>29,t[4]=c>>>21,t[5]=c>>>13&255,t[6]=c>>>5&255,t[7]=c<<3&255,t[8]=t[9]=t[10]=0,t[11]=u>>>29,t[12]=u>>>21&255,t[13]=u>>>13&255,t[14]=u>>>5&255,t[15]=u<<3&255,f.mac(d.MAC.GCM,d.HEAP_DATA,16),f.get_iv(d.HEAP_DATA),f.set_counter(0,0,0,this.gamma0),f.cipher(d.ENC.CTR,d.HEAP_DATA,16);var y=0;for(x=0;x<e;++x)y|=o[x]^t[x];if(y)throw new w("data integrity check failed");return this.result=h,this.counter=1,this.pos=0,this.len=0,this}AES_GCM_decrypt(f){var t=this.AES_GCM_Decrypt_process(f).result,e=this.AES_GCM_Decrypt_finish().result,r=new Uint8Array(t.length+e.length);return t.length&&r.set(t),e.length&&r.set(e,t.length),this.result=r,this}AES_GCM_encrypt(f){var t=this.AES_GCM_Encrypt_process(f).result,e=this.AES_GCM_Encrypt_finish().result,r=new Uint8Array(t.length+e.length);return t.length&&r.set(t),e.length&&r.set(e,t.length),this.result=r,this}AES_GCM_reset(f,t,e,r,i,s){this.AES_reset(f,void 0,!1);var a=this.asm,h=this.heap;if(a.gcm_init(),void 0!==(t=t)){if(!n(t))throw new TypeError("tagSize must be a number");if(t<4||t>16)throw new y("illegal tagSize value");this.tagSize=t}else this.tagSize=16;if(void 0===e)throw new Error("nonce is required");if(!o(e))throw new TypeError("unexpected nonce type");this.nonce=e;var x=e.length||0,c=new Uint8Array(16);12!==x?(this._gcm_mac_process(e),h[0]=h[1]=h[2]=h[3]=h[4]=h[5]=h[6]=h[7]=h[8]=h[9]=h[10]=0,h[11]=x>>>29,h[12]=x>>>21&255,h[13]=x>>>13&255,h[14]=x>>>5&255,h[15]=x<<3&255,a.mac(d.MAC.GCM,d.HEAP_DATA,16),a.get_iv(d.HEAP_DATA),a.set_iv(),c.set(h.subarray(0,16))):(c.set(e),c[15]=1);var u=new DataView(c.buffer);if(this.gamma0=u.getUint32(12),a.set_nonce(u.getUint32(0),u.getUint32(4),u.getUint32(8),0),a.set_mask(0,0,0,4294967295),void 0!==r&&null!==r){if(!o(r))throw new TypeError("unexpected adata type");if(r.length>m)throw new y("illegal adata length");r.length?(this.adata=r,this._gcm_mac_process(r)):this.adata=null}else this.adata=null;if(void 0!==i){if(!n(i))throw new TypeError("counter must be a number");if(i<1||i>4294967295)throw new RangeError("counter must be a positive 32-bit integer");this.counter=i,a.set_counter(0,0,0,this.gamma0+i|0)}else this.counter=1,a.set_counter(0,0,0,this.gamma0+1|0);if(void 0!==s){if(!n(s))throw new TypeError("iv must be a number");this.iv=s,this.AES_set_iv(s)}return this}_gcm_mac_process(f){for(var t=this.heap,e=this.asm,r=0,i=f.length||0,s=0;i>0;){for(r+=s=u(t,0,f,r,i),i-=s;15&s;)t[s++]=0;e.mac(d.MAC.GCM,d.HEAP_DATA,s)}}}function A(){return this.result=null,this.pos=0,this.len=0,this.asm.reset(),this}function E(f){if(null!==this.result)throw new l("state must be reset before processing new data");if(a(f)&&(f=e(f)),h(f)&&(f=new Uint8Array(f)),!o(f))throw new TypeError("data isn't of expected type");for(var t=this.asm,r=this.heap,i=this.pos,s=this.len,n=0,x=f.length,c=0;x>0;)s+=c=u(r,i+s,f,n,x),n+=c,x-=c,i+=c=t.process(i,s),(s-=c)||(i=0);return this.pos=i,this.len=s,this}function S(){if(null!==this.result)throw new l("state must be reset before processing new data");return this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this}_.encrypt=function(f,t,e,r,i){if(void 0===f)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");if(void 0===e)throw new SyntaxError("nonce required");return new _(t,e,r,i,p,g).encrypt(f).result},_.decrypt=function(f,t,e,r,i){if(void 0===f)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");if(void 0===e)throw new SyntaxError("nonce required");return new _(t,e,r,i,p,g).decrypt(f).result};var C=64,U=20;function k(f){f=f||{},this.heap=c(Uint8Array,f.heap),this.asm=f.asm||function(f,t,e){"use asm";var r=0,i=0,s=0,n=0,a=0,h=0,o=0,x=0,c=0,u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0,b=new f.Uint8Array(e);function m(f,t,e,h,o,x,c,u,l,y,w,d,p,g,v,b){f=f|0;t=t|0;e=e|0;h=h|0;o=o|0;x=x|0;c=c|0;u=u|0;l=l|0;y=y|0;w=w|0;d=d|0;p=p|0;g=g|0;v=v|0;b=b|0;var m=0,_=0,A=0,E=0,S=0,C=0,U=0,k=0,M=0,H=0,L=0,T=0,I=0,Z=0,D=0,P=0,O=0,B=0,q=0,G=0,R=0,z=0,N=0,K=0,F=0,j=0,V=0,W=0,J=0,Q=0,X=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,sf=0,nf=0,af=0,hf=0,of=0,xf=0,cf=0,uf=0,lf=0,yf=0,wf=0,df=0,pf=0,gf=0,vf=0,bf=0,mf=0,_f=0,Af=0,Ef=0,Sf=0,Cf=0,Uf=0,kf=0,Mf=0,Hf=0,Lf=0,Tf=0,If=0,Zf=0,Df=0,Pf=0,Of=0,Bf=0;m=r;_=i;A=s;E=n;S=a;U=f+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=t+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=e+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=h+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=o+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=x+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=c+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=u+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=l+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=y+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=w+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=d+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=p+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=g+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=v+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;U=b+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=g^l^e^f;k=C<<1|C>>>31;U=k+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=v^y^h^t;M=C<<1|C>>>31;U=M+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=b^w^o^e;H=C<<1|C>>>31;U=H+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=k^d^x^h;L=C<<1|C>>>31;U=L+(m<<5|m>>>27)+S+(_&A|~_&E)+0x5a827999|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=M^p^c^o;T=C<<1|C>>>31;U=T+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=H^g^u^x;I=C<<1|C>>>31;U=I+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=L^v^l^c;Z=C<<1|C>>>31;U=Z+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=T^b^y^u;D=C<<1|C>>>31;U=D+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=I^k^w^l;P=C<<1|C>>>31;U=P+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Z^M^d^y;O=C<<1|C>>>31;U=O+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=D^H^p^w;B=C<<1|C>>>31;U=B+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=P^L^g^d;q=C<<1|C>>>31;U=q+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=O^T^v^p;G=C<<1|C>>>31;U=G+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=B^I^b^g;R=C<<1|C>>>31;U=R+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=q^Z^k^v;z=C<<1|C>>>31;U=z+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=G^D^M^b;N=C<<1|C>>>31;U=N+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=R^P^H^k;K=C<<1|C>>>31;U=K+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=z^O^L^M;F=C<<1|C>>>31;U=F+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=N^B^T^H;j=C<<1|C>>>31;U=j+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=K^q^I^L;V=C<<1|C>>>31;U=V+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=F^G^Z^T;W=C<<1|C>>>31;U=W+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=j^R^D^I;J=C<<1|C>>>31;U=J+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=V^z^P^Z;Q=C<<1|C>>>31;U=Q+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=W^N^O^D;X=C<<1|C>>>31;U=X+(m<<5|m>>>27)+S+(_^A^E)+0x6ed9eba1|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=J^K^B^P;Y=C<<1|C>>>31;U=Y+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Q^F^q^O;$=C<<1|C>>>31;U=$+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=X^j^G^B;ff=C<<1|C>>>31;U=ff+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Y^V^R^q;tf=C<<1|C>>>31;U=tf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=$^W^z^G;ef=C<<1|C>>>31;U=ef+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=ff^J^N^R;rf=C<<1|C>>>31;U=rf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=tf^Q^K^z;sf=C<<1|C>>>31;U=sf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=ef^X^F^N;nf=C<<1|C>>>31;U=nf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=rf^Y^j^K;af=C<<1|C>>>31;U=af+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=sf^$^V^F;hf=C<<1|C>>>31;U=hf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=nf^ff^W^j;of=C<<1|C>>>31;U=of+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=af^tf^J^V;xf=C<<1|C>>>31;U=xf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=hf^ef^Q^W;cf=C<<1|C>>>31;U=cf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=of^rf^X^J;uf=C<<1|C>>>31;U=uf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=xf^sf^Y^Q;lf=C<<1|C>>>31;U=lf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=cf^nf^$^X;yf=C<<1|C>>>31;U=yf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=uf^af^ff^Y;wf=C<<1|C>>>31;U=wf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=lf^hf^tf^$;df=C<<1|C>>>31;U=df+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=yf^of^ef^ff;pf=C<<1|C>>>31;U=pf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=wf^xf^rf^tf;gf=C<<1|C>>>31;U=gf+(m<<5|m>>>27)+S+(_&A|_&E|A&E)-0x70e44324|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=df^cf^sf^ef;vf=C<<1|C>>>31;U=vf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=pf^uf^nf^rf;bf=C<<1|C>>>31;U=bf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=gf^lf^af^sf;mf=C<<1|C>>>31;U=mf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=vf^yf^hf^nf;_f=C<<1|C>>>31;U=_f+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=bf^wf^of^af;Af=C<<1|C>>>31;U=Af+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=mf^df^xf^hf;Ef=C<<1|C>>>31;U=Ef+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=_f^pf^cf^of;Sf=C<<1|C>>>31;U=Sf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Af^gf^uf^xf;Cf=C<<1|C>>>31;U=Cf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Ef^vf^lf^cf;Uf=C<<1|C>>>31;U=Uf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Sf^bf^yf^uf;kf=C<<1|C>>>31;U=kf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Cf^mf^wf^lf;Mf=C<<1|C>>>31;U=Mf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Uf^_f^df^yf;Hf=C<<1|C>>>31;U=Hf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=kf^Af^pf^wf;Lf=C<<1|C>>>31;U=Lf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Mf^Ef^gf^df;Tf=C<<1|C>>>31;U=Tf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Hf^Sf^vf^pf;If=C<<1|C>>>31;U=If+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Lf^Cf^bf^gf;Zf=C<<1|C>>>31;U=Zf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Tf^Uf^mf^vf;Df=C<<1|C>>>31;U=Df+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=If^kf^_f^bf;Pf=C<<1|C>>>31;U=Pf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Zf^Mf^Af^mf;Of=C<<1|C>>>31;U=Of+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;C=Df^Hf^Ef^_f;Bf=C<<1|C>>>31;U=Bf+(m<<5|m>>>27)+S+(_^A^E)-0x359d3e2a|0;S=E;E=A;A=_<<30|_>>>2;_=m;m=U;r=r+m|0;i=i+_|0;s=s+A|0;n=n+E|0;a=a+S|0}function _(f){f=f|0;m(b[f|0]<<24|b[f|1]<<16|b[f|2]<<8|b[f|3],b[f|4]<<24|b[f|5]<<16|b[f|6]<<8|b[f|7],b[f|8]<<24|b[f|9]<<16|b[f|10]<<8|b[f|11],b[f|12]<<24|b[f|13]<<16|b[f|14]<<8|b[f|15],b[f|16]<<24|b[f|17]<<16|b[f|18]<<8|b[f|19],b[f|20]<<24|b[f|21]<<16|b[f|22]<<8|b[f|23],b[f|24]<<24|b[f|25]<<16|b[f|26]<<8|b[f|27],b[f|28]<<24|b[f|29]<<16|b[f|30]<<8|b[f|31],b[f|32]<<24|b[f|33]<<16|b[f|34]<<8|b[f|35],b[f|36]<<24|b[f|37]<<16|b[f|38]<<8|b[f|39],b[f|40]<<24|b[f|41]<<16|b[f|42]<<8|b[f|43],b[f|44]<<24|b[f|45]<<16|b[f|46]<<8|b[f|47],b[f|48]<<24|b[f|49]<<16|b[f|50]<<8|b[f|51],b[f|52]<<24|b[f|53]<<16|b[f|54]<<8|b[f|55],b[f|56]<<24|b[f|57]<<16|b[f|58]<<8|b[f|59],b[f|60]<<24|b[f|61]<<16|b[f|62]<<8|b[f|63])}function A(f){f=f|0;b[f|0]=r>>>24;b[f|1]=r>>>16&255;b[f|2]=r>>>8&255;b[f|3]=r&255;b[f|4]=i>>>24;b[f|5]=i>>>16&255;b[f|6]=i>>>8&255;b[f|7]=i&255;b[f|8]=s>>>24;b[f|9]=s>>>16&255;b[f|10]=s>>>8&255;b[f|11]=s&255;b[f|12]=n>>>24;b[f|13]=n>>>16&255;b[f|14]=n>>>8&255;b[f|15]=n&255;b[f|16]=a>>>24;b[f|17]=a>>>16&255;b[f|18]=a>>>8&255;b[f|19]=a&255}function E(){r=0x67452301;i=0xefcdab89;s=0x98badcfe;n=0x10325476;a=0xc3d2e1f0;h=o=0}function S(f,t,e,x,c,u,l){f=f|0;t=t|0;e=e|0;x=x|0;c=c|0;u=u|0;l=l|0;r=f;i=t;s=e;n=x;a=c;h=u;o=l}function C(f,t){f=f|0;t=t|0;var e=0;if(f&63)return-1;while((t|0)>=64){_(f);f=f+64|0;t=t-64|0;e=e+64|0}h=h+e|0;if(h>>>0<e>>>0)o=o+1|0;return e|0}function U(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,i=0;if(f&63)return-1;if(~e)if(e&31)return-1;if((t|0)>=64){r=C(f,t)|0;if((r|0)==-1)return-1;f=f+r|0;t=t-r|0}r=r+t|0;h=h+t|0;if(h>>>0<t>>>0)o=o+1|0;b[f|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0)b[f|i]=0x00;_(f);t=0;b[f|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0)b[f|i]=0;b[f|56]=o>>>21&255;b[f|57]=o>>>13&255;b[f|58]=o>>>5&255;b[f|59]=o<<3&255|h>>>29;b[f|60]=h>>>21&255;b[f|61]=h>>>13&255;b[f|62]=h>>>5&255;b[f|63]=h<<3&255;_(f);if(~e)A(e);return r|0}function k(){r=x;i=c;s=u;n=l;a=y;h=64;o=0}function M(){r=w;i=d;s=p;n=g;a=v;h=64;o=0}function H(f,t,e,b,_,A,S,C,U,k,M,H,L,T,I,Z){f=f|0;t=t|0;e=e|0;b=b|0;_=_|0;A=A|0;S=S|0;C=C|0;U=U|0;k=k|0;M=M|0;H=H|0;L=L|0;T=T|0;I=I|0;Z=Z|0;E();m(f^0x5c5c5c5c,t^0x5c5c5c5c,e^0x5c5c5c5c,b^0x5c5c5c5c,_^0x5c5c5c5c,A^0x5c5c5c5c,S^0x5c5c5c5c,C^0x5c5c5c5c,U^0x5c5c5c5c,k^0x5c5c5c5c,M^0x5c5c5c5c,H^0x5c5c5c5c,L^0x5c5c5c5c,T^0x5c5c5c5c,I^0x5c5c5c5c,Z^0x5c5c5c5c);w=r;d=i;p=s;g=n;v=a;E();m(f^0x36363636,t^0x36363636,e^0x36363636,b^0x36363636,_^0x36363636,A^0x36363636,S^0x36363636,C^0x36363636,U^0x36363636,k^0x36363636,M^0x36363636,H^0x36363636,L^0x36363636,T^0x36363636,I^0x36363636,Z^0x36363636);x=r;c=i;u=s;l=n;y=a;h=64;o=0}function L(f,t,e){f=f|0;t=t|0;e=e|0;var h=0,o=0,x=0,c=0,u=0,l=0;if(f&63)return-1;if(~e)if(e&31)return-1;l=U(f,t,-1)|0;h=r,o=i,x=s,c=n,u=a;M();m(h,o,x,c,u,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~e)A(e);return l|0}function T(f,t,e,h,o){f=f|0;t=t|0;e=e|0;h=h|0;o=o|0;var x=0,c=0,u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0;if(f&63)return-1;if(~o)if(o&31)return-1;b[f+t|0]=e>>>24;b[f+t+1|0]=e>>>16&255;b[f+t+2|0]=e>>>8&255;b[f+t+3|0]=e&255;L(f,t+4|0,-1)|0;x=w=r,c=d=i,u=p=s,l=g=n,y=v=a;h=h-1|0;while((h|0)>0){k();m(w,d,p,g,v,0x80000000,0,0,0,0,0,0,0,0,0,672);w=r,d=i,p=s,g=n,v=a;M();m(w,d,p,g,v,0x80000000,0,0,0,0,0,0,0,0,0,672);w=r,d=i,p=s,g=n,v=a;x=x^r;c=c^i;u=u^s;l=l^n;y=y^a;h=h-1|0}r=x;i=c;s=u;n=l;a=y;if(~o)A(o);return 0}return{reset:E,init:S,process:C,finish:U,hmac_reset:k,hmac_init:H,hmac_finish:L,pbkdf2_generate_block:T}}({Uint8Array:Uint8Array},null,this.heap.buffer),this.BLOCK_SIZE=C,this.HASH_SIZE=U,this.reset()}k.BLOCK_SIZE=C,k.NAME="sha1",k.HASH_SIZE=U;var M=k.prototype;M.reset=A,M.process=E,M.finish=S;var H=null;function L(){return null===H&&(H=new k({heapSize:1048576})),H}function T(f){if(void 0===f)throw new SyntaxError("data required");return L().reset().process(f).finish().result}var I=k;I.bytes=T,I.hex=function(f){return i(T(f))},I.base64=function(f){return s(T(f))};var Z=64,D=32;function P(f){f=f||{},this.heap=c(Uint8Array,f.heap),this.asm=f.asm||function(f,t,e){"use asm";var r=0,i=0,s=0,n=0,a=0,h=0,o=0,x=0,c=0,u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0,b=0,m=0,_=0,A=0,E=0,S=0,C=0,U=0,k=0,M=new f.Uint8Array(e);function H(f,t,e,c,u,l,y,w,d,p,g,v,b,m,_,A){f=f|0;t=t|0;e=e|0;c=c|0;u=u|0;l=l|0;y=y|0;w=w|0;d=d|0;p=p|0;g=g|0;v=v|0;b=b|0;m=m|0;_=_|0;A=A|0;var E=0,S=0,C=0,U=0,k=0,M=0,H=0,L=0;E=r;S=i;C=s;U=n;k=a;M=h;H=o;L=x;L=f+L+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(H^k&(M^H))+0x428a2f98|0;U=U+L|0;L=L+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;H=t+H+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(M^U&(k^M))+0x71374491|0;C=C+H|0;H=H+(L&E^S&(L^E))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;M=e+M+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(k^C&(U^k))+0xb5c0fbcf|0;S=S+M|0;M=M+(H&L^E&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;k=c+k+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(U^S&(C^U))+0xe9b5dba5|0;E=E+k|0;k=k+(M&H^L&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;U=u+U+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x3956c25b|0;L=L+U|0;U=U+(k&M^H&(k^M))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;C=l+C+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(S^L&(E^S))+0x59f111f1|0;H=H+C|0;C=C+(U&k^M&(U^k))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;S=y+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(E^H&(L^E))+0x923f82a4|0;M=M+S|0;S=S+(C&U^k&(C^U))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;E=w+E+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(L^M&(H^L))+0xab1c5ed5|0;k=k+E|0;E=E+(S&C^U&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;L=d+L+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(H^k&(M^H))+0xd807aa98|0;U=U+L|0;L=L+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;H=p+H+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(M^U&(k^M))+0x12835b01|0;C=C+H|0;H=H+(L&E^S&(L^E))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;M=g+M+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(k^C&(U^k))+0x243185be|0;S=S+M|0;M=M+(H&L^E&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;k=v+k+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(U^S&(C^U))+0x550c7dc3|0;E=E+k|0;k=k+(M&H^L&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;U=b+U+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x72be5d74|0;L=L+U|0;U=U+(k&M^H&(k^M))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;C=m+C+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(S^L&(E^S))+0x80deb1fe|0;H=H+C|0;C=C+(U&k^M&(U^k))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;S=_+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(E^H&(L^E))+0x9bdc06a7|0;M=M+S|0;S=S+(C&U^k&(C^U))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;E=A+E+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(L^M&(H^L))+0xc19bf174|0;k=k+E|0;E=E+(S&C^U&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+f+p|0;L=f+L+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(H^k&(M^H))+0xe49b69c1|0;U=U+L|0;L=L+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;H=t+H+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(M^U&(k^M))+0xefbe4786|0;C=C+H|0;H=H+(L&E^S&(L^E))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;e=(c>>>7^c>>>18^c>>>3^c<<25^c<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+v|0;M=e+M+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(k^C&(U^k))+0x0fc19dc6|0;S=S+M|0;M=M+(H&L^E&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;c=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+c+b|0;k=c+k+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(U^S&(C^U))+0x240ca1cc|0;E=E+k|0;k=k+(M&H^L&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;u=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+u+m|0;U=u+U+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x2de92c6f|0;L=L+U|0;U=U+(k&M^H&(k^M))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+l+_|0;C=l+C+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(S^L&(E^S))+0x4a7484aa|0;H=H+C|0;C=C+(U&k^M&(U^k))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+y+A|0;S=y+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(E^H&(L^E))+0x5cb0a9dc|0;M=M+S|0;S=S+(C&U^k&(C^U))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+w+f|0;E=w+E+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(L^M&(H^L))+0x76f988da|0;k=k+E|0;E=E+(S&C^U&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+t|0;L=d+L+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(H^k&(M^H))+0x983e5152|0;U=U+L|0;L=L+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;p=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+p+e|0;H=p+H+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(M^U&(k^M))+0xa831c66d|0;C=C+H|0;H=H+(L&E^S&(L^E))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;g=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+g+c|0;M=g+M+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(k^C&(U^k))+0xb00327c8|0;S=S+M|0;M=M+(H&L^E&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;v=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+v+u|0;k=v+k+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(U^S&(C^U))+0xbf597fc7|0;E=E+k|0;k=k+(M&H^L&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+b+l|0;U=b+U+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0xc6e00bf3|0;L=L+U|0;U=U+(k&M^H&(k^M))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;m=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+m+y|0;C=m+C+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(S^L&(E^S))+0xd5a79147|0;H=H+C|0;C=C+(U&k^M&(U^k))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+_+w|0;S=_+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(E^H&(L^E))+0x06ca6351|0;M=M+S|0;S=S+(C&U^k&(C^U))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;A=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+d|0;E=A+E+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(L^M&(H^L))+0x14292967|0;k=k+E|0;E=E+(S&C^U&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+f+p|0;L=f+L+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(H^k&(M^H))+0x27b70a85|0;U=U+L|0;L=L+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;H=t+H+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(M^U&(k^M))+0x2e1b2138|0;C=C+H|0;H=H+(L&E^S&(L^E))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;e=(c>>>7^c>>>18^c>>>3^c<<25^c<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+v|0;M=e+M+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(k^C&(U^k))+0x4d2c6dfc|0;S=S+M|0;M=M+(H&L^E&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;c=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+c+b|0;k=c+k+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(U^S&(C^U))+0x53380d13|0;E=E+k|0;k=k+(M&H^L&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;u=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+u+m|0;U=u+U+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x650a7354|0;L=L+U|0;U=U+(k&M^H&(k^M))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+l+_|0;C=l+C+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(S^L&(E^S))+0x766a0abb|0;H=H+C|0;C=C+(U&k^M&(U^k))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+y+A|0;S=y+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(E^H&(L^E))+0x81c2c92e|0;M=M+S|0;S=S+(C&U^k&(C^U))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+w+f|0;E=w+E+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(L^M&(H^L))+0x92722c85|0;k=k+E|0;E=E+(S&C^U&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+t|0;L=d+L+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(H^k&(M^H))+0xa2bfe8a1|0;U=U+L|0;L=L+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;p=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+p+e|0;H=p+H+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(M^U&(k^M))+0xa81a664b|0;C=C+H|0;H=H+(L&E^S&(L^E))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;g=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+g+c|0;M=g+M+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(k^C&(U^k))+0xc24b8b70|0;S=S+M|0;M=M+(H&L^E&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;v=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+v+u|0;k=v+k+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(U^S&(C^U))+0xc76c51a3|0;E=E+k|0;k=k+(M&H^L&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+b+l|0;U=b+U+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0xd192e819|0;L=L+U|0;U=U+(k&M^H&(k^M))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;m=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+m+y|0;C=m+C+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(S^L&(E^S))+0xd6990624|0;H=H+C|0;C=C+(U&k^M&(U^k))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+_+w|0;S=_+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(E^H&(L^E))+0xf40e3585|0;M=M+S|0;S=S+(C&U^k&(C^U))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;A=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+d|0;E=A+E+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(L^M&(H^L))+0x106aa070|0;k=k+E|0;E=E+(S&C^U&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+f+p|0;L=f+L+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(H^k&(M^H))+0x19a4c116|0;U=U+L|0;L=L+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;H=t+H+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(M^U&(k^M))+0x1e376c08|0;C=C+H|0;H=H+(L&E^S&(L^E))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;e=(c>>>7^c>>>18^c>>>3^c<<25^c<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+v|0;M=e+M+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(k^C&(U^k))+0x2748774c|0;S=S+M|0;M=M+(H&L^E&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;c=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+c+b|0;k=c+k+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(U^S&(C^U))+0x34b0bcb5|0;E=E+k|0;k=k+(M&H^L&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;u=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+u+m|0;U=u+U+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x391c0cb3|0;L=L+U|0;U=U+(k&M^H&(k^M))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+l+_|0;C=l+C+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(S^L&(E^S))+0x4ed8aa4a|0;H=H+C|0;C=C+(U&k^M&(U^k))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+y+A|0;S=y+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(E^H&(L^E))+0x5b9cca4f|0;M=M+S|0;S=S+(C&U^k&(C^U))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+w+f|0;E=w+E+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(L^M&(H^L))+0x682e6ff3|0;k=k+E|0;E=E+(S&C^U&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+t|0;L=d+L+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(H^k&(M^H))+0x748f82ee|0;U=U+L|0;L=L+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;p=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+p+e|0;H=p+H+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(M^U&(k^M))+0x78a5636f|0;C=C+H|0;H=H+(L&E^S&(L^E))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;g=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+g+c|0;M=g+M+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(k^C&(U^k))+0x84c87814|0;S=S+M|0;M=M+(H&L^E&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;v=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+v+u|0;k=v+k+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(U^S&(C^U))+0x8cc70208|0;E=E+k|0;k=k+(M&H^L&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+b+l|0;U=b+U+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x90befffa|0;L=L+U|0;U=U+(k&M^H&(k^M))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;m=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+m+y|0;C=m+C+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(S^L&(E^S))+0xa4506ceb|0;H=H+C|0;C=C+(U&k^M&(U^k))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+_+w|0;S=_+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(E^H&(L^E))+0xbef9a3f7|0;M=M+S|0;S=S+(C&U^k&(C^U))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;A=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+d|0;E=A+E+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(L^M&(H^L))+0xc67178f2|0;k=k+E|0;E=E+(S&C^U&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;r=r+E|0;i=i+S|0;s=s+C|0;n=n+U|0;a=a+k|0;h=h+M|0;o=o+H|0;x=x+L|0}function L(f){f=f|0;H(M[f|0]<<24|M[f|1]<<16|M[f|2]<<8|M[f|3],M[f|4]<<24|M[f|5]<<16|M[f|6]<<8|M[f|7],M[f|8]<<24|M[f|9]<<16|M[f|10]<<8|M[f|11],M[f|12]<<24|M[f|13]<<16|M[f|14]<<8|M[f|15],M[f|16]<<24|M[f|17]<<16|M[f|18]<<8|M[f|19],M[f|20]<<24|M[f|21]<<16|M[f|22]<<8|M[f|23],M[f|24]<<24|M[f|25]<<16|M[f|26]<<8|M[f|27],M[f|28]<<24|M[f|29]<<16|M[f|30]<<8|M[f|31],M[f|32]<<24|M[f|33]<<16|M[f|34]<<8|M[f|35],M[f|36]<<24|M[f|37]<<16|M[f|38]<<8|M[f|39],M[f|40]<<24|M[f|41]<<16|M[f|42]<<8|M[f|43],M[f|44]<<24|M[f|45]<<16|M[f|46]<<8|M[f|47],M[f|48]<<24|M[f|49]<<16|M[f|50]<<8|M[f|51],M[f|52]<<24|M[f|53]<<16|M[f|54]<<8|M[f|55],M[f|56]<<24|M[f|57]<<16|M[f|58]<<8|M[f|59],M[f|60]<<24|M[f|61]<<16|M[f|62]<<8|M[f|63])}function T(f){f=f|0;M[f|0]=r>>>24;M[f|1]=r>>>16&255;M[f|2]=r>>>8&255;M[f|3]=r&255;M[f|4]=i>>>24;M[f|5]=i>>>16&255;M[f|6]=i>>>8&255;M[f|7]=i&255;M[f|8]=s>>>24;M[f|9]=s>>>16&255;M[f|10]=s>>>8&255;M[f|11]=s&255;M[f|12]=n>>>24;M[f|13]=n>>>16&255;M[f|14]=n>>>8&255;M[f|15]=n&255;M[f|16]=a>>>24;M[f|17]=a>>>16&255;M[f|18]=a>>>8&255;M[f|19]=a&255;M[f|20]=h>>>24;M[f|21]=h>>>16&255;M[f|22]=h>>>8&255;M[f|23]=h&255;M[f|24]=o>>>24;M[f|25]=o>>>16&255;M[f|26]=o>>>8&255;M[f|27]=o&255;M[f|28]=x>>>24;M[f|29]=x>>>16&255;M[f|30]=x>>>8&255;M[f|31]=x&255}function I(){r=0x6a09e667;i=0xbb67ae85;s=0x3c6ef372;n=0xa54ff53a;a=0x510e527f;h=0x9b05688c;o=0x1f83d9ab;x=0x5be0cd19;c=u=0}function Z(f,t,e,l,y,w,d,p,g,v){f=f|0;t=t|0;e=e|0;l=l|0;y=y|0;w=w|0;d=d|0;p=p|0;g=g|0;v=v|0;r=f;i=t;s=e;n=l;a=y;h=w;o=d;x=p;c=g;u=v}function D(f,t){f=f|0;t=t|0;var e=0;if(f&63)return-1;while((t|0)>=64){L(f);f=f+64|0;t=t-64|0;e=e+64|0}c=c+e|0;if(c>>>0<e>>>0)u=u+1|0;return e|0}function P(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,i=0;if(f&63)return-1;if(~e)if(e&31)return-1;if((t|0)>=64){r=D(f,t)|0;if((r|0)==-1)return-1;f=f+r|0;t=t-r|0}r=r+t|0;c=c+t|0;if(c>>>0<t>>>0)u=u+1|0;M[f|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0)M[f|i]=0x00;L(f);t=0;M[f|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0)M[f|i]=0;M[f|56]=u>>>21&255;M[f|57]=u>>>13&255;M[f|58]=u>>>5&255;M[f|59]=u<<3&255|c>>>29;M[f|60]=c>>>21&255;M[f|61]=c>>>13&255;M[f|62]=c>>>5&255;M[f|63]=c<<3&255;L(f);if(~e)T(e);return r|0}function O(){r=l;i=y;s=w;n=d;a=p;h=g;o=v;x=b;c=64;u=0}function B(){r=m;i=_;s=A;n=E;a=S;h=C;o=U;x=k;c=64;u=0}function q(f,t,e,M,L,T,Z,D,P,O,B,q,G,R,z,N){f=f|0;t=t|0;e=e|0;M=M|0;L=L|0;T=T|0;Z=Z|0;D=D|0;P=P|0;O=O|0;B=B|0;q=q|0;G=G|0;R=R|0;z=z|0;N=N|0;I();H(f^0x5c5c5c5c,t^0x5c5c5c5c,e^0x5c5c5c5c,M^0x5c5c5c5c,L^0x5c5c5c5c,T^0x5c5c5c5c,Z^0x5c5c5c5c,D^0x5c5c5c5c,P^0x5c5c5c5c,O^0x5c5c5c5c,B^0x5c5c5c5c,q^0x5c5c5c5c,G^0x5c5c5c5c,R^0x5c5c5c5c,z^0x5c5c5c5c,N^0x5c5c5c5c);m=r;_=i;A=s;E=n;S=a;C=h;U=o;k=x;I();H(f^0x36363636,t^0x36363636,e^0x36363636,M^0x36363636,L^0x36363636,T^0x36363636,Z^0x36363636,D^0x36363636,P^0x36363636,O^0x36363636,B^0x36363636,q^0x36363636,G^0x36363636,R^0x36363636,z^0x36363636,N^0x36363636);l=r;y=i;w=s;d=n;p=a;g=h;v=o;b=x;c=64;u=0}function G(f,t,e){f=f|0;t=t|0;e=e|0;var c=0,u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0;if(f&63)return-1;if(~e)if(e&31)return-1;v=P(f,t,-1)|0;c=r,u=i,l=s,y=n,w=a,d=h,p=o,g=x;B();H(c,u,l,y,w,d,p,g,0x80000000,0,0,0,0,0,0,768);if(~e)T(e);return v|0}function R(f,t,e,c,u){f=f|0;t=t|0;e=e|0;c=c|0;u=u|0;var l=0,y=0,w=0,d=0,p=0,g=0,v=0,b=0,m=0,_=0,A=0,E=0,S=0,C=0,U=0,k=0;if(f&63)return-1;if(~u)if(u&31)return-1;M[f+t|0]=e>>>24;M[f+t+1|0]=e>>>16&255;M[f+t+2|0]=e>>>8&255;M[f+t+3|0]=e&255;G(f,t+4|0,-1)|0;l=m=r,y=_=i,w=A=s,d=E=n,p=S=a,g=C=h,v=U=o,b=k=x;c=c-1|0;while((c|0)>0){O();H(m,_,A,E,S,C,U,k,0x80000000,0,0,0,0,0,0,768);m=r,_=i,A=s,E=n,S=a,C=h,U=o,k=x;B();H(m,_,A,E,S,C,U,k,0x80000000,0,0,0,0,0,0,768);m=r,_=i,A=s,E=n,S=a,C=h,U=o,k=x;l=l^r;y=y^i;w=w^s;d=d^n;p=p^a;g=g^h;v=v^o;b=b^x;c=c-1|0}r=l;i=y;s=w;n=d;a=p;h=g;o=v;x=b;if(~u)T(u);return 0}return{reset:I,init:Z,process:D,finish:P,hmac_reset:O,hmac_init:q,hmac_finish:G,pbkdf2_generate_block:R}}({Uint8Array:Uint8Array},null,this.heap.buffer),this.BLOCK_SIZE=Z,this.HASH_SIZE=D,this.reset()}P.BLOCK_SIZE=Z,P.HASH_SIZE=D,P.NAME="sha256";var O=P.prototype;O.reset=A,O.process=E,O.finish=S;var B=null;function q(){return null===B&&(B=new P({heapSize:1048576})),B}function G(f){if(void 0===f)throw new SyntaxError("data required");return q().reset().process(f).finish().result}var R=P;R.bytes=G,R.hex=function(f){return i(G(f))},R.base64=function(f){return s(G(f))};class z{constructor(f){if(!(f=f||{}).hash)throw new SyntaxError("option 'hash' is required");if(!f.hash.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");return this.hash=f.hash,this.BLOCK_SIZE=this.hash.BLOCK_SIZE,this.HMAC_SIZE=this.hash.HASH_SIZE,this.key=null,this.verify=null,this.result=null,void 0===f.password&&void 0===f.verify||this.reset(f),this}reset(f){var t=(f=f||{}).password;if(null===this.key&&!a(t)&&!t)throw new l("no key is associated with the instance");this.result=null,this.hash.reset(),(t||a(t))&&(this.key=N(this.hash,t));for(var e=new Uint8Array(this.key),r=0;r<e.length;++r)e[r]^=54;this.hash.process(e);var i=f.verify;return void 0!==i?this._hmac_init_verify(i):this.verify=null,this}process(f){if(null===this.key)throw new l("no key is associated with the instance");if(null!==this.result)throw new l("state must be reset before processing new data");return this.hash.process(f),this}finish(){if(null===this.key)throw new l("no key is associated with the instance");if(null!==this.result)throw new l("state must be reset before processing new data");for(var f=this.hash.finish().result,t=new Uint8Array(this.key),e=0;e<t.length;++e)t[e]^=92;var r=this.verify,i=this.hash.reset().process(t).process(f).finish().result;if(r)if(r.length===i.length){var s=0;for(e=0;e<r.length;e++)s|=r[e]^i[e];this.result=!s}else this.result=!1;else this.result=i;return this}_hmac_init_verify(f){if(h(f)||o(f))f=new Uint8Array(f);else{if(!a(f))throw new TypeError("verify tag isn't of expected type");f=e(f)}if(f.length!==this.HMAC_SIZE)throw new y("illegal verification tag size");this.verify=f}}function N(f,t){if(h(t)&&(t=new Uint8Array(t)),a(t)&&(t=e(t)),!o(t))throw new TypeError("password isn't of expected type");var r=new Uint8Array(f.BLOCK_SIZE);return t.length>f.BLOCK_SIZE?r.set(f.reset().process(t).finish().result):r.set(t),r}class K extends z{constructor(f){(f=f||{}).hash instanceof k||(f.hash=L()),super(f)}reset(f){f=f||{},this.result=null,this.hash.reset();var t=f.password;if(void 0!==t){a(t)&&(t=e(t));var r=this.key=N(this.hash,t);this.hash.reset().asm.hmac_init(r[0]<<24|r[1]<<16|r[2]<<8|r[3],r[4]<<24|r[5]<<16|r[6]<<8|r[7],r[8]<<24|r[9]<<16|r[10]<<8|r[11],r[12]<<24|r[13]<<16|r[14]<<8|r[15],r[16]<<24|r[17]<<16|r[18]<<8|r[19],r[20]<<24|r[21]<<16|r[22]<<8|r[23],r[24]<<24|r[25]<<16|r[26]<<8|r[27],r[28]<<24|r[29]<<16|r[30]<<8|r[31],r[32]<<24|r[33]<<16|r[34]<<8|r[35],r[36]<<24|r[37]<<16|r[38]<<8|r[39],r[40]<<24|r[41]<<16|r[42]<<8|r[43],r[44]<<24|r[45]<<16|r[46]<<8|r[47],r[48]<<24|r[49]<<16|r[50]<<8|r[51],r[52]<<24|r[53]<<16|r[54]<<8|r[55],r[56]<<24|r[57]<<16|r[58]<<8|r[59],r[60]<<24|r[61]<<16|r[62]<<8|r[63])}else this.hash.asm.hmac_reset();var i=f.verify;return void 0!==i?this._hmac_init_verify(i):this.verify=null,this}finish(){if(null===this.key)throw new l("no key is associated with the instance");if(null!==this.result)throw new l("state must be reset before processing new data");var f=this.hash,t=this.hash.asm,e=this.hash.heap;t.hmac_finish(f.pos,f.len,0);var r=this.verify,i=new Uint8Array(U);if(i.set(e.subarray(0,U)),r)if(r.length===i.length){for(var s=0,n=0;n<r.length;n++)s|=r[n]^i[n];this.result=!s}else this.result=!1;else this.result=i;return this}}K.BLOCK_SIZE=k.BLOCK_SIZE,K.HMAC_SIZE=k.HASH_SIZE;var F=null;function j(){return null===F&&(F=new K),F}function V(f,t){if(void 0===f)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("password required");return j().reset({password:t}).process(f).finish().result}var W=K;W.bytes=V,W.hex=function(f,t){return i(V(f,t))},W.base64=function(f,t){return s(V(f,t))};class J extends z{constructor(f){(f=f||{}).hash instanceof P||(f.hash=q()),super(f)}reset(f){f=f||{},this.result=null,this.hash.reset();var t=f.password;if(void 0!==t){a(t)&&(t=e(t));var r=this.key=N(this.hash,t);this.hash.reset().asm.hmac_init(r[0]<<24|r[1]<<16|r[2]<<8|r[3],r[4]<<24|r[5]<<16|r[6]<<8|r[7],r[8]<<24|r[9]<<16|r[10]<<8|r[11],r[12]<<24|r[13]<<16|r[14]<<8|r[15],r[16]<<24|r[17]<<16|r[18]<<8|r[19],r[20]<<24|r[21]<<16|r[22]<<8|r[23],r[24]<<24|r[25]<<16|r[26]<<8|r[27],r[28]<<24|r[29]<<16|r[30]<<8|r[31],r[32]<<24|r[33]<<16|r[34]<<8|r[35],r[36]<<24|r[37]<<16|r[38]<<8|r[39],r[40]<<24|r[41]<<16|r[42]<<8|r[43],r[44]<<24|r[45]<<16|r[46]<<8|r[47],r[48]<<24|r[49]<<16|r[50]<<8|r[51],r[52]<<24|r[53]<<16|r[54]<<8|r[55],r[56]<<24|r[57]<<16|r[58]<<8|r[59],r[60]<<24|r[61]<<16|r[62]<<8|r[63])}else this.hash.asm.hmac_reset();var i=f.verify;return void 0!==i?this._hmac_init_verify(i):this.verify=null,this}finish(){if(null===this.key)throw new l("no key is associated with the instance");if(null!==this.result)throw new l("state must be reset before processing new data");var f=this.hash,t=this.hash.asm,e=this.hash.heap;t.hmac_finish(f.pos,f.len,0);var r=this.verify,i=new Uint8Array(D);if(i.set(e.subarray(0,D)),r)if(r.length===i.length){for(var s=0,n=0;n<r.length;n++)s|=r[n]^i[n];this.result=!s}else this.result=!1;else this.result=i;return this}}J.BLOCK_SIZE=P.BLOCK_SIZE,J.HMAC_SIZE=P.HASH_SIZE;var Q=null;function X(){return null===Q&&(Q=new J),Q}function Y(f,t){if(void 0===f)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("password required");return X().reset({password:t}).process(f).finish().result}var $=J;$.bytes=Y,$.hex=function(f,t){return i(Y(f,t))},$.base64=function(f,t){return s(Y(f,t))};class ff{constructor(f){if(!(f=f||{}).hmac)throw new SyntaxError("option 'hmac' is required");if(!f.hmac.HMAC_SIZE)throw new SyntaxError("option 'hmac' supplied doesn't seem to be a valid HMAC function");this.hmac=f.hmac,this.count=f.count||4096,this.length=f.length||this.hmac.HMAC_SIZE,this.result=null;var t=f.password;return(t||a(t))&&this.reset(f),this}reset(f){return this.result=null,this.hmac.reset(f),this}generate(f,t,e){if(null!==this.result)throw new l("state must be reset before processing new data");if(!f&&!a(f))throw new y("bad 'salt' value");t=t||this.count,e=e||this.length,this.result=new Uint8Array(e);for(var r=Math.ceil(e/this.hmac.HMAC_SIZE),i=1;i<=r;++i){var s=(i-1)*this.hmac.HMAC_SIZE,n=(i<r?0:e%this.hmac.HMAC_SIZE)||this.hmac.HMAC_SIZE,h=new Uint8Array(this.hmac.reset().process(f).process(new Uint8Array([i>>>24&255,i>>>16&255,i>>>8&255,255&i])).finish().result);this.result.set(h.subarray(0,n),s);for(var o=1;o<t;++o){h=new Uint8Array(this.hmac.reset().process(h).finish().result);for(var x=0;x<n;++x)this.result[s+x]^=h[x]}}return this}}class tf extends ff{constructor(f){(f=f||{}).hmac instanceof K||(f.hmac=j()),super(f)}generate(f,t,e){if(null!==this.result)throw new l("state must be reset before processing new data");if(!f&&!a(f))throw new y("bad 'salt' value");t=t||this.count,e=e||this.length,this.result=new Uint8Array(e);for(var r=Math.ceil(e/this.hmac.HMAC_SIZE),i=1;i<=r;++i){var s=(i-1)*this.hmac.HMAC_SIZE,n=(i<r?0:e%this.hmac.HMAC_SIZE)||this.hmac.HMAC_SIZE;this.hmac.reset().process(f),this.hmac.hash.asm.pbkdf2_generate_block(this.hmac.hash.pos,this.hmac.hash.len,i,t,0),this.result.set(this.hmac.hash.heap.subarray(0,n),s)}return this}}var ef=null;function rf(f,t,e,r){if(void 0===f)throw new SyntaxError("password required");if(void 0===t)throw new SyntaxError("salt required");return(null===ef&&(ef=new tf),ef).reset({password:f}).generate(t,e,r).result}function sf(f,t,e,r){return i(rf(f,t,e,r))}function nf(f,t,e,r){return s(rf(f,t,e,r))}var af={bytes:rf,hex:sf,base64:nf},hf={bytes:rf,hex:sf,base64:nf};class of extends ff{constructor(f){(f=f||{}).hmac instanceof J||(f.hmac=X()),super(f)}generate(f,t,e){if(null!==this.result)throw new l("state must be reset before processing new data");if(!f&&!a(f))throw new y("bad 'salt' value");t=t||this.count,e=e||this.length,this.result=new Uint8Array(e);for(var r=Math.ceil(e/this.hmac.HMAC_SIZE),i=1;i<=r;++i){var s=(i-1)*this.hmac.HMAC_SIZE,n=(i<r?0:e%this.hmac.HMAC_SIZE)||this.hmac.HMAC_SIZE;this.hmac.reset().process(f),this.hmac.hash.asm.pbkdf2_generate_block(this.hmac.hash.pos,this.hmac.hash.len,i,t,0),this.result.set(this.hmac.hash.heap.subarray(0,n),s)}return this}}var xf=null;function cf(){return null===xf&&(xf=new of),xf}function uf(f,t,e,r){if(void 0===f)throw new SyntaxError("password required");if(void 0===t)throw new SyntaxError("salt required");return cf().reset({password:f}).generate(t,e,r).result}var lf,yf={bytes:uf,hex:function(f,t,e,r){return i(uf(f,t,e,r))},base64:function(f,t,e,r){return s(uf(f,t,e,r))}},wf=function(){var f=new Uint32Array(256),r=new Uint32Array(256),i=0,s=0,o=0,c=0;function u(){var t,e,n,a,h,x,u,y;function w(){t^=e<<11,e=e+n|0,e^=n>>>2,n=n+(a=a+t|0)|0,n^=a<<8,a=a+(h=h+e|0)|0,a^=h>>>16,h=h+(x=x+n|0)|0,h^=x<<10,x=x+(u=u+a|0)|0,x^=u>>>4,u=u+(y=y+h|0)|0,u^=y<<8,y=y+(t=t+x|0)|0,n=n+(y^=t>>>9)|0,t=t+(e=e+u|0)|0}i=s=o=0,t=e=n=a=h=x=u=y=2654435769;for(var d=0;d<4;d++)w();for(d=0;d<256;d+=8)t=t+r[0|d]|0,e=e+r[1|d]|0,n=n+r[2|d]|0,a=a+r[3|d]|0,h=h+r[4|d]|0,x=x+r[5|d]|0,u=u+r[6|d]|0,y=y+r[7|d]|0,w(),f.set([t,e,n,a,h,x,u,y],d);for(d=0;d<256;d+=8)t=t+f[0|d]|0,e=e+f[1|d]|0,n=n+f[2|d]|0,a=a+f[3|d]|0,h=h+f[4|d]|0,x=x+f[5|d]|0,u=u+f[6|d]|0,y=y+f[7|d]|0,w(),f.set([t,e,n,a,h,x,u,y],d);l(1),c=256}function l(t){var e,n,a;for(t=t||1;t--;)for(s=s+(o=o+1|0)|0,e=0;e<256;e+=4)i^=i<<13,i=f[e+128&255]+i|0,n=f[0|e],f[0|e]=a=f[n>>>2&255]+(i+s|0)|0,r[0|e]=s=f[a>>>10&255]+n|0,i^=i>>>6,i=f[e+129&255]+i|0,n=f[1|e],f[1|e]=a=f[n>>>2&255]+(i+s|0)|0,r[1|e]=s=f[a>>>10&255]+n|0,i^=i<<2,i=f[e+130&255]+i|0,n=f[2|e],f[2|e]=a=f[n>>>2&255]+(i+s|0)|0,r[2|e]=s=f[a>>>10&255]+n|0,i^=i>>>16,i=f[e+131&255]+i|0,n=f[3|e],f[3|e]=a=f[n>>>2&255]+(i+s|0)|0,r[3|e]=s=f[a>>>10&255]+n|0}return{seed:function(f){var i,s,o,c,l;if(x(f))f=new Uint8Array(f.buffer);else if(n(f))(c=new t(1))[0]=f,f=new Uint8Array(c.buffer);else if(a(f))f=e(f);else{if(!h(f))throw new TypeError("bad seed type");f=new Uint8Array(f)}for(l=f.length,s=0;s<l;s+=1024){for(o=s,i=0;i<1024&&o<l;o=s|++i)r[i>>2]^=f[o]<<((3&i)<<3);u()}},prng:l,rand:function(){return c--||(l(1),c=255),r[c]}}}(),df="undefined"!=typeof console?console:void 0,pf=Date.now,gf=Math.random,vf="undefined"!=typeof performance?performance:void 0,bf="undefined"!=typeof crypto?crypto:"undefined"!=typeof msCrypto?msCrypto:void 0;void 0!==bf&&(lf=bf.getRandomValues);var mf,_f=wf.rand,Af=wf.seed,Ef=0,Sf=!1,Cf=!1,Uf=0,kf=256,Mf={};if(f._random_skip_system_rng_warning=!1,f._random_allow_weak=!1,void 0!==vf)mf=function(){return 1e3*vf.now()|0};else{var Hf=1e3*pf()|0;mf=function(){return 1e3*pf()-Hf|0}}function Lf(){if(void 0!==bf)r=new Uint8Array(32),lf.call(bf,r),Af(r);else{var f,e,r=new t(3);r[0]=gf(),r[1]=pf(),r[2]=mf(),r=new Uint8Array(r.buffer);var i="";"undefined"!=typeof location?i+=location.href:"undefined"!=typeof process&&(i+=process.pid+process.title);var s=cf();for(f=0;f<100;f++)r=s.reset({password:r}).generate(i,1e3,32).result,e=mf(),r[0]^=e>>>24,r[1]^=e>>>16,r[2]^=e>>>8,r[3]^=e;Af(r)}Ef=0,Sf=!0}function Tf(f){if(!h(f)&&!x(f))throw new TypeError("bad seed type");var t=f.byteOffset||0,e=f.byteLength||f.length,r=new Uint8Array(f.buffer||f,t,e);Af(r),Ef=0;for(var i=0,s=0;s<r.length;s++)i|=r[s],r[s]=0;return 0!==i&&(Uf+=4*e),Cf=Uf>=kf}function If(t){if(Sf||Lf(),!Cf&&void 0===bf){if(!f._random_allow_weak)throw new w("No strong PRNGs available. Use asmCrypto.random.seed().");void 0!==df&&df.error("No strong PRNGs available; your security is greatly lowered. Use asmCrypto.random.seed().")}if(!f._random_skip_system_rng_warning&&!Cf&&void 0!==bf&&void 0!==df){var e=(new Error).stack;Mf[e]|=0,Mf[e]++||df.warn("asmCrypto PRNG not seeded; your security relies on your system PRNG. If this is not acceptable, use asmCrypto.random.seed().")}if(!h(t)&&!x(t))throw new TypeError("unexpected buffer type");var r,i,s=t.byteOffset||0,n=t.byteLength||t.length,a=new Uint8Array(t.buffer||t,s,n);for(void 0!==bf&&lf.call(bf,a),r=0;r<n;r++)0==(3&r)&&(Ef>=1099511627776&&Lf(),i=_f(),Ef++),a[r]^=i,i>>>=8;return t}function Zf(){(!Sf||Ef>=1099511627776)&&Lf();var f=(1048576*_f()+(_f()>>>12))/4503599627370496;return Ef+=2,f}function Df(f,t,e){"use asm";var r=0;var i=new f.Uint32Array(e);var s=f.Math.imul;function n(f){f=f|0;r=f=f+31&-32;return f|0}function a(f){f=f|0;var t=0;t=r;r=t+(f+31&-32)|0;return t|0}function h(f){f=f|0;r=r-(f+31&-32)|0}function o(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;if((t|0)>(e|0)){for(;(r|0)<(f|0);r=r+4|0){i[e+r>>2]=i[t+r>>2]}}else{for(r=f-4|0;(r|0)>=0;r=r-4|0){i[e+r>>2]=i[t+r>>2]}}}function x(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;for(;(r|0)<(f|0);r=r+4|0){i[e+r>>2]=t}}function c(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var s=0,n=0,a=0,h=0,o=0;if((r|0)<=0)r=t;if((r|0)<(t|0))t=r;n=1;for(;(o|0)<(t|0);o=o+4|0){s=~i[f+o>>2];a=(s&0xffff)+n|0;h=(s>>>16)+(a>>>16)|0;i[e+o>>2]=h<<16|a&0xffff;n=h>>>16}for(;(o|0)<(r|0);o=o+4|0){i[e+o>>2]=n-1|0}return n|0}function u(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var s=0,n=0,a=0;if((t|0)>(r|0)){for(a=t-4|0;(a|0)>=(r|0);a=a-4|0){if(i[f+a>>2]|0)return 1}}else{for(a=r-4|0;(a|0)>=(t|0);a=a-4|0){if(i[e+a>>2]|0)return-1}}for(;(a|0)>=0;a=a-4|0){s=i[f+a>>2]|0,n=i[e+a>>2]|0;if(s>>>0<n>>>0)return-1;if(s>>>0>n>>>0)return 1}return 0}function l(f,t){f=f|0;t=t|0;var e=0;for(e=t-4|0;(e|0)>=0;e=e-4|0){if(i[f+e>>2]|0)return e+4|0}return 0}function y(f,t,e,r,s,n){f=f|0;t=t|0;e=e|0;r=r|0;s=s|0;n=n|0;var a=0,h=0,o=0,x=0,c=0,u=0;if((t|0)<(r|0)){x=f,f=e,e=x;x=t,t=r,r=x}if((n|0)<=0)n=t+4|0;if((n|0)<(r|0))t=r=n;for(;(u|0)<(r|0);u=u+4|0){a=i[f+u>>2]|0;h=i[e+u>>2]|0;x=((a&0xffff)+(h&0xffff)|0)+o|0;c=((a>>>16)+(h>>>16)|0)+(x>>>16)|0;i[s+u>>2]=x&0xffff|c<<16;o=c>>>16}for(;(u|0)<(t|0);u=u+4|0){a=i[f+u>>2]|0;x=(a&0xffff)+o|0;c=(a>>>16)+(x>>>16)|0;i[s+u>>2]=x&0xffff|c<<16;o=c>>>16}for(;(u|0)<(n|0);u=u+4|0){i[s+u>>2]=o|0;o=0}return o|0}function w(f,t,e,r,s,n){f=f|0;t=t|0;e=e|0;r=r|0;s=s|0;n=n|0;var a=0,h=0,o=0,x=0,c=0,u=0;if((n|0)<=0)n=(t|0)>(r|0)?t+4|0:r+4|0;if((n|0)<(t|0))t=n;if((n|0)<(r|0))r=n;if((t|0)<(r|0)){for(;(u|0)<(t|0);u=u+4|0){a=i[f+u>>2]|0;h=i[e+u>>2]|0;x=((a&0xffff)-(h&0xffff)|0)+o|0;c=((a>>>16)-(h>>>16)|0)+(x>>16)|0;i[s+u>>2]=x&0xffff|c<<16;o=c>>16}for(;(u|0)<(r|0);u=u+4|0){h=i[e+u>>2]|0;x=o-(h&0xffff)|0;c=(x>>16)-(h>>>16)|0;i[s+u>>2]=x&0xffff|c<<16;o=c>>16}}else{for(;(u|0)<(r|0);u=u+4|0){a=i[f+u>>2]|0;h=i[e+u>>2]|0;x=((a&0xffff)-(h&0xffff)|0)+o|0;c=((a>>>16)-(h>>>16)|0)+(x>>16)|0;i[s+u>>2]=x&0xffff|c<<16;o=c>>16}for(;(u|0)<(t|0);u=u+4|0){a=i[f+u>>2]|0;x=(a&0xffff)+o|0;c=(a>>>16)+(x>>16)|0;i[s+u>>2]=x&0xffff|c<<16;o=c>>16}}for(;(u|0)<(n|0);u=u+4|0){i[s+u>>2]=o|0}return o|0}function d(f,t,e,r,n,a){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;a=a|0;var h=0,o=0,x=0,c=0,u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0,b=0,m=0,_=0,A=0,E=0,S=0,C=0,U=0,k=0,M=0,H=0,L=0,T=0,I=0,Z=0,D=0,P=0,O=0,B=0,q=0,G=0,R=0,z=0,N=0,K=0,F=0,j=0,V=0,W=0,J=0,Q=0,X=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,sf=0,nf=0,af=0,hf=0,of=0,xf=0,cf=0;if((t|0)>(r|0)){ef=f,rf=t;f=e,t=r;e=ef,r=rf}nf=t+r|0;if((a|0)>(nf|0)|(a|0)<=0)a=nf;if((a|0)<(t|0))t=a;if((a|0)<(r|0))r=a;for(;(af|0)<(t|0);af=af+32|0){hf=f+af|0;d=i[(hf|0)>>2]|0,p=i[(hf|4)>>2]|0,g=i[(hf|8)>>2]|0,v=i[(hf|12)>>2]|0,b=i[(hf|16)>>2]|0,m=i[(hf|20)>>2]|0,_=i[(hf|24)>>2]|0,A=i[(hf|28)>>2]|0,h=d&0xffff,o=p&0xffff,x=g&0xffff,c=v&0xffff,u=b&0xffff,l=m&0xffff,y=_&0xffff,w=A&0xffff,d=d>>>16,p=p>>>16,g=g>>>16,v=v>>>16,b=b>>>16,m=m>>>16,_=_>>>16,A=A>>>16;W=J=Q=X=Y=$=ff=tf=0;for(of=0;(of|0)<(r|0);of=of+32|0){xf=e+of|0;cf=n+(af+of|0)|0;T=i[(xf|0)>>2]|0,I=i[(xf|4)>>2]|0,Z=i[(xf|8)>>2]|0,D=i[(xf|12)>>2]|0,P=i[(xf|16)>>2]|0,O=i[(xf|20)>>2]|0,B=i[(xf|24)>>2]|0,q=i[(xf|28)>>2]|0,E=T&0xffff,S=I&0xffff,C=Z&0xffff,U=D&0xffff,k=P&0xffff,M=O&0xffff,H=B&0xffff,L=q&0xffff,T=T>>>16,I=I>>>16,Z=Z>>>16,D=D>>>16,P=P>>>16,O=O>>>16,B=B>>>16,q=q>>>16;G=i[(cf|0)>>2]|0,R=i[(cf|4)>>2]|0,z=i[(cf|8)>>2]|0,N=i[(cf|12)>>2]|0,K=i[(cf|16)>>2]|0,F=i[(cf|20)>>2]|0,j=i[(cf|24)>>2]|0,V=i[(cf|28)>>2]|0;ef=((s(h,E)|0)+(W&0xffff)|0)+(G&0xffff)|0;rf=((s(d,E)|0)+(W>>>16)|0)+(G>>>16)|0;sf=((s(h,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(d,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;G=sf<<16|ef&0xffff;ef=((s(h,S)|0)+(nf&0xffff)|0)+(R&0xffff)|0;rf=((s(d,S)|0)+(nf>>>16)|0)+(R>>>16)|0;sf=((s(h,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(d,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;R=sf<<16|ef&0xffff;ef=((s(h,C)|0)+(nf&0xffff)|0)+(z&0xffff)|0;rf=((s(d,C)|0)+(nf>>>16)|0)+(z>>>16)|0;sf=((s(h,Z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(d,Z)|0)+(rf>>>16)|0)+(sf>>>16)|0;z=sf<<16|ef&0xffff;ef=((s(h,U)|0)+(nf&0xffff)|0)+(N&0xffff)|0;rf=((s(d,U)|0)+(nf>>>16)|0)+(N>>>16)|0;sf=((s(h,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(d,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;N=sf<<16|ef&0xffff;ef=((s(h,k)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((s(d,k)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((s(h,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(d,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((s(h,M)|0)+(nf&0xffff)|0)+(F&0xffff)|0;rf=((s(d,M)|0)+(nf>>>16)|0)+(F>>>16)|0;sf=((s(h,O)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(d,O)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((s(h,H)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((s(d,H)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((s(h,B)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(d,B)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((s(h,L)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((s(d,L)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((s(h,q)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(d,q)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;W=nf;ef=((s(o,E)|0)+(J&0xffff)|0)+(R&0xffff)|0;rf=((s(p,E)|0)+(J>>>16)|0)+(R>>>16)|0;sf=((s(o,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(p,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;R=sf<<16|ef&0xffff;ef=((s(o,S)|0)+(nf&0xffff)|0)+(z&0xffff)|0;rf=((s(p,S)|0)+(nf>>>16)|0)+(z>>>16)|0;sf=((s(o,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(p,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;z=sf<<16|ef&0xffff;ef=((s(o,C)|0)+(nf&0xffff)|0)+(N&0xffff)|0;rf=((s(p,C)|0)+(nf>>>16)|0)+(N>>>16)|0;sf=((s(o,Z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(p,Z)|0)+(rf>>>16)|0)+(sf>>>16)|0;N=sf<<16|ef&0xffff;ef=((s(o,U)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((s(p,U)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((s(o,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(p,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((s(o,k)|0)+(nf&0xffff)|0)+(F&0xffff)|0;rf=((s(p,k)|0)+(nf>>>16)|0)+(F>>>16)|0;sf=((s(o,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(p,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((s(o,M)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((s(p,M)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((s(o,O)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(p,O)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((s(o,H)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((s(p,H)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((s(o,B)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(p,B)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((s(o,L)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((s(p,L)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((s(o,q)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(p,q)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;J=nf;ef=((s(x,E)|0)+(Q&0xffff)|0)+(z&0xffff)|0;rf=((s(g,E)|0)+(Q>>>16)|0)+(z>>>16)|0;sf=((s(x,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(g,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;z=sf<<16|ef&0xffff;ef=((s(x,S)|0)+(nf&0xffff)|0)+(N&0xffff)|0;rf=((s(g,S)|0)+(nf>>>16)|0)+(N>>>16)|0;sf=((s(x,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(g,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;N=sf<<16|ef&0xffff;ef=((s(x,C)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((s(g,C)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((s(x,Z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(g,Z)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((s(x,U)|0)+(nf&0xffff)|0)+(F&0xffff)|0;rf=((s(g,U)|0)+(nf>>>16)|0)+(F>>>16)|0;sf=((s(x,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(g,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((s(x,k)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((s(g,k)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((s(x,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(g,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((s(x,M)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((s(g,M)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((s(x,O)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(g,O)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((s(x,H)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((s(g,H)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((s(x,B)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(g,B)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((s(x,L)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((s(g,L)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((s(x,q)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(g,q)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;Q=nf;ef=((s(c,E)|0)+(X&0xffff)|0)+(N&0xffff)|0;rf=((s(v,E)|0)+(X>>>16)|0)+(N>>>16)|0;sf=((s(c,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(v,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;N=sf<<16|ef&0xffff;ef=((s(c,S)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((s(v,S)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((s(c,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(v,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((s(c,C)|0)+(nf&0xffff)|0)+(F&0xffff)|0;rf=((s(v,C)|0)+(nf>>>16)|0)+(F>>>16)|0;sf=((s(c,Z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(v,Z)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((s(c,U)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((s(v,U)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((s(c,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(v,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((s(c,k)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((s(v,k)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((s(c,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(v,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((s(c,M)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((s(v,M)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((s(c,O)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(v,O)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((s(c,H)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((s(v,H)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((s(c,B)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(v,B)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((s(c,L)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((s(v,L)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((s(c,q)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(v,q)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;X=nf;ef=((s(u,E)|0)+(Y&0xffff)|0)+(K&0xffff)|0;rf=((s(b,E)|0)+(Y>>>16)|0)+(K>>>16)|0;sf=((s(u,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(b,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((s(u,S)|0)+(nf&0xffff)|0)+(F&0xffff)|0;rf=((s(b,S)|0)+(nf>>>16)|0)+(F>>>16)|0;sf=((s(u,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(b,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((s(u,C)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((s(b,C)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((s(u,Z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(b,Z)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((s(u,U)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((s(b,U)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((s(u,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(b,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((s(u,k)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((s(b,k)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((s(u,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(b,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((s(u,M)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((s(b,M)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((s(u,O)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(b,O)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((s(u,H)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((s(b,H)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((s(u,B)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(b,B)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;ef=((s(u,L)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((s(b,L)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((s(u,q)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(b,q)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;Y=nf;ef=((s(l,E)|0)+($&0xffff)|0)+(F&0xffff)|0;rf=((s(m,E)|0)+($>>>16)|0)+(F>>>16)|0;sf=((s(l,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(m,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((s(l,S)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((s(m,S)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((s(l,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(m,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((s(l,C)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((s(m,C)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((s(l,Z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(m,Z)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((s(l,U)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((s(m,U)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((s(l,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(m,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((s(l,k)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((s(m,k)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((s(l,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(m,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((s(l,M)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((s(m,M)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((s(l,O)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(m,O)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;ef=((s(l,H)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((s(m,H)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((s(l,B)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(m,B)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((s(l,L)|0)+(nf&0xffff)|0)+(Y&0xffff)|0;rf=((s(m,L)|0)+(nf>>>16)|0)+(Y>>>16)|0;sf=((s(l,q)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(m,q)|0)+(rf>>>16)|0)+(sf>>>16)|0;Y=sf<<16|ef&0xffff;$=nf;ef=((s(y,E)|0)+(ff&0xffff)|0)+(j&0xffff)|0;rf=((s(_,E)|0)+(ff>>>16)|0)+(j>>>16)|0;sf=((s(y,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(_,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((s(y,S)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((s(_,S)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((s(y,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(_,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((s(y,C)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((s(_,C)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((s(y,Z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(_,Z)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((s(y,U)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((s(_,U)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((s(y,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(_,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((s(y,k)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((s(_,k)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((s(y,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(_,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;ef=((s(y,M)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((s(_,M)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((s(y,O)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(_,O)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((s(y,H)|0)+(nf&0xffff)|0)+(Y&0xffff)|0;rf=((s(_,H)|0)+(nf>>>16)|0)+(Y>>>16)|0;sf=((s(y,B)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(_,B)|0)+(rf>>>16)|0)+(sf>>>16)|0;Y=sf<<16|ef&0xffff;ef=((s(y,L)|0)+(nf&0xffff)|0)+($&0xffff)|0;rf=((s(_,L)|0)+(nf>>>16)|0)+($>>>16)|0;sf=((s(y,q)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(_,q)|0)+(rf>>>16)|0)+(sf>>>16)|0;$=sf<<16|ef&0xffff;ff=nf;ef=((s(w,E)|0)+(tf&0xffff)|0)+(V&0xffff)|0;rf=((s(A,E)|0)+(tf>>>16)|0)+(V>>>16)|0;sf=((s(w,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(A,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((s(w,S)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((s(A,S)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((s(w,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(A,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((s(w,C)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((s(A,C)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((s(w,Z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(A,Z)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((s(w,U)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((s(A,U)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((s(w,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(A,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;ef=((s(w,k)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((s(A,k)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((s(w,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(A,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((s(w,M)|0)+(nf&0xffff)|0)+(Y&0xffff)|0;rf=((s(A,M)|0)+(nf>>>16)|0)+(Y>>>16)|0;sf=((s(w,O)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(A,O)|0)+(rf>>>16)|0)+(sf>>>16)|0;Y=sf<<16|ef&0xffff;ef=((s(w,H)|0)+(nf&0xffff)|0)+($&0xffff)|0;rf=((s(A,H)|0)+(nf>>>16)|0)+($>>>16)|0;sf=((s(w,B)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(A,B)|0)+(rf>>>16)|0)+(sf>>>16)|0;$=sf<<16|ef&0xffff;ef=((s(w,L)|0)+(nf&0xffff)|0)+(ff&0xffff)|0;rf=((s(A,L)|0)+(nf>>>16)|0)+(ff>>>16)|0;sf=((s(w,q)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((s(A,q)|0)+(rf>>>16)|0)+(sf>>>16)|0;ff=sf<<16|ef&0xffff;tf=nf;i[(cf|0)>>2]=G,i[(cf|4)>>2]=R,i[(cf|8)>>2]=z,i[(cf|12)>>2]=N,i[(cf|16)>>2]=K,i[(cf|20)>>2]=F,i[(cf|24)>>2]=j,i[(cf|28)>>2]=V}cf=n+(af+of|0)|0;i[(cf|0)>>2]=W,i[(cf|4)>>2]=J,i[(cf|8)>>2]=Q,i[(cf|12)>>2]=X,i[(cf|16)>>2]=Y,i[(cf|20)>>2]=$,i[(cf|24)>>2]=ff,i[(cf|28)>>2]=tf}}function p(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0,a=0,h=0,o=0,x=0,c=0,u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0,b=0,m=0,_=0,A=0,E=0,S=0,C=0,U=0,k=0,M=0,H=0,L=0,T=0,I=0,Z=0,D=0,P=0,O=0,B=0,q=0,G=0,R=0,z=0,N=0,K=0,F=0,j=0,V=0,W=0,J=0,Q=0,X=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,sf=0,nf=0,af=0,hf=0,of=0,xf=0,cf=0,uf=0,lf=0,yf=0,wf=0;for(;(xf|0)<(t|0);xf=xf+4|0){wf=e+(xf<<1)|0;l=i[f+xf>>2]|0,r=l&0xffff,l=l>>>16;$=s(r,r)|0;ff=(s(r,l)|0)+($>>>17)|0;tf=(s(l,l)|0)+(ff>>>15)|0;i[wf>>2]=ff<<17|$&0x1ffff;i[(wf|4)>>2]=tf}for(of=0;(of|0)<(t|0);of=of+8|0){lf=f+of|0,wf=e+(of<<1)|0;l=i[lf>>2]|0,r=l&0xffff,l=l>>>16;M=i[(lf|4)>>2]|0,m=M&0xffff,M=M>>>16;$=s(r,m)|0;ff=(s(r,M)|0)+($>>>16)|0;tf=(s(l,m)|0)+(ff&0xffff)|0;sf=((s(l,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;nf=i[(wf|4)>>2]|0;$=(nf&0xffff)+(($&0xffff)<<1)|0;tf=((nf>>>16)+((tf&0xffff)<<1)|0)+($>>>16)|0;i[(wf|4)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[(wf|8)>>2]|0;$=((nf&0xffff)+((sf&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(sf>>>16<<1)|0)+($>>>16)|0;i[(wf|8)>>2]=tf<<16|$&0xffff;ef=tf>>>16;if(ef){nf=i[(wf|12)>>2]|0;$=(nf&0xffff)+ef|0;tf=(nf>>>16)+($>>>16)|0;i[(wf|12)>>2]=tf<<16|$&0xffff}}for(of=0;(of|0)<(t|0);of=of+16|0){lf=f+of|0,wf=e+(of<<1)|0;l=i[lf>>2]|0,r=l&0xffff,l=l>>>16,y=i[(lf|4)>>2]|0,n=y&0xffff,y=y>>>16;M=i[(lf|8)>>2]|0,m=M&0xffff,M=M>>>16,H=i[(lf|12)>>2]|0,_=H&0xffff,H=H>>>16;$=s(r,m)|0;ff=s(l,m)|0;tf=((s(r,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=(s(r,_)|0)+(sf&0xffff)|0;ff=(s(l,_)|0)+(sf>>>16)|0;tf=((s(r,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;B=tf<<16|$&0xffff;q=sf;$=(s(n,m)|0)+(B&0xffff)|0;ff=(s(y,m)|0)+(B>>>16)|0;tf=((s(n,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;B=tf<<16|$&0xffff;$=((s(n,_)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,_)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((s(n,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;G=sf;nf=i[(wf|8)>>2]|0;$=(nf&0xffff)+((O&0xffff)<<1)|0;tf=((nf>>>16)+(O>>>16<<1)|0)+($>>>16)|0;i[(wf|8)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[(wf|12)>>2]|0;$=((nf&0xffff)+((B&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(B>>>16<<1)|0)+($>>>16)|0;i[(wf|12)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[(wf|16)>>2]|0;$=((nf&0xffff)+((q&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(q>>>16<<1)|0)+($>>>16)|0;i[(wf|16)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[(wf|20)>>2]|0;$=((nf&0xffff)+((G&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(G>>>16<<1)|0)+($>>>16)|0;i[(wf|20)>>2]=tf<<16|$&0xffff;ef=tf>>>16;for(uf=24;!!ef&(uf|0)<32;uf=uf+4|0){nf=i[(wf|uf)>>2]|0;$=(nf&0xffff)+ef|0;tf=(nf>>>16)+($>>>16)|0;i[(wf|uf)>>2]=tf<<16|$&0xffff;ef=tf>>>16}}for(of=0;(of|0)<(t|0);of=of+32|0){lf=f+of|0,wf=e+(of<<1)|0;l=i[lf>>2]|0,r=l&0xffff,l=l>>>16,y=i[(lf|4)>>2]|0,n=y&0xffff,y=y>>>16,w=i[(lf|8)>>2]|0,a=w&0xffff,w=w>>>16,d=i[(lf|12)>>2]|0,h=d&0xffff,d=d>>>16;M=i[(lf|16)>>2]|0,m=M&0xffff,M=M>>>16,H=i[(lf|20)>>2]|0,_=H&0xffff,H=H>>>16,L=i[(lf|24)>>2]|0,A=L&0xffff,L=L>>>16,T=i[(lf|28)>>2]|0,E=T&0xffff,T=T>>>16;$=s(r,m)|0;ff=s(l,m)|0;tf=((s(r,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=(s(r,_)|0)+(sf&0xffff)|0;ff=(s(l,_)|0)+(sf>>>16)|0;tf=((s(r,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;B=tf<<16|$&0xffff;$=(s(r,A)|0)+(sf&0xffff)|0;ff=(s(l,A)|0)+(sf>>>16)|0;tf=((s(r,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=(s(r,E)|0)+(sf&0xffff)|0;ff=(s(l,E)|0)+(sf>>>16)|0;tf=((s(r,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;R=sf;$=(s(n,m)|0)+(B&0xffff)|0;ff=(s(y,m)|0)+(B>>>16)|0;tf=((s(n,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;B=tf<<16|$&0xffff;$=((s(n,_)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,_)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((s(n,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((s(n,A)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,A)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((s(n,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((s(n,E)|0)+(R&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,E)|0)+(R>>>16)|0)+(sf>>>16)|0;tf=((s(n,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;R=tf<<16|$&0xffff;z=sf;$=(s(a,m)|0)+(q&0xffff)|0;ff=(s(w,m)|0)+(q>>>16)|0;tf=((s(a,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((s(a,_)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,_)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((s(a,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((s(a,A)|0)+(R&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,A)|0)+(R>>>16)|0)+(sf>>>16)|0;tf=((s(a,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;R=tf<<16|$&0xffff;$=((s(a,E)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,E)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((s(a,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;N=sf;$=(s(h,m)|0)+(G&0xffff)|0;ff=(s(d,m)|0)+(G>>>16)|0;tf=((s(h,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((s(h,_)|0)+(R&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,_)|0)+(R>>>16)|0)+(sf>>>16)|0;tf=((s(h,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;R=tf<<16|$&0xffff;$=((s(h,A)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,A)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((s(h,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((s(h,E)|0)+(N&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,E)|0)+(N>>>16)|0)+(sf>>>16)|0;tf=((s(h,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;N=tf<<16|$&0xffff;K=sf;nf=i[(wf|16)>>2]|0;$=(nf&0xffff)+((O&0xffff)<<1)|0;tf=((nf>>>16)+(O>>>16<<1)|0)+($>>>16)|0;i[(wf|16)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[(wf|20)>>2]|0;$=((nf&0xffff)+((B&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(B>>>16<<1)|0)+($>>>16)|0;i[(wf|20)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[(wf|24)>>2]|0;$=((nf&0xffff)+((q&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(q>>>16<<1)|0)+($>>>16)|0;i[(wf|24)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[(wf|28)>>2]|0;$=((nf&0xffff)+((G&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(G>>>16<<1)|0)+($>>>16)|0;i[(wf|28)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[wf+32>>2]|0;$=((nf&0xffff)+((R&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(R>>>16<<1)|0)+($>>>16)|0;i[wf+32>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[wf+36>>2]|0;$=((nf&0xffff)+((z&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(z>>>16<<1)|0)+($>>>16)|0;i[wf+36>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[wf+40>>2]|0;$=((nf&0xffff)+((N&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(N>>>16<<1)|0)+($>>>16)|0;i[wf+40>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=i[wf+44>>2]|0;$=((nf&0xffff)+((K&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(K>>>16<<1)|0)+($>>>16)|0;i[wf+44>>2]=tf<<16|$&0xffff;ef=tf>>>16;for(uf=48;!!ef&(uf|0)<64;uf=uf+4|0){nf=i[wf+uf>>2]|0;$=(nf&0xffff)+ef|0;tf=(nf>>>16)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16}}for(af=32;(af|0)<(t|0);af=af<<1){hf=af<<1;for(of=0;(of|0)<(t|0);of=of+hf|0){wf=e+(of<<1)|0;rf=0;for(xf=0;(xf|0)<(af|0);xf=xf+32|0){lf=(f+of|0)+xf|0;l=i[lf>>2]|0,r=l&0xffff,l=l>>>16,y=i[(lf|4)>>2]|0,n=y&0xffff,y=y>>>16,w=i[(lf|8)>>2]|0,a=w&0xffff,w=w>>>16,d=i[(lf|12)>>2]|0,h=d&0xffff,d=d>>>16,p=i[(lf|16)>>2]|0,o=p&0xffff,p=p>>>16,g=i[(lf|20)>>2]|0,x=g&0xffff,g=g>>>16,v=i[(lf|24)>>2]|0,c=v&0xffff,v=v>>>16,b=i[(lf|28)>>2]|0,u=b&0xffff,b=b>>>16;F=j=V=W=J=Q=X=Y=ef=0;for(cf=0;(cf|0)<(af|0);cf=cf+32|0){yf=((f+of|0)+af|0)+cf|0;M=i[yf>>2]|0,m=M&0xffff,M=M>>>16,H=i[(yf|4)>>2]|0,_=H&0xffff,H=H>>>16,L=i[(yf|8)>>2]|0,A=L&0xffff,L=L>>>16,T=i[(yf|12)>>2]|0,E=T&0xffff,T=T>>>16,I=i[(yf|16)>>2]|0,S=I&0xffff,I=I>>>16,Z=i[(yf|20)>>2]|0,C=Z&0xffff,Z=Z>>>16,D=i[(yf|24)>>2]|0,U=D&0xffff,D=D>>>16,P=i[(yf|28)>>2]|0,k=P&0xffff,P=P>>>16;O=B=q=G=R=z=N=K=0;$=((s(r,m)|0)+(O&0xffff)|0)+(F&0xffff)|0;ff=((s(l,m)|0)+(O>>>16)|0)+(F>>>16)|0;tf=((s(r,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=((s(r,_)|0)+(B&0xffff)|0)+(sf&0xffff)|0;ff=((s(l,_)|0)+(B>>>16)|0)+(sf>>>16)|0;tf=((s(r,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;B=tf<<16|$&0xffff;$=((s(r,A)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((s(l,A)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((s(r,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((s(r,E)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((s(l,E)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((s(r,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((s(r,S)|0)+(R&0xffff)|0)+(sf&0xffff)|0;ff=((s(l,S)|0)+(R>>>16)|0)+(sf>>>16)|0;tf=((s(r,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;R=tf<<16|$&0xffff;$=((s(r,C)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((s(l,C)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((s(r,Z)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,Z)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((s(r,U)|0)+(N&0xffff)|0)+(sf&0xffff)|0;ff=((s(l,U)|0)+(N>>>16)|0)+(sf>>>16)|0;tf=((s(r,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;N=tf<<16|$&0xffff;$=((s(r,k)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((s(l,k)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((s(r,P)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(l,P)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;F=sf;$=((s(n,m)|0)+(B&0xffff)|0)+(j&0xffff)|0;ff=((s(y,m)|0)+(B>>>16)|0)+(j>>>16)|0;tf=((s(n,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;B=tf<<16|$&0xffff;$=((s(n,_)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,_)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((s(n,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((s(n,A)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,A)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((s(n,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((s(n,E)|0)+(R&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,E)|0)+(R>>>16)|0)+(sf>>>16)|0;tf=((s(n,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;R=tf<<16|$&0xffff;$=((s(n,S)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,S)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((s(n,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((s(n,C)|0)+(N&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,C)|0)+(N>>>16)|0)+(sf>>>16)|0;tf=((s(n,Z)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,Z)|0)+(ff>>>16)|0)+(tf>>>16)|0;N=tf<<16|$&0xffff;$=((s(n,U)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,U)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((s(n,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((s(n,k)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((s(y,k)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((s(n,P)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(y,P)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;j=sf;$=((s(a,m)|0)+(q&0xffff)|0)+(V&0xffff)|0;ff=((s(w,m)|0)+(q>>>16)|0)+(V>>>16)|0;tf=((s(a,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((s(a,_)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,_)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((s(a,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((s(a,A)|0)+(R&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,A)|0)+(R>>>16)|0)+(sf>>>16)|0;tf=((s(a,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;R=tf<<16|$&0xffff;$=((s(a,E)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,E)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((s(a,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((s(a,S)|0)+(N&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,S)|0)+(N>>>16)|0)+(sf>>>16)|0;tf=((s(a,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;N=tf<<16|$&0xffff;$=((s(a,C)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,C)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((s(a,Z)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,Z)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((s(a,U)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,U)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((s(a,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((s(a,k)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((s(w,k)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((s(a,P)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(w,P)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;V=sf;$=((s(h,m)|0)+(G&0xffff)|0)+(W&0xffff)|0;ff=((s(d,m)|0)+(G>>>16)|0)+(W>>>16)|0;tf=((s(h,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((s(h,_)|0)+(R&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,_)|0)+(R>>>16)|0)+(sf>>>16)|0;tf=((s(h,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;R=tf<<16|$&0xffff;$=((s(h,A)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,A)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((s(h,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((s(h,E)|0)+(N&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,E)|0)+(N>>>16)|0)+(sf>>>16)|0;tf=((s(h,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;N=tf<<16|$&0xffff;$=((s(h,S)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,S)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((s(h,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((s(h,C)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,C)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((s(h,Z)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,Z)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((s(h,U)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,U)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((s(h,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((s(h,k)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((s(d,k)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((s(h,P)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(d,P)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;W=sf;$=((s(o,m)|0)+(R&0xffff)|0)+(J&0xffff)|0;ff=((s(p,m)|0)+(R>>>16)|0)+(J>>>16)|0;tf=((s(o,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(p,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;R=tf<<16|$&0xffff;$=((s(o,_)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((s(p,_)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((s(o,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(p,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((s(o,A)|0)+(N&0xffff)|0)+(sf&0xffff)|0;ff=((s(p,A)|0)+(N>>>16)|0)+(sf>>>16)|0;tf=((s(o,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(p,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;N=tf<<16|$&0xffff;$=((s(o,E)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((s(p,E)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((s(o,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(p,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((s(o,S)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((s(p,S)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((s(o,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(p,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((s(o,C)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((s(p,C)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((s(o,Z)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(p,Z)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((s(o,U)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((s(p,U)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((s(o,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(p,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((s(o,k)|0)+(W&0xffff)|0)+(sf&0xffff)|0;ff=((s(p,k)|0)+(W>>>16)|0)+(sf>>>16)|0;tf=((s(o,P)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(p,P)|0)+(ff>>>16)|0)+(tf>>>16)|0;W=tf<<16|$&0xffff;J=sf;$=((s(x,m)|0)+(z&0xffff)|0)+(Q&0xffff)|0;ff=((s(g,m)|0)+(z>>>16)|0)+(Q>>>16)|0;tf=((s(x,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(g,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((s(x,_)|0)+(N&0xffff)|0)+(sf&0xffff)|0;ff=((s(g,_)|0)+(N>>>16)|0)+(sf>>>16)|0;tf=((s(x,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(g,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;N=tf<<16|$&0xffff;$=((s(x,A)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((s(g,A)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((s(x,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(g,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((s(x,E)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((s(g,E)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((s(x,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(g,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((s(x,S)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((s(g,S)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((s(x,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(g,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((s(x,C)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((s(g,C)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((s(x,Z)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(g,Z)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((s(x,U)|0)+(W&0xffff)|0)+(sf&0xffff)|0;ff=((s(g,U)|0)+(W>>>16)|0)+(sf>>>16)|0;tf=((s(x,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(g,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;W=tf<<16|$&0xffff;$=((s(x,k)|0)+(J&0xffff)|0)+(sf&0xffff)|0;ff=((s(g,k)|0)+(J>>>16)|0)+(sf>>>16)|0;tf=((s(x,P)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(g,P)|0)+(ff>>>16)|0)+(tf>>>16)|0;J=tf<<16|$&0xffff;Q=sf;$=((s(c,m)|0)+(N&0xffff)|0)+(X&0xffff)|0;ff=((s(v,m)|0)+(N>>>16)|0)+(X>>>16)|0;tf=((s(c,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(v,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;N=tf<<16|$&0xffff;$=((s(c,_)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((s(v,_)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((s(c,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(v,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((s(c,A)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((s(v,A)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((s(c,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(v,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((s(c,E)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((s(v,E)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((s(c,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(v,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((s(c,S)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((s(v,S)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((s(c,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(v,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((s(c,C)|0)+(W&0xffff)|0)+(sf&0xffff)|0;ff=((s(v,C)|0)+(W>>>16)|0)+(sf>>>16)|0;tf=((s(c,Z)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(v,Z)|0)+(ff>>>16)|0)+(tf>>>16)|0;W=tf<<16|$&0xffff;$=((s(c,U)|0)+(J&0xffff)|0)+(sf&0xffff)|0;ff=((s(v,U)|0)+(J>>>16)|0)+(sf>>>16)|0;tf=((s(c,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(v,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;J=tf<<16|$&0xffff;$=((s(c,k)|0)+(Q&0xffff)|0)+(sf&0xffff)|0;ff=((s(v,k)|0)+(Q>>>16)|0)+(sf>>>16)|0;tf=((s(c,P)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(v,P)|0)+(ff>>>16)|0)+(tf>>>16)|0;Q=tf<<16|$&0xffff;X=sf;$=((s(u,m)|0)+(K&0xffff)|0)+(Y&0xffff)|0;ff=((s(b,m)|0)+(K>>>16)|0)+(Y>>>16)|0;tf=((s(u,M)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(b,M)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((s(u,_)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((s(b,_)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((s(u,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(b,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((s(u,A)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((s(b,A)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((s(u,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(b,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((s(u,E)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((s(b,E)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((s(u,T)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(b,T)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((s(u,S)|0)+(W&0xffff)|0)+(sf&0xffff)|0;ff=((s(b,S)|0)+(W>>>16)|0)+(sf>>>16)|0;tf=((s(u,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(b,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;W=tf<<16|$&0xffff;$=((s(u,C)|0)+(J&0xffff)|0)+(sf&0xffff)|0;ff=((s(b,C)|0)+(J>>>16)|0)+(sf>>>16)|0;tf=((s(u,Z)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(b,Z)|0)+(ff>>>16)|0)+(tf>>>16)|0;J=tf<<16|$&0xffff;$=((s(u,U)|0)+(Q&0xffff)|0)+(sf&0xffff)|0;ff=((s(b,U)|0)+(Q>>>16)|0)+(sf>>>16)|0;tf=((s(u,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(b,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;Q=tf<<16|$&0xffff;$=((s(u,k)|0)+(X&0xffff)|0)+(sf&0xffff)|0;ff=((s(b,k)|0)+(X>>>16)|0)+(sf>>>16)|0;tf=((s(u,P)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((s(b,P)|0)+(ff>>>16)|0)+(tf>>>16)|0;X=tf<<16|$&0xffff;Y=sf;uf=af+(xf+cf|0)|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((O&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(O>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((B&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(B>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((q&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(q>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((G&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(G>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((R&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(R>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((z&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(z>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((N&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(N>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((K&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(K>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16}uf=af+(xf+cf|0)|0;nf=i[wf+uf>>2]|0;$=(((nf&0xffff)+((F&0xffff)<<1)|0)+ef|0)+rf|0;tf=((nf>>>16)+(F>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((j&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(j>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((V&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(V>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((W&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(W>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((J&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(J>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((Q&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(Q>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((X&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(X>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;ef=tf>>>16;uf=uf+4|0;nf=i[wf+uf>>2]|0;$=((nf&0xffff)+((Y&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(Y>>>16<<1)|0)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;rf=tf>>>16}for(uf=uf+4|0;!!rf&(uf|0)<hf<<1;uf=uf+4|0){nf=i[wf+uf>>2]|0;$=(nf&0xffff)+rf|0;tf=(nf>>>16)+($>>>16)|0;i[wf+uf>>2]=tf<<16|$&0xffff;rf=tf>>>16}}}}function g(f,t,e,r,n){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;var a=0,h=0,o=0,x=0,c=0,u=0,l=0,y=0,w=0,d=0,p=0,g=0,v=0,b=0,m=0,_=0,A=0,E=0,S=0;for(A=t-1&-4;(A|0)>=0;A=A-4|0){a=i[f+A>>2]|0;if(a){t=A;break}}for(A=r-1&-4;(A|0)>=0;A=A-4|0){h=i[e+A>>2]|0;if(h){r=A;break}}while((h&0x80000000)==0){h=h<<1;o=o+1|0}c=i[f+t>>2]|0;if(o){x=c>>>(32-o|0);for(A=t-4|0;(A|0)>=0;A=A-4|0){a=i[f+A>>2]|0;i[f+A+4>>2]=c<<o|(o?a>>>(32-o|0):0);c=a}i[f>>2]=c<<o}if(o){u=i[e+r>>2]|0;for(A=r-4|0;(A|0)>=0;A=A-4|0){h=i[e+A>>2]|0;i[e+A+4>>2]=u<<o|h>>>(32-o|0);u=h}i[e>>2]=u<<o}u=i[e+r>>2]|0;l=u>>>16,y=u&0xffff;for(A=t;(A|0)>=(r|0);A=A-4|0){E=A-r|0;c=i[f+A>>2]|0;w=(x>>>0)/(l>>>0)|0,p=(x>>>0)%(l>>>0)|0,v=s(w,y)|0;while((w|0)==0x10000|v>>>0>(p<<16|c>>>16)>>>0){w=w-1|0,p=p+l|0,v=v-y|0;if((p|0)>=0x10000)break}m=0,_=0;for(S=0;(S|0)<=(r|0);S=S+4|0){h=i[e+S>>2]|0;v=(s(w,h&0xffff)|0)+(m>>>16)|0;b=(s(w,h>>>16)|0)+(v>>>16)|0;h=m&0xffff|v<<16;m=b;a=i[f+E+S>>2]|0;v=((a&0xffff)-(h&0xffff)|0)+_|0;b=((a>>>16)-(h>>>16)|0)+(v>>16)|0;i[f+E+S>>2]=b<<16|v&0xffff;_=b>>16}v=((x&0xffff)-(m&0xffff)|0)+_|0;b=((x>>>16)-(m>>>16)|0)+(v>>16)|0;x=b<<16|v&0xffff;_=b>>16;if(_){w=w-1|0;_=0;for(S=0;(S|0)<=(r|0);S=S+4|0){h=i[e+S>>2]|0;a=i[f+E+S>>2]|0;v=(a&0xffff)+_|0;b=(a>>>16)+h+(v>>>16)|0;i[f+E+S>>2]=b<<16|v&0xffff;_=b>>>16}x=x+_|0}c=i[f+A>>2]|0;a=x<<16|c>>>16;d=(a>>>0)/(l>>>0)|0,g=(a>>>0)%(l>>>0)|0,v=s(d,y)|0;while((d|0)==0x10000|v>>>0>(g<<16|c&0xffff)>>>0){d=d-1|0,g=g+l|0,v=v-y|0;if((g|0)>=0x10000)break}m=0,_=0;for(S=0;(S|0)<=(r|0);S=S+4|0){h=i[e+S>>2]|0;v=(s(d,h&0xffff)|0)+(m&0xffff)|0;b=((s(d,h>>>16)|0)+(v>>>16)|0)+(m>>>16)|0;h=v&0xffff|b<<16;m=b>>>16;a=i[f+E+S>>2]|0;v=((a&0xffff)-(h&0xffff)|0)+_|0;b=((a>>>16)-(h>>>16)|0)+(v>>16)|0;_=b>>16;i[f+E+S>>2]=b<<16|v&0xffff}v=((x&0xffff)-(m&0xffff)|0)+_|0;b=((x>>>16)-(m>>>16)|0)+(v>>16)|0;_=b>>16;if(_){d=d-1|0;_=0;for(S=0;(S|0)<=(r|0);S=S+4|0){h=i[e+S>>2]|0;a=i[f+E+S>>2]|0;v=((a&0xffff)+(h&0xffff)|0)+_|0;b=((a>>>16)+(h>>>16)|0)+(v>>>16)|0;_=b>>>16;i[f+E+S>>2]=v&0xffff|b<<16}}i[n+E>>2]=w<<16|d;x=i[f+A>>2]|0}if(o){c=i[f>>2]|0;for(A=4;(A|0)<=(r|0);A=A+4|0){a=i[f+A>>2]|0;i[f+A-4>>2]=a<<(32-o|0)|c>>>o;c=a}i[f+r>>2]=c>>>o}}function v(f,t,e,r,n,c){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;c=c|0;var l=0,y=0,d=0,p=0,g=0,v=0,b=0,m=0,_=0,A=0,E=0,S=0,C=0,U=0;l=a(r<<1)|0;x(r<<1,0,l);o(t,f,l);for(S=0;(S|0)<(r|0);S=S+4|0){d=i[l+S>>2]|0,p=d&0xffff,d=d>>>16;v=n>>>16,g=n&0xffff;b=s(p,g)|0,m=((s(p,v)|0)+(s(d,g)|0)|0)+(b>>>16)|0;p=b&0xffff,d=m&0xffff;E=0;for(C=0;(C|0)<(r|0);C=C+4|0){U=S+C|0;v=i[e+C>>2]|0,g=v&0xffff,v=v>>>16;A=i[l+U>>2]|0;b=((s(p,g)|0)+(E&0xffff)|0)+(A&0xffff)|0;m=((s(p,v)|0)+(E>>>16)|0)+(A>>>16)|0;_=((s(d,g)|0)+(m&0xffff)|0)+(b>>>16)|0;E=((s(d,v)|0)+(_>>>16)|0)+(m>>>16)|0;A=_<<16|b&0xffff;i[l+U>>2]=A}U=S+C|0;A=i[l+U>>2]|0;b=((A&0xffff)+(E&0xffff)|0)+y|0;m=((A>>>16)+(E>>>16)|0)+(b>>>16)|0;i[l+U>>2]=m<<16|b&0xffff;y=m>>>16}o(r,l+r|0,c);h(r<<1);if(y|(u(e,r,c,r)|0)<=0){w(c,r,e,r,c,r)|0}}return{sreset:n,salloc:a,sfree:h,z:x,tst:l,neg:c,cmp:u,add:y,sub:w,mul:d,sqr:p,div:g,mredc:v}}function Pf(f,t){Of(f)||(f=new zf(f)),Of(t)||(t=new zf(t));var e=f.sign,r=t.sign;e<0&&(f=f.negate()),r<0&&(t=t.negate());var i=f.compare(t);if(i<0){var s=f;f=t,t=s,s=e,e=r,r=s}var n,a,h,o=Kf,x=Nf,c=t.bitLength,u=Nf,l=Kf,y=f.bitLength;for(n=f.divide(t);(a=n.remainder)!==Nf;)h=n.quotient,n=o.subtract(h.multiply(x).clamp(c)).clamp(c),o=x,x=n,n=u.subtract(h.multiply(l).clamp(y)).clamp(y),u=l,l=n,f=t,t=a,n=f.divide(t);if(e<0&&(x=x.negate()),r<0&&(l=l.negate()),i<0){s=x;x=l,l=s}return{gcd:t,x:x,y:l}}function Of(f){return f instanceof zf}Object.defineProperty(Zf,"allowWeak",{get:function(){return f._random_allow_weak},set:function(t){f._random_allow_weak=t}}),Object.defineProperty(Zf,"skipSystemRNGWarning",{get:function(){return f._random_skip_system_rng_warning},set:function(t){f._random_skip_system_rng_warning=t}}),Object.defineProperty(If,"allowWeak",{get:function(){return f._random_allow_weak},set:function(t){f._random_allow_weak=t}}),Object.defineProperty(If,"skipSystemRNGWarning",{get:function(){return f._random_skip_system_rng_warning},set:function(t){f._random_skip_system_rng_warning=t}}),Zf.seed=Tf,If.seed=Tf;var Bf,qf={Uint32Array:Uint32Array,Math:Math},Gf=new Uint32Array(1048576);void 0===qf.Math.imul?(qf.Math.imul=function(f,t){return f*t|0},Bf=Df(qf,null,Gf.buffer),delete qf.Math.imul):Bf=Df(qf,null,Gf.buffer);const Rf=new Uint32Array(0);class zf{static fromString(f){const t=e(f);return new zf(t)}static fromNumber(f){let t=Rf,e=0,r=0;var i=Math.abs(f);return i>4294967295?((t=new Uint32Array(2))[0]=0|i,t[1]=i/4294967296|0,e=52):i>0?((t=new Uint32Array(1))[0]=i,e=32):(t=Rf,e=0),r=f<0?-1:1,zf.fromConfig({limbs:t,bitLength:e,sign:r})}static fromArrayBuffer(f){return new zf(new Uint8Array(f))}static fromConfig(f){const t=new zf;return t.limbs=new Uint32Array(f.limbs),t.bitLength=f.bitLength,t.sign=f.sign,t}constructor(f){let t=Rf,e=0,r=0;if(void 0===f);else{if(!o(f))throw new TypeError("number is of unexpected type");for(var i=0;!f[i];i++);if(!(e=8*(f.length-i)))return Nf;t=new Uint32Array(e+31>>5);for(var s=f.length-4;s>=i;s-=4)t[f.length-4-s>>2]=f[s]<<24|f[s+1]<<16|f[s+2]<<8|f[s+3];i-s==3?t[t.length-1]=f[i]:i-s==2?t[t.length-1]=f[i]<<8|f[i+1]:i-s==1&&(t[t.length-1]=f[i]<<16|f[i+1]<<8|f[i+2]),r=1}this.limbs=t,this.bitLength=e,this.sign=r}toString(f){f=f||16;const t=this.limbs,e=this.bitLength;let r="";if(16!==f)throw new y("bad radix");for(var i=(e+31>>5)-1;i>=0;i--){var s=t[i].toString(16);r+="00000000".substr(s.length),r+=s}return(r=r.replace(/^0+/,"")).length||(r="0"),this.sign<0&&(r="-"+r),r}toBytes(){const f=this.bitLength,t=this.limbs;if(0===f)return new Uint8Array(0);const e=f+7>>3,r=new Uint8Array(e);for(let f=0;f<e;f++){let i=e-f-1;r[f]=t[i>>2]>>((3&i)<<3)}return r}valueOf(){const f=this.limbs,t=this.bitLength,e=this.sign;if(!e)return 0;if(t<=32)return e*(f[0]>>>0);if(t<=52)return e*(4294967296*(f[1]>>>0)+(f[0]>>>0));let r,i,s=0;for(r=f.length-1;r>=0;r--)if(0!==(i=f[r])){for(;0==(i<<s&2147483648);)s++;break}return 0===r?e*(f[0]>>>0):e*(1048576*((f[r]<<s|(s?f[r-1]>>>32-s:0))>>>0)+((f[r-1]<<s|(s&&r>1?f[r-2]>>>32-s:0))>>>12))*Math.pow(2,32*r-s-52)}clamp(f){const t=this.limbs;if(f>=this.bitLength)return this;const e=new zf;let r=f+31>>5,i=f%32;return e.limbs=new Uint32Array(t.subarray(0,r)),e.bitLength=f,e.sign=this.sign,i&&(e.limbs[r-1]&=-1>>>32-i),e}slice(f,t){if(!n(f))throw new TypeError("TODO");if(void 0!==t&&!n(t))throw new TypeError("TODO");const e=this.limbs,r=this.bitLength;if(f<0)throw new RangeError("TODO");if(f>=r)return Nf;(void 0===t||t>r-f)&&(t=r-f);const i=new zf;let s=f>>5,a=f+t+31>>5,h=t+31>>5,o=f%32,x=t%32;const c=new Uint32Array(h);if(o){for(var u=0;u<a-s-1;u++)c[u]=e[s+u]>>>o|e[s+u+1]<<32-o;c[u]=e[s+u]>>>o}else c.set(e.subarray(s,a));return x&&(c[h-1]&=-1>>>32-x),i.limbs=c,i.bitLength=t,i.sign=this.sign,i}negate(){const f=new zf;return f.limbs=this.limbs,f.bitLength=this.bitLength,f.sign=-1*this.sign,f}compare(f){var t=this.limbs,e=t.length,r=f.limbs,i=r.length;return this.sign<f.sign?-1:this.sign>f.sign?1:(Gf.set(t,0),Gf.set(r,e),Bf.cmp(0,e<<2,e<<2,i<<2)*this.sign)}add(f){if(!this.sign)return f;if(!f.sign)return this;var t,e,r,i,s=this.bitLength,n=this.limbs,a=n.length,h=this.sign,o=f.bitLength,x=f.limbs,c=x.length,u=f.sign,l=new zf;e=(t=(s>o?s:o)+(h*u>0?1:0))+31>>5,Bf.sreset();var y=Bf.salloc(a<<2),w=Bf.salloc(c<<2),d=Bf.salloc(e<<2);return Bf.z(d-y+(e<<2),0,y),Gf.set(n,y>>2),Gf.set(x,w>>2),h*u>0?(Bf.add(y,a<<2,w,c<<2,d,e<<2),r=h):r=h>u?(i=Bf.sub(y,a<<2,w,c<<2,d,e<<2))?u:h:(i=Bf.sub(w,c<<2,y,a<<2,d,e<<2))?h:u,i&&Bf.neg(d,e<<2,d,e<<2),0===Bf.tst(d,e<<2)?Nf:(l.limbs=new Uint32Array(Gf.subarray(d>>2,(d>>2)+e)),l.bitLength=t,l.sign=r,l)}subtract(f){return this.add(f.negate())}square(){if(!this.sign)return Nf;var f,t,e=this.bitLength,r=this.limbs,i=r.length,s=new zf;t=(f=e<<1)+31>>5,Bf.sreset();var n=Bf.salloc(i<<2),a=Bf.salloc(t<<2);return Bf.z(a-n+(t<<2),0,n),Gf.set(r,n>>2),Bf.sqr(n,i<<2,a),s.limbs=new Uint32Array(Gf.subarray(a>>2,(a>>2)+t)),s.bitLength=f,s.sign=1,s}divide(f){var t,e,r=this.bitLength,i=this.limbs,s=i.length,n=f.bitLength,a=f.limbs,h=a.length,o=Nf,x=Nf;Bf.sreset();var c=Bf.salloc(s<<2),u=Bf.salloc(h<<2),l=Bf.salloc(s<<2);return Bf.z(l-c+(s<<2),0,c),Gf.set(i,c>>2),Gf.set(a,u>>2),Bf.div(c,s<<2,u,h<<2,l),(t=Bf.tst(l,s<<2)>>2)&&((o=new zf).limbs=new Uint32Array(Gf.subarray(l>>2,(l>>2)+t)),o.bitLength=r<t<<5?r:t<<5,o.sign=this.sign*f.sign),(e=Bf.tst(c,h<<2)>>2)&&((x=new zf).limbs=new Uint32Array(Gf.subarray(c>>2,(c>>2)+e)),x.bitLength=n<e<<5?n:e<<5,x.sign=this.sign),{quotient:o,remainder:x}}multiply(f){if(!this.sign||!f.sign)return Nf;var t,e,r=this.bitLength,i=this.limbs,s=i.length,n=f.bitLength,a=f.limbs,h=a.length,o=new zf;e=(t=r+n)+31>>5,Bf.sreset();var x=Bf.salloc(s<<2),c=Bf.salloc(h<<2),u=Bf.salloc(e<<2);return Bf.z(u-x+(e<<2),0,x),Gf.set(i,x>>2),Gf.set(a,c>>2),Bf.mul(x,s<<2,c,h<<2,u,e<<2),o.limbs=new Uint32Array(Gf.subarray(u>>2,(u>>2)+e)),o.sign=this.sign*f.sign,o.bitLength=t,o}isMillerRabinProbablePrime(f){var t=zf.fromConfig(this),e=0;for(t.limbs[0]-=1;0===t.limbs[e>>5];)e+=32;for(;0==(t.limbs[e>>5]>>(31&e)&1);)e++;t=t.slice(e);for(var r=new Ff(this),i=this.subtract(Kf),s=zf.fromConfig(this),n=this.limbs.length-1;0===s.limbs[n];)n--;for(;--f>=0;){for(If(s.limbs),s.limbs[0]<2&&(s.limbs[0]+=2);s.compare(i)>=0;)s.limbs[n]>>>=1;var a=r.power(s,t);if(0!==a.compare(Kf)&&0!==a.compare(i)){for(var h=e;--h>0;){if(0===(a=a.square().divide(r).remainder).compare(Kf))return!1;if(0===a.compare(i))break}if(0===h)return!1}}return!0}isProbablePrime(f){f=f||80;var t=this.limbs,e=0;if(0==(1&t[0]))return!1;if(f<=1)return!0;var r=0,i=0,s=0;for(e=0;e<t.length;e++){for(var n=t[e];n;)r+=3&n,n>>>=2;for(var a=t[e];a;)i+=3&a,i-=3&(a>>>=2),a>>>=2;for(var h=t[e];h;)s+=15&h,s-=15&(h>>>=4),h>>>=4}return!!(r%3&&i%5&&s%17)&&(f<=2||this.isMillerRabinProbablePrime(f>>>1))}}const Nf=zf.fromNumber(0),Kf=zf.fromNumber(1);class Ff extends zf{constructor(f){if(super(),this.limbs=f.limbs,this.bitLength=f.bitLength,this.sign=f.sign,this.valueOf()<1)throw new RangeError;if(this.bitLength<=32)return;let t;if(1&this.limbs[0]){{const f=1+(this.bitLength+31&-32),e=new Uint32Array(f+31>>5);e[e.length-1]=1,(t=new zf).sign=1,t.bitLength=f,t.limbs=e;const r=function(f,t){var e,r,i,s,n=f<0?-1:1,a=t<0?-1:1,h=1,o=0,x=0,c=1;for((s=(f*=n)<(t*=a))&&(i=f,f=t,t=i,i=n,n=a,a=i),e=f-(r=Math.floor(f/t))*t;e;)i=h-r*o,h=o,o=i,i=x-r*c,x=c,c=i,f=t,t=e,e=f-(r=Math.floor(f/t))*t;return o*=n,c*=a,s&&(i=o,o=c,c=i),{gcd:t,x:o,y:c}}(4294967296,this.limbs[0]).y;this.coefficient=r<0?-r:4294967296-r}this.comodulus=t,this.comodulusRemainder=t.divide(this).remainder,this.comodulusRemainderSquare=t.square().divide(this).remainder}}reduce(f){return f.bitLength<=32&&this.bitLength<=32?zf.fromNumber(f.valueOf()%this.valueOf()):f.compare(this)<0?f:f.divide(this).remainder}inverse(f){const t=Pf(this,f=this.reduce(f));return 1!==t.gcd.valueOf()?null:t.y.sign<0?t.y.add(this).clamp(this.bitLength):t.y}power(f,t){let e=0;for(let f=0;f<t.limbs.length;f++){let r=t.limbs[f];for(;r;)1&r&&e++,r>>>=1}let r=8;t.bitLength<=4536&&(r=7),t.bitLength<=1736&&(r=6),t.bitLength<=630&&(r=5),t.bitLength<=210&&(r=4),t.bitLength<=60&&(r=3),t.bitLength<=12&&(r=2),e<=1<<r-1&&(r=1);const i=jf((f=jf(this.reduce(f).multiply(this.comodulusRemainderSquare),this)).square(),this),s=new Array(1<<r-1);s[0]=f,s[1]=jf(f.multiply(i),this);for(let f=2;f<1<<r-1;f++)s[f]=jf(s[f-1].multiply(i),this);const n=this.comodulusRemainder;let a=n;for(let f=t.limbs.length-1;f>=0;f--){let e=t.limbs[f];for(let f=32;f>0;)if(2147483648&e){let t=e>>>32-r,i=r;for(;0==(1&t);)t>>>=1,i--;for(var h=s[t>>>1];t;)t>>>=1,a!==n&&(a=jf(a.square(),this));a=a!==n?jf(a.multiply(h),this):h,e<<=i,f-=i}else a!==n&&(a=jf(a.square(),this)),e<<=1,f--}return jf(a,this)}}function jf(f,t){const e=f.limbs,r=e.length,i=t.limbs,s=i.length,n=t.coefficient;Bf.sreset();const a=Bf.salloc(r<<2),h=Bf.salloc(s<<2),o=Bf.salloc(s<<2);Bf.z(o-a+(s<<2),0,a),Gf.set(e,a>>2),Gf.set(i,h>>2),Bf.mredc(a,r<<2,h,s<<2,n,o);const x=new zf;return x.limbs=new Uint32Array(Gf.subarray(o>>2,(o>>2)+s)),x.bitLength=t.bitLength,x.sign=1,x}function Vf(f){f=f||{},this.result=null;var t=f.key;if(void 0!==t){if(!(t instanceof Array))throw new TypeError("unexpected key type");var e=t.length;if(2!==e&&3!==e&&8!==e)throw new SyntaxError("unexpected key type");var r=[];r[0]=new Ff(new zf(t[0])),r[1]=new zf(t[1]),e>2&&(r[2]=new zf(t[2])),e>3&&(r[3]=new Ff(new zf(t[3])),r[4]=new Ff(new zf(t[4])),r[5]=new zf(t[5]),r[6]=new zf(t[6]),r[7]=new zf(t[7])),this.key=r}return this}function Wf(f){if(!this.key)throw new l("no key is associated with the instance");var t;if(a(f)&&(f=e(f)),h(f)&&(f=new Uint8Array(f)),o(f))t=new zf(f);else{if(!Of(f))throw new TypeError("unexpected data type");t=f}if(this.key[0].compare(t)<=0)throw new RangeError("data too large");var r=this.key[0],i=this.key[1],s=r.power(t,i).toBytes(),n=r.bitLength+7>>3;if(s.length<n){var x=new Uint8Array(n);x.set(s,n-s.length),s=x}return this.result=s,this}function Jf(f){if(!this.key)throw new l("no key is associated with the instance");if(this.key.length<3)throw new l("key isn't suitable for decription");var t,r;if(a(f)&&(f=e(f)),h(f)&&(f=new Uint8Array(f)),o(f))t=new zf(f);else{if(!Of(f))throw new TypeError("unexpected data type");t=f}if(this.key[0].compare(t)<=0)throw new RangeError("data too large");if(this.key.length>3){for(var i=this.key[0],s=this.key[3],n=this.key[4],x=this.key[5],c=this.key[6],u=this.key[7],y=s.power(t,x),w=n.power(t,c),d=y.subtract(w);d.sign<0;)d=d.add(s);r=s.reduce(u.multiply(d)).multiply(n).add(w).clamp(i.bitLength).toBytes()}else{i=this.key[0];var p=this.key[2];r=i.power(t,p).toBytes()}var g=i.bitLength+7>>3;if(r.length<g){var v=new Uint8Array(g);v.set(r,g-r.length),r=v}return this.result=r,this}zf.ZERO=Nf,zf.ONE=Kf,zf.extGCD=Pf;function Qf(f,t){f=f||"",t=t||0;for(var e=this.hash.HASH_SIZE,r=new Uint8Array(t),i=new Uint8Array(4),s=Math.ceil(t/e),n=0;n<s;n++){i[0]=n>>>24,i[1]=n>>>16&255,i[2]=n>>>8&255,i[3]=255&n;var a=r.subarray(n*e),h=this.hash.reset().process(f).process(i).finish().result;h.length>a.length&&(h=h.subarray(0,a.length)),a.set(h)}return r}const Xf={sha1:new Uint8Array([48,33,48,9,6,5,43,14,3,2,26,5,0,4,20]),sha256:new Uint8Array([48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32]),sha384:new Uint8Array([48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48]),sha512:new Uint8Array([48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64])};function Yf(f){var t=f.constructor.NAME,e=Xf[t];if(!e)throw new Error("Cannot get hash prefix for hash algorithm '"+t+"'");return e}var $f="undefined"!=typeof console?console:void 0;"undefined"==typeof location||!location.protocol.search(/https:|file:|chrome:|chrome-extension:|moz-extension:/)||void 0===$f||$f.warn("asmCrypto seems to be load from an insecure origin; this may cause to MitM-attack vulnerability. Consider using secure transport protocol."),f.string_to_bytes=e,f.hex_to_bytes=function(f){var t=f.length;1&t&&(f="0"+f,t++);for(var e=new Uint8Array(t>>1),r=0;r<t;r+=2)e[r>>1]=parseInt(f.substr(r,2),16);return e},f.base64_to_bytes=function(f){return e(atob(f))},f.bytes_to_string=r,f.bytes_to_hex=i,f.bytes_to_base64=s,f.IllegalStateError=l,f.IllegalArgumentError=y,f.SecurityError=w,f.AES_CBC=b,f.AES_CBC_Encrypt=class extends b{constructor(f,t,e,r,i){super(f,t,e,r,i)}reset(f){return this.AES_reset(f,null,!0)}process(f){return this.AES_Encrypt_process(f)}finish(f){return this.AES_Encrypt_finish(f)}},f.AES_CBC_Decrypt=class extends b{constructor(f,t,e,r,i){super(f,t,e,r,i)}reset(f){return this.AES_reset(f,null,!0)}process(f){return this.AES_Decrypt_process(f)}finish(f){return this.AES_Decrypt_finish(f)}},f.AES_GCM=_,f.AES_GCM_Encrypt=class extends _{constructor(f,t,e,r,i,s){super(f,t,e,r,i,s)}process(f){return this.AES_GCM_Encrypt_process(f)}finish(){return this.AES_GCM_Encrypt_finish()}},f.AES_GCM_Decrypt=class extends _{constructor(f,t,e,r,i,s){super(f,t,e,r,i,s)}process(f){return this.AES_GCM_Decrypt_process(f)}finish(){return this.AES_GCM_Decrypt_finish()}},f.SHA1=I,f.SHA256=R,f.HMAC_SHA1=W,f.HMAC_SHA256=$,f.PBKDF2=af,f.PBKDF2_HMAC_SHA1=hf,f.PBKDF2_HMAC_SHA256=yf,f.Random_seed=Tf,f.Random_getValues=If,f.Random_getNumber=Zf,f.BigNumber=zf,f.Modulus=Ff,f.RSA_OAEP=class{constructor(f){if(!(f=f||{}).hash)throw new SyntaxError("option 'hash' is required");if(!f.hash.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=f.hash,this.label=null,this.reset(f)}reset(f){var t=(f=f||{}).label;if(void 0!==t){if(h(t)||o(t))t=new Uint8Array(t);else{if(!a(t))throw new TypeError("unexpected label type");t=e(t)}this.label=t.length>0?t:null}else this.label=null;Vf.call(this,f)}encrypt(f){if(!this.key)throw new l("no key is associated with the instance");var t=Math.ceil(this.key[0].bitLength/8),r=this.hash.HASH_SIZE,i=f.byteLength||f.length||0,s=t-i-2*r-2;if(i>t-2*this.hash.HASH_SIZE-2)throw new y("data too large");var n=new Uint8Array(t),x=n.subarray(1,r+1),c=n.subarray(r+1);if(o(f))c.set(f,r+s+1);else if(h(f))c.set(new Uint8Array(f),r+s+1);else{if(!a(f))throw new TypeError("unexpected data type");c.set(e(f),r+s+1)}c.set(this.hash.reset().process(this.label||"").finish().result,0),c[r+s]=1,If(x);for(var u=Qf.call(this,x,c.length),w=0;w<c.length;w++)c[w]^=u[w];var d=Qf.call(this,c,x.length);for(w=0;w<x.length;w++)x[w]^=d[w];return Wf.call(this,n),this}decrypt(f){if(!this.key)throw new l("no key is associated with the instance");var t=Math.ceil(this.key[0].bitLength/8),e=this.hash.HASH_SIZE;if((f.byteLength||f.length||0)!==t)throw new y("bad data");Jf.call(this,f);var r=this.result[0],i=this.result.subarray(1,e+1),s=this.result.subarray(e+1);if(0!==r)throw new w("decryption failed");for(var n=Qf.call(this,s,i.length),a=0;a<i.length;a++)i[a]^=n[a];var h=Qf.call(this,i,s.length);for(a=0;a<s.length;a++)s[a]^=h[a];var o=this.hash.reset().process(this.label||"").finish().result;for(a=0;a<e;a++)if(o[a]!==s[a])throw new w("decryption failed");for(var x=e;x<s.length;x++){var c=s[x];if(1===c)break;if(0!==c)throw new w("decryption failed")}if(x===s.length)throw new w("decryption failed");return this.result=s.subarray(x+1),this}},f.RSA_PSS=class{constructor(f){if(!(f=f||{}).hash)throw new SyntaxError("option 'hash' is required");if(!f.hash.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=f.hash,this.saltLength=4,this.reset(f)}reset(f){f=f||{},Vf.call(this,f);var t=f.saltLength;if(void 0!==t){if(!n(t)||t<0)throw new TypeError("saltLength should be a non-negative number");if(null!==this.key&&Math.ceil((this.key[0].bitLength-1)/8)<this.hash.HASH_SIZE+t+2)throw new SyntaxError("saltLength is too large");this.saltLength=t}else this.saltLength=4}sign(f){if(!this.key)throw new l("no key is associated with the instance");var t=this.key[0].bitLength,e=this.hash.HASH_SIZE,r=Math.ceil((t-1)/8),i=this.saltLength,s=r-i-e-2,n=new Uint8Array(r),a=n.subarray(r-e-1,r-1),h=n.subarray(0,r-e-1),o=h.subarray(s+1),x=new Uint8Array(8+e+i),c=x.subarray(8,8+e),u=x.subarray(8+e);c.set(this.hash.reset().process(f).finish().result),i>0&&If(u),h[s]=1,o.set(u),a.set(this.hash.reset().process(x).finish().result);for(var y=Qf.call(this,a,h.length),w=0;w<h.length;w++)h[w]^=y[w];n[r-1]=188;var d=8*r-t+1;return d%8&&(n[0]&=255>>>d),Jf.call(this,n),this}verify(f,t){if(!this.key)throw new l("no key is associated with the instance");var e=this.key[0].bitLength,r=this.hash.HASH_SIZE,i=Math.ceil((e-1)/8),s=this.saltLength,n=i-s-r-2;Wf.call(this,f);var a=this.result;if(188!==a[i-1])throw new w("bad signature");var h=a.subarray(i-r-1,i-1),o=a.subarray(0,i-r-1),x=o.subarray(n+1),c=8*i-e+1;if(c%8&&a[0]>>>8-c)throw new w("bad signature");for(var u=Qf.call(this,h,o.length),y=0;y<o.length;y++)o[y]^=u[y];for(c%8&&(a[0]&=255>>>c),y=0;y<n;y++)if(0!==o[y])throw new w("bad signature");if(1!==o[n])throw new w("bad signature");var d=new Uint8Array(8+r+s),p=d.subarray(8,8+r),g=d.subarray(8+r);p.set(this.hash.reset().process(t).finish().result),g.set(x);var v=this.hash.reset().process(d).finish().result;for(y=0;y<r;y++)if(h[y]!==v[y])throw new w("bad signature");return this}},f.RSA_PKCS1_v1_5=class{constructor(f){if(!(f=f||{}).hash)throw new SyntaxError("option 'hash' is required");if(!f.hash.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=f.hash,this.reset(f)}reset(f){f=f||{},Vf.call(this,f)}sign(f){if(!this.key)throw new l("no key is associated with the instance");var t=Yf(this.hash),e=this.hash.HASH_SIZE,r=t.length+e,i=this.key[0].bitLength+7>>3;if(i<r+11)throw new Error("Message too long");var s=new Uint8Array(e);s.set(this.hash.reset().process(f).finish().result);var n=new Uint8Array(i),a=0;for(n[a++]=0,n[a++]=1;a<i-r-1;a++)n[a]=255;return n[a++]=0,n.set(t,a),n.set(s,n.length-e),Jf.call(this,n),this}verify(f,t){if(!this.key)throw new l("no key is associated with the instance");var e=Yf(this.hash),r=this.hash.HASH_SIZE,i=e.length+r,s=this.key[0].bitLength+7>>3;if(s<i+11)throw new w("Bad signature");Wf.call(this,f);var n=new Uint8Array(r);n.set(this.hash.reset().process(t).finish().result);var a=1,h=this.result,o=0;for(a&=0===h[o++],a&=1===h[o++];o<s-i-1;o++)a&=255===h[o];a&=0===h[o++];for(var x=0,c=o+e.length;o<c;o++)a&=h[o]===e[x++];for(x=0,c=o+n.length;o<c;o++)a&=h[o]===n[x++];if(!a)throw new w("Bad signature");return this}},f.random=Zf,f.getRandomValues=If,Object.defineProperty(f,"__esModule",{value:!0})});