snarkjs/build/snarkjs.min.js
Jordi Baylina 5debda138e
bigFile
2020-08-19 20:12:03 +02:00

2 lines
646 KiB
JavaScript

var snarkjs=function(A){"use strict";const I=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function t(A,I){return I&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const i=t;function g(A,I){return BigInt(A)<<BigInt(I)}function C(A,I){return BigInt(A)>>BigInt(I)}const e=g,Q=C;var n=Object.freeze({__proto__:null,fromString:t,e:i,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i<A.length;i++)t=t*I+BigInt(A[i]);return t},bitLength:function(A){const t=A.toString(16);return 4*(t.length-1)+I[parseInt(t[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:g,shiftRight:C,shl:e,shr:Q,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let I=BigInt(A);const t=[];for(;I;){if(1n&I){const A=2-Number(I%4n);t.push(A),I-=BigInt(A)}else t.push(0);I>>=1n}return t},bits:function(A){let I=BigInt(A);const t=[];for(;I;)1n&I?t.push(1):t.push(0),I>>=1n;return t},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,I){const t=[];let i=BigInt(A);for(I=BigInt(I);i;)t.unshift(Number(i%I)),i/=I;return t},add:function(A,I){return BigInt(A)+BigInt(I)},sub:function(A,I){return BigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){return BigInt(A)*BigInt(I)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,I){return BigInt(A)**BigInt(I)},exp:function(A,I){return BigInt(A)**BigInt(I)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){return BigInt(A)/BigInt(I)},mod:function(A,I){return BigInt(A)%BigInt(I)},eq:function(A,I){return BigInt(A)==BigInt(I)},neq:function(A,I){return BigInt(A)!=BigInt(I)},lt:function(A,I){return BigInt(A)<BigInt(I)},gt:function(A,I){return BigInt(A)>BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function B(A,I){return A(I={exports:{}},I.exports),I.exports}var r=B((function(A){var I=function(A){var t=1e7,i=9007199254740992,g=E(i),C="function"==typeof BigInt;function e(A,I,t,i){return void 0===A?e[0]:void 0!==I&&(10!=+I||t)?Y(A,I,t,i):Z(A)}function Q(A,I){this.value=A,this.sign=I,this.isSmall=!1}function n(A){this.value=A,this.sign=A<0,this.isSmall=!0}function B(A){this.value=A}function r(A){return-i<A&&A<i}function E(A){return A<1e7?[A]:A<1e14?[A%1e7,Math.floor(A/1e7)]:[A%1e7,Math.floor(A/1e7)%1e7,Math.floor(A/1e14)]}function h(A){s(A);var I=A.length;if(I<4&&U(A,g)<0)switch(I){case 0:return 0;case 1:return A[0];case 2:return A[0]+A[1]*t;default:return A[0]+(A[1]+A[2]*t)*t}return A}function s(A){for(var I=A.length;0===A[--I];);A.length=I+1}function o(A){for(var I=new Array(A),t=-1;++t<A;)I[t]=0;return I}function a(A){return A>0?Math.floor(A):Math.ceil(A)}function f(A,I){var i,g,C=A.length,e=I.length,Q=new Array(C),n=0,B=t;for(g=0;g<e;g++)n=(i=A[g]+I[g]+n)>=B?1:0,Q[g]=i-n*B;for(;g<C;)n=(i=A[g]+n)===B?1:0,Q[g++]=i-n*B;return n>0&&Q.push(n),Q}function w(A,I){return A.length>=I.length?f(A,I):f(I,A)}function D(A,I){var i,g,C=A.length,e=new Array(C),Q=t;for(g=0;g<C;g++)i=A[g]-Q+I,I=Math.floor(i/Q),e[g]=i-I*Q,I+=1;for(;I>0;)e[g++]=I%Q,I=Math.floor(I/Q);return e}function c(A,I){var t,i,g=A.length,C=I.length,e=new Array(g),Q=0;for(t=0;t<C;t++)(i=A[t]-Q-I[t])<0?(i+=1e7,Q=1):Q=0,e[t]=i;for(t=C;t<g;t++){if(!((i=A[t]-Q)<0)){e[t++]=i;break}i+=1e7,e[t]=i}for(;t<g;t++)e[t]=A[t];return s(e),e}function u(A,I,t){var i,g,C=A.length,e=new Array(C),B=-I;for(i=0;i<C;i++)g=A[i]+B,B=Math.floor(g/1e7),g%=1e7,e[i]=g<0?g+1e7:g;return"number"==typeof(e=h(e))?(t&&(e=-e),new n(e)):new Q(e,t)}function y(A,I){var t,i,g,C,e=A.length,Q=I.length,n=o(e+Q);for(g=0;g<e;++g){C=A[g];for(var B=0;B<Q;++B)t=C*I[B]+n[g+B],i=Math.floor(t/1e7),n[g+B]=t-1e7*i,n[g+B+1]+=i}return s(n),n}function p(A,I){var i,g,C=A.length,e=new Array(C),Q=t,n=0;for(g=0;g<C;g++)i=A[g]*I+n,n=Math.floor(i/Q),e[g]=i-n*Q;for(;n>0;)e[g++]=n%Q,n=Math.floor(n/Q);return e}function l(A,I){for(var t=[];I-- >0;)t.push(0);return t.concat(A)}function F(A,I,i){return new Q(A<t?p(I,A):y(I,E(A)),i)}function M(A){var I,t,i,g,C=A.length,e=o(C+C);for(i=0;i<C;i++){t=0-(g=A[i])*g;for(var Q=i;Q<C;Q++)I=g*A[Q]*2+e[i+Q]+t,t=Math.floor(I/1e7),e[i+Q]=I-1e7*t;e[i+C]=t}return s(e),e}function m(A,I){var t,i,g,C,e=A.length,Q=o(e);for(g=0,t=e-1;t>=0;--t)g=(C=1e7*g+A[t])-(i=a(C/I))*I,Q[t]=0|i;return[Q,0|g]}function d(A,I){var i,g=Z(I);if(C)return[new B(A.value/g.value),new B(A.value%g.value)];var r,f=A.value,w=g.value;if(0===w)throw new Error("Cannot divide by zero");if(A.isSmall)return g.isSmall?[new n(a(f/w)),new n(f%w)]:[e[0],A];if(g.isSmall){if(1===w)return[A,e[0]];if(-1==w)return[A.negate(),e[0]];var D=Math.abs(w);if(D<t){r=h((i=m(f,D))[0]);var u=i[1];return A.sign&&(u=-u),"number"==typeof r?(A.sign!==g.sign&&(r=-r),[new n(r),new n(u)]):[new Q(r,A.sign!==g.sign),new n(u)]}w=E(D)}var y=U(f,w);if(-1===y)return[e[0],A];if(0===y)return[e[A.sign===g.sign?1:-1],e[0]];r=(i=f.length+w.length<=200?function(A,I){var i,g,C,e,Q,n,B,r=A.length,E=I.length,s=t,a=o(I.length),f=I[E-1],w=Math.ceil(s/(2*f)),D=p(A,w),c=p(I,w);for(D.length<=r&&D.push(0),c.push(0),f=c[E-1],g=r-E;g>=0;g--){for(i=s-1,D[g+E]!==f&&(i=Math.floor((D[g+E]*s+D[g+E-1])/f)),C=0,e=0,n=c.length,Q=0;Q<n;Q++)C+=i*c[Q],B=Math.floor(C/s),e+=D[g+Q]-(C-B*s),C=B,e<0?(D[g+Q]=e+s,e=-1):(D[g+Q]=e,e=0);for(;0!==e;){for(i-=1,C=0,Q=0;Q<n;Q++)(C+=D[g+Q]-s+c[Q])<0?(D[g+Q]=C+s,C=0):(D[g+Q]=C,C=1);e+=C}a[g]=i}return D=m(D,w)[0],[h(a),h(D)]}(f,w):function(A,I){for(var t,i,g,C,e,Q=A.length,n=I.length,B=[],r=[];Q;)if(r.unshift(A[--Q]),s(r),U(r,I)<0)B.push(0);else{g=1e7*r[(i=r.length)-1]+r[i-2],C=1e7*I[n-1]+I[n-2],i>n&&(g=1e7*(g+1)),t=Math.ceil(g/C);do{if(U(e=p(I,t),r)<=0)break;t--}while(t);B.push(t),r=c(r,e)}return B.reverse(),[h(B),h(r)]}(f,w))[0];var l=A.sign!==g.sign,F=i[1],M=A.sign;return"number"==typeof r?(l&&(r=-r),r=new n(r)):r=new Q(r,l),"number"==typeof F?(M&&(F=-F),F=new n(F)):F=new Q(F,M),[r,F]}function U(A,I){if(A.length!==I.length)return A.length>I.length?1:-1;for(var t=A.length-1;t>=0;t--)if(A[t]!==I[t])return A[t]>I[t]?1:-1;return 0}function G(A){var I=A.abs();return!I.isUnit()&&(!!(I.equals(2)||I.equals(3)||I.equals(5))||!(I.isEven()||I.isDivisibleBy(3)||I.isDivisibleBy(5))&&(!!I.lesser(49)||void 0))}function H(A,t){for(var i,g,C,e=A.prev(),Q=e,n=0;Q.isEven();)Q=Q.divide(2),n++;A:for(g=0;g<t.length;g++)if(!A.lesser(t[g])&&!(C=I(t[g]).modPow(Q,A)).isUnit()&&!C.equals(e)){for(i=n-1;0!=i;i--){if((C=C.square().mod(A)).isUnit())return!1;if(C.equals(e))continue A}return!1}return!0}Q.prototype=Object.create(e.prototype),n.prototype=Object.create(e.prototype),B.prototype=Object.create(e.prototype),Q.prototype.add=function(A){var I=Z(A);if(this.sign!==I.sign)return this.subtract(I.negate());var t=this.value,i=I.value;return I.isSmall?new Q(D(t,Math.abs(i)),this.sign):new Q(w(t,i),this.sign)},Q.prototype.plus=Q.prototype.add,n.prototype.add=function(A){var I=Z(A),t=this.value;if(t<0!==I.sign)return this.subtract(I.negate());var i=I.value;if(I.isSmall){if(r(t+i))return new n(t+i);i=E(Math.abs(i))}return new Q(D(i,Math.abs(t)),t<0)},n.prototype.plus=n.prototype.add,B.prototype.add=function(A){return new B(this.value+Z(A).value)},B.prototype.plus=B.prototype.add,Q.prototype.subtract=function(A){var I=Z(A);if(this.sign!==I.sign)return this.add(I.negate());var t=this.value,i=I.value;return I.isSmall?u(t,Math.abs(i),this.sign):function(A,I,t){var i;return U(A,I)>=0?i=c(A,I):(i=c(I,A),t=!t),"number"==typeof(i=h(i))?(t&&(i=-i),new n(i)):new Q(i,t)}(t,i,this.sign)},Q.prototype.minus=Q.prototype.subtract,n.prototype.subtract=function(A){var I=Z(A),t=this.value;if(t<0!==I.sign)return this.add(I.negate());var i=I.value;return I.isSmall?new n(t-i):u(i,Math.abs(t),t>=0)},n.prototype.minus=n.prototype.subtract,B.prototype.subtract=function(A){return new B(this.value-Z(A).value)},B.prototype.minus=B.prototype.subtract,Q.prototype.negate=function(){return new Q(this.value,!this.sign)},n.prototype.negate=function(){var A=this.sign,I=new n(-this.value);return I.sign=!A,I},B.prototype.negate=function(){return new B(-this.value)},Q.prototype.abs=function(){return new Q(this.value,!1)},n.prototype.abs=function(){return new n(Math.abs(this.value))},B.prototype.abs=function(){return new B(this.value>=0?this.value:-this.value)},Q.prototype.multiply=function(A){var I,i,g,C=Z(A),n=this.value,B=C.value,r=this.sign!==C.sign;if(C.isSmall){if(0===B)return e[0];if(1===B)return this;if(-1===B)return this.negate();if((I=Math.abs(B))<t)return new Q(p(n,I),r);B=E(I)}return i=n.length,g=B.length,new Q(-.012*i-.012*g+15e-6*i*g>0?function A(I,t){var i=Math.max(I.length,t.length);if(i<=30)return y(I,t);i=Math.ceil(i/2);var g=I.slice(i),C=I.slice(0,i),e=t.slice(i),Q=t.slice(0,i),n=A(C,Q),B=A(g,e),r=A(w(C,g),w(Q,e)),E=w(w(n,l(c(c(r,n),B),i)),l(B,2*i));return s(E),E}(n,B):y(n,B),r)},Q.prototype.times=Q.prototype.multiply,n.prototype._multiplyBySmall=function(A){return r(A.value*this.value)?new n(A.value*this.value):F(Math.abs(A.value),E(Math.abs(this.value)),this.sign!==A.sign)},Q.prototype._multiplyBySmall=function(A){return 0===A.value?e[0]:1===A.value?this:-1===A.value?this.negate():F(Math.abs(A.value),this.value,this.sign!==A.sign)},n.prototype.multiply=function(A){return Z(A)._multiplyBySmall(this)},n.prototype.times=n.prototype.multiply,B.prototype.multiply=function(A){return new B(this.value*Z(A).value)},B.prototype.times=B.prototype.multiply,Q.prototype.square=function(){return new Q(M(this.value),!1)},n.prototype.square=function(){var A=this.value*this.value;return r(A)?new n(A):new Q(M(E(Math.abs(this.value))),!1)},B.prototype.square=function(A){return new B(this.value*this.value)},Q.prototype.divmod=function(A){var I=d(this,A);return{quotient:I[0],remainder:I[1]}},B.prototype.divmod=n.prototype.divmod=Q.prototype.divmod,Q.prototype.divide=function(A){return d(this,A)[0]},B.prototype.over=B.prototype.divide=function(A){return new B(this.value/Z(A).value)},n.prototype.over=n.prototype.divide=Q.prototype.over=Q.prototype.divide,Q.prototype.mod=function(A){return d(this,A)[1]},B.prototype.mod=B.prototype.remainder=function(A){return new B(this.value%Z(A).value)},n.prototype.remainder=n.prototype.mod=Q.prototype.remainder=Q.prototype.mod,Q.prototype.pow=function(A){var I,t,i,g=Z(A),C=this.value,Q=g.value;if(0===Q)return e[1];if(0===C)return e[0];if(1===C)return e[1];if(-1===C)return g.isEven()?e[1]:e[-1];if(g.sign)return e[0];if(!g.isSmall)throw new Error("The exponent "+g.toString()+" is too large.");if(this.isSmall&&r(I=Math.pow(C,Q)))return new n(a(I));for(t=this,i=e[1];!0&Q&&(i=i.times(t),--Q),0!==Q;)Q/=2,t=t.square();return i},n.prototype.pow=Q.prototype.pow,B.prototype.pow=function(A){var I=Z(A),t=this.value,i=I.value,g=BigInt(0),C=BigInt(1),Q=BigInt(2);if(i===g)return e[1];if(t===g)return e[0];if(t===C)return e[1];if(t===BigInt(-1))return I.isEven()?e[1]:e[-1];if(I.isNegative())return new B(g);for(var n=this,r=e[1];(i&C)===C&&(r=r.times(n),--i),i!==g;)i/=Q,n=n.square();return r},Q.prototype.modPow=function(A,I){if(A=Z(A),(I=Z(I)).isZero())throw new Error("Cannot take modPow with modulus 0");var t=e[1],i=this.mod(I);for(A.isNegative()&&(A=A.multiply(e[-1]),i=i.modInv(I));A.isPositive();){if(i.isZero())return e[0];A.isOdd()&&(t=t.multiply(i).mod(I)),A=A.divide(2),i=i.square().mod(I)}return t},B.prototype.modPow=n.prototype.modPow=Q.prototype.modPow,Q.prototype.compareAbs=function(A){var I=Z(A),t=this.value,i=I.value;return I.isSmall?1:U(t,i)},n.prototype.compareAbs=function(A){var I=Z(A),t=Math.abs(this.value),i=I.value;return I.isSmall?t===(i=Math.abs(i))?0:t>i?1:-1:-1},B.prototype.compareAbs=function(A){var I=this.value,t=Z(A).value;return(I=I>=0?I:-I)===(t=t>=0?t:-t)?0:I>t?1:-1},Q.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=Z(A),t=this.value,i=I.value;return this.sign!==I.sign?I.sign?1:-1:I.isSmall?this.sign?-1:1:U(t,i)*(this.sign?-1:1)},Q.prototype.compareTo=Q.prototype.compare,n.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=Z(A),t=this.value,i=I.value;return I.isSmall?t==i?0:t>i?1:-1:t<0!==I.sign?t<0?-1:1:t<0?1:-1},n.prototype.compareTo=n.prototype.compare,B.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=this.value,t=Z(A).value;return I===t?0:I>t?1:-1},B.prototype.compareTo=B.prototype.compare,Q.prototype.equals=function(A){return 0===this.compare(A)},B.prototype.eq=B.prototype.equals=n.prototype.eq=n.prototype.equals=Q.prototype.eq=Q.prototype.equals,Q.prototype.notEquals=function(A){return 0!==this.compare(A)},B.prototype.neq=B.prototype.notEquals=n.prototype.neq=n.prototype.notEquals=Q.prototype.neq=Q.prototype.notEquals,Q.prototype.greater=function(A){return this.compare(A)>0},B.prototype.gt=B.prototype.greater=n.prototype.gt=n.prototype.greater=Q.prototype.gt=Q.prototype.greater,Q.prototype.lesser=function(A){return this.compare(A)<0},B.prototype.lt=B.prototype.lesser=n.prototype.lt=n.prototype.lesser=Q.prototype.lt=Q.prototype.lesser,Q.prototype.greaterOrEquals=function(A){return this.compare(A)>=0},B.prototype.geq=B.prototype.greaterOrEquals=n.prototype.geq=n.prototype.greaterOrEquals=Q.prototype.geq=Q.prototype.greaterOrEquals,Q.prototype.lesserOrEquals=function(A){return this.compare(A)<=0},B.prototype.leq=B.prototype.lesserOrEquals=n.prototype.leq=n.prototype.lesserOrEquals=Q.prototype.leq=Q.prototype.lesserOrEquals,Q.prototype.isEven=function(){return 0==(1&this.value[0])},n.prototype.isEven=function(){return 0==(1&this.value)},B.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},Q.prototype.isOdd=function(){return 1==(1&this.value[0])},n.prototype.isOdd=function(){return 1==(1&this.value)},B.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},Q.prototype.isPositive=function(){return!this.sign},n.prototype.isPositive=function(){return this.value>0},B.prototype.isPositive=n.prototype.isPositive,Q.prototype.isNegative=function(){return this.sign},n.prototype.isNegative=function(){return this.value<0},B.prototype.isNegative=n.prototype.isNegative,Q.prototype.isUnit=function(){return!1},n.prototype.isUnit=function(){return 1===Math.abs(this.value)},B.prototype.isUnit=function(){return this.abs().value===BigInt(1)},Q.prototype.isZero=function(){return!1},n.prototype.isZero=function(){return 0===this.value},B.prototype.isZero=function(){return this.value===BigInt(0)},Q.prototype.isDivisibleBy=function(A){var I=Z(A);return!I.isZero()&&(!!I.isUnit()||(0===I.compareAbs(2)?this.isEven():this.mod(I).isZero()))},B.prototype.isDivisibleBy=n.prototype.isDivisibleBy=Q.prototype.isDivisibleBy,Q.prototype.isPrime=function(A){var t=G(this);if(void 0!==t)return t;var i=this.abs(),g=i.bitLength();if(g<=64)return H(i,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var C=Math.log(2)*g.toJSNumber(),e=Math.ceil(!0===A?2*Math.pow(C,2):C),Q=[],n=0;n<e;n++)Q.push(I(n+2));return H(i,Q)},B.prototype.isPrime=n.prototype.isPrime=Q.prototype.isPrime,Q.prototype.isProbablePrime=function(A,t){var i=G(this);if(void 0!==i)return i;for(var g=this.abs(),C=void 0===A?5:A,e=[],Q=0;Q<C;Q++)e.push(I.randBetween(2,g.minus(2),t));return H(g,e)},B.prototype.isProbablePrime=n.prototype.isProbablePrime=Q.prototype.isProbablePrime,Q.prototype.modInv=function(A){for(var t,i,g,C=I.zero,e=I.one,Q=Z(A),n=this.abs();!n.isZero();)t=Q.divide(n),i=C,g=Q,C=e,Q=n,e=i.subtract(t.multiply(e)),n=g.subtract(t.multiply(n));if(!Q.isUnit())throw new Error(this.toString()+" and "+A.toString()+" are not co-prime");return-1===C.compare(0)&&(C=C.add(A)),this.isNegative()?C.negate():C},B.prototype.modInv=n.prototype.modInv=Q.prototype.modInv,Q.prototype.next=function(){var A=this.value;return this.sign?u(A,1,this.sign):new Q(D(A,1),this.sign)},n.prototype.next=function(){var A=this.value;return A+1<i?new n(A+1):new Q(g,!1)},B.prototype.next=function(){return new B(this.value+BigInt(1))},Q.prototype.prev=function(){var A=this.value;return this.sign?new Q(D(A,1),!0):u(A,1,this.sign)},n.prototype.prev=function(){var A=this.value;return A-1>-i?new n(A-1):new Q(g,!0)},B.prototype.prev=function(){return new B(this.value-BigInt(1))};for(var L=[1];2*L[L.length-1]<=t;)L.push(2*L[L.length-1]);var k=L.length,N=L[k-1];function b(A){return Math.abs(A)<=t}function S(A,t,i){t=Z(t);for(var g=A.isNegative(),C=t.isNegative(),e=g?A.not():A,Q=C?t.not():t,n=0,B=0,r=null,E=null,h=[];!e.isZero()||!Q.isZero();)n=(r=d(e,N))[1].toJSNumber(),g&&(n=N-1-n),B=(E=d(Q,N))[1].toJSNumber(),C&&(B=N-1-B),e=r[0],Q=E[0],h.push(i(n,B));for(var s=0!==i(g?1:0,C?1:0)?I(-1):I(0),o=h.length-1;o>=0;o-=1)s=s.multiply(N).add(I(h[o]));return s}Q.prototype.shiftLeft=function(A){var I=Z(A).toJSNumber();if(!b(I))throw new Error(String(I)+" is too large for shifting.");if(I<0)return this.shiftRight(-I);var t=this;if(t.isZero())return t;for(;I>=k;)t=t.multiply(N),I-=k-1;return t.multiply(L[I])},B.prototype.shiftLeft=n.prototype.shiftLeft=Q.prototype.shiftLeft,Q.prototype.shiftRight=function(A){var I,t=Z(A).toJSNumber();if(!b(t))throw new Error(String(t)+" is too large for shifting.");if(t<0)return this.shiftLeft(-t);for(var i=this;t>=k;){if(i.isZero()||i.isNegative()&&i.isUnit())return i;i=(I=d(i,N))[1].isNegative()?I[0].prev():I[0],t-=k-1}return(I=d(i,L[t]))[1].isNegative()?I[0].prev():I[0]},B.prototype.shiftRight=n.prototype.shiftRight=Q.prototype.shiftRight,Q.prototype.not=function(){return this.negate().prev()},B.prototype.not=n.prototype.not=Q.prototype.not,Q.prototype.and=function(A){return S(this,A,(function(A,I){return A&I}))},B.prototype.and=n.prototype.and=Q.prototype.and,Q.prototype.or=function(A){return S(this,A,(function(A,I){return A|I}))},B.prototype.or=n.prototype.or=Q.prototype.or,Q.prototype.xor=function(A){return S(this,A,(function(A,I){return A^I}))},B.prototype.xor=n.prototype.xor=Q.prototype.xor;function R(A){var I=A.value,i="number"==typeof I?I|1<<30:"bigint"==typeof I?I|BigInt(1<<30):I[0]+I[1]*t|1073758208;return i&-i}function J(A,I){return A=Z(A),I=Z(I),A.greater(I)?A:I}function v(A,I){return A=Z(A),I=Z(I),A.lesser(I)?A:I}function q(A,I){if(A=Z(A).abs(),I=Z(I).abs(),A.equals(I))return A;if(A.isZero())return I;if(I.isZero())return A;for(var t,i,g=e[1];A.isEven()&&I.isEven();)t=v(R(A),R(I)),A=A.divide(t),I=I.divide(t),g=g.multiply(t);for(;A.isEven();)A=A.divide(R(A));do{for(;I.isEven();)I=I.divide(R(I));A.greater(I)&&(i=I,I=A,A=i),I=I.subtract(A)}while(!I.isZero());return g.isUnit()?A:A.multiply(g)}Q.prototype.bitLength=function(){var A=this;return A.compareTo(I(0))<0&&(A=A.negate().subtract(I(1))),0===A.compareTo(I(0))?I(0):I(function A(t,i){if(i.compareTo(t)<=0){var g=A(t,i.square(i)),C=g.p,e=g.e,Q=C.multiply(i);return Q.compareTo(t)<=0?{p:Q,e:2*e+1}:{p:C,e:2*e}}return{p:I(1),e:0}}(A,I(2)).e).add(I(1))},B.prototype.bitLength=n.prototype.bitLength=Q.prototype.bitLength;var Y=function(A,I,t,i){t=t||"0123456789abcdefghijklmnopqrstuvwxyz",A=String(A),i||(A=A.toLowerCase(),t=t.toLowerCase());var g,C=A.length,e=Math.abs(I),Q={};for(g=0;g<t.length;g++)Q[t[g]]=g;for(g=0;g<C;g++){if("-"!==(r=A[g])&&(r in Q&&Q[r]>=e)){if("1"===r&&1===e)continue;throw new Error(r+" is not a valid digit in base "+I+".")}}I=Z(I);var n=[],B="-"===A[0];for(g=B?1:0;g<A.length;g++){var r;if((r=A[g])in Q)n.push(Z(Q[r]));else{if("<"!==r)throw new Error(r+" is not a valid character");var E=g;do{g++}while(">"!==A[g]&&g<A.length);n.push(Z(A.slice(E+1,g)))}}return P(n,I,B)};function P(A,I,t){var i,g=e[0],C=e[1];for(i=A.length-1;i>=0;i--)g=g.add(A[i].times(C)),C=C.times(I);return t?g.negate():g}function x(A,t){if((t=I(t)).isZero()){if(A.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(t.equals(-1)){if(A.isZero())return{value:[0],isNegative:!1};if(A.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-A.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var i=Array.apply(null,Array(A.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return i.unshift([1]),{value:[].concat.apply([],i),isNegative:!1}}var g=!1;if(A.isNegative()&&t.isPositive()&&(g=!0,A=A.abs()),t.isUnit())return A.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(A.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:g};for(var C,e=[],Q=A;Q.isNegative()||Q.compareAbs(t)>=0;){C=Q.divmod(t),Q=C.quotient;var n=C.remainder;n.isNegative()&&(n=t.minus(n).abs(),Q=Q.next()),e.push(n.toJSNumber())}return e.push(Q.toJSNumber()),{value:e.reverse(),isNegative:g}}function O(A,I,t){var i=x(A,I);return(i.isNegative?"-":"")+i.value.map((function(A){return function(A,I){return A<(I=I||"0123456789abcdefghijklmnopqrstuvwxyz").length?I[A]:"<"+A+">"}(A,t)})).join("")}function X(A){if(r(+A)){var I=+A;if(I===a(I))return C?new B(BigInt(I)):new n(I);throw new Error("Invalid integer: "+A)}var t="-"===A[0];t&&(A=A.slice(1));var i=A.split(/e/i);if(i.length>2)throw new Error("Invalid integer: "+i.join("e"));if(2===i.length){var g=i[1];if("+"===g[0]&&(g=g.slice(1)),(g=+g)!==a(g)||!r(g))throw new Error("Invalid integer: "+g+" is not a valid exponent.");var e=i[0],E=e.indexOf(".");if(E>=0&&(g-=e.length-E-1,e=e.slice(0,E)+e.slice(E+1)),g<0)throw new Error("Cannot include negative exponent part for integers");A=e+=new Array(g+1).join("0")}if(!/^([0-9][0-9]*)$/.test(A))throw new Error("Invalid integer: "+A);if(C)return new B(BigInt(t?"-"+A:A));for(var h=[],o=A.length,f=o-7;o>0;)h.push(+A.slice(f,o)),(f-=7)<0&&(f=0),o-=7;return s(h),new Q(h,t)}function Z(A){return"number"==typeof A?function(A){if(C)return new B(BigInt(A));if(r(A)){if(A!==a(A))throw new Error(A+" is not an integer.");return new n(A)}return X(A.toString())}(A):"string"==typeof A?X(A):"bigint"==typeof A?new B(A):A}Q.prototype.toArray=function(A){return x(this,A)},n.prototype.toArray=function(A){return x(this,A)},B.prototype.toArray=function(A){return x(this,A)},Q.prototype.toString=function(A,I){if(void 0===A&&(A=10),10!==A)return O(this,A,I);for(var t,i=this.value,g=i.length,C=String(i[--g]);--g>=0;)t=String(i[g]),C+="0000000".slice(t.length)+t;return(this.sign?"-":"")+C},n.prototype.toString=function(A,I){return void 0===A&&(A=10),10!=A?O(this,A,I):String(this.value)},B.prototype.toString=n.prototype.toString,B.prototype.toJSON=Q.prototype.toJSON=n.prototype.toJSON=function(){return this.toString()},Q.prototype.valueOf=function(){return parseInt(this.toString(),10)},Q.prototype.toJSNumber=Q.prototype.valueOf,n.prototype.valueOf=function(){return this.value},n.prototype.toJSNumber=n.prototype.valueOf,B.prototype.valueOf=B.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};for(var j=0;j<1e3;j++)e[j]=Z(j),j>0&&(e[-j]=Z(-j));return e.one=e[1],e.zero=e[0],e.minusOne=e[-1],e.max=J,e.min=v,e.gcd=q,e.lcm=function(A,I){return A=Z(A).abs(),I=Z(I).abs(),A.divide(q(A,I)).multiply(I)},e.isInstance=function(A){return A instanceof Q||A instanceof n||A instanceof B},e.randBetween=function(A,I,i){A=Z(A),I=Z(I);var g=i||Math.random,C=v(A,I),Q=J(A,I).subtract(C).add(1);if(Q.isSmall)return C.add(Math.floor(g()*Q));for(var n=x(Q,t).value,B=[],r=!0,E=0;E<n.length;E++){var h=r?n[E]:t,s=a(g()*h);B.push(s),s<h&&(r=!1)}return C.add(e.fromArray(B,t,!1))},e.fromArray=function(A,I,t){return P(A.map(Z),Z(I||10),t)},e}();A.hasOwnProperty("exports")&&(A.exports=I)}));function E(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?r(A.slice(2),16):r(A,I)}const h=E;function s(A,I){return r(A).shiftLeft(I)}function o(A,I){return r(A).shiftRight(I)}const a=s,f=o;var w=Object.freeze({__proto__:null,fromString:E,e:h,fromArray:function(A,I){return r.fromArray(A,I)},bitLength:function(A){return r(A).bitLength()},isNegative:function(A){return r(A).isNegative()},isZero:function(A){return r(A).isZero()},shiftLeft:s,shiftRight:o,shl:a,shr:f,isOdd:function(A){return r(A).isOdd()},naf:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);){if(I.isOdd()){const A=2-I.mod(4).toJSNumber();t.push(A),I=I.minus(A)}else t.push(0);I=I.shiftRight(1)}return t},bits:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(r("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return r(A).toArray(I)},add:function(A,I){return r(A).add(r(I))},sub:function(A,I){return r(A).minus(r(I))},neg:function(A){return r.zero.minus(r(A))},mul:function(A,I){return r(A).times(r(I))},square:function(A){return r(A).square()},pow:function(A,I){return r(A).pow(r(I))},exp:function(A,I){return r(A).pow(r(I))},abs:function(A){return r(A).abs()},div:function(A,I){return r(A).divide(r(I))},mod:function(A,I){return r(A).mod(r(I))},eq:function(A,I){return r(A).eq(r(I))},neq:function(A,I){return r(A).neq(r(I))},lt:function(A,I){return r(A).lt(r(I))},gt:function(A,I){return r(A).gt(r(I))},leq:function(A,I){return r(A).leq(r(I))},geq:function(A,I){return r(A).geq(r(I))},band:function(A,I){return r(A).and(r(I))},bor:function(A,I){return r(A).or(r(I))},bxor:function(A,I){return r(A).xor(r(I))},land:function(A,I){return!r(A).isZero()&&!r(I).isZero()},lor:function(A,I){return!r(A).isZero()||!r(I).isZero()},lnot:function(A){return r(A).isZero()}});const D="function"==typeof BigInt;let c={};D?Object.assign(c,n):Object.assign(c,w),c.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new Uint32Array(A.buffer,I,i/4),e=1+(4*(g.length-7)-1>>5);for(let A=0;A<e;A++)C[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=e;A<C.length;A++)C[A]=0;for(let I=4*C.length;I<i;I++)A[I]=c.toNumber(c.band(c.shiftRight(t,8*I),255))},c.toRprBE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new DataView(A.buffer,I,i),e=1+(4*(g.length-7)-1>>5);for(let A=0;A<e;A++)C.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-e;A++)C[A]=0},c.fromRprLE=function(A,I,t){t=t||A.byteLength;const i=new Uint32Array(A.buffer,I,t/4),g=new Array(t/4);return i.forEach((A,I)=>g[g.length-I-1]=A.toString(16).padStart(8,"0")),c.fromString(g.join(""),16)},c.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A<t/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return c.fromString(g.join(""),16)},c.toString=function(A,I){return A.toString(I)},c.toLEBuff=function(A){const I=new Uint8Array(Math.floor((c.bitLength(A)-1)/8)+1);return c.toRprLE(I,0,A,I.byteLength),I},c.zero=c.e(0),c.one=c.e(1);let{toRprLE:u,toRprBE:y,fromRprLE:p,fromRprBE:l,toString:F,toLEBuff:M,zero:m,one:d,fromString:U,e:G,fromArray:H,bitLength:L,isNegative:k,isZero:N,shiftLeft:b,shiftRight:S,shl:R,shr:J,isOdd:v,naf:q,bits:Y,toNumber:P,toArray:x,add:O,sub:X,neg:Z,mul:j,square:K,pow:V,exp:z,abs:W,div:T,mod:_,eq:$,neq:AA,lt:IA,gt:tA,leq:iA,geq:gA,band:CA,bor:eA,bxor:QA,land:nA,lor:BA,lnot:rA}=c;var EA=Object.freeze({__proto__:null,toRprLE:u,toRprBE:y,fromRprLE:p,fromRprBE:l,toString:F,toLEBuff:M,zero:m,one:d,fromString:U,e:G,fromArray:H,bitLength:L,isNegative:k,isZero:N,shiftLeft:b,shiftRight:S,shl:R,shr:J,isOdd:v,naf:q,bits:Y,toNumber:P,toArray:x,add:O,sub:X,neg:Z,mul:j,square:K,pow:V,exp:z,abs:W,div:T,mod:_,eq:$,neq:AA,lt:IA,gt:tA,leq:iA,geq:gA,band:CA,bor:eA,bxor:QA,land:nA,lor:BA,lnot:rA});const hA=[];for(let A=0;A<256;A++)hA[A]=sA(A,8);function sA(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}function oA(A,I,t){if(N(t))return A.one;const i=Y(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function aA(A){if(A.m%2==1)if($(_(A.p,4),1))if($(_(A.p,8),1))if($(_(A.p,16),1))!function(A){A.sqrt_q=V(A.p,A.m),A.sqrt_s=0,A.sqrt_t=X(A.sqrt_q,1);for(;!v(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=T(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<<A.sqrt_s-1)}A.sqrt_tm1d2=T(X(A.sqrt_t,1),2),A.sqrt=function(A){const I=this;if(I.isZero(A))return I.zero;let t=I.pow(A,I.sqrt_tm1d2);const i=I.pow(I.mul(I.square(t),A),1<<I.sqrt_s-1);if(I.eq(i,I.negone))return null;let g=I.sqrt_s,C=I.mul(A,t),e=I.mul(C,t),Q=I.sqrt_z;for(;!I.eq(e,I.one);){let A=I.square(e),i=1;for(;!I.eq(A,I.one);)A=I.square(A),i++;t=Q;for(let A=0;A<g-i-1;A++)t=I.square(t);Q=I.square(t),e=I.mul(e,Q),C=I.mul(C,t),g=i}return I.geq(C,I.zero)?C:I.neg(C)}}(A);else{if(!$(_(A.p,16),9))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(A)}else{if(!$(_(A.p,8),5))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(A)}else $(_(A.p,4),3)&&function(A){A.sqrt_q=V(A.p,A.m),A.sqrt_e1=T(X(A.sqrt_q,3),4),A.sqrt=function(I){if(this.isZero(I))return this.zero;const t=this.pow(I,this.sqrt_e1),i=this.mul(this.square(t),I);if(this.eq(i,this.negone))return null;const g=this.mul(t,I);return A.geq(g,A.zero)?g:A.neg(g)}}(A);else{const I=_(V(A.p,A.m/2),4);1==I?function(A){A.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(A):3==I?function(A){A.sqrt_q=V(A.p,A.m/2),A.sqrt_e34=T(X(A.sqrt_q,3),4),A.sqrt_e12=T(X(A.sqrt_q,1),2),A.frobenius=function(I,t){return I%2==1?A.conjugate(t):t},A.sqrt=function(A){const I=this,t=I.pow(A,I.sqrt_e34),i=I.mul(I.square(t),A),g=I.mul(I.frobenius(1,i),i);if(I.eq(g,I.negone))return null;const C=I.mul(t,A);let e;if(I.eq(i,I.negone))e=I.mul(C,[I.F.zero,I.F.one]);else{const A=I.pow(I.add(I.one,i),I.sqrt_e12);e=I.mul(A,C)}return I.geq(e,I.zero)?e:I.neg(e)}}(A):function(A){A.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(A)}}function fA(A,I,t,i,g){A[I]=A[I]+A[t]>>>0,A[g]=(A[g]^A[I])>>>0,A[g]=(A[g]<<16|A[g]>>>16&65535)>>>0,A[i]=A[i]+A[g]>>>0,A[t]=(A[t]^A[i])>>>0,A[t]=(A[t]<<12|A[t]>>>20&4095)>>>0,A[I]=A[I]+A[t]>>>0,A[g]=(A[g]^A[I])>>>0,A[g]=(A[g]<<8|A[g]>>>24&255)>>>0,A[i]=A[i]+A[g]>>>0,A[t]=(A[t]^A[i])>>>0,A[t]=(A[t]<<7|A[t]>>>25&127)>>>0}class wA{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return O(j(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let I=0;I<10;I++)fA(A=this.buff,0,4,8,12),fA(A,1,5,9,13),fA(A,2,6,10,14),fA(A,3,7,11,15),fA(A,0,5,10,15),fA(A,1,6,11,12),fA(A,2,7,8,13),fA(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}var DA={};function cA(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let t=0;t<A;t++)I[t]=4294967296*Math.random()>>>0;else DA.randomFillSync(I);return I}let uA=null;function yA(){return uA||(uA=new wA(function(){const A=cA(32),I=new Uint32Array(A.buffer),t=[];for(let A=0;A<8;A++)t.push(I[A]);return t}()),uA)}class pA{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=L(this.p),this.mask=(1n<<BigInt(this.bitLength))-1n,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(1n<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const I=this.negone>>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),aA(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return oA(this,A,I)}exp(A,I){return oA(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)<this.bitLength){const t=A<<I&this.mask;return t>=this.p?t-this.p:t}{const t=this.p-I;return Number(t)<this.bitLength?A>>t:0n}}shr(A,I){if(Number(I)<this.bitLength)return A>>I;{const t=this.p-I;if(Number(t)<this.bitLength){const I=A<<t&this.mask;return I>=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let e=t;for(let A=0;A<I-C-1;A++)e=this.square(e);I=C,t=this.square(e),i=this.mul(i,t),g=this.mul(g,e)}return g>this.p>>1n&&(g=this.neg(g)),g}normalize(A,I){if((A=BigInt(A,I))<0){let I=-A;return I>=this.p&&(I%=this.p),this.p-I}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let I=0n;for(let t=0;t<A;t++)I=(I<<8n)+BigInt(cA(1)[0]);return I%this.p}toString(A,I){let t;if(A>this.half){t="-"+(this.p-A).toString(I)}else t=A.toString(I);return t}isZero(A){return 0n==A}fromRng(A){let I;do{I=0n;for(let t=0;t<this.n64;t++)I+=A.nextU64()<<BigInt(64*t);I&=this.mask}while(I>=this.p);return I=I*this.Ri%this.p,I}}class lA{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),aA(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let e=t;for(let A=0;A<I-C-1;A++)e=this.square(e);I=C,t=this.square(e),i=this.mul(i,t),g=this.mul(g,e)}return g.greater(this.p.shiftRight(this.one))&&(g=this.neg(g)),g}normalize(A){return(A=r(A)).isNegative()?this.p.minus(A.abs().mod(this.p)):A.mod(this.p)}random(){let A=r(0),I=r(this.p.square());for(;!I.isZero();)A=A.shiftLeft(8).add(r(cA(1)[0])),I=I.shiftRight(8);return A.mod(this.p)}toString(A,I){let t;if(A.lesserOrEquals(this.p.shiftRight(r(1))))t=A.toString(I);else{t="-"+this.p.minus(A).toString(I)}return t}isZero(A){return A.isZero()}fromRng(A){let I;do{I=r(0);for(let t=0;t<this.n64;t++)I=I.add(I,A.nextU64().shiftLeft(64*t));I=I.and(this.mask)}while(I.geq(this.p));return I=I.times(this.Ri).mod(this.q),I}}const FA="function"==typeof BigInt;let MA;MA=FA?pA:lA;class mA extends MA{toRprLE(A,I,t){u(A,I,t,8*this.n64)}toRprBE(A,I,t){y(A,I,t,8*this.n64)}toRprBEM(A,I,t){return this.toRprBE(A,I,this.mul(this.R,t))}toRprLEM(A,I,t){return this.toRprLE(A,I,this.mul(this.R,t))}fromRprLE(A,I){return p(A,I,this.n8)}fromRprBE(A,I){return l(A,I,this.n8)}fromRprLEM(A,I){return this.mul(this.fromRprLE(A,I),this.Ri)}fromRprBEM(A,I){return this.mul(this.fromRprBE(A,I),this.Ri)}}var dA={bn128_wasm:{code:"AGFzbQEAAAABiQERYAJ/fwBgAX8AYAF/AX9gAn9/AX9gA39/fwF/YAN/f38AYAN/fn8AYAJ/fgBgBH9/f38AYAV/f39/fwBgBH9/f38Bf2AHf39/f39/fwBgCH9/f39/f39/AGAFf39/f38Bf2AHf39/f39/fwF/YAl/f39/f39/f38Bf2ALf39/f39/f39/f38BfwIQAQNlbnYGbWVtb3J5AgDoBwOrAqkCAAECAQMDBAQFAAAGBwgFAgUFAAAFAAAAAAICAAEFCAkFBQgAAgIFBQAABQAAAAACAgABBQgJBQUIAAIFAAACAgIBAQAAAAMDAwAABQUFAAAFBQUAAAAAAAUABQAAAAAFBQUFBQoACwkKAAsJCAgDAAgIAgAACQUFAAgMCQICAQEABQUABQUAAAAAAwAIAgIJCAACAgIBAQAAAAMDAwAABQUFAAAFBQUAAAAAAAUABQAAAAAFBQUFBQoACwkKAAsJCAgFAwAICAIAAAkFBQUDAAgIAgAACQUFBQUJCQkJCQACAgEBAAUABQUAAgAAAwAIAgkIAAICAQEABQUABQUAAAAAAwAIAgIJCAACBQAAAAAICAUAAAAAAAAAAAAAAAAAAAAABA0ODxAFB70imgIIaW50X2NvcHkAAAhpbnRfemVybwABB2ludF9vbmUAAwppbnRfaXNaZXJvAAIGaW50X2VxAAQHaW50X2d0ZQAFB2ludF9hZGQABgdpbnRfc3ViAAcHaW50X211bAAICmludF9zcXVhcmUACQ1pbnRfc3F1YXJlT2xkAAoHaW50X2RpdgANDmludF9pbnZlcnNlTW9kAA4IZjFtX2NvcHkAAAhmMW1femVybwABCmYxbV9pc1plcm8AAgZmMW1fZXEABAdmMW1fYWRkABAHZjFtX3N1YgARB2YxbV9uZWcAEg5mMW1faXNOZWdhdGl2ZQAZCWYxbV9pc09uZQAPCGYxbV9zaWduABoLZjFtX21SZWR1Y3QAEwdmMW1fbXVsABQKZjFtX3NxdWFyZQAVDWYxbV9zcXVhcmVPbGQAFhJmMW1fZnJvbU1vbnRnb21lcnkAGBBmMW1fdG9Nb250Z29tZXJ5ABcLZjFtX2ludmVyc2UAGwdmMW1fb25lABwIZjFtX2xvYWQAHQ9mMW1fdGltZXNTY2FsYXIAHgdmMW1fZXhwACIQZjFtX2JhdGNoSW52ZXJzZQAfCGYxbV9zcXJ0ACMMZjFtX2lzU3F1YXJlACQVZjFtX2JhdGNoVG9Nb250Z29tZXJ5ACAXZjFtX2JhdGNoRnJvbU1vbnRnb21lcnkAIQhmcm1fY29weQAACGZybV96ZXJvAAEKZnJtX2lzWmVybwACBmZybV9lcQAEB2ZybV9hZGQAJgdmcm1fc3ViACcHZnJtX25lZwAoDmZybV9pc05lZ2F0aXZlAC8JZnJtX2lzT25lACUIZnJtX3NpZ24AMAtmcm1fbVJlZHVjdAApB2ZybV9tdWwAKgpmcm1fc3F1YXJlACsNZnJtX3NxdWFyZU9sZAAsEmZybV9mcm9tTW9udGdvbWVyeQAuEGZybV90b01vbnRnb21lcnkALQtmcm1faW52ZXJzZQAxB2ZybV9vbmUAMghmcm1fbG9hZAAzD2ZybV90aW1lc1NjYWxhcgA0B2ZybV9leHAAOBBmcm1fYmF0Y2hJbnZlcnNlADUIZnJtX3NxcnQAOQxmcm1faXNTcXVhcmUAOhVmcm1fYmF0Y2hUb01vbnRnb21lcnkANhdmcm1fYmF0Y2hGcm9tTW9udGdvbWVyeQA3BmZyX2FkZAAmBmZyX3N1YgAnBmZyX25lZwAoBmZyX211bAA7CWZyX3NxdWFyZQA8CmZyX2ludmVyc2UAPQ1mcl9pc05lZ2F0aXZlAD4HZnJfY29weQAAB2ZyX3plcm8AAQZmcl9vbmUAMglmcl9pc1plcm8AAgVmcl9lcQAEDGcxbV9tdWx0aWV4cABnEmcxbV9tdWx0aWV4cF9jaHVuawBmEmcxbV9tdWx0aWV4cEFmZmluZQBrGGcxbV9tdWx0aWV4cEFmZmluZV9jaHVuawBqCmcxbV9pc1plcm8AQBBnMW1faXNaZXJvQWZmaW5lAD8GZzFtX2VxAEgLZzFtX2VxTWl4ZWQARwxnMW1fZXFBZmZpbmUARghnMW1fY29weQBEDmcxbV9jb3B5QWZmaW5lAEMIZzFtX3plcm8AQg5nMW1femVyb0FmZmluZQBBCmcxbV9kb3VibGUAShBnMW1fZG91YmxlQWZmaW5lAEkHZzFtX2FkZABNDGcxbV9hZGRNaXhlZABMDWcxbV9hZGRBZmZpbmUASwdnMW1fbmVnAE8NZzFtX25lZ0FmZmluZQBOB2cxbV9zdWIAUgxnMW1fc3ViTWl4ZWQAUQ1nMW1fc3ViQWZmaW5lAFASZzFtX2Zyb21Nb250Z29tZXJ5AFQYZzFtX2Zyb21Nb250Z29tZXJ5QWZmaW5lAFMQZzFtX3RvTW9udGdvbWVyeQBWFmcxbV90b01vbnRnb21lcnlBZmZpbmUAVQ9nMW1fdGltZXNTY2FsYXIAbBVnMW1fdGltZXNTY2FsYXJBZmZpbmUAbQ1nMW1fbm9ybWFsaXplAFkKZzFtX0xFTXRvVQBbCmcxbV9MRU10b0MAXApnMW1fVXRvTEVNAF0KZzFtX0N0b0xFTQBeD2cxbV9iYXRjaExFTXRvVQBfD2cxbV9iYXRjaExFTXRvQwBgD2cxbV9iYXRjaFV0b0xFTQBhD2cxbV9iYXRjaEN0b0xFTQBiDGcxbV90b0FmZmluZQBXDmcxbV90b0phY29iaWFuAEURZzFtX2JhdGNoVG9BZmZpbmUAWBNnMW1fYmF0Y2hUb0phY29iaWFuAGMHZnJtX2ZmdABzCGZybV9pZmZ0AHQKZnJtX3Jhd2ZmdABxC2ZybV9mZnRKb2luAHUKZnJtX2ZmdE1peAB2DGZybV9mZnRGaW5hbAB3CHBvbF96ZXJvAHgPcG9sX2NvbnN0cnVjdExDAHkMcWFwX2J1aWxkQUJDAHoLcWFwX2pvaW5BQkMAewpmMm1faXNaZXJvAHwJZjJtX2lzT25lAH0IZjJtX3plcm8AfgdmMm1fb25lAH8IZjJtX2NvcHkAgAEHZjJtX211bACBAQhmMm1fbXVsMQCCAQpmMm1fc3F1YXJlAIMBB2YybV9hZGQAhAEHZjJtX3N1YgCFAQdmMm1fbmVnAIYBCGYybV9zaWduAI0BDWYybV9jb25qdWdhdGUAhwESZjJtX2Zyb21Nb250Z29tZXJ5AIkBEGYybV90b01vbnRnb21lcnkAiAEGZjJtX2VxAIoBC2YybV9pbnZlcnNlAIsBB2YybV9leHAAkAEPZjJtX3RpbWVzU2NhbGFyAIwBEGYybV9iYXRjaEludmVyc2UAjwEIZjJtX3NxcnQAkQEMZjJtX2lzU3F1YXJlAJIBDmYybV9pc05lZ2F0aXZlAI4BDGcybV9tdWx0aWV4cAC7ARJnMm1fbXVsdGlleHBfY2h1bmsAugESZzJtX211bHRpZXhwQWZmaW5lAL8BGGcybV9tdWx0aWV4cEFmZmluZV9jaHVuawC+AQpnMm1faXNaZXJvAJQBEGcybV9pc1plcm9BZmZpbmUAkwEGZzJtX2VxAJwBC2cybV9lcU1peGVkAJsBDGcybV9lcUFmZmluZQCaAQhnMm1fY29weQCYAQ5nMm1fY29weUFmZmluZQCXAQhnMm1femVybwCWAQ5nMm1femVyb0FmZmluZQCVAQpnMm1fZG91YmxlAJ4BEGcybV9kb3VibGVBZmZpbmUAnQEHZzJtX2FkZAChAQxnMm1fYWRkTWl4ZWQAoAENZzJtX2FkZEFmZmluZQCfAQdnMm1fbmVnAKMBDWcybV9uZWdBZmZpbmUAogEHZzJtX3N1YgCmAQxnMm1fc3ViTWl4ZWQApQENZzJtX3N1YkFmZmluZQCkARJnMm1fZnJvbU1vbnRnb21lcnkAqAEYZzJtX2Zyb21Nb250Z29tZXJ5QWZmaW5lAKcBEGcybV90b01vbnRnb21lcnkAqgEWZzJtX3RvTW9udGdvbWVyeUFmZmluZQCpAQ9nMm1fdGltZXNTY2FsYXIAwAEVZzJtX3RpbWVzU2NhbGFyQWZmaW5lAMEBDWcybV9ub3JtYWxpemUArQEKZzJtX0xFTXRvVQCvAQpnMm1fTEVNdG9DALABCmcybV9VdG9MRU0AsQEKZzJtX0N0b0xFTQCyAQ9nMm1fYmF0Y2hMRU10b1UAswEPZzJtX2JhdGNoTEVNdG9DALQBD2cybV9iYXRjaFV0b0xFTQC1AQ9nMm1fYmF0Y2hDdG9MRU0AtgEMZzJtX3RvQWZmaW5lAKsBDmcybV90b0phY29iaWFuAJkBEWcybV9iYXRjaFRvQWZmaW5lAKwBE2cybV9iYXRjaFRvSmFjb2JpYW4AtwELZzFtX3RpbWVzRnIAwgEHZzFtX2ZmdADIAQhnMW1faWZmdADJAQpnMW1fcmF3ZmZ0AMYBC2cxbV9mZnRKb2luAMoBCmcxbV9mZnRNaXgAywEMZzFtX2ZmdEZpbmFsAMwBC2cybV90aW1lc0ZyAM0BB2cybV9mZnQA0wEIZzJtX2lmZnQA1AEKZzJtX3Jhd2ZmdADRAQtnMm1fZmZ0Sm9pbgDVAQpnMm1fZmZ0TWl4ANYBDGcybV9mZnRGaW5hbADXARFnMW1fdGltZXNGckFmZmluZQDYARFnMm1fdGltZXNGckFmZmluZQDZARFmcm1fYmF0Y2hBcHBseUtleQDaARFnMW1fYmF0Y2hBcHBseUtleQDbARZnMW1fYmF0Y2hBcHBseUtleU1peGVkANwBEWcybV9iYXRjaEFwcGx5S2V5AN0BFmcybV9iYXRjaEFwcGx5S2V5TWl4ZWQA3gEKZjZtX2lzWmVybwDgAQlmNm1faXNPbmUA4QEIZjZtX3plcm8A4gEHZjZtX29uZQDjAQhmNm1fY29weQDkAQdmNm1fbXVsAOUBCmY2bV9zcXVhcmUA5gEHZjZtX2FkZADnAQdmNm1fc3ViAOgBB2Y2bV9uZWcA6QEIZjZtX3NpZ24A6gESZjZtX2Zyb21Nb250Z29tZXJ5AOwBEGY2bV90b01vbnRnb21lcnkA6wEGZjZtX2VxAO0BC2Y2bV9pbnZlcnNlAO4BB2Y2bV9leHAA8gEPZjZtX3RpbWVzU2NhbGFyAO8BEGY2bV9iYXRjaEludmVyc2UA8QEOZjZtX2lzTmVnYXRpdmUA8AEKZnRtX2lzWmVybwD0AQlmdG1faXNPbmUA9QEIZnRtX3plcm8A9gEHZnRtX29uZQD3AQhmdG1fY29weQD4AQdmdG1fbXVsAPkBCGZ0bV9tdWwxAPoBCmZ0bV9zcXVhcmUA+wEHZnRtX2FkZAD8AQdmdG1fc3ViAP0BB2Z0bV9uZWcA/gEIZnRtX3NpZ24AhQINZnRtX2Nvbmp1Z2F0ZQD/ARJmdG1fZnJvbU1vbnRnb21lcnkAgQIQZnRtX3RvTW9udGdvbWVyeQCAAgZmdG1fZXEAggILZnRtX2ludmVyc2UAgwIHZnRtX2V4cACIAg9mdG1fdGltZXNTY2FsYXIAhAIQZnRtX2JhdGNoSW52ZXJzZQCHAghmdG1fc3FydACJAgxmdG1faXNTcXVhcmUAigIOZnRtX2lzTmVnYXRpdmUAhgIUYm4xMjhfX2Zyb2Jlbml1c01hcDAAkwIUYm4xMjhfX2Zyb2Jlbml1c01hcDEAlAIUYm4xMjhfX2Zyb2Jlbml1c01hcDIAlQIUYm4xMjhfX2Zyb2Jlbml1c01hcDMAlgIUYm4xMjhfX2Zyb2Jlbml1c01hcDQAlwIUYm4xMjhfX2Zyb2Jlbml1c01hcDUAmAIUYm4xMjhfX2Zyb2Jlbml1c01hcDYAmQIUYm4xMjhfX2Zyb2Jlbml1c01hcDcAmgIUYm4xMjhfX2Zyb2Jlbml1c01hcDgAmwIUYm4xMjhfX2Zyb2Jlbml1c01hcDkAnAIQYm4xMjhfcGFpcmluZ0VxMQCjAhBibjEyOF9wYWlyaW5nRXEyAKQCEGJuMTI4X3BhaXJpbmdFcTMApQIQYm4xMjhfcGFpcmluZ0VxNACmAhBibjEyOF9wYWlyaW5nRXE1AKcCDWJuMTI4X3BhaXJpbmcAqAIPYm4xMjhfcHJlcGFyZUcxAI0CD2JuMTI4X3ByZXBhcmVHMgCPAhBibjEyOF9taWxsZXJMb29wAJICGWJuMTI4X2ZpbmFsRXhwb25lbnRpYXRpb24AogIcYm4xMjhfZmluYWxFeHBvbmVudGlhdGlvbk9sZACdAg9ibjEyOF9fbXVsQnkwMjQAkAISYm4xMjhfX211bEJ5MDI0T2xkAJECF2JuMTI4X19jeWNsb3RvbWljU3F1YXJlAJ8CF2JuMTI4X19jeWNsb3RvbWljRXhwX3cwAKACCoXOA6kCKgAgASAAKQMANwMAIAEgACkDCDcDCCABIAApAxA3AxAgASAAKQMYNwMYCx4AIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGAszACAAKQMYUARAIAApAxBQBEAgACkDCFAEQCAAKQMAUA8FQQAPCwVBAA8LBUEADwtBAA8LHgAgAEIBNwMAIABCADcDCCAAQgA3AxAgAEIANwMYC0cAIAApAxggASkDGFEEQCAAKQMQIAEpAxBRBEAgACkDCCABKQMIUQRAIAApAwAgASkDAFEPBUEADwsFQQAPCwVBAA8LQQAPC30AIAApAxggASkDGFQEQEEADwUgACkDGCABKQMYVgRAQQEPBSAAKQMQIAEpAxBUBEBBAA8FIAApAxAgASkDEFYEQEEBDwUgACkDCCABKQMIVARAQQAPBSAAKQMIIAEpAwhWBEBBAQ8FIAApAwAgASkDAFoPCwsLCwsLQQAPC9QBAQF+IAA1AgAgATUCAHwhAyACIAM+AgAgADUCBCABNQIEfCADQiCIfCEDIAIgAz4CBCAANQIIIAE1Agh8IANCIIh8IQMgAiADPgIIIAA1AgwgATUCDHwgA0IgiHwhAyACIAM+AgwgADUCECABNQIQfCADQiCIfCEDIAIgAz4CECAANQIUIAE1AhR8IANCIIh8IQMgAiADPgIUIAA1AhggATUCGHwgA0IgiHwhAyACIAM+AhggADUCHCABNQIcfCADQiCIfCEDIAIgAz4CHCADQiCIpwuMAgEBfiAANQIAIAE1AgB9IQMgAiADQv////8Pgz4CACAANQIEIAE1AgR9IANCIId8IQMgAiADQv////8Pgz4CBCAANQIIIAE1Agh9IANCIId8IQMgAiADQv////8Pgz4CCCAANQIMIAE1Agx9IANCIId8IQMgAiADQv////8Pgz4CDCAANQIQIAE1AhB9IANCIId8IQMgAiADQv////8Pgz4CECAANQIUIAE1AhR9IANCIId8IQMgAiADQv////8Pgz4CFCAANQIYIAE1Ahh9IANCIId8IQMgAiADQv////8Pgz4CGCAANQIcIAE1Ahx9IANCIId8IQMgAiADQv////8Pgz4CHCADQiCHpwuPEBIBfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4gA0L/////D4MgADUCACIFIAE1AgAiBn58IQMgBCADQiCIfCEEIAIgAz4CACAEQiCIIQMgBEL/////D4MgBSABNQIEIgh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIEIgcgBn58IQQgAyAEQiCIfCEDIAIgBD4CBCADQiCIIQQgA0L/////D4MgBSABNQIIIgp+fCEDIAQgA0IgiHwhBCADQv////8PgyAHIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIIIgkgBn58IQMgBCADQiCIfCEEIAIgAz4CCCAEQiCIIQMgBEL/////D4MgBSABNQIMIgx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAHIAp+fCEEIAMgBEIgiHwhAyAEQv////8PgyAJIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIMIgsgBn58IQQgAyAEQiCIfCEDIAIgBD4CDCADQiCIIQQgA0L/////D4MgBSABNQIQIg5+fCEDIAQgA0IgiHwhBCADQv////8PgyAHIAx+fCEDIAQgA0IgiHwhBCADQv////8PgyAJIAp+fCEDIAQgA0IgiHwhBCADQv////8PgyALIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIg0gBn58IQMgBCADQiCIfCEEIAIgAz4CECAEQiCIIQMgBEL/////D4MgBSABNQIUIhB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAHIA5+fCEEIAMgBEIgiHwhAyAEQv////8PgyAJIAx+fCEEIAMgBEIgiHwhAyAEQv////8PgyALIAp+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIUIg8gBn58IQQgAyAEQiCIfCEDIAIgBD4CFCADQiCIIQQgA0L/////D4MgBSABNQIYIhJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAHIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAJIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyALIAx+fCEDIAQgA0IgiHwhBCADQv////8PgyANIAp+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIYIhEgBn58IQMgBCADQiCIfCEEIAIgAz4CGCAEQiCIIQMgBEL/////D4MgBSABNQIcIhR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAHIBJ+fCEEIAMgBEIgiHwhAyAEQv////8PgyAJIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyALIA5+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIAx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAPIAp+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIhMgBn58IQQgAyAEQiCIfCEDIAIgBD4CHCADQiCIIQQgA0L/////D4MgByAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAIfnwhAyAEIANCIIh8IQQgAiADPgIgIARCIIghAyAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyALIBJ+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAPIA5+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIAp+fCEEIAMgBEIgiHwhAyACIAQ+AiQgA0IgiCEEIANC/////w+DIAsgFH58IQMgBCADQiCIfCEEIANC/////w+DIA0gEn58IQMgBCADQiCIfCEEIANC/////w+DIA8gEH58IQMgBCADQiCIfCEEIANC/////w+DIBEgDn58IQMgBCADQiCIfCEEIANC/////w+DIBMgDH58IQMgBCADQiCIfCEEIAIgAz4CKCAEQiCIIQMgBEL/////D4MgDSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgDyASfnwhBCADIARCIIh8IQMgBEL/////D4MgESAQfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAOfnwhBCADIARCIIh8IQMgAiAEPgIsIANCIIghBCADQv////8PgyAPIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyATIBB+fCEDIAQgA0IgiHwhBCACIAM+AjAgBEIgiCEDIARC/////w+DIBEgFH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgEn58IQQgAyAEQiCIfCEDIAIgBD4CNCADQiCIIQQgA0L/////D4MgEyAUfnwhAyAEIANCIIh8IQQgAiADPgI4IARCIIghAyACIAQ+AjwLjBIMAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+QgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgADUCACIGIAZ+fCECIAMgAkIgiHwhAyABIAI+AgAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCBCIHfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CBCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIIIgh+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAHIAd+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIIIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AgwiCX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgCH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCECIKfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAJfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CECADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIUIgt+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAp+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIUIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhgiDH58IQIgAyACQiCIfCEDIAJC/////w+DIAcgC358IQIgAyACQiCIfCEDIAJC/////w+DIAggCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAkgCX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCHCINfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCALfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSAKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CHCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSALfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCiAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CICADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCCANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiALfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CJCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCSANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAMfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCyALfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CKCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCiANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCyAMfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CLCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCyANfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgDCAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CMCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgDCANfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CNCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgDSANfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4COCADIQQgBEIgiCEFIAEgBD4CPAsKACAAIAAgARAIC7YBAQF+IAA1AAAgAX4hAyACIAM+AAAgADUABCABfiADQiCIfCEDIAIgAz4ABCAANQAIIAF+IANCIIh8IQMgAiADPgAIIAA1AAwgAX4gA0IgiHwhAyACIAM+AAwgADUAECABfiADQiCIfCEDIAIgAz4AECAANQAUIAF+IANCIIh8IQMgAiADPgAUIAA1ABggAX4gA0IgiHwhAyACIAM+ABggADUAHCABfiADQiCIfCEDIAIgAz4AHAtOAgF+AX8gACEDIAM1AAAgAXwhAiADIAI+AAAgAkIgiCECAkADQCACUA0BIANBBGohAyADNQAAIAJ8IQIgAyACPgAAIAJCIIghAgwACwsLsAIHAX8BfwF/AX8BfgF+AX8gAgRAIAIhBQVB6AAhBQsgAwRAIAMhBAVBiAEhBAsgACAEEAAgAUHIABAAIAUQAUGoARABQR8hBkEfIQcCQANAQcgAIAdqLQAAIAdBA0ZyDQEgB0EBayEHDAALC0HIACAHakEDazUAAEIBfCEIIAhCAVEEQEIAQgCAGgsCQANAAkADQCAEIAZqLQAAIAZBB0ZyDQEgBkEBayEGDAALCyAEIAZqQQdrKQAAIQkgCSAIgCEJIAYgB2tBBGshCgJAA0AgCUKAgICAcINQIApBAE5xDQEgCUIIiCEJIApBAWohCgwACwsgCVAEQCAEQcgAEAVFDQJCASEJQQAhCgtByAAgCUHIARALIARByAEgCmsgBBAHGiAFIApqIAkQDAwACwsLtQILAX8BfwF/AX8BfwF/AX8BfwF/AX8Bf0HoASEDQegBEAFBACELQYgCIQUgAUGIAhAAQagCIQRBqAIQA0EAIQxByAIhCCAAQcgCEABB6AIhBkGIAyEHQegDIQoCQANAIAgQAg0BIAUgCCAGIAcQDSAGIARBqAMQCCALBEAgDARAQagDIAMQBQRAQagDIAMgChAHGkEAIQ0FIANBqAMgChAHGkEBIQ0LBUGoAyADIAoQBhpBASENCwUgDARAQagDIAMgChAGGkEAIQ0FIANBqAMQBQRAIANBqAMgChAHGkEAIQ0FQagDIAMgChAHGkEBIQ0LCwsgAyEJIAQhAyAKIQQgCSEKIAwhCyANIQwgBSEJIAghBSAHIQggCSEHDAALCyALBEAgASADIAIQBxoFIAMgAhAACwsKACAAQegEEAQPCywAIAAgASACEAYEQCACQYgEIAIQBxoFIAJBiAQQBQRAIAJBiAQgAhAHGgsLCxcAIAAgASACEAcEQCACQYgEIAIQBhoLCwsAQYgFIAAgARARC5wRAwF+AX4BfkKJx5mkDiECQgAhAyAANQIAIAJ+Qv////8PgyEEIAA1AgAgA0IgiHxBiAQ1AgAgBH58IQMgACADPgIAIAA1AgQgA0IgiHxBiAQ1AgQgBH58IQMgACADPgIEIAA1AgggA0IgiHxBiAQ1AgggBH58IQMgACADPgIIIAA1AgwgA0IgiHxBiAQ1AgwgBH58IQMgACADPgIMIAA1AhAgA0IgiHxBiAQ1AhAgBH58IQMgACADPgIQIAA1AhQgA0IgiHxBiAQ1AhQgBH58IQMgACADPgIUIAA1AhggA0IgiHxBiAQ1AhggBH58IQMgACADPgIYIAA1AhwgA0IgiHxBiAQ1AhwgBH58IQMgACADPgIcQegGIANCIIg+AgBCACEDIAA1AgQgAn5C/////w+DIQQgADUCBCADQiCIfEGIBDUCACAEfnwhAyAAIAM+AgQgADUCCCADQiCIfEGIBDUCBCAEfnwhAyAAIAM+AgggADUCDCADQiCIfEGIBDUCCCAEfnwhAyAAIAM+AgwgADUCECADQiCIfEGIBDUCDCAEfnwhAyAAIAM+AhAgADUCFCADQiCIfEGIBDUCECAEfnwhAyAAIAM+AhQgADUCGCADQiCIfEGIBDUCFCAEfnwhAyAAIAM+AhggADUCHCADQiCIfEGIBDUCGCAEfnwhAyAAIAM+AhwgADUCICADQiCIfEGIBDUCHCAEfnwhAyAAIAM+AiBB6AYgA0IgiD4CBEIAIQMgADUCCCACfkL/////D4MhBCAANQIIIANCIIh8QYgENQIAIAR+fCEDIAAgAz4CCCAANQIMIANCIIh8QYgENQIEIAR+fCEDIAAgAz4CDCAANQIQIANCIIh8QYgENQIIIAR+fCEDIAAgAz4CECAANQIUIANCIIh8QYgENQIMIAR+fCEDIAAgAz4CFCAANQIYIANCIIh8QYgENQIQIAR+fCEDIAAgAz4CGCAANQIcIANCIIh8QYgENQIUIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QYgENQIYIAR+fCEDIAAgAz4CICAANQIkIANCIIh8QYgENQIcIAR+fCEDIAAgAz4CJEHoBiADQiCIPgIIQgAhAyAANQIMIAJ+Qv////8PgyEEIAA1AgwgA0IgiHxBiAQ1AgAgBH58IQMgACADPgIMIAA1AhAgA0IgiHxBiAQ1AgQgBH58IQMgACADPgIQIAA1AhQgA0IgiHxBiAQ1AgggBH58IQMgACADPgIUIAA1AhggA0IgiHxBiAQ1AgwgBH58IQMgACADPgIYIAA1AhwgA0IgiHxBiAQ1AhAgBH58IQMgACADPgIcIAA1AiAgA0IgiHxBiAQ1AhQgBH58IQMgACADPgIgIAA1AiQgA0IgiHxBiAQ1AhggBH58IQMgACADPgIkIAA1AiggA0IgiHxBiAQ1AhwgBH58IQMgACADPgIoQegGIANCIIg+AgxCACEDIAA1AhAgAn5C/////w+DIQQgADUCECADQiCIfEGIBDUCACAEfnwhAyAAIAM+AhAgADUCFCADQiCIfEGIBDUCBCAEfnwhAyAAIAM+AhQgADUCGCADQiCIfEGIBDUCCCAEfnwhAyAAIAM+AhggADUCHCADQiCIfEGIBDUCDCAEfnwhAyAAIAM+AhwgADUCICADQiCIfEGIBDUCECAEfnwhAyAAIAM+AiAgADUCJCADQiCIfEGIBDUCFCAEfnwhAyAAIAM+AiQgADUCKCADQiCIfEGIBDUCGCAEfnwhAyAAIAM+AiggADUCLCADQiCIfEGIBDUCHCAEfnwhAyAAIAM+AixB6AYgA0IgiD4CEEIAIQMgADUCFCACfkL/////D4MhBCAANQIUIANCIIh8QYgENQIAIAR+fCEDIAAgAz4CFCAANQIYIANCIIh8QYgENQIEIAR+fCEDIAAgAz4CGCAANQIcIANCIIh8QYgENQIIIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QYgENQIMIAR+fCEDIAAgAz4CICAANQIkIANCIIh8QYgENQIQIAR+fCEDIAAgAz4CJCAANQIoIANCIIh8QYgENQIUIAR+fCEDIAAgAz4CKCAANQIsIANCIIh8QYgENQIYIAR+fCEDIAAgAz4CLCAANQIwIANCIIh8QYgENQIcIAR+fCEDIAAgAz4CMEHoBiADQiCIPgIUQgAhAyAANQIYIAJ+Qv////8PgyEEIAA1AhggA0IgiHxBiAQ1AgAgBH58IQMgACADPgIYIAA1AhwgA0IgiHxBiAQ1AgQgBH58IQMgACADPgIcIAA1AiAgA0IgiHxBiAQ1AgggBH58IQMgACADPgIgIAA1AiQgA0IgiHxBiAQ1AgwgBH58IQMgACADPgIkIAA1AiggA0IgiHxBiAQ1AhAgBH58IQMgACADPgIoIAA1AiwgA0IgiHxBiAQ1AhQgBH58IQMgACADPgIsIAA1AjAgA0IgiHxBiAQ1AhggBH58IQMgACADPgIwIAA1AjQgA0IgiHxBiAQ1AhwgBH58IQMgACADPgI0QegGIANCIIg+AhhCACEDIAA1AhwgAn5C/////w+DIQQgADUCHCADQiCIfEGIBDUCACAEfnwhAyAAIAM+AhwgADUCICADQiCIfEGIBDUCBCAEfnwhAyAAIAM+AiAgADUCJCADQiCIfEGIBDUCCCAEfnwhAyAAIAM+AiQgADUCKCADQiCIfEGIBDUCDCAEfnwhAyAAIAM+AiggADUCLCADQiCIfEGIBDUCECAEfnwhAyAAIAM+AiwgADUCMCADQiCIfEGIBDUCFCAEfnwhAyAAIAM+AjAgADUCNCADQiCIfEGIBDUCGCAEfnwhAyAAIAM+AjQgADUCOCADQiCIfEGIBDUCHCAEfnwhAyAAIAM+AjhB6AYgA0IgiD4CHEHoBiAAQSBqIAEQEAu+HyMBfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+QonHmaQOIQUgA0L/////D4MgADUCACIGIAE1AgAiB358IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEIIANC/////w+DQQA1AogEIgkgCH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AgQiC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AgQiCiAHfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCjAQiDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIQwgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCCCIPfnwhAyAEIANCIIh8IQQgA0L/////D4MgCiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIOIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQKQBCIRIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhECADQv////8PgyAJIBB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIMIhN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIMIhIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gEH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1ApQEIhUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEUIARC/////w+DIAkgFH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AhAiF358IQMgBCADQiCIfCEEIANC/////w+DIAogE358IQMgBCADQiCIfCEEIANC/////w+DIA4gD358IQMgBCADQiCIfCEEIANC/////w+DIBIgC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AhAiFiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCmAQiGSAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRggA0L/////D4MgCSAYfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCFCIbfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgDiATfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgFiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIaIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKcBCIdIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhHCAEQv////8PgyAJIBx+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIYIh9+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyASIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIYIh4gB358IQMgBCADQiCIfCEEIANC/////w+DIA0gHH58IQMgBCADQiCIfCEEIANC/////w+DIBEgGH58IQMgBCADQiCIfCEEIANC/////w+DIBUgFH58IQMgBCADQiCIfCEEIANC/////w+DIBkgEH58IQMgBCADQiCIfCEEIANC/////w+DIB0gDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AqAEIiEgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEgIANC/////w+DIAkgIH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhwiI358IQQgAyAEQiCIfCEDIARC/////w+DIAogH358IQQgAyAEQiCIfCEDIARC/////w+DIA4gG358IQQgAyAEQiCIfCEDIARC/////w+DIBIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBYgE358IQQgAyAEQiCIfCEDIARC/////w+DIBogD358IQQgAyAEQiCIfCEDIARC/////w+DIB4gC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhwiIiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgESAcfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgISAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCpAQiJSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DISQgBEL/////D4MgCSAkfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAogI358IQMgBCADQiCIfCEEIANC/////w+DIA4gH358IQMgBCADQiCIfCEEIANC/////w+DIBIgG358IQMgBCADQiCIfCEEIANC/////w+DIBYgF358IQMgBCADQiCIfCEEIANC/////w+DIBogE358IQMgBCADQiCIfCEEIANC/////w+DIB4gD358IQMgBCADQiCIfCEEIANC/////w+DICIgC358IQMgBCADQiCIfCEEIANC/////w+DIA0gJH58IQMgBCADQiCIfCEEIANC/////w+DIBEgIH58IQMgBCADQiCIfCEEIANC/////w+DIBUgHH58IQMgBCADQiCIfCEEIANC/////w+DIBkgGH58IQMgBCADQiCIfCEEIANC/////w+DIB0gFH58IQMgBCADQiCIfCEEIANC/////w+DICEgEH58IQMgBCADQiCIfCEEIANC/////w+DICUgDH58IQMgBCADQiCIfCEEIAIgAz4CACAEQiCIIQMgBEL/////D4MgDiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAffnwhBCADIARCIIh8IQMgBEL/////D4MgFiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgHiATfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgESAkfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgISAUfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAQfnwhBCADIARCIIh8IQMgAiAEPgIEIANCIIghBCADQv////8PgyASICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAVICR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAhIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIBR+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIBYgI358IQQgAyAEQiCIfCEDIARC/////w+DIBogH358IQQgAyAEQiCIfCEDIARC/////w+DIB4gG358IQQgAyAEQiCIfCEDIARC/////w+DICIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBkgJH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gIH58IQQgAyAEQiCIfCEDIARC/////w+DICEgHH58IQQgAyAEQiCIfCEDIARC/////w+DICUgGH58IQQgAyAEQiCIfCEDIAIgBD4CDCADQiCIIQQgA0L/////D4MgGiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgIiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAcfnwhAyAEIANCIIh8IQQgAiADPgIQIARCIIghAyAEQv////8PgyAeICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlICB+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DICIgI358IQMgBCADQiCIfCEEIANC/////w+DICUgJH58IQMgBCADQiCIfCEEIAIgAz4CGCAEQiCIIQMgAiAEPgIcIAOnBEAgAkGIBCACEAcaBSACQYgEEAUEQCACQYgEIAIQBxoLCwu7IR0BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+QonHmaQOIQZCACECQgAhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAANQIAIgcgB358IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEIIAJC/////w+DQQA1AogEIgkgCH58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AgQiCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8Pg0EANQKMBCIMIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhCyACQv////8PgyAJIAt+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIIIg1+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAKIAp+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCkAQiDyAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQ4gAkL/////D4MgCSAOfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCDCIQfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiANfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgDn58IQIgAyACQiCIfCEDIAJC/////w+DIA8gC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1ApQEIhIgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyERIAJC/////w+DIAkgEX58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhAiE358IQIgAyACQiCIfCEDIAJC/////w+DIAogEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA0gDX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAPIA5+fCECIAMgAkIgiHwhAyACQv////8PgyASIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKYBCIVIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhFCACQv////8PgyAJIBR+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIUIhZ+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBN+fCECIAMgAkIgiHwhAyACQv////8PgyANIBB+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyARfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCnAQiGCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRcgAkL/////D4MgCSAXfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCGCIZfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSATfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgECAQfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgF358IQIgAyACQiCIfCEDIAJC/////w+DIA8gFH58IQIgAyACQiCIfCEDIAJC/////w+DIBIgEX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgDn58IQIgAyACQiCIfCEDIAJC/////w+DIBggC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AqAEIhsgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEaIAJC/////w+DIAkgGn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhwiHH58IQIgAyACQiCIfCEDIAJC/////w+DIAogGX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gFn58IQIgAyACQiCIfCEDIAJC/////w+DIBAgE358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBd+fCECIAMgAkIgiHwhAyACQv////8PgyASIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAYIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAbIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKkBCIeIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhHSACQv////8PgyAJIB1+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCiAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAWfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgEyATfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgHX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gGn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgF358IQIgAyACQiCIfCEDIAJC/////w+DIBUgFH58IQIgAyACQiCIfCEDIAJC/////w+DIBggEX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgDn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gC358IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgDSAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAWfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIA8gHX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgF358IQIgAyACQiCIfCEDIAJC/////w+DIBggFH58IQIgAyACQiCIfCEDIAJC/////w+DIBsgEX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gDn58IQIgAyACQiCIfCEDIAEgAj4CBCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgECAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgFiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBIgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBggF358IQIgAyACQiCIfCEDIAJC/////w+DIBsgFH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gEX58IQIgAyACQiCIfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgEyAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBUgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBggGn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgF358IQIgAyACQiCIfCEDIAJC/////w+DIB4gFH58IQIgAyACQiCIfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgFiAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgGSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBggHX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgGn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gF358IQIgAyACQiCIfCEDIAEgAj4CECADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgGSAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBsgHX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gGn58IQIgAyACQiCIfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHCAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIB4gHX58IQIgAyACQiCIfCEDIAEgAj4CGCADIQQgBEIgiCEFIAEgBD4CHCAFpwRAIAFBiAQgARAHGgUgAUGI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QcgONQIIIAR+fCEDIAAgAz4CDCAANQIQIANCIIh8QcgONQIMIAR+fCEDIAAgAz4CECAANQIUIANCIIh8QcgONQIQIAR+fCEDIAAgAz4CFCAANQIYIANCIIh8QcgONQIUIAR+fCEDIAAgAz4CGCAANQIcIANCIIh8QcgONQIYIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QcgONQIcIAR+fCEDIAAgAz4CIEGoESADQiCIPgIEQgAhAyAANQIIIAJ+Qv////8PgyEEIAA1AgggA0IgiHxByA41AgAgBH58IQMgACADPgIIIAA1AgwgA0IgiHxByA41AgQgBH58IQMgACADPgIMIAA1AhAgA0IgiHxByA41AgggBH58IQMgACADPgIQIAA1AhQgA0IgiHxByA41AgwgBH58IQMgACADPgIUIAA1AhggA0IgiHxByA41AhAgBH58IQMgACADPgIYIAA1AhwgA0IgiHxByA41AhQgBH58IQMgACADPgIcIAA1AiAgA0IgiHxByA41AhggBH58IQMgACADPgIgIAA1AiQgA0IgiHxByA41AhwgBH58IQMgACADPgIkQagRIANCIIg+AghCACEDIAA1AgwgAn5C/////w+DIQQgADUCDCADQiCIfEHIDjUCACAEfnwhAyAAIAM+AgwgADUCECADQiCIfEHIDjUCBCAEfnwhAyAAIAM+AhAgADUCFCADQiCIfEHIDjUCCCAEfnwhAyAAIAM+AhQgADUCGCADQiCIfEHIDjUCDCAEfnwhAyAAIAM+AhggADUCHCADQiCIfEHIDjUCECAEfnwhAyAAIAM+AhwgADUCICADQiCIfEHIDjUCFCAEfnwhAyAAIAM+AiAgADUCJCADQiCIfEHIDjUCGCAEfnwhAyAAIAM+AiQgADUCKCADQiCIfEHIDjUCHCAEfnwhAyAAIAM+AihBqBEgA0IgiD4CDEIAIQMgADUCECACfkL/////D4MhBCAANQIQIANCIIh8QcgONQIAIAR+fCEDIAAgAz4CECAANQIUIANCIIh8QcgONQIEIAR+fCEDIAAgAz4CFCAANQIYIANCIIh8QcgONQIIIAR+fCEDIAAgAz4CGCAANQIcIANCIIh8QcgONQIMIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QcgONQIQIAR+fCEDIAAgAz4CICAANQIkIANCIIh8QcgONQIUIAR+fCEDIAAgAz4CJCAANQIoIANCIIh8QcgONQIYIAR+fCEDIAAgAz4CKCAANQIsIANCIIh8QcgONQIcIAR+fCEDIAAgAz4CLEGoESADQiCIPgIQQgAhAyAANQIUIAJ+Qv////8PgyEEIAA1AhQgA0IgiHxByA41AgAgBH58IQMgACADPgIUIAA1AhggA0IgiHxByA41AgQgBH58IQMgACADPgIYIAA1AhwgA0IgiHxByA41AgggBH58IQMgACADPgIcIAA1AiAgA0IgiHxByA41AgwgBH58IQMgACADPgIgIAA1AiQgA0IgiHxByA41AhAgBH58IQMgACADPgIkIAA1AiggA0IgiHxByA41AhQgBH58IQMgACADPgIoIAA1AiwgA0IgiHxByA41AhggBH58IQMgACADPgIsIAA1AjAgA0IgiHxByA41AhwgBH58IQMgACADPgIwQagRIANCIIg+AhRCACEDIAA1AhggAn5C/////w+DIQQgADUCGCADQiCIfEHIDjUCACAEfnwhAyAAIAM+AhggADUCHCADQiCIfEHIDjUCBCAEfnwhAyAAIAM+AhwgADUCICADQiCIfEHIDjUCCCAEfnwhAyAAIAM+AiAgADUCJCADQiCIfEHIDjUCDCAEfnwhAyAAIAM+AiQgADUCKCADQiCIfEHIDjUCECAEfnwhAyAAIAM+AiggADUCLCADQiCIfEHIDjUCFCAEfnwhAyAAIAM+AiwgADUCMCADQiCIfEHIDjUCGCAEfnwhAyAAIAM+AjAgADUCNCADQiCIfEHIDjUCHCAEfnwhAyAAIAM+AjRBqBEgA0IgiD4CGEIAIQMgADUCHCACfkL/////D4MhBCAANQIcIANCIIh8QcgONQIAIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QcgONQIEIAR+fCEDIAAgAz4CICAANQIkIANCIIh8QcgONQIIIAR+fCEDIAAgAz4CJCAANQIoIANCIIh8QcgONQIMIAR+fCEDIAAgAz4CKCAANQIsIANCIIh8QcgONQIQIAR+fCEDIAAgAz4CLCAANQIwIANCIIh8QcgONQIUIAR+fCEDIAAgAz4CMCAANQI0IANCIIh8QcgONQIYIAR+fCEDIAAgAz4CNCAANQI4IANCIIh8QcgONQIcIAR+fCEDIAAgAz4COEGoESADQiCIPgIcQagRIABBIGogARAmC74fIwF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5C/////w4hBSADQv////8PgyAANQIAIgYgATUCACIHfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIQggA0L/////D4NBADUCyA4iCSAIfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCBCILfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIKIAd+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQLMDiINIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhDCAEQv////8PgyAJIAx+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIIIg9+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIIIg4gB358IQMgBCADQiCIfCEEIANC/////w+DIA0gDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AtAOIhEgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEQIANC/////w+DIAkgEH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AgwiE358IQQgAyAEQiCIfCEDIARC/////w+DIAogD358IQQgAyAEQiCIfCEDIARC/////w+DIA4gC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AgwiEiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUC1A4iFSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRQgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCECIXfnwhAyAEIANCIIh8IQQgA0L/////D4MgCiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECIWIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQLYDiIZIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhGCADQv////8PgyAJIBh+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIUIht+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIUIhogB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gGH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgFH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1AtwOIh0gCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEcIARC/////w+DIAkgHH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AhgiH358IQMgBCADQiCIfCEEIANC/////w+DIAogG358IQMgBCADQiCIfCEEIANC/////w+DIA4gF358IQMgBCADQiCIfCEEIANC/////w+DIBIgE358IQMgBCADQiCIfCEEIANC/////w+DIBYgD358IQMgBCADQiCIfCEEIANC/////w+DIBogC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AhgiHiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUC4A4iISAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DISAgA0L/////D4MgCSAgfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCHCIjfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAffnwhBCADIARCIIh8IQMgBEL/////D4MgDiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgFiATfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgHiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCIiIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQLkDiIlIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhJCAEQv////8PgyAJICR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgCiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgEiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAMfnwhAyAEIANCIIh8IQQgAiADPgIAIARCIIghAyAEQv////8PgyAOICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyARICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBB+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIBIgI358IQMgBCADQiCIfCEEIANC/////w+DIBYgH358IQMgBCADQiCIfCEEIANC/////w+DIBogG358IQMgBCADQiCIfCEEIANC/////w+DIB4gF358IQMgBCADQiCIfCEEIANC/////w+DICIgE358IQMgBCADQiCIfCEEIANC/////w+DIBUgJH58IQMgBCADQiCIfCEEIANC/////w+DIBkgIH58IQMgBCADQiCIfCEEIANC/////w+DIB0gHH58IQMgBCADQiCIfCEEIANC/////w+DICEgGH58IQMgBCADQiCIfCEEIANC/////w+DICUgFH58IQMgBCADQiCIfCEEIAIgAz4CCCAEQiCIIQMgBEL/////D4MgFiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAffnwhBCADIARCIIh8IQMgBEL/////D4MgHiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAkfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgISAcfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAYfnwhBCADIARCIIh8IQMgAiAEPgIMIANCIIghBCADQv////8PgyAaICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAdICR+fCEDIAQgA0IgiHwhBCADQv////8PgyAhICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIBx+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIB4gI358IQQgAyAEQiCIfCEDIARC/////w+DICIgH358IQQgAyAEQiCIfCEDIARC/////w+DICEgJH58IQQgAyAEQiCIfCEDIARC/////w+DICUgIH58IQQgAyAEQiCIfCEDIAIgBD4CFCADQiCIIQQgA0L/////D4MgIiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAkfnwhAyAEIANCIIh8IQQgAiADPgIYIARCIIghAyACIAQ+AhwgA6cEQCACQcgOIAIQBxoFIAJByA4QBQRAIAJByA4gAhAHGgsLC7shHQF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5C/////w4hBkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQggAkL/////D4NBADUCyA4iCSAIfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCBCIKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DQQA1AswOIgwgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyELIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AggiDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLQDiIPIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhDiACQv////8PgyAJIA5+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIMIhB+fCECIAMgAkIgiHwhAyACQv////8PgyAKIA1+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC1A4iEiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIREgAkL/////D4MgCSARfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCECITfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgDSANfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgEX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gDn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AtgOIhUgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEUIAJC/////w+DIAkgFH58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhQiFn58IQIgAyACQiCIfCEDIAJC/////w+DIAogE358IQIgAyACQiCIfCEDIAJC/////w+DIA0gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBF+fCECIAMgAkIgiHwhAyACQv////8PgyASIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAVIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLcDiIYIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhFyACQv////8PgyAJIBd+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIYIhl+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyANIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAQIBB+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiARfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC4A4iGyAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRogAkL/////D4MgCSAafnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCHCIcfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgECATfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgGn58IQIgAyACQiCIfCEDIAJC/////w+DIA8gF358IQIgAyACQiCIfCEDIAJC/////w+DIBIgFH58IQIgAyACQiCIfCEDIAJC/////w+DIBUgEX58IQIgAyACQiCIfCEDIAJC/////w+DIBggDn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AuQOIh4gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEdIAJC/////w+DIAkgHX58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAKIBx+fCECIAMgAkIgiHwhAyACQv////8PgyANIBl+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBZ+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyATIBN+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAafnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCARfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiALfnwhAiADIAJCIIh8IQMgASACPgIAIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyANIBx+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBl+fCECIAMgAkIgiHwhAyACQv////8PgyATIBZ+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDyAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAafnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyARfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAOfnwhAiADIAJCIIh8IQMgASACPgIEIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAQIBx+fCECIAMgAkIgiHwhAyACQv////8PgyATIBl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAWIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgEiAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAafnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiARfnwhAiADIAJCIIh8IQMgASACPgIIIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyATIBx+fCECIAMgAkIgiHwhAyACQv////8PgyAWIBl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgFSAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAafnwhAiADIAJCIIh8IQMgAkL/////D4MgGyAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAUfnwhAiADIAJCIIh8IQMgASACPgIMIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAWIBx+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAZIBl+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgGCAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyAafnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAXfnwhAiADIAJCIIh8IQMgASACPgIQIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAZIBx+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgGyAdfnwh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NwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWAscACABQcAAahAcIABBIGogAUEgahAAIAAgARAACxgBAX8gACABEAQgAEEgaiABQSBqEARxDwt1AQF/IABBwABqIQIgABBABEAgARA/DwsgARA/BEBBAA8LIAIQDwRAIAAgARBGDwsgAkHIGRAVIAFByBlB6BkQFCACQcgZQYgaEBQgAUEgakGIGkGoGhAUIABB6BkQBARAIABBIGpBqBoQBARAQQEPCwtBAA8LtAECAX8BfyAAQcAAaiECIAFBwABqIQMgABBABEAgARBADwsgARBABEBBAA8LIAIQDwRAIAEgABBHDwsgAxAPBEAgACABEEcPCyACQcgaEBUgA0HoGhAVIABB6BpBiBsQFCABQcgaQagbEBQgAkHIGkHIGxAUIANB6BpB6BsQFCAAQSBqQegbQYgcEBQgAUEgakHIG0GoHBAUQYgbQagbEAQEQEGIHEGoHBAEBEBBAQ8LC0EADwvoAQAgABA/BEAgACABEEUPCyAAQcgcEBUgAEEgakHoHBAVQegcQYgdEBUgAEHoHEGoHRAQQagdQagdEBVBqB1ByBxBqB0QEUGoHUGIHUGoHRARQagdQagdQagdEBBByBxByBxByB0QEEHIHUHIHEHIHRAQIABBIGogAEEgaiABQcAAahAQQcgdIAEQFSABQagdIAEQESABQagdIAEQEUGIHUGIHUHoHRAQQegdQegdQegdEBBB6B1B6B1B6B0QEEGoHSABIAFBIGoQESABQSBqQcgdIAFBIGoQFCABQSBqQegdIAFBIGoQEQuJAgAgABBABEAgACABEEQPCyAAQcAAahAPBEAgACABEEkPDwsgAEGIHhAVIABBIGpBqB4QFUGoHkHIHhAVIABBqB5B6B4QEEHoHkHoHhAVQegeQYgeQegeEBFB6B5ByB5B6B4QEUHoHkHoHkHoHhAQQYgeQYgeQYgfEBBBiB9BiB5BiB8QEEGIH0GoHxAVIABBIGogAEHAAGpByB8QFEHoHkHoHiABEBBBqB8gASABEBFByB5ByB5B6B8QEEHoH0HoH0HoHxAQQegfQegfQegfEBBB6B4gASABQSBqEBEgAUEgakGIHyABQSBqEBQg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BEAgABAZDwsgAEEgahAZDwuLAgQBfwF/AX8Bf0EAKAIAIQVBACAFIAJBAWpBwABsajYCACAFEH8gACEGIAVBwABqIQVBACEIAkADQCAIIAJGDQEgBhB8BEAgBUHAAGsgBRCAAQUgBiAFQcAAayAFEIEBCyAGIAFqIQYgBUHAAGohBSAIQQFqIQgMAAsLIAYgAWshBiAFQcAAayEFIAMgAkEBayAEbGohByAFIAUQiwECQANAIAhFDQEgBhB8BEAgBSAFQcAAaxCAASAHEH4FIAVBwABrQejKABCAASAFIAYgBUHAAGsQgQEgBUHoygAgBxCBAQsgBiABayEGIAcgBGshByAFQcAAayEFIAhBAWshCAwACwtBACAFNgIAC8wCAgF/AX8gAkUEQCADEH8PCyAAQajLABCAASADEH8gAiEEAkADQCAEQQFrIQQgASAEai0AACEFIAMgAxCDASAFQYABTwRAIAVBgAFrIQUgA0GoywAgAxCBAQsgAyADEIMBIAVBwABPBEAgBUHAAGshBSADQajLACADEIEBCyADIAMQgwEgBUEgTwRAIAVBIGshBSADQajLACADEIEBCyADIAMQgwEgBUEQTwRAIAVBEGshBSADQajLACADEIEBCyADIAMQgwEgBUEITwRAIAVBCGshBSADQajLACADEIEBCyADIAMQgwEgBUEETwRAIAVBBGshBSADQajLACADEIEBCyADIAMQgwEgBUECTwRAIAVBAmshBSADQajLACADEIEBCyADIAMQgwEgBUEBTwRAIAVBAWshBSADQajLACADEIEBCyAERQ0BDAALCwvLAQBB6M0AEH9B6M0AQejNABCGASAAQejLAEEgQajMABCQAUGozABB6MwAEIMBIABB6MwAQejMABCBAUHozABBqM0AEIcBQajNAEHozABBqM0AEIEBQajNAEHozQAQigEEQAALQajMACAAQajOABCBAUHozABB6M0AEIoBBEBB6M0AEAFBiM4AEBxB6M0AQajOACABEIEBBUHozgAQf0HozgBB6MwAQejOABCEAUHozgBBiMwAQSBB6M4AEJABQejOAEGozgAgARCBAQsLaABBiNEAEH9BiNEAQYjRABCGASAAQajPAEEgQcjPABCQAUHIzwBBiNAAEIMBIABBiNAAQYjQABCBAUGI0ABByNAAEIcBQcjQAEGI0ABByNAAEIEBQcjQAEGI0QAQigEEQEEADwtBAQ8LDwAgABB8IABBwABqEHxxCwoAIABBgAFqEHwLDgAgABB+IABBwABqEH4LFgAgABB+IABBwABqEH8gAEGAAWoQfguiAQAgASAAKQMANwMAIAEgACkDCDcDCCABIAApAxA3AxAgASAAKQMYNwMYIAEgACkDIDcDICABIAApAyg3AyggASAAKQMwNwMwIAEgACkDODcDOCABIAApA0A3A0AgASAAKQNINwNIIAEgACkDUDcDUCABIAApA1g3A1ggASAAKQNgNwNgIAEgACkDaDcDaCABIAApA3A3A3AgASAAKQN4NwN4C4ICACABIAApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggASAAKQMgNwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWCABIAApA2A3A2AgASAAKQNoNwNoIAEgACkDcDcDcCABIAApA3g3A3ggASAAKQOAATcDgAEgASAAKQOIATcDiAEgASAAKQOQATcDkAEgASAAKQOYATcDmAEgASAAKQOgATcDoAEgASAAKQOoATcDqAEgASAAKQOwATcDsAEgASAAKQO4ATcDuAELIAAgAUGAAWoQfyAAQcAAaiABQcAAahCAASAAIAEQgAELHAEBfyAAIAEQigEgAEHAAGogAUHAAGoQigFxDwuKAQEBfyAAQYABaiECIAAQlAEEQCABEJMBDwsgARCTAQRAQQAPCyACEH0EQCAAIAEQmgEPCyACQYjSABCDASABQYjSAEHI0gAQgQEgAkGI0gBBiNMAEIEBIAFBwABqQYjTAEHI0wAQgQEgAEHI0gAQigEEQCAAQcAAakHI0wAQigEEQEEBDwsLQQAPC9cBAgF/AX8gAEGAAWohAiABQYABaiEDIAAQlAEEQCABEJQBDwsgARCUAQRAQQAPCyACEH0EQCABIAAQmwEPCyADEH0EQCAAIAEQmwEPCyACQYjUABCDASADQcjUABCDASAAQcjUAEGI1QAQgQEgAUGI1ABByNUAEIEBIAJBiNQAQYjWABCBASADQcjUAEHI1gAQgQEgAEHAAGpByNYAQYjXABCBASABQcAAakGI1gBByNcA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DwsWACAAEH4gAEHAAGoQfiAAQYABahB+CxYAIAAQfyAAQcAAahB+IABBgAFqEH4LJwAgACABEIABIABBwABqIAFBwABqEIABIABBgAFqIAFBgAFqEIABC+UCACAAIAFByMcBEIEBIABBwABqIAFBwABqQYjIARCBASAAQYABaiABQYABakHIyAEQgQEgACAAQcAAakGIyQEQhAEgASABQcAAakHIyQEQhAEgACAAQYABakGIygEQhAEgASABQYABakHIygEQhAEgAEHAAGogAEGAAWpBiMsBEIQBIAFBwABqIAFBgAFqQcjLARCEAUHIxwFBiMgBQYjMARCEAUHIxwFByMgBQcjMARCEAUGIyAFByMgBQYjNARCEAUGIywFByMsBIAIQgQEgAkGIzQEgAhCFASACIAIQ3wFByMcBIAIgAhCEAUGIyQFByMkBIAJBwABqEIEBIAJBwABqQYjMASACQcAAahCFAUHIyAFByM0BEN8BIAJBwABqQcjNASACQcAAahCEAUGIygFByMoBIAJBgAFqEIEBIAJBgAFqQcjMASACQYABahCFASACQYABakGIyAEgAkGAAWoQhAELgQIAIABBiM4BEIMBIAAgAEHAAGpByM4BEIEBQcjOAUHIzgFBiM8BEIQBIAAgAEHAAGpByM8BEIUBQcjPASAAQYABakHIzwEQhAFByM8BQcjPARCDASAAQcAAaiAAQYABakGI0AEQgQFBiNABQYjQAUHI0AEQhAEgAEGAAWpBiNEBEIMBQcjQASABEN8BQYjOASABIAEQhAFBiNEBIAFBwABqEN8BQYjPASABQcAAaiABQcAAahCEAUGIzgFBiNEBIAFBgAFqEIQBQcjQASABQYABaiABQYABahCFAUHIzwEgAUGAAWogAUGAAWoQhAFBiM8BIAFBgAFqIAFBgAFqEIQBCzUAIAAgASACEIQBIABBwABqIAFBwABqIAJBwABqEIQBIABBgAFqIAFBgAFqIAJBgAFqEIQBCzUAIAAgASACEIUBIABBwABqIAFBwABqIAJBwABqEIUBIABBgAFqIAFBgAFqIAJBgAFqEIUBCycAIAAgARCGASAAQcAAaiABQcAAahCGASAAQYABaiABQYABahCGAQswAQF/IABBgAFqEI0BIQEgAQRAIAEPCyAAQcAAahCNASEBIAEEQCABDwsgABCNAQ8LJwAgACABEIgBIABBwABqIAFBwABqEIgBIABBgAFqIAFBgAFqEIgBCycAIAAgARCJASAAQcAAaiABQcAAahCJASAAQYABaiABQYABahCJAQspACAAIAEQigEgAEHAAGogAUHAAGoQigFxIABBgAFqIAFBgAFqEIoBcQurAgAgAEHI0QEQgwEgAEHAAGpBiNIBEIMBIABBgAFqQcjSARCDASAAIABBwABqQYjTARCBASAAIABBgAFqQcjTARCBASAAQcAAaiAAQYABakGI1AEQgQFBiNQBQcjUARDfAUHI0QFByNQBQcjUARCFAUHI0gFBiNUBEN8BQYjVAUGI0wFBiNUBEIUBQYjSAUHI0wFByNUBEIUBIABBgAFqQYjVAUGI1gEQgQEgAEHAAGpByNUBQcjWARCBAUGI1gFByNYBQYjWARCEAUGI1gFBiNYBEN8BIABByNQBQcjWARCBAUHI1gFBiNYBQYjWARCEAUGI1gFBiNYBEIsBQYjWAUHI1AEgARCBAUGI1gFBiNUBIAFBwABqEIEBQYjWAUHI1QEgAUGAAWoQgQELMwAgACABIAIgAxCMASAAQcAAaiABIAIgA0HAAGoQjAEgAEGAAWogASACIANBgAFqEIwBCzMAIABBgAFqEHwEQCAAQcAAahB8BEAgABCOAQ8FIABBwABqEI4BDwsLIABBgAFqEI4BDwuPAgQBfwF/AX8Bf0EAKAIAIQVBACAFIAJBAWpBwAFsajYCACAFEOMBIAAhBiAFQcABaiEFQQAhCAJAA0AgCCACRg0BIAYQ4AEEQCAFQcABayAFEOQBBSAGIAVBwAFrIAUQ5QELIAYgAWohBiAFQcABaiEFIAhBAWohCAwACwsgBiABayEGIAVBwAFrIQUgAyACQQFrIARsaiEHIAUgBRDuAQJAA0AgCEUNASAGEOABBEAgBSAFQcABaxDkASAHEOIBBSAFQcABa0GI1wEQ5AEgBSAGIAVBwAFrEOUBIAVBiNcBIAcQ5QELIAYgAWshBiAHIARrIQcgBUHAAWshBSAIQQFrIQgMAAsLQQAgBTYCAAvOAgIBfwF/IAJFBEAgAxDjAQ8LIABByNgBEOQBIAMQ4wEgAiEEAkADQCAEQQFrIQQgASAEai0AACEFIAMgAxDmASAFQYABTwRAIAVBgAFrIQUgA0HI2AEgAxDlAQsgAyADEOYBIAVBwABPBEAgBUHAAGshBSADQcjYASADEOUBCyADIAMQ5gEgBUEgTwRAIAVBIGshBSADQcjYASADEOUBCyADIAMQ5gEgBUEQTwRAIAVBEGshBSADQcjYASADEOUBCyADIAMQ5gEgBUEITwRAIAVBCGshBSADQcjYASADEOUBCyADIAMQ5gEgBUEETwRAIAVBBGshBSADQcjYASADEOUBCyADIAMQ5gEgBUECTwRAIAVBAmshBSADQcjYASADEOUBCyADIAMQ5gEgBUEBTwRAIAVBAWshBSADQcjYASADEOUBCyAERQ0BDAALCwsrAEGIxgEgAEGAAWogARCBASAAIAFBwABqEIABIABBwABqIAFBgAFqEIABCxEAIAAQ4AEgAEHAAWoQ4AFxCxIAIAAQ4QEgAEHAAWoQ4AFxDwsQACAAEOIBIABBwAFqEOIBCxAAIAAQ4wEgAEHAAWoQ4gELGAAgACABEOQBIABBwAFqIAFBwAFqEOQBC4UBACAAIAFBiNoBEOUBIABBwAFqIAFBwAFqQcjbARDlASAAIABBwAFqQYjdARDnASABIAFBwAFqQcjeARDnAUGI3QFByN4BQYjdARDlAUHI2wEgAhDzAUGI2gEgAiACEOcBQYjaAUHI2wEgAkHAAWoQ5wFBiN0BIAJBwAFqIAJBwAFqEOgBCxwAIAAgASACEOUBIABBwAFqIAEgAkHAAWoQ5QELfQAgACAAQcABakGI4AEQ5QEgACAAQcABakHI4QEQ5wEgAEHAAWpBiOMBEPMBIABBiOMBQYjjARDnAUGI4AFByOQBEPMBQcjkAUGI4AFByOQBEOcBQcjhAUGI4wEgARDlASABQcjkASABEOgBQYjgAUGI4AEgAUHAAWoQ5wELIAAgACABIAIQ5wEgAEHAAWogAUHAAWogAkHAAWoQ5wELIAAgACABIAIQ6AEgAEHAAWogAUHAAWogAkHAAWoQ6AELGAAgACABEOkBIABBwAFqIAFBwAFqEOkBCxgAIAAgARDkASAAQcABaiABQcABahDpAQsYACAAIAEQ6wEgAEHAAWogAUHAAWoQ6wELGAAgACABEOwBIABBwAFqIAFBwAFqEOwBCxkAIAAgARDtASAAQcABaiABQcABahDtAXELagAgAEGI5gEQ5gEgAEHAAWpByOcBEOYBQcjnAUGI6QEQ8wFBiOYBQYjpAUGI6QEQ6AFBiOkBQcjqARDuASAAQcjqASABEOUBIABBwAFqQcjqASABQcABahDlASABQcABaiABQcABahDpAQsgACAAIAEgAiADEO8BIABBwAFqIAEgAiADQcABahDvAQsdAQF/IABBwAFqEOoBIQEgAQRAIAEPCyAAEOoBDwseACAAQcABahDgAQRAIAAQ8AEPCyAAQcABahDwAQ8LjwIEAX8BfwF/AX9BACgCACEFQQAgBSACQQFqQYADbGo2AgAgBRD3ASAAIQYgBUGAA2ohBUEAIQgCQANAIAggAkYNASAGEPQBBEAgBUGAA2sgBRD4AQUgBiAFQYADayAFEPkBCyAGIAFqIQYgBUGAA2ohBSAIQQFqIQgMAAsLIAYgAWshBiAFQYADayEFIAMgAkEBayAEbGohByAFIAUQgwICQANAIAhFDQEgBhD0AQRAIAUgBUGAA2sQ+AEgBxD2AQUgBUGAA2tBiOwBEPgBIAUgBiAFQYADaxD5ASAFQYjsASAHEPkBCyAGIAFrIQYgByAEayEHIAVBgANrIQUgCEEBayEIDAALC0EAIAU2AgALzgICAX8BfyACRQRAIAMQ9wEPCyAAQYjvARD4ASADEPcBIAIhBAJAA0AgBEEBayEEIAEgBGotAAAhBSADIAMQ+wEgBUGAAU8EQCAFQYABayEFIANBiO8BIAMQ+QELIAMgAxD7ASAFQcAATwRAIAVBwABrIQUgA0GI7wEgAxD5AQsgAyADEPsBIAVBIE8EQCAFQSBrIQUgA0GI7wEgAxD5AQsgAyADEPsBIAVBEE8EQCAFQRBrIQUgA0GI7wEgAxD5AQsgAyADEPsBIAVBCE8EQCAFQQhrIQUgA0GI7wEgAxD5AQsgAyADEPsBIAVBBE8EQCAFQQRrIQUgA0GI7wEgAxD5AQsgAyADEPsBIAVBAk8EQCAFQQJrIQUgA0GI7wEgAxD5AQsgAyADEPsBIAVBAU8EQCAFQQFrIQUgA0GI7wEgAxD5AQsgBEUNAQwACwsL0QEAQYj+ARD3AUGI/gFBiP4BEP4BIABBiPIBQcABQYj1ARCIAkGI9QFBiPgBEPsBIABBiPgBQYj4ARD5AUGI+AFBiPsBEP8BQYj7AUGI+AFBiPsBEPkBQYj7AUGI/gEQggIEQAALQYj1ASAAQYiBAhD5AUGI+AFBiP4BEIICBEBBiP4BEOIBQcj/ARDjAUGI/gFBiIECIAEQ+QEFQYiEAhD3AUGIhAJBiPgBQYiEAhD8AUGIhAJByPMBQcABQYiEAhCIAkGIhAJBiIECIAEQ+QELC2oAQciRAhD3AUHIkQJByJECEP4BIABBiIcCQcABQciIAhCIAkHIiAJByIsCEPsBIABByIsCQciLAhD5AUHIiwJByI4CEP8BQciOAkHIiwJByI4CEPkBQciOAkHIkQIQggIEQEEADwtBAQ8L4wIAIAAgAUGAAWogAkHAAGoQgQEgASACQcAAaiACQcAAahCFASAAQcAAaiABQYABakGQsQMQgQEgAUHAAGpBkLEDQZCxAxCFASACQcAAakHQsQMQgwFBkLEDQZCyAxCDASACQcAAakHQsQNB0LIDEIEBIAFB0LEDQZCzAxCBAUGQswNBkLMDQZC0AxCEASABQYABakGQsgNB0LMDEIEBQdCyA0HQswNB0LMDEIQBQdCzA0GQtANB0LMDEIUBIAJBwABqQdCzAyABEIEBQdCyAyABQcAAaiABQcAAahCBAUGQswNB0LMDQZC0AxCFAUGQsQNBkLQDQZC0AxCBAUGQtAMgAUHAAGogAUHAAGoQhQEgAUGAAWpB0LIDIAFBgAFqEIEBIAJBwABqIABBwABqQZC0AxCBAUGQsQMgACACEIEBIAJBkLQDIAIQhQEgAkGIxgEgAhCBAUGQsQMgAkGAAWoQhgELqwMAIABBwABqQcjGAUHQtAMQgQEgAEHQtANB0LQDEIEBIABBwABqQZC1AxCDASAAQYABakHQtQMQgwFB0LUDQdC1A0GQtgMQhAFBkLYDQdC1A0GQtgMQhAFBiMcBQZC2A0HQtgMQgQFB0LYDQdC2A0GQtwMQhAFB0LYDQZC3A0GQtwMQhAFBkLUDQZC3A0HQtwMQhAFB0LcDQcjGAUHQtwMQgQFBkLUDQdC1A0GQugMQhAEgAEHAAGogAEGAAWpBkLgDEIQBQZC4A0GQuAMQgwFBkLgDQZC6A0GQuAMQhQFB0LYDQZC1A0HQuAMQhQEgAEGQuQMQgwFB0LYDQdC5AxCDAUGQtQNBkLcDQZC6AxCFAUHQtANBkLoDIAAQgQFB0LkDQdC5A0GQugMQhAFB0LkDQZC6A0GQugMQhAFB0LcDIABBwABqEIMBIABBwABqQZC6AyAAQcAAahCFAUGQtQNBkLgDIABBgAFqEIEBQYjGAUHQuAMgARCBAUGQuAMgAUHAAGoQhgFBkLkDQZC5AyABQYABahCEAUGQuQMgAUGAAWogAUGAAWoQhAELCAAgACABEFkLRQAgACABEIcBQdC6AyABIAEQgQEgAEHAAGogAUHAAGoQhwFBkLsDIAFBwABqIAFBwABqEIEBIABBgAFqIAFBgAFqEIcBC8wBAgF/AX8gACABQQBqEK0BIAFBAGpB0LsDEIABIAFBwABqQZC8AxCAAUHQvAMQfyABQcABaiECQT8hAwJAA0BB0LsDIAIQjAIgAkHAAWohAiADLADIlAIEQCABQQBqQdC7AyACEIsCIAJBwAFqIQILIANFDQEgA0EBayEDDAALCyABQQBqQZC9AxCOAkGQvQNB0L4DEI4CQZC/A0GQvwMQhgFBkL0DQdC7AyACEIsCIAJBwAFqIQJB0L4DQdC7AyACEIsCIAJBwAFqIQILsAUAIAMgAEGQwwMQgQEgA0GAAWogAkHQwwMQgQEgA0GAAmogAUGQxAMQgQEgAyADQYACakGQwQMQhAEgAyADQYABakHQwAMQhAEgA0HAAGogA0HAAWpB0MEDEIQBQdDBAyADQcACakHQwQMQhAEgA0HAAGogAkHQxAMQgQFB0MQDQZDEA0GQwgMQhAFBiMYBQZDCA0HQwgMQgQFB0MIDQZDDAyADEIQBIANBwAJqIAFBkMIDEIEBQdDEA0GQwgNB0MQDEIQBQZDCA0HQwwNBkMIDEIQBQYjGAUGQwgNB0MIDEIEBIANBwABqIABBkMIDEIEBQdDEA0GQwgNB0MQDEIQBQdDCA0GQwgMgA0HAAGoQhAEgACACQZDAAxCEAUHQwANBkMADQZDCAxCBAUGQwwNB0MMDQZDFAxCEAUGQwgNBkMUDQZDCAxCFASADQcABaiABQdDCAxCBAUHQxANB0MIDQdDEAxCEASADQYABaiADQYACakGQwAMQhAFBkMIDQdDCAyADQYABahCEASACIAFB0MADEIQBQdDAA0GQwANBkMIDEIEBQdDDA0GQxANBkMUDEIQBQZDCA0GQxQNBkMIDEIUBQYjGAUGQwgNB0MIDEIEBIANBwAFqIABBkMIDEIEBQdDEA0GQwgNB0MQDEIQBQdDCA0GQwgMgA0HAAWoQhAEgA0HAAmogAkGQwgMQgQFB0MQDQZDCA0HQxAMQhAFBiMYBQZDCA0HQwgMQgQEgACABQZDAAxCEAUGQwQNBkMADQZDCAxCBAUGQwwNBkMQDQZDFAxCEAUGQwgNBkMUDQZDCAxCFAUHQwgNBkMIDIANBgAJqEIQBIAAgAkGQwAMQhAFBkMADIAFBkMADEIQBQdDBA0GQwANBkMIDEIEBQZDCA0HQxAMgA0HAAmoQhQELOgAgAEHQxQMQgAFBkMYDEH4gAkHQxgMQgAFBkMcDEH4gAUHQxwMQgAFBkMgDEH5B0MUDIAMgAxD5AQucAgIBfwF/IAIQ9wEgAUHAAWohA0E/IQQCQANAIAIgAhD7ASADQcAAaiAAQSBqQdDIAxCCASADQYABaiAAQZDJAxCCASADQdDIA0GQyQMgAhCQAiADQcABaiEDIAQsAMiUAgRAIANBwABqIABBIGpB0MgDEIIBIANBgAFqIABBkMkDEIIBIANB0MgDQZDJAyACEJACIANBwAFqIQMLIARFDQEgBEEBayEEDAALCyADQcAAaiAAQSBqQdDIAxCCASADQYABaiAAQZDJAxCCASADQdDIA0GQyQMgAhCQAiADQcABaiEDIANBwABqIABBIGpB0MgDEIIBIANBgAFqIABBkMkDEIIBIANB0MgDQZDJAyACEJACIANBwAFqIQMLbAAgAEHQyQMgARCBASAAQcAAakGQygMgAUHAAGoQgQEgAEGAAWpB0MoDIAFBgAFqEIEBIABBwAFqQZDLAyABQcABahCBASAAQYACakHQywMgAUGAAmoQgQEgAEHAAmpBkMwDIAFBwAJqEIEBC4oCACAAIAEQACAAQSBqIAFBIGoQEiABQdDMAyABEIEBIABBwABqIAFBwABqEAAgAEHgAGogAUHgAGoQEiABQcAAakGQzQMgAUHAAGoQgQEgAEGAAWogAUGAAWoQACAAQaABaiABQaABahASIAFBgAFqQdDNAyABQYABahCBASAAQcABaiABQcABahAAIABB4AFqIAFB4AFqEBIgAUHAAWpBkM4DIAFBwAFqEIEBIABBgAJqIAFBgAJqEAAgAEGgAmogAUGgAmoQEiABQYACakHQzgMgAUGAAmoQgQEgAEHAAmogAUHAAmoQACAAQeACaiABQeACahASIAFBwAJqQZDPAyABQcACahCBAQtsACAAQdDPAyABEIEBIABBwABqQZDQAyABQcAAahCBASAAQYABakHQ0AMgAUGAAWoQgQEgAEHAAWpBkNEDIAFBwAFqEIEBIABBgAJqQdDRAyABQYACahCBASAAQcACakGQ0gMgAUHAAmoQgQELigIAIAAgARAAIABBIGogAUEgahASIAFB0NIDIAEQgQEgAEHAAGogAUHAAGoQACAAQeAAaiABQeAAahASIAFBwABqQZDTAyABQcAAahCBASAAQYABaiABQYABahAAIABBoAFqIAFBoAFqEBIgAUGAAWpB0NMDIAFBgAFqEIEBIABBwAFqIAFBwAFqEAAgAEHgAWogAUHgAWoQEiABQcABakGQ1AMgAUHAAWoQgQEgAEGAAmogAUGAAmoQACAAQaACaiABQaACahASIAFBgAJqQdDUAyABQYACahCBASAAQcACaiABQcACahAAIABB4AJqIAFB4AJqEBIgAUHAAmpBkNUDIAFBwAJqEIEBC2wAIABB0NUDIAEQgQEgAEHAAGpBkNYDIAFBwABqEIEBIABBgAFqQdDWAyABQYABahCBASAAQcABakGQ1wMgAUHAAWoQgQEgAEGAAmpB0NcDIAFBgAJqEIEBIABBwAJqQZDYAyABQcACahCBAQuKAgAgACABEAAgAEEgaiABQSBqEBIgAUHQ2AMgARCBASAAQcAAaiABQcAAahAAIABB4ABqIAFB4ABqEBIgAUHAAGpBkNkDIAFBwABqEIEBIABBgAFqIAFBgAFqEAAgAEGgAWogAUGgAWoQEiABQYABakHQ2QMgAUGAAWoQgQEgAEHAAWogAUHAAWoQACAAQeABaiABQeABahASIAFBwAFqQZDaAyABQcABahCBASAAQYACaiABQYACahAAIABBoAJqIAFBoAJqEBIgAUGAAmpB0NoDIAFBgAJqEIEBIABBwAJqIAFBwAJqEAAgAEHgAmogAUHgAmoQEiABQcACakGQ2wMgAUHAAmoQgQELbAAgAEHQ2wMgARCBASAAQcAAakGQ3AMgAUHAAGoQgQEgAEGAAWpB0NwDIAFBgAFqEIEBIABBwAFqQZDdAyABQcABahCBASAAQYACakHQ3QMgAUGAAmoQgQEgAEHAAmpBkN4DIAFBwAJqEIEBC4oCACAAIAEQACAAQSBqIAFBIGoQEiABQdDeAyABEIEBIABBwABqIAFBwABqEAAgAEHgAGogAUHgAGoQEiABQcAA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",pq:520,pr:1864,pG1gen:24392,pG1zero:24488,pG1b:3240,pG2gen:24584,pG2zero:24776,pG2b:10440,pOneT:24968,prePSize:192,preQSize:19776,n8q:32,n8r:32,q:"21888242871839275222246405745257275088696311157297823662689037894645226208583",r:"21888242871839275222246405745257275088548364400416034343698204186575808495617"},bls12381_wasm:{code:"AGFzbQEAAAABiQERYAJ/fwBgAX8AYAF/AX9gAn9/AX9gA39/fwF/YAN/f38AYAN/fn8AYAJ/fgBgBH9/f38AYAV/f39/fwBgBH9/f38Bf2AHf39/f39/fwBgCH9/f39/f39/AGAFf39/f38Bf2AHf39/f39/fwF/YAl/f39/f39/f38Bf2ALf39/f39/f39/f38BfwIQAQNlbnYGbWVtb3J5AgDoBwO5ArcCAAECAQMDBAQFAAAGBwgFAgUFAAAFAAAAAAICAAEFCAkFBQgAAgABAgEDAwQEBQAABgcIBQIFBQAABQAAAAACAgABBQgJBQUIAAIFAAACAgIBAQAAAAMDAwAABQUFAAAFBQUAAAAAAAUABQAAAAAFBQUFBQoACwkKAAsJCAgDAAgIAgAACQUFAAgMCQICAQEABQUABQUAAAAAAwAIAgIJCAACAgIBAQAAAAMDAwAABQUFAAAFBQUAAAAAAAUABQAAAAAFBQUFBQoACwkKAAsJCAgFAwAICAIAAAkFBQUDAAgIAgAACQUFBQUJCQkJCQACAgEBAAUABQUAAgAAAwAIAgkIAAICAQEABQUABQUAAAAAAwAIAgIJCAACBQgJBQAAAAAAAAAAAAAFAAAABQAAAAAEDQ4PEAUHviSoAglpbnRxX2NvcHkAAAlpbnRxX3plcm8AAQhpbnRxX29uZQADC2ludHFfaXNaZXJvAAIHaW50cV9lcQAECGludHFfZ3RlAAUIaW50cV9hZGQABghpbnRxX3N1YgAHCGludHFfbXVsAAgLaW50cV9zcXVhcmUACQ5pbnRxX3NxdWFyZU9sZAAKCGludHFfZGl2AA0PaW50cV9pbnZlcnNlTW9kAA4IZjFtX2NvcHkAAAhmMW1femVybwABCmYxbV9pc1plcm8AAgZmMW1fZXEABAdmMW1fYWRkABAHZjFtX3N1YgARB2YxbV9uZWcAEg5mMW1faXNOZWdhdGl2ZQAZCWYxbV9pc09uZQAPCGYxbV9zaWduABoLZjFtX21SZWR1Y3QAEwdmMW1fbXVsABQKZjFtX3NxdWFyZQAVDWYxbV9zcXVhcmVPbGQAFhJmMW1fZnJvbU1vbnRnb21lcnkAGBBmMW1fdG9Nb250Z29tZXJ5ABcLZjFtX2ludmVyc2UAGwdmMW1fb25lABwIZjFtX2xvYWQAHQ9mMW1fdGltZXNTY2FsYXIAHgdmMW1fZXhwACIQZjFtX2JhdGNoSW52ZXJzZQAfCGYxbV9zcXJ0ACMMZjFtX2lzU3F1YXJlACQVZjFtX2JhdGNoVG9Nb250Z29tZXJ5ACAXZjFtX2JhdGNoRnJvbU1vbnRnb21lcnkAIQlpbnRyX2NvcHkAJQlpbnRyX3plcm8AJghpbnRyX29uZQAoC2ludHJfaXNaZXJvACcHaW50cl9lcQApCGludHJfZ3RlACoIaW50cl9hZGQAKwhpbnRyX3N1YgAsCGludHJfbXVsAC0LaW50cl9zcXVhcmUALg5pbnRyX3NxdWFyZU9sZAAvCGludHJfZGl2ADIPaW50cl9pbnZlcnNlTW9kADMIZnJtX2NvcHkAJQhmcm1femVybwAmCmZybV9pc1plcm8AJwZmcm1fZXEAKQdmcm1fYWRkADUHZnJtX3N1YgA2B2ZybV9uZWcANw5mcm1faXNOZWdhdGl2ZQA+CWZybV9pc09uZQA0CGZybV9zaWduAD8LZnJtX21SZWR1Y3QAOAdmcm1fbXVsADkKZnJtX3NxdWFyZQA6DWZybV9zcXVhcmVPbGQAOxJmcm1fZnJvbU1vbnRnb21lcnkAPRBmcm1fdG9Nb250Z29tZXJ5ADwLZnJtX2ludmVyc2UAQAdmcm1fb25lAEEIZnJtX2xvYWQAQg9mcm1fdGltZXNTY2FsYXIAQwdmcm1fZXhwAEcQZnJtX2JhdGNoSW52ZXJzZQBECGZybV9zcXJ0AEgMZnJtX2lzU3F1YXJlAEkVZnJtX2JhdGNoVG9Nb250Z29tZXJ5AEUXZnJtX2JhdGNoRnJvbU1vbnRnb21lcnkARgZmcl9hZGQANQZmcl9zdWIANgZmcl9uZWcANwZmcl9tdWwASglmcl9zcXVhcmUASwpmcl9pbnZlcnNlAEwNZnJfaXNOZWdhdGl2ZQBNB2ZyX2NvcHkAJQdmcl96ZXJvACYGZnJfb25lAEEJZnJfaXNaZXJvACcFZnJfZXEAKQxnMW1fbXVsdGlleHAAdhJnMW1fbXVsdGlleHBfY2h1bmsAdRJnMW1fbXVsdGlleHBBZmZpbmUAehhnMW1fbXVsdGlleHBBZmZpbmVfY2h1bmsAeQpnMW1faXNaZXJvAE8QZzFtX2lzWmVyb0FmZmluZQBOBmcxbV9lcQBXC2cxbV9lcU1peGVkAFYMZzFtX2VxQWZmaW5lAFUIZzFtX2NvcHkAUw5nMW1fY29weUFmZmluZQBSCGcxbV96ZXJvAFEOZzFtX3plcm9BZmZpbmUAUApnMW1fZG91YmxlAFkQZzFtX2RvdWJsZUFmZmluZQBYB2cxbV9hZGQAXAxnMW1fYWRkTWl4ZWQAWw1nMW1fYWRkQWZmaW5lAFoHZzFtX25lZwBeDWcxbV9uZWdBZmZpbmUAXQdnMW1fc3ViAGEMZzFtX3N1Yk1peGVkAGANZzFtX3N1YkFmZmluZQBfEmcxbV9mcm9tTW9udGdvbWVyeQBjGGcxbV9mcm9tTW9udGdvbWVyeUFmZmluZQBiEGcxbV90b01vbnRnb21lcnkAZRZnMW1fdG9Nb250Z29tZXJ5QWZmaW5lAGQPZzFtX3RpbWVzU2NhbGFyAHsVZzFtX3RpbWVzU2NhbGFyQWZmaW5lAHwNZzFtX25vcm1hbGl6ZQBoCmcxbV9MRU10b1UAagpnMW1fTEVNdG9DAGsKZzFtX1V0b0xFTQBsCmcxbV9DdG9MRU0AbQ9nMW1fYmF0Y2hMRU10b1UAbg9nMW1fYmF0Y2hMRU10b0MAbw9nMW1fYmF0Y2hVdG9MRU0AcA9nMW1fYmF0Y2hDdG9MRU0AcQxnMW1fdG9BZmZpbmUAZg5nMW1fdG9KYWNvYmlhbgBUEWcxbV9iYXRjaFRvQWZmaW5lAGcTZzFtX2JhdGNoVG9KYWNvYmlhbgByB2ZybV9mZnQAggEIZnJtX2lmZnQAgwEKZnJtX3Jhd2ZmdACAAQtmcm1fZmZ0Sm9pbgCEAQpmcm1fZmZ0TWl4AIUBDGZybV9mZnRGaW5hbACGAQhwb2xfemVybwCHAQ9wb2xfY29uc3RydWN0TEMAiAEMcWFwX2J1aWxkQUJDAIkBC3FhcF9qb2luQUJDAIoBCmYybV9pc1plcm8AiwEJZjJtX2lzT25lAIwBCGYybV96ZXJvAI0BB2YybV9vbmUAjgEIZjJtX2NvcHkAjwEHZjJtX211bACQAQhmMm1fbXVsMQCRAQpmMm1fc3F1YXJlAJIBB2YybV9hZGQAkwEHZjJtX3N1YgCUAQdmMm1fbmVnAJUBCGYybV9zaWduAJwBDWYybV9jb25qdWdhdGUAlgESZjJtX2Zyb21Nb250Z29tZXJ5AJgBEGYybV90b01vbnRnb21lcnkAlwEGZjJtX2VxAJkBC2YybV9pbnZlcnNlAJoBB2YybV9leHAAnwEPZjJtX3RpbWVzU2NhbGFyAJsBEGYybV9iYXRjaEludmVyc2UAngEIZjJtX3NxcnQAoAEMZjJtX2lzU3F1YXJlAKEBDmYybV9pc05lZ2F0aXZlAJ0BDGcybV9tdWx0aWV4cADKARJnMm1fbXVsdGlleHBfY2h1bmsAyQESZzJtX211bHRpZXhwQWZmaW5lAM4BGGcybV9tdWx0aWV4cEFmZmluZV9jaHVuawDNAQpnMm1faXNaZXJvAKMBEGcybV9pc1plcm9BZmZpbmUAogEGZzJtX2VxAKsBC2cybV9lcU1peGVkAKoBDGcybV9lcUFmZmluZQCpAQhnMm1fY29weQCnAQ5nMm1fY29weUFmZmluZQCmAQhnMm1femVybwClAQ5nMm1femVyb0FmZmluZQCkAQpnMm1fZG91YmxlAK0BEGcybV9kb3VibGVBZmZpbmUArAEHZzJtX2FkZACwAQxnMm1fYWRkTWl4ZWQArwENZzJtX2FkZEFmZmluZQCuAQdnMm1fbmVnALIBDWcybV9uZWdBZmZpbmUAsQEHZzJtX3N1YgC1AQxnMm1fc3ViTWl4ZWQAtAENZzJtX3N1YkFmZmluZQCzARJnMm1fZnJvbU1vbnRnb21lcnkAtwEYZzJtX2Zyb21Nb250Z29tZXJ5QWZmaW5lALYBEGcybV90b01vbnRnb21lcnkAuQEWZzJtX3RvTW9udGdvbWVyeUFmZmluZQC4AQ9nMm1fdGltZXNTY2FsYXIAzwEVZzJtX3RpbWVzU2NhbGFyQWZmaW5lANABDWcybV9ub3JtYWxpemUAvAEKZzJtX0xFTXRvVQC+AQpnMm1fTEVNdG9DAL8BCmcybV9VdG9MRU0AwAEKZzJtX0N0b0xFTQDBAQ9nMm1fYmF0Y2hMRU10b1UAwgEPZzJtX2JhdGNoTEVNdG9DAMMBD2cybV9iYXRjaFV0b0xFTQDEAQ9nMm1fYmF0Y2hDdG9MRU0AxQEMZzJtX3RvQWZmaW5lALoBDmcybV90b0phY29iaWFuAKgBEWcybV9iYXRjaFRvQWZmaW5lALsBE2cybV9iYXRjaFRvSmFjb2JpYW4AxgELZzFtX3RpbWVzRnIA0QEHZzFtX2ZmdADXAQhnMW1faWZmdADYAQpnMW1fcmF3ZmZ0ANUBC2cxbV9mZnRKb2luANkBCmcxbV9mZnRNaXgA2gEMZzFtX2ZmdEZpbmFsANsBC2cybV90aW1lc0ZyANwBB2cybV9mZnQA4gEIZzJtX2lmZnQA4wEKZzJtX3Jhd2ZmdADgAQtnMm1fZmZ0Sm9pbgDkAQpnMm1fZmZ0TWl4AOUBDGcybV9mZnRGaW5hbADmARFnMW1fdGltZXNGckFmZmluZQDnARFnMm1fdGltZXNGckFmZmluZQDoARFmcm1fYmF0Y2hBcHBseUtleQDpARFnMW1fYmF0Y2hBcHBseUtleQDqARZnMW1fYmF0Y2hBcHBseUtleU1peGVkAOsBEWcybV9iYXRjaEFwcGx5S2V5AOwBFmcybV9iYXRjaEFwcGx5S2V5TWl4ZWQA7QEKZjZtX2lzWmVybwDvAQlmNm1faXNPbmUA8AEIZjZtX3plcm8A8QEHZjZtX29uZQDyAQhmNm1fY29weQDzAQdmNm1fbXVsAPQBCmY2bV9zcXVhcmUA9QEHZjZtX2FkZAD2AQdmNm1fc3ViAPcBB2Y2bV9uZWcA+AEIZjZtX3NpZ24A+QESZjZtX2Zyb21Nb250Z29tZXJ5APsBEGY2bV90b01vbnRnb21lcnkA+gEGZjZtX2VxAPwBC2Y2bV9pbnZlcnNlAP0BB2Y2bV9leHAAgQIPZjZtX3RpbWVzU2NhbGFyAP4BEGY2bV9iYXRjaEludmVyc2UAgAIOZjZtX2lzTmVnYXRpdmUA/wEKZnRtX2lzWmVybwCDAglmdG1faXNPbmUAhAIIZnRtX3plcm8AhQIHZnRtX29uZQCGAghmdG1fY29weQCHAgdmdG1fbXVsAIgCCGZ0bV9tdWwxAIkCCmZ0bV9zcXVhcmUAigIHZnRtX2FkZACLAgdmdG1fc3ViAIwCB2Z0bV9uZWcAjQIIZnRtX3NpZ24AlAINZnRtX2Nvbmp1Z2F0ZQCOAhJmdG1fZnJvbU1vbnRnb21lcnkAkAIQZnRtX3RvTW9udGdvbWVyeQCPAgZmdG1fZXEAkQILZnRtX2ludmVyc2UAkgIHZnRtX2V4cACXAg9mdG1fdGltZXNTY2FsYXIAkwIQZnRtX2JhdGNoSW52ZXJzZQCWAghmdG1fc3FydACYAgxmdG1faXNTcXVhcmUAmQIOZnRtX2lzTmVnYXRpdmUAlQIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDAAngIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDEAnwIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDIAoAIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDMAoQIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDQAogIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDUAowIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDYApAIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDcApQIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDgApgIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDkApwITYmxzMTIzODFfcGFpcmluZ0VxMQCxAhNibHMxMjM4MV9wYWlyaW5nRXEyALICE2JsczEyMzgxX3BhaXJpbmdFcTMAswITYmxzMTIzODFfcGFpcmluZ0VxNAC0AhNibHMxMjM4MV9wYWlyaW5nRXE1ALUCEGJsczEyMzgxX3BhaXJpbmcAtgISYmxzMTIzODFfcHJlcGFyZUcxAKoCEmJsczEyMzgxX3ByZXBhcmVHMgCrAhNibHMxMjM4MV9taWxsZXJMb29wAKwCHGJsczEyMzgxX2ZpbmFsRXhwb25lbnRpYXRpb24AsAIfYmxzMTIzODFfZmluYWxFeHBvbmVudGlhdGlvbk9sZACtAhpibHMxMjM4MV9fY3ljbG90b21pY1NxdWFyZQCuAhpibHMxMjM4MV9fY3ljbG90b21pY0V4cF93MACvAghmNm1fbXVsMQCaAglmNm1fbXVsMDEAmwIKZnRtX211bDAxNACcAgrq/AS3Aj4AIAEgACkDADcDACABIAApAwg3AwggASAAKQMQNwMQIAEgACkDGDcDGCABIAApAyA3AyAgASAAKQMoNwMoCywAIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoC00AIAApAyhQBEAgACkDIFAEQCAAKQMYUARAIAApAxBQBEAgACkDCFAEQCAAKQMAUA8FQQAPCwVBAA8LBUEADwsFQQAPCwVBAA8LQQAPCywAIABCATcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoC2sAIAApAyggASkDKFEEQCAAKQMgIAEpAyBRBEAgACkDGCABKQMYUQRAIAApAxAgASkDEFEEQCAAKQMIIAEpAwhRBEAgACkDACABKQMAUQ8FQQAPCwVBAA8LBUEADwsFQQAPCwVBAA8LQQAPC8UBACAAKQMoIAEpAyhUBEBBAA8FIAApAyggASkDKFYEQEEBDwUgACkDICABKQMgVARAQQAPBSAAKQMgIAEpAyBWBEBBAQ8FIAApAxggASkDGFQEQEEADwUgACkDGCABKQMYVgRAQQEPBSAAKQMQIAEpAxBUBEBBAA8FIAApAxAgASkDEFYEQEEBDwUgACkDCCABKQMIVARAQQAPBSAAKQMIIAEpAwhWBEBBAQ8FIAApAwAgASkDAFoPCwsLCwsLCwsLC0EADwu8AgEBfiAANQIAIAE1AgB8IQMgAiADPgIAIAA1AgQgATUCBHwgA0IgiHwhAyACIAM+AgQgADUCCCABNQIIfCADQiCIfCEDIAIgAz4CCCAANQIMIAE1Agx8IANCIIh8IQMgAiADPgIMIAA1AhAgATUCEHwgA0IgiHwhAyACIAM+AhAgADUCFCABNQIUfCADQiCIfCEDIAIgAz4CFCAANQIYIAE1Ahh8IANCIIh8IQMgAiADPgIYIAA1AhwgATUCHHwgA0IgiHwhAyACIAM+AhwgADUCICABNQIgfCADQiCIfCEDIAIgAz4CICAANQIkIAE1AiR8IANCIIh8IQMgAiADPgIkIAA1AiggATUCKHwgA0IgiHwhAyACIAM+AiggADUCLCABNQIsfCADQiCIfCEDIAIgAz4CLCADQiCIpwuQAwEBfiAANQIAIAE1AgB9IQMgAiADQv////8Pgz4CACAANQIEIAE1AgR9IANCIId8IQMgAiADQv////8Pgz4CBCAANQIIIAE1Agh9IANCIId8IQMgAiADQv////8Pgz4CCCAANQIMIAE1Agx9IANCIId8IQMgAiADQv////8Pgz4CDCAANQIQIAE1AhB9IANCIId8IQMgAiADQv////8Pgz4CECAANQIUIAE1AhR9IANCIId8IQMgAiADQv////8Pgz4CFCAANQIYIAE1Ahh9IANCIId8IQMgAiADQv////8Pgz4CGCAANQIcIAE1Ahx9IANCIId8IQMgAiADQv////8Pgz4CHCAANQIgIAE1AiB9IANCIId8IQMgAiADQv////8Pgz4CICAANQIkIAE1AiR9IANCIId8IQMgAiADQv////8Pgz4CJCAANQIoIAE1Aih9IANCIId8IQMgAiADQv////8Pgz4CKCAANQIsIAE1Aix9IANCIId8IQMgAiADQv////8Pgz4CLCADQiCHpwunIhoBfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+IANC/////w+DIAA1AgAiBSABNQIAIgZ+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIAUgATUCBCIIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIHIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIAUgATUCCCIKfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIJIAZ+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIAUgATUCDCIMfnwhBCADIARCIIh8IQMgBEL/////D4MgByAKfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCILIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIAUgATUCECIOfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECINIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIAUgATUCFCIQfnwhBCADIARCIIh8IQMgBEL/////D4MgByAOfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIPIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DIAUgATUCGCISfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIRIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIARC/////w+DIAUgATUCHCIUfnwhBCADIARCIIh8IQMgBEL/////D4MgByASfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgESAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCITIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhwgA0IgiCEEIANC/////w+DIAUgATUCICIWfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCICIVIAZ+fCEDIAQgA0IgiHwhBCACIAM+AiAgBEIgiCEDIARC/////w+DIAUgATUCJCIYfnwhBCADIARCIIh8IQMgBEL/////D4MgByAWfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgCyASfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCJCIXIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AiQgA0IgiCEEIANC/////w+DIAUgATUCKCIafnwhAyAEIANCIIh8IQQgA0L/////D4MgByAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAWfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgFyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCKCIZIAZ+fCEDIAQgA0IgiHwhBCACIAM+AiggBEIgiCEDIARC/////w+DIAUgATUCLCIcfnwhBCADIARCIIh8IQMgBEL/////D4MgByAafnwhBCADIARCIIh8IQMgBEL/////D4MgCSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAWfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgDyASfnwhBCADIARCIIh8IQMgBEL/////D4MgESAQfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCLCIbIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AiwgA0IgiCEEIANC/////w+DIAcgHH58IQMgBCADQiCIfCEEIANC/////w+DIAkgGn58IQMgBCADQiCIfCEEIANC/////w+DIAsgGH58IQMgBCADQiCIfCEEIANC/////w+DIA0gFn58IQMgBCADQiCIfCEEIANC/////w+DIA8gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEn58IQMgBCADQiCIfCEEIANC/////w+DIBMgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDn58IQMgBCADQiCIfCEEIANC/////w+DIBcgDH58IQMgBCADQiCIfCEEIANC/////w+DIBkgCn58IQMgBCADQiCIfCEEIANC/////w+DIBsgCH58IQMgBCADQiCIfCEEIAIgAz4CMCAEQiCIIQMgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAafnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAWfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgEyASfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgGyAKfnwhBCADIARCIIh8IQMgAiAEPgI0IANCIIghBCADQv////8PgyALIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBp+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBZ+fCEDIAQgA0IgiHwhBCADQv////8PgyATIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAXIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyAbIAx+fCEDIAQgA0IgiHwhBCACIAM+AjggBEIgiCEDIARC/////w+DIA0gHH58IQQgAyAEQiCIfCEDIARC/////w+DIA8gGn58IQQgAyAEQiCIfCEDIARC/////w+DIBEgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgFn58IQQgAyAEQiCIfCEDIARC/////w+DIBUgFH58IQQgAyAEQiCIfCEDIARC/////w+DIBcgEn58IQQgAyAEQiCIfCEDIARC/////w+DIBkgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBsgDn58IQQgAyAEQiCIfCEDIAIgBD4CPCADQiCIIQQgA0L/////D4MgDyAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAafnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAWfnwhAyAEIANCIIh8IQQgA0L/////D4MgFyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgGyAQfnwhAyAEIANCIIh8IQQgAiADPgJAIARCIIghAyAEQv////8PgyARIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIBp+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAXIBZ+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAbIBJ+fCEEIAMgBEIgiHwhAyACIAQ+AkQgA0IgiCEEIANC/////w+DIBMgHH58IQMgBCADQiCIfCEEIANC/////w+DIBUgGn58IQMgBCADQiCIfCEEIANC/////w+DIBcgGH58IQMgBCADQiCIfCEEIANC/////w+DIBkgFn58IQMgBCADQiCIfCEEIANC/////w+DIBsgFH58IQMgBCADQiCIfCEEIAIgAz4CSCAEQiCIIQMgBEL/////D4MgFSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAafnwhBCADIARCIIh8IQMgBEL/////D4MgGSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgGyAWfnwhBCADIARCIIh8IQMgAiAEPgJMIANCIIghBCADQv////8PgyAXIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBp+fCEDIAQgA0IgiHwhBCADQv////8PgyAbIBh+fCEDIAQgA0IgiHwhBCACIAM+AlAgBEIgiCEDIARC/////w+DIBkgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBsgGn58IQQgAyAEQiCIfCEDIAIgBD4CVCADQiCIIQQgA0L/////D4MgGyAcfnwhAyAEIANCIIh8IQQgAiADPgJYIARCIIghAyACIAQ+AlwLziAQAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5CACECQgAhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAANQIAIgYgBn58IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIEIgd+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIEIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AggiCH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAcgB358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCDCIJfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAIfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIQIgp+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAIIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIQIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhQiC358IQIgAyACQiCIfCEDIAJC/////w+DIAcgCn58IQIgAyACQiCIfCEDIAJC/////w+DIAggCX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCGCIMfnwhAiADIAJCIIh8IQMgAkL/////D4MgByALfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCSAJfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CGCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIcIg1+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAx+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAJIAp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIcIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AiAiDn58IQIgAyACQiCIfCEDIAJC/////w+DIAcgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAggDH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCJCIPfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiALfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CJCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIoIhB+fCECIAMgAkIgiHwhAyACQv////8PgyAHIA9+fCECIAMgAkIgiHwhAyACQv////8PgyAIIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAJIA1+fCECIAMgAkIgiHwhAyACQv////8PgyAKIAx+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyALIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIoIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AiwiEX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAggD358IQIgAyACQiCIfCEDIAJC/////w+DIAkgDn58IQIgAyACQiCIfCEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAggEH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgD358IQIgAyACQiCIfCEDIAJC/////w+DIAogDn58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAwgDH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAggEX58IQIgAyACQiCIfCEDIAJC/////w+DIAkgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAogD358IQIgAyACQiCIfCEDIAJC/////w+DIAsgDn58IQIgAyACQiCIfCEDIAJC/////w+DIAwgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAkgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAogEH58IQIgAyACQiCIfCEDIAJC/////w+DIAsgD358IQIgAyACQiCIfCEDIAJC/////w+DIAwgDn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA0gDX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogEX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAwgD358IQIgAyACQiCIfCEDIAJC/////w+DIA0gDn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAsgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAwgEH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gD358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA4gDn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAwgEX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gEH58IQIgAyACQiCIfCEDIAJC/////w+DIA4gD358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA0gEX58IQIgAyACQiCIfCEDIAJC/////w+DIA4gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA8gD358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA4gEX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA8gEX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBAgEH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AlAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBAgEX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AlQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBEgEX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AlggAyEEIARCIIghBSABIAQ+AlwLCgAgACAAIAEQCAuSAgEBfiAANQAAIAF+IQMgAiADPgAAIAA1AAQgAX4gA0IgiHwhAyACIAM+AAQgADUACCABfiADQiCIfCEDIAIgAz4ACCAANQAMIAF+IANCIIh8IQMgAiADPgAMIAA1ABAgAX4gA0IgiHwhAyACIAM+ABAgADUAFCABfiADQiCIfCEDIAIgAz4AFCAANQAYIAF+IANCIIh8IQMgAiADPgAYIAA1ABwgAX4gA0IgiHwhAyACIAM+ABwgADUAICABfiADQiCIfCEDIAIgAz4AICAANQAkIAF+IANCIIh8IQMgAiADPgAkIAA1ACggAX4gA0IgiHwhAyACIAM+ACggADUALCABfiADQiCIfCEDIAIgAz4ALAtOAgF+AX8gACEDIAM1AAAgAXwhAiADIAI+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IAR+fCEDIAAgAz4CUCAANQJUIANCIIh8QfgFNQIoIAR+fCEDIAAgAz4CVCAANQJYIANCIIh8QfgFNQIsIAR+fCEDIAAgAz4CWEGICiADQiCIPgIsQYgKIABBMGogARAQC6ZDMwF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkL9//P/DyEFIANC/////w+DIAA1AgAiBiABNQIAIgd+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhCCADQv////8Pg0EANQL4BSIJIAh+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIEIgt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIEIgogB358IQQgAyAEQiCIfCEDIARC/////w+DQQA1AvwFIg0gCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEMIARC/////w+DIAkgDH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AggiD358IQMgBCADQiCIfCEEIANC/////w+DIAogC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AggiDiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCgAYiESAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRAgA0L/////D4MgCSAQfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCDCITfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgDiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCISIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKEBiIVIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhFCAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIQIhd+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIhYgB358IQMgBCADQiCIfCEEIANC/////w+DIA0gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AogGIhkgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEYIANC/////w+DIAkgGH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhQiG358IQQgAyAEQiCIfCEDIARC/////w+DIAogF358IQQgAyAEQiCIfCEDIARC/////w+DIA4gE358IQQgAyAEQiCIfCEDIARC/////w+DIBIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBYgC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhQiGiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCjAYiHSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRwgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCGCIffnwhAyAEIANCIIh8IQQgA0L/////D4MgCiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIeIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQKQBiIhIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhICADQv////8PgyAJICB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIcIiN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIiIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgFH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gEH58IQQgAyAEQiCIfCEDIARC/////w+DICEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1ApQGIiUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEkIARC/////w+DIAkgJH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AiAiJ358IQMgBCADQiCIfCEEIANC/////w+DIAogI358IQMgBCADQiCIfCEEIANC/////w+DIA4gH358IQMgBCADQiCIfCEEIANC/////w+DIBIgG358IQMgBCADQiCIfCEEIANC/////w+DIBYgF358IQMgBCADQiCIfCEEIANC/////w+DIBogE358IQMgBCADQiCIfCEEIANC/////w+DIB4gD358IQMgBCADQiCIfCEEIANC/////w+DICIgC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AiAiJiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCmAYiKSAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DISggA0L/////D4MgCSAofnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCJCIrfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgDiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAffnwhBCADIARCIIh8IQMgBEL/////D4MgFiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgHiATfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgJiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCJCIqIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANICh+fCEEIAMgBEIgiHwhAyAEQv////8PgyARICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyApIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKcBiItIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhLCAEQv////8PgyAJICx+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIoIi9+fCEDIAQgA0IgiHwhBCADQv////8PgyAKICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAOICd+fCEDIAQgA0IgiHwhBCADQv////8PgyASICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAmIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAqIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIoIi4gB358IQMgBCADQiCIfCEEIANC/////w+DIA0gLH58IQMgBCADQiCIfCEEIANC/////w+DIBEgKH58IQMgBCADQiCIfCEEIANC/////w+DIBUgJH58IQMgBCADQiCIfCEEIANC/////w+DIBkgIH58IQMgBCADQiCIfCEEIANC/////w+DIB0gHH58IQMgBCADQiCIfCEEIANC/////w+DICEgGH58IQMgBCADQiCIfCEEIANC/////w+DICUgFH58IQMgBCADQiCIfCEEIANC/////w+DICkgEH58IQMgBCADQiCIfCEEIANC/////w+DIC0gDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AqAGIjEgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEwIANC/////w+DIAkgMH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AiwiM358IQQgAyAEQiCIfCEDIARC/////w+DIAogL358IQQgAyAEQiCIfCEDIARC/////w+DIA4gK358IQQgAyAEQiCIfCEDIARC/////w+DIBIgJ358IQQgAyAEQiCIfCEDIARC/////w+DIBYgI358IQQgAyAEQiCIfCEDIARC/////w+DIBogH358IQQgAyAEQiCIfCEDIARC/////w+DIB4gG358IQQgAyAEQiCIfCEDIARC/////w+DICIgF358IQQgAyAEQiCIfCEDIARC/////w+DICYgE358IQQgAyAEQiCIfCEDIARC/////w+DICogD358IQQgAyAEQiCIfCEDIARC/////w+DIC4gC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AiwiMiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgESAsfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAofnwhBCADIARCIIh8IQMgBEL/////D4MgGSAkfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgISAcfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgKSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgLSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCpAYiNSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DITQgBEL/////D4MgCSA0fnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAogM358IQMgBCADQiCIfCEEIANC/////w+DIA4gL358IQMgBCADQiCIfCEEIANC/////w+DIBIgK358IQMgBCADQiCIfCEEIANC/////w+DIBYgJ358IQMgBCADQiCIfCEEIANC/////w+DIBogI358IQMgBCADQiCIfCEEIANC/////w+DIB4gH358IQMgBCADQiCIfCEEIANC/////w+DICIgG358IQMgBCADQiCIfCEEIANC/////w+DICYgF358IQMgBCADQiCIfCEEIANC/////w+DICogE358IQMgBCADQiCIfCEEIANC/////w+DIC4gD358IQMgBCADQiCIfCEEIANC/////w+DIDIgC358IQMgBCADQiCIfCEEIANC/////w+DIA0gNH58IQMgBCADQiCIfCEEIANC/////w+DIBEgMH58IQMgBCADQiCIfCEEIANC/////w+DIBUgLH58IQMgBCADQiCIfCEEIANC/////w+DIBkgKH58IQMgBCADQiCIfCEEIANC/////w+DIB0gJH58IQMgBCADQiCIfCEEIANC/////w+DICEgIH58IQMgBCADQiCIfCEEIANC/////w+DICUgHH58IQMgBCADQiCIfCEEIANC/////w+DICkgGH58IQMgBCADQiCIfCEEIANC/////w+DIC0gFH58IQMgBCADQiCIfCEEIANC/////w+DIDEgEH58IQMgBCADQiCIfCEEIANC/////w+DIDUgDH58IQMgBCADQiCIfCEEIAIgAz4CACAEQiCIIQMgBEL/////D4MgDiAzfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAvfnwhBCADIARCIIh8IQMgBEL/////D4MgFiArfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgHiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAffnwhBCADIARCIIh8IQMgBEL/////D4MgJiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgKiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgLiATfnwhBCADIARCIIh8IQMgBEL/////D4MgMiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgESA0fnwhBCADIARCIIh8IQMgBEL/////D4MgFSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAsfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAofnwhBCADIARCIIh8IQMgBEL/////D4MgISAkfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgKSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgLSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgNSAQfnwhBCADIARCIIh8IQMgAiAEPgIEIANCIIghBCADQv////8PgyASIDN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIC9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeICd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAmIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAqIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAuIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAyIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIDR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIDB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdICx+fCEDIAQgA0IgiHwhBCADQv////8PgyAhICh+fCEDIAQgA0IgiHwhBCADQv////8PgyAlICR+fCEDIAQgA0IgiHwhBCADQv////8PgyApICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAtIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAxIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyA1IBR+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIBYgM358IQQgAyAEQiCIfCEDIARC/////w+DIBogL358IQQgAyAEQiCIfCEDIARC/////w+DIB4gK358IQQgAyAEQiCIfCEDIARC/////w+DICIgJ358IQQgAyAEQiCIfCEDIARC/////w+DICYgI358IQQgAyAEQiCIfCEDIARC/////w+DICogH358IQQgAyAEQiCIfCEDIARC/////w+DIC4gG358IQQgAyAEQiCIfCEDIARC/////w+DIDIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBkgNH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gMH58IQQgAyAEQiCIfCEDIARC/////w+DICEgLH58IQQgAyAEQiCIfCEDIARC/////w+DICUgKH58IQQgAyAEQiCIfCEDIARC/////w+DICkgJH58IQQgAyAEQiCIfCEDIARC/////w+DIC0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIDEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIDUgGH58IQQgAyAEQiCIfCEDIAIgBD4CDCADQiCIIQQgA0L/////D4MgGiAzfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAvfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiArfnwhAyAEIANCIIh8IQQgA0L/////D4MgJiAnfnwhAyAEIANCIIh8IQQgA0L/////D4MgKiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgLiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgMiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSA0fnwhAyAEIANCIIh8IQQgA0L/////D4MgISAwfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAsfnwhAyAEIANCIIh8IQQgA0L/////D4MgKSAofnwhAyAEIANCIIh8IQQgA0L/////D4MgLSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgMSAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgNSAcfnwhAyAEIANCIIh8IQQgAiADPgIQIARCIIghAyAEQv////8PgyAeIDN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIC9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAmICt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAqICd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAuICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAyIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIDR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIDB+fCEEIAMgBEIgiHwhAyAEQv////8PgyApICx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAtICh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAxICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyA1ICB+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DICIgM358IQMgBCADQiCIfCEEIANC/////w+DICYgL358IQMgBCADQiCIfCEEIANC/////w+DICogK358IQMgBCADQiCIfCEEIANC/////w+DIC4gJ358IQMgBCADQiCIfCEEIANC/////w+DIDIgI358IQMgBCADQiCIfCEEIANC/////w+DICUgNH58IQMgBCADQiCIfCEEIANC/////w+DICkgMH58IQMgBCADQiCIfCEEIANC/////w+DIC0gLH58IQMgBCADQiCIfCEEIANC/////w+DIDEgKH58IQMgBCADQiCIfCEEIANC/////w+DIDUgJH58IQMgBCADQiCIfCEEIAIgAz4CGCAEQiCIIQMgBEL/////D4MgJiAzfnwhBCADIARCIIh8IQMgBEL/////D4MgKiAvfnwhBCADIARCIIh8IQMgBEL/////D4MgLiArfnwhBCADIARCIIh8IQMgBEL/////D4MgMiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgKSA0fnwhBCADIARCIIh8IQMgBEL/////D4MgLSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAsfnwhBCADIARCIIh8IQMgBEL/////D4MgNSAofnwhBCADIARCIIh8IQMgAiAEPgIcIANCIIghBCADQv////8PgyAqIDN+fCEDIAQgA0IgiHwhBCADQv////8PgyAuIC9+fCEDIAQgA0IgiHwhBCADQv////8PgyAyICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAtIDR+fCEDIAQgA0IgiHwhBCADQv////8PgyAxIDB+fCEDIAQgA0IgiHwhBCADQv////8PgyA1ICx+fCEDIAQgA0IgiHwhBCACIAM+AiAgBEIgiCEDIARC/////w+DIC4gM358IQQgAyAEQiCIfCEDIARC/////w+DIDIgL358IQQgAyAEQiCIfCEDIARC/////w+DIDEgNH58IQQgAyAEQiCIfCEDIARC/////w+DIDUgMH58IQQgAyAEQiCIfCEDIAIgBD4CJCADQiCIIQQgA0L/////D4MgMiAzfnwhAyAEIANCIIh8IQQgA0L/////D4MgNSA0fnwhAyAEIANCIIh8IQQgAiADPgIoIARCIIghAyACIAQ+AiwgA6cEQCACQfgFIAIQBxoFIAJB+AUQBQRAIAJB+AUgAhAHGgsLC81BKQF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5C/f/z/w8hBkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQggAkL/////D4NBADUC+AUiCSAIfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCBCIKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DQQA1AvwFIgwgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyELIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AggiDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKABiIPIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhDiACQv////8PgyAJIA5+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIMIhB+fCECIAMgAkIgiHwhAyACQv////8PgyAKIA1+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUChAYiEiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIREgAkL/////D4MgCSARfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCECITfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgDSANfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgEX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gDn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AogGIhUgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEUIAJC/////w+DIAkgFH58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhQiFn58IQIgAyACQiCIfCEDIAJC/////w+DIAogE358IQIgAyACQiCIfCEDIAJC/////w+DIA0gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBF+fCECIAMgAkIgiHwhAyACQv////8PgyASIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAVIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKMBiIYIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhFyACQv////8PgyAJIBd+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIYIhl+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyANIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAQIBB+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiARfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCkAYiGyAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRogAkL/////D4MgCSAafnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCHCIcfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgECATfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgGn58IQIgAyACQiCIfCEDIAJC/////w+DIA8gF358IQIgAyACQiCIfCEDIAJC/////w+DIBIgFH58IQIgAyACQiCIfCEDIAJC/////w+DIBUgEX58IQIgAyACQiCIfCEDIAJC/////w+DIBggDn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1ApQGIh4gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEdIAJC/////w+DIAkgHX58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AiAiH358IQIgAyACQiCIfCEDIAJC/////w+DIAogHH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gGX58IQIgAyACQiCIfCEDIAJC/////w+DIBAgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBMgE358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBp+fCECIAMgAkIgiHwhAyACQv////8PgyASIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAbIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAeIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKYBiIhIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhICACQv////8PgyAJICB+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIkIiJ+fCECIAMgAkIgiHwhAyACQv////8PgyAKIB9+fCECIAMgAkIgiHwhAyACQv////8PgyANIBx+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBl+fCECIAMgAkIgiHwhAyACQv////8PgyATIBZ+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAgfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAafnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyARfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgISALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCnAYiJCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DISMgAkL/////D4MgCSAjfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCKCIlfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAffnwhAiADIAJCIIh8IQMgAkL/////D4MgECAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgFiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgI358IQIgAyACQiCIfCEDIAJC/////w+DIA8gIH58IQIgAyACQiCIfCEDIAJC/////w+DIBIgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBggF358IQIgAyACQiCIfCEDIAJC/////w+DIBsgFH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gEX58IQIgAyACQiCIfCEDIAJC/////w+DICEgDn58IQIgAyACQiCIfCEDIAJC/////w+DICQgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AqAGIicgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEmIAJC/////w+DIAkgJn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AiwiKH58IQIgAyACQiCIfCEDIAJC/////w+DIAogJX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gIn58IQIgAyACQiCIfCEDIAJC/////w+DIBAgH358IQIgAyACQiCIfCEDIAJC/////w+DIBMgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBYgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMICZ+fCECIAMgAkIgiHwhAyACQv////8PgyAPICN+fCECIAMgAkIgiHwhAyACQv////8PgyASICB+fCECIAMgAkIgiHwhAyACQv////8PgyAVIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAhIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAkIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAnIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKkBiIqIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhKSACQv////8PgyAJICl+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCiAofnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAifnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAffnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgGSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgKX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gJn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgI358IQIgAyACQiCIfCEDIAJC/////w+DIBUgIH58IQIgAyACQiCIfCEDIAJC/////w+DIBggHX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgGn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gF358IQIgAyACQiCIfCEDIAJC/////w+DICEgFH58IQIgAyACQiCIfCEDIAJC/////w+DICQgEX58IQIgAyACQiCIfCEDIAJC/////w+DICcgDn58IQIgAyACQiCIfCEDIAJC/////w+DICogC358IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgDSAofnwhAiADIAJCIIh8IQMgAkL/////D4MgECAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAifnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAffnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIA8gKX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgJn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgI358IQIgAyACQiCIfCEDIAJC/////w+DIBggIH58IQIgAyACQiCIfCEDIAJC/////w+DIBsgHX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gGn58IQIgAyACQiCIfCEDIAJC/////w+DICEgF358IQIgAyACQiCIfCEDIAJC/////w+DICQgFH58IQIgAyACQiCIfCEDIAJC/////w+DICcgEX58IQIgAyACQiCIfCEDIAJC/////w+DICogDn58IQIgAyACQiCIfCEDIAEgAj4CBCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgECAofnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAffnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHCAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBIgKX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgJn58IQIgAyACQiCIfCEDIAJC/////w+DIBggI358IQIgAyACQiCIfCEDIAJC/////w+DIBsgIH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gHX58IQIgAyACQiCIfCEDIAJC/////w+DICEgGn58IQIgAyACQiCIfCEDIAJC/////w+DICQgF358IQIgAyACQiCIfCEDIAJC/////w+DICcgFH58IQIgAyACQiCIfCEDIAJC/////w+DICogEX58IQIgAyACQiCIfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgEyAofnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAifnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAffnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBUgKX58IQIgAyACQiCIfCEDIAJC/////w+DIBggJn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgI358IQIgAyACQiCIfCEDIAJC/////w+DIB4gIH58IQIgAyACQiCIfCEDIAJC/////w+DICEgHX58IQIgAyACQiCIfCEDIAJC/////w+DICQgGn58IQIgAyACQiCIfCEDIAJC/////w+DICcgF358IQIgAyACQiCIfCEDIAJC/////w+DICogFH58IQIgAyACQiCIfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgFiAofnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAifnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHyAffnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBggKX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgJn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gI358IQIgAyACQiCIfCEDIAJC/////w+DICEgIH58IQIgAyACQiCIfCEDIAJC/////w+DICQgHX58IQIgAyACQiCIfCEDIAJC/////w+DICcgGn58IQIgAyACQiCIfCEDIAJC/////w+DICogF358IQIgAyACQiCIfCEDIAEgAj4CECADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgGSAofnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgHyAifnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBsgKX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gJn58IQIgAyACQiCIfCEDIAJC/////w+DICEgI358IQIgAyACQiCIfCEDIAJC/////w+DICQgIH58IQIgAyACQiCIfCEDIAJC/////w+DICcgHX58IQIgAyACQiCIfCEDIAJC/////w+DICogGn58IQIgAyACQiCIfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgHCAofnwhAiADIAJCIIh8IQMgAkL/////D4MgHyAlfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgIiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIB4gKX58IQIgAyACQiCIfCEDIAJC/////w+DICEgJn58IQIgAyACQiCIfCEDIAJC/////w+DICQgI358IQIgAyACQiCIfCEDIAJC/////w+DICcgIH58IQIgAyACQiCIfCEDIAJC/////w+DICogHX58IQIgAyACQiCIfCEDIAEgAj4CGCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgHyAofnwhAiADIAJCIIh8IQMgAkL/////D4MgIiAlfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICEgKX58IQIgAyACQiCIfCEDIAJC/////w+DICQgJn58IQIgAyACQiCIfCEDIAJC/////w+DICcgI358IQIgAyACQiCIfCEDIAJC/////w+DICogIH58IQIgAyACQiCIfCEDIAEgAj4CHCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgIiAofnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgJSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICQgKX58IQIgAyACQiCIfCEDIAJC/////w+DICcgJn58IQIgAyACQiCIfCEDIAJC/////w+DICogI358IQIgAyACQiCIfCEDIAEgAj4CICADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgJSAofnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICcgKX58IQIgAyACQiCIfCEDIAJC/////w+DICogJn58IQIgAyACQiCIfCEDIAEgAj4CJCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgKCAofnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICogKX58IQIgAyACQiCIfCEDIAEgAj4CKCADIQQgBEIgiCEFIAEgBD4CLCAFpwRAIAFB+AUgARAHGgUgAUH4BRAFBEAg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IAM+AhAgADUCFCABNQIUfCADQiCIfCEDIAIgAz4CFCAANQIYIAE1Ahh8IANCIIh8IQMgAiADPgIYIAA1AhwgATUCHHwgA0IgiHwhAyACIAM+AhwgA0IgiKcLjAIBAX4gADUCACABNQIAfSEDIAIgA0L/////D4M+AgAgADUCBCABNQIEfSADQiCHfCEDIAIgA0L/////D4M+AgQgADUCCCABNQIIfSADQiCHfCEDIAIgA0L/////D4M+AgggADUCDCABNQIMfSADQiCHfCEDIAIgA0L/////D4M+AgwgADUCECABNQIQfSADQiCHfCEDIAIgA0L/////D4M+AhAgADUCFCABNQIUfSADQiCHfCEDIAIgA0L/////D4M+AhQgADUCGCABNQIYfSADQiCHfCEDIAIgA0L/////D4M+AhggADUCHCABNQIcfSADQiCHfCEDIAIgA0L/////D4M+AhwgA0Igh6cLjxASAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+IANC/////w+DIAA1AgAiBSABNQIAIgZ+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIAUgATUCBCIIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIHIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIAUgATUCCCIKfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIJIAZ+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIAUgATUCDCIMfnwhBCADIARCIIh8IQMgBEL/////D4MgByAKfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCILIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIAUgATUCECIOfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECINIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIAUgATUCFCIQfnwhBCADIARCIIh8IQMgBEL/////D4MgByAOfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIPIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DIAUgATUCGCISfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIRIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIARC/////w+DIAUgATUCHCIUfnwhBCADIARCIIh8IQMgBEL/////D4MgByASfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgESAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCITIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhwgA0IgiCEEIANC/////w+DIAcgFH58IQMgBCADQiCIfCEEIANC/////w+DIAkgEn58IQMgBCADQiCIfCEEIANC/////w+DIAsgEH58IQMgBCADQiCIfCEEIANC/////w+DIA0gDn58IQMgBCADQiCIfCEEIANC/////w+DIA8gDH58IQMgBCADQiCIfCEEIANC/////w+DIBEgCn58IQMgBCADQiCIfCEEIANC/////w+DIBMgCH58IQMgBCADQiCIfCEEIAIgAz4CICAEQiCIIQMgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgCyASfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAKfnwhBCADIARCIIh8IQMgAiAEPgIkIANCIIghBCADQv////8PgyALIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyARIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyATIAx+fCEDIAQgA0IgiHwhBCACIAM+AiggBEIgiCEDIARC/////w+DIA0gFH58IQQgAyAEQiCIfCEDIARC/////w+DIA8gEn58IQQgAyAEQiCIfCEDIARC/////w+DIBEgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgDn58IQQgAyAEQiCIfCEDIAIgBD4CLCADQiCIIQQgA0L/////D4MgDyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgESASfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAQfnwhAyAEIANCIIh8IQQgAiADPgIwIARCIIghAyAEQv////8PgyARIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIBJ+fCEEIAMgBEIgiHwhAyACIAQ+AjQgA0IgiCEEIANC/////w+DIBMgFH58IQMgBCADQiCIfCEEIAIgAz4COCAEQiCIIQMgAiAEPgI8C4wSDAF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiBiAGfnwhAiADIAJCIIh8IQMgASACPgIAIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AgQiB358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCCCIIfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIMIgl+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAh+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIMIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhAiCn58IQIgAyACQiCIfCEDIAJC/////w+DIAcgCX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAggCH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCFCILfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAJfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIYIgx+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAJIAl+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIYIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhwiDX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgDH58IQIgAyACQiCIfCEDIAJC/////w+DIAggC358IQIgAyACQiCIfCEDIAJC/////w+DIAkgCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAggDH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAggDX58IQIgAyACQiCIfCEDIAJC/////w+DIAkgDH58IQIgAyACQiCIfCEDIAJC/////w+DIAogC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAkgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAogDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAsgC358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAsgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAwgDH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjAgAyEE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iHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIEIgt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIEIgogB358IQQgAyAEQiCIfCEDIARC/////w+DQQA1ArwcIg0gCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEMIARC/////w+DIAkgDH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AggiD358IQMgBCADQiCIfCEEIANC/////w+DIAogC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AggiDiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCwBwiESAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRAgA0L/////D4MgCSAQfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCDCITfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgDiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCISIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQLEHCIVIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhFCAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIQIhd+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIhYgB358IQMgBCADQiCIfCEEIANC/////w+DIA0gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AsgcIhkgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEYIANC/////w+DIAkgGH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhQiG358IQQgAyAEQiCIfCEDIARC/////w+DIAogF358IQQgAyAEQiCIfCEDIARC/////w+DIA4gE358IQQgAyAEQiCIfCEDIARC/////w+DIBIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBYgC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhQiGiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCzBwiHSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRwgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCGCIffnwhAyAEIANCIIh8IQQgA0L/////D4MgCiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIeIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQLQHCIhIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhICADQv////8PgyAJICB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIcIiN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIiIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgFH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gEH58IQQgAyAEQiCIfCEDIARC/////w+DICEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1AtQcIiUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEkIARC/////w+DIAkgJH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAKICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyANICR+fCEDIAQgA0IgiHwhBCADQv////8PgyARICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAhIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIAx+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIA4gI358IQQgAyAEQiCIfCEDIARC/////w+DIBIgH358IQQgAyAEQiCIfCEDIARC/////w+DIBYgG358IQQgAyAEQiCIfCEDIARC/////w+DIBogF358IQQgAyAEQiCIfCEDIARC/////w+DIB4gE358IQQgAyAEQiCIfCEDIARC/////w+DICIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBEgJH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgIH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgHH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gGH58IQQgAyAEQiCIfCEDIARC/////w+DICEgFH58IQQgAyAEQiCIfCEDIARC/////w+DICUgEH58IQQgAyAEQiCIfCEDIAIgBD4CBCADQiCIIQQgA0L/////D4MgEiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgGiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAUfnwhAyAEIANCIIh8IQQgAiADPgIIIARCIIghAyAEQv////8PgyAWICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBh+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIBogI358IQMgBCADQiCIfCEEIANC/////w+DIB4gH358IQMgBCADQiCIfCEEIANC/////w+DICIgG358IQMgBCADQiCIfCEEIANC/////w+DIB0gJH58IQMgBCADQiCIfCEEIANC/////w+DICEgIH58IQMgBCADQiCIfCEEIANC/////w+DICUgHH58IQMgBCADQiCIfCEEIAIgAz4CECAEQiCIIQMgBEL/////D4MgHiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAffnwhBCADIARCIIh8IQMgBEL/////D4MgISAkfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAgfnwhBCADIARCIIh8IQMgAiAEPgIUIANCIIghBCADQv////8PgyAiICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAlICR+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIAIgBD4CHCADpwRAIAJBuBwgAhAsGgUgAkG4HBAqBEAgAkG4HCACECwaCwsLuyEdAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkL/////DyEGQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgADUCACIHIAd+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhCCACQv////8Pg0EANQK4HCIJIAh+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIEIgp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4NBADUCvBwiDCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQsgAkL/////D4MgCSALfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCCCINfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCiAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AsAcIg8gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEOIAJC/////w+DIAkgDn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AgwiEH58IQIgAyACQiCIfCEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAPIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLEHCISIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhESACQv////8PgyAJIBF+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIQIhN+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBB+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyANIA1+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCARfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCyBwiFSAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRQgAkL/////D4MgCSAUfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCFCIWfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiATfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgFH58IQIgAyACQiCIfCEDIAJC/////w+DIA8gEX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgDn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AswcIhggCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEXIAJC/////w+DIAkgF358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhgiGX58IQIgAyACQiCIfCEDIAJC/////w+DIAogFn58IQIgAyACQiCIfCEDIAJC/////w+DIA0gE358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBAgEH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBR+fCECIAMgAkIgiHwhAyACQv////8PgyASIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAVIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAYIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLQHCIbIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhGiACQv////8PgyAJIBp+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIcIhx+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBl+fCECIAMgAkIgiHwhAyACQv////8PgyANIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAafnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSARfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC1BwiHiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIR0gAkL/////D4MgCSAdfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogHH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gGX58IQIgAyACQiCIfCEDIAJC/////w+DIBAgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBMgE358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBp+fCECIAMgAkIgiHwhAyACQv////8PgyASIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAbIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAeIAt+fCECIAMgAkIgiHwhAyABIAI+AgAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA0gHH58IQIgAyACQiCIfCEDIAJC/////w+DIBAgGX58IQIgAyACQiCIfCEDIAJC/////w+DIBMgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAPIB1+fCECIAMgAkIgiHwhAyACQv////8PgyASIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAeIA5+fCECIAMgAkIgiHwhAyABIAI+AgQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBAgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBMgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBYgFn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyASIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBF+fCECIAMgAkIgiHwhAyABIAI+AgggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBMgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBYgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAVIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBR+fCECIAMgAkIgiHwhAyABIAI+AgwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBYgHH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBkgGX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAYIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBd+fCECIAMgAkIgiHwhAyABIAI+AhAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBkgHH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAbIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBp+fCECIAMgAkIgiHwhAyABIAI+AhQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBwgHH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAeIB1+fCECIAMgAkIgiHwhAyABIAI+AhggAyEEIARCIIghBSABIAQ+AhwgBacEQCABQbgcIAEQLBoFIAFBuBwQKgRAIAFBuBwgARAsGgsLCwoAIAAgACABEDkLCwAgAEH4HCABEDkLFQAgAEGYIxAlQbgjECZBmCMgARA4CxEAIABB2CMQPUHYI0H4HRAqCyQAIAAQJwRAQQAPCyAAQfgjED1B+CNB+B0QKgRAQX8PC0EBDwsXACAAIAEQPSABQbgcIAEQMyABIAEQPAsJAEGYHSAAECULywEEAX8BfwF/AX8gAhAmQSAhBSAAIQMCQANAIAUgAUsNASAFQSBGBEBBmCQQQQVBmCRB+BxBmCQQOQsgA0GYJEG4JBA5IAJBuCQgAhA1IANBIGohAyAFQSBqIQUMAAsLIAFBIHAhBCAERQRADwtBuCQQJkEAIQYCQANAIAYgBEYNASAGIAMtAAA6ALgkIANBAWohAyAGQQFqIQYMAAsLIAVBIEYEQEGYJBBBBUGYJEH4HEGYJBA5C0G4JEGYJEG4JBA5IAJBuCQgAhA1CxwAIAEgAkHYJBBCQdgkQdgkEDwgAEHYJCADEDkL+AEEAX8BfwF/AX9BACgCACEFQQAgBSACQQFqQSBsajYCACAFEEEgACEGIAVBIGohBUEAIQgCQANAIAggAkYNASAGECcEQCAFQSBrIAUQJQUgBiAFQSBrIAUQOQsgBiABaiEGIAVBIGohBSAIQQFqIQgMAAsLIAYgAWshBiAFQSBrIQUgAyACQQFrIARsaiEHIAUgBRBAAkADQCAIRQ0BIAYQJwRAIAUgBUEgaxAlIAcQJgUgBUEga0H4JBAlIAUgBiAFQSBrEDkgBUH4JCAHEDkLIAYgAWshBiAHIARrIQcgBUEgayEFIAhBAWshCAwACwtBACAFNgIACz4DAX8BfwF/IAAhBCACIQVBACEDAkADQCADIAFGDQEgBCAFEDwgBEEgaiEEIAVBIGohBSADQQFqIQMMAAsLCz4DAX8BfwF/IAAhBCACIQVBACEDAkADQCADIAFGDQEgBCAFED0gBEEgaiEEIAVBIGohBSADQQFqIQMMAAsLC7ICAgF/AX8gAkUEQCADEEEPCyAAQZglECUgAxBBIAIhBAJAA0AgBEEBayEEIAEgBGotAAAhBSADIAMQOiAFQYABTwRAIAVBgAFrIQUgA0GYJSADEDkLIAMgAxA6IAVBwABPBEAgBUHAAGshBSADQZglIAMQOQsgAyADEDogBUEgTwRAIAVBIGshBSADQZglIAMQOQsgAyADEDogBUEQTwRAIAVBEGshBSADQZglIAMQOQsgAyADEDogBUEITwRAIAVBCGshBSADQZglIAMQOQsgAyADEDogBUEETwRAIAVBBGshBSADQZglIAMQOQsgAyADEDogBUECTwRAIAVBAmshBSADQZglIAMQOQsgAyADEDogBUEBTwRAIAVBAWshBSADQZglIAMQOQsgBEUNAQwACwsL3gEDAX8BfwF/IAAQJwRAIAEQJg8LQSAhAkHYHkG4JRAlIABBuB5BIEHYJRBHIABB+B5BIEH4JRBHAkADQEHYJUGYHRApDQFB2CVBmCYQOkEBIQMCQANAQZgmQZgdECkNAUGYJkGYJhA6IANBAWohAwwACwtBuCVBuCYQJSACIANrQQFrIQQCQANAIARFDQFBuCZBuCYQOiAEQQFrIQQMAAsLIAMhAkG4JkG4JRA6QdglQbglQdglEDlB+CVBuCZB+CUQOQwACwtB+CUQPgRAQfglIAEQNwVB+CUgARAlCwsgACAAECcEQEEBDwsgAEHYHUEgQdgmEEdB2CZBmB0QKQsVACAAIAFB+CYQOUH4JkH4HCACEDkLCgAgACAAIAEQSgsLACAAQbgcIAEQMwsJACAAQfgdECoLDgAgABACIABBMGoQAnELCgAgAEHgAGoQAgsNACAAEAEgAEEwahABCxUAIAAQASAAQTBqEBwgAEHgAGoQAQt6ACABIAApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggASAAKQMgNwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWAu6AQAgASAAKQMANwMAIAEgACkDCDcDCCABIAApAxA3AxAgASAAKQMYNwMYIAEgACkDIDcDICABIAApAyg3AyggASAAKQMwNwMwIAEgACkDODcDOCABIAApA0A3A0AgASAAKQNINwNIIAEgACkDUDcDUCABIAApA1g3A1ggASAAKQNgNwNgIAEgACkDaDcDaCABIAApA3A3A3AgASAAKQN4NwN4IAEgACkDgAE3A4ABIAEgACkDiAE3A4gBCxwAIAFB4ABqEBwgAEEw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EJABQcjxAEGo8gAQmQEEQEEADwtBAQ8LEQAgABCLASAAQeAAahCLAXELCwAgAEHAAWoQiwELEAAgABCNASAAQeAAahCNAQsZACAAEI0BIABB4ABqEI4BIABBwAFqEI0BC4ICACABIAApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggASAAKQMgNwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWCABIAApA2A3A2AgASAAKQNoNwNoIAEgACkDcDcDcCABIAApA3g3A3ggASAAKQOAATcDgAEgASAAKQOIATcDiAEgASAAKQOQATcDkAEgASAAKQOYATcDmAEgASAAKQOgATcDoAEgASAAKQOoATcDqAEgASAAKQOwATcDsAEgASAAKQO4ATcDuAELkgMAIAEgACkDADcDACABIAApAwg3AwggASAAKQMQNwMQIAEgACkDGDcDGCABIAApAyA3AyAgASAAKQMoNwMoIAEgACkDMDcDMCABIAApAzg3AzggASAAKQNANwNAIAEgACkDSDcDSCABIAApA1A3A1AgASAAKQNYNwNYIAEgACkDYDcDYCABIAApA2g3A2ggASAAKQNwNwNwIAEgACkDeDcDeCABIAApA4ABNwOAASABIAApA4gBNwOIASABIAApA5ABNwOQASABIAApA5gBNwOYASABIAApA6ABNwOgASABIAApA6gBNwOoASABIAApA7ABNwOwASABIAApA7gBNwO4ASABIAApA8ABNwPAASABIAApA8gBNwPIASABIAApA9ABNwPQASABIAApA9gBNwPYASABIAApA+ABNwPgASABIAApA+gBNwPoASABIAApA/ABNwPwASABIAApA/gBNwP4ASABIAApA4ACNwOAAiABIAApA4gCNwOIAiABIAApA5ACNwOQAiABIAApA5gCNwOYAgshACABQcABahCOASAAQeAAaiABQeAAahCPASAAIAEQjwELHAEBfyAAIAEQmQEgAEHgAGogAUHgAGoQmQFxDwuLAQEBfyAAQcABaiECIAAQowEEQCABEKIBDwsgARCiAQRAQQAPCyACEIwBBEAgACABEKkBDwsgAkHo8wAQkgEgAUHo8wBByPQAEJAB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BEAgASACEKcBDwsgARCjAQRAIAAgAhCnAQ8LIAMQjAEEQCABIAAgAhCvAQ8LIAQQjAEEQCAAIAEgAhCvAQ8LIANBqJkBEJIBIARBiJoBEJIBIABBiJoBQeiaARCQASABQaiZAUHImwEQkAEgA0GomQFBqJwBEJABIARBiJoBQYidARCQASAAQeAAakGInQFB6J0BEJABIAFB4ABqQaicAUHIngEQkAFB6JoBQcibARCZAQRAQeidAUHIngEQmQEEQCAAIAIQrQEPCwtByJsBQeiaAUGonwEQlAFByJ4BQeidAUGIoAEQlAFBqJ8BQaifAUHooAEQkwFB6KABQeigARCSAUGonwFB6KABQcihARCQAUGIoAFBiKABQaiiARCTAUHomgFB6KABQeijARCQAUGoogFBiKMBEJIBQeijAUHoowFByKQBEJMBQYijAUHIoQEgAhCUASACQcikASACEJQBQeidAUHIoQFBqKUBEJABQailAUGopQFBqKUBEJMBQeijASACIAJB4ABqEJQBIAJB4ABqQaiiASACQeAAahCQASACQeAAakGopQEgAkHgAGoQlAEgAyAEIAJBwAFqEJMBIAJBwAFqIAJBwAFqEJIBIAJBwAFqQaiZASACQcABahCUASACQcABakGImgEgAkHAAWoQlAEgAkHAAWpBqJ8BIAJBwAFqEJABCxgAIAAgARCPASAAQeAAaiABQeAAahCVAQsnACAAIAEQjwEgAEHgAGogAUHgAGoQlQEgAEHAAWogAUHAAWoQjwELFgAgAUGIpgEQsQEgAEGIpgEgAhCuAQsWACABQaioARCxASAAQaioASACEK8BCxYAIAFByKoBELIBIABByKoBIAIQsAELGAAgACABEJgBIABB4ABqIAFB4ABqEJgBCycAIAAgARCYASAAQeAAaiABQeAAahCYASAAQcABaiABQcABahCYAQsYACAAIAEQlwEgAEHgAGogAUHgAGoQlwELJwAgACABEJcBIABB4ABqIAFB4ABqEJcBIABBwAFqIAFBwAFqEJcBC14AIAAQowEEQCABEI0BIAFB4ABqEI0BBSAAQcABakHorAEQmgFB6KwBQcitARCSAUHorAFByK0BQaiuARCQASAAQcitASABEJABIABB4ABqQaiuASABQeAAahCQAQsLvgEFAX8BfwF/AX8Bf0EAKAIA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aiAAIARBoAJqEPYBIARBoAJqIAFBqJMDIARBoAJqEJsCIARBoAJqQeiOAyAEQaACahD3ASAEQaACakGIkQMgBEGgAmoQ9wFBiJEDIAQQ8wEgBCAEEIICIARB6I4DIAQQ9gELUAAgASAAQTBqQYiUAxAUIAFBMGogAEEwakG4lAMQFCABQeAAaiAAQeiUAxAUIAFBkAFqIABBmJUDEBQgAiABQcABakHolANBiJQDIAIQnAILbAAgAEHItwQgARCQASAAQeAAakGouAQgAUHgAGoQkAEgAEHAAWpBiLkEIAFBwAFqEJABIABBoAJqQei5BCABQaACahCQASAAQYADakHIugQgAUGAA2oQkAEgAEHgA2pBqLsEIAFB4ANqEJABC4oCACAAIAEQACAAQTBqIAFBMGoQEiABQYi8BCABEJABIABB4ABqIAFB4ABqEAAgAEGQAWogAUGQAWoQEiABQeAAakHovAQgAUHgAGoQkAEgAEHAAWogAUHAAWoQACAAQfABaiABQfABahASIAFBwAFqQci9BCABQcABahCQASAAQaACaiABQaACahAAIABB0AJqIAFB0AJqEBIgAUGgAmpBqL4EIAFBoAJqEJABIABBgANqIAFBgANqEAAgAEGwA2ogAUGwA2oQEiABQYADakGIvwQgAUGAA2oQkAEgAEHgA2ogAUHgA2oQACAAQZAEaiABQZAEahASIAFB4ANqQei/BCABQeADahCQAQtsACAAQcjABCABEJABIABB4ABqQajBBCABQeAAahCQASAAQcABakGIwgQgAUHAAWoQkAEgAEGgAmpB6MIEIAFBoAJqEJABIABBgANqQcjDBCABQYADahCQASAAQeADakGoxAQgAUHgA2oQkAELigIAIAAgARAAIABBMGogAUEwahASIAFBiMUEIAEQkAEgAEHgAGogAUHgAGoQACAAQZABaiABQZABahASIAFB4ABqQejFBCABQeAAahCQASAAQcABaiABQcABahAAIABB8AFqIAFB8AFqEBIgAUHAAWpByMYEIAFBwAFqEJABIABBoAJqIAFBoAJqEAAgAEHQAmogAUHQAmoQEiABQaACakGoxwQgAUGgAmoQkAEgAEGAA2ogAUGAA2oQACAAQbADaiABQbADahASIAFBgANqQYjIBCABQYADahCQASAAQeADaiABQeADahAAIABBkARqIAFBkARqEBIgAUHgA2pB6MgEIAFB4ANqEJABC2wAIABByMkEIAEQkAEgAEHgAGpBqMoEIAFB4ABqEJABIABBwAFqQYjLBCABQcABahCQASAAQaACakHoywQgAUGgAmoQkAEgAEGAA2pByMwEIAFBgANqEJABIABB4ANqQajNBCABQeADahCQAQuKAgAgACABEAAgAEEwaiABQTBqEBIgAUGIzgQgARCQASAAQeAAaiABQeAAahAAIABBkAFqIAFBkAFqEBIgAUHgAGpB6M4EIAFB4ABqEJABIABBwAFqIAFBwAFqEAAgAEHwAWogAUHwAWoQEiABQcABakHIzwQgAUHAAWoQkAEgAEGgAmogAUGgAmoQACAAQdACaiABQdACahASIAFBoAJqQajQBCABQaACahCQASAAQYADaiABQYADahAAIABBsANqIAFBsANqEBIgAUGAA2pBiNEEIAFBgANqEJABIABB4ANqIAFB4ANqEAAgAEGQBGogAUGQBGoQEiABQeADakHo0QQgAUHgA2oQkAELbAAgAEHI0gQgARCQASAAQeAAakGo0wQgAUHgAGoQkAEgAEHAAWpBiNQEIAFBwAFqEJABIABBoAJqQejUBCABQaACahCQASAAQYADakHI1QQgAUGAA2oQkAEgAEHgA2pBqNYEIAFB4ANqEJABC4oCACAAIAEQACAAQTBqIAFBMGoQEiABQYjXBCABEJABIABB4ABqIAFB4ABqEAAgAEGQAWogAUGQAWoQEiABQeAAakHo1wQgAUHgAGoQkAEgAEHAAWogAUHAAWoQACAAQfABaiABQfABahASIAFBwAFqQcjYBCABQcABahCQASAAQaACaiABQaACahAAIABB0AJqIAFB0AJqEBIgAUGgAmpBqNkEIAFBoAJqEJABIABBgANqIAFBgANqEAAgAEGwA2ogAUGwA2oQEiABQYADakGI2gQgAUGAA2oQkAEgAEHgA2ogAUHgA2oQACAAQZAEaiABQZAEahASIAFB4ANqQejaBCABQeADahCQAQtsACAAQcjbBCABEJABIABB4ABqQajcBCABQeAAahCQASAAQcABakGI3QQgAUHAAWoQkAEgAEGgAmpB6N0EIAFBoAJqEJABIABBgANqQcjeBCABQYADahCQASAAQeADakGo3wQgAUHgA2oQkAELigIAIAAgARAAIABBMGogAUEwahASIAFBiOAEIAEQkAEgAEHgAGogAUHgAGoQACAAQZABaiABQZABahASIAFB4ABqQejgBCABQeAAahCQASAAQcABaiABQcABahAAIABB8AFqIAFB8AFqEBIgAUHAAWpByOEEIAFBwAFqEJABIABBoAJqIAFBoAJqEAAgAEHQAmogAUHQAmoQEiABQaACakGo4gQgAUGgAmoQkAEgAEGAA2ogAUGAA2oQACAAQbADaiABQbADahASIAFBgANqQYjjBCABQYADahCQASAAQeADaiABQeADahAAIABBkARqIAFBkARqEBIgAUHgA2pB6OMEIAFB4ANqEJABC9gEACAAQcABakHI5AQQkgEgAUHgAGpBqOUEEJIBQcjkBCABQejmBBCQASABQeAAaiAAQcABaiACQeAAahCTASACQeAAaiACQeAAahCSASACQeAAakGo5QQgAkHgAGoQlAEgAkHgAGpByOQEIAJB4ABqEJQBIAJB4ABqQcjkBCACQeAAahCQAUHo5gQgAEHI5wQQlAFByOcEQajoBBCSAUGo6ARBqOgEQYjpBBCTAUGI6QRBiOkEQYjpBBCTAUGI6QRByOcEQejpBBCQASACQeAAaiAAQeAAakHI6gQQlAFByOoEIABB4ABqQcjqBBCUAUHI6gQgASACQcABahCQAUGI6QQgAEGo6wQQkAFByOoEIAAQkgEgAEHo6QQgABCUASAAQajrBCAAEJQBIABBqOsEIAAQlAEgAEHAAWpByOcEIABBwAFqEJMBIABBwAFqIABBwAFqEJIBIABBwAFqQcjkBCAAQcABahCUASAAQcABakGo6AQgAEHAAWoQlAEgAUHgAGogAEHAAWogAhCTAUGo6wQgAEGI7AQQlAFBiOwEQcjqBEGI7AQQkAEgAEHgAGpB6OkEQejmBBCQAUHo5gRB6OYEQejmBBCTAUGI7ARB6OYEIABB4ABqEJQBIAIgAhCSASACQajlBCACEJQBIABBwAFqQYjmBBCSASACQYjmBCACEJQBIAJBwAFqIAJBwAFqIAJBwAFqEJMBIAJBwAFqIAIgAkHAAWoQlAEgAEHAAWogAEHAAWogAhCTAUHI6gRByOoEEJUBQcjqBEHI6gQgAkHgAGoQkwELsgQAIAAgARCSASAAQeAAakHI7QQQkgFByO0EQajuBBCSAUHI7QQgACABQeAAahCTASABQeAAaiABQeAAahCSASABQeAAaiABIAFB4ABqEJQBIAFB4ABqQajuBCABQeAAahCUASABQeAAaiABQeAAaiABQeAAahCTASABIAFBiO8EEJMBQYjvBCABQYjvBBCTASAAQYjvBCABQcABahCTAUGI7wRB6O8EEJIBIABBwAFqQejsBBCSAUHo7wQgAUHgAGogABCUASAAIAFB4ABqIAAQlAEgAEHAAWogAEHgAGogAEHAAWoQkwEgAEHAAWogAEHAAWoQkgEgAEHAAWpByO0EIABBwAFqEJQBIABBwAFqQejsBCAAQcABahCUASABQeAAaiAAIABB4ABqEJQBIABB4ABqQYjvBCAAQeAAahCQAUGo7gRBqO4EQajuBBCTAUGo7gRBqO4EQajuBBCTAUGo7gRBqO4EQajuBBCTASAAQeAAakGo7gQgAEHgAGoQlAFBiO8EQejsBCABQeAAahCQASABQeAAaiABQeAAaiABQeAAahCTASABQeAAaiABQeAAahCVASABQcABaiABQcABahCSASABQcABaiABIAFBwAFqEJQBIAFBwAFqQejvBCABQcABahCUAUHI7QRByO0EQcjtBBCTAUHI7QRByO0EQcjtBBCTASABQcABakHI7QQgAUHAAWoQlAEgAEHAAWpB6OwEIAEQkAEgASABIAEQkwELCAAgACABEGgLbQIBfwF/IAAgARC8ASABEKMBBEAPCyABQcjwBBCnASABQaACaiECQT4hAwJAA0BByPAEIAIQqQIgAkGgAmohAiADLADoiQMEQEHI8AQgASACEKgCIAJBoAJqIQILIANFDQEgA0EBayEDDAALCwuAAQIBfwF/IAIQhgIgABBPBEAPCyABEE8EQA8LIAFBoAJqIQNBPiEEAkADQCAAIAMgAhCdAiADQaACaiEDIAQsAOiJAwRAIAAgAyACEJ0CIANBoAJqIQMLIAIgAhCKAiAEQQFGDQEgBEEBayEEDAALCyAAIAMgAhCdAiACIAIQjgILEAAgAEHo8gRBoAQgARCXAgvsBQAgACAAQYADakHI+wQQkAEgAEGAA2pBiPcEEO4BIABBiPcEQYj3BBCTASAAIABBgANqQaj8BBCTAUGo/ARBiPcEQYj3BBCQAUHI+wRBqPwEEO4BQcj7BEGo/ARBqPwEEJMBQYj3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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAA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GP////8AAAAAAaQBAP1bQqz6J1729yfGzLeCYtasWBIMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAA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",pq:760,pr:3640,pG1gen:33752,pG1zero:33896,pG1b:5016,pG2gen:34040,pG2zero:34328,pG2b:14728,pOneT:34616,prePSize:288,preQSize:20448,n8q:48,n8r:32,q:"4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787",r:"52435875175126190479447740508185965837690552500527637822603658699938581184513"}};var UA=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<<BigInt(8*i),i+=4):t>=2?(t-=2,I+=BigInt(g.getUint16(t))<<BigInt(8*i),i+=2):(t-=1,I+=BigInt(g.getUint8(t))<<BigInt(8*i),i+=1);return I},beInt2Buff:function(A,I){let t=A;const i=new Uint8Array(I),g=new DataView(i.buffer);let C=I;for(;C>0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t<A.length;)t+4<=A.length?(I+=BigInt(i.getUint32(t,!0))<<BigInt(8*t),t+=4):t+4<=A.length?(I+=BigInt(i.getUint16(t,!0))<<BigInt(8*t),t+=2):(I+=BigInt(i.getUint8(t,!0))<<BigInt(8*t),t+=1);return I},leInt2Buff:function(A,I){let t=A;void 0===I&&0==(I=Math.floor((L(A)-1)/8)+1)&&(I=1);const i=new Uint8Array(I),g=new DataView(i.buffer);let C=0;for(;C<I;)C+4<=I?(g.setUint32(C,Number(0xFFFFFFFFn&t),!0),C+=4,t>>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var GA=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[A.length-t-1]);I=I.add(i.shiftLeft(8*t))}return I},beInt2Buff:function(A,I){let t=A,i=I-1;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i>=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[t]);I=I.add(i.shiftLeft(8*t))}return I},leInt2Buff:function(A,I){let t=A,i=0;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i<g.length;){let A=Number(t.and(r(255)));g[i]=A,i++,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g}});let HA={};"function"==typeof BigInt?Object.assign(HA,UA):Object.assign(HA,GA);const LA=[];for(let A=0;A<256;A++)LA[A]=kA(A,8);function kA(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}HA.bitReverse=function(A,I){return(LA[A>>>24]|LA[A>>>16&255]<<8|LA[A>>>8&255]<<16|LA[255&A]<<24)>>>32-I},HA.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},HA.buffReverseBits=function(A,I){const t=A.byteLength/I,i=HA.log2(t);if(t!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<t;g++){const t=HA.bitReverse(g,i);if(g>t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};let{bitReverse:NA,log2:bA,buffReverseBits:SA,stringifyBigInts:RA,unstringifyBigInts:JA,beBuff2int:vA,beInt2Buff:qA,leBuff2int:YA,leInt2Buff:PA}=HA;var xA=Object.freeze({__proto__:null,bitReverse:NA,log2:bA,buffReverseBits:SA,stringifyBigInts:RA,unstringifyBigInts:JA,beBuff2int:vA,beInt2Buff:qA,leBuff2int:YA,leInt2Buff:PA});function OA(A,I,t,i){return async function(g){const C=Math.floor(g.byteLength/t);if(C*t!==g.byteLength)throw new Error("Invalid buffer size");const e=Math.floor(C/A.concurrency),Q=[];for(let n=0;n<A.concurrency;n++){let B;if(B=n<A.concurrency-1?e:C-n*e,0==B)continue;const r=[{cmd:"ALLOCSET",var:0,buff:g.slice(n*e*t,n*e*t+B*t)},{cmd:"ALLOC",var:1,len:i*B},{cmd:"CALL",fnName:I,params:[{var:0},{val:B},{var:1}]},{cmd:"GET",out:0,var:1,len:i*B}];Q.push(A.queueAction(r))}const n=await Promise.all(Q),B=new Uint8Array(C*i);let r=0;for(let A=0;A<n.length;A++)B.set(n[A][0],r),r+=n[A][0].byteLength;return B}}class XA{constructor(A,I,t,i){if(this.tm=A,this.prefix=I,this.p=i,this.n8=t,this.type="F1",this.m=1,this.half=S(i,d),this.bitLength=L(i),this.mask=X(b(d,this.bitLength),d),this.pOp1=A.alloc(t),this.pOp2=A.alloc(t),this.pOp3=A.alloc(t),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(t/8),this.n32=Math.floor(t/4),8*this.n64!=this.n8)throw new Error("n8 must be a multiple of 8");this.half=S(this.p,d),this.nqr=this.two;let g=this.exp(this.nqr,this.half);for(;!this.eq(g,this.negone);)this.nqr=this.add(this.nqr,this.one),g=this.exp(this.nqr,this.half);this.s=0;let C=X(this.p,d);for(;!v(C);)this.s=this.s+1,C=S(C,d);this.w=[],this.w[this.s]=this.exp(this.nqr,C);for(let A=this.s-1;A>=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=OA(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=OA(A,I+"_batchFromMontgomery",this.n8,this.n8)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=M(G(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,I){if(A instanceof Uint8Array)return A;let t=G(A,I);k(t)?(t=Z(t),tA(t,this.p)&&(t=_(t,this.p)),t=X(this.p,t)):tA(t,this.p)&&(t=_(t,this.p));const i=PA(t,this.n8);return this.toMontgomery(i)}toString(A,I){const t=this.fromMontgomery(A),i=p(t,0);return F(i,I)}fromRng(A){let I;const t=new Uint8Array(this.n8);do{I=m;for(let t=0;t<this.n64;t++)I=O(I,b(A.nextU64(),64*t));I=CA(I,this.mask)}while(gA(I,this.p));return u(t,0,I,this.n8),t}random(){return this.fromRng(yA())}toObject(A){const I=this.fromMontgomery(A);return p(I,0)}fromObject(A){const I=new Uint8Array(this.n8);return u(I,0,A,this.n8),this.toMontgomery(I)}toRprLE(A,I,t){A.set(this.fromMontgomery(t),I)}fromRprLE(A,I){const t=A.slice(I,I+this.n8);return this.toMontgomery(t)}}class ZA{constructor(A,I,t){this.tm=A,this.prefix=I,this.F=t,this.type="F2",this.m=2*t.m,this.n8=2*this.F.n8,this.n32=2*this.F.n32,this.n64=2*this.F.n64,this.pOp1=A.alloc(2*t.n8),this.pOp2=A.alloc(2*t.n8),this.pOp3=A.alloc(2*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=M(G(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}e(A,I){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&2==A.length){const t=this.F.e(A[0],I),i=this.F.e(A[1],I),g=new Uint8Array(2*this.F.n8);return g.set(t),g.set(i,2*this.F.n8),g}throw new Error("invalid F2")}toString(A,I){return`[${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8),I)}]`}fromRng(A){const I=this.F.fromRng(A),t=this.F.fromRng(A),i=new Uint8Array(2*this.F.n8);return i.set(I),i.set(t,this.F.n8),i}random(){return this.fromRng(yA())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8))]}fromObject(A){const I=new Uint8Array(2*this.F.n8),t=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]);return I.set(t),I.set(i,this.F.n8),I}}class jA{constructor(A,I,t){this.tm=A,this.prefix=I,this.F=t,this.type="F3",this.m=3*t.m,this.n8=3*this.F.n8,this.n32=3*this.F.n32,this.n64=3*this.F.n64,this.pOp1=A.alloc(3*t.n8),this.pOp2=A.alloc(3*t.n8),this.pOp3=A.alloc(3*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}add(A,I){return this.op2("_add",A,I)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=M(G(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.getBuff(this.pOp3,this.n8)}e(A,I){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&3==A.length){const t=this.F.e(A[0],I),i=this.F.e(A[1],I),g=this.F.e(A[2],I),C=new Uint8Array(3*this.F.n8);return C.set(t),C.set(i,this.F.n8),C.set(g,2*this.F.n8),C}throw new Error("invalid F3")}toString(A,I){return`[${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),I)}, ${this.F.toString(A.slice(2*this.F.n8),I)}]`}fromRng(A){const I=this.F.fromRng(A),t=this.F.fromRng(A),i=this.F.fromRng(A),g=new Uint8Array(3*this.F.n8);return g.set(I),g.set(t,this.F.n8),g.set(i,2*this.F.n8),g}random(){return this.fromRng(yA())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8)),this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8))]}fromObject(A){const I=new Uint8Array(3*this.F.n8),t=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]),g=this.F.fromObject(A[2]);return I.set(t),I.set(i,this.F.n8),I.set(g,2*this.F.n8),I}}class KA{constructor(A,I,t,i,g,C){this.tm=A,this.prefix=I,this.F=t,this.pOp1=A.alloc(3*t.n8),this.pOp2=A.alloc(3*t.n8),this.pOp3=A.alloc(3*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,3*t.n8),this.tm.instance.exports[I+"_zeroAffine"](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,2*t.n8),this.one=this.tm.getBuff(i,3*t.n8),this.g=this.one,this.oneAffine=this.tm.getBuff(i,2*t.n8),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(g,t.n8),C&&(this.cofactor=M(C)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=OA(A,I+"_batchLEMtoC",2*t.n8,t.n8),this.batchLEMtoU=OA(A,I+"_batchLEMtoU",2*t.n8,2*t.n8),this.batchCtoLEM=OA(A,I+"_batchCtoLEM",t.n8,2*t.n8),this.batchUtoLEM=OA(A,I+"_batchUtoLEM",2*t.n8,2*t.n8),this.batchToJacobian=OA(A,I+"_batchToJacobian",2*t.n8,3*t.n8),this.batchToAffine=OA(A,I+"_batchToAffine",3*t.n8,2*t.n8)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op2bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op1Affine(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,2*this.F.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_add",A,I);if(I.byteLength==2*this.F.n8)return this.op2("_addMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_addMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2("_addAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}sub(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_sub",A,I);if(I.byteLength==2*this.F.n8)return this.op2("_subMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_subMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2("_subAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}neg(A){if(A.byteLength==3*this.F.n8)return this.op1("_neg",A);if(A.byteLength==2*this.F.n8)return this.op1Affine("_negAffine",A);throw new Error("invalid point size")}double(A){if(A.byteLength==3*this.F.n8)return this.op1("_double",A);if(A.byteLength==2*this.F.n8)return this.op1("_doubleAffine",A);throw new Error("invalid point size")}isZero(A){if(A.byteLength==3*this.F.n8)return this.op1Bool("_isZero",A);if(A.byteLength==2*this.F.n8)return this.op1Bool("_isZeroAffine",A);throw new Error("invalid point size")}timesScalar(A,I){let t;if(I instanceof Uint8Array||(I=M(G(I))),A.byteLength==3*this.F.n8)t=this.prefix+"_timesScalar";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");t=this.prefix+"_timesScalarAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[t](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}timesFr(A,I){let t;if(A.byteLength==3*this.F.n8)t=this.prefix+"_timesFr";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");t=this.prefix+"_timesFrAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}eq(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2bool("_eq",A,I);if(I.byteLength==2*this.F.n8)return this.op2bool("_eqMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2bool("_eqMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2bool("_eqAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}toAffine(A){if(A.byteLength==3*this.F.n8)return this.op1Affine("_toAffine",A);if(A.byteLength==2*this.F.n8)return A;throw new Error("invalid point size")}toJacobian(A){if(A.byteLength==3*this.F.n8)return A;if(A.byteLength==2*this.F.n8)return this.op1("_toJacobian",A);throw new Error("invalid point size")}toRprUncompressed(A,I,t){if(this.tm.setBuff(this.pOp1,t),t.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoU"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,I)}fromRprUncompressed(A,I){const t=A.slice(I,I+2*this.F.n8);return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_UtoLEM"](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,2*this.F.n8)}toRprCompressed(A,I,t){if(this.tm.setBuff(this.pOp1,t),t.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoC"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,this.F.n8);A.set(i,I)}fromRprCompressed(A,I){const t=A.slice(I,I+this.F.n8);return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_CtoLEM"](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,2*this.F.n8)}toUncompressed(A){const I=new Uint8Array(2*this.F.n8);return this.toRprUncompressed(I,0,A),I}toRprLEM(A,I,t){if(t.byteLength!=2*this.F.n8){if(t.byteLength!=3*this.F.n8)throw new Error("invalid point size");{this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,I)}}else A.set(t,I)}fromRprLEM(A,I){return I=I||0,A.slice(I,I+2*this.F.n8)}toString(A,I){if(A.byteLength==3*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),I)}, ${this.F.toString(A.slice(2*this.F.n8),I)} ]`}if(A.byteLength==2*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8),I)} ]`}throw new Error("invalid point size")}fromRng(A){const I=this.F;let t,i,g=[];do{g[0]=I.fromRng(A),t=A.nextBool(),i=I.add(I.mul(I.square(g[0]),g[0]),this.b)}while(!I.isSquare(i));g[1]=I.sqrt(i);t^I.isNegative(g[1])&&(g[1]=I.neg(g[1]));let C=new Uint8Array(2*this.F.n8);return C.set(g[0]),C.set(g[1],this.F.n8),this.cofactor&&(C=this.timesScalar(C,this.cofactor)),C}toObject(A){if(this.isZero(A))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];const I=this.F.toObject(A.slice(0,this.F.n8)),t=this.F.toObject(A.slice(this.F.n8,2*this.F.n8));let i;return i=A.byteLength==3*this.F.n8?this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8)):this.F.toObject(this.F.one),[I,t,i]}fromObject(A){const I=this.F.fromObject(A[0]),t=this.F.fromObject(A[1]);let i;if(i=3==A.length?this.F.fromObject(A[2]):this.F.one,this.F.isZero(i,this.F.one))return this.zeroAffine;if(this.F.eq(i,this.F.one)){const A=new Uint8Array(2*this.F.n8);return A.set(I),A.set(t,this.F.n8),A}{const A=new Uint8Array(3*this.F.n8);return A.set(I),A.set(t,this.F.n8),A.set(i,2*this.F.n8),A}}e(A){return A instanceof Uint8Array?A:this.fromObject(A)}}function VA(A){let I,t,i,g;async function C(A){const C=new Uint8Array(A.code),e=await WebAssembly.compile(C);t=new WebAssembly.Memory({initial:A.init}),i=new Uint32Array(t.buffer),g=new Uint8Array(t.buffer),I=await WebAssembly.instantiate(e,{env:{memory:t}})}function e(A){for(;3&i[0];)i[0]++;const I=i[0];for(i[0]+=A;i[0]>t.buffer.byteLength;)t.grow(100);return I}function Q(A){const I=e(A.byteLength);return n(I,A),I}function n(A,I){g.set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return C(A[0]);const t={vars:[],out:[]},B=i[0];for(let i=0;i<A.length;i++)switch(A[i].cmd){case"ALLOCSET":t.vars[A[i].var]=Q(A[i].buff);break;case"ALLOC":t.vars[A[i].var]=e(A[i].len);break;case"SET":n(t.vars[A[i].var],A[i].buff);break;case"CALL":{const g=[];for(let I=0;I<A[i].params.length;I++){const C=A[i].params[I];void 0!==C.var?g.push(t.vars[C.var]+(C.offset||0)):void 0!==C.val&&g.push(C.val)}I.exports[A[i].fnName](...g);break}case"GET":t.out[A[i].out]=(r=t.vars[A[i].var],E=A[i].len,new Uint8Array(g.buffer,g.byteOffset+r,E)).slice();break;default:throw new Error("Invalid cmd")}var r,E;return i[0]=B,t.out}return A&&(A.onmessage=function(I){let t;if(t=I.data?I.data:I,"INIT"==t[0].cmd)C(t[0]).then((function(){A.postMessage(t.result)}));else if("TERMINATE"==t[0].cmd)process.exit();else{const I=B(t);A.postMessage(I)}}),B}const zA="undefined"!=typeof window;let WA;zA||(WA=DA.Worker);class TA{constructor(){this.promise=new Promise((A,I)=>{this.reject=I,this.resolve=A})}}function _A(A){for(var I=window.atob(A),t=I.length,i=new Uint8Array(t),g=0;g<t;g++)i[g]=I.charCodeAt(g);return i}class $A{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(0!=this.oldPFree)throw new Error("Sync operation in progress");this.oldPFree=this.u32[0]}endSyncOp(){if(0==this.oldPFree)throw new Error("No sync operation in progress");this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(A,I,t,i){if(this.working[A])throw new Error("Posting a job t a working worker");return this.working[A]=!0,this.pendingDeferreds[A]=i||new TA,this.workers[A].postMessage(I,t),this.pendingDeferreds[A].promise}processWorks(){for(let A=0;A<this.workers.length&&this.actionQueue.length>0;A++)if(0==this.working[A]){const I=this.actionQueue.shift();this.postAction(A,I.data,I.transfers,I.deferred)}}queueAction(A,I){const t=new TA;if(this.singleThread){const I=this.taskManager(A);t.resolve(I)}else this.actionQueue.push({data:A,transfers:I,deferred:t}),this.processWorks();return t.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const I=this.alloc(A.byteLength);return this.setBuff(I,A),I}getBuff(A,I){return this.u8.slice(A,A+I)}setBuff(A,I){this.u8.set(new Uint8Array(I),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const I=this.u32[0];return this.u32[0]+=A,I}async terminate(){for(let A=0;A<this.workers.length;A++)this.workers[A].postMessage([{cmd:"TERMINATE"}]);var A;await(A=200,new Promise(I=>setTimeout(I,A)))}}function AI(A,I){const t=A[I],i=A.Fr,g=A.tm;A[I].batchApplyKey=async function(A,C,e,Q,n){let B,r,E,h,s;if(Q=Q||"affine",n=n||"affine","G1"==I)"jacobian"==Q?(E=3*t.F.n8,B="g1m_batchApplyKey"):(E=2*t.F.n8,B="g1m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?s=3*t.F.n8:(r="g1m_batchToAffine",s=2*t.F.n8);else if("G2"==I)"jacobian"==Q?(E=3*t.F.n8,B="g2m_batchApplyKey"):(E=2*t.F.n8,B="g2m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?s=3*t.F.n8:(r="g2m_batchToAffine",s=2*t.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);B="frm_batchApplyKey",E=t.n8,h=t.n8,s=t.n8}const o=Math.floor(A.byteLength/E),a=Math.floor(o/g.concurrency),f=[];e=i.e(e);let w=i.e(C);for(let I=0;I<g.concurrency;I++){let t;if(t=I<g.concurrency-1?a:o-I*a,0==t)continue;const C=[];C.push({cmd:"ALLOCSET",var:0,buff:A.slice(I*a*E,I*a*E+t*E)}),C.push({cmd:"ALLOCSET",var:1,buff:w}),C.push({cmd:"ALLOCSET",var:2,buff:e}),C.push({cmd:"ALLOC",var:3,len:t*Math.max(h,s)}),C.push({cmd:"CALL",fnName:B,params:[{var:0},{val:t},{var:1},{var:2},{var:3}]}),r&&C.push({cmd:"CALL",fnName:r,params:[{var:3},{val:t},{var:3}]}),C.push({cmd:"GET",out:0,var:3,len:t*s}),f.push(g.queueAction(C)),w=i.mul(w,i.exp(e,t))}const D=await Promise.all(f),c=new Uint8Array(o*s);let u=0;for(let A=0;A<D.length;A++)c.set(D[A][0],u),u+=D[A][0].byteLength;return c}}const II=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function tI(A,I){const t=A[I];async function i(A,i,g){let C,e;if(g=g||"affine","G1"==I)"affine"==g?(e="g1m_multiexpAffine_chunk",C=2*t.F.n8):(e="g1m_multiexp_chunk",C=3*t.F.n8);else{if("G2"!=I)throw new Error("Invalid group");"affine"==g?(e="g2m_multiexpAffine_chunk",C=2*t.F.n8):(e="g2m_multiexp_chunk",C=3*t.F.n8)}const Q=Math.floor(A.byteLength/C);if(0==Q)return t.zero;const n=Math.floor(i.byteLength/Q);if(n*Q!=i.byteLength)throw new Error("Scalar size does not match");const B=II[bA(Q)],r=Math.floor((8*n-1)/B)+1,E=[];for(let I=0;I<r;I++){const g=[{cmd:"ALLOCSET",var:0,buff:A},{cmd:"ALLOCSET",var:1,buff:i},{cmd:"ALLOC",var:2,len:3*t.F.n8},{cmd:"CALL",fnName:e,params:[{var:0},{var:1},{val:n},{val:Q},{val:I*B},{val:Math.min(8*n-I*B,B)},{var:2}]},{cmd:"GET",out:0,var:2,len:3*t.F.n8}];E.push(t.tm.queueAction(g))}const h=await Promise.all(E);let s=t.zero;for(let A=h.length-1;A>=0;A--){if(!t.isZero(s))for(let A=0;A<B;A++)s=t.double(s);s=t.add(s,h[A][0])}return s}t.multiExp=async function(A,I){return await i(A,I,"jacobian")},t.multiExpAffine=async function(A,I){return await i(A,I,"affine")}}function iI(A,I){const t=A[I],i=A.Fr,g=t.tm;async function C(C,e,Q,n,B){Q=Q||"affine",n=n||"affine";let r,E,h,s,o,a,f,w,D;"G1"==I?("affine"==Q?(r=2*t.F.n8,s="g1m_batchToJacobian"):r=3*t.F.n8,E=3*t.F.n8,e?(a="g1m_ifft",D="g1m_fftFinal"):a="g1m_fft",w="g1m_fftJoin",f="g1m_fftMix","affine"==n?(h=2*t.F.n8,o="g1m_batchToAffine"):h=3*t.F.n8):"G2"==I?("affine"==Q?(r=2*t.F.n8,s="g2m_batchToJacobian"):r=3*t.F.n8,E=3*t.F.n8,e?(a="g2m_ifft",D="g2m_fftFinal"):a="g2m_fft",w="g2m_fftJoin",f="g2m_fftMix","affine"==n?(h=2*t.F.n8,o="g2m_batchToAffine"):h=3*t.F.n8):"Fr"==I&&(r=t.n8,E=t.n8,h=t.n8,e?(a="frm_ifft",D="frm_fftFinal"):a="frm_fft",f="frm_fftMix",w="frm_fftJoin");let c=!1;Array.isArray(C)&&(C=A.array2buffer(C,r),c=!0);const u=C.byteLength/r,y=bA(u);if(1<<y!=u)throw new Error("fft must be multiple of 2");let p,l;if(e&&(p=i.inv(i.e(u))),u<=4096){const A=[];A.push({cmd:"ALLOC",var:0,len:E*u}),A.push({cmd:"SET",var:0,buff:C}),s&&A.push({cmd:"CALL",fnName:s,params:[{var:0},{val:u},{var:0}]}),A.push({cmd:"CALL",fnName:a,params:[{var:0},{val:u}]}),o&&A.push({cmd:"CALL",fnName:o,params:[{var:0},{val:u},{var:0}]}),A.push({cmd:"GET",out:0,var:0,len:h*u});l=(await g.queueAction(A))[0]}else{let A;SA(C,r);const I=4096,t=u/I,Q=[];for(let A=0;A<t;A++){const i=[];i.push({cmd:"ALLOC",var:0,len:E*I});const e=C.slice(I*A*r,I*(A+1)*r);i.push({cmd:"SET",var:0,buff:e}),s&&i.push({cmd:"CALL",fnName:s,params:[{var:0},{val:I},{var:0}]});for(let A=1;A<=12;A++)i.push({cmd:"CALL",fnName:f,params:[{var:0},{val:I},{val:A}]});i.push({cmd:"GET",out:0,var:0,len:E*I}),Q.push(g.queueAction(i).then(I=>(B&&B.debug(`fft: ${A}/${t}`),I)))}A=await Promise.all(Q);for(let I=0;I<t;I++)A[I]=A[I][0];for(let C=13;C<=y;C++){B&&B.debug(`fft join ${C}/${y}`);const e=1<<y-C,Q=t/e,n=[];for(let t=0;t<e;t++)for(let e=0;e<Q/2;e++){const B=i.exp(i.w[C],e*I),r=i.w[C],s=t*Q+e,a=t*Q+e+Q/2,f=[];f.push({cmd:"ALLOCSET",var:0,buff:A[s]}),f.push({cmd:"ALLOCSET",var:1,buff:A[a]}),f.push({cmd:"ALLOCSET",var:2,buff:B}),f.push({cmd:"ALLOCSET",var:3,buff:r}),f.push({cmd:"CALL",fnName:w,params:[{var:0},{var:1},{val:I},{var:2},{var:3}]}),C==y?(D&&(f.push({cmd:"ALLOCSET",var:4,buff:p}),f.push({cmd:"CALL",fnName:D,params:[{var:0},{val:I},{var:4}]}),f.push({cmd:"CALL",fnName:D,params:[{var:1},{val:I},{var:4}]})),o&&(f.push({cmd:"CALL",fnName:o,params:[{var:0},{val:I},{var:0}]}),f.push({cmd:"CALL",fnName:o,params:[{var:1},{val:I},{var:1}]})),f.push({cmd:"GET",out:0,var:0,len:I*h}),f.push({cmd:"GET",out:1,var:1,len:I*h})):(f.push({cmd:"GET",out:0,var:0,len:I*E}),f.push({cmd:"GET",out:1,var:1,len:I*E})),n.push(g.queueAction(f))}const r=await Promise.all(n);for(let I=0;I<e;I++)for(let t=0;t<Q/2;t++){const i=I*Q+t,g=I*Q+t+Q/2,C=r.shift();A[i]=C[0],A[g]=C[1]}}if(l=new Uint8Array(u*h),e){l.set(A[0].slice((I-1)*h));let i=h;for(let g=t-1;g>0;g--)l.set(A[g],i),i+=I*h,delete A[g];l.set(A[0].slice(0,(I-1)*h),i),delete A[0]}else for(let i=0;i<t;i++)l.set(A[i],I*h*i),delete A[i]}return c?A.buffer2array(l,h):l}t.fft=async function(A,I,t,i){return await C(A,!1,I,t,i)},t.ifft=async function(A,I,t,i){return await C(A,!0,I,t,i)},t.fftMix=async function(A){const C=3*t.F.n8;let e,Q;if("G1"==I)e="g1m_fftMix",Q="g1m_fftJoin";else if("G2"==I)e="g2m_fftMix",Q="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");e="frm_fftMix",Q="frm_fftJoin"}const n=Math.floor(A.byteLength/C),B=bA(n);let r=1<<bA(g.concurrency);n<=2*r&&(r=1);const E=n/r,h=bA(E),s=[];for(let I=0;I<r;I++){const t=[],i=A.slice(I*E*C,(I+1)*E*C);t.push({cmd:"ALLOCSET",var:0,buff:i});for(let A=1;A<=h;A++)t.push({cmd:"CALL",fnName:e,params:[{var:0},{val:E},{val:A}]});t.push({cmd:"GET",out:0,var:0,len:E*C}),s.push(g.queueAction(t))}const o=await Promise.all(s),a=[];for(let A=0;A<o.length;A++)a[A]=o[A][0];for(let A=h+1;A<=B;A++){const I=1<<B-A,t=r/I,e=[];for(let n=0;n<I;n++)for(let I=0;I<t/2;I++){const B=i.exp(i.w[A],I*E),r=i.w[A],h=n*t+I,s=n*t+I+t/2,o=[];o.push({cmd:"ALLOCSET",var:0,buff:a[h]}),o.push({cmd:"ALLOCSET",var:1,buff:a[s]}),o.push({cmd:"ALLOCSET",var:2,buff:B}),o.push({cmd:"ALLOCSET",var:3,buff:r}),o.push({cmd:"CALL",fnName:Q,params:[{var:0},{var:1},{val:E},{var:2},{var:3}]}),o.push({cmd:"GET",out:0,var:0,len:E*C}),o.push({cmd:"GET",out:1,var:1,len:E*C}),e.push(g.queueAction(o))}const n=await Promise.all(e);for(let A=0;A<I;A++)for(let I=0;I<t/2;I++){const i=A*t+I,g=A*t+I+t/2,C=n.shift();a[i]=C[0],a[g]=C[1]}}const f=new Uint8Array(n*C);let w=0;for(let A=0;A<r;A++)f.set(a[A],w),w+=a[A].byteLength;return f},t.fftJoin=async function(A,C,e,Q){const n=3*t.F.n8;let B;if("G1"==I)B="g1m_fftJoin";else{if("G2"!=I)throw new Error("Invalid group");B="g2m_fftJoin"}if(A.byteLength!=C.byteLength)throw new Error("Invalid buffer size");const r=Math.floor(A.byteLength/n);if(r!=1<<bA(r))throw new Error("Invalid number of points");let E=1<<bA(g.concurrency);r<=2*E&&(E=1);const h=r/E,s=[];for(let I=0;I<E;I++){const t=[],r=i.mul(e,i.exp(Q,I*h)),E=A.slice(I*h*n,(I+1)*h*n),o=C.slice(I*h*n,(I+1)*h*n);t.push({cmd:"ALLOCSET",var:0,buff:E}),t.push({cmd:"ALLOCSET",var:1,buff:o}),t.push({cmd:"ALLOCSET",var:2,buff:r}),t.push({cmd:"ALLOCSET",var:3,buff:Q}),t.push({cmd:"CALL",fnName:B,params:[{var:0},{var:1},{val:h},{var:2},{var:3}]}),t.push({cmd:"GET",out:0,var:0,len:h*n}),t.push({cmd:"GET",out:1,var:1,len:h*n}),s.push(g.queueAction(t))}const o=await Promise.all(s),a=new Uint8Array(r*n),f=new Uint8Array(r*n);let w=0;for(let A=0;A<o.length;A++)a.set(o[A][0],w),f.set(o[A][1],w),w+=o[A][0].byteLength;return[a,f]},t.fftFinal=async function(A,i){const C=3*t.F.n8,e=2*t.F.n8;let Q,n;if("G1"==I)Q="g1m_fftFinal",n="g1m_batchToAffine";else{if("G2"!=I)throw new Error("Invalid group");Q="g2m_fftFinal",n="g2m_batchToAffine"}const B=Math.floor(A.byteLength/C);if(B!=1<<bA(B))throw new Error("Invalid number of points");const r=Math.floor(B/g.concurrency),E=[];for(let I=0;I<g.concurrency;I++){let t;if(t=I<g.concurrency-1?r:B-I*r,0==t)continue;const h=[],s=A.slice(I*r*C,(I*r+t)*C);h.push({cmd:"ALLOCSET",var:0,buff:s}),h.push({cmd:"ALLOCSET",var:1,buff:i}),h.push({cmd:"CALL",fnName:Q,params:[{var:0},{val:t},{var:1}]}),h.push({cmd:"CALL",fnName:n,params:[{var:0},{val:t},{var:0}]}),h.push({cmd:"GET",out:0,var:0,len:t*e}),E.push(g.queueAction(h))}const h=await Promise.all(E),s=new Uint8Array(B*e);let o=0;for(let A=h.length-1;A>=0;A--)s.set(h[A][0],o),o+=h[A][0].byteLength;return s}}async function gI(A){const I=await async function(A,I){const t=new $A;t.memory=new WebAssembly.Memory({initial:8192}),t.u8=new Uint8Array(t.memory.buffer),t.u32=new Uint32Array(t.memory.buffer);const i=await WebAssembly.compile(_A(A.code));if(t.instance=await WebAssembly.instantiate(i,{env:{memory:t.memory}}),t.singleThread=I,t.initalPFree=t.u32[0],t.pq=A.pq,t.pr=A.pr,t.pG1gen=A.pG1gen,t.pG1zero=A.pG1zero,t.pG2gen=A.pG2gen,t.pG2zero=A.pG2zero,t.pOneT=A.pOneT,I)t.code=_A(A.code),t.taskManager=VA(),await t.taskManager([{cmd:"INIT",init:8192,code:t.code.slice()}]),t.concurrency=1;else{let I;t.workers=[],t.pendingDeferreds=[],t.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:DA.cpus().length,t.concurrency=I;for(let A=0;A<I;A++){if(zA){const I=new Blob(["(",VA.toString(),")(self);"],{type:"text/javascript"}),i=URL.createObjectURL(I);t.workers[A]=new Worker(i),t.workers[A].onmessage=g(A)}else t.workers[A]=new WA("("+VA.toString()+")(require('worker_threads').parentPort);",{eval:!0}),t.workers[A].on("message",g(A));t.working[A]=!1}const i=[];for(let I=0;I<t.workers.length;I++){const g=_A(A.code).slice();i.push(t.postAction(I,[{cmd:"INIT",init:8192,code:g}],[g.buffer]))}await Promise.all(i)}return t;function g(A){return function(I){let i;i=I&&I.data?I.data:I,t.working[A]=!1,t.pendingDeferreds[A].resolve(i),t.processWorks()}}}(A.wasm,A.singleThread),t={};return t.q=G(A.wasm.q),t.r=G(A.wasm.r),t.name=A.name,t.tm=I,t.prePSize=A.wasm.prePSize,t.preQSize=A.wasm.preQSize,t.Fr=new XA(I,"frm",A.n8r,A.r),t.F1=new XA(I,"f1m",A.n8q,A.q),t.F2=new ZA(I,"f2m",t.F1),t.G1=new KA(I,"g1m",t.F1,A.wasm.pG1gen,A.wasm.pG1b,A.cofactorG1),t.G2=new KA(I,"g2m",t.F2,A.wasm.pG2gen,A.wasm.pG2b,A.cofactorG2),t.F6=new jA(I,"f6m",t.F2),t.F12=new ZA(I,"ftm",t.F6),t.Gt=t.F12,AI(t,"G1"),AI(t,"G2"),AI(t,"Fr"),tI(t,"G1"),tI(t,"G2"),iI(t,"G1"),iI(t,"G2"),iI(t,"Fr"),function(A){const I=A.tm;A.pairing=function(t,i){I.startSyncOp();const g=I.allocBuff(A.G1.toJacobian(t)),C=I.allocBuff(A.G2.toJacobian(i)),e=I.alloc(A.Gt.n8);I.instance.exports[A.name+"_pairing"](g,C,e);const Q=I.getBuff(e,A.Gt.n8);return I.endSyncOp(),Q},A.pairingEq=async function(){let t,i;arguments.length%2==1?(t=arguments[arguments.length-1],i=(arguments.length-1)/2):(t=A.Gt.one,i=arguments.length/2);const g=[];for(let t=0;t<i;t++){const i=[],C=A.G1.toJacobian(arguments[2*t]);i.push({cmd:"ALLOCSET",var:0,buff:C}),i.push({cmd:"ALLOC",var:1,len:A.prePSize});const e=A.G2.toJacobian(arguments[2*t+1]);i.push({cmd:"ALLOCSET",var:2,buff:e}),i.push({cmd:"ALLOC",var:3,len:A.preQSize}),i.push({cmd:"ALLOC",var:4,len:A.Gt.n8}),i.push({cmd:"CALL",fnName:A.name+"_prepareG1",params:[{var:0},{var:1}]}),i.push({cmd:"CALL",fnName:A.name+"_prepareG2",params:[{var:2},{var:3}]}),i.push({cmd:"CALL",fnName:A.name+"_millerLoop",params:[{var:1},{var:3},{var:4}]}),i.push({cmd:"GET",out:0,var:4,len:A.Gt.n8}),g.push(I.queueAction(i))}const C=await Promise.all(g);I.startSyncOp();const e=I.alloc(A.Gt.n8);I.instance.exports.ftm_one(e);for(let A=0;A<C.length;A++){const t=I.allocBuff(C[A][0]);I.instance.exports.ftm_mul(e,t,e)}I.instance.exports[A.name+"_finalExponentiation"](e,e);const Q=I.allocBuff(t),n=!!I.instance.exports.ftm_eq(e,Q);return I.endSyncOp(),n},A.prepareG1=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+"_prepareG1"](I,t);const i=this.tm.getBuff(t,this.prePSize);return this.tm.endSyncOp(),i},A.prepareG2=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+"_prepareG2"](I,t);const i=this.tm.getBuff(t,this.preQSize);return this.tm.endSyncOp(),i},A.millerLoop=function(A,I){this.tm.startSyncOp();const t=this.tm.allocBuff(A),i=this.tm.allocBuff(I),g=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_millerLoop"](t,i,g);const C=this.tm.getBuff(g,this.Gt.n8);return this.tm.endSyncOp(),C},A.finalExponentiation=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_finalExponentiation"](I,t);const i=this.tm.getBuff(t,this.Gt.n8);return this.tm.endSyncOp(),i}}(t),t.array2buffer=function(A,I){const t=new Uint8Array(I*A.length);for(let i=0;i<A.length;i++)t.set(A[i],i*I);return t},t.buffer2array=function(A,I){const t=A.length/I,i=new Array(t);for(let g=0;g<t;g++)i[g]=A.slice(g*I,g*I+I);return i},t}let CI,eI;async function QI(){if(CI)return CI;const A={name:"bn128",wasm:dA.bn128_wasm,q:G("21888242871839275222246405745257275088696311157297823662689037894645226208583"),r:G("21888242871839275222246405745257275088548364400416034343698204186575808495617"),n8q:32,n8r:32,cofactorG2:G("30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d",16),singleThread:!1};return CI=await gI(A),CI.terminate=async function(){CI=null,await this.tm.terminate()},CI}async function nI(){if(eI)return eI;const A={name:"bls12381",wasm:dA.bls12381_wasm,q:G("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),r:G("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),n8q:48,n8r:32,cofactorG1:G("0x396c8c005555e1568c00aaab0000aaab",16),cofactorG2:G("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5",16),singleThread:!1};return eI=await gI(A),eI.terminate=async function(){eI=null,await this.tm.terminate()},eI}const BI=EA,rI=xA;async function EI(A,I,t){if(t=t||262144,["w+","wx+","r","ax+","a+"].indexOf(I)<0)throw new Error("Invalid open option");const i=await DA.promises.open(A,I),g=await i.stat();return new fI(i,g,t,A)}const hI=new Uint8Array(4),sI=new DataView(hI.buffer),oI=new Uint8Array(8),aI=new DataView(oI.buffer);class fI{constructor(A,I,t,i){for(this.fileName=i,this.fd=A,this.pos=0,this.pageBits=8,this.pageSize=1<<this.pageBits;this.pageSize<4*I.blksize;)this.pageBits++,this.pageSize*=2;this.totalSize=I.size,this.totalPages=Math.floor((I.size-1)/this.pageSize)+1,this.maxPagesLoaded=Math.floor(t/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1}_loadPage(A){const I=this;return new Promise((t,i)=>{I.pendingLoads.push({page:A,resolve:t,reject:i}),setImmediate(I._triggerLoad.bind(I))})}_triggerLoad(){const A=this;if(function(){const I=[];for(let t=0;t<A.pendingLoads.length;t++){const i=A.pendingLoads[t];void 0!==A.pages[i.page]?(A.pages[i.page].pendingOps++,i.resolve()):I.push(i)}A.pendingLoads=I}(),0==A.pendingLoads.length)return;if(Object.keys(A.pages).length>=A.maxPagesLoaded){const I=function(){for(let I in A.pages){const t=A.pages[I];if(0==t.dirty&&0==t.pendingOps)return I}return-1}();if(I<0)return;delete A.pages[I]}const I=A.pendingLoads.shift();if(I.page>=A.totalPages)return A.pages[I.page]={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0},I.resolve(),void setImmediate(A._triggerLoad.bind(A));if(A.reading)return void A.pendingLoads.unshift(I);A.reading=!0;const t={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0};A.fd.read(t.buff,0,A.pageSize,I.page*A.pageSize).then(i=>{t.size=i.bytesRead,A.pages[I.page]=t,A.reading=!1,I.resolve(),setImmediate(A._triggerLoad.bind(A))},A=>{I.reject(A)})}_triggerWrite(){const A=this;if(A.writing)return;const I=A._getDirtyPage();I<0?A.pendingClose&&A.pendingClose():(A.writing=!0,A.pages[I].dirty=!1,A.fd.write(A.pages[I].buff,0,A.pages[I].size,I*A.pageSize).then(()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),setImmediate(A._triggerLoad.bind(A))},I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,I){if(0==A.byteLength)return;const t=this;if(void 0===I&&(I=t.pos),t.pos=I+A.byteLength,t.totalSize<I+A.byteLength&&(t.totalSize=I+A.byteLength),t.pendingClose)throw new Error("Writing a closing file");let i=Math.floor(I/t.pageSize),g=I%t.pageSize,C=A.byteLength;for(;C>0;){await t._loadPage(i);const I=g+C>t.pageSize?t.pageSize-g:C,e=new Uint8Array(A.buffer,A.byteLength-C,I);new Uint8Array(t.pages[i].buff.buffer,g,I).set(e),t.pages[i].dirty=!0,t.pages[i].pendingOps--,t.pages[i].size=Math.max(g+I,t.pages[i].size),i>=t.totalPages&&(t.totalPages=i+1),C-=I,i++,g=0,setImmediate(t._triggerWrite.bind(t))}}async read(A,I){if(0==A)return new Uint8Array(0);const t=this;if(A>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A,t.pendingClose)throw new Error("Reading a closing file");const i=Math.floor(I/t.pageSize);let g=new Uint8Array(A),C=i,e=I%t.pageSize,Q=I+A>t.totalSize?A-(I+A-t.totalSize):A;for(;Q>0;){await t._loadPage(C);const I=e+Q>t.pageSize?t.pageSize-e:Q,i=new Uint8Array(t.pages[C].buff.buffer,e,I);g.set(i,A-Q),t.pages[C].pendingOps--,Q-=I,C++,e=0,setImmediate(t._triggerLoad.bind(t))}return g}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise((I,t)=>{A.pendingClose=I,A.pendingCloseReject=t,A._tryClose()}).then(()=>{A.fd.close()},I=>{throw A.fd.close(),I})}async discard(){await this.close(),await DA.promises.unlink(this.fileName)}async writeULE32(A,I){sI.setUint32(0,A,!0),await this.write(hI,I)}async writeUBE32(A,I){sI.setUint32(0,A,!1),await this.write(hI,I)}async writeULE64(A,I){aI.setUint32(0,4294967295&A,!0),aI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(oI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}const wI=new Uint8Array(4),DI=new DataView(wI.buffer),cI=new Uint8Array(8),uI=new DataView(cI.buffer);class yI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const I=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),t=new Uint8Array(I);t.set(this.o.data),this.o.data=t,this.allocSize=I}}async write(A,I){if(void 0===I&&(I=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength),this.o.data.set(A,I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async read(A,I){if(void 0===I&&(I=this.pos),this.readOnly&&I+A>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(I+A);const t=this.o.data.slice(I,I+A);return this.pos=I+A,t}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){DI.setUint32(0,A,!0),await this.write(wI,I)}async writeUBE32(A,I){DI.setUint32(0,A,!1),await this.write(wI,I)}async writeULE64(A,I){uI.setUint32(0,4294967295&A,!0),uI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(cI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}const pI=new Uint8Array(4),lI=new DataView(pI.buffer),FI=new Uint8Array(8),MI=new DataView(FI.buffer);class mI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A<=this.totalSize)return;if(this.readOnly)throw new Error("Reading out of file bounds");const I=Math.floor((A-1)/(1<<22))+1;for(let t=Math.max(this.o.data.length-1,0);t<I;t++){const i=new Uint8Array(t<I-1?1<<22:A-(I-1)*(1<<22));t==this.o.data.length-1&&i.set(this.o.data[t]),this.o.data[t]=i}this.totalSize=A}async write(A,I){const t=this;if(void 0===I&&(I=t.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength);let i=Math.floor(I/(1<<22)),g=I%(1<<22),C=A.byteLength;for(;C>0;){const I=g+C>1<<22?(1<<22)-g:C,e=new Uint8Array(A.buffer,A.byteLength-C,I);new Uint8Array(t.o.data[i].buffer,g,I).set(e),C-=I,i++,g=0}this.pos=I+A.byteLength}async read(A,I){const t=this;if(void 0===I&&(I=t.pos),this.readOnly&&I+A>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(I+A);const i=Math.floor(I/(1<<22));let g=new Uint8Array(A),C=i,e=I%(1<<22),Q=A;for(;Q>0;){const I=e+Q>1<<22?(1<<22)-e:Q,i=new Uint8Array(t.o.data[C].buffer,e,I);g.set(i,A-Q),Q-=I,C++,e=0}return this.pos=I+A,g}close(){}async discard(){}async writeULE32(A,I){lI.setUint32(0,A,!0),await this.write(pI,I)}async writeUBE32(A,I){lI.setUint32(0,A,!1),await this.write(pI,I)}async writeULE64(A,I){MI.setUint32(0,4294967295&A,!0),MI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(FI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}async function dI(A,I){if("string"==typeof A&&(A={type:"file",fileName:A,cacheSize:I}),"file"==A.type)return await EI(A.fileName,"w+",A.cacheSize);if("mem"==A.type)return function(A){const I=A.initialSize||1<<20,t=new yI;return t.o=A,t.o.data=new Uint8Array(I),t.allocSize=I,t.totalSize=0,t.readOnly=!1,t.pos=0,t}(A);if("bigMem"==A.type)return function(A){const I=A.initialSize||0,t=new mI;t.o=A;const i=I?Math.floor((I-1)/(1<<22))+1:0;t.o.data=[];for(let A=0;A<i-1;A++)t.o.data.push(new Uint8Array(1<<22));return i&&t.o.data.push(new Uint8Array(I-(1<<22)*(i-1))),t.totalSize=0,t.readOnly=!1,t.pos=0,t}(A);throw new Error("Invalid FastFile type: "+A.type)}async function UI(A,I){if(A instanceof Uint8Array&&(A={type:"mem",data:A}),"string"==typeof A){A={type:"mem",data:await fetch(A).then((function(A){return A.arrayBuffer()})).then((function(A){return new Uint8Array(A)}))}}if("file"==A.type)return await EI(A.fileName,"r",A.cacheSize);if("mem"==A.type)return await function(A){const I=new yI;return I.o=A,I.allocSize=A.data.byteLength,I.totalSize=A.data.byteLength,I.readOnly=!0,I.pos=0,I}(A);if("bigMem"==A.type)return await function(A){const I=new mI;return I.o=A,I.totalSize=(A.data.length-1)*(1<<22)+A.data[A.data.length-1].byteLength,I.readOnly=!0,I.pos=0,I}(A);throw new Error("Invalid FastFile type: "+A.type)}async function GI(A,I,t){const i=await UI(A),g=await i.read(4);let C="";for(let A=0;A<4;A++)C+=String.fromCharCode(g[A]);if(C!=I)throw new Error(A+": Invalid File format");if(await i.readULE32()>t)throw new Error("Version not supported");const e=await i.readULE32();let Q=[];for(let A=0;A<e;A++){let A=await i.readULE32(),I=await i.readULE64();void 0===Q[A]&&(Q[A]=[]),Q[A].push({p:i.pos,size:I}),i.pos+=I}return{fd:i,sections:Q}}async function HI(A,I,t,i){const g=await dI(A),C=new Uint8Array(4);for(let A=0;A<4;A++)C[A]=I.charCodeAt(A);return await g.write(C,0),await g.writeULE32(t),await g.writeULE32(i),g}async function LI(A,I){if(void 0!==A.writingSection)throw new Error("Already writing a section");await A.writeULE32(I),A.writingSection={pSectionSize:A.pos},await A.writeULE64(0)}async function kI(A){if(void 0===A.writingSection)throw new Error("Not writing a section");const I=A.pos-A.writingSection.pSectionSize-8,t=A.pos;A.pos=A.writingSection.pSectionSize,await A.writeULE64(I),A.pos=t,delete A.writingSection}async function NI(A,I,t){if(void 0!==A.readingSection)throw new Error("Already reading a section");if(!I[t])throw new Error(A.fileName+": Missing section "+t);if(I[t].length>1)throw new Error(A.fileName+": Section Duplicated "+t);A.pos=I[t][0].p,A.readingSection=I[t][0]}async function bI(A,I){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!I&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size reading");delete A.readingSection}async function SI(A,I,t,i){const g=new Uint8Array(t);BI.toRprLE(g,0,I,t),await A.write(g,i)}async function RI(A,I,t){const i=await A.read(I,t);return BI.fromRprLE(i,0,I)}async function JI(A,I,t,i){const g=A.pageSize;await NI(A,I,i),await LI(t,i);for(let C=0;C<I[i][0].size;C+=g){const e=Math.min(I[i][0].size-C,g),Q=await A.read(e);await t.write(Q)}await kI(t),await bI(A)}async function vI(A,I,t){await NI(A,I,t);const i=await A.read(A.readingSection.size);return await bI(A),i}async function qI(A,I,t,i,g){const C=16*A.pageSize;if(await NI(A,I,g),await NI(t,i,g),I[g][0].size!=i[g][0].size)return!1;const e=I[g][0].size;for(let I=0;I<e;I+=C){const i=Math.min(e-I,C),g=await A.read(i),Q=await t.read(i);for(let A=0;A<i;A++)if(g[A]!=Q[A])return!1}return await bI(A),await bI(t),!0}BI.e("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),BI.e("21888242871839275222246405745257275088548364400416034343698204186575808495617");const YI=BI.e("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),PI=BI.e("21888242871839275222246405745257275088696311157297823662689037894645226208583");async function xI(A){let I;if(BI.eq(A,PI))I=await QI();else{if(!BI.eq(A,YI))throw new Error("Curve not supported: "+BI.toString(A));I=await nI()}return I}XI.notEqual=function(A,I,t){XI(A!=I,t)},XI.notOk=function(A,I){XI(!A,I)},XI.equal=function(A,I,t){XI(A==I,t)},XI.ok=XI;var OI=XI;function XI(A,I){if(!A)throw new Error(I||"AssertionError")}var ZI=jI;function jI(A){if(!jI.supported)return null;var I,t=A&&A.imports,i=(I="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","function"==typeof atob?new Uint8Array(atob(I).split("").map(KI)):function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}().Buffer.from(I,"base64")),g=null,C={buffer:i,memory:null,exports:null,realloc:function(A){C.exports.memory.grow(Math.max(0,Math.ceil(Math.abs(A-C.memory.length)/65536))),C.memory=new Uint8Array(C.exports.memory.buffer)},onload:e};return e((function(){})),C;function e(I){if(C.exports)return I();if(g)g.then(I.bind(null,null)).catch(I);else{try{if(A&&A.async)throw new Error("async");Q({instance:new WebAssembly.Instance(new WebAssembly.Module(i),t)})}catch(A){g=WebAssembly.instantiate(i,t).then(Q)}e(I)}}function Q(A){C.exports=A.instance.exports,C.memory=C.exports.memory&&C.exports.memory.buffer&&new Uint8Array(C.exports.memory.buffer)}}function KI(A){return A.charCodeAt(0)}jI.supported="undefined"!=typeof WebAssembly;var VI=B((function(A){var I=ZI(),t=64,i=[];A.exports=r;var g=A.exports.BYTES_MIN=16,C=A.exports.BYTES_MAX=64,e=(A.exports.BYTES=32,A.exports.KEYBYTES_MIN=16),Q=A.exports.KEYBYTES_MAX=64,n=(A.exports.KEYBYTES=32,A.exports.SALTBYTES=16),B=A.exports.PERSONALBYTES=16;function r(A,E,h,s,o){if(!(this instanceof r))return new r(A,E,h,s,o);if(!I||!I.exports)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");A||(A=32),!0!==o&&(OI(A>=g,"digestLength must be at least "+g+", was given "+A),OI(A<=C,"digestLength must be at most "+C+", was given "+A),null!=E&&(OI(E instanceof Uint8Array,"key must be Uint8Array or Buffer"),OI(E.length>=e,"key must be at least "+e+", was given "+E.length),OI(E.length<=Q,"key must be at least "+Q+", was given "+E.length)),null!=h&&(OI(h instanceof Uint8Array,"salt must be Uint8Array or Buffer"),OI(h.length===n,"salt must be exactly "+n+", was given "+h.length)),null!=s&&(OI(s instanceof Uint8Array,"personal must be Uint8Array or Buffer"),OI(s.length===B,"personal must be exactly "+B+", was given "+s.length))),i.length||(i.push(t),t+=216),this.digestLength=A,this.finalized=!1,this.pointer=i.pop(),I.memory.fill(0,0,64),I.memory[0]=this.digestLength,I.memory[1]=E?E.length:0,I.memory[2]=1,I.memory[3]=1,h&&I.memory.set(h,32),s&&I.memory.set(s,48),this.pointer+216>I.memory.length&&I.realloc(this.pointer+216),I.exports.blake2b_init(this.pointer,this.digestLength),E&&(this.update(E),I.memory.fill(0,t,t+E.length),I.memory[this.pointer+200]=128)}function E(){}function h(A){return A<16?"0"+A.toString(16):A.toString(16)}r.prototype.update=function(A){return OI(!1===this.finalized,"Hash instance finalized"),OI(A instanceof Uint8Array,"input must be Uint8Array or Buffer"),t+A.length>I.memory.length&&I.realloc(t+A.length),I.memory.set(A,t),I.exports.blake2b_update(this.pointer,t,t+A.length),this},r.prototype.getPartialHash=function(){return I.memory.slice(this.pointer,this.pointer+216)},r.prototype.setPartialHash=function(A){I.memory.set(A,this.pointer)},r.prototype.digest=function(A){if(OI(!1===this.finalized,"Hash instance finalized"),this.finalized=!0,i.push(this.pointer),I.exports.blake2b_final(this.pointer),!A||"binary"===A)return I.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if("hex"===A)return function(A,I,t){for(var i="",g=0;g<t;g++)i+=h(A[I+g]);return i}(I.memory,this.pointer+128,this.digestLength);OI(A instanceof Uint8Array&&A.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var t=0;t<this.digestLength;t++)A[t]=I.memory[this.pointer+128+t];return A},r.prototype.final=r.prototype.digest,r.WASM=I&&I.buffer,r.SUPPORTED="undefined"!=typeof WebAssembly,r.ready=function(A){return A||(A=E),I?new Promise((function(t,i){I.onload((function(I){I?i():t(),A(I)}))})):A(new Error("WebAssembly not supported"))},r.prototype.ready=r.ready}));VI.BYTES_MIN,VI.BYTES_MAX,VI.BYTES,VI.KEYBYTES_MIN,VI.KEYBYTES_MAX,VI.KEYBYTES,VI.SALTBYTES,VI.PERSONALBYTES;const zI=[];for(let A=0;A<256;A++)zI[A]=WI(A,8);function WI(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}function TI(A,I){return(zI[A>>>24]|zI[A>>>16&255]<<8|zI[A>>>8&255]<<16|zI[255&A]<<24)>>>32-I}function _I(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)}function $I(A,I){const t=new DataView(A.buffer,A.byteOffset,A.byteLength);let i="";for(let A=0;A<4;A++){A>0&&(i+="\n"),i+="\t\t";for(let I=0;I<4;I++)I>0&&(i+=" "),i+=t.getUint32(16*A+4*I).toString(16).padStart(8,"0")}return I&&(i=I+"\n"+i),i}function At(A,I){if(A.byteLength!=I.byteLength)return!1;for(var t=new Int8Array(A),i=new Int8Array(I),g=0;g!=A.byteLength;g++)if(t[g]!=i[g])return!1;return!0}function It(A){const I=A.getPartialHash(),t=VI(64);return t.setPartialHash(I),t}async function tt(A,I,t,i,g){if(A.G1.isZero(I))return!1;if(A.G1.isZero(t))return!1;if(A.G2.isZero(i))return!1;if(A.G2.isZero(g))return!1;return await A.pairingEq(I,g,A.G1.neg(t),i)}async function it(A){for(;!A;)A=await window.prompt("Enter a random text. (Entropy): ","");const I=VI(64);I.update(DA.randomBytes(64));const t=new TextEncoder;I.update(t.encode(A));const i=Buffer.from(I.digest()),g=[];for(let A=0;A<8;A++)g[A]=i.readUInt32BE(4*A);return new wA(g)}function gt(A,I){let t,i;I<32?(t=1<<I>>>0,i=1):(t=4294967296,i=1<<I-32>>>0);let g=A;for(let A=0;A<i;A++)for(let A=0;A<t;A++)g=DA.createHash("sha256").update(g).digest();const C=new DataView(g.buffer,g.byteOffset,g.byteLength),e=[];for(let A=0;A<8;A++)e[A]=C.getUint32(4*A,!1);return new wA(e)}function Ct(A){return A instanceof Uint8Array?A:("0x"==A.slice(0,2)&&(A=A.slice(2)),new Uint8Array(A.match(/[\da-f]{2}/gi).map((function(A){return parseInt(A,16)}))))}function et(A){return Array.prototype.map.call(A,(function(A){return("0"+(255&A).toString(16)).slice(-2)})).join("")}async function Qt(A,I){await LI(A,1),await A.writeULE32(1),await kI(A);const t=await xI(I.q);await LI(A,2);const i=t.q,g=8*(Math.floor((BI.bitLength(i)-1)/64)+1),C=t.r,e=8*(Math.floor((BI.bitLength(C)-1)/64)+1);await A.writeULE32(g),await SI(A,i,g),await A.writeULE32(e),await SI(A,C,e),await A.writeULE32(I.nVars),await A.writeULE32(I.nPublic),await A.writeULE32(I.domainSize),await nt(A,t,I.vk_alpha_1),await nt(A,t,I.vk_beta_1),await Bt(A,t,I.vk_beta_2),await Bt(A,t,I.vk_gamma_2),await nt(A,t,I.vk_delta_1),await Bt(A,t,I.vk_delta_2),await kI(A)}async function nt(A,I,t){const i=new Uint8Array(2*I.G1.F.n8);I.G1.toRprLEM(i,0,t),await A.write(i)}async function Bt(A,I,t){const i=new Uint8Array(2*I.G2.F.n8);I.G2.toRprLEM(i,0,t),await A.write(i)}async function rt(A,I){const t=await A.read(2*I.G1.F.n8);return I.G1.fromRprLEM(t,0)}async function Et(A,I){const t=await A.read(2*I.G2.F.n8);return I.G2.fromRprLEM(t,0)}async function ht(A,I,t){if("groth16"!=t)throw new Error("Protocol not supported: "+t);const i={};await NI(A,I,1);if(1!=await A.readULE32())throw new Error("File is not groth");i.protocol="groth16",await bI(A),await NI(A,I,2);const g=await A.readULE32();i.n8q=g,i.q=await RI(A,g);const C=await A.readULE32();i.n8r=C,i.r=await RI(A,C);let e=await xI(i.q);return i.nVars=await A.readULE32(),i.nPublic=await A.readULE32(),i.domainSize=await A.readULE32(),i.power=_I(i.domainSize),i.vk_alpha_1=await rt(A,e),i.vk_beta_1=await rt(A,e),i.vk_beta_2=await Et(A,e),i.vk_gamma_2=await Et(A,e),i.vk_delta_1=await rt(A,e),i.vk_delta_2=await Et(A,e),await bI(A),i}async function st(A,I){const t={delta:{}};t.deltaAfter=await rt(A,I),t.delta.g1_s=await rt(A,I),t.delta.g1_sx=await rt(A,I),t.delta.g2_spx=await Et(A,I),t.transcript=await A.read(64),t.type=await A.readULE32();const i=await A.readULE32(),g=A.pos;let C=0;for(;A.pos-g<i;){const I=await A.read(1);if(I[0]<=C)throw new Error("Parameters in the contribution must be sorted");if(C=I[0],1==I[0]){const I=await A.read(1),i=await A.read(I[0]);t.name=(new TextDecoder).decode(i)}else if(2==I[0]){const I=await A.read(1);t.numIterationsExp=I[0]}else{if(3!=I[0])throw new Error("Parameter not recognized");{const I=await A.read(1);t.beaconHash=await A.read(I[0])}}}if(A.pos!=g+i)throw new Error("Parametes do not match");return t}async function ot(A,I,t){await NI(A,t,10);const i={contributions:[]};i.csHash=await A.read(64);const g=await A.readULE32();for(let t=0;t<g;t++){const t=await st(A,I);i.contributions.push(t)}return await bI(A),i}async function at(A,I,t){await nt(A,I,t.deltaAfter),await nt(A,I,t.delta.g1_s),await nt(A,I,t.delta.g1_sx),await Bt(A,I,t.delta.g2_spx),await A.write(t.transcript),await A.writeULE32(t.type||0);const i=[];if(t.name){i.push(1);const A=new TextEncoder("utf-8").encode(t.name.substring(0,64));i.push(A.byteLength);for(let I=0;I<A.byteLength;I++)i.push(A[I])}if(1==t.type){i.push(2),i.push(t.numIterationsExp),i.push(3),i.push(t.beaconHash.byteLength);for(let A=0;A<t.beaconHash.byteLength;A++)i.push(t.beaconHash[A])}if(i.length>0){const I=new Uint8Array(i);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0)}async function ft(A,I,t){await LI(A,10),await A.write(t.csHash),await A.writeULE32(t.contributions.length);for(let i=0;i<t.contributions.length;i++)await at(A,I,t.contributions[i]);await kI(A)}function wt(A,I,t){const i=new Uint8Array(2*I.G1.F.n8);I.G1.toRprUncompressed(i,0,t),A.update(i)}function Dt(A,I,t){wt(A,I,t.deltaAfter),wt(A,I,t.delta.g1_s),wt(A,I,t.delta.g1_sx),function(A,I,t){const i=new Uint8Array(2*I.G2.F.n8);I.G2.toRprUncompressed(i,0,t),A.update(i)}(A,I,t.delta.g2_spx),A.update(t.transcript)}async function ct(A,I){await NI(A,I,1);const t=await A.readULE32(),i=await RI(A,t),g=await A.readULE32();return await bI(A),{n8:t,q:i,nWitness:g}}const{stringifyBigInts:ut}=rI;async function yt(A,I,t){const{fd:i,sections:g}=await GI(I,"wtns",2),C=await ct(i,g),{fd:e,sections:Q}=await GI(A,"zkey",2),n=await ht(e,Q,"groth16");if(!BI.eq(n.r,C.q))throw new Error("Curve of the witness does not match the curve of the proving key");if(C.nWitness!=n.nVars)throw new Error(`Invalid witness length. Circuit: ${n.nVars}, witness: ${C.nWitness}`);const B=await xI(n.q),r=B.Fr,E=B.G1,h=B.G2,s=_I(n.domainSize),o=await vI(i,g,2),a=await vI(e,Q,4),f=await vI(e,Q,5),w=await vI(e,Q,6),D=await vI(e,Q,7),c=await vI(e,Q,8),u=await vI(e,Q,9),[y,p,l]=await async function(A,I,t,i){const g=A.tm.concurrency,C=12+I.n8r,e=Math.floor(I.domainSize/g),Q=new DataView(i.buffer,i.byteOffset,i.byteLength),n=[],B=[];for(let A=0;A<g;A++)B.push(a(Math.floor(A*I.domainSize/g)));B.push(i.byteLength);for(let Q=0;Q<g;Q++){let r;if(r=Q<g-1?e:I.domainSize-Q*e,0==r)continue;const E=[];E.push({cmd:"ALLOCSET",var:0,buff:i.slice(B[Q],B[Q+1])}),E.push({cmd:"ALLOCSET",var:1,buff:t.slice()}),E.push({cmd:"ALLOC",var:2,len:r*A.Fr.n8}),E.push({cmd:"ALLOC",var:3,len:r*A.Fr.n8}),E.push({cmd:"ALLOC",var:4,len:r*A.Fr.n8}),E.push({cmd:"CALL",fnName:"qap_buildABC",params:[{var:0},{val:(B[Q+1]-B[Q])/C},{var:1},{var:2},{var:3},{var:4},{val:Q*e},{val:r}]}),E.push({cmd:"GET",out:0,var:2,len:r*A.Fr.n8}),E.push({cmd:"GET",out:1,var:3,len:r*A.Fr.n8}),E.push({cmd:"GET",out:2,var:4,len:r*A.Fr.n8}),n.push(A.tm.queueAction(E))}const r=await Promise.all(n),E=new Uint8Array(I.domainSize*A.Fr.n8),h=new Uint8Array(I.domainSize*A.Fr.n8),s=new Uint8Array(I.domainSize*A.Fr.n8);let o=0;for(let A=0;A<r.length;A++)E.set(r[A][0],o),h.set(r[A][1],o),s.set(r[A][2],o),o+=r[A][0].byteLength;return[E,h,s];function a(A){let I=0,t=Q.getUint32(0,!0);for(;I<t;){var i=t+I>>1;const g=Q.getUint32(4+i*C+4,!0);g>A?t=i-1:g<A?I=i+1:t=i}return 4+I*C}}(B,n,o,a),F=await r.ifft(y),M=await r.batchApplyKey(F,r.e(1),B.Fr.w[s+1]),m=await r.fft(M),d=await r.ifft(p),U=await r.batchApplyKey(d,r.e(1),B.Fr.w[s+1]),G=await r.fft(U),H=await r.ifft(l),L=await r.batchApplyKey(H,r.e(1),B.Fr.w[s+1]),k=await r.fft(L),N=await async function(A,I,t,i,g){const C=A.tm.concurrency,e=A.Fr.n8,Q=Math.floor(t.byteLength/A.Fr.n8),n=Math.floor(Q/C),B=[];for(let I=0;I<C;I++){let r;if(r=I<C-1?n:Q-I*n,0==r)continue;const E=[],h=t.slice(I*n*e,(I*n+r)*e),s=i.slice(I*n*e,(I*n+r)*e),o=g.slice(I*n*e,(I*n+r)*e);E.push({cmd:"ALLOCSET",var:0,buff:h}),E.push({cmd:"ALLOCSET",var:1,buff:s}),E.push({cmd:"ALLOCSET",var:2,buff:o}),E.push({cmd:"ALLOC",var:3,len:r*e}),E.push({cmd:"CALL",fnName:"qap_joinABC",params:[{var:0},{var:1},{var:2},{val:r},{var:3}]}),E.push({cmd:"CALL",fnName:"frm_batchFromMontgomery",params:[{var:3},{val:r},{var:3}]}),E.push({cmd:"GET",out:0,var:3,len:r*e}),B.push(A.tm.queueAction(E))}const r=await Promise.all(B),E=new Uint8Array(t.byteLength);let h=0;for(let A=0;A<r.length;A++)E.set(r[A][0],h),h+=r[A][0].byteLength;return E}(B,0,m,G,k);let b={};b.pi_a=await B.G1.multiExpAffine(f,o);let S=await B.G1.multiExpAffine(w,o);b.pi_b=await B.G2.multiExpAffine(D,o),b.pi_c=await B.G1.multiExpAffine(c,o.slice((n.nPublic+1)*B.Fr.n8));const R=await B.G1.multiExpAffine(u,N),J=B.Fr.random(),v=B.Fr.random();b.pi_a=E.add(b.pi_a,n.vk_alpha_1),b.pi_a=E.add(b.pi_a,E.timesFr(n.vk_delta_1,J)),b.pi_b=h.add(b.pi_b,n.vk_beta_2),b.pi_b=h.add(b.pi_b,h.timesFr(n.vk_delta_2,v)),S=E.add(S,n.vk_beta_1),S=E.add(S,E.timesFr(n.vk_delta_1,v)),b.pi_c=E.add(b.pi_c,R),b.pi_c=E.add(b.pi_c,E.timesFr(b.pi_a,v)),b.pi_c=E.add(b.pi_c,E.timesFr(S,J)),b.pi_c=E.add(b.pi_c,E.timesFr(n.vk_delta_1,r.neg(r.mul(J,v))));let q=[];for(let A=1;A<=n.nPublic;A++){const I=o.slice(A*r.n8,A*r.n8+r.n8);q.push(BI.fromRprLE(I))}return b.pi_a=E.toObject(E.toAffine(b.pi_a)),b.pi_b=h.toObject(h.toAffine(b.pi_b)),b.pi_c=E.toObject(E.toAffine(b.pi_c)),b.protocol="groth16",await e.close(),await i.close(),b=ut(b),q=ut(q),{proof:b,publicSignals:q}}var pt=B((function(A){var I=function(){var A,I,t,i,g,C,e,Q,n=[],B=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],r="1a",E=!1,h=52,s={32:{offset:0},64:{offset:[0,0,0,0]},128:{offset:[0,0,0,0,0,0,0,0]},256:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},512:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},1024:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}};for(A=0;A<256;A++)n[A]=(A>>4&15).toString(16)+(15&A).toString(16);function o(A,I){var t,i,g,C=[0],e="";for(i=0;i<A.length;i+=2){for(t=parseInt(A.substr(i,2),16),g=0;g<C.length;g++)t+=C[g]<<8,C[g]=t%I,t=t/I|0;for(;t>0;)C.push(t%I),t=t/I|0}for(i=C.length-1;i>=0;--i)e+="0123456789abcdefghijklmnopqrstuvwxyz"[C[i]];return e}function a(A,I){return{bits:I,value:A,dec:function(){return o(A,10)},hex:function(){return A},str:function(){return o(A,36)}}}function f(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return n[A>>>24]+n[A>>>16&255]+n[A>>>8&255]+n[255&A]},str:function(){return A.toString(36)}}}function w(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return("0000000000000000"+A.toString(16)).substr(-13)},str:function(){return A.toString(36)}}}function D(A,n){var B="object"==typeof A?JSON.stringify(A):A;switch(n||h){case 32:return I(B);case 64:return i(B);case 128:return g(B);case 256:return C(B);case 512:return e(B);case 1024:return Q(B);default:return t(B)}}function c(A){if("1a"===A)r=A,I=E?F:p,t=E?U:m,i=E?k:H,g=E?R:b,C=E?Y:v,e=E?X:x,Q=E?V:j;else{if("1"!==A)throw new Error("Supported FNV versions: 1, 1a");r=A,I=E?M:l,t=E?G:d,i=E?N:L,g=E?J:S,C=E?P:q,e=E?Z:O,Q=E?z:K}}function u(A){A?(E=!0,I="1a"==r?F:M,t="1a"==r?U:G,i="1a"==r?k:N,g="1a"==r?R:J,C="1a"==r?Y:P,e="1a"==r?X:Z,Q="1a"==r?V:z):(E=!1,I="1a"==r?p:l,t="1a"==r?m:d,i="1a"==r?H:L,g="1a"==r?b:S,C="1a"==r?v:q,e="1a"==r?x:O,Q="1a"==r?j:K)}function y(A){var I,t,i=r;for(var g in"chongo <Landon Curt Noll> /\\../\\"===(A=A||0===A?A:"chongo <Landon Curt Noll> /\\../\\")&&c("1"),s){for(s[g].offset=[],t=0;t<g/16;t++)s[g].offset[t]=0;for(I=D(A,parseInt(g,10)).hex(),t=0;t<g/16;t++)s[g].offset[t]=parseInt(I.substr(4*t,4),16)}c(i)}function p(A){var I,t=A.length-3,i=s[32].offset,g=0,C=0|i[1],e=0,Q=0|i[0];for(I=0;I<t;)e=403*Q,e+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),e+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),e+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),Q=(e+=(C^=A.charCodeAt(I++))<<8)+((g=403*C)>>>16)&65535,C=65535&g;for(;I<t+3;)e=403*Q,Q=(e+=(C^=A.charCodeAt(I++))<<8)+((g=403*C)>>>16)&65535,C=65535&g;return f((Q<<16>>>0)+C,32)}function l(A){var I,t=A.length-3,i=s[32].offset,g=0,C=0|i[1],e=0,Q=0|i[0];for(I=0;I<t;)e=403*Q,e+=C<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),e+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),e+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),Q=(e+=(C^=A.charCodeAt(I++))<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=A.charCodeAt(I++);for(;I<t+3;)e=403*Q,Q=(e+=C<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=A.charCodeAt(I++);return f((Q<<16>>>0)+C,32)}function F(A){var I,t,i=A.length,g=s[32].offset,C=0,e=0|g[1],Q=0,n=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=403*n,n=(Q+=(e^=I>>6|192)<<8)+((C=403*e)>>>16)&65535,e=65535&C,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=403*n,Q+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,e=65535&(C=403*e),Q=403*(n=Q+(C>>>16)&65535),Q+=(e^=I>>12&63|128)<<8,e=65535&(C=403*e),Q=403*(n=Q+(C>>>16)&65535),n=(Q+=(e^=I>>6&63|128)<<8)+((C=403*e)>>>16)&65535,e=65535&C,e^=63&I|128):(Q=403*n,Q+=(e^=I>>12|224)<<8,e=65535&(C=403*e),Q=403*(n=Q+(C>>>16)&65535),n=(Q+=(e^=I>>6&63|128)<<8)+((C=403*e)>>>16)&65535,e=65535&C,e^=63&I|128),Q=403*n,n=(Q+=e<<8)+((C=403*e)>>>16)&65535,e=65535&C;return f((n<<16>>>0)+e,32)}function M(A){var I,t,i=A.length,g=s[32].offset,C=0,e=0|g[1],Q=0,n=0|g[0];for(t=0;t<i;t++)Q=403*n,n=(Q+=e<<8)+((C=403*e)>>>16)&65535,e=65535&C,(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=403*n,n=(Q+=(e^=I>>6|192)<<8)+((C=403*e)>>>16)&65535,e=65535&C,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=403*n,Q+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,e=65535&(C=403*e),Q=403*(n=Q+(C>>>16)&65535),Q+=(e^=I>>12&63|128)<<8,e=65535&(C=403*e),Q=403*(n=Q+(C>>>16)&65535),n=(Q+=(e^=I>>6&63|128)<<8)+((C=403*e)>>>16)&65535,e=65535&C,e^=63&I|128):(Q=403*n,Q+=(e^=I>>12|224)<<8,e=65535&(C=403*e),Q=403*(n=Q+(C>>>16)&65535),n=(Q+=(e^=I>>6&63|128)<<8)+((C=403*e)>>>16)&65535,e=65535&C,e^=63&I|128);return f((n<<16>>>0)+e,32)}function m(A){var I,t=A.length-3,i=s[64].offset,g=0,C=0|i[3],e=0,Q=0|i[2],n=0,B=0|i[1],r=0,E=0|i[0];for(I=0;I<t;)e=435*Q,n=435*B,r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,r+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),E=r+((n+=e>>>16)>>>16)&65535,B=65535&n;for(;I<t+3;)e=435*Q,n=435*B,r=435*E,n+=(C^=A.charCodeAt(I++))<<8,r+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),E=r+((n+=e>>>16)>>>16)&65535,B=65535&n;return w(281474976710656*(15&E)+4294967296*B+65536*Q+(C^E>>4),52)}function d(A){var I,t=A.length-3,i=s[64].offset,g=0,C=0|i[3],e=0,Q=0|i[2],n=0,B=0|i[1],r=0,E=0|i[0];for(I=0;I<t;)e=435*Q,n=435*B,r=435*E,n+=C<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,r+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),E=r+((n+=e>>>16)>>>16)&65535,B=65535&n,C^=A.charCodeAt(I++);for(;I<t+3;)e=435*Q,n=435*B,r=435*E,n+=C<<8,r+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),E=r+((n+=e>>>16)>>>16)&65535,B=65535&n,C^=A.charCodeAt(I++);return w(281474976710656*(15&E)+4294967296*B+65536*Q+(C^E>>4),52)}function U(A){var I,t,i=A.length,g=s[64].offset,C=0,e=0|g[3],Q=0,n=0|g[2],B=0,r=0|g[1],E=0,h=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=435*n,B=435*r,E=435*h,B+=(e^=I>>6|192)<<8,E+=n<<8,e=65535&(C=435*e),n=65535&(Q+=C>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=435*n,B=435*r,E=435*h,B+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,e=65535&(C=435*e),h=(E+=n<<8)+((B+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(n=65535&Q),B=435*(r=65535&B),E=435*h,B+=(e^=I>>12&63|128)<<8,e=65535&(C=435*e),h=(E+=n<<8)+((B+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(n=65535&Q),B=435*(r=65535&B),E=435*h,B+=(e^=I>>6&63|128)<<8,E+=n<<8,e=65535&(C=435*e),n=65535&(Q+=C>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,e^=63&I|128):(Q=435*n,B=435*r,E=435*h,B+=(e^=I>>12|224)<<8,e=65535&(C=435*e),h=(E+=n<<8)+((B+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(n=65535&Q),B=435*(r=65535&B),E=435*h,B+=(e^=I>>6&63|128)<<8,E+=n<<8,e=65535&(C=435*e),n=65535&(Q+=C>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,e^=63&I|128),Q=435*n,B=435*r,E=435*h,B+=e<<8,E+=n<<8,e=65535&(C=435*e),n=65535&(Q+=C>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B;return w(281474976710656*(15&h)+4294967296*r+65536*n+(e^h>>4),52)}function G(A){var I,t,i=A.length,g=s[64].offset,C=0,e=0|g[3],Q=0,n=0|g[2],B=0,r=0|g[1],E=0,h=0|g[0];for(t=0;t<i;t++)Q=435*n,B=435*r,E=435*h,B+=e<<8,E+=n<<8,e=65535&(C=435*e),n=65535&(Q+=C>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=435*n,B=435*r,E=435*h,B+=(e^=I>>6|192)<<8,E+=n<<8,e=65535&(C=435*e),n=65535&(Q+=C>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=435*n,B=435*r,E=435*h,B+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,e=65535&(C=435*e),h=(E+=n<<8)+((B+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(n=65535&Q),B=435*(r=65535&B),E=435*h,B+=(e^=I>>12&63|128)<<8,e=65535&(C=435*e),h=(E+=n<<8)+((B+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(n=65535&Q),B=435*(r=65535&B),E=435*h,B+=(e^=I>>6&63|128)<<8,E+=n<<8,e=65535&(C=435*e),n=65535&(Q+=C>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,e^=63&I|128):(Q=435*n,B=435*r,E=435*h,B+=(e^=I>>12|224)<<8,e=65535&(C=435*e),h=(E+=n<<8)+((B+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(n=65535&Q),B=435*(r=65535&B),E=435*h,B+=(e^=I>>6&63|128)<<8,E+=n<<8,e=65535&(C=435*e),n=65535&(Q+=C>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,e^=63&I|128);return w(281474976710656*(15&h)+4294967296*r+65536*n+(e^h>>4),52)}function H(A){var I,t=A.length-3,i=s[64].offset,g=0,C=0|i[3],e=0,Q=0|i[2],B=0,r=0|i[1],E=0,h=0|i[0];for(I=0;I<t;)e=435*Q,B=435*r,E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,E+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B;for(;I<t+3;)e=435*Q,B=435*r,E=435*h,B+=(C^=A.charCodeAt(I++))<<8,E+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B;return a(n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],64)}function L(A){var I,t=A.length-3,i=s[64].offset,g=0,C=0|i[3],e=0,Q=0|i[2],B=0,r=0|i[1],E=0,h=0|i[0];for(I=0;I<t;)e=435*Q,B=435*r,E=435*h,B+=C<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,E+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,C^=A.charCodeAt(I++);for(;I<t+3;)e=435*Q,B=435*r,E=435*h,B+=C<<8,E+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,C^=A.charCodeAt(I++);return a(n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],64)}function k(A){var I,t,i=A.length,g=s[64].offset,C=0,e=0|g[3],Q=0,B=0|g[2],r=0,E=0|g[1],h=0,o=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=435*B,r=435*E,h=435*o,r+=(e^=I>>6|192)<<8,h+=B<<8,e=65535&(C=435*e),B=65535&(Q+=C>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=435*B,r=435*E,h=435*o,r+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,e=65535&(C=435*e),o=(h+=B<<8)+((r+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(B=65535&Q),r=435*(E=65535&r),h=435*o,r+=(e^=I>>12&63|128)<<8,e=65535&(C=435*e),o=(h+=B<<8)+((r+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(B=65535&Q),r=435*(E=65535&r),h=435*o,r+=(e^=I>>6&63|128)<<8,h+=B<<8,e=65535&(C=435*e),B=65535&(Q+=C>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,e^=63&I|128):(Q=435*B,r=435*E,h=435*o,r+=(e^=I>>12|224)<<8,e=65535&(C=435*e),o=(h+=B<<8)+((r+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(B=65535&Q),r=435*(E=65535&r),h=435*o,r+=(e^=I>>6&63|128)<<8,h+=B<<8,e=65535&(C=435*e),B=65535&(Q+=C>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,e^=63&I|128),Q=435*B,r=435*E,h=435*o,r+=e<<8,h+=B<<8,e=65535&(C=435*e),B=65535&(Q+=C>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r;return a(n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],64)}function N(A){var I,t,i=A.length,g=s[64].offset,C=0,e=0|g[3],Q=0,B=0|g[2],r=0,E=0|g[1],h=0,o=0|g[0];for(t=0;t<i;t++)Q=435*B,r=435*E,h=435*o,r+=e<<8,h+=B<<8,e=65535&(C=435*e),B=65535&(Q+=C>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=435*B,r=435*E,h=435*o,r+=(e^=I>>6|192)<<8,h+=B<<8,e=65535&(C=435*e),B=65535&(Q+=C>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=435*B,r=435*E,h=435*o,r+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,e=65535&(C=435*e),o=(h+=B<<8)+((r+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(B=65535&Q),r=435*(E=65535&r),h=435*o,r+=(e^=I>>12&63|128)<<8,e=65535&(C=435*e),o=(h+=B<<8)+((r+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(B=65535&Q),r=435*(E=65535&r),h=435*o,r+=(e^=I>>6&63|128)<<8,h+=B<<8,e=65535&(C=435*e),B=65535&(Q+=C>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,e^=63&I|128):(Q=435*B,r=435*E,h=435*o,r+=(e^=I>>12|224)<<8,e=65535&(C=435*e),o=(h+=B<<8)+((r+=(Q+=C>>>16)>>>16)>>>16)&65535,Q=435*(B=65535&Q),r=435*(E=65535&r),h=435*o,r+=(e^=I>>6&63|128)<<8,h+=B<<8,e=65535&(C=435*e),B=65535&(Q+=C>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,e^=63&I|128);return a(n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],64)}function b(A){var I,t=A.length-3,i=s[128].offset,g=0,C=0|i[7],e=0,Q=0|i[6],B=0,r=0|i[5],E=0,h=0|i[4],o=0,f=0|i[3],w=0,D=0|i[2],c=0,u=0|i[1],y=0,p=0|i[0];for(I=0;I<t;)e=315*Q,B=315*r,E=315*h,o=315*f,w=315*D,c=315*u,y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=Q<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(Q=65535&e),B=315*(r=65535&B),E=315*(h=65535&E),o=315*(f=65535&o),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=Q<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(Q=65535&e),B=315*(r=65535&B),E=315*(h=65535&E),o=315*(f=65535&o),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=Q<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(Q=65535&e),B=315*(r=65535&B),E=315*(h=65535&E),o=315*(f=65535&o),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=Q<<8,y+=r<<8,C=65535&(g=315*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c;for(;I<t+3;)e=315*Q,B=315*r,E=315*h,o=315*f,w=315*D,c=315*u,y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=Q<<8,y+=r<<8,C=65535&(g=315*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c;return a(n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],128)}function S(A){var I,t=A.length-3,i=s[128].offset,g=0,C=0|i[7],e=0,Q=0|i[6],B=0,r=0|i[5],E=0,h=0|i[4],o=0,f=0|i[3],w=0,D=0|i[2],c=0,u=0|i[1],y=0,p=0|i[0];for(I=0;I<t;)e=315*Q,B=315*r,E=315*h,o=315*f,w=315*D,c=315*u,y=315*p,w+=C<<8,c+=Q<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(Q=65535&e),B=315*(r=65535&B),E=315*(h=65535&E),o=315*(f=65535&o),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=Q<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(Q=65535&e),B=315*(r=65535&B),E=315*(h=65535&E),o=315*(f=65535&o),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=Q<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(Q=65535&e),B=315*(r=65535&B),E=315*(h=65535&E),o=315*(f=65535&o),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=Q<<8,y+=r<<8,C=65535&(g=315*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c,C^=A.charCodeAt(I++);for(;I<t+3;)e=315*Q,B=315*r,E=315*h,o=315*f,w=315*D,c=315*u,y=315*p,w+=C<<8,c+=Q<<8,y+=r<<8,C=65535&(g=315*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c,C^=A.charCodeAt(I++);return a(n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],128)}function R(A){var I,t,i=A.length,g=s[128].offset,C=0,e=0|g[7],Q=0,B=0|g[6],r=0,E=0|g[5],h=0,o=0|g[4],f=0,w=0|g[3],D=0,c=0|g[2],u=0,y=0|g[1],p=0,l=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=315*B,r=315*E,h=315*o,f=315*w,D=315*c,u=315*y,p=315*l,D+=(e^=I>>6|192)<<8,u+=B<<8,p+=E<<8,e=65535&(C=315*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=315*B,r=315*E,h=315*o,f=315*w,D=315*c,u=315*y,p=315*l,D+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,u+=B<<8,e=65535&(C=315*e),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(B=65535&Q),r=315*(E=65535&r),h=315*(o=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(e^=I>>12&63|128)<<8,u+=B<<8,e=65535&(C=315*e),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(B=65535&Q),r=315*(E=65535&r),h=315*(o=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(e^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,e=65535&(C=315*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,e^=63&I|128):(Q=315*B,r=315*E,h=315*o,f=315*w,D=315*c,u=315*y,p=315*l,D+=(e^=I>>12|224)<<8,u+=B<<8,e=65535&(C=315*e),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(B=65535&Q),r=315*(E=65535&r),h=315*(o=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(e^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,e=65535&(C=315*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,e^=63&I|128),Q=315*B,r=315*E,h=315*o,f=315*w,D=315*c,u=315*y,p=315*l,D+=e<<8,u+=B<<8,p+=E<<8,e=65535&(C=315*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u;return a(n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],128)}function J(A){var I,t,i=A.length,g=s[128].offset,C=0,e=0|g[7],Q=0,B=0|g[6],r=0,E=0|g[5],h=0,o=0|g[4],f=0,w=0|g[3],D=0,c=0|g[2],u=0,y=0|g[1],p=0,l=0|g[0];for(t=0;t<i;t++)Q=315*B,r=315*E,h=315*o,f=315*w,D=315*c,u=315*y,p=315*l,D+=e<<8,u+=B<<8,p+=E<<8,e=65535&(C=315*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=315*B,r=315*E,h=315*o,f=315*w,D=315*c,u=315*y,p=315*l,D+=(e^=I>>6|192)<<8,u+=B<<8,p+=E<<8,e=65535&(C=315*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=315*B,r=315*E,h=315*o,f=315*w,D=315*c,u=315*y,p=315*l,D+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,u+=B<<8,e=65535&(C=315*e),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(B=65535&Q),r=315*(E=65535&r),h=315*(o=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(e^=I>>12&63|128)<<8,u+=B<<8,e=65535&(C=315*e),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(B=65535&Q),r=315*(E=65535&r),h=315*(o=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(e^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,e=65535&(C=315*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,e^=63&I|128):(Q=315*B,r=315*E,h=315*o,f=315*w,D=315*c,u=315*y,p=315*l,D+=(e^=I>>12|224)<<8,u+=B<<8,e=65535&(C=315*e),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(B=65535&Q),r=315*(E=65535&r),h=315*(o=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(e^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,e=65535&(C=315*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,e^=63&I|128);return a(n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],128)}function v(A){var I,t=A.length-3,i=s[256].offset,g=0,C=0|i[15],e=0,Q=0|i[14],B=0,r=0|i[13],E=0,h=0|i[12],o=0,f=0|i[11],w=0,D=0|i[10],c=0,u=0|i[9],y=0,p=0|i[8],l=0,F=0|i[7],M=0,m=0|i[6],d=0,U=0|i[5],G=0,H=0|i[4],L=0,k=0|i[3],N=0,b=0|i[2],S=0,R=0|i[1],J=0,v=0|i[0];for(I=0;I<t;)e=355*Q,B=355*r,E=355*h,o=355*f,w=355*D,c=355*u,y=355*p,l=355*F,M=355*m,d=355*U,G=355*H,L=355*k,N=355*b,S=355*R,J=355*v,d+=(C^=A.charCodeAt(I++))<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(Q=65535&e),B=355*(r=65535&B),E=355*(h=65535&E),o=355*(f=65535&o),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(U=65535&d),G=355*(H=65535&G),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(Q=65535&e),B=355*(r=65535&B),E=355*(h=65535&E),o=355*(f=65535&o),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(U=65535&d),G=355*(H=65535&G),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(Q=65535&e),B=355*(r=65535&B),E=355*(h=65535&E),o=355*(f=65535&o),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(U=65535&d),G=355*(H=65535&G),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S;for(;I<t+3;)e=355*Q,B=355*r,E=355*h,o=355*f,w=355*D,c=355*u,y=355*p,l=355*F,M=355*m,d=355*U,G=355*H,L=355*k,N=355*b,S=355*R,J=355*v,d+=(C^=A.charCodeAt(I++))<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S;return a(n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[U>>8]+n[255&U]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],256)}function q(A){var I,t=A.length-3,i=s[256].offset,g=0,C=0|i[15],e=0,Q=0|i[14],B=0,r=0|i[13],E=0,h=0|i[12],o=0,f=0|i[11],w=0,D=0|i[10],c=0,u=0|i[9],y=0,p=0|i[8],l=0,F=0|i[7],M=0,m=0|i[6],d=0,U=0|i[5],G=0,H=0|i[4],L=0,k=0|i[3],N=0,b=0|i[2],S=0,R=0|i[1],J=0,v=0|i[0];for(I=0;I<t;)e=355*Q,B=355*r,E=355*h,o=355*f,w=355*D,c=355*u,y=355*p,l=355*F,M=355*m,d=355*U,G=355*H,L=355*k,N=355*b,S=355*R,J=355*v,d+=C<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(Q=65535&e),B=355*(r=65535&B),E=355*(h=65535&E),o=355*(f=65535&o),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(U=65535&d),G=355*(H=65535&G),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(Q=65535&e),B=355*(r=65535&B),E=355*(h=65535&E),o=355*(f=65535&o),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(U=65535&d),G=355*(H=65535&G),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(Q=65535&e),B=355*(r=65535&B),E=355*(h=65535&E),o=355*(f=65535&o),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(U=65535&d),G=355*(H=65535&G),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S,C^=A.charCodeAt(I++);for(;I<t+3;)e=355*Q,B=355*r,E=355*h,o=355*f,w=355*D,c=355*u,y=355*p,l=355*F,M=355*m,d=355*U,G=355*H,L=355*k,N=355*b,S=355*R,J=355*v,d+=C<<8,G+=Q<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S,C^=A.charCodeAt(I++);return a(n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[U>>8]+n[255&U]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],256)}function Y(A){var I,t,i=A.length,g=s[256].offset,C=0,e=0|g[15],Q=0,B=0|g[14],r=0,E=0|g[13],h=0,o=0|g[12],f=0,w=0|g[11],D=0,c=0|g[10],u=0,y=0|g[9],p=0,l=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],U=0,G=0|g[5],H=0,L=0|g[4],k=0,N=0|g[3],b=0,S=0|g[2],R=0,J=0|g[1],v=0,q=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=355*B,r=355*E,h=355*o,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,U=355*G,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,U+=(e^=I>>6|192)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,v+=c<<8,e=65535&(C=355*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=355*B,r=355*E,h=355*o,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,U=355*G,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,U+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,e=65535&(C=355*e),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(B=65535&Q),r=355*(E=65535&r),h=355*(o=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),U=355*(G=65535&U),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,U+=(e^=I>>12&63|128)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,e=65535&(C=355*e),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(B=65535&Q),r=355*(E=65535&r),h=355*(o=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),U=355*(G=65535&U),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,U+=(e^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,v+=c<<8,e=65535&(C=355*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,e^=63&I|128):(Q=355*B,r=355*E,h=355*o,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,U=355*G,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,U+=(e^=I>>12|224)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,e=65535&(C=355*e),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(B=65535&Q),r=355*(E=65535&r),h=355*(o=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),U=355*(G=65535&U),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,U+=(e^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,v+=c<<8,e=65535&(C=355*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,e^=63&I|128),Q=355*B,r=355*E,h=355*o,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,U=355*G,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,U+=e<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,v+=c<<8,e=65535&(C=355*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R;return a(n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[G>>8]+n[255&G]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],256)}function P(A){var I,t,i=A.length,g=s[256].offset,C=0,e=0|g[15],Q=0,B=0|g[14],r=0,E=0|g[13],h=0,o=0|g[12],f=0,w=0|g[11],D=0,c=0|g[10],u=0,y=0|g[9],p=0,l=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],U=0,G=0|g[5],H=0,L=0|g[4],k=0,N=0|g[3],b=0,S=0|g[2],R=0,J=0|g[1],v=0,q=0|g[0];for(t=0;t<i;t++)Q=355*B,r=355*E,h=355*o,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,U=355*G,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,U+=e<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,v+=c<<8,e=65535&(C=355*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=355*B,r=355*E,h=355*o,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,U=355*G,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,U+=(e^=I>>6|192)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,v+=c<<8,e=65535&(C=355*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=355*B,r=355*E,h=355*o,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,U=355*G,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,U+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,e=65535&(C=355*e),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(B=65535&Q),r=355*(E=65535&r),h=355*(o=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),U=355*(G=65535&U),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,U+=(e^=I>>12&63|128)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,e=65535&(C=355*e),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(B=65535&Q),r=355*(E=65535&r),h=355*(o=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),U=355*(G=65535&U),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,U+=(e^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,v+=c<<8,e=65535&(C=355*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,e^=63&I|128):(Q=355*B,r=355*E,h=355*o,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,U=355*G,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,U+=(e^=I>>12|224)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,e=65535&(C=355*e),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(B=65535&Q),r=355*(E=65535&r),h=355*(o=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),U=355*(G=65535&U),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,U+=(e^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=o<<8,R+=w<<8,v+=c<<8,e=65535&(C=355*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,e^=63&I|128);return a(n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[G>>8]+n[255&G]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],256)}function x(A){var I,t=A.length-3,i=s[512].offset,g=0,C=0|i[31],e=0,Q=0|i[30],B=0,r=0|i[29],E=0,h=0|i[28],o=0,f=0|i[27],w=0,D=0|i[26],c=0,u=0|i[25],y=0,p=0|i[24],l=0,F=0|i[23],M=0,m=0|i[22],d=0,U=0|i[21],G=0,H=0|i[20],L=0,k=0|i[19],N=0,b=0|i[18],S=0,R=0|i[17],J=0,v=0|i[16],q=0,Y=0|i[15],P=0,x=0|i[14],O=0,X=0|i[13],Z=0,j=0|i[12],K=0,V=0|i[11],z=0,W=0|i[10],T=0,_=0|i[9],$=0,AA=0|i[8],IA=0,tA=0|i[7],iA=0,gA=0|i[6],CA=0,eA=0|i[5],QA=0,nA=0|i[4],BA=0,rA=0|i[3],EA=0,hA=0|i[2],sA=0,oA=0|i[1],aA=0,fA=0|i[0];for(I=0;I<t;)e=343*Q,B=343*r,E=343*h,o=343*f,w=343*D,c=343*u,y=343*p,l=343*F,M=343*m,d=343*U,G=343*H,L=343*k,N=343*b,S=343*R,J=343*v,q=343*Y,P=343*x,O=343*X,Z=343*j,K=343*V,z=343*W,T=343*_,$=343*AA,IA=343*tA,iA=343*gA,CA=343*eA,QA=343*nA,BA=343*rA,EA=343*hA,sA=343*oA,aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,C=65535&(g=343*C),fA=(aA+=U<<8)+((sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(Q=65535&e),B=343*(r=65535&B),E=343*(h=65535&E),o=343*(f=65535&o),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(U=65535&d),G=343*(H=65535&G),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(eA=65535&CA),QA=343*(nA=65535&QA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),sA=343*(oA=65535&sA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,C=65535&(g=343*C),fA=(aA+=U<<8)+((sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(Q=65535&e),B=343*(r=65535&B),E=343*(h=65535&E),o=343*(f=65535&o),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(U=65535&d),G=343*(H=65535&G),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(eA=65535&CA),QA=343*(nA=65535&QA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),sA=343*(oA=65535&sA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,C=65535&(g=343*C),fA=(aA+=U<<8)+((sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(Q=65535&e),B=343*(r=65535&B),E=343*(h=65535&E),o=343*(f=65535&o),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(U=65535&d),G=343*(H=65535&G),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(eA=65535&CA),QA=343*(nA=65535&QA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),sA=343*(oA=65535&sA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,aA+=U<<8,C=65535&(g=343*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),eA=65535&(CA+=iA>>>16),nA=65535&(QA+=CA>>>16),rA=65535&(BA+=QA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((sA+=EA>>>16)>>>16)&65535,oA=65535&sA;for(;I<t+3;)e=343*Q,B=343*r,E=343*h,o=343*f,w=343*D,c=343*u,y=343*p,l=343*F,M=343*m,d=343*U,G=343*H,L=343*k,N=343*b,S=343*R,J=343*v,q=343*Y,P=343*x,O=343*X,Z=343*j,K=343*V,z=343*W,T=343*_,$=343*AA,IA=343*tA,iA=343*gA,CA=343*eA,QA=343*nA,BA=343*rA,EA=343*hA,sA=343*oA,aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,aA+=U<<8,C=65535&(g=343*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),eA=65535&(CA+=iA>>>16),nA=65535&(QA+=CA>>>16),rA=65535&(BA+=QA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((sA+=EA>>>16)>>>16)&65535,oA=65535&sA;return a(n[fA>>8]+n[255&fA]+n[oA>>8]+n[255&oA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[eA>>8]+n[255&eA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[U>>8]+n[255&U]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],512)}function O(A){var I,t=A.length-3,i=s[512].offset,g=0,C=0|i[31],e=0,Q=0|i[30],B=0,r=0|i[29],E=0,h=0|i[28],o=0,f=0|i[27],w=0,D=0|i[26],c=0,u=0|i[25],y=0,p=0|i[24],l=0,F=0|i[23],M=0,m=0|i[22],d=0,U=0|i[21],G=0,H=0|i[20],L=0,k=0|i[19],N=0,b=0|i[18],S=0,R=0|i[17],J=0,v=0|i[16],q=0,Y=0|i[15],P=0,x=0|i[14],O=0,X=0|i[13],Z=0,j=0|i[12],K=0,V=0|i[11],z=0,W=0|i[10],T=0,_=0|i[9],$=0,AA=0|i[8],IA=0,tA=0|i[7],iA=0,gA=0|i[6],CA=0,eA=0|i[5],QA=0,nA=0|i[4],BA=0,rA=0|i[3],EA=0,hA=0|i[2],sA=0,oA=0|i[1],aA=0,fA=0|i[0];for(I=0;I<t;)e=343*Q,B=343*r,E=343*h,o=343*f,w=343*D,c=343*u,y=343*p,l=343*F,M=343*m,d=343*U,G=343*H,L=343*k,N=343*b,S=343*R,J=343*v,q=343*Y,P=343*x,O=343*X,Z=343*j,K=343*V,z=343*W,T=343*_,$=343*AA,IA=343*tA,iA=343*gA,CA=343*eA,QA=343*nA,BA=343*rA,EA=343*hA,sA=343*oA,aA=343*fA,z+=C<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,C=65535&(g=343*C),fA=(aA+=U<<8)+((sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(Q=65535&e),B=343*(r=65535&B),E=343*(h=65535&E),o=343*(f=65535&o),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(U=65535&d),G=343*(H=65535&G),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(eA=65535&CA),QA=343*(nA=65535&QA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),sA=343*(oA=65535&sA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,C=65535&(g=343*C),fA=(aA+=U<<8)+((sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(Q=65535&e),B=343*(r=65535&B),E=343*(h=65535&E),o=343*(f=65535&o),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(U=65535&d),G=343*(H=65535&G),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(eA=65535&CA),QA=343*(nA=65535&QA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),sA=343*(oA=65535&sA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,C=65535&(g=343*C),fA=(aA+=U<<8)+((sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(Q=65535&e),B=343*(r=65535&B),E=343*(h=65535&E),o=343*(f=65535&o),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(U=65535&d),G=343*(H=65535&G),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(eA=65535&CA),QA=343*(nA=65535&QA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),sA=343*(oA=65535&sA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,aA+=U<<8,C=65535&(g=343*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),eA=65535&(CA+=iA>>>16),nA=65535&(QA+=CA>>>16),rA=65535&(BA+=QA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((sA+=EA>>>16)>>>16)&65535,oA=65535&sA,C^=A.charCodeAt(I++);for(;I<t+3;)e=343*Q,B=343*r,E=343*h,o=343*f,w=343*D,c=343*u,y=343*p,l=343*F,M=343*m,d=343*U,G=343*H,L=343*k,N=343*b,S=343*R,J=343*v,q=343*Y,P=343*x,O=343*X,Z=343*j,K=343*V,z=343*W,T=343*_,$=343*AA,IA=343*tA,iA=343*gA,CA=343*eA,QA=343*nA,BA=343*rA,EA=343*hA,sA=343*oA,aA=343*fA,z+=C<<8,T+=Q<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,QA+=u<<8,BA+=p<<8,EA+=F<<8,sA+=m<<8,aA+=U<<8,C=65535&(g=343*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),eA=65535&(CA+=iA>>>16),nA=65535&(QA+=CA>>>16),rA=65535&(BA+=QA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((sA+=EA>>>16)>>>16)&65535,oA=65535&sA,C^=A.charCodeAt(I++);return a(n[fA>>8]+n[255&fA]+n[oA>>8]+n[255&oA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[eA>>8]+n[255&eA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[U>>8]+n[255&U]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],512)}function X(A){var I,t,i=A.length,g=s[512].offset,C=0,e=0|g[31],Q=0,B=0|g[30],r=0,E=0|g[29],h=0,o=0|g[28],f=0,w=0|g[27],D=0,c=0|g[26],u=0,y=0|g[25],p=0,l=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],U=0,G=0|g[21],H=0,L=0|g[20],k=0,N=0|g[19],b=0,S=0|g[18],R=0,J=0|g[17],v=0,q=0|g[16],Y=0,P=0|g[15],x=0,O=0|g[14],X=0,Z=0|g[13],j=0,K=0|g[12],V=0,z=0|g[11],W=0,T=0|g[10],_=0,$=0|g[9],AA=0,IA=0|g[8],tA=0,iA=0|g[7],gA=0,CA=0|g[6],eA=0,QA=0|g[5],nA=0,BA=0|g[4],rA=0,EA=0|g[3],hA=0,sA=0|g[2],oA=0,aA=0|g[1],fA=0,wA=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=343*B,r=343*E,h=343*o,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,U=343*G,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,eA=343*QA,nA=343*BA,rA=343*EA,hA=343*sA,oA=343*aA,fA=343*wA,W+=(e^=I>>6|192)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,fA+=G<<8,e=65535&(C=343*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),wA=fA+((oA+=hA>>>16)>>>16)&65535,aA=65535&oA,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=343*B,r=343*E,h=343*o,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,U=343*G,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,eA=343*QA,nA=343*BA,rA=343*EA,hA=343*sA,oA=343*aA,fA=343*wA,W+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,e=65535&(C=343*e),wA=(fA+=G<<8)+((oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(B=65535&Q),r=343*(E=65535&r),h=343*(o=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),U=343*(G=65535&U),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),eA=343*(QA=65535&eA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(sA=65535&hA),oA=343*(aA=65535&oA),fA=343*wA,W+=(e^=I>>12&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,e=65535&(C=343*e),wA=(fA+=G<<8)+((oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(B=65535&Q),r=343*(E=65535&r),h=343*(o=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),U=343*(G=65535&U),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),eA=343*(QA=65535&eA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(sA=65535&hA),oA=343*(aA=65535&oA),fA=343*wA,W+=(e^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,fA+=G<<8,e=65535&(C=343*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),wA=fA+((oA+=hA>>>16)>>>16)&65535,aA=65535&oA,e^=63&I|128):(Q=343*B,r=343*E,h=343*o,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,U=343*G,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,eA=343*QA,nA=343*BA,rA=343*EA,hA=343*sA,oA=343*aA,fA=343*wA,W+=(e^=I>>12|224)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,e=65535&(C=343*e),wA=(fA+=G<<8)+((oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(B=65535&Q),r=343*(E=65535&r),h=343*(o=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),U=343*(G=65535&U),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),eA=343*(QA=65535&eA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(sA=65535&hA),oA=343*(aA=65535&oA),fA=343*wA,W+=(e^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,fA+=G<<8,e=65535&(C=343*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),wA=fA+((oA+=hA>>>16)>>>16)&65535,aA=65535&oA,e^=63&I|128),Q=343*B,r=343*E,h=343*o,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,U=343*G,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,eA=343*QA,nA=343*BA,rA=343*EA,hA=343*sA,oA=343*aA,fA=343*wA,W+=e<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,fA+=G<<8,e=65535&(C=343*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),wA=fA+((oA+=hA>>>16)>>>16)&65535,aA=65535&oA;return a(n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[sA>>8]+n[255&sA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[QA>>8]+n[255&QA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[G>>8]+n[255&G]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],512)}function Z(A){var I,t,i=A.length,g=s[512].offset,C=0,e=0|g[31],Q=0,B=0|g[30],r=0,E=0|g[29],h=0,o=0|g[28],f=0,w=0|g[27],D=0,c=0|g[26],u=0,y=0|g[25],p=0,l=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],U=0,G=0|g[21],H=0,L=0|g[20],k=0,N=0|g[19],b=0,S=0|g[18],R=0,J=0|g[17],v=0,q=0|g[16],Y=0,P=0|g[15],x=0,O=0|g[14],X=0,Z=0|g[13],j=0,K=0|g[12],V=0,z=0|g[11],W=0,T=0|g[10],_=0,$=0|g[9],AA=0,IA=0|g[8],tA=0,iA=0|g[7],gA=0,CA=0|g[6],eA=0,QA=0|g[5],nA=0,BA=0|g[4],rA=0,EA=0|g[3],hA=0,sA=0|g[2],oA=0,aA=0|g[1],fA=0,wA=0|g[0];for(t=0;t<i;t++)Q=343*B,r=343*E,h=343*o,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,U=343*G,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,eA=343*QA,nA=343*BA,rA=343*EA,hA=343*sA,oA=343*aA,fA=343*wA,W+=e<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,fA+=G<<8,e=65535&(C=343*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),wA=fA+((oA+=hA>>>16)>>>16)&65535,aA=65535&oA,(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=343*B,r=343*E,h=343*o,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,U=343*G,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,eA=343*QA,nA=343*BA,rA=343*EA,hA=343*sA,oA=343*aA,fA=343*wA,W+=(e^=I>>6|192)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,fA+=G<<8,e=65535&(C=343*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),wA=fA+((oA+=hA>>>16)>>>16)&65535,aA=65535&oA,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=343*B,r=343*E,h=343*o,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,U=343*G,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,eA=343*QA,nA=343*BA,rA=343*EA,hA=343*sA,oA=343*aA,fA=343*wA,W+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,e=65535&(C=343*e),wA=(fA+=G<<8)+((oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(B=65535&Q),r=343*(E=65535&r),h=343*(o=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),U=343*(G=65535&U),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),eA=343*(QA=65535&eA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(sA=65535&hA),oA=343*(aA=65535&oA),fA=343*wA,W+=(e^=I>>12&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,e=65535&(C=343*e),wA=(fA+=G<<8)+((oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(B=65535&Q),r=343*(E=65535&r),h=343*(o=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),U=343*(G=65535&U),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),eA=343*(QA=65535&eA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(sA=65535&hA),oA=343*(aA=65535&oA),fA=343*wA,W+=(e^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,fA+=G<<8,e=65535&(C=343*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),wA=fA+((oA+=hA>>>16)>>>16)&65535,aA=65535&oA,e^=63&I|128):(Q=343*B,r=343*E,h=343*o,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,U=343*G,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,eA=343*QA,nA=343*BA,rA=343*EA,hA=343*sA,oA=343*aA,fA=343*wA,W+=(e^=I>>12|224)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,e=65535&(C=343*e),wA=(fA+=G<<8)+((oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(B=65535&Q),r=343*(E=65535&r),h=343*(o=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),U=343*(G=65535&U),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),eA=343*(QA=65535&eA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(sA=65535&hA),oA=343*(aA=65535&oA),fA=343*wA,W+=(e^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=o<<8,gA+=w<<8,eA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,oA+=d<<8,fA+=G<<8,e=65535&(C=343*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),wA=fA+((oA+=hA>>>16)>>>16)&65535,aA=65535&oA,e^=63&I|128);return a(n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[sA>>8]+n[255&sA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[QA>>8]+n[255&QA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[G>>8]+n[255&G]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],512)}function j(A){var I,t=A.length-3,i=s[1024].offset,g=0,C=0|i[63],e=0,Q=0|i[62],B=0,r=0|i[61],E=0,h=0|i[60],o=0,f=0|i[59],w=0,D=0|i[58],c=0,u=0|i[57],y=0,p=0|i[56],l=0,F=0|i[55],M=0,m=0|i[54],d=0,U=0|i[53],G=0,H=0|i[52],L=0,k=0|i[51],N=0,b=0|i[50],S=0,R=0|i[49],J=0,v=0|i[48],q=0,Y=0|i[47],P=0,x=0|i[46],O=0,X=0|i[45],Z=0,j=0|i[44],K=0,V=0|i[43],z=0,W=0|i[42],T=0,_=0|i[41],$=0,AA=0|i[40],IA=0,tA=0|i[39],iA=0,gA=0|i[38],CA=0,eA=0|i[37],QA=0,nA=0|i[36],BA=0,rA=0|i[35],EA=0,hA=0|i[34],sA=0,oA=0|i[33],aA=0,fA=0|i[32],wA=0,DA=0|i[31],cA=0,uA=0|i[30],yA=0,pA=0|i[29],lA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,UA=0|i[26],GA=0,HA=0|i[25],LA=0,kA=0|i[24],NA=0,bA=0|i[23],SA=0,RA=0|i[22],JA=0,vA=0|i[21],qA=0,YA=0|i[20],PA=0,xA=0|i[19],OA=0,XA=0|i[18],ZA=0,jA=0|i[17],KA=0,VA=0|i[16],zA=0,WA=0|i[15],TA=0,_A=0|i[14],$A=0,AI=0|i[13],II=0,tI=0|i[12],iI=0,gI=0|i[11],CI=0,eI=0|i[10],QI=0,nI=0|i[9],BI=0,rI=0|i[8],EI=0,hI=0|i[7],sI=0,oI=0|i[6],aI=0,fI=0|i[5],wI=0,DI=0|i[4],cI=0,uI=0|i[3],yI=0,pI=0|i[2],lI=0,FI=0|i[1],MI=0,mI=0|i[0];for(I=0;I<t;)e=397*Q,B=397*r,E=397*h,o=397*f,w=397*D,c=397*u,y=397*p,l=397*F,M=397*m,d=397*U,G=397*H,L=397*k,N=397*b,S=397*R,J=397*v,q=397*Y,P=397*x,O=397*X,Z=397*j,K=397*V,z=397*W,T=397*_,$=397*AA,IA=397*tA,iA=397*gA,CA=397*eA,QA=397*nA,BA=397*rA,EA=397*hA,sA=397*oA,aA=397*fA,wA=397*DA,cA=397*uA,yA=397*pA,lA=397*FA,MA=397*mA,dA=397*UA,GA=397*HA,LA=397*kA,NA=397*bA,SA=397*RA,JA=397*vA,qA=397*YA,PA=397*xA,OA=397*XA,ZA=397*jA,KA=397*VA,zA=397*WA,TA=397*_A,$A=397*AI,II=397*tI,iI=397*gI,CI=397*eI,QI=397*nI,BI=397*rI,EI=397*hI,sI=397*oI,aI=397*fI,wI=397*DI,cI=397*uI,yI=397*pI,lI=397*FI,MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(sI+=(EI+=(BI+=(QI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(GA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(Q=65535&e),B=397*(r=65535&B),E=397*(h=65535&E),o=397*(f=65535&o),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(U=65535&d),G=397*(H=65535&G),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(eA=65535&CA),QA=397*(nA=65535&QA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),sA=397*(oA=65535&sA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(UA=65535&dA),GA=397*(HA=65535&GA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(eI=65535&CI),QI=397*(nI=65535&QI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),sI=397*(oI=65535&sI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(sI+=(EI+=(BI+=(QI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(GA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(Q=65535&e),B=397*(r=65535&B),E=397*(h=65535&E),o=397*(f=65535&o),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(U=65535&d),G=397*(H=65535&G),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(eA=65535&CA),QA=397*(nA=65535&QA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),sA=397*(oA=65535&sA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(UA=65535&dA),GA=397*(HA=65535&GA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(eI=65535&CI),QI=397*(nI=65535&QI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),sI=397*(oI=65535&sI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(sI+=(EI+=(BI+=(QI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(GA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(Q=65535&e),B=397*(r=65535&B),E=397*(h=65535&E),o=397*(f=65535&o),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(U=65535&d),G=397*(H=65535&G),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(eA=65535&CA),QA=397*(nA=65535&QA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),sA=397*(oA=65535&sA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(UA=65535&dA),GA=397*(HA=65535&GA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(eI=65535&CI),QI=397*(nI=65535&QI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),sI=397*(oI=65535&sI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),eA=65535&(CA+=iA>>>16),nA=65535&(QA+=CA>>>16),rA=65535&(BA+=QA>>>16),hA=65535&(EA+=BA>>>16),oA=65535&(sA+=EA>>>16),fA=65535&(aA+=sA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),UA=65535&(dA+=MA>>>16),HA=65535&(GA+=dA>>>16),kA=65535&(LA+=GA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),eI=65535&(CI+=iI>>>16),nI=65535&(QI+=CI>>>16),rI=65535&(BI+=QI>>>16),hI=65535&(EI+=BI>>>16),oI=65535&(sI+=EI>>>16),fI=65535&(aI+=sI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI;for(;I<t+3;)e=397*Q,B=397*r,E=397*h,o=397*f,w=397*D,c=397*u,y=397*p,l=397*F,M=397*m,d=397*U,G=397*H,L=397*k,N=397*b,S=397*R,J=397*v,q=397*Y,P=397*x,O=397*X,Z=397*j,K=397*V,z=397*W,T=397*_,$=397*AA,IA=397*tA,iA=397*gA,CA=397*eA,QA=397*nA,BA=397*rA,EA=397*hA,sA=397*oA,aA=397*fA,wA=397*DA,cA=397*uA,yA=397*pA,lA=397*FA,MA=397*mA,dA=397*UA,GA=397*HA,LA=397*kA,NA=397*bA,SA=397*RA,JA=397*vA,qA=397*YA,PA=397*xA,OA=397*XA,ZA=397*jA,KA=397*VA,zA=397*WA,TA=397*_A,$A=397*AI,II=397*tI,iI=397*gI,CI=397*eI,QI=397*nI,BI=397*rI,EI=397*hI,sI=397*oI,aI=397*fI,wI=397*DI,cI=397*uI,yI=397*pI,lI=397*FI,MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),eA=65535&(CA+=iA>>>16),nA=65535&(QA+=CA>>>16),rA=65535&(BA+=QA>>>16),hA=65535&(EA+=BA>>>16),oA=65535&(sA+=EA>>>16),fA=65535&(aA+=sA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),UA=65535&(dA+=MA>>>16),HA=65535&(GA+=dA>>>16),kA=65535&(LA+=GA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),eI=65535&(CI+=iI>>>16),nI=65535&(QI+=CI>>>16),rI=65535&(BI+=QI>>>16),hI=65535&(EI+=BI>>>16),oI=65535&(sI+=EI>>>16),fI=65535&(aI+=sI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI;return a(n[mI>>8]+n[255&mI]+n[FI>>8]+n[255&FI]+n[pI>>8]+n[255&pI]+n[uI>>8]+n[255&uI]+n[DI>>8]+n[255&DI]+n[fI>>8]+n[255&fI]+n[oI>>8]+n[255&oI]+n[hI>>8]+n[255&hI]+n[rI>>8]+n[255&rI]+n[nI>>8]+n[255&nI]+n[eI>>8]+n[255&eI]+n[gI>>8]+n[255&gI]+n[tI>>8]+n[255&tI]+n[AI>>8]+n[255&AI]+n[_A>>8]+n[255&_A]+n[WA>>8]+n[255&WA]+n[VA>>8]+n[255&VA]+n[jA>>8]+n[255&jA]+n[XA>>8]+n[255&XA]+n[xA>>8]+n[255&xA]+n[YA>>8]+n[255&YA]+n[vA>>8]+n[255&vA]+n[RA>>8]+n[255&RA]+n[bA>>8]+n[255&bA]+n[kA>>8]+n[255&kA]+n[HA>>8]+n[255&HA]+n[UA>>8]+n[255&UA]+n[mA>>8]+n[255&mA]+n[FA>>8]+n[255&FA]+n[pA>>8]+n[255&pA]+n[uA>>8]+n[255&uA]+n[DA>>8]+n[255&DA]+n[fA>>8]+n[255&fA]+n[oA>>8]+n[255&oA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[eA>>8]+n[255&eA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[U>>8]+n[255&U]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],1024)}function K(A){var I,t=A.length-3,i=s[1024].offset,g=0,C=0|i[63],e=0,Q=0|i[62],B=0,r=0|i[61],E=0,h=0|i[60],o=0,f=0|i[59],w=0,D=0|i[58],c=0,u=0|i[57],y=0,p=0|i[56],l=0,F=0|i[55],M=0,m=0|i[54],d=0,U=0|i[53],G=0,H=0|i[52],L=0,k=0|i[51],N=0,b=0|i[50],S=0,R=0|i[49],J=0,v=0|i[48],q=0,Y=0|i[47],P=0,x=0|i[46],O=0,X=0|i[45],Z=0,j=0|i[44],K=0,V=0|i[43],z=0,W=0|i[42],T=0,_=0|i[41],$=0,AA=0|i[40],IA=0,tA=0|i[39],iA=0,gA=0|i[38],CA=0,eA=0|i[37],QA=0,nA=0|i[36],BA=0,rA=0|i[35],EA=0,hA=0|i[34],sA=0,oA=0|i[33],aA=0,fA=0|i[32],wA=0,DA=0|i[31],cA=0,uA=0|i[30],yA=0,pA=0|i[29],lA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,UA=0|i[26],GA=0,HA=0|i[25],LA=0,kA=0|i[24],NA=0,bA=0|i[23],SA=0,RA=0|i[22],JA=0,vA=0|i[21],qA=0,YA=0|i[20],PA=0,xA=0|i[19],OA=0,XA=0|i[18],ZA=0,jA=0|i[17],KA=0,VA=0|i[16],zA=0,WA=0|i[15],TA=0,_A=0|i[14],$A=0,AI=0|i[13],II=0,tI=0|i[12],iI=0,gI=0|i[11],CI=0,eI=0|i[10],QI=0,nI=0|i[9],BI=0,rI=0|i[8],EI=0,hI=0|i[7],sI=0,oI=0|i[6],aI=0,fI=0|i[5],wI=0,DI=0|i[4],cI=0,uI=0|i[3],yI=0,pI=0|i[2],lI=0,FI=0|i[1],MI=0,mI=0|i[0];for(I=0;I<t;)e=397*Q,B=397*r,E=397*h,o=397*f,w=397*D,c=397*u,y=397*p,l=397*F,M=397*m,d=397*U,G=397*H,L=397*k,N=397*b,S=397*R,J=397*v,q=397*Y,P=397*x,O=397*X,Z=397*j,K=397*V,z=397*W,T=397*_,$=397*AA,IA=397*tA,iA=397*gA,CA=397*eA,QA=397*nA,BA=397*rA,EA=397*hA,sA=397*oA,aA=397*fA,wA=397*DA,cA=397*uA,yA=397*pA,lA=397*FA,MA=397*mA,dA=397*UA,GA=397*HA,LA=397*kA,NA=397*bA,SA=397*RA,JA=397*vA,qA=397*YA,PA=397*xA,OA=397*XA,ZA=397*jA,KA=397*VA,zA=397*WA,TA=397*_A,$A=397*AI,II=397*tI,iI=397*gI,CI=397*eI,QI=397*nI,BI=397*rI,EI=397*hI,sI=397*oI,aI=397*fI,wI=397*DI,cI=397*uI,yI=397*pI,lI=397*FI,MI=397*mI,JA+=C<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(sI+=(EI+=(BI+=(QI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(GA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(Q=65535&e),B=397*(r=65535&B),E=397*(h=65535&E),o=397*(f=65535&o),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(U=65535&d),G=397*(H=65535&G),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(eA=65535&CA),QA=397*(nA=65535&QA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),sA=397*(oA=65535&sA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(UA=65535&dA),GA=397*(HA=65535&GA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(eI=65535&CI),QI=397*(nI=65535&QI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),sI=397*(oI=65535&sI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(sI+=(EI+=(BI+=(QI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(GA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(Q=65535&e),B=397*(r=65535&B),E=397*(h=65535&E),o=397*(f=65535&o),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(U=65535&d),G=397*(H=65535&G),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(eA=65535&CA),QA=397*(nA=65535&QA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),sA=397*(oA=65535&sA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(UA=65535&dA),GA=397*(HA=65535&GA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(eI=65535&CI),QI=397*(nI=65535&QI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),sI=397*(oI=65535&sI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(sI+=(EI+=(BI+=(QI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(GA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(sA+=(EA+=(BA+=(QA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(G+=(d+=(M+=(l+=(y+=(c+=(w+=(o+=(E+=(B+=(e+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(Q=65535&e),B=397*(r=65535&B),E=397*(h=65535&E),o=397*(f=65535&o),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(U=65535&d),G=397*(H=65535&G),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(eA=65535&CA),QA=397*(nA=65535&QA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),sA=397*(oA=65535&sA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(UA=65535&dA),GA=397*(HA=65535&GA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(eI=65535&CI),QI=397*(nI=65535&QI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),sI=397*(oI=65535&sI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),eA=65535&(CA+=iA>>>16),nA=65535&(QA+=CA>>>16),rA=65535&(BA+=QA>>>16),hA=65535&(EA+=BA>>>16),oA=65535&(sA+=EA>>>16),fA=65535&(aA+=sA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),UA=65535&(dA+=MA>>>16),HA=65535&(GA+=dA>>>16),kA=65535&(LA+=GA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),eI=65535&(CI+=iI>>>16),nI=65535&(QI+=CI>>>16),rI=65535&(BI+=QI>>>16),hI=65535&(EI+=BI>>>16),oI=65535&(sI+=EI>>>16),fI=65535&(aI+=sI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI,C^=A.charCodeAt(I++);for(;I<t+3;)e=397*Q,B=397*r,E=397*h,o=397*f,w=397*D,c=397*u,y=397*p,l=397*F,M=397*m,d=397*U,G=397*H,L=397*k,N=397*b,S=397*R,J=397*v,q=397*Y,P=397*x,O=397*X,Z=397*j,K=397*V,z=397*W,T=397*_,$=397*AA,IA=397*tA,iA=397*gA,CA=397*eA,QA=397*nA,BA=397*rA,EA=397*hA,sA=397*oA,aA=397*fA,wA=397*DA,cA=397*uA,yA=397*pA,lA=397*FA,MA=397*mA,dA=397*UA,GA=397*HA,LA=397*kA,NA=397*bA,SA=397*RA,JA=397*vA,qA=397*YA,PA=397*xA,OA=397*XA,ZA=397*jA,KA=397*VA,zA=397*WA,TA=397*_A,$A=397*AI,II=397*tI,iI=397*gI,CI=397*eI,QI=397*nI,BI=397*rI,EI=397*hI,sI=397*oI,aI=397*fI,wI=397*DI,cI=397*uI,yI=397*pI,lI=397*FI,MI=397*mI,JA+=C<<8,qA+=Q<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=U<<8,CI+=H<<8,QI+=k<<8,BI+=b<<8,EI+=R<<8,sI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),Q=65535&(e+=g>>>16),r=65535&(B+=e>>>16),h=65535&(E+=B>>>16),f=65535&(o+=E>>>16),D=65535&(w+=o>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),U=65535&(d+=M>>>16),H=65535&(G+=d>>>16),k=65535&(L+=G>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),eA=65535&(CA+=iA>>>16),nA=65535&(QA+=CA>>>16),rA=65535&(BA+=QA>>>16),hA=65535&(EA+=BA>>>16),oA=65535&(sA+=EA>>>16),fA=65535&(aA+=sA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),UA=65535&(dA+=MA>>>16),HA=65535&(GA+=dA>>>16),kA=65535&(LA+=GA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),eI=65535&(CI+=iI>>>16),nI=65535&(QI+=CI>>>16),rI=65535&(BI+=QI>>>16),hI=65535&(EI+=BI>>>16),oI=65535&(sI+=EI>>>16),fI=65535&(aI+=sI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI,C^=A.charCodeAt(I++);return a(n[mI>>8]+n[255&mI]+n[FI>>8]+n[255&FI]+n[pI>>8]+n[255&pI]+n[uI>>8]+n[255&uI]+n[DI>>8]+n[255&DI]+n[fI>>8]+n[255&fI]+n[oI>>8]+n[255&oI]+n[hI>>8]+n[255&hI]+n[rI>>8]+n[255&rI]+n[nI>>8]+n[255&nI]+n[eI>>8]+n[255&eI]+n[gI>>8]+n[255&gI]+n[tI>>8]+n[255&tI]+n[AI>>8]+n[255&AI]+n[_A>>8]+n[255&_A]+n[WA>>8]+n[255&WA]+n[VA>>8]+n[255&VA]+n[jA>>8]+n[255&jA]+n[XA>>8]+n[255&XA]+n[xA>>8]+n[255&xA]+n[YA>>8]+n[255&YA]+n[vA>>8]+n[255&vA]+n[RA>>8]+n[255&RA]+n[bA>>8]+n[255&bA]+n[kA>>8]+n[255&kA]+n[HA>>8]+n[255&HA]+n[UA>>8]+n[255&UA]+n[mA>>8]+n[255&mA]+n[FA>>8]+n[255&FA]+n[pA>>8]+n[255&pA]+n[uA>>8]+n[255&uA]+n[DA>>8]+n[255&DA]+n[fA>>8]+n[255&fA]+n[oA>>8]+n[255&oA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[eA>>8]+n[255&eA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[U>>8]+n[255&U]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C],1024)}function V(A){var I,t,i=A.length,g=s[1024].offset,C=0,e=0|g[63],Q=0,B=0|g[62],r=0,E=0|g[61],h=0,o=0|g[60],f=0,w=0|g[59],D=0,c=0|g[58],u=0,y=0|g[57],p=0,l=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],U=0,G=0|g[53],H=0,L=0|g[52],k=0,N=0|g[51],b=0,S=0|g[50],R=0,J=0|g[49],v=0,q=0|g[48],Y=0,P=0|g[47],x=0,O=0|g[46],X=0,Z=0|g[45],j=0,K=0|g[44],V=0,z=0|g[43],W=0,T=0|g[42],_=0,$=0|g[41],AA=0,IA=0|g[40],tA=0,iA=0|g[39],gA=0,CA=0|g[38],eA=0,QA=0|g[37],nA=0,BA=0|g[36],rA=0,EA=0|g[35],hA=0,sA=0|g[34],oA=0,aA=0|g[33],fA=0,wA=0|g[32],DA=0,cA=0|g[31],uA=0,yA=0|g[30],pA=0,lA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],UA=0,GA=0|g[26],HA=0,LA=0|g[25],kA=0,NA=0|g[24],bA=0,SA=0|g[23],RA=0,JA=0|g[22],vA=0,qA=0|g[21],YA=0,PA=0|g[20],xA=0,OA=0|g[19],XA=0,ZA=0|g[18],jA=0,KA=0|g[17],VA=0,zA=0|g[16],WA=0,TA=0|g[15],_A=0,$A=0|g[14],AI=0,II=0|g[13],tI=0,iI=0|g[12],gI=0,CI=0|g[11],eI=0,QI=0|g[10],nI=0,BI=0|g[9],rI=0,EI=0|g[8],hI=0,sI=0|g[7],oI=0,aI=0|g[6],fI=0,wI=0|g[5],DI=0,cI=0|g[4],uI=0,yI=0|g[3],pI=0,lI=0|g[2],FI=0,MI=0|g[1],mI=0,dI=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=397*B,r=397*E,h=397*o,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,U=397*G,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,eA=397*QA,nA=397*BA,rA=397*EA,hA=397*sA,oA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,UA=397*GA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,eI=397*QI,nI=397*BI,rI=397*EI,hI=397*sI,oI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(e^=I>>6|192)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,e=65535&(C=397*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),aA=65535&(oA+=hA>>>16),wA=65535&(fA+=oA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),GA=65535&(UA+=mA>>>16),LA=65535&(HA+=UA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),QI=65535&(eI+=gI>>>16),BI=65535&(nI+=eI>>>16),EI=65535&(rI+=nI>>>16),sI=65535&(hI+=rI>>>16),aI=65535&(oI+=hI>>>16),wI=65535&(fI+=oI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=397*B,r=397*E,h=397*o,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,U=397*G,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,eA=397*QA,nA=397*BA,rA=397*EA,hA=397*sA,oA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,UA=397*GA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,eI=397*QI,nI=397*BI,rI=397*EI,hI=397*sI,oI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,e=65535&(C=397*e),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(oI+=(hI+=(rI+=(nI+=(eI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(UA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(B=65535&Q),r=397*(E=65535&r),h=397*(o=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),U=397*(G=65535&U),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),eA=397*(QA=65535&eA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(sA=65535&hA),oA=397*(aA=65535&oA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),UA=397*(GA=65535&UA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),eI=397*(QI=65535&eI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(sI=65535&hI),oI=397*(aI=65535&oI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(e^=I>>12&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,e=65535&(C=397*e),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(oI+=(hI+=(rI+=(nI+=(eI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(UA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(B=65535&Q),r=397*(E=65535&r),h=397*(o=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),U=397*(G=65535&U),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),eA=397*(QA=65535&eA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(sA=65535&hA),oA=397*(aA=65535&oA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),UA=397*(GA=65535&UA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),eI=397*(QI=65535&eI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(sI=65535&hI),oI=397*(aI=65535&oI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(e^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,e=65535&(C=397*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),aA=65535&(oA+=hA>>>16),wA=65535&(fA+=oA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),GA=65535&(UA+=mA>>>16),LA=65535&(HA+=UA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),QI=65535&(eI+=gI>>>16),BI=65535&(nI+=eI>>>16),EI=65535&(rI+=nI>>>16),sI=65535&(hI+=rI>>>16),aI=65535&(oI+=hI>>>16),wI=65535&(fI+=oI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,e^=63&I|128):(Q=397*B,r=397*E,h=397*o,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,U=397*G,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,eA=397*QA,nA=397*BA,rA=397*EA,hA=397*sA,oA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,UA=397*GA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,eI=397*QI,nI=397*BI,rI=397*EI,hI=397*sI,oI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(e^=I>>12|224)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,e=65535&(C=397*e),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(oI+=(hI+=(rI+=(nI+=(eI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(UA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(B=65535&Q),r=397*(E=65535&r),h=397*(o=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),U=397*(G=65535&U),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),eA=397*(QA=65535&eA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(sA=65535&hA),oA=397*(aA=65535&oA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),UA=397*(GA=65535&UA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),eI=397*(QI=65535&eI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(sI=65535&hI),oI=397*(aI=65535&oI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(e^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,e=65535&(C=397*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),aA=65535&(oA+=hA>>>16),wA=65535&(fA+=oA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),GA=65535&(UA+=mA>>>16),LA=65535&(HA+=UA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),QI=65535&(eI+=gI>>>16),BI=65535&(nI+=eI>>>16),EI=65535&(rI+=nI>>>16),sI=65535&(hI+=rI>>>16),aI=65535&(oI+=hI>>>16),wI=65535&(fI+=oI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,e^=63&I|128),Q=397*B,r=397*E,h=397*o,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,U=397*G,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,eA=397*QA,nA=397*BA,rA=397*EA,hA=397*sA,oA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,UA=397*GA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,eI=397*QI,nI=397*BI,rI=397*EI,hI=397*sI,oI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=e<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,e=65535&(C=397*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),aA=65535&(oA+=hA>>>16),wA=65535&(fA+=oA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),GA=65535&(UA+=mA>>>16),LA=65535&(HA+=UA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),QI=65535&(eI+=gI>>>16),BI=65535&(nI+=eI>>>16),EI=65535&(rI+=nI>>>16),sI=65535&(hI+=rI>>>16),aI=65535&(oI+=hI>>>16),wI=65535&(fI+=oI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI;return a(n[dI>>8]+n[255&dI]+n[MI>>8]+n[255&MI]+n[lI>>8]+n[255&lI]+n[yI>>8]+n[255&yI]+n[cI>>8]+n[255&cI]+n[wI>>8]+n[255&wI]+n[aI>>8]+n[255&aI]+n[sI>>8]+n[255&sI]+n[EI>>8]+n[255&EI]+n[BI>>8]+n[255&BI]+n[QI>>8]+n[255&QI]+n[CI>>8]+n[255&CI]+n[iI>>8]+n[255&iI]+n[II>>8]+n[255&II]+n[$A>>8]+n[255&$A]+n[TA>>8]+n[255&TA]+n[zA>>8]+n[255&zA]+n[KA>>8]+n[255&KA]+n[ZA>>8]+n[255&ZA]+n[OA>>8]+n[255&OA]+n[PA>>8]+n[255&PA]+n[qA>>8]+n[255&qA]+n[JA>>8]+n[255&JA]+n[SA>>8]+n[255&SA]+n[NA>>8]+n[255&NA]+n[LA>>8]+n[255&LA]+n[GA>>8]+n[255&GA]+n[dA>>8]+n[255&dA]+n[MA>>8]+n[255&MA]+n[lA>>8]+n[255&lA]+n[yA>>8]+n[255&yA]+n[cA>>8]+n[255&cA]+n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[sA>>8]+n[255&sA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[QA>>8]+n[255&QA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[G>>8]+n[255&G]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],1024)}function z(A){var I,t,i=A.length,g=s[1024].offset,C=0,e=0|g[63],Q=0,B=0|g[62],r=0,E=0|g[61],h=0,o=0|g[60],f=0,w=0|g[59],D=0,c=0|g[58],u=0,y=0|g[57],p=0,l=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],U=0,G=0|g[53],H=0,L=0|g[52],k=0,N=0|g[51],b=0,S=0|g[50],R=0,J=0|g[49],v=0,q=0|g[48],Y=0,P=0|g[47],x=0,O=0|g[46],X=0,Z=0|g[45],j=0,K=0|g[44],V=0,z=0|g[43],W=0,T=0|g[42],_=0,$=0|g[41],AA=0,IA=0|g[40],tA=0,iA=0|g[39],gA=0,CA=0|g[38],eA=0,QA=0|g[37],nA=0,BA=0|g[36],rA=0,EA=0|g[35],hA=0,sA=0|g[34],oA=0,aA=0|g[33],fA=0,wA=0|g[32],DA=0,cA=0|g[31],uA=0,yA=0|g[30],pA=0,lA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],UA=0,GA=0|g[26],HA=0,LA=0|g[25],kA=0,NA=0|g[24],bA=0,SA=0|g[23],RA=0,JA=0|g[22],vA=0,qA=0|g[21],YA=0,PA=0|g[20],xA=0,OA=0|g[19],XA=0,ZA=0|g[18],jA=0,KA=0|g[17],VA=0,zA=0|g[16],WA=0,TA=0|g[15],_A=0,$A=0|g[14],AI=0,II=0|g[13],tI=0,iI=0|g[12],gI=0,CI=0|g[11],eI=0,QI=0|g[10],nI=0,BI=0|g[9],rI=0,EI=0|g[8],hI=0,sI=0|g[7],oI=0,aI=0|g[6],fI=0,wI=0|g[5],DI=0,cI=0|g[4],uI=0,yI=0|g[3],pI=0,lI=0|g[2],FI=0,MI=0|g[1],mI=0,dI=0|g[0];for(t=0;t<i;t++)Q=397*B,r=397*E,h=397*o,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,U=397*G,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,eA=397*QA,nA=397*BA,rA=397*EA,hA=397*sA,oA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,UA=397*GA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,eI=397*QI,nI=397*BI,rI=397*EI,hI=397*sI,oI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=e<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,e=65535&(C=397*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),aA=65535&(oA+=hA>>>16),wA=65535&(fA+=oA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),GA=65535&(UA+=mA>>>16),LA=65535&(HA+=UA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),QI=65535&(eI+=gI>>>16),BI=65535&(nI+=eI>>>16),EI=65535&(rI+=nI>>>16),sI=65535&(hI+=rI>>>16),aI=65535&(oI+=hI>>>16),wI=65535&(fI+=oI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,(I=A.charCodeAt(t))<128?e^=I:I<2048?(Q=397*B,r=397*E,h=397*o,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,U=397*G,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,eA=397*QA,nA=397*BA,rA=397*EA,hA=397*sA,oA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,UA=397*GA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,eI=397*QI,nI=397*BI,rI=397*EI,hI=397*sI,oI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(e^=I>>6|192)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,e=65535&(C=397*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),aA=65535&(oA+=hA>>>16),wA=65535&(fA+=oA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),GA=65535&(UA+=mA>>>16),LA=65535&(HA+=UA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),QI=65535&(eI+=gI>>>16),BI=65535&(nI+=eI>>>16),EI=65535&(rI+=nI>>>16),sI=65535&(hI+=rI>>>16),aI=65535&(oI+=hI>>>16),wI=65535&(fI+=oI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,e^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=397*B,r=397*E,h=397*o,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,U=397*G,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,eA=397*QA,nA=397*BA,rA=397*EA,hA=397*sA,oA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,UA=397*GA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,eI=397*QI,nI=397*BI,rI=397*EI,hI=397*sI,oI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(e^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,e=65535&(C=397*e),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(oI+=(hI+=(rI+=(nI+=(eI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(UA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(B=65535&Q),r=397*(E=65535&r),h=397*(o=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),U=397*(G=65535&U),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),eA=397*(QA=65535&eA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(sA=65535&hA),oA=397*(aA=65535&oA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),UA=397*(GA=65535&UA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),eI=397*(QI=65535&eI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(sI=65535&hI),oI=397*(aI=65535&oI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(e^=I>>12&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,e=65535&(C=397*e),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(oI+=(hI+=(rI+=(nI+=(eI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(UA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(B=65535&Q),r=397*(E=65535&r),h=397*(o=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),U=397*(G=65535&U),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),eA=397*(QA=65535&eA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(sA=65535&hA),oA=397*(aA=65535&oA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),UA=397*(GA=65535&UA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),eI=397*(QI=65535&eI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(sI=65535&hI),oI=397*(aI=65535&oI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(e^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,e=65535&(C=397*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),aA=65535&(oA+=hA>>>16),wA=65535&(fA+=oA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),GA=65535&(UA+=mA>>>16),LA=65535&(HA+=UA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),QI=65535&(eI+=gI>>>16),BI=65535&(nI+=eI>>>16),EI=65535&(rI+=nI>>>16),sI=65535&(hI+=rI>>>16),aI=65535&(oI+=hI>>>16),wI=65535&(fI+=oI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,e^=63&I|128):(Q=397*B,r=397*E,h=397*o,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,U=397*G,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,eA=397*QA,nA=397*BA,rA=397*EA,hA=397*sA,oA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,UA=397*GA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,eI=397*QI,nI=397*BI,rI=397*EI,hI=397*sI,oI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(e^=I>>12|224)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,e=65535&(C=397*e),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(oI+=(hI+=(rI+=(nI+=(eI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(UA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(oA+=(hA+=(rA+=(nA+=(eA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(U+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(Q+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(B=65535&Q),r=397*(E=65535&r),h=397*(o=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),U=397*(G=65535&U),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),eA=397*(QA=65535&eA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(sA=65535&hA),oA=397*(aA=65535&oA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),UA=397*(GA=65535&UA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),eI=397*(QI=65535&eI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(sI=65535&hI),oI=397*(aI=65535&oI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(e^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=o<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=G<<8,eI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,oI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,e=65535&(C=397*e),B=65535&(Q+=C>>>16),E=65535&(r+=Q>>>16),o=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),G=65535&(U+=m>>>16),L=65535&(H+=U>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),QA=65535&(eA+=gA>>>16),BA=65535&(nA+=eA>>>16),EA=65535&(rA+=nA>>>16),sA=65535&(hA+=rA>>>16),aA=65535&(oA+=hA>>>16),wA=65535&(fA+=oA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),GA=65535&(UA+=mA>>>16),LA=65535&(HA+=UA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),QI=65535&(eI+=gI>>>16),BI=65535&(nI+=eI>>>16),EI=65535&(rI+=nI>>>16),sI=65535&(hI+=rI>>>16),aI=65535&(oI+=hI>>>16),wI=65535&(fI+=oI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,e^=63&I|128);return a(n[dI>>8]+n[255&dI]+n[MI>>8]+n[255&MI]+n[lI>>8]+n[255&lI]+n[yI>>8]+n[255&yI]+n[cI>>8]+n[255&cI]+n[wI>>8]+n[255&wI]+n[aI>>8]+n[255&aI]+n[sI>>8]+n[255&sI]+n[EI>>8]+n[255&EI]+n[BI>>8]+n[255&BI]+n[QI>>8]+n[255&QI]+n[CI>>8]+n[255&CI]+n[iI>>8]+n[255&iI]+n[II>>8]+n[255&II]+n[$A>>8]+n[255&$A]+n[TA>>8]+n[255&TA]+n[zA>>8]+n[255&zA]+n[KA>>8]+n[255&KA]+n[ZA>>8]+n[255&ZA]+n[OA>>8]+n[255&OA]+n[PA>>8]+n[255&PA]+n[qA>>8]+n[255&qA]+n[JA>>8]+n[255&JA]+n[SA>>8]+n[255&SA]+n[NA>>8]+n[255&NA]+n[LA>>8]+n[255&LA]+n[GA>>8]+n[255&GA]+n[dA>>8]+n[255&dA]+n[MA>>8]+n[255&MA]+n[lA>>8]+n[255&lA]+n[yA>>8]+n[255&yA]+n[cA>>8]+n[255&cA]+n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[sA>>8]+n[255&sA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[QA>>8]+n[255&QA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[G>>8]+n[255&G]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[o>>8]+n[255&o]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e],1024)}return I=p,t=m,i=H,g=b,C=v,e=x,Q=j,c("1a"),u(!1),y(),{hash:D,setKeyspace:function(A){if(52!==A&&!s[A])throw new Error("Supported FNV keyspacs: 32, 52, 64, 128, 256, 512, and 1024 bit");h=A},version:c,useUTF8:u,seed:y,fast1a32:function(A){var I,t=A.length-3,i=0,g=40389,C=0,e=33052;for(I=0;I<t;)C=403*e,C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(e=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(e=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(e=C+(i>>>16)&65535),e=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;I<t+3;)C=403*e,e=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;return(e<<16>>>0)+g},fast1a32hex:function(A){var I,t=A.length-3,i=0,g=40389,C=0,e=33052;for(I=0;I<t;)C=403*e,C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(e=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(e=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(e=C+(i>>>16)&65535),e=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;I<t+3;)C=403*e,e=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;return n[e>>>8&255]+n[255&e]+n[g>>>8&255]+n[255&g]},fast1a52:function(A){var I,t=A.length-3,i=0,g=8997,C=0,e=33826,Q=0,n=40164,B=0,r=52210;for(I=0;I<t;)C=435*e,Q=435*n,B=435*r,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(n=65535&Q),B=435*r,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(n=65535&Q),B=435*r,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(n=65535&Q),B=435*r,Q+=(g^=A.charCodeAt(I++))<<8,B+=e<<8,g=65535&(i=435*g),e=65535&(C+=i>>>16),r=B+((Q+=C>>>16)>>>16)&65535,n=65535&Q;for(;I<t+3;)C=435*e,Q=435*n,B=435*r,Q+=(g^=A.charCodeAt(I++))<<8,B+=e<<8,g=65535&(i=435*g),e=65535&(C+=i>>>16),r=B+((Q+=C>>>16)>>>16)&65535,n=65535&Q;return 281474976710656*(15&r)+4294967296*n+65536*e+(g^r>>4)},fast1a52hex:function(A){var I,t=A.length-3,i=0,g=8997,C=0,e=33826,Q=0,r=40164,E=0,h=52210;for(I=0;I<t;)C=435*e,Q=435*r,E=435*h,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),h=(E+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(r=65535&Q),E=435*h,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),h=(E+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(r=65535&Q),E=435*h,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),h=(E+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(r=65535&Q),E=435*h,Q+=(g^=A.charCodeAt(I++))<<8,E+=e<<8,g=65535&(i=435*g),e=65535&(C+=i>>>16),h=E+((Q+=C>>>16)>>>16)&65535,r=65535&Q;for(;I<t+3;)C=435*e,Q=435*r,E=435*h,Q+=(g^=A.charCodeAt(I++))<<8,E+=e<<8,g=65535&(i=435*g),e=65535&(C+=i>>>16),h=E+((Q+=C>>>16)>>>16)&65535,r=65535&Q;return B[15&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[g>>8^h>>12]+n[255&(g^h>>4)]},fast1a64:function(A){var I,t=A.length-3,i=0,g=8997,C=0,e=33826,Q=0,B=40164,r=0,E=52210;for(I=0;I<t;)C=435*e,Q=435*B,r=435*E,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(r+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(B=65535&Q),r=435*E,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(r+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(B=65535&Q),r=435*E,Q+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(r+=e<<8)+((Q+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(e=65535&C),Q=435*(B=65535&Q),r=435*E,Q+=(g^=A.charCodeAt(I++))<<8,r+=e<<8,g=65535&(i=435*g),e=65535&(C+=i>>>16),E=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q;for(;I<t+3;)C=435*e,Q=435*B,r=435*E,Q+=(g^=A.charCodeAt(I++))<<8,r+=e<<8,g=65535&(i=435*g),e=65535&(C+=i>>>16),E=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q;return n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[e>>8]+n[255&e]+n[g>>8]+n[255&g]},fast1a32utf:function(A){var I,t,i=A.length,g=0,C=40389,e=0,Q=33052;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(e=403*Q,Q=(e+=(C^=I>>6|192)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=403*Q,e+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),e+=(C^=I>>12&63|128)<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),Q=(e+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):(e=403*Q,e+=(C^=I>>12|224)<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),Q=(e+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128),e=403*Q,Q=(e+=C<<8)+((g=403*C)>>>16)&65535,C=65535&g;return(Q<<16>>>0)+C},fast1a32hexutf:function(A){var I,t,i=A.length,g=0,C=40389,e=0,Q=33052;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(e=403*Q,Q=(e+=(C^=I>>6|192)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=403*Q,e+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),e+=(C^=I>>12&63|128)<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),Q=(e+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):(e=403*Q,e+=(C^=I>>12|224)<<8,C=65535&(g=403*C),e=403*(Q=e+(g>>>16)&65535),Q=(e+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128),e=403*Q,Q=(e+=C<<8)+((g=403*C)>>>16)&65535,C=65535&g;return n[Q>>>8&255]+n[255&Q]+n[C>>>8&255]+n[255&C]},fast1a52utf:function(A){var I,t,i=A.length,g=0,C=8997,e=0,Q=33826,n=0,B=40164,r=0,E=52210;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(e=435*Q,n=435*B,r=435*E,n+=(C^=I>>6|192)<<8,r+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),E=r+((n+=e>>>16)>>>16)&65535,B=65535&n,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=435*Q,n=435*B,r=435*E,n+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=I>>6&63|128)<<8,r+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),E=r+((n+=e>>>16)>>>16)&65535,B=65535&n,C^=63&I|128):(e=435*Q,n=435*B,r=435*E,n+=(C^=I>>12|224)<<8,C=65535&(g=435*C),E=(r+=Q<<8)+((n+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),n=435*(B=65535&n),r=435*E,n+=(C^=I>>6&63|128)<<8,r+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),E=r+((n+=e>>>16)>>>16)&65535,B=65535&n,C^=63&I|128),e=435*Q,n=435*B,r=435*E,n+=C<<8,r+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),E=r+((n+=e>>>16)>>>16)&65535,B=65535&n;return 281474976710656*(15&E)+4294967296*B+65536*Q+(C^E>>4)},fast1a52hexutf:function(A){var I,t,i=A.length,g=0,C=8997,e=0,Q=33826,r=0,E=40164,h=0,s=52210;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(e=435*Q,r=435*E,h=435*s,r+=(C^=I>>6|192)<<8,h+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=435*Q,r=435*E,h=435*s,r+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=435*C),s=(h+=Q<<8)+((r+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),r=435*(E=65535&r),h=435*s,r+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),s=(h+=Q<<8)+((r+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),r=435*(E=65535&r),h=435*s,r+=(C^=I>>6&63|128)<<8,h+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,C^=63&I|128):(e=435*Q,r=435*E,h=435*s,r+=(C^=I>>12|224)<<8,C=65535&(g=435*C),s=(h+=Q<<8)+((r+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),r=435*(E=65535&r),h=435*s,r+=(C^=I>>6&63|128)<<8,h+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,C^=63&I|128),e=435*Q,r=435*E,h=435*s,r+=C<<8,h+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r;return B[15&s]+n[E>>8]+n[255&E]+n[Q>>8]+n[255&Q]+n[C>>8^s>>12]+n[255&(C^s>>4)]},fast1a64utf:function(A){var I,t,i=A.length,g=0,C=8997,e=0,Q=33826,B=0,r=40164,E=0,h=52210;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(e=435*Q,B=435*r,E=435*h,B+=(C^=I>>6|192)<<8,E+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=435*Q,B=435*r,E=435*h,B+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=I>>6&63|128)<<8,E+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):(e=435*Q,B=435*r,E=435*h,B+=(C^=I>>12|224)<<8,C=65535&(g=435*C),h=(E+=Q<<8)+((B+=(e+=g>>>16)>>>16)>>>16)&65535,e=435*(Q=65535&e),B=435*(r=65535&B),E=435*h,B+=(C^=I>>6&63|128)<<8,E+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,C^=63&I|128),e=435*Q,B=435*r,E=435*h,B+=C<<8,E+=Q<<8,C=65535&(g=435*C),Q=65535&(e+=g>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B;return n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[C>>8]+n[255&C]}}}();A.exports=I}));var lt={fnvHash:function(A){return pt.hash(A,64).hex()},flatArray:function(A){var I=[];return function A(I,t){if(Array.isArray(t))for(let i=0;i<t.length;i++)A(I,t[i]);else I.push(t)}(I,A),I}};const Ft=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function Mt(A,I){return I&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const mt=Mt;function dt(A,I){return BigInt(A)<<BigInt(I)}function Ut(A,I){return BigInt(A)>>BigInt(I)}const Gt=dt,Ht=Ut;var Lt=Object.freeze({__proto__:null,fromString:Mt,e:mt,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i<A.length;i++)t=t*I+BigInt(A[i]);return t},bitLength:function(A){const I=A.toString(16);return 4*(I.length-1)+Ft[parseInt(I[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:dt,shiftRight:Ut,shl:Gt,shr:Ht,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let I=BigInt(A);const t=[];for(;I;){if(1n&I){const A=2-Number(I%4n);t.push(A),I-=BigInt(A)}else t.push(0);I>>=1n}return t},bits:function(A){let I=BigInt(A);const t=[];for(;I;)1n&I?t.push(1):t.push(0),I>>=1n;return t},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,I){const t=[];let i=BigInt(A);for(I=BigInt(I);i;)t.unshift(Number(i%I)),i/=I;return t},add:function(A,I){return BigInt(A)+BigInt(I)},sub:function(A,I){return BigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){return BigInt(A)*BigInt(I)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,I){return BigInt(A)**BigInt(I)},exp:function(A,I){return BigInt(A)**BigInt(I)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){return BigInt(A)/BigInt(I)},mod:function(A,I){return BigInt(A)%BigInt(I)},eq:function(A,I){return BigInt(A)==BigInt(I)},neq:function(A,I){return BigInt(A)!=BigInt(I)},lt:function(A,I){return BigInt(A)<BigInt(I)},gt:function(A,I){return BigInt(A)>BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function kt(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?r(A.slice(2),16):r(A,I)}const Nt=kt;function bt(A,I){return r(A).shiftLeft(I)}function St(A,I){return r(A).shiftRight(I)}const Rt=bt,Jt=St;var vt=Object.freeze({__proto__:null,fromString:kt,e:Nt,fromArray:function(A,I){return r.fromArray(A,I)},bitLength:function(A){return r(A).bitLength()},isNegative:function(A){return r(A).isNegative()},isZero:function(A){return r(A).isZero()},shiftLeft:bt,shiftRight:St,shl:Rt,shr:Jt,isOdd:function(A){return r(A).isOdd()},naf:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);){if(I.isOdd()){const A=2-I.mod(4).toJSNumber();t.push(A),I=I.minus(A)}else t.push(0);I=I.shiftRight(1)}return t},bits:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(r("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return r(A).toArray(I)},add:function(A,I){return r(A).add(r(I))},sub:function(A,I){return r(A).minus(r(I))},neg:function(A){return r.zero.minus(r(A))},mul:function(A,I){return r(A).times(r(I))},square:function(A){return r(A).square()},pow:function(A,I){return r(A).pow(r(I))},exp:function(A,I){return r(A).pow(r(I))},abs:function(A){return r(A).abs()},div:function(A,I){return r(A).divide(r(I))},mod:function(A,I){return r(A).mod(r(I))},eq:function(A,I){return r(A).eq(r(I))},neq:function(A,I){return r(A).neq(r(I))},lt:function(A,I){return r(A).lt(r(I))},gt:function(A,I){return r(A).gt(r(I))},leq:function(A,I){return r(A).leq(r(I))},geq:function(A,I){return r(A).geq(r(I))},band:function(A,I){return r(A).and(r(I))},bor:function(A,I){return r(A).or(r(I))},bxor:function(A,I){return r(A).xor(r(I))},land:function(A,I){return!r(A).isZero()&&!r(I).isZero()},lor:function(A,I){return!r(A).isZero()||!r(I).isZero()},lnot:function(A){return r(A).isZero()}});const qt="function"==typeof BigInt;let Yt={};qt?Object.assign(Yt,Lt):Object.assign(Yt,vt),Yt.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new Uint32Array(A.buffer,I,i/4),e=1+(4*(g.length-7)-1>>5);for(let A=0;A<e;A++)C[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=e;A<C.length;A++)C[A]=0;for(let I=4*C.length;I<i;I++)A[I]=Yt.toNumber(Yt.band(Yt.shiftRight(t,8*I),255))},Yt.toRprBE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new DataView(A.buffer,I,i),e=1+(4*(g.length-7)-1>>5);for(let A=0;A<e;A++)C.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-e;A++)C[A]=0},Yt.fromRprLE=function(A,I,t){t=t||A.byteLength;const i=new Uint32Array(A.buffer,I,t/4),g=new Array(t/4);return i.forEach((A,I)=>g[g.length-I-1]=A.toString(16).padStart(8,"0")),Yt.fromString(g.join(""),16)},Yt.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A<t/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return Yt.fromString(g.join(""),16)},Yt.toString=function(A,I){return A.toString(I)},Yt.toLEBuff=function(A){const I=new Uint8Array(Math.floor((Yt.bitLength(A)-1)/8)+1);return Yt.toRprLE(I,0,A,I.byteLength),I},Yt.zero=Yt.e(0),Yt.one=Yt.e(1);let{toRprLE:Pt,toRprBE:xt,fromRprLE:Ot,fromRprBE:Xt,toString:Zt,toLEBuff:jt,zero:Kt,one:Vt,fromString:zt,e:Wt,fromArray:Tt,bitLength:_t,isNegative:$t,isZero:Ai,shiftLeft:Ii,shiftRight:ti,shl:ii,shr:gi,isOdd:Ci,naf:ei,bits:Qi,toNumber:ni,toArray:Bi,add:ri,sub:Ei,neg:hi,mul:si,square:oi,pow:ai,exp:fi,abs:wi,div:Di,mod:ci,eq:ui,neq:yi,lt:pi,gt:li,leq:Fi,geq:Mi,band:mi,bor:di,bxor:Ui,land:Gi,lor:Hi,lnot:Li}=Yt;var ki=Object.freeze({__proto__:null,toRprLE:Pt,toRprBE:xt,fromRprLE:Ot,fromRprBE:Xt,toString:Zt,toLEBuff:jt,zero:Kt,one:Vt,fromString:zt,e:Wt,fromArray:Tt,bitLength:_t,isNegative:$t,isZero:Ai,shiftLeft:Ii,shiftRight:ti,shl:ii,shr:gi,isOdd:Ci,naf:ei,bits:Qi,toNumber:ni,toArray:Bi,add:ri,sub:Ei,neg:hi,mul:si,square:oi,pow:ai,exp:fi,abs:wi,div:Di,mod:ci,eq:ui,neq:yi,lt:pi,gt:li,leq:Fi,geq:Mi,band:mi,bor:di,bxor:Ui,land:Gi,lor:Hi,lnot:Li});function Ni(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)}function bi(A,I,t,i,g){const C=1<<t;if(1==C)return[I[i]];if(2==C)return[A.F.add(I[i],I[i+g]),A.F.sub(I[i],I[i+g])];const e=C>>1,Q=bi(A,I,t-1,i,2*g),n=bi(A,I,t-1,i+g,2*g),B=new Array(C);for(let I=0;I<e;I++)B[I]=A.F.add(Q[I],A.F.mul(A.roots[t][I],n[I])),B[I+e]=A.F.sub(Q[I],A.F.mul(A.roots[t][I],n[I]));return B}function Si(A,I,t){const i=1<<t;if(1==i)return[I[0]];const g=i>>1,C=Si(A,I.slice(0,g),t-1),e=Si(A,I.slice(g),t-1),Q=new Array(i);for(let I=0;I<g;I++)Q[I]=A.F.add(C[I],A.F.mul(A.roots[t][I],e[I])),Q[I+g]=A.F.sub(C[I],A.F.mul(A.roots[t][I],e[I]));return Q}const Ri=[];for(let A=0;A<256;A++)Ri[A]=Ji(A,8);function Ji(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}function vi(A,I){return(Ri[A>>>24]|Ri[A>>>16&255]<<8|Ri[A>>>8&255]<<16|Ri[255&A]<<24)>>>32-I}function qi(A,I){for(let t=0;t<A.length;t++){const i=vi(t,I);if(i>t){const I=A[t];A[t]=A[i],A[i]=I}}}function Yi(A,I,t){let i;if(Ai(t))return A.zero;const g=ei(t);if(1==g[g.length-1])i=I;else{if(-1!=g[g.length-1])throw new Error("invlaud NAF");i=A.neg(I)}for(let t=g.length-2;t>=0;t--)i=A.double(i),1==g[t]?i=A.add(i,I):-1==g[t]&&(i=A.sub(i,I));return i}function Pi(A,I,t){if(Ai(t))return A.one;const i=Qi(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function xi(A){if(A.m%2==1)if(ui(ci(A.p,4),1))if(ui(ci(A.p,8),1))if(ui(ci(A.p,16),1))!function(A){A.sqrt_q=ai(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Ei(A.sqrt_q,1);for(;!Ci(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=Di(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<<A.sqrt_s-1)}A.sqrt_tm1d2=Di(Ei(A.sqrt_t,1),2),A.sqrt=function(A){const I=this;if(I.isZero(A))return I.zero;let t=I.pow(A,I.sqrt_tm1d2);const i=I.pow(I.mul(I.square(t),A),1<<I.sqrt_s-1);if(I.eq(i,I.negone))return null;let g=I.sqrt_s,C=I.mul(A,t),e=I.mul(C,t),Q=I.sqrt_z;for(;!I.eq(e,I.one);){let A=I.square(e),i=1;for(;!I.eq(A,I.one);)A=I.square(A),i++;t=Q;for(let A=0;A<g-i-1;A++)t=I.square(t);Q=I.square(t),e=I.mul(e,Q),C=I.mul(C,t),g=i}return I.geq(C,I.zero)?C:I.neg(C)}}(A);else{if(!ui(ci(A.p,16),9))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(A)}else{if(!ui(ci(A.p,8),5))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(A)}else ui(ci(A.p,4),3)&&function(A){A.sqrt_q=ai(A.p,A.m),A.sqrt_e1=Di(Ei(A.sqrt_q,3),4),A.sqrt=function(I){if(this.isZero(I))return this.zero;const t=this.pow(I,this.sqrt_e1),i=this.mul(this.square(t),I);if(this.eq(i,this.negone))return null;const g=this.mul(t,I);return A.geq(g,A.zero)?g:A.neg(g)}}(A);else{const I=ci(ai(A.p,A.m/2),4);1==I?function(A){A.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(A):3==I?function(A){A.sqrt_q=ai(A.p,A.m/2),A.sqrt_e34=Di(Ei(A.sqrt_q,3),4),A.sqrt_e12=Di(Ei(A.sqrt_q,1),2),A.frobenius=function(I,t){return I%2==1?A.conjugate(t):t},A.sqrt=function(A){const I=this,t=I.pow(A,I.sqrt_e34),i=I.mul(I.square(t),A),g=I.mul(I.frobenius(1,i),i);if(I.eq(g,I.negone))return null;const C=I.mul(t,A);let e;if(I.eq(i,I.negone))e=I.mul(C,[I.F.zero,I.F.one]);else{const A=I.pow(I.add(I.one,i),I.sqrt_e12);e=I.mul(A,C)}return I.geq(e,I.zero)?e:I.neg(e)}}(A):function(A){A.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(A)}}function Oi(A,I,t,i,g){A[I]=A[I]+A[t]>>>0,A[g]=(A[g]^A[I])>>>0,A[g]=(A[g]<<16|A[g]>>>16&65535)>>>0,A[i]=A[i]+A[g]>>>0,A[t]=(A[t]^A[i])>>>0,A[t]=(A[t]<<12|A[t]>>>20&4095)>>>0,A[I]=A[I]+A[t]>>>0,A[g]=(A[g]^A[I])>>>0,A[g]=(A[g]<<8|A[g]>>>24&255)>>>0,A[i]=A[i]+A[g]>>>0,A[t]=(A[t]^A[i])>>>0,A[t]=(A[t]<<7|A[t]>>>25&127)>>>0}class Xi{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return ri(si(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let I=0;I<10;I++)Oi(A=this.buff,0,4,8,12),Oi(A,1,5,9,13),Oi(A,2,6,10,14),Oi(A,3,7,11,15),Oi(A,0,5,10,15),Oi(A,1,6,11,12),Oi(A,2,7,8,13),Oi(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}function Zi(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let t=0;t<A;t++)I[t]=4294967296*Math.random()>>>0;else DA.randomFillSync(I);return I}let ji=null;function Ki(){return ji||(ji=new Xi(function(){const A=Zi(32),I=new Uint32Array(A.buffer),t=[];for(let A=0;A<8;A++)t.push(I[A]);return t}()),ji)}class Vi{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=_t(this.p),this.mask=(1n<<BigInt(this.bitLength))-1n,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(1n<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const I=this.negone>>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),xi(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return Pi(this,A,I)}exp(A,I){return Pi(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)<this.bitLength){const t=A<<I&this.mask;return t>=this.p?t-this.p:t}{const t=this.p-I;return Number(t)<this.bitLength?A>>t:0n}}shr(A,I){if(Number(I)<this.bitLength)return A>>I;{const t=this.p-I;if(Number(t)<this.bitLength){const I=A<<t&this.mask;return I>=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let e=t;for(let A=0;A<I-C-1;A++)e=this.square(e);I=C,t=this.square(e),i=this.mul(i,t),g=this.mul(g,e)}return g>this.p>>1n&&(g=this.neg(g)),g}normalize(A,I){if((A=BigInt(A,I))<0){let I=-A;return I>=this.p&&(I%=this.p),this.p-I}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let I=0n;for(let t=0;t<A;t++)I=(I<<8n)+BigInt(Zi(1)[0]);return I%this.p}toString(A,I){let t;if(A>this.half){t="-"+(this.p-A).toString(I)}else t=A.toString(I);return t}isZero(A){return 0n==A}fromRng(A){let I;do{I=0n;for(let t=0;t<this.n64;t++)I+=A.nextU64()<<BigInt(64*t);I&=this.mask}while(I>=this.p);return I=I*this.Ri%this.p,I}}class zi{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),xi(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let e=t;for(let A=0;A<I-C-1;A++)e=this.square(e);I=C,t=this.square(e),i=this.mul(i,t),g=this.mul(g,e)}return g.greater(this.p.shiftRight(this.one))&&(g=this.neg(g)),g}normalize(A){return(A=r(A)).isNegative()?this.p.minus(A.abs().mod(this.p)):A.mod(this.p)}random(){let A=r(0),I=r(this.p.square());for(;!I.isZero();)A=A.shiftLeft(8).add(r(Zi(1)[0])),I=I.shiftRight(8);return A.mod(this.p)}toString(A,I){let t;if(A.lesserOrEquals(this.p.shiftRight(r(1))))t=A.toString(I);else{t="-"+this.p.minus(A).toString(I)}return t}isZero(A){return A.isZero()}fromRng(A){let I;do{I=r(0);for(let t=0;t<this.n64;t++)I=I.add(I,A.nextU64().shiftLeft(64*t));I=I.and(this.mask)}while(I.geq(this.p));return I=I.times(this.Ri).mod(this.q),I}}const Wi="function"==typeof BigInt;let Ti;Ti=Wi?Vi:zi;class _i extends Ti{toRprLE(A,I,t){Pt(A,I,t,8*this.n64)}toRprBE(A,I,t){xt(A,I,t,8*this.n64)}toRprBEM(A,I,t){return this.toRprBE(A,I,this.mul(this.R,t))}toRprLEM(A,I,t){return this.toRprLE(A,I,this.mul(this.R,t))}fromRprLE(A,I){return Ot(A,I,this.n8)}fromRprBE(A,I){return Xt(A,I,this.n8)}fromRprLEM(A,I){return this.mul(this.fromRprLE(A,I),this.Ri)}fromRprBEM(A,I){return this.mul(this.fromRprBE(A,I),this.Ri)}}function $i(A,I){if(Array.isArray(I)){for(let t=I.length-1;t>=0;t--)if(!A.F.isZero(I[t]))return $i(A.F,I[t]);return 0}{const t=A.neg(I);return li(I,t)}}var Ag=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<<BigInt(8*i),i+=4):t>=2?(t-=2,I+=BigInt(g.getUint16(t))<<BigInt(8*i),i+=2):(t-=1,I+=BigInt(g.getUint8(t))<<BigInt(8*i),i+=1);return I},beInt2Buff:function(A,I){let t=A;const i=new Uint8Array(I),g=new DataView(i.buffer);let C=I;for(;C>0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t<A.length;)t+4<=A.length?(I+=BigInt(i.getUint32(t,!0))<<BigInt(8*t),t+=4):t+4<=A.length?(I+=BigInt(i.getUint16(t,!0))<<BigInt(8*t),t+=2):(I+=BigInt(i.getUint8(t,!0))<<BigInt(8*t),t+=1);return I},leInt2Buff:function(A,I){let t=A;void 0===I&&0==(I=Math.floor((_t(A)-1)/8)+1)&&(I=1);const i=new Uint8Array(I),g=new DataView(i.buffer);let C=0;for(;C<I;)C+4<=I?(g.setUint32(C,Number(0xFFFFFFFFn&t),!0),C+=4,t>>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var Ig=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[A.length-t-1]);I=I.add(i.shiftLeft(8*t))}return I},beInt2Buff:function(A,I){let t=A,i=I-1;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i>=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[t]);I=I.add(i.shiftLeft(8*t))}return I},leInt2Buff:function(A,I){let t=A,i=0;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i<g.length;){let A=Number(t.and(r(255)));g[i]=A,i++,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g}});let tg={};"function"==typeof BigInt?Object.assign(tg,Ag):Object.assign(tg,Ig);const ig=[];for(let A=0;A<256;A++)ig[A]=gg(A,8);function gg(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}tg.bitReverse=function(A,I){return(ig[A>>>24]|ig[A>>>16&255]<<8|ig[A>>>8&255]<<16|ig[255&A]<<24)>>>32-I},tg.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},tg.buffReverseBits=function(A,I){const t=A.byteLength/I,i=tg.log2(t);if(t!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<t;g++){const t=tg.bitReverse(g,i);if(g>t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};let{bitReverse:Cg,log2:eg,buffReverseBits:Qg,stringifyBigInts:ng,unstringifyBigInts:Bg,beBuff2int:rg,beInt2Buff:Eg,leBuff2int:hg,leInt2Buff:sg}=tg;var og=Object.freeze({__proto__:null,bitReverse:Cg,log2:eg,buffReverseBits:Qg,stringifyBigInts:ng,unstringifyBigInts:Bg,beBuff2int:rg,beInt2Buff:Eg,leBuff2int:hg,leInt2Buff:sg});function ag(A,I,t,i){return async function(g){const C=Math.floor(g.byteLength/t);if(C*t!==g.byteLength)throw new Error("Invalid buffer size");const e=Math.floor(C/A.concurrency),Q=[];for(let n=0;n<A.concurrency;n++){let B;if(B=n<A.concurrency-1?e:C-n*e,0==B)continue;const r=[{cmd:"ALLOCSET",var:0,buff:g.slice(n*e*t,n*e*t+B*t)},{cmd:"ALLOC",var:1,len:i*B},{cmd:"CALL",fnName:I,params:[{var:0},{val:B},{var:1}]},{cmd:"GET",out:0,var:1,len:i*B}];Q.push(A.queueAction(r))}const n=await Promise.all(Q),B=new Uint8Array(C*i);let r=0;for(let A=0;A<n.length;A++)B.set(n[A][0],r),r+=n[A][0].byteLength;return B}}class fg{constructor(A,I,t,i){if(this.tm=A,this.prefix=I,this.p=i,this.n8=t,this.type="F1",this.m=1,this.half=ti(i,Vt),this.bitLength=_t(i),this.mask=Ei(Ii(Vt,this.bitLength),Vt),this.pOp1=A.alloc(t),this.pOp2=A.alloc(t),this.pOp3=A.alloc(t),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(t/8),this.n32=Math.floor(t/4),8*this.n64!=this.n8)throw new Error("n8 must be a multiple of 8");this.half=ti(this.p,Vt),this.nqr=this.two;let g=this.exp(this.nqr,this.half);for(;!this.eq(g,this.negone);)this.nqr=this.add(this.nqr,this.one),g=this.exp(this.nqr,this.half);this.s=0;let C=Ei(this.p,Vt);for(;!Ci(C);)this.s=this.s+1,C=ti(C,Vt);this.w=[],this.w[this.s]=this.exp(this.nqr,C);for(let A=this.s-1;A>=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=ag(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=ag(A,I+"_batchFromMontgomery",this.n8,this.n8)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=jt(Wt(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,I){if(A instanceof Uint8Array)return A;let t=Wt(A,I);$t(t)?(t=hi(t),li(t,this.p)&&(t=ci(t,this.p)),t=Ei(this.p,t)):li(t,this.p)&&(t=ci(t,this.p));const i=sg(t,this.n8);return this.toMontgomery(i)}toString(A,I){const t=this.fromMontgomery(A),i=Ot(t,0);return Zt(i,I)}fromRng(A){let I;const t=new Uint8Array(this.n8);do{I=Kt;for(let t=0;t<this.n64;t++)I=ri(I,Ii(A.nextU64(),64*t));I=mi(I,this.mask)}while(Mi(I,this.p));return Pt(t,0,I,this.n8),t}random(){return this.fromRng(Ki())}toObject(A){const I=this.fromMontgomery(A);return Ot(I,0)}fromObject(A){const I=new Uint8Array(this.n8);return Pt(I,0,A,this.n8),this.toMontgomery(I)}toRprLE(A,I,t){A.set(this.fromMontgomery(t),I)}fromRprLE(A,I){const t=A.slice(I,I+this.n8);return this.toMontgomery(t)}}class wg{constructor(A,I,t){this.tm=A,this.prefix=I,this.F=t,this.type="F2",this.m=2*t.m,this.n8=2*this.F.n8,this.n32=2*this.F.n32,this.n64=2*this.F.n64,this.pOp1=A.alloc(2*t.n8),this.pOp2=A.alloc(2*t.n8),this.pOp3=A.alloc(2*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=jt(Wt(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}e(A,I){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&2==A.length){const t=this.F.e(A[0],I),i=this.F.e(A[1],I),g=new Uint8Array(2*this.F.n8);return g.set(t),g.set(i,2*this.F.n8),g}throw new Error("invalid F2")}toString(A,I){return`[${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8),I)}]`}fromRng(A){const I=this.F.fromRng(A),t=this.F.fromRng(A),i=new Uint8Array(2*this.F.n8);return i.set(I),i.set(t,this.F.n8),i}random(){return this.fromRng(Ki())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8))]}fromObject(A){const I=new Uint8Array(2*this.F.n8),t=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]);return I.set(t),I.set(i,this.F.n8),I}}class Dg{constructor(A,I,t){this.tm=A,this.prefix=I,this.F=t,this.type="F3",this.m=3*t.m,this.n8=3*this.F.n8,this.n32=3*this.F.n32,this.n64=3*this.F.n64,this.pOp1=A.alloc(3*t.n8),this.pOp2=A.alloc(3*t.n8),this.pOp3=A.alloc(3*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}add(A,I){return this.op2("_add",A,I)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=jt(Wt(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.getBuff(this.pOp3,this.n8)}e(A,I){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&3==A.length){const t=this.F.e(A[0],I),i=this.F.e(A[1],I),g=this.F.e(A[2],I),C=new Uint8Array(3*this.F.n8);return C.set(t),C.set(i,this.F.n8),C.set(g,2*this.F.n8),C}throw new Error("invalid F3")}toString(A,I){return`[${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),I)}, ${this.F.toString(A.slice(2*this.F.n8),I)}]`}fromRng(A){const I=this.F.fromRng(A),t=this.F.fromRng(A),i=this.F.fromRng(A),g=new Uint8Array(3*this.F.n8);return g.set(I),g.set(t,this.F.n8),g.set(i,2*this.F.n8),g}random(){return this.fromRng(Ki())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8)),this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8))]}fromObject(A){const I=new Uint8Array(3*this.F.n8),t=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]),g=this.F.fromObject(A[2]);return I.set(t),I.set(i,this.F.n8),I.set(g,2*this.F.n8),I}}class cg{constructor(A,I,t,i,g,C){this.tm=A,this.prefix=I,this.F=t,this.pOp1=A.alloc(3*t.n8),this.pOp2=A.alloc(3*t.n8),this.pOp3=A.alloc(3*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,3*t.n8),this.tm.instance.exports[I+"_zeroAffine"](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,2*t.n8),this.one=this.tm.getBuff(i,3*t.n8),this.g=this.one,this.oneAffine=this.tm.getBuff(i,2*t.n8),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(g,t.n8),C&&(this.cofactor=jt(C)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=ag(A,I+"_batchLEMtoC",2*t.n8,t.n8),this.batchLEMtoU=ag(A,I+"_batchLEMtoU",2*t.n8,2*t.n8),this.batchCtoLEM=ag(A,I+"_batchCtoLEM",t.n8,2*t.n8),this.batchUtoLEM=ag(A,I+"_batchUtoLEM",2*t.n8,2*t.n8),this.batchToJacobian=ag(A,I+"_batchToJacobian",2*t.n8,3*t.n8),this.batchToAffine=ag(A,I+"_batchToAffine",3*t.n8,2*t.n8)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op2bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op1Affine(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,2*this.F.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_add",A,I);if(I.byteLength==2*this.F.n8)return this.op2("_addMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_addMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2("_addAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}sub(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_sub",A,I);if(I.byteLength==2*this.F.n8)return this.op2("_subMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_subMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2("_subAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}neg(A){if(A.byteLength==3*this.F.n8)return this.op1("_neg",A);if(A.byteLength==2*this.F.n8)return this.op1Affine("_negAffine",A);throw new Error("invalid point size")}double(A){if(A.byteLength==3*this.F.n8)return this.op1("_double",A);if(A.byteLength==2*this.F.n8)return this.op1("_doubleAffine",A);throw new Error("invalid point size")}isZero(A){if(A.byteLength==3*this.F.n8)return this.op1Bool("_isZero",A);if(A.byteLength==2*this.F.n8)return this.op1Bool("_isZeroAffine",A);throw new Error("invalid point size")}timesScalar(A,I){let t;if(I instanceof Uint8Array||(I=jt(Wt(I))),A.byteLength==3*this.F.n8)t=this.prefix+"_timesScalar";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");t=this.prefix+"_timesScalarAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[t](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}timesFr(A,I){let t;if(A.byteLength==3*this.F.n8)t=this.prefix+"_timesFr";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");t=this.prefix+"_timesFrAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}eq(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2bool("_eq",A,I);if(I.byteLength==2*this.F.n8)return this.op2bool("_eqMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2bool("_eqMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2bool("_eqAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}toAffine(A){if(A.byteLength==3*this.F.n8)return this.op1Affine("_toAffine",A);if(A.byteLength==2*this.F.n8)return A;throw new Error("invalid point size")}toJacobian(A){if(A.byteLength==3*this.F.n8)return A;if(A.byteLength==2*this.F.n8)return this.op1("_toJacobian",A);throw new Error("invalid point size")}toRprUncompressed(A,I,t){if(this.tm.setBuff(this.pOp1,t),t.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoU"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,I)}fromRprUncompressed(A,I){const t=A.slice(I,I+2*this.F.n8);return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_UtoLEM"](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,2*this.F.n8)}toRprCompressed(A,I,t){if(this.tm.setBuff(this.pOp1,t),t.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoC"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,this.F.n8);A.set(i,I)}fromRprCompressed(A,I){const t=A.slice(I,I+this.F.n8);return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_CtoLEM"](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,2*this.F.n8)}toUncompressed(A){const I=new Uint8Array(2*this.F.n8);return this.toRprUncompressed(I,0,A),I}toRprLEM(A,I,t){if(t.byteLength!=2*this.F.n8){if(t.byteLength!=3*this.F.n8)throw new Error("invalid point size");{this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,I)}}else A.set(t,I)}fromRprLEM(A,I){return I=I||0,A.slice(I,I+2*this.F.n8)}toString(A,I){if(A.byteLength==3*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),I)}, ${this.F.toString(A.slice(2*this.F.n8),I)} ]`}if(A.byteLength==2*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8),I)} ]`}throw new Error("invalid point size")}fromRng(A){const I=this.F;let t,i,g=[];do{g[0]=I.fromRng(A),t=A.nextBool(),i=I.add(I.mul(I.square(g[0]),g[0]),this.b)}while(!I.isSquare(i));g[1]=I.sqrt(i);t^I.isNegative(g[1])&&(g[1]=I.neg(g[1]));let C=new Uint8Array(2*this.F.n8);return C.set(g[0]),C.set(g[1],this.F.n8),this.cofactor&&(C=this.timesScalar(C,this.cofactor)),C}toObject(A){if(this.isZero(A))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];const I=this.F.toObject(A.slice(0,this.F.n8)),t=this.F.toObject(A.slice(this.F.n8,2*this.F.n8));let i;return i=A.byteLength==3*this.F.n8?this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8)):this.F.toObject(this.F.one),[I,t,i]}fromObject(A){const I=this.F.fromObject(A[0]),t=this.F.fromObject(A[1]);let i;if(i=3==A.length?this.F.fromObject(A[2]):this.F.one,this.F.isZero(i,this.F.one))return this.zeroAffine;if(this.F.eq(i,this.F.one)){const A=new Uint8Array(2*this.F.n8);return A.set(I),A.set(t,this.F.n8),A}{const A=new Uint8Array(3*this.F.n8);return A.set(I),A.set(t,this.F.n8),A.set(i,2*this.F.n8),A}}e(A){return A instanceof Uint8Array?A:this.fromObject(A)}}function ug(A){let I,t,i,g;async function C(A){const C=new Uint8Array(A.code),e=await WebAssembly.compile(C);t=new WebAssembly.Memory({initial:A.init}),i=new Uint32Array(t.buffer),g=new Uint8Array(t.buffer),I=await WebAssembly.instantiate(e,{env:{memory:t}})}function e(A){for(;3&i[0];)i[0]++;const I=i[0];for(i[0]+=A;i[0]>t.buffer.byteLength;)t.grow(100);return I}function Q(A){const I=e(A.byteLength);return n(I,A),I}function n(A,I){g.set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return C(A[0]);const t={vars:[],out:[]},B=i[0];for(let i=0;i<A.length;i++)switch(A[i].cmd){case"ALLOCSET":t.vars[A[i].var]=Q(A[i].buff);break;case"ALLOC":t.vars[A[i].var]=e(A[i].len);break;case"SET":n(t.vars[A[i].var],A[i].buff);break;case"CALL":{const g=[];for(let I=0;I<A[i].params.length;I++){const C=A[i].params[I];void 0!==C.var?g.push(t.vars[C.var]+(C.offset||0)):void 0!==C.val&&g.push(C.val)}I.exports[A[i].fnName](...g);break}case"GET":t.out[A[i].out]=(r=t.vars[A[i].var],E=A[i].len,new Uint8Array(g.buffer,g.byteOffset+r,E)).slice();break;default:throw new Error("Invalid cmd")}var r,E;return i[0]=B,t.out}return A&&(A.onmessage=function(I){let t;if(t=I.data?I.data:I,"INIT"==t[0].cmd)C(t[0]).then((function(){A.postMessage(t.result)}));else if("TERMINATE"==t[0].cmd)process.exit();else{const I=B(t);A.postMessage(I)}}),B}const yg="undefined"!=typeof window;let pg;yg||(pg=DA.Worker);class lg{constructor(){this.promise=new Promise((A,I)=>{this.reject=I,this.resolve=A})}}function Fg(A){for(var I=window.atob(A),t=I.length,i=new Uint8Array(t),g=0;g<t;g++)i[g]=I.charCodeAt(g);return i}class Mg{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(0!=this.oldPFree)throw new Error("Sync operation in progress");this.oldPFree=this.u32[0]}endSyncOp(){if(0==this.oldPFree)throw new Error("No sync operation in progress");this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(A,I,t,i){if(this.working[A])throw new Error("Posting a job t a working worker");return this.working[A]=!0,this.pendingDeferreds[A]=i||new lg,this.workers[A].postMessage(I,t),this.pendingDeferreds[A].promise}processWorks(){for(let A=0;A<this.workers.length&&this.actionQueue.length>0;A++)if(0==this.working[A]){const I=this.actionQueue.shift();this.postAction(A,I.data,I.transfers,I.deferred)}}queueAction(A,I){const t=new lg;if(this.singleThread){const I=this.taskManager(A);t.resolve(I)}else this.actionQueue.push({data:A,transfers:I,deferred:t}),this.processWorks();return t.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const I=this.alloc(A.byteLength);return this.setBuff(I,A),I}getBuff(A,I){return this.u8.slice(A,A+I)}setBuff(A,I){this.u8.set(new Uint8Array(I),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const I=this.u32[0];return this.u32[0]+=A,I}async terminate(){for(let A=0;A<this.workers.length;A++)this.workers[A].postMessage([{cmd:"TERMINATE"}]);var A;await(A=200,new Promise(I=>setTimeout(I,A)))}}function mg(A,I){const t=A[I],i=A.Fr,g=A.tm;A[I].batchApplyKey=async function(A,C,e,Q,n){let B,r,E,h,s;if(Q=Q||"affine",n=n||"affine","G1"==I)"jacobian"==Q?(E=3*t.F.n8,B="g1m_batchApplyKey"):(E=2*t.F.n8,B="g1m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?s=3*t.F.n8:(r="g1m_batchToAffine",s=2*t.F.n8);else if("G2"==I)"jacobian"==Q?(E=3*t.F.n8,B="g2m_batchApplyKey"):(E=2*t.F.n8,B="g2m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?s=3*t.F.n8:(r="g2m_batchToAffine",s=2*t.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);B="frm_batchApplyKey",E=t.n8,h=t.n8,s=t.n8}const o=Math.floor(A.byteLength/E),a=Math.floor(o/g.concurrency),f=[];e=i.e(e);let w=i.e(C);for(let I=0;I<g.concurrency;I++){let t;if(t=I<g.concurrency-1?a:o-I*a,0==t)continue;const C=[];C.push({cmd:"ALLOCSET",var:0,buff:A.slice(I*a*E,I*a*E+t*E)}),C.push({cmd:"ALLOCSET",var:1,buff:w}),C.push({cmd:"ALLOCSET",var:2,buff:e}),C.push({cmd:"ALLOC",var:3,len:t*Math.max(h,s)}),C.push({cmd:"CALL",fnName:B,params:[{var:0},{val:t},{var:1},{var:2},{var:3}]}),r&&C.push({cmd:"CALL",fnName:r,params:[{var:3},{val:t},{var:3}]}),C.push({cmd:"GET",out:0,var:3,len:t*s}),f.push(g.queueAction(C)),w=i.mul(w,i.exp(e,t))}const D=await Promise.all(f),c=new Uint8Array(o*s);let u=0;for(let A=0;A<D.length;A++)c.set(D[A][0],u),u+=D[A][0].byteLength;return c}}const dg=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function Ug(A,I){const t=A[I];async function i(A,i,g){let C,e;if(g=g||"affine","G1"==I)"affine"==g?(e="g1m_multiexpAffine_chunk",C=2*t.F.n8):(e="g1m_multiexp_chunk",C=3*t.F.n8);else{if("G2"!=I)throw new Error("Invalid group");"affine"==g?(e="g2m_multiexpAffine_chunk",C=2*t.F.n8):(e="g2m_multiexp_chunk",C=3*t.F.n8)}const Q=Math.floor(A.byteLength/C),n=Math.floor(i.byteLength/Q);if(n*Q!=i.byteLength)throw new Error("Scalar size does not match");const B=dg[eg(Q)],r=Math.floor((8*n-1)/B)+1,E=[];for(let I=0;I<r;I++){const g=[{cmd:"ALLOCSET",var:0,buff:A},{cmd:"ALLOCSET",var:1,buff:i},{cmd:"ALLOC",var:2,len:3*t.F.n8},{cmd:"CALL",fnName:e,params:[{var:0},{var:1},{val:n},{val:Q},{val:I*B},{val:Math.min(8*n-I*B,B)},{var:2}]},{cmd:"GET",out:0,var:2,len:3*t.F.n8}];E.push(t.tm.queueAction(g))}const h=await Promise.all(E);let s=t.zero;for(let A=h.length-1;A>=0;A--){if(!t.isZero(s))for(let A=0;A<B;A++)s=t.double(s);s=t.add(s,h[A][0])}return s}t.multiExp=async function(A,I){return await i(A,I,"jacobian")},t.multiExpAffine=async function(A,I){return await i(A,I,"affine")}}function Gg(A,I){const t=A[I],i=A.Fr,g=t.tm;async function C(C,e,Q,n,B){Q=Q||"affine",n=n||"affine";let r,E,h,s,o,a,f,w,D;"G1"==I?("affine"==Q?(r=2*t.F.n8,s="g1m_batchToJacobian"):r=3*t.F.n8,E=3*t.F.n8,e?(a="g1m_ifft",D="g1m_fftFinal"):a="g1m_fft",w="g1m_fftJoin",f="g1m_fftMix","affine"==n?(h=2*t.F.n8,o="g1m_batchToAffine"):h=3*t.F.n8):"G2"==I?("affine"==Q?(r=2*t.F.n8,s="g2m_batchToJacobian"):r=3*t.F.n8,E=3*t.F.n8,e?(a="g2m_ifft",D="g2m_fftFinal"):a="g2m_fft",w="g2m_fftJoin",f="g2m_fftMix","affine"==n?(h=2*t.F.n8,o="g2m_batchToAffine"):h=3*t.F.n8):"Fr"==I&&(r=t.n8,E=t.n8,h=t.n8,e?(a="frm_ifft",D="frm_fftFinal"):a="frm_fft",f="frm_fftMix",w="frm_fftJoin");let c=!1;Array.isArray(C)&&(C=A.array2buffer(C,r),c=!0);const u=C.byteLength/r,y=eg(u);if(1<<y!=u)throw new Error("fft must be multiple of 2");let p,l;if(e&&(p=i.inv(i.e(u))),u<=4096){const A=[];A.push({cmd:"ALLOC",var:0,len:E*u}),A.push({cmd:"SET",var:0,buff:C}),s&&A.push({cmd:"CALL",fnName:s,params:[{var:0},{val:u},{var:0}]}),A.push({cmd:"CALL",fnName:a,params:[{var:0},{val:u}]}),o&&A.push({cmd:"CALL",fnName:o,params:[{var:0},{val:u},{var:0}]}),A.push({cmd:"GET",out:0,var:0,len:h*u});l=(await g.queueAction(A))[0]}else{let A;Qg(C,r);const I=4096,t=I*r,Q=u/I,n=[];for(let A=0;A<Q;A++){const t=[];t.push({cmd:"ALLOC",var:0,len:E*I});const i=C.slice(I*A*r,I*(A+1)*r);t.push({cmd:"SET",var:0,buff:i}),s&&t.push({cmd:"CALL",fnName:s,params:[{var:0},{val:I},{var:0}]});for(let A=1;A<=12;A++)t.push({cmd:"CALL",fnName:f,params:[{var:0},{val:I},{val:A}]});t.push({cmd:"GET",out:0,var:0,len:E*I}),n.push(g.queueAction(t).then(I=>(B&&B.debug(`fft: ${A}/${Q}`),I)))}A=await Promise.all(n);for(let I=0;I<Q;I++)A[I]=A[I][0];for(let t=13;t<=y;t++){B&&B.debug(`fft join ${t}/${y}`);const C=1<<y-t,e=Q/C,n=[];for(let Q=0;Q<C;Q++)for(let C=0;C<e/2;C++){const B=i.exp(i.w[t],C*I),r=i.w[t],s=Q*e+C,a=Q*e+C+e/2,f=[];f.push({cmd:"ALLOCSET",var:0,buff:A[s]}),f.push({cmd:"ALLOCSET",var:1,buff:A[a]}),f.push({cmd:"ALLOCSET",var:2,buff:B}),f.push({cmd:"ALLOCSET",var:3,buff:r}),f.push({cmd:"CALL",fnName:w,params:[{var:0},{var:1},{val:I},{var:2},{var:3}]}),t==y?(D&&(f.push({cmd:"ALLOCSET",var:4,buff:p}),f.push({cmd:"CALL",fnName:D,params:[{var:0},{val:I},{var:4}]}),f.push({cmd:"CALL",fnName:D,params:[{var:1},{val:I},{var:4}]})),o&&(f.push({cmd:"CALL",fnName:o,params:[{var:0},{val:I},{var:0}]}),f.push({cmd:"CALL",fnName:o,params:[{var:1},{val:I},{var:1}]})),f.push({cmd:"GET",out:0,var:0,len:I*h}),f.push({cmd:"GET",out:1,var:1,len:I*h})):(f.push({cmd:"GET",out:0,var:0,len:I*E}),f.push({cmd:"GET",out:1,var:1,len:I*E})),n.push(g.queueAction(f))}const r=await Promise.all(n);for(let I=0;I<C;I++)for(let t=0;t<e/2;t++){const i=I*e+t,g=I*e+t+e/2,C=r.shift();A[i]=C[0],A[g]=C[1]}}if(l=new Uint8Array(u*h),!e){for(let t=0;t<Q;t++)l.set(A[t],I*h*t),delete A[t];return l}{l.set(A[0].slice((I-1)*h));let i=h;for(let I=Q-1;I>0;I--)l.set(A[I],i),i+=t,delete A[I];l.set(A[0].slice(0,(I-1)*h),i),delete A[Q-1]}}return c?A.buffer2array(l,h):l}t.fft=async function(A,I,t,i){return await C(A,!1,I,t,i)},t.ifft=async function(A,I,t,i){return await C(A,!0,I,t,i)},t.fftMix=async function(A){const C=3*t.F.n8;let e,Q;if("G1"==I)e="g1m_fftMix",Q="g1m_fftJoin";else if("G2"==I)e="g2m_fftMix",Q="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");e="frm_fftMix",Q="frm_fftJoin"}const n=Math.floor(A.byteLength/C),B=eg(n);let r=1<<eg(g.concurrency);n<=2*r&&(r=1);const E=n/r,h=eg(E),s=[];for(let I=0;I<r;I++){const t=[],i=A.slice(I*E*C,(I+1)*E*C);t.push({cmd:"ALLOCSET",var:0,buff:i});for(let A=1;A<=h;A++)t.push({cmd:"CALL",fnName:e,params:[{var:0},{val:E},{val:A}]});t.push({cmd:"GET",out:0,var:0,len:E*C}),s.push(g.queueAction(t))}const o=await Promise.all(s),a=[];for(let A=0;A<o.length;A++)a[A]=o[A][0];for(let A=h+1;A<=B;A++){const I=1<<B-A,t=r/I,e=[];for(let n=0;n<I;n++)for(let I=0;I<t/2;I++){const B=i.exp(i.w[A],I*E),r=i.w[A],h=n*t+I,s=n*t+I+t/2,o=[];o.push({cmd:"ALLOCSET",var:0,buff:a[h]}),o.push({cmd:"ALLOCSET",var:1,buff:a[s]}),o.push({cmd:"ALLOCSET",var:2,buff:B}),o.push({cmd:"ALLOCSET",var:3,buff:r}),o.push({cmd:"CALL",fnName:Q,params:[{var:0},{var:1},{val:E},{var:2},{var:3}]}),o.push({cmd:"GET",out:0,var:0,len:E*C}),o.push({cmd:"GET",out:1,var:1,len:E*C}),e.push(g.queueAction(o))}const n=await Promise.all(e);for(let A=0;A<I;A++)for(let I=0;I<t/2;I++){const i=A*t+I,g=A*t+I+t/2,C=n.shift();a[i]=C[0],a[g]=C[1]}}const f=new Uint8Array(n*C);let w=0;for(let A=0;A<r;A++)f.set(a[A],w),w+=a[A].byteLength;return f},t.fftJoin=async function(A,C,e,Q){const n=3*t.F.n8;let B;if("G1"==I)B="g1m_fftJoin";else{if("G2"!=I)throw new Error("Invalid group");B="g2m_fftJoin"}if(A.byteLength!=C.byteLength)throw new Error("Invalid buffer size");const r=Math.floor(A.byteLength/n);if(r!=1<<eg(r))throw new Error("Invalid number of points");let E=1<<eg(g.concurrency);r<=2*E&&(E=1);const h=r/E,s=[];for(let I=0;I<E;I++){const t=[],r=i.mul(e,i.exp(Q,I*h)),E=A.slice(I*h*n,(I+1)*h*n),o=C.slice(I*h*n,(I+1)*h*n);t.push({cmd:"ALLOCSET",var:0,buff:E}),t.push({cmd:"ALLOCSET",var:1,buff:o}),t.push({cmd:"ALLOCSET",var:2,buff:r}),t.push({cmd:"ALLOCSET",var:3,buff:Q}),t.push({cmd:"CALL",fnName:B,params:[{var:0},{var:1},{val:h},{var:2},{var:3}]}),t.push({cmd:"GET",out:0,var:0,len:h*n}),t.push({cmd:"GET",out:1,var:1,len:h*n}),s.push(g.queueAction(t))}const o=await Promise.all(s),a=new Uint8Array(r*n),f=new Uint8Array(r*n);let w=0;for(let A=0;A<o.length;A++)a.set(o[A][0],w),f.set(o[A][1],w),w+=o[A][0].byteLength;return[a,f]},t.fftFinal=async function(A,i){const C=3*t.F.n8,e=2*t.F.n8;let Q,n;if("G1"==I)Q="g1m_fftFinal",n="g1m_batchToAffine";else{if("G2"!=I)throw new Error("Invalid group");Q="g2m_fftFinal",n="g2m_batchToAffine"}const B=Math.floor(A.byteLength/C);if(B!=1<<eg(B))throw new Error("Invalid number of points");const r=Math.floor(B/g.concurrency),E=[];for(let I=0;I<g.concurrency;I++){let t;if(t=I<g.concurrency-1?r:B-I*r,0==t)continue;const h=[],s=A.slice(I*r*C,(I*r+t)*C);h.push({cmd:"ALLOCSET",var:0,buff:s}),h.push({cmd:"ALLOCSET",var:1,buff:i}),h.push({cmd:"CALL",fnName:Q,params:[{var:0},{val:t},{var:1}]}),h.push({cmd:"CALL",fnName:n,params:[{var:0},{val:t},{var:0}]}),h.push({cmd:"GET",out:0,var:0,len:t*e}),E.push(g.queueAction(h))}const h=await Promise.all(E),s=new Uint8Array(B*e);let o=0;for(let A=h.length-1;A>=0;A--)s.set(h[A][0],o),o+=h[A][0].byteLength;return s}}async function Hg(A){const I=await async function(A,I){const t=new Mg;t.memory=new WebAssembly.Memory({initial:4096}),t.u8=new Uint8Array(t.memory.buffer),t.u32=new Uint32Array(t.memory.buffer);const i=await WebAssembly.compile(Fg(A.code));if(t.instance=await WebAssembly.instantiate(i,{env:{memory:t.memory}}),t.singleThread=I,t.initalPFree=t.u32[0],t.pq=A.pq,t.pr=A.pr,t.pG1gen=A.pG1gen,t.pG1zero=A.pG1zero,t.pG2gen=A.pG2gen,t.pG2zero=A.pG2zero,t.pOneT=A.pOneT,I)t.code=Fg(A.code),t.taskManager=ug(),await t.taskManager([{cmd:"INIT",init:4096,code:t.code.slice()}]),t.concurrency=1;else{let I;t.workers=[],t.pendingDeferreds=[],t.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:DA.cpus().length,t.concurrency=I;for(let A=0;A<I;A++){if(yg){const I=new Blob(["(",ug.toString(),")(self);"],{type:"text/javascript"}),i=URL.createObjectURL(I);t.workers[A]=new Worker(i),t.workers[A].onmessage=g(A)}else t.workers[A]=new pg("("+ug.toString()+")(require('worker_threads').parentPort);",{eval:!0}),t.workers[A].on("message",g(A));t.working[A]=!1}const i=[];for(let I=0;I<t.workers.length;I++){const g=Fg(A.code).slice();i.push(t.postAction(I,[{cmd:"INIT",init:4096,code:g}],[g.buffer]))}await Promise.all(i)}return t;function g(A){return function(I){let i;i=I&&I.data?I.data:I,t.working[A]=!1,t.pendingDeferreds[A].resolve(i),t.processWorks()}}}(A.wasm,A.singleThread),t={};return t.q=Wt(A.wasm.q),t.r=Wt(A.wasm.r),t.name=A.name,t.tm=I,t.prePSize=A.wasm.prePSize,t.preQSize=A.wasm.preQSize,t.Fr=new fg(I,"frm",A.n8r,A.r),t.F1=new fg(I,"f1m",A.n8q,A.q),t.F2=new wg(I,"f2m",t.F1),t.G1=new cg(I,"g1m",t.F1,A.wasm.pG1gen,A.wasm.pG1b,A.cofactorG1),t.G2=new cg(I,"g2m",t.F2,A.wasm.pG2gen,A.wasm.pG2b,A.cofactorG2),t.F6=new Dg(I,"f6m",t.F2),t.F12=new wg(I,"ftm",t.F6),t.Gt=t.F12,mg(t,"G1"),mg(t,"G2"),mg(t,"Fr"),Ug(t,"G1"),Ug(t,"G2"),Gg(t,"G1"),Gg(t,"G2"),Gg(t,"Fr"),function(A){const I=A.tm;A.pairing=function(t,i){I.startSyncOp();const g=I.allocBuff(A.G1.toJacobian(t)),C=I.allocBuff(A.G2.toJacobian(i)),e=I.alloc(A.Gt.n8);I.instance.exports[A.name+"_pairing"](g,C,e);const Q=I.getBuff(e,A.Gt.n8);return I.endSyncOp(),Q},A.pairingEq=async function(){let t,i;arguments.length%2==1?(t=arguments[arguments.length-1],i=(arguments.length-1)/2):(t=A.Gt.one,i=arguments.length/2);const g=[];for(let t=0;t<i;t++){const i=[],C=A.G1.toJacobian(arguments[2*t]);i.push({cmd:"ALLOCSET",var:0,buff:C}),i.push({cmd:"ALLOC",var:1,len:A.prePSize});const e=A.G2.toJacobian(arguments[2*t+1]);i.push({cmd:"ALLOCSET",var:2,buff:e}),i.push({cmd:"ALLOC",var:3,len:A.preQSize}),i.push({cmd:"ALLOC",var:4,len:A.Gt.n8}),i.push({cmd:"CALL",fnName:A.name+"_prepareG1",params:[{var:0},{var:1}]}),i.push({cmd:"CALL",fnName:A.name+"_prepareG2",params:[{var:2},{var:3}]}),i.push({cmd:"CALL",fnName:A.name+"_millerLoop",params:[{var:1},{var:3},{var:4}]}),i.push({cmd:"GET",out:0,var:4,len:A.Gt.n8}),g.push(I.queueAction(i))}const C=await Promise.all(g);I.startSyncOp();const e=I.alloc(A.Gt.n8);I.instance.exports.ftm_one(e);for(let A=0;A<C.length;A++){const t=I.allocBuff(C[A][0]);I.instance.exports.ftm_mul(e,t,e)}I.instance.exports[A.name+"_finalExponentiation"](e,e);const Q=I.allocBuff(t),n=!!I.instance.exports.ftm_eq(e,Q);return I.endSyncOp(),n},A.prepareG1=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+"_prepareG1"](I,t);const i=this.tm.getBuff(t,this.prePSize);return this.tm.endSyncOp(),i},A.prepareG2=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+"_prepareG2"](I,t);const i=this.tm.getBuff(t,this.preQSize);return this.tm.endSyncOp(),i},A.millerLoop=function(A,I){this.tm.startSyncOp();const t=this.tm.allocBuff(A),i=this.tm.allocBuff(I),g=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_millerLoop"](t,i,g);const C=this.tm.getBuff(g,this.Gt.n8);return this.tm.endSyncOp(),C},A.finalExponentiation=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_finalExponentiation"](I,t);const i=this.tm.getBuff(t,this.Gt.n8);return this.tm.endSyncOp(),i}}(t),t.array2buffer=function(A,I){const t=new Uint8Array(I*A.length);for(let i=0;i<A.length;i++)t.set(A[i],i*I);return t},t.buffer2array=function(A,I){const t=A.length/I,i=new Array(t);for(let g=0;g<t;g++)i[g]=A.slice(g*I,g*I+I);return i},t}let Lg,kg;const Ng=ki,bg=og;var Sg=Object.freeze({__proto__:null,Scalar:Ng,utils:bg,PolField:class{constructor(A){this.F=A;let I=A.sqrt_t,t=A.sqrt_s;const i=this.F.add(this.F.add(this.F.two,this.F.two),this.F.one);this.w=new Array(t+1),this.wi=new Array(t+1),this.w[t]=this.F.pow(i,I),this.wi[t]=this.F.inv(this.w[t]);let g=t-1;for(;g>=0;)this.w[g]=this.F.square(this.w[g+1]),this.wi[g]=this.F.square(this.wi[g+1]),g--;this.roots=[],this._setRoots(15)}_setRoots(A){for(let I=A;I>=0&&!this.roots[I];I--){let A=this.F.one;const t=1<<I,i=new Array(t);for(let g=0;g<t;g++)i[g]=A,A=this.F.mul(A,this.w[I]);this.roots[I]=i}}add(A,I){const t=Math.max(A.length,I.length),i=new Array(t);for(let g=0;g<t;g++)i[g]=this.F.add(A[g]||this.F.zero,I[g]||this.F.zero);return this.reduce(i)}double(A){return this.add(A,A)}sub(A,I){const t=Math.max(A.length,I.length),i=new Array(t);for(let g=0;g<t;g++)i[g]=this.F.sub(A[g]||this.F.zero,I[g]||this.F.zero);return this.reduce(i)}mulScalar(A,I){if(this.F.eq(I,this.F.zero))return[];if(this.F.eq(I,this.F.one))return A;const t=new Array(A.length);for(let i=0;i<A.length;i++)t[i]=this.F.mul(A[i],I);return t}mul(A,I){return 0==A.length||0==I.length?[]:1==A.length?this.mulScalar(I,A[0]):1==I.length?this.mulScalar(A,I[0]):(I.length>A.length&&([I,A]=[A,I]),I.length<=2||I.length<Ni(A.length)?this.mulNormal(A,I):this.mulFFT(A,I))}mulNormal(A,I){let t=[];for(let i=0;i<I.length;i++)t=this.add(t,this.scaleX(this.mulScalar(A,I[i]),i));return t}mulFFT(A,I){const t=Ni(Math.max(A.length,I.length)-1)+2;this._setRoots(t);const i=1<<t,g=this.extend(A,i),C=this.extend(I,i),e=bi(this,g,t,0,1),Q=bi(this,C,t,0,1),n=new Array(i);for(let A=0;A<i;A++)n[A]=this.F.mul(e[A],Q[A]);const B=bi(this,n,t,0,1),r=this.F.inv(this.F.mulScalar(this.F.one,i)),E=new Array(i);for(let A=0;A<i;A++)E[A]=this.F.mul(B[(i-A)%i],r);return this.reduce(E)}square(A){return this.mul(A,A)}scaleX(A,I){if(0==I)return A;if(I>0){return new Array(I).fill(this.F.zero).concat(A)}return-I>=A.length?[]:A.slice(-I)}eval2(A,I){let t=this.F.zero,i=this.F.one;for(let g=0;g<A.length;g++)t=this.F.add(t,this.F.mul(A[g],i)),i=this.F.mul(i,I);return t}eval(A,I){const t=this.F;if(0==A.length)return t.zero;const i=this._next2Power(A.length);return function A(I,i,g,C,e){if(1==e)return I[g];const Q=t.square(i);return t.add(A(I,Q,g,C<<1,e>>1),t.mul(i,A(I,Q,g+C,C<<1,e>>1)))}(this.extend(A,i),I,0,1,i)}lagrange(A){let I=[this.F.one];for(let t=0;t<A.length;t++)I=this.mul(I,[this.F.neg(A[t][0]),this.F.one]);let t=[];for(let i=0;i<A.length;i++){let g=this.ruffini(I,A[i][0]);const C=this.F.mul(this.F.inv(this.eval(g,A[i][0])),A[i][1]);g=this.mulScalar(g,C),t=this.add(t,g)}return t}fft(A){if(A.length<=1)return A;const I=Ni(A.length-1)+1;this._setRoots(I);const t=1<<I;return bi(this,this.extend(A,t),I,0,1)}fft2(A){if(A.length<=1)return A;const I=Ni(A.length-1)+1;this._setRoots(I);const t=1<<I,i=this.extend(A,t);qi(i,I);return Si(this,i,I)}ifft(A){if(A.length<=1)return A;const I=Ni(A.length-1)+1;this._setRoots(I);const t=1<<I,i=bi(this,this.extend(A,t),I,0,1),g=this.F.inv(this.F.mulScalar(this.F.one,t)),C=new Array(t);for(let A=0;A<t;A++)C[A]=this.F.mul(i[(t-A)%t],g);return C}ifft2(A){if(A.length<=1)return A;const I=Ni(A.length-1)+1;this._setRoots(I);const t=1<<I,i=this.extend(A,t);qi(i,I);const g=Si(this,i,I),C=this.F.inv(this.F.mulScalar(this.F.one,t)),e=new Array(t);for(let A=0;A<t;A++)e[A]=this.F.mul(g[(t-A)%t],C);return e}_fft(A,I,t,i){const g=1<<I;if(1==g)return[A[t]];const C=g>>1,e=this._fft(A,I-1,t,2*i),Q=this._fft(A,I-1,t+i,2*i),n=new Array(g);let B=this.F.one;for(let A=0;A<C;A++)n[A]=this.F.add(e[A],this.F.mul(B,Q[A])),n[A+C]=this.F.sub(e[A],this.F.mul(B,Q[A])),B=this.F.mul(B,this.w[I]);return n}extend(A,I){if(I==A.length)return A;const t=new Array(I-A.length).fill(this.F.zero);return A.concat(t)}reduce(A){if(0==A.length)return A;if(!this.F.eq(A[A.length-1],this.F.zero))return A;let I=A.length-1;for(;I>0&&this.F.eq(A[I],this.F.zero);)I--;return A.slice(0,I+1)}eq(A,I){const t=this.reduce(A),i=this.reduce(I);if(t.length!=i.length)return!1;for(let A=0;A<i.length;A++)if(!this.F.eq(t[A],i[A]))return!1;return!0}ruffini(A,I){const t=new Array(A.length-1);t[t.length-1]=A[A.length-1];for(let i=t.length-2;i>=0;i--)t[i]=this.F.add(this.F.mul(t[i+1],I),A[i+1]);return t}_next2Power(A){return A--,A|=A>>1,A|=A>>2,A|=A>>4,A|=A>>8,A|=A>>16,++A}toString(A){let I="";for(let t=this.normalize(A).length-1;t>=0;t--)this.F.eq(A[t],this.F.zero)||(""!=I&&(I+=" + "),I+=A[t].toString(10),t>0&&(I+="x",t>1&&(I=I+"^"+t)));return I}normalize(A){const I=new Array(A.length);for(let t=0;t<A.length;t++)I[t]=this.F.normalize(A[t]);return I}_reciprocal(A,I){const t=1<<I;if(1==t)return[this.F.inv(A[0])];const i=this.scaleX(A,-t/2),g=this._reciprocal(i,I-1),C=this.scaleX(this.double(g),3*t/2-2),e=this.mul(this.square(g),A);return this.scaleX(this.sub(C,e),-(t-2))}_div2(A,I){const t=Ni(I.length-1)+1,i=1<<t,g=i-I.length,C=this._reciprocal(this.scaleX(I,g),t);return this.scaleX(C,A-2*i+2+g)}div(A,I){if(A.length<I.length)return[];const t=Ni(I.length-1)+1,i=1<<t,g=this.scaleX(A,i-I.length),C=this.scaleX(I,i-I.length),e=C.length-1;let Q=g.length-1;const n=this._reciprocal(C,t);let B;Q>2*e&&(B=this.sub(this.scaleX([this.F.one],2*e),this.mul(n,C)));let r,E,h=[],s=g,o=!1;for(;!o;)r=this.mul(s,n),h=this.add(h,this.scaleX(r,-2*e)),Q>2*e?(E=this.mul(s,B),s=this.scaleX(E,-2*e),Q=s.length-1):o=!0;return h}oneRoot(A,I){let t=Ni(A-1)+1,i=this.F.one,g=I;if(I>=A)throw new Error("Given 'i' should be lower than 'n'");if(1<<t!==A)throw new Error(`Internal errlr: ${A} should equal ${1<<t}`);for(;g>0;)!0&g&&(i=this.F.mul(i,this.w[t])),g>>=1,t--;return i}computeVanishingPolinomial(A,I){const t=1<<A;return this.F.sub(this.F.pow(I,t),this.F.one)}evaluateLagrangePolynomials(A,I){const t=1<<A,i=this.F.pow(I,t),g=new Array(t).fill(this.F.zero);this._setRoots(A);const C=this.w[A];if(this.F.eq(i,this.F.one))for(let i=0;i<t;i++)if(this.F.eq(this.roots[A][0],I))return g[i]=this.F.one,g;const e=this.F.sub(i,this.F.one);let Q=this.F.mul(e,this.F.inv(this.F.e(t)));for(let i=0;i<t;i++)g[i]=this.F.mul(Q,this.F.inv(this.F.sub(I,this.roots[A][i]))),Q=this.F.mul(Q,C);return g}log2(A){return Ni(A)}},F1Field:_i,F2Field:class{constructor(A,I){this.type="F2",this.F=A,this.zero=[this.F.zero,this.F.zero],this.one=[this.F.one,this.F.zero],this.negone=this.neg(this.one),this.nonResidue=I,this.m=2*A.m,this.p=A.p,this.n64=2*A.n64,this.n32=2*this.n64,this.n8=8*this.n64,xi(this)}_mulByNonResidue(A){return this.F.mul(this.nonResidue,A)}copy(A){return[this.F.copy(A[0]),this.F.copy(A[1])]}add(A,I){return[this.F.add(A[0],I[0]),this.F.add(A[1],I[1])]}double(A){return this.add(A,A)}sub(A,I){return[this.F.sub(A[0],I[0]),this.F.sub(A[1],I[1])]}neg(A){return this.sub(this.zero,A)}conjugate(A){return[A[0],this.F.neg(A[1])]}mul(A,I){const t=this.F.mul(A[0],I[0]),i=this.F.mul(A[1],I[1]);return[this.F.add(t,this._mulByNonResidue(i)),this.F.sub(this.F.mul(this.F.add(A[0],A[1]),this.F.add(I[0],I[1])),this.F.add(t,i))]}inv(A){const I=this.F.square(A[0]),t=this.F.square(A[1]),i=this.F.sub(I,this._mulByNonResidue(t)),g=this.F.inv(i);return[this.F.mul(A[0],g),this.F.neg(this.F.mul(A[1],g))]}div(A,I){return this.mul(A,this.inv(I))}square(A){const I=this.F.mul(A[0],A[1]);return[this.F.sub(this.F.mul(this.F.add(A[0],A[1]),this.F.add(A[0],this._mulByNonResidue(A[1]))),this.F.add(I,this._mulByNonResidue(I))),this.F.add(I,I)]}isZero(A){return this.F.isZero(A[0])&&this.F.isZero(A[1])}eq(A,I){return this.F.eq(A[0],I[0])&&this.F.eq(A[1],I[1])}mulScalar(A,I){return Yi(this,A,I)}pow(A,I){return Pi(this,A,I)}exp(A,I){return Pi(this,A,I)}toString(A){return`[ ${this.F.toString(A[0])} , ${this.F.toString(A[1])} ]`}fromRng(A){return[this.F.fromRng(A),this.F.fromRng(A)]}gt(A,I){return!!this.F.gt(A[0],I[0])||!this.F.gt(I[0],A[0])&&!!this.F.gt(A[1],I[1])}geq(A,I){return this.gt(A,I)||this.eq(A,I)}lt(A,I){return!this.geq(A,I)}leq(A,I){return!this.gt(A,I)}neq(A,I){return!this.eq(A,I)}random(){return[this.F.random(),this.F.random()]}toRprLE(A,I,t){this.F.toRprLE(A,I,t[0]),this.F.toRprLE(A,I+this.F.n8,t[1])}toRprBE(A,I,t){this.F.toRprBE(A,I,t[1]),this.F.toRprBE(A,I+this.F.n8,t[0])}toRprLEM(A,I,t){this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1])}toRprBEM(A,I,t){this.F.toRprBEM(A,I,t[1]),this.F.toRprBEM(A,I+this.F.n8,t[0])}fromRprLE(A,I){I=I||0;return[this.F.fromRprLE(A,I),this.F.fromRprLE(A,I+this.F.n8)]}fromRprBE(A,I){I=I||0;const t=this.F.fromRprBE(A,I);return[this.F.fromRprBE(A,I+this.F.n8),t]}fromRprLEM(A,I){I=I||0;return[this.F.fromRprLEM(A,I),this.F.fromRprLEM(A,I+this.F.n8)]}fromRprBEM(A,I){I=I||0;const t=this.F.fromRprBEM(A,I);return[this.F.fromRprBEM(A,I+this.F.n8),t]}},F3Field:class{constructor(A,I){this.type="F3",this.F=A,this.zero=[this.F.zero,this.F.zero,this.F.zero],this.one=[this.F.one,this.F.zero,this.F.zero],this.negone=this.neg(this.one),this.nonResidue=I,this.m=3*A.m,this.p=A.p,this.n64=3*A.n64,this.n32=2*this.n64,this.n8=8*this.n64}_mulByNonResidue(A){return this.F.mul(this.nonResidue,A)}copy(A){return[this.F.copy(A[0]),this.F.copy(A[1]),this.F.copy(A[2])]}add(A,I){return[this.F.add(A[0],I[0]),this.F.add(A[1],I[1]),this.F.add(A[2],I[2])]}double(A){return this.add(A,A)}sub(A,I){return[this.F.sub(A[0],I[0]),this.F.sub(A[1],I[1]),this.F.sub(A[2],I[2])]}neg(A){return this.sub(this.zero,A)}mul(A,I){const t=this.F.mul(A[0],I[0]),i=this.F.mul(A[1],I[1]),g=this.F.mul(A[2],I[2]);return[this.F.add(t,this._mulByNonResidue(this.F.sub(this.F.mul(this.F.add(A[1],A[2]),this.F.add(I[1],I[2])),this.F.add(i,g)))),this.F.add(this.F.sub(this.F.mul(this.F.add(A[0],A[1]),this.F.add(I[0],I[1])),this.F.add(t,i)),this._mulByNonResidue(g)),this.F.add(this.F.sub(this.F.mul(this.F.add(A[0],A[2]),this.F.add(I[0],I[2])),this.F.add(t,g)),i)]}inv(A){const I=this.F.square(A[0]),t=this.F.square(A[1]),i=this.F.square(A[2]),g=this.F.mul(A[0],A[1]),C=this.F.mul(A[0],A[2]),e=this.F.mul(A[1],A[2]),Q=this.F.sub(I,this._mulByNonResidue(e)),n=this.F.sub(this._mulByNonResidue(i),g),B=this.F.sub(t,C),r=this.F.inv(this.F.add(this.F.mul(A[0],Q),this._mulByNonResidue(this.F.add(this.F.mul(A[2],n),this.F.mul(A[1],B)))));return[this.F.mul(r,Q),this.F.mul(r,n),this.F.mul(r,B)]}div(A,I){return this.mul(A,this.inv(I))}square(A){const I=this.F.square(A[0]),t=this.F.mul(A[0],A[1]),i=this.F.add(t,t),g=this.F.square(this.F.add(this.F.sub(A[0],A[1]),A[2])),C=this.F.mul(A[1],A[2]),e=this.F.add(C,C),Q=this.F.square(A[2]);return[this.F.add(I,this._mulByNonResidue(e)),this.F.add(i,this._mulByNonResidue(Q)),this.F.sub(this.F.add(this.F.add(i,g),e),this.F.add(I,Q))]}isZero(A){return this.F.isZero(A[0])&&this.F.isZero(A[1])&&this.F.isZero(A[2])}eq(A,I){return this.F.eq(A[0],I[0])&&this.F.eq(A[1],I[1])&&this.F.eq(A[2],I[2])}affine(A){return[this.F.affine(A[0]),this.F.affine(A[1]),this.F.affine(A[2])]}mulScalar(A,I){return Yi(this,A,I)}pow(A,I){return Pi(this,A,I)}exp(A,I){return Pi(this,A,I)}toString(A){return`[ ${this.F.toString(A[0])} , ${this.F.toString(A[1])}, ${this.F.toString(A[2])} ]`}fromRng(A){return[this.F.fromRng(A),this.F.fromRng(A),this.F.fromRng(A)]}gt(A,I){return!!this.F.gt(A[0],I[0])||!this.F.gt(I[0],A[0])&&(!!this.F.gt(A[1],I[1])||!this.F.gt(I[1],A[1])&&!!this.F.gt(A[2],I[2]))}geq(A,I){return this.gt(A,I)||this.eq(A,I)}lt(A,I){return!this.geq(A,I)}leq(A,I){return!this.gt(A,I)}neq(A,I){return!this.eq(A,I)}random(){return[this.F.random(),this.F.random(),this.F.random()]}toRprLE(A,I,t){this.F.toRprLE(A,I,t[0]),this.F.toRprLE(A,I+this.F.n8,t[1]),this.F.toRprLE(A,I+2*this.F.n8,t[2])}toRprBE(A,I,t){this.F.toRprBE(A,I,t[2]),this.F.toRprBE(A,I+this.F.n8,t[1]),this.F.toRprBE(A,I+2*this.F.n8,t[0])}toRprLEM(A,I,t){this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1]),this.F.toRprLEM(A,I+2*this.F.n8,t[2])}toRprBEM(A,I,t){this.F.toRprBEM(A,I,t[2]),this.F.toRprBEM(A,I+this.F.n8,t[1]),this.F.toRprBEM(A,I+2*this.F.n8,t[0])}fromRprLE(A,I){I=I||0;return[this.F.fromRprLE(A,I),this.F.fromRprLE(A,I+this.n8),this.F.fromRprLE(A,I+2*this.n8)]}fromRprBE(A,I){I=I||0;const t=this.F.fromRprBE(A,I),i=this.F.fromRprBE(A,I+this.n8);return[this.F.fromRprBE(A,I+2*this.n8),i,t]}fromRprLEM(A,I){I=I||0;return[this.F.fromRprLEM(A,I),this.F.fromRprLEM(A,I+this.n8),this.F.fromRprLEM(A,I+2*this.n8)]}fromRprBEM(A,I){I=I||0;const t=this.F.fromRprBEM(A,I),i=this.F.fromRprBEM(A,I+this.n8);return[this.F.fromRprBEM(A,I+2*this.n8),i,t]}},ZqField:_i,EC:class{constructor(A,I){this.F=A,this.g=I,2==this.g.length&&(this.g[2]=this.F.one),this.zero=[this.F.zero,this.F.one,this.F.zero]}add(A,I){const t=this.F;if(this.eq(A,this.zero))return I;if(this.eq(I,this.zero))return A;const i=new Array(3),g=t.square(A[2]),C=t.square(I[2]),e=t.mul(A[0],C),Q=t.mul(I[0],g),n=t.mul(A[2],g),B=t.mul(I[2],C),r=t.mul(A[1],B),E=t.mul(I[1],n);if(t.eq(e,Q)&&t.eq(r,E))return this.double(A);const h=t.sub(Q,e),s=t.sub(E,r),o=t.square(t.add(h,h)),a=t.mul(h,o),f=t.add(s,s),w=t.mul(e,o);i[0]=t.sub(t.sub(t.square(f),a),t.add(w,w));const D=t.mul(r,a);return i[1]=t.sub(t.mul(f,t.sub(w,i[0])),t.add(D,D)),i[2]=t.mul(h,t.sub(t.square(t.add(A[2],I[2])),t.add(g,C))),i}neg(A){return[A[0],this.F.neg(A[1]),A[2]]}sub(A,I){return this.add(A,this.neg(I))}double(A){const I=this.F,t=new Array(3);if(this.eq(A,this.zero))return A;const i=I.square(A[0]),g=I.square(A[1]),C=I.square(g);let e=I.sub(I.square(I.add(A[0],g)),I.add(i,C));e=I.add(e,e);const Q=I.add(I.add(i,i),i),n=I.square(Q);t[0]=I.sub(n,I.add(e,e));let B=I.add(C,C);B=I.add(B,B),B=I.add(B,B),t[1]=I.sub(I.mul(Q,I.sub(e,t[0])),B);const r=I.mul(A[1],A[2]);return t[2]=I.add(r,r),t}timesScalar(A,I){return Yi(this,A,I)}mulScalar(A,I){return Yi(this,A,I)}affine(A){const I=this.F;if(this.isZero(A))return this.zero;if(I.eq(A[2],I.one))return A;{const t=I.inv(A[2]),i=I.square(t),g=I.mul(i,t),C=new Array(3);return C[0]=I.mul(A[0],i),C[1]=I.mul(A[1],g),C[2]=I.one,C}}multiAffine(A){const I=Object.keys(A),t=this.F,i=new Array(I.length+1);i[0]=t.one;for(let g=0;g<I.length;g++)t.eq(A[I[g]][2],t.zero)?i[g+1]=i[g]:i[g+1]=t.mul(i[g],A[I[g]][2]);i[I.length]=t.inv(i[I.length]);for(let g=I.length-1;g>=0;g--)if(t.eq(A[I[g]][2],t.zero))i[g]=i[g+1],A[I[g]]=this.zero;else{const C=t.mul(i[g],i[g+1]);i[g]=t.mul(A[I[g]][2],i[g+1]);const e=t.square(C),Q=t.mul(e,C);A[I[g]][0]=t.mul(A[I[g]][0],e),A[I[g]][1]=t.mul(A[I[g]][1],Q),A[I[g]][2]=t.one}}eq(A,I){const t=this.F;if(this.F.eq(A[2],this.F.zero))return this.F.eq(I[2],this.F.zero);if(this.F.eq(I[2],this.F.zero))return!1;const i=t.square(A[2]),g=t.square(I[2]),C=t.mul(A[0],g),e=t.mul(I[0],i),Q=t.mul(A[2],i),n=t.mul(I[2],g),B=t.mul(A[1],n),r=t.mul(I[1],Q);return t.eq(C,e)&&t.eq(B,r)}isZero(A){return this.F.isZero(A[2])}toString(A){const I=this.affine(A);return`[ ${this.F.toString(I[0])} , ${this.F.toString(I[1])} ]`}fromRng(A){const I=this.F;let t,i=[];do{i[0]=I.fromRng(A),t=A.nextBool();const g=I.add(I.mul(I.square(i[0]),i[0]),this.b);i[1]=I.sqrt(g)}while(null==i[1]||I.isZero[i]);return t^$i(I,i[1])&&(i[1]=I.neg(i[1])),i[2]=I.one,this.cofactor&&(i=this.mulScalar(i,this.cofactor)),i=this.affine(i),i}toRprLE(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLE(A,I,t[0]),this.F.toRprLE(A,I+this.F.n8,t[1])}toRprBE(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprBE(A,I,t[0]),this.F.toRprBE(A,I+this.F.n8,t[1])}toRprLEM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1])}toRprLEJM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1]),this.F.toRprLEM(A,I+2*this.F.n8,t[2])}toRprBEM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprBEM(A,I,t[0]),this.F.toRprBEM(A,I+this.F.n8,t[1])}fromRprLE(A,I){I=I||0;const t=this.F.fromRprLE(A,I),i=this.F.fromRprLE(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprBE(A,I){I=I||0;const t=this.F.fromRprBE(A,I),i=this.F.fromRprBE(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprLEM(A,I){I=I||0;const t=this.F.fromRprLEM(A,I),i=this.F.fromRprLEM(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprLEJM(A,I){I=I||0;const t=this.F.fromRprLEM(A,I),i=this.F.fromRprLEM(A,I+this.F.n8),g=this.F.fromRprLEM(A,I+2*this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,g]}fromRprBEM(A,I){I=I||0;const t=this.F.fromRprBEM(A,I),i=this.F.fromRprBEM(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprCompressed(A,I){const t=this.F,i=new Uint8Array(A.buffer,I,t.n8);if(64&i[0])return this.zero;const g=new Array(3),C=0!=(128&i[0]);i[0]=127&i[0],g[0]=t.fromRprBE(A,I),C&&(i[0]=128|i[0]);const e=t.add(t.mul(t.square(g[0]),g[0]),this.b);if(g[1]=t.sqrt(e),null===g[1])throw new Error("Invalid Point!");return C^$i(t,g[1])&&(g[1]=t.neg(g[1])),g[2]=t.one,g}toRprCompressed(A,I,t){t=this.affine(t);const i=new Uint8Array(A.buffer,I,this.F.n8);if(this.isZero(t))return i.fill(0),void(i[0]=64);this.F.toRprBE(A,I,t[0]),$i(this.F,t[1])&&(i[0]=128|i[0])}fromRprUncompressed(A,I){return 64&A[0]?this.zero:this.fromRprBE(A,I)}toRprUncompressed(A,I,t){this.toRprBE(A,I,t),this.isZero(t)&&(A[I]=64|A[I])}},buildBn128:async function(){if(Lg)return Lg;const A={name:"bn128",wasm:dA.bn128_wasm,q:Wt("21888242871839275222246405745257275088696311157297823662689037894645226208583"),r:Wt("21888242871839275222246405745257275088548364400416034343698204186575808495617"),n8q:32,n8r:32,cofactorG2:Wt("30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d",16),singleThread:!1};return Lg=await Hg(A),Lg.terminate=async function(){Lg=null,await this.tm.terminate()},Lg},buildBls12381:async function(){if(kg)return kg;const A={name:"bls12381",wasm:dA.bls12381_wasm,q:Wt("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),r:Wt("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),n8q:48,n8r:32,cofactorG1:Wt("0x396c8c005555e1568c00aaab0000aaab",16),cofactorG2:Wt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5",16),singleThread:!1};return kg=await Hg(A),kg.terminate=async function(){kg=null,await this.tm.terminate()},kg},ChaCha:Xi});const Rg=Sg.Scalar,Jg=Sg.F1Field;class vg{constructor(A,I,t){this.memory=A,this.i32=new Uint32Array(A.buffer),this.instance=I,this.n32=(this.instance.exports.getFrLen()>>2)-2;const i=this.instance.exports.getPRawPrime(),g=new Array(this.n32);for(let A=0;A<this.n32;A++)g[this.n32-1-A]=this.i32[(i>>2)+A];this.prime=Rg.fromArray(g,4294967296),this.Fr=new Jg(this.prime),this.mask32=Rg.fromString("FFFFFFFF",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(Rg.shiftLeft(1,64*this.n64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=t}async _doCalculateWitness(A,I){this.instance.exports.init(this.sanityCheck||I?1:0);const t=this.allocInt(),i=this.allocFr();Object.keys(A).forEach(I=>{const g=lt.fnvHash(I),C=parseInt(g.slice(0,8),16),e=parseInt(g.slice(8,16),16);try{this.instance.exports.getSignalOffset32(t,0,C,e)}catch(A){throw new Error(`Signal ${I} is not an input of the circuit.`)}const Q=this.getInt(t),n=lt.flatArray(A[I]);for(let A=0;A<n.length;A++)this.setFr(i,n[A]),this.instance.exports.setSignal(0,0,Q+A,i)})}async calculateWitness(A,I){const t=this,i=t.i32[0],g=[];await t._doCalculateWitness(A,I);for(let A=0;A<t.NVars;A++){const I=t.instance.exports.getPWitness(A);g.push(t.getFr(I))}return t.i32[0]=i,g}async calculateBinWitness(A,I){const t=this.i32[0];await this._doCalculateWitness(A,I);const i=this.instance.exports.getWitnessBuffer();this.i32[0]=t;const g=this.memory.buffer.slice(i,i+this.NVars*this.n64*8);return new Uint8Array(g)}allocInt(){const A=this.i32[0];return this.i32[0]=A+8,A}allocFr(){const A=this.i32[0];return this.i32[0]=A+4*this.n32+8,A}getInt(A){return this.i32[A>>2]}setInt(A,I){this.i32[A>>2]=I}getFr(A){const I=this,t=A>>2;if(2147483648&I.i32[t+1]){const A=new Array(I.n32);for(let i=0;i<I.n32;i++)A[I.n32-1-i]=I.i32[t+2+i];const g=I.Fr.e(Rg.fromArray(A,4294967296));return 1073741824&I.i32[t+1]?(i=g,I.Fr.mul(I.RInv,i)):g}return 2147483648&I.i32[t]?I.Fr.e(I.i32[t]-4294967296):I.Fr.e(I.i32[t]);var i}setFr(A,I){const t=this;I=t.Fr.e(I);const i=t.Fr.neg(t.Fr.e("80000000",16)),g=t.Fr.e("7FFFFFFF",16);if(t.Fr.geq(I,i)&&t.Fr.leq(I,g)){let g;return t.Fr.geq(I,t.Fr.zero)?g=Rg.toNumber(I):(g=Rg.toNumber(t.Fr.sub(I,i)),g-=2147483648,g=4294967296+g),t.i32[A>>2]=g,void(t.i32[1+(A>>2)]=0)}t.i32[A>>2]=0,t.i32[1+(A>>2)]=2147483648;const C=Rg.toArray(I,4294967296);for(let I=0;I<t.n32;I++){const i=C.length-1-I;t.i32[2+(A>>2)+I]=i>=0?C[i]:0}}}var qg={WitnessCalculatorBuilder:async function(A,I){I=I||{};const t=new WebAssembly.Memory({initial:32767}),i=await WebAssembly.compile(A);let g;const C=await WebAssembly.instantiate(i,{env:{memory:t},runtime:{error:function(A,I,t,i,C,e){let n;throw n=7==A?Q(I)+" "+g.getFr(i).toString()+" != "+g.getFr(C).toString()+" "+Q(e):Q(I)+" "+t+" "+i+" "+C+" "+e,console.log("ERROR: ",A,n),new Error(n)},log:function(A){console.log(g.getFr(A).toString())},logGetSignal:function(A,t){I.logGetSignal&&I.logGetSignal(A,g.getFr(t))},logSetSignal:function(A,t){I.logSetSignal&&I.logSetSignal(A,g.getFr(t))},logStartComponent:function(A){I.logStartComponent&&I.logStartComponent(A)},logFinishComponent:function(A){I.logFinishComponent&&I.logFinishComponent(A)}}}),e=I&&(I.sanityCheck||I.logGetSignal||I.logSetSignal||I.logStartComponent||I.logFinishComponent);return g=new vg(t,C,e),g;function Q(A){const I=new Uint8Array(t.buffer),i=[];for(let t=0;I[A+t]>0;t++)i.push(I[A+t]);return String.fromCharCode.apply(null,i)}}};const{WitnessCalculatorBuilder:Yg}=qg;async function Pg(A,I,t,i){const g=await UI(I),C=await g.read(g.totalSize);await g.close();const e=await Yg(C),Q=await e.calculateBinWitness(A),n=await HI(t,"wtns",2,2);await async function(A,I,t){await LI(A,1);const i=8*(Math.floor((BI.bitLength(t)-1)/64)+1);if(await A.writeULE32(i),await SI(A,t,i),I.byteLength%i!=0)throw new Error("Invalid witness length");await A.writeULE32(I.byteLength/i),await kI(A),await LI(A,2),await A.write(I),await kI(A)}(n,Q,e.prime),await n.close()}const{unstringifyBigInts:xg}=rI;var Og=Object.freeze({__proto__:null,fullProve:async function(A,I,t,i){const g={type:"mem"};return await Pg(A,I,g),await yt(t,g)},prove:yt,verify:async function(A,I,t,i){A=xg(A),t=xg(t),I=xg(I);const g=await async function(A){let I;const t=A.toUpperCase().match(/[A-Za-z0-9]+/g).join("");if(["BN128","BN254","ALTBN128"].indexOf(t)>=0)I=await QI();else{if(!(["BLS12381"].indexOf(t)>=0))throw new Error("Curve not supported: "+A);I=await nI()}return I}(A.curve),C=g.G1.fromObject(A.IC[0]),e=new Uint8Array(2*g.G1.F.n8*I.length),Q=new Uint8Array(g.Fr.n8*I.length);for(let t=0;t<I.length;t++){const i=g.G1.fromObject(A.IC[t+1]);e.set(i,t*g.G1.F.n8*2),BI.toRprLE(Q,g.Fr.n8*t,I[t],g.Fr.n8)}let n=await g.G1.multiExpAffine(e,Q);n=g.G1.add(n,C);const B=g.G1.fromObject(t.pi_a),r=g.G2.fromObject(t.pi_b),E=g.G1.fromObject(t.pi_c),h=g.G2.fromObject(A.vk_gamma_2),s=g.G2.fromObject(A.vk_delta_2),o=g.G1.fromObject(A.vk_alpha_1),a=g.G2.fromObject(A.vk_beta_2);return await g.pairingEq(g.G1.neg(B),r,n,h,E,s,o,a)?(i&&i.info("OK!"),!0):(i&&i.error("Invalid proof"),!1)}});function Xg(A,I){const t=new DataView(I.buffer,I.byteOffset,I.byteLength),i=[];for(let A=0;A<8;A++)i[A]=t.getUint32(4*A);const g=new wA(i);return A.G2.fromRng(g)}function Zg(A,I,t,i,g){const C=VI(64),e=new Uint8Array([I]);C.update(e),C.update(t);const Q=A.G1.toUncompressed(i);C.update(Q);const n=A.G1.toUncompressed(g);C.update(n);return Xg(A,C.digest())}function jg(A,I,t,i,g){return A.g1_s=I.G1.toAffine(I.G1.fromRng(g)),A.g1_sx=I.G1.toAffine(I.G1.timesFr(A.g1_s,A.prvKey)),A.g2_sp=I.G2.toAffine(Zg(I,t,i,A.g1_s,A.g1_sx)),A.g2_spx=I.G2.toAffine(I.G2.timesFr(A.g2_sp,A.prvKey)),A}function Kg(A,I,t){const i={tau:{},alpha:{},beta:{}};return i.tau.prvKey=A.Fr.fromRng(t),i.alpha.prvKey=A.Fr.fromRng(t),i.beta.prvKey=A.Fr.fromRng(t),jg(i.tau,A,0,I,t),jg(i.alpha,A,1,I,t),jg(i.beta,A,2,I,t),i}async function Vg(A,I,t,i){i||(i=t),await A.writeULE32(1);const g=A.pos;await A.writeULE64(0),await A.writeULE32(8*I.F1.n64);const C=new Uint8Array(I.F1.n8);BI.toRprLE(C,0,I.q,I.F1.n8),await A.write(C),await A.writeULE32(t),await A.writeULE32(i);const e=A.pos-g-8,Q=A.pos;await A.writeULE64(e,g),A.pos=Q}async function zg(A,I){if(!I[1])throw new Error(A.fileName+": File has no header");if(I[1].length>1)throw new Error(A.fileName+": File has more than one header");A.pos=I[1][0].p;const t=await A.readULE32(),i=await A.read(t),g=BI.fromRprLE(i),C=await xI(g);if(8*C.F1.n64!=t)throw new Error(A.fileName+": Invalid size");const e=await A.readULE32(),Q=await A.readULE32();if(A.pos-I[1][0].p!=I[1][0].size)throw new Error("Invalid PTau header size");return{curve:C,power:e,ceremonyPower:Q}}function Wg(A,I,t,i){const g={tau:{},alpha:{},beta:{}};return g.tau.g1_s=C(),g.tau.g1_sx=C(),g.alpha.g1_s=C(),g.alpha.g1_sx=C(),g.beta.g1_s=C(),g.beta.g1_sx=C(),g.tau.g2_spx=e(),g.alpha.g2_spx=e(),g.beta.g2_spx=e(),g;function C(){let g;return g=i?t.G1.fromRprLEM(A,I):t.G1.fromRprUncompressed(A,I),I+=2*t.G1.F.n8,g}function e(){let g;return g=i?t.G2.fromRprLEM(A,I):t.G2.fromRprUncompressed(A,I),I+=2*t.G2.F.n8,g}}function Tg(A,I,t,i,g){async function C(i){g?t.G1.toRprLEM(A,I,i):t.G1.toRprUncompressed(A,I,i),I+=2*t.F1.n8}async function e(i){g?t.G2.toRprLEM(A,I,i):t.G2.toRprUncompressed(A,I,i),I+=2*t.F2.n8}return C(i.tau.g1_s),C(i.tau.g1_sx),C(i.alpha.g1_s),C(i.alpha.g1_sx),C(i.beta.g1_s),C(i.beta.g1_sx),e(i.tau.g2_spx),e(i.alpha.g2_spx),e(i.beta.g2_spx),A}async function _g(A,I){const t={};t.tauG1=await n(),t.tauG2=await B(),t.alphaG1=await n(),t.betaG1=await n(),t.betaG2=await B(),t.key=await async function(A,I,t){return Wg(await A.read(2*I.F1.n8*6+2*I.F2.n8*3),0,I,t)}(A,I,!0),t.partialHash=await A.read(216),t.nextChallenge=await A.read(64),t.type=await A.readULE32();const i=new Uint8Array(2*I.G1.F.n8*6+2*I.G2.F.n8*3);Tg(i,0,I,t.key,!1);const g=VI(64);g.setPartialHash(t.partialHash),g.update(i),t.responseHash=g.digest();const C=await A.readULE32(),e=A.pos;let Q=0;for(;A.pos-e<C;){const A=await r(1);if(A[0]<=Q)throw new Error("Parameters in the contribution must be sorted");if(Q=A[0],1==A[0]){const A=await r(1),I=await r(A[0]);t.name=(new TextDecoder).decode(I)}else if(2==A[0]){const A=await r(1);t.numIterationsExp=A[0]}else{if(3!=A[0])throw new Error("Parameter not recognized");{const A=await r(1);t.beaconHash=await r(A[0])}}}if(A.pos!=e+C)throw new Error("Parametes do not match");return t;async function n(){const t=await A.read(2*I.G1.F.n8);return I.G1.fromRprLEM(t)}async function B(){const t=await A.read(2*I.G2.F.n8);return I.G2.fromRprLEM(t)}async function r(I){const t=await A.read(I);return new Uint8Array(t)}}async function $g(A,I,t){if(!t[7])throw new Error(A.fileName+": File has no contributions");if(t[7][0].length>1)throw new Error(A.fileName+": File has more than one contributions section");A.pos=t[7][0].p;const i=await A.readULE32(),g=[];for(let t=0;t<i;t++){const i=await _g(A,I);i.id=t+1,g.push(i)}if(A.pos-t[7][0].p!=t[7][0].size)throw new Error("Invalid contribution section size");return g}async function AC(A,I,t){const i=new Uint8Array(2*I.F1.n8),g=new Uint8Array(2*I.F2.n8);await e(t.tauG1),await Q(t.tauG2),await e(t.alphaG1),await e(t.betaG1),await Q(t.betaG2),await async function(A,I,t,i){const g=new Uint8Array(2*I.F1.n8*6+2*I.F2.n8*3);Tg(g,0,I,t,i),await A.write(g)}(A,I,t.key,!0),await A.write(t.partialHash),await A.write(t.nextChallenge),await A.writeULE32(t.type||0);const C=[];if(t.name){C.push(1);const A=new TextEncoder("utf-8").encode(t.name.substring(0,64));C.push(A.byteLength);for(let I=0;I<A.byteLength;I++)C.push(A[I])}if(1==t.type){C.push(2),C.push(t.numIterationsExp),C.push(3),C.push(t.beaconHash.byteLength);for(let A=0;A<t.beaconHash.byteLength;A++)C.push(t.beaconHash[A])}if(C.length>0){const I=new Uint8Array(C);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0);async function e(t){I.G1.toRprLEM(i,0,t),await A.write(i)}async function Q(t){I.G2.toRprLEM(g,0,t),await A.write(g)}}async function IC(A,I,t){await A.writeULE32(7);const i=A.pos;await A.writeULE64(0),await A.writeULE32(t.length);for(let i=0;i<t.length;i++)await AC(A,I,t[i]);const g=A.pos-i-8,C=A.pos;await A.writeULE64(g,i),A.pos=C}function tC(A,I,t){t&&t.debug("Calculating First Challenge Hash");const i=new VI(64),g=new Uint8Array(2*A.G1.F.n8),C=new Uint8Array(2*A.G2.F.n8);let e;return A.G1.toRprUncompressed(g,0,A.G1.g),A.G2.toRprUncompressed(C,0,A.G2.g),i.update(VI(64).digest()),e=2*(1<<I)-1,t&&t.debug("Calculate Initial Hash: tauG1"),Q(g,e),e=1<<I,t&&t.debug("Calculate Initial Hash: tauG2"),Q(C,e),t&&t.debug("Calculate Initial Hash: alphaTauG1"),Q(g,e),t&&t.debug("Calculate Initial Hash: betaTauG1"),Q(g,e),i.update(C),i.digest();function Q(A,I){const g=Math.floor(I/5e5),C=I%5e5,e=new Uint8Array(5e5*A.byteLength);for(let I=0;I<5e5;I++)e.set(A,I*A.byteLength);for(let A=0;A<g;A++)i.update(e),t&&t.debug("Initial hash: "+5e5*A);for(let I=0;I<C;I++)i.update(A)}}function iC(A,I,t,i){return Kg(A,I,gt(t,i))}const gC=tt;async function CC(A,I,t,i){let g;if(1==I.type){const g=iC(A,t.nextChallenge,I.beaconHash,I.numIterationsExp);if(!A.G1.eq(I.key.tau.g1_s,g.tau.g1_s))return i&&i.error(`BEACON key (tauG1_s) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.tau.g1_sx,g.tau.g1_sx))return i&&i.error(`BEACON key (tauG1_sx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G2.eq(I.key.tau.g2_spx,g.tau.g2_spx))return i&&i.error(`BEACON key (tauG2_spx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.alpha.g1_s,g.alpha.g1_s))return i&&i.error(`BEACON key (alphaG1_s) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.alpha.g1_sx,g.alpha.g1_sx))return i&&i.error(`BEACON key (alphaG1_sx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G2.eq(I.key.alpha.g2_spx,g.alpha.g2_spx))return i&&i.error(`BEACON key (alphaG2_spx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.beta.g1_s,g.beta.g1_s))return i&&i.error(`BEACON key (betaG1_s) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.beta.g1_sx,g.beta.g1_sx))return i&&i.error(`BEACON key (betaG1_sx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G2.eq(I.key.beta.g2_spx,g.beta.g2_spx))return i&&i.error(`BEACON key (betaG2_spx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1}return I.key.tau.g2_sp=A.G2.toAffine(Zg(A,0,t.nextChallenge,I.key.tau.g1_s,I.key.tau.g1_sx)),I.key.alpha.g2_sp=A.G2.toAffine(Zg(A,1,t.nextChallenge,I.key.alpha.g1_s,I.key.alpha.g1_sx)),I.key.beta.g2_sp=A.G2.toAffine(Zg(A,2,t.nextChallenge,I.key.beta.g1_s,I.key.beta.g1_sx)),g=await gC(A,I.key.tau.g1_s,I.key.tau.g1_sx,I.key.tau.g2_sp,I.key.tau.g2_spx),!0!==g?(i&&i.error("INVALID key (tau) in challenge #"+I.id),!1):(g=await gC(A,I.key.alpha.g1_s,I.key.alpha.g1_sx,I.key.alpha.g2_sp,I.key.alpha.g2_spx),!0!==g?(i&&i.error("INVALID key (alpha) in challenge #"+I.id),!1):(g=await gC(A,I.key.beta.g1_s,I.key.beta.g1_sx,I.key.beta.g2_sp,I.key.beta.g2_spx),!0!==g?(i&&i.error("INVALID key (beta) in challenge #"+I.id),!1):(g=await gC(A,t.tauG1,I.tauG1,I.key.tau.g2_sp,I.key.tau.g2_spx),!0!==g?(i&&i.error("INVALID tau*G1. challenge #"+I.id+" It does not follow the previous contribution"),!1):(g=await gC(A,I.key.tau.g1_s,I.key.tau.g1_sx,t.tauG2,I.tauG2),!0!==g?(i&&i.error("INVALID tau*G2. challenge #"+I.id+" It does not follow the previous contribution"),!1):(g=await gC(A,t.alphaG1,I.alphaG1,I.key.alpha.g2_sp,I.key.alpha.g2_spx),!0!==g?(i&&i.error("INVALID alpha*G1. challenge #"+I.id+" It does not follow the previous contribution"),!1):(g=await gC(A,t.betaG1,I.betaG1,I.key.beta.g2_sp,I.key.beta.g2_spx),!0!==g?(i&&i.error("INVALID beta*G1. challenge #"+I.id+" It does not follow the previous contribution"),!1):(g=await gC(A,I.key.beta.g1_s,I.key.beta.g1_sx,t.betaG2,I.betaG2),!0!==g?(i&&i.error("INVALID beta*G2. challenge #"+I.id+"It does not follow the previous contribution"),!1):(i&&i.info("Powers Of tau file OK!"),!0))))))))}async function eC(A,I,t,i,g,C,e,Q,n,B){const r=g[C],E=2*r.F.n8,h=I[i][0].size/E;await NI(A,I,i),await LI(t,i);let s=e;for(let I=0;I<h;I+=65536){B&&B.debug(`Applying key: ${n}: ${I}/${h}`);const i=Math.min(h-I,65536);let C;C=await A.read(i*E),C=await r.batchApplyKey(C,s,Q),await t.write(C),s=g.Fr.mul(s,g.Fr.exp(Q,i))}await kI(t),await bI(A)}async function QC(A,I,t,i,g,C,e,Q,n,B,r){const E=i[g],h=2*E.F.n8,s=Math.floor((1<<20)/h);let o=e;for(let g=0;g<C;g+=s){r&&r.debug(`Applying key ${B}: ${g}/${C}`);const e=Math.min(C-g,s),a=await A.read(e*h),f=await E.batchUtoLEM(a),w=await E.batchApplyKey(f,o,Q);let D;D="COMPRESSED"==n?await E.batchLEMtoC(w):await E.batchLEMtoU(w),t&&t.update(D),await I.write(D),o=i.Fr.mul(o,i.Fr.exp(Q,e))}}var nC=Object.freeze({__proto__:null,newAccumulator:async function(A,I,t,i){await VI.ready();const g=await HI(t,"ptau",1,7);await Vg(g,A,I,0);const C=A.G1.oneAffine,e=A.G2.oneAffine;await LI(g,2);const Q=2*(1<<I)-1;for(let A=0;A<Q;A++)await g.write(C),i&&A%1e5==0&&A&&i.info("tauG1: "+A);await kI(g),await LI(g,3);const n=1<<I;for(let A=0;A<n;A++)await g.write(e),i&&A%1e5==0&&A&&i.log("tauG2: "+A);await kI(g),await LI(g,4);const B=1<<I;for(let A=0;A<B;A++)await g.write(C),i&&A%1e5==0&&A&&i.log("alphaTauG1: "+A);await kI(g),await LI(g,5);const r=1<<I;for(let A=0;A<r;A++)await g.write(C),i&&A%1e5==0&&A&&i.log("betaTauG1: "+A);await kI(g),await LI(g,6),await g.write(e),await kI(g),await LI(g,7),await g.writeULE32(0),await kI(g),await g.close();const E=tC(A,I,i);return i&&i.debug($I(VI(64).digest(),"Blank Contribution Hash:")),i&&i.info($I(E,"First Contribution Hash:")),E},exportChallenge:async function(A,I,t){await VI.ready();const{fd:i,sections:g}=await GI(A,"ptau",1),{curve:C,power:e}=await zg(i,g),Q=await $g(i,C,g);let n,B;0==Q.length?(n=VI(64).digest(),B=tC(C,e)):(n=Q[Q.length-1].responseHash,B=Q[Q.length-1].nextChallenge),t&&t.info($I(n,"Last Response Hash: ")),t&&t.info($I(B,"New Challenge Hash: "));const r=await dI(I),E=VI(64);await r.write(n),E.update(n),await s(2,"G1",2*(1<<e)-1,"tauG1"),await s(3,"G2",1<<e,"tauG2"),await s(4,"G1",1<<e,"alphaTauG1"),await s(5,"G1",1<<e,"betaTauG1"),await s(6,"G2",1,"betaG2"),await i.close(),await r.close();const h=E.digest();if(!At(B,h))throw t&&t.info($I(h,"Calc Curret Challenge Hash: ")),t&&t.error("PTau file is corrupted. Calculated new challenge hash does not match with the eclared one"),new Error("PTau file is corrupted. Calculated new challenge hash does not match with the eclared one");return B;async function s(A,I,e,Q){const n=C[I],B=2*n.F.n8,h=Math.floor((1<<24)/B);await NI(i,g,A);for(let A=0;A<e;A+=h){t&&t.debug(`Exporting ${Q}: ${A}/${e}`);const I=Math.min(e-A,h);let g;g=await i.read(I*B),g=await n.batchLEMtoU(g),await r.write(g),E.update(g)}await bI(i)}},importResponse:async function(A,I,t,i,g,C){await VI.ready();const{fd:e,sections:Q}=await GI(A,"ptau",1),{curve:n,power:B}=await zg(e,Q),r=await $g(e,n,Q),E={};i&&(E.name=i);const h=2*n.F1.n8,s=n.F1.n8,o=2*n.F2.n8,a=n.F2.n8,f=await UI(I);if(f.totalSize!=64+(2*(1<<B)-1)*s+(1<<B)*a+(1<<B)*s+(1<<B)*s+a+6*h+3*o)throw new Error("Size of the contribution is invalid");let w;w=r.length>0?r[r.length-1].nextChallenge:tC(n,B,C);const D=await HI(t,"ptau",1,7);await Vg(D,n,B);const c=await f.read(64);if(!At(c,w))throw new Error("Wrong contribution. this contribution is not based on the previus hash");const u=new VI(64);u.update(c);const y=[];let p;p=await m(f,D,"G1",2,2*(1<<B)-1,[1],"tauG1"),E.tauG1=p[0],p=await m(f,D,"G2",3,1<<B,[1],"tauG2"),E.tauG2=p[0],p=await m(f,D,"G1",4,1<<B,[0],"alphaG1"),E.alphaG1=p[0],p=await m(f,D,"G1",5,1<<B,[0],"betaG1"),E.betaG1=p[0],p=await m(f,D,"G2",6,1,[0],"betaG2"),E.betaG2=p[0],E.partialHash=u.getPartialHash();const l=await f.read(2*n.F1.n8*6+2*n.F2.n8*3);E.key=Wg(l,0,n,!1),u.update(new Uint8Array(l));const F=u.digest();C&&C.info($I(F,"Contribution Response Hash imported: "));const M=new VI(64);return M.update(F),await d(D,"G1",2,2*(1<<B)-1,"tauG1",C),await d(D,"G2",3,1<<B,"tauG2",C),await d(D,"G1",4,1<<B,"alphaTauG1",C),await d(D,"G1",5,1<<B,"betaTauG1",C),await d(D,"G2",6,1,"betaG2",C),E.nextChallenge=M.digest(),C&&C.info($I(E.nextChallenge,"Next Challenge Hash: ")),r.push(E),await IC(D,n,r),await f.close(),await D.close(),await e.close(),E.nextChallenge;async function m(A,I,t,i,g,e,Q){const B=n[t],r=B.F.n8,E=2*B.F.n8,h=[];await LI(I,i);const s=Math.floor((1<<24)/E);y[i]=I.pos;for(let t=0;t<g;t+=s){C&&C.debug(`Importing ${Q}: ${t}/${g}`);const i=Math.min(g-t,s),n=await A.read(i*r);u.update(n);const o=await B.batchCtoLEM(n);await I.write(o);for(let A=0;A<e.length;A++){const I=e[A];if(I>=t&&I<t+i){const A=B.fromRprLEM(o,(I-t)*E);h.push(A)}}}return await kI(I),h}async function d(A,I,t,i,g,C){const e=n[I],Q=2*e.F.n8,B=Math.floor((1<<24)/Q),r=A.pos;A.pos=y[t];for(let I=0;I<i;I+=B){C&&C.debug(`Hashing ${g}: ${I}/${i}`);const t=Math.min(i-I,B),n=await A.read(t*Q),r=await e.batchLEMtoU(n);M.update(r)}A.pos=r}},verify:async function(A,I){let t;await VI.ready();const{fd:i,sections:g}=await GI(A,"ptau",1),{curve:C,power:e,ceremonyPower:Q}=await zg(i,g),n=await $g(i,C,g);I&&I.debug("power: 2**"+e),I&&I.debug("Computing initial contribution hash");const B={tauG1:C.G1.g,tauG2:C.G2.g,alphaG1:C.G1.g,betaG1:C.G1.g,betaG2:C.G2.g,nextChallenge:tC(C,Q,I),responseHash:VI(64).digest()};if(0==n.length)return I&&I.error("This file has no contribution! It cannot be used in production"),!1;let r;r=n.length>1?n[n.length-2]:B;const E=n[n.length-1];if(I&&I.debug("Validating contribution #"+n[n.length-1].id),!await CC(C,E,r,I))return!1;const h=VI(64);h.update(E.responseHash),I&&I.debug("Verifying powers in tau*G1 section");const s=await u(2,"G1","tauG1",2*(1<<e)-1,[0,1],I);if(t=await gC(C,s.R1,s.R2,C.G2.g,E.tauG2),!0!==t)return I&&I.error("tauG1 section. Powers do not match"),!1;if(!C.G1.eq(C.G1.g,s.singularPoints[0]))return I&&I.error("First element of tau*G1 section must be the generator"),!1;if(!C.G1.eq(E.tauG1,s.singularPoints[1]))return I&&I.error("Second element of tau*G1 section does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in tau*G2 section");const o=await u(3,"G2","tauG2",1<<e,[0,1],I);if(t=await gC(C,C.G1.g,E.tauG1,o.R1,o.R2),!0!==t)return I&&I.error("tauG2 section. Powers do not match"),!1;if(!C.G2.eq(C.G2.g,o.singularPoints[0]))return I&&I.error("First element of tau*G2 section must be the generator"),!1;if(!C.G2.eq(E.tauG2,o.singularPoints[1]))return I&&I.error("Second element of tau*G2 section does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in alpha*tau*G1 section");const a=await u(4,"G1","alphatauG1",1<<e,[0],I);if(t=await gC(C,a.R1,a.R2,C.G2.g,E.tauG2),!0!==t)return I&&I.error("alphaTauG1 section. Powers do not match"),!1;if(!C.G1.eq(E.alphaG1,a.singularPoints[0]))return I&&I.error("First element of alpha*tau*G1 section (alpha*G1) does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in beta*tau*G1 section");const f=await u(5,"G1","betatauG1",1<<e,[0],I);if(t=await gC(C,f.R1,f.R2,C.G2.g,E.tauG2),!0!==t)return I&&I.error("betaTauG1 section. Powers do not match"),!1;if(!C.G1.eq(E.betaG1,f.singularPoints[0]))return I&&I.error("First element of beta*tau*G1 section (beta*G1) does not match the one in the contribution section"),!1;const w=await async function(A){const I=C.G2,t=2*I.F.n8,e=new Uint8Array(t);if(!g[6])throw A.error("File has no BetaG2 section"),new Error("File has no BetaG2 section");if(g[6].length>1)throw A.error("File has no BetaG2 section"),new Error("File has more than one GetaG2 section");i.pos=g[6][0].p;const Q=await i.read(t),n=I.fromRprLEM(Q);return I.toRprUncompressed(e,0,n),h.update(e),n}(I);if(!C.G2.eq(E.betaG2,w))return I&&I.error("betaG2 element in betaG2 section does not match the one in the contribution section"),!1;const D=h.digest();if(!At(D,E.nextChallenge))return I&&I.error("Hash of the values does not match the next challenge of the last contributor in the contributions section"),!1;I&&I.info($I(D,"Next challenge hash: ")),c(E,r);for(let A=n.length-2;A>=0;A--){const t=n[A],i=A>0?n[A-1]:B;if(!await CC(C,t,i,I))return!1;c(t,i)}if(I&&I.info("-----------------------------------------------------"),g[12]&&g[13]&&g[14]&&g[15]){let A;if(A=await y("G1",2,12,"tauG1",I),!A)return!1;if(A=await y("G2",3,13,"tauG2",I),!A)return!1;if(A=await y("G1",4,14,"alphaTauG1",I),!A)return!1;if(A=await y("G1",5,15,"betaTauG1",I),!A)return!1}else I&&I.warn('this file does not contain phase2 precalculated values. Please run: \n snarkjs "powersoftau preparephase2" to prepare this file to be used in the phase2 ceremony.');return await i.close(),!0;function c(A,t){if(!I)return;I.info("-----------------------------------------------------"),I.info(`Contribution #${A.id}: ${A.name||""}`),I.info($I(A.nextChallenge,"Next Challenge: "));const i=new Uint8Array(2*C.G1.F.n8*6+2*C.G2.F.n8*3);Tg(i,0,C,A.key,!1);const g=VI(64);g.setPartialHash(A.partialHash),g.update(i);const e=g.digest();I.info($I(e,"Response Hash:")),I.info($I(t.nextChallenge,"Response Hash:")),1==A.type&&(I.info("Beacon generator: "+et(A.beaconHash)),I.info("Beacon iterations Exp: "+A.numIterationsExp))}async function u(A,I,t,e,Q,n){const B=C[I],r=2*B.F.n8;await NI(i,g,A);const E=[];let s=B.zero,o=B.zero,a=B.zero;for(let A=0;A<e;A+=65536){n&&n.debug(`points relations: ${t}: ${A}/${e} `);const I=Math.min(e-A,65536),g=await i.read(I*r),C=await B.batchLEMtoU(g);h.update(C);const f=new Uint8Array(4*(I-1));if(DA.randomFillSync(f),A>0){const A=B.fromRprLEM(g,0),I=DA.randomBytes(4).readUInt32BE(0,!0);s=B.add(s,B.timesScalar(a,I)),o=B.add(o,B.timesScalar(A,I))}const w=await B.multiExpAffine(g.slice(0,(I-1)*r),f),D=await B.multiExpAffine(g.slice(r),f);s=B.add(s,w),o=B.add(o,D),a=B.fromRprLEM(g,(I-1)*r);for(let t=0;t<Q.length;t++){const i=Q[t];if(i>=A&&i<A+I){const I=B.fromRprLEM(g,(i-A)*r);E.push(I)}}}return await bI(i),{R1:s,R2:o,singularPoints:E}}async function y(A,I,t,Q,n){n&&n.debug(`Verifying phase2 calculated values ${Q}...`);const B=C[A],r=2*B.F.n8,E=new Array(8);for(let A=0;A<8;A++)E[A]=DA.randomBytes(4).readUInt32BE(0,!0);const h=new wA(E);for(let A=0;A<=e;A++){if(!await s(A))return!1}return!0;async function s(A){n&&n.debug(`Power ${A}...`);const e=C.Fr.n8,Q=1<<A;let E,s=new Uint8Array(Q*e);for(let A=0;A<Q;A++){const I=C.Fr.fromRng(h);C.Fr.toRprLE(s,A*e,I)}await NI(i,g,I),E=await i.read(Q*r),await bI(i,!0);const o=await B.multiExpAffine(E,s);s=await C.Fr.batchToMontgomery(s),s=await C.Fr.fft(s),s=await C.Fr.batchFromMontgomery(s),await NI(i,g,t),i.pos+=r*((1<<A)-1),E=await i.read(Q*r),await bI(i,!0);const a=await B.multiExpAffine(E,s);return!!B.eq(o,a)||(n&&n.error("Phase2 caclutation does not match with powers of tau"),!1)}}},challengeContribute:async function(A,I,t,i,g){await VI.ready();const C=await UI(I),e=8*A.F1.n64*2,Q=8*A.F2.n64*2,n=(C.totalSize+e-64-Q)/(4*e+Q);let B=n,r=0;for(;B>1;)B/=2,r+=1;if(1<<r!=n)throw new Error("Invalid file size");g&&g.debug("Power to tau size: "+r);const E=await it(i),h=await dI(t),s=VI(64);for(let A=0;A<C.totalSize;A+=C.pageSize){g&&g.debug(`Hashing challenge ${A}/${C.totalSize}`);const I=Math.min(C.totalSize-A,C.pageSize),t=await C.read(I);s.update(t)}const o=await C.read(64,0);g&&g.info($I(o,"Claimed Previous Response Hash: "));const a=s.digest();g&&g.info($I(a,"Current Challenge Hash: "));const f=Kg(A,a,E);g&&["tau","alpha","beta"].forEach(I=>{g.debug(I+".g1_s: "+A.G1.toString(f[I].g1_s,16)),g.debug(I+".g1_sx: "+A.G1.toString(f[I].g1_sx,16)),g.debug(I+".g2_sp: "+A.G2.toString(f[I].g2_sp,16)),g.debug(I+".g2_spx: "+A.G2.toString(f[I].g2_spx,16)),g.debug("")});const w=VI(64);await h.write(a),w.update(a),await QC(C,h,w,A,"G1",2*(1<<r)-1,A.Fr.one,f.tau.prvKey,"COMPRESSED","tauG1",g),await QC(C,h,w,A,"G2",1<<r,A.Fr.one,f.tau.prvKey,"COMPRESSED","tauG2",g),await QC(C,h,w,A,"G1",1<<r,f.alpha.prvKey,f.tau.prvKey,"COMPRESSED","alphaTauG1",g),await QC(C,h,w,A,"G1",1<<r,f.beta.prvKey,f.tau.prvKey,"COMPRESSED","betaTauG1",g),await QC(C,h,w,A,"G2",1,f.beta.prvKey,f.tau.prvKey,"COMPRESSED","betaTauG2",g);const D=new Uint8Array(2*A.F1.n8*6+2*A.F2.n8*3);Tg(D,0,A,f,!1),await h.write(D),w.update(D);const c=w.digest();g&&g.info($I(c,"Contribution Response Hash: ")),await h.close(),await C.close()},beacon:async function(A,I,t,i,g,C){const e=Ct(i);if(0==e.byteLength||2*e.byteLength!=i.length)return C&&C.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(e.length>=256)return C&&C.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return C&&C.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;await VI.ready();const{fd:Q,sections:n}=await GI(A,"ptau",1),{curve:B,power:r,ceremonyPower:E}=await zg(Q,n);if(r!=E)return C&&C.error("This file has been reduced. You cannot contribute into a reduced file."),!1;n[12]&&C&&C.warn("Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const h=await $g(Q,B,n),s={name:t,type:1,numIterationsExp:g,beaconHash:e};let o;o=h.length>0?h[h.length-1].nextChallenge:tC(B,r,C),s.key=iC(B,o,e,g);const a=new VI(64);a.update(o);const f=await HI(I,"ptau",1,7);await Vg(f,B,r);const w=[];let D;D=await p(2,"G1",2*(1<<r)-1,B.Fr.e(1),s.key.tau.prvKey,"tauG1",C),s.tauG1=D[1],D=await p(3,"G2",1<<r,B.Fr.e(1),s.key.tau.prvKey,"tauG2",C),s.tauG2=D[1],D=await p(4,"G1",1<<r,s.key.alpha.prvKey,s.key.tau.prvKey,"alphaTauG1",C),s.alphaG1=D[0],D=await p(5,"G1",1<<r,s.key.beta.prvKey,s.key.tau.prvKey,"betaTauG1",C),s.betaG1=D[0],D=await p(6,"G2",1,s.key.beta.prvKey,s.key.tau.prvKey,"betaTauG2",C),s.betaG2=D[0],s.partialHash=a.getPartialHash();const c=new Uint8Array(2*B.F1.n8*6+2*B.F2.n8*3);Tg(c,0,B,s.key,!1),a.update(new Uint8Array(c));const u=a.digest();C&&C.info($I(u,"Contribution Response Hash imported: "));const y=new VI(64);return y.update(u),await l(f,"G1",2,2*(1<<r)-1,"tauG1",C),await l(f,"G2",3,1<<r,"tauG2",C),await l(f,"G1",4,1<<r,"alphaTauG1",C),await l(f,"G1",5,1<<r,"betaTauG1",C),await l(f,"G2",6,1,"betaG2",C),s.nextChallenge=y.digest(),C&&C.info($I(s.nextChallenge,"Next Challenge Hash: ")),h.push(s),await IC(f,B,h),await Q.close(),await f.close(),u;async function p(A,I,t,i,g,C,e){const r=[];Q.pos=n[A][0].p,await LI(f,A),w[A]=f.pos;const E=B[I],h=2*E.F.n8,s=Math.floor((1<<20)/h);let o=i;for(let A=0;A<t;A+=s){e&&e.debug(`applying key${C}: ${A}/${t}`);const I=Math.min(t-A,s),i=await Q.read(I*h),n=await E.batchApplyKey(i,o,g),w=f.write(n),D=await E.batchLEMtoC(n);if(a.update(D),await w,0==A)for(let A=0;A<Math.min(2,t);A++)r.push(E.fromRprLEM(n,A*h));o=B.Fr.mul(o,B.Fr.exp(g,I))}return await kI(f),r}async function l(A,I,t,i,g,C){const e=B[I],Q=2*e.F.n8,n=Math.floor((1<<24)/Q),r=A.pos;A.pos=w[t];for(let I=0;I<i;I+=n){C&&C.debug(`Hashing ${g}: ${I}/${i}`);const t=Math.min(i-I,n),B=await A.read(t*Q),r=await e.batchLEMtoU(B);y.update(r)}A.pos=r}},contribute:async function(A,I,t,i,g){await VI.ready();const{fd:C,sections:e}=await GI(A,"ptau",1),{curve:Q,power:n,ceremonyPower:B}=await zg(C,e);if(n!=B)throw g&&g.error("This file has been reduced. You cannot contribute into a reduced file."),new Error("This file has been reduced. You cannot contribute into a reduced file.");e[12]&&g&&g.warn("WARNING: Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const r=await $g(C,Q,e),E={name:t,type:0};let h;const s=await it(i);h=r.length>0?r[r.length-1].nextChallenge:tC(Q,n,g),E.key=Kg(Q,h,s);const o=new VI(64);o.update(h);const a=await HI(I,"ptau",1,7);await Vg(a,Q,n);const f=[];let w;w=await y(2,"G1",2*(1<<n)-1,Q.Fr.e(1),E.key.tau.prvKey,"tauG1"),E.tauG1=w[1],w=await y(3,"G2",1<<n,Q.Fr.e(1),E.key.tau.prvKey,"tauG2"),E.tauG2=w[1],w=await y(4,"G1",1<<n,E.key.alpha.prvKey,E.key.tau.prvKey,"alphaTauG1"),E.alphaG1=w[0],w=await y(5,"G1",1<<n,E.key.beta.prvKey,E.key.tau.prvKey,"betaTauG1"),E.betaG1=w[0],w=await y(6,"G2",1,E.key.beta.prvKey,E.key.tau.prvKey,"betaTauG2"),E.betaG2=w[0],E.partialHash=o.getPartialHash();const D=new Uint8Array(2*Q.F1.n8*6+2*Q.F2.n8*3);Tg(D,0,Q,E.key,!1),o.update(new Uint8Array(D));const c=o.digest();g&&g.info($I(c,"Contribution Response Hash imported: "));const u=new VI(64);return u.update(c),await p(a,"G1",2,2*(1<<n)-1,"tauG1"),await p(a,"G2",3,1<<n,"tauG2"),await p(a,"G1",4,1<<n,"alphaTauG1"),await p(a,"G1",5,1<<n,"betaTauG1"),await p(a,"G2",6,1,"betaG2"),E.nextChallenge=u.digest(),g&&g.info($I(E.nextChallenge,"Next Challenge Hash: ")),r.push(E),await IC(a,Q,r),await C.close(),await a.close(),c;async function y(A,I,t,i,n,B){const r=[];C.pos=e[A][0].p,await LI(a,A),f[A]=a.pos;const E=Q[I],h=2*E.F.n8,s=Math.floor((1<<20)/h);let w=i;for(let A=0;A<t;A+=s){g&&g.debug(`processing: ${B}: ${A}/${t}`);const I=Math.min(t-A,s),i=await C.read(I*h),e=await E.batchApplyKey(i,w,n),f=a.write(e),D=await E.batchLEMtoC(e);if(o.update(D),await f,0==A)for(let A=0;A<Math.min(2,t);A++)r.push(E.fromRprLEM(e,A*h));w=Q.Fr.mul(w,Q.Fr.exp(n,I))}return await kI(a),r}async function p(A,I,t,i,C){const e=Q[I],n=2*e.F.n8,B=Math.floor((1<<24)/n),r=A.pos;A.pos=f[t];for(let I=0;I<i;I+=B){g&&I&&g.debug(`Hashing ${C}: `+I);const t=Math.min(i-I,B),Q=await A.read(t*n),r=await e.batchLEMtoU(Q);u.update(r)}A.pos=r}},preparePhase2:async function(A,I,t){const{fd:i,sections:g}=await GI(A,"ptau",1),{curve:C,power:e}=await zg(i,g),Q=await HI(I,"ptau",1,11);await Vg(Q,C,e);const n=await dI({type:"bigMem"});return await JI(i,g,Q,2),await JI(i,g,Q,3),await JI(i,g,Q,4),await JI(i,g,Q,5),await JI(i,g,Q,6),await JI(i,g,Q,7),await B(2,12,"G1","tauG1"),await B(3,13,"G2","tauG2"),await B(4,14,"G1","alphaTauG1"),await B(5,15,"G1","betaTauG1"),await i.close(),await Q.close(),void await n.close();async function B(A,I,B,r){t&&t.debug("Starting section: "+r),await LI(Q,I);for(let A=0;A<=e;A++)await E(A);async function E(I){const e=I>16?16:I,E=1<<e,h=(1<<I)/E,s=C[B],o=C.Fr,a=2*s.F.n8,f=3*s.F.n8;await NI(i,g,A),n.pos=0;for(let A=0;A<h;A++){let g;t&&t.debug(`${r} Prepare ${A+1}/${h}`),g=await i.read(E*a),g=await s.batchToJacobian(g);for(let t=0;t<E;t++)n.pos=TI(A*E+t,I)*f,await n.write(g.slice(t*f,(t+1)*f))}await bI(i,!0);for(let A=0;A<h;A++){let i;t&&t.debug(`${r} ${I} FFTMix ${A+1}/${h}`),n.pos=A*E*f,i=await n.read(E*f),i=await s.fftMix(i),n.pos=A*E*f,await n.write(i)}for(let A=e+1;A<=I;A++){const i=1<<I-A,g=h/i;for(let C=0;C<i;C++)for(let e=0;e<g/2;e++){t&&t.debug(`${r} ${A}/${I} FFTJoin ${C+1}/${i} ${e}/${g/2}`);const Q=o.exp(o.w[A],e*E),B=o.w[A],h=C*g+e,a=C*g+e+g/2;let w,D;n.pos=h*E*f,w=await n.read(E*f),n.pos=a*E*f,D=await n.read(E*f),[w,D]=await s.fftJoin(w,D,Q,B),n.pos=h*E*f,await n.write(w),n.pos=a*E*f,await n.write(D)}}await async function(A){const I=C[B],i=C.Fr,g=3*I.F.n8,e=2*I.F.n8,E=1<<(A>16?16:A),h=(1<<A)/E,s=Q.pos;n.pos=0;const o=i.inv(i.e(1<<A));for(let i=0;i<h;i++){let C;t&&t.debug(`${r} ${A} FFTFinal ${i+1}/${h}`),C=await n.read(E*g),C=await I.fftFinal(C,o),0==i?(Q.pos=s,await Q.write(C.slice((E-1)*e)),Q.pos=s+((h-1)*E+1)*e,await Q.write(C.slice(0,(E-1)*e))):(Q.pos=s+((h-1-i)*E+1)*e,await Q.write(C))}Q.pos=s+h*E*e}(I)}await kI(Q)}},exportJson:async function(A,I){const{fd:t,sections:i}=await GI(A,"ptau",1),{curve:g,power:C}=await zg(t,i),e={};return e.q=g.q,e.power=C,e.contributions=await $g(t,g,i),e.tauG1=await Q(2,"G1",2*(1<<C)-1,"tauG1"),e.tauG2=await Q(3,"G2",1<<C,"tauG2"),e.alphaTauG1=await Q(4,"G1",1<<C,"alphaTauG1"),e.betaTauG1=await Q(5,"G1",1<<C,"betaTauG1"),e.betaG2=await Q(6,"G2",1,"betaG2"),e.lTauG1=await n(12,"G1","lTauG1"),e.lTauG2=await n(13,"G2","lTauG2"),e.lAlphaTauG1=await n(14,"G1","lAlphaTauG2"),e.lBetaTauG1=await n(15,"G1","lBetaTauG2"),await t.close(),e;async function Q(A,C,e,Q){const n=g[C],B=2*n.F.n8,r=[];await NI(t,i,A);for(let A=0;A<e;A++){I&&A&&A%1e4==0&&console.log(Q+": "+A);const i=await t.read(B);r.push(n.fromRprLEM(i,0))}return await bI(t),r}async function n(A,e,Q){const n=g[e],B=2*n.F.n8,r=[];await NI(t,i,A);for(let A=0;A<=C;A++){I&&console.log(`${Q}: Power: ${A}`),r[A]=[];const i=1<<A;for(let g=0;g<i;g++){I&&g&&g%1e4==0&&console.log(`${Q}: ${g}/${i}`);const C=await t.read(B);r[A].push(n.fromRprLEM(C,0))}}return await bI(t),r}}});const BC=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function rC(A,I){return I&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const EC=rC;function hC(A,I){return BigInt(A)<<BigInt(I)}function sC(A,I){return BigInt(A)>>BigInt(I)}const oC=hC,aC=sC;var fC=Object.freeze({__proto__:null,fromString:rC,e:EC,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i<A.length;i++)t=t*I+BigInt(A[i]);return t},bitLength:function(A){const I=A.toString(16);return 4*(I.length-1)+BC[parseInt(I[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:hC,shiftRight:sC,shl:oC,shr:aC,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let I=BigInt(A);const t=[];for(;I;){if(1n&I){const A=2-Number(I%4n);t.push(A),I-=BigInt(A)}else t.push(0);I>>=1n}return t},bits:function(A){let I=BigInt(A);const t=[];for(;I;)1n&I?t.push(1):t.push(0),I>>=1n;return t},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,I){const t=[];let i=BigInt(A);for(I=BigInt(I);i;)t.unshift(Number(i%I)),i/=I;return t},add:function(A,I){return BigInt(A)+BigInt(I)},sub:function(A,I){return BigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){return BigInt(A)*BigInt(I)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,I){return BigInt(A)**BigInt(I)},exp:function(A,I){return BigInt(A)**BigInt(I)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){return BigInt(A)/BigInt(I)},mod:function(A,I){return BigInt(A)%BigInt(I)},eq:function(A,I){return BigInt(A)==BigInt(I)},neq:function(A,I){return BigInt(A)!=BigInt(I)},lt:function(A,I){return BigInt(A)<BigInt(I)},gt:function(A,I){return BigInt(A)>BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function wC(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?r(A.slice(2),16):r(A,I)}const DC=wC;function cC(A,I){return r(A).shiftLeft(I)}function uC(A,I){return r(A).shiftRight(I)}const yC=cC,pC=uC;var lC=Object.freeze({__proto__:null,fromString:wC,e:DC,fromArray:function(A,I){return r.fromArray(A,I)},bitLength:function(A){return r(A).bitLength()},isNegative:function(A){return r(A).isNegative()},isZero:function(A){return r(A).isZero()},shiftLeft:cC,shiftRight:uC,shl:yC,shr:pC,isOdd:function(A){return r(A).isOdd()},naf:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);){if(I.isOdd()){const A=2-I.mod(4).toJSNumber();t.push(A),I=I.minus(A)}else t.push(0);I=I.shiftRight(1)}return t},bits:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(r("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return r(A).toArray(I)},add:function(A,I){return r(A).add(r(I))},sub:function(A,I){return r(A).minus(r(I))},neg:function(A){return r.zero.minus(r(A))},mul:function(A,I){return r(A).times(r(I))},square:function(A){return r(A).square()},pow:function(A,I){return r(A).pow(r(I))},exp:function(A,I){return r(A).pow(r(I))},abs:function(A){return r(A).abs()},div:function(A,I){return r(A).divide(r(I))},mod:function(A,I){return r(A).mod(r(I))},eq:function(A,I){return r(A).eq(r(I))},neq:function(A,I){return r(A).neq(r(I))},lt:function(A,I){return r(A).lt(r(I))},gt:function(A,I){return r(A).gt(r(I))},leq:function(A,I){return r(A).leq(r(I))},geq:function(A,I){return r(A).geq(r(I))},band:function(A,I){return r(A).and(r(I))},bor:function(A,I){return r(A).or(r(I))},bxor:function(A,I){return r(A).xor(r(I))},land:function(A,I){return!r(A).isZero()&&!r(I).isZero()},lor:function(A,I){return!r(A).isZero()||!r(I).isZero()},lnot:function(A){return r(A).isZero()}});const FC="function"==typeof BigInt;let MC={};FC?Object.assign(MC,fC):Object.assign(MC,lC),MC.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new Uint32Array(A.buffer,I,i/4),e=1+(4*(g.length-7)-1>>5);for(let A=0;A<e;A++)C[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=e;A<C.length;A++)C[A]=0;for(let I=4*C.length;I<i;I++)A[I]=MC.toNumber(MC.band(MC.shiftRight(t,8*I),255))},MC.toRprBE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new DataView(A.buffer,I,i),e=1+(4*(g.length-7)-1>>5);for(let A=0;A<e;A++)C.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-e;A++)C[A]=0},MC.fromRprLE=function(A,I,t){t=t||A.byteLength;const i=new Uint32Array(A.buffer,I,t/4),g=new Array(t/4);return i.forEach((A,I)=>g[g.length-I-1]=A.toString(16).padStart(8,"0")),MC.fromString(g.join(""),16)},MC.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A<t/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return MC.fromString(g.join(""),16)},MC.toString=function(A,I){return A.toString(I)},MC.toLEBuff=function(A){const I=new Uint8Array(Math.floor((MC.bitLength(A)-1)/8)+1);return MC.toRprLE(I,0,A,I.byteLength),I},MC.zero=MC.e(0),MC.one=MC.e(1);let{toRprLE:mC,toRprBE:dC,fromRprLE:UC,fromRprBE:GC,toString:HC,toLEBuff:LC,zero:kC,one:NC,fromString:bC,e:SC,fromArray:RC,bitLength:JC,isNegative:vC,isZero:qC,shiftLeft:YC,shiftRight:PC,shl:xC,shr:OC,isOdd:XC,naf:ZC,bits:jC,toNumber:KC,toArray:VC,add:zC,sub:WC,neg:TC,mul:_C,square:$C,pow:Ae,exp:Ie,abs:te,div:ie,mod:ge,eq:Ce,neq:ee,lt:Qe,gt:ne,leq:Be,geq:re,band:Ee,bor:he,bxor:se,land:oe,lor:ae,lnot:fe}=MC;var we=Object.freeze({__proto__:null,toRprLE:mC,toRprBE:dC,fromRprLE:UC,fromRprBE:GC,toString:HC,toLEBuff:LC,zero:kC,one:NC,fromString:bC,e:SC,fromArray:RC,bitLength:JC,isNegative:vC,isZero:qC,shiftLeft:YC,shiftRight:PC,shl:xC,shr:OC,isOdd:XC,naf:ZC,bits:jC,toNumber:KC,toArray:VC,add:zC,sub:WC,neg:TC,mul:_C,square:$C,pow:Ae,exp:Ie,abs:te,div:ie,mod:ge,eq:Ce,neq:ee,lt:Qe,gt:ne,leq:Be,geq:re,band:Ee,bor:he,bxor:se,land:oe,lor:ae,lnot:fe});const De=[];for(let A=0;A<256;A++)De[A]=ce(A,8);function ce(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}function ue(A,I,t){if(qC(t))return A.one;const i=jC(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function ye(A){if(A.m%2==1)if(Ce(ge(A.p,4),1))if(Ce(ge(A.p,8),1))if(Ce(ge(A.p,16),1))!function(A){A.sqrt_q=Ae(A.p,A.m),A.sqrt_s=0,A.sqrt_t=WC(A.sqrt_q,1);for(;!XC(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=ie(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<<A.sqrt_s-1)}A.sqrt_tm1d2=ie(WC(A.sqrt_t,1),2),A.sqrt=function(A){const I=this;if(I.isZero(A))return I.zero;let t=I.pow(A,I.sqrt_tm1d2);const i=I.pow(I.mul(I.square(t),A),1<<I.sqrt_s-1);if(I.eq(i,I.negone))return null;let g=I.sqrt_s,C=I.mul(A,t),e=I.mul(C,t),Q=I.sqrt_z;for(;!I.eq(e,I.one);){let A=I.square(e),i=1;for(;!I.eq(A,I.one);)A=I.square(A),i++;t=Q;for(let A=0;A<g-i-1;A++)t=I.square(t);Q=I.square(t),e=I.mul(e,Q),C=I.mul(C,t),g=i}return I.geq(C,I.zero)?C:I.neg(C)}}(A);else{if(!Ce(ge(A.p,16),9))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(A)}else{if(!Ce(ge(A.p,8),5))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(A)}else Ce(ge(A.p,4),3)&&function(A){A.sqrt_q=Ae(A.p,A.m),A.sqrt_e1=ie(WC(A.sqrt_q,3),4),A.sqrt=function(I){if(this.isZero(I))return this.zero;const t=this.pow(I,this.sqrt_e1),i=this.mul(this.square(t),I);if(this.eq(i,this.negone))return null;const g=this.mul(t,I);return A.geq(g,A.zero)?g:A.neg(g)}}(A);else{const I=ge(Ae(A.p,A.m/2),4);1==I?function(A){A.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(A):3==I?function(A){A.sqrt_q=Ae(A.p,A.m/2),A.sqrt_e34=ie(WC(A.sqrt_q,3),4),A.sqrt_e12=ie(WC(A.sqrt_q,1),2),A.frobenius=function(I,t){return I%2==1?A.conjugate(t):t},A.sqrt=function(A){const I=this,t=I.pow(A,I.sqrt_e34),i=I.mul(I.square(t),A),g=I.mul(I.frobenius(1,i),i);if(I.eq(g,I.negone))return null;const C=I.mul(t,A);let e;if(I.eq(i,I.negone))e=I.mul(C,[I.F.zero,I.F.one]);else{const A=I.pow(I.add(I.one,i),I.sqrt_e12);e=I.mul(A,C)}return I.geq(e,I.zero)?e:I.neg(e)}}(A):function(A){A.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(A)}}function pe(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let t=0;t<A;t++)I[t]=4294967296*Math.random()>>>0;else DA.randomFillSync(I);return I}class le{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=JC(this.p),this.mask=(1n<<BigInt(this.bitLength))-1n,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(1n<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const I=this.negone>>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),ye(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return ue(this,A,I)}exp(A,I){return ue(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)<this.bitLength){const t=A<<I&this.mask;return t>=this.p?t-this.p:t}{const t=this.p-I;return Number(t)<this.bitLength?A>>t:0n}}shr(A,I){if(Number(I)<this.bitLength)return A>>I;{const t=this.p-I;if(Number(t)<this.bitLength){const I=A<<t&this.mask;return I>=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let e=t;for(let A=0;A<I-C-1;A++)e=this.square(e);I=C,t=this.square(e),i=this.mul(i,t),g=this.mul(g,e)}return g>this.p>>1n&&(g=this.neg(g)),g}normalize(A,I){if((A=BigInt(A,I))<0){let I=-A;return I>=this.p&&(I%=this.p),this.p-I}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let I=0n;for(let t=0;t<A;t++)I=(I<<8n)+BigInt(pe(1)[0]);return I%this.p}toString(A,I){let t;if(A>this.half){t="-"+(this.p-A).toString(I)}else t=A.toString(I);return t}isZero(A){return 0n==A}fromRng(A){let I;do{I=0n;for(let t=0;t<this.n64;t++)I+=A.nextU64()<<BigInt(64*t);I&=this.mask}while(I>=this.p);return I=I*this.Ri%this.p,I}}class Fe{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),ye(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let e=t;for(let A=0;A<I-C-1;A++)e=this.square(e);I=C,t=this.square(e),i=this.mul(i,t),g=this.mul(g,e)}return g.greater(this.p.shiftRight(this.one))&&(g=this.neg(g)),g}normalize(A){return(A=r(A)).isNegative()?this.p.minus(A.abs().mod(this.p)):A.mod(this.p)}random(){let A=r(0),I=r(this.p.square());for(;!I.isZero();)A=A.shiftLeft(8).add(r(pe(1)[0])),I=I.shiftRight(8);return A.mod(this.p)}toString(A,I){let t;if(A.lesserOrEquals(this.p.shiftRight(r(1))))t=A.toString(I);else{t="-"+this.p.minus(A).toString(I)}return t}isZero(A){return A.isZero()}fromRng(A){let I;do{I=r(0);for(let t=0;t<this.n64;t++)I=I.add(I,A.nextU64().shiftLeft(64*t));I=I.and(this.mask)}while(I.geq(this.p));return I=I.times(this.Ri).mod(this.q),I}}const Me="function"==typeof BigInt;let me;me=Me?le:Fe;class de extends me{toRprLE(A,I,t){mC(A,I,t,8*this.n64)}toRprBE(A,I,t){dC(A,I,t,8*this.n64)}toRprBEM(A,I,t){return this.toRprBE(A,I,this.mul(this.R,t))}toRprLEM(A,I,t){return this.toRprLE(A,I,this.mul(this.R,t))}fromRprLE(A,I){return UC(A,I,this.n8)}fromRprBE(A,I){return GC(A,I,this.n8)}fromRprLEM(A,I){return this.mul(this.fromRprLE(A,I),this.Ri)}fromRprBEM(A,I){return this.mul(this.fromRprBE(A,I),this.Ri)}}var Ue=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<<BigInt(8*i),i+=4):t>=2?(t-=2,I+=BigInt(g.getUint16(t))<<BigInt(8*i),i+=2):(t-=1,I+=BigInt(g.getUint8(t))<<BigInt(8*i),i+=1);return I},beInt2Buff:function(A,I){let t=A;const i=new Uint8Array(I),g=new DataView(i.buffer);let C=I;for(;C>0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t<A.length;)t+4<=A.length?(I+=BigInt(i.getUint32(t,!0))<<BigInt(8*t),t+=4):t+4<=A.length?(I+=BigInt(i.getUint16(t,!0))<<BigInt(8*t),t+=2):(I+=BigInt(i.getUint8(t,!0))<<BigInt(8*t),t+=1);return I},leInt2Buff:function(A,I){let t=A;void 0===I&&0==(I=Math.floor((JC(A)-1)/8)+1)&&(I=1);const i=new Uint8Array(I),g=new DataView(i.buffer);let C=0;for(;C<I;)C+4<=I?(g.setUint32(C,Number(0xFFFFFFFFn&t),!0),C+=4,t>>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var Ge=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[A.length-t-1]);I=I.add(i.shiftLeft(8*t))}return I},beInt2Buff:function(A,I){let t=A,i=I-1;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i>=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[t]);I=I.add(i.shiftLeft(8*t))}return I},leInt2Buff:function(A,I){let t=A,i=0;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i<g.length;){let A=Number(t.and(r(255)));g[i]=A,i++,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g}});let He={};"function"==typeof BigInt?Object.assign(He,Ue):Object.assign(He,Ge);const Le=[];for(let A=0;A<256;A++)Le[A]=ke(A,8);function ke(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}He.bitReverse=function(A,I){return(Le[A>>>24]|Le[A>>>16&255]<<8|Le[A>>>8&255]<<16|Le[255&A]<<24)>>>32-I},He.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},He.buffReverseBits=function(A,I){const t=A.byteLength/I,i=He.log2(t);if(t!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<t;g++){const t=He.bitReverse(g,i);if(g>t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};const Ne=we;class be{constructor(A,I,t,i){for(this.fileName=i,this.fd=A,this.pos=0,this.pageBits=8,this.pageSize=1<<this.pageBits;this.pageSize<4*I.blksize;)this.pageBits++,this.pageSize*=2;this.totalSize=I.size,this.totalPages=Math.floor((I.size-1)/this.pageSize)+1,this.maxPagesLoaded=Math.floor(t/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1}_loadPage(A){const I=this;return new Promise((t,i)=>{I.pendingLoads.push({page:A,resolve:t,reject:i}),setImmediate(I._triggerLoad.bind(I))})}_triggerLoad(){const A=this;if(function(){const I=[];for(let t=0;t<A.pendingLoads.length;t++){const i=A.pendingLoads[t];void 0!==A.pages[i.page]?(A.pages[i.page].pendingOps++,i.resolve()):I.push(i)}A.pendingLoads=I}(),0==A.pendingLoads.length)return;if(Object.keys(A.pages).length>=A.maxPagesLoaded){const I=function(){for(let I in A.pages){const t=A.pages[I];if(0==t.dirty&&0==t.pendingOps)return I}return-1}();if(I<0)return;delete A.pages[I]}const I=A.pendingLoads.shift();if(I.page>=A.totalPages)return A.pages[I.page]={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0},I.resolve(),void setImmediate(A._triggerLoad.bind(A));if(A.reading)return void A.pendingLoads.unshift(I);A.reading=!0;const t={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0};A.fd.read(t.buff,0,A.pageSize,I.page*A.pageSize).then(i=>{t.size=i.bytesRead,A.pages[I.page]=t,A.reading=!1,I.resolve(),setImmediate(A._triggerLoad.bind(A))},A=>{I.reject(A)})}_triggerWrite(){const A=this;if(A.writing)return;const I=A._getDirtyPage();I<0?A.pendingClose&&A.pendingClose():(A.writing=!0,A.pages[I].dirty=!1,A.fd.write(A.pages[I].buff,0,A.pages[I].size,I*A.pageSize).then(()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),setImmediate(A._triggerLoad.bind(A))},I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,I){if(0==A.byteLength)return;const t=this;if(A.byteLength>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A.byteLength);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A.byteLength,t.totalSize<I+A.byteLength&&(t.totalSize=I+A.byteLength),t.pendingClose)throw new Error("Writing a closing file");const i=Math.floor(I/t.pageSize),g=Math.floor((I+A.byteLength-1)/t.pageSize);for(let A=i;A<=g;A++)await t._loadPage(A);let C=i,e=I%t.pageSize,Q=A.byteLength;for(;Q>0;){const I=e+Q>t.pageSize?t.pageSize-e:Q,i=new Uint8Array(A.buffer,A.byteLength-Q,I);new Uint8Array(t.pages[C].buff.buffer,e,I).set(i),t.pages[C].dirty=!0,t.pages[C].pendingOps--,t.pages[C].size=Math.max(e+I,t.pages[C].size),C>=t.totalPages&&(t.totalPages=C+1),Q-=I,C++,e=0}setImmediate(t._triggerWrite.bind(t))}async read(A,I){if(0==A)return new Uint8Array(0);const t=this;if(A>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A,t.pendingClose)throw new Error("Reading a closing file");const i=Math.floor(I/t.pageSize),g=Math.floor((I+A-1)/t.pageSize);for(let A=i;A<=g;A++)await t._loadPage(A);let C=new Uint8Array(A),e=new Uint8Array(C),Q=i,n=I%t.pageSize,B=I+A>t.totalSize?A-(I+A-t.totalSize):A;for(;B>0;){const A=n+B>t.pageSize?t.pageSize-n:B,I=new Uint8Array(t.pages[Q].buff.buffer,n,A);C.set(I,e.byteLength-B),t.pages[Q].pendingOps--,B-=A,Q++,n=0}return setImmediate(t._triggerLoad.bind(t)),C}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise((I,t)=>{A.pendingClose=I,A.pendingCloseReject=t,A._tryClose()}).then(()=>{A.fd.close()},I=>{throw A.fd.close(),I})}async discard(){await this.close(),await DA.promises.unlink(this.fileName)}async writeULE32(A,I){const t=Uint32Array.of(A);await this.write(new Uint8Array(t.buffer),I)}async writeUBE32(A,I){const t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,A,!1),await this.write(t,I)}async writeULE64(A,I){const t=Uint32Array.of(4294967295&A,Math.floor(A/4294967296));await this.write(new Uint8Array(t.buffer),I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}class Se{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const I=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),t=new Uint8Array(I);t.set(this.o.data),this.o.data=t,this.allocSize=I}}async write(A,I){if(void 0===I&&(I=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength),this.o.data.set(A,I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async read(A,I){if(void 0===I&&(I=this.pos),this.readOnly&&I+A>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(I+A);const t=this.o.data.slice(I,I+A);return this.pos=I+A,t}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){const t=Uint32Array.of(A);await this.write(new Uint8Array(t.buffer),I)}async writeUBE32(A,I){const t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,A,!1),await this.write(t,I)}async writeULE64(A,I){const t=Uint32Array.of(4294967295&A,Math.floor(A/4294967296));await this.write(new Uint8Array(t.buffer),I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}async function Re(A,I){if(A instanceof Uint8Array&&(A={type:"mem",data:A}),"string"==typeof A){A={type:"mem",data:await fetch(A).then((function(A){return A.arrayBuffer()})).then((function(A){return new Uint8Array(A)}))}}if("file"==A.type)return await async function(A,I,t){if(t=t||262144,["w+","wx+","r","ax+","a+"].indexOf(I)<0)throw new Error("Invalid open option");const i=await DA.promises.open(A,I),g=await i.stat();return new be(i,g,t,A)}(A.fileName,"r",A.cacheSize);if("mem"==A.type)return await function(A){const I=new Se;return I.o=A,I.allocSize=A.data.byteLength,I.totalSize=A.data.byteLength,I.readOnly=!0,I.pos=0,I}(A);throw new Error("Invalid FastFile type: "+A.type)}async function Je(A,I,t){if(void 0!==A.readingSection)throw new Error("Already reading a section");if(!I[t])throw new Error(A.fileName+": Missing section "+t);if(I[t].length>1)throw new Error(A.fileName+": Section Duplicated "+t);A.pos=I[t][0].p,A.readingSection=I[t][0]}async function ve(A,I){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!I&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size");delete A.readingSection}async function qe(A,I,t){const i=await A.read(I,t);return Ne.fromRprLE(i,0,I)}async function Ye(A,I){const t={};return await Je(A,I,1),t.n8=await A.readULE32(),t.prime=await qe(A,t.n8),t.Fr=new de(t.prime),t.nVars=await A.readULE32(),t.nOutputs=await A.readULE32(),t.nPubInputs=await A.readULE32(),t.nPrvInputs=await A.readULE32(),t.nLabels=await A.readULE64(),t.nConstraints=await A.readULE32(),await ve(A),t}async function Pe(A,I,t){const{fd:i,sections:g}=await async function(A,I,t){const i=await Re(A),g=await i.read(4);let C="";for(let A=0;A<4;A++)C+=String.fromCharCode(g[A]);if(C!=I)throw new Error(A+": Invalid File format");if(await i.readULE32()>t)throw new Error("Version not supported");const e=await i.readULE32();let Q=[];for(let A=0;A<e;A++){let A=await i.readULE32(),I=await i.readULE64();void 0===Q[A]&&(Q[A]=[]),Q[A].push({p:i.pos,size:I}),i.pos+=I}return{fd:i,sections:Q}}(A,"r1cs",1),C=await Ye(i,g);if(I){await Je(i,g,2),C.constraints=[];for(let A=0;A<C.nConstraints;A++){const A=await e();C.constraints.push(A)}await ve(i)}if(t){await Je(i,g,3),C.map=[];for(let A=0;A<C.nVars;A++){const A=await i.readULE64();C.map.push(A)}await ve(i)}return await i.close(),C;async function e(){const A=[];return A[0]=await Q(),A[1]=await Q(),A[2]=await Q(),A}async function Q(){const A={},I=await i.readULE32();for(let t=0;t<I;t++){const I=await i.readULE32(),t=C.Fr.e(await qe(i,C.n8));A[I]=t}return A}}const xe=BI.e("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),Oe=BI.e("21888242871839275222246405745257275088548364400416034343698204186575808495617");var Xe=Object.freeze({__proto__:null,print:function(A,I,t){for(let I=0;I<A.constraints.length;I++)i(A.constraints[I]);function i(i){const g=t=>{let i="";return Object.keys(t).forEach(g=>{let C=I.varIdx2Name[g];"one"==C&&(C="");let e=A.Fr.toString(t[g]);"1"==e&&(e=""),"-1"==e&&(e="-"),""!=i&&"-"!=e[0]&&(e="+"+e),""!=i&&(e=" "+e),i=i+e+C}),i},C=`[ ${g(i[0])} ] * [ ${g(i[1])} ] - [ ${g(i[2])} ] = 0`;t&&t.info(C)}},info:async function(A,I){const t=await Pe(A);return BI.eq(t.prime,Oe)?I&&I.info("Curve: bn-128"):BI.eq(t.prime,xe)?I&&I.info("Curve: bls12-381"):I&&I.info("Unknown Curve. Prime: "+BI.toString(t.prime)),I&&I.info("# of Wires: "+t.nVars),I&&I.info("# of Constraints: "+t.nConstraints),I&&I.info("# of Private Inputs: "+t.nPrvInputs),I&&I.info("# of Public Inputs: "+t.nPubInputs),I&&I.info("# of Outputs: "+t.nOutputs),t},exportJson:async function(A,I){return await Pe(A,!0,!0)}});async function Ze(A){const I={labelIdx2Name:["one"],varIdx2Name:["one"],componentIdx2Name:[]},t=await UI(A),i=await t.read(t.totalSize),g=new TextDecoder("utf-8").decode(i).split("\n");for(let A=0;A<g.length;A++){const t=g[A].split(",");4==t.length&&(I.varIdx2Name[t[1]]?I.varIdx2Name[t[1]]+="|"+t[3]:I.varIdx2Name[t[1]]=t[3],I.labelIdx2Name[t[0]]=t[3],I.componentIdx2Name[t[2]]||(I.componentIdx2Name[t[2]]=C(t[3])))}return await t.close(),I;function C(A){const I=A.split(".");return I.pop(),I.join(".")}}const{WitnessCalculatorBuilder:je}=qg;var Ke=Object.freeze({__proto__:null,calculate:Pg,debug:async function(A,I,t,i,g,C){const e=await UI(I),Q=await e.read(e.totalSize);await e.close();let n={sanityCheck:!0},B=await Ze(i);g.set&&(B||(B=await Ze(i)),n.logSetSignal=function(A,I){C&&C.info("SET "+B.labelIdx2Name[A]+" <-- "+I.toString())}),g.get&&(B||(B=await Ze(i)),n.logGetSignal=function(A,I){C&&C.info("GET "+B.labelIdx2Name[A]+" --\x3e "+I.toString())}),g.trigger&&(B||(B=await Ze(i)),n.logStartComponent=function(A){C&&C.info("START: "+B.componentIdx2Name[A])},n.logFinishComponent=function(A){C&&C.info("FINISH: "+B.componentIdx2Name[A])});const r=await je(Q,n),E=await r.calculateWitness(A),h=await HI(t,"wtns",2,2);await async function(A,I,t){await LI(A,1);const i=8*(Math.floor((BI.bitLength(t)-1)/64)+1);await A.writeULE32(i),await SI(A,t,i),await A.writeULE32(I.length),await kI(A),await LI(A,2);for(let t=0;t<I.length;t++)await SI(A,I[t],i);await kI(A)}(h,E,r.prime),await h.close()},exportJson:async function(A){return await async function(A){const{fd:I,sections:t}=await GI(A,"wtns",2),{n8:i,nWitness:g}=await ct(I,t);await NI(I,t,2);const C=[];for(let A=0;A<g;A++){const A=await RI(I,i);C.push(A)}return await bI(I),await I.close(),C}(A)}});const Ve={get:function(A,I){return isNaN(I)?A[I]:A.getElement(I)},set:function(A,I,t){return isNaN(I)?(A[I]=t,!0):A.setElement(I,t)}};class ze{constructor(A){this.length=A||0,this.arr=new Array(262144);for(let I=0;I<A;I+=262144)this.arr[I/262144]=new Array(Math.min(262144,A-I));return this}push(){for(let A=0;A<arguments.length;A++)this.setElement(this.length,arguments[A])}slice(A,I){const t=new Array(I-A);for(let i=A;i<I;i++)t[i-A]=this.getElement(i);return t}getElement(A){A=parseInt(A);const I=Math.floor(A/262144),t=A%262144;return this.arr[I]?this.arr[I][t]:void 0}setElement(A,I){A=parseInt(A);const t=Math.floor(A/262144);this.arr[t]||(this.arr[t]=new Array(262144));const i=A%262144;return this.arr[t][i]=I,A>=this.length&&(this.length=A+1),!0}getKeys(){const A=new We;for(let I=0;I<this.arr.length;I++)if(this.arr[I])for(let t=0;t<this.arr[I].length;t++)void 0!==this.arr[I][t]&&A.push(262144*I+t);return A}}class We{constructor(A){const I=new ze(A);return new Proxy(I,Ve)}}async function Te(A,I,t,i){await VI.ready();const g=VI(64),{fd:C,sections:e}=await GI(A,"r1cs",1),Q=await Ye(C,e),{fd:n,sections:B}=await GI(I,"ptau",1),{curve:r,power:E}=await zg(n,B),h=await HI(t,"zkey",1,10),s=2*r.G1.F.n8,o=2*r.G2.F.n8;if(Q.prime!=r.r)return i&&i.error("r1cs curve does not match powers of tau ceremony curve"),-1;const a=_I(Q.nConstraints+Q.nPubInputs+Q.nOutputs+1-1)+1;if(a>E+1)return i&&i.error(`circuit too big for this power of tau ceremony. ${Q.nConstraints}*2 > 2**${E}`),-1;if(!B[12])return i&&i.error("Powers of tau is not prepared."),-1;const f=Q.nOutputs+Q.nPubInputs,w=1<<a;await LI(h,1),await h.writeULE32(1),await kI(h),await LI(h,2);const D=r.q,c=8*(Math.floor((BI.bitLength(D)-1)/64)+1),u=r.r,y=8*(Math.floor((BI.bitLength(u)-1)/64)+1),p=BI.mod(BI.shl(1,8*y),u),l=r.Fr.e(BI.mod(BI.mul(p,p),u));let F,M,m;await h.writeULE32(c),await SI(h,D,c),await h.writeULE32(y),await SI(h,u,y),await h.writeULE32(Q.nVars),await h.writeULE32(f),await h.writeULE32(w),F=await n.read(s,B[4][0].p),await h.write(F),F=await r.G1.batchLEMtoU(F),g.update(F),M=await n.read(s,B[5][0].p),await h.write(M),M=await r.G1.batchLEMtoU(M),g.update(M),m=await n.read(o,B[6][0].p),await h.write(m),m=await r.G2.batchLEMtoU(m),g.update(m);const d=new Uint8Array(s);r.G1.toRprLEM(d,0,r.G1.g);const U=new Uint8Array(o);r.G2.toRprLEM(U,0,r.G2.g);const G=new Uint8Array(s);r.G1.toRprUncompressed(G,0,r.G1.g);const H=new Uint8Array(o);r.G2.toRprUncompressed(H,0,r.G2.g),await h.write(U),await h.write(d),await h.write(U),g.update(H),g.update(G),g.update(H),await kI(h);const L=new We(Q.nVars),k=new We(Q.nVars),N=new We(Q.nVars),b=new We(Q.nVars-f-1),S=new Array(f+1),R=new Uint8Array(12+r.Fr.n8),J=new DataView(R.buffer),v=B[12][0].p+((1<<a)-1)*s,q=B[13][0].p+((1<<a)-1)*o,Y=B[14][0].p+((1<<a)-1)*s,P=B[15][0].p+((1<<a)-1)*s;await LI(h,4),await NI(C,e,2);const x=h.pos;let O=0;h.pos+=4;for(let A=0;A<Q.nConstraints;A++){i&&A%1e4==0&&i.debug(`processing constraints: ${A}/${Q.nConstraints}`);const I=await C.readULE32();for(let t=0;t<I;t++){const I=await C.readULE32(),t=await C.read(Q.n8),i=v+s*A,g=P+s*A;void 0===L[I]&&(L[I]=[]),L[I].push([i,t]),I<=f?(void 0===S[I]&&(S[I]=[]),S[I].push([g,t])):(void 0===b[I-f-1]&&(b[I-f-1]=[]),b[I-f-1].push([g,t])),await V(0,A,I,t),O++}const t=await C.readULE32();for(let I=0;I<t;I++){const I=await C.readULE32(),t=await C.read(Q.n8),i=v+s*A,g=q+o*A,e=Y+s*A;void 0===k[I]&&(k[I]=[]),k[I].push([i,t]),void 0===N[I]&&(N[I]=[]),N[I].push([g,t]),I<=f?(void 0===S[I]&&(S[I]=[]),S[I].push([e,t])):(void 0===b[I-f-1]&&(b[I-f-1]=[]),b[I-f-1].push([e,t])),await V(1,A,I,t),O++}const g=await C.readULE32();for(let I=0;I<g;I++){const I=await C.readULE32(),t=await C.read(Q.n8),i=v+s*A;I<=f?(void 0===S[I]&&(S[I]=[]),S[I].push([i,t])):(void 0===b[I-f-1]&&(b[I-f-1]=[]),b[I-f-1].push([i,t]))}}const X=new Uint8Array(r.Fr.n8);r.Fr.toRprLE(X,0,r.Fr.e(1));for(let A=0;A<=f;A++){const I=v+s*(Q.nConstraints+A),t=P+s*(Q.nConstraints+A);void 0===L[A]&&(L[A]=[]),L[A].push([I,X]),void 0===S[A]&&(S[A]=[]),S[A].push([t,X]),await V(0,Q.nConstraints+A,A,X),O++}const Z=h.pos;await h.writeULE32(O,x),h.pos=Z,await kI(h),await bI(C),await z(3,"G1",S,"IC"),await LI(h,9);const j=B[12][0].p+((1<<a+1)-1)*s;for(let A=0;A<w;A++){const I=await n.read(s,j+(2*A+1)*s);await h.write(I)}await kI(h),await async function(){AA(w-1);for(let A=0;A<w-1;A+=16384){i&&i.debug(`HashingHPoints: ${A}/${w}`);const I=Math.min(w-1,16384);await _(A,I)}}(),await z(8,"G1",b,"C"),await z(5,"G1",L,"A"),await z(6,"G1",k,"B1"),await z(7,"G2",N,"B2");const K=g.digest();return await LI(h,10),await h.write(K),await h.writeULE32(0),await kI(h),i&&i.info($I(K,"Circuit hash: ")),await h.close(),await n.close(),await C.close(),K;async function V(A,I,t,i){const g=r.Fr.fromRprLE(i,0),C=r.Fr.mul(g,l);J.setUint32(0,A,!0),J.setUint32(4,I,!0),J.setUint32(8,t,!0),r.Fr.toRprLE(R,12,C),await h.write(R)}async function z(A,I,t,g){AA(t.length),await LI(h,A);for(let A=0;A<t.length;A+=65536){i&&i.debug(`Writing points ${g}: ${A}/${t.length}`);const C=Math.min(t.length-A,65536),e=t.slice(A,A+C);await W(I,e)}await kI(h)}async function W(A,I){const t=r.tm.concurrency,i=Math.floor(I.length/t),C=[],e=r[A];for(let g=0;g<t;g++){let e;if(e=g<t-1?i:I.length-g*i,0==e)continue;const Q=I.slice(g*i,g*i+e);C.push(T(A,Q))}const Q=await Promise.all(C);for(let A=0;A<Q.length;A++){await h.write(Q[A][0]);const I=await e.batchLEMtoU(Q[A][0]);g.update(I)}}async function T(A,I){const t=r[A],i=2*t.F.n8,g=3*t.F.n8,C=2*t.F.n8;let e,Q,B,E;if("G1"==A)e="g1m_timesScalarAffine",Q="g1m_multiexpAffine",B="g1m_batchToAffine",E="g1m_zero";else{if("G2"!=A)throw new Error("Invalid group");e="g2m_timesScalarAffine",Q="g2m_multiexpAffine",B="g2m_batchToAffine",E="g2m_zero"}let h=0;for(let A=0;A<I.length;A++)h+=I[A]?I[A].length:0;const s=new Uint8Array(h*i),o=new Uint8Array(h*r.Fr.n8);let a=0,f=0;for(let A=0;A<I.length;A++)if(I[A])for(let t=0;t<I[A].length;t++){const g=await n.read(i,I[A][t][0]);s.set(g,a),a+=i,o.set(I[A][t][1],f),f+=r.Fr.n8}const w=[];w.push({cmd:"ALLOCSET",var:0,buff:s}),w.push({cmd:"ALLOCSET",var:1,buff:o}),w.push({cmd:"ALLOC",var:2,len:I.length*g}),a=0,f=0;let D=0;for(let A=0;A<I.length;A++)I[A]?(1==I[A].length?w.push({cmd:"CALL",fnName:e,params:[{var:0,offset:a},{var:1,offset:f},{val:r.Fr.n8},{var:2,offset:D}]}):w.push({cmd:"CALL",fnName:Q,params:[{var:0,offset:a},{var:1,offset:f},{val:r.Fr.n8},{val:I[A].length},{var:2,offset:D}]}),a+=i*I[A].length,f+=r.Fr.n8*I[A].length,D+=g):(w.push({cmd:"CALL",fnName:E,params:[{var:2,offset:D}]}),D+=g);w.push({cmd:"CALL",fnName:B,params:[{var:2},{val:I.length},{var:2}]}),w.push({cmd:"GET",out:0,var:2,len:I.length*C});return await r.tm.queueAction(w)}async function _(A,I){const t=await n.read(I*s,B[2][0].p+(A+w)*s),i=await n.read(I*s,B[2][0].p+A*s),C=r.tm.concurrency,e=Math.floor(I/C),Q=[];for(let A=0;A<C;A++){let g;if(g=A<C-1?e:I-A*e,0==g)continue;const n=t.slice(A*e*s,(A*e+g)*s),B=i.slice(A*e*s,(A*e+g)*s);Q.push($(n,B))}const E=await Promise.all(Q);for(let A=0;A<E.length;A++)g.update(E[A][0])}async function $(A,I){const t=A.byteLength/s,i=3*r.G1.F.n8,g=[];g.push({cmd:"ALLOCSET",var:0,buff:A}),g.push({cmd:"ALLOCSET",var:1,buff:I}),g.push({cmd:"ALLOC",var:2,len:t*i});for(let A=0;A<t;A++)g.push({cmd:"CALL",fnName:"g1m_subAffine",params:[{var:0,offset:A*s},{var:1,offset:A*s},{var:2,offset:A*i}]});g.push({cmd:"CALL",fnName:"g1m_batchToAffine",params:[{var:2},{val:t},{var:2}]}),g.push({cmd:"CALL",fnName:"g1m_batchLEMtoU",params:[{var:2},{val:t},{var:2}]}),g.push({cmd:"GET",out:0,var:2,len:t*s});return await r.tm.queueAction(g)}function AA(A){const I=new Uint8Array(4);new DataView(I.buffer,I.byteOffset,I.byteLength).setUint32(0,A,!1),g.update(I)}}const _e=tt;const{stringifyBigInts:$e}=rI;async function AQ(A,I){const{fd:t,sections:i}=await GI(A,"zkey",2),g=await ht(t,i,"groth16"),C=await xI(g.q),e=2*C.G1.F.n8,Q=await C.pairing(g.vk_alpha_1,g.vk_beta_2);let n={protocol:g.protocol,curve:C.name,nPublic:g.nPublic,vk_alpha_1:C.G1.toObject(g.vk_alpha_1),vk_beta_2:C.G2.toObject(g.vk_beta_2),vk_gamma_2:C.G2.toObject(g.vk_gamma_2),vk_delta_2:C.G2.toObject(g.vk_delta_2),vk_alphabeta_12:C.Gt.toObject(Q)};await NI(t,i,3),n.IC=[];for(let A=0;A<=g.nPublic;A++){const A=await t.read(e),I=C.G1.toObject(A);n.IC.push(I)}return await bI(t),n=$e(n),await t.close(),n}var IQ=Object.freeze({__proto__:null,newZKey:Te,exportBellman:async function(A,I,t){const{fd:i,sections:g}=await GI(A,"zkey",2),C=await ht(i,g,"groth16"),e=await xI(C.q),Q=2*e.G1.F.n8,n=2*e.G2.F.n8,B=await ot(i,e,g),r=await dI(I);let E;await D(C.vk_alpha_1),await D(C.vk_beta_1),await c(C.vk_beta_2),await c(C.vk_gamma_2),await D(C.vk_delta_1),await c(C.vk_delta_2),E=await vI(i,g,3),E=await e.G1.batchLEMtoU(E),await u("G1",E);const h=await vI(i,g,9);let s,o,a,f,w;s=await e.G1.fft(h,"affine","jacobian",t),s=await e.G1.batchApplyKey(s,e.Fr.neg(e.Fr.e(2)),e.Fr.w[C.power+1],"jacobian","affine",t),s=s.slice(0,s.byteLength-Q),s=await e.G1.batchLEMtoU(s),await u("G1",s),o=await vI(i,g,8),o=await e.G1.batchLEMtoU(o),await u("G1",o),a=await vI(i,g,5),a=await e.G1.batchLEMtoU(a),await u("G1",a),f=await vI(i,g,6),f=await e.G1.batchLEMtoU(f),await u("G1",f),w=await vI(i,g,7),w=await e.G2.batchLEMtoU(w),await u("G2",w),await r.write(B.csHash),await async function(A){const I=new Uint8Array(4);new DataView(I.buffer,I.byteOffset,I.byteLength).setUint32(0,A,!1),await r.write(I)}(B.contributions.length);for(let A=0;A<B.contributions.length;A++){const I=B.contributions[A];await D(I.deltaAfter),await D(I.delta.g1_s),await D(I.delta.g1_sx),await c(I.delta.g2_spx),await r.write(I.transcript)}async function D(A){const I=new Uint8Array(Q);e.G1.toRprUncompressed(I,0,A),await r.write(I)}async function c(A){const I=new Uint8Array(n);e.G2.toRprUncompressed(I,0,A),await r.write(I)}async function u(A,I){let t;t="G1"==A?Q:n;const i=new Uint8Array(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,I.byteLength/t,!1),await r.write(i),await r.write(I)}await i.close(),await r.close()},importBellman:async function(A,I,t,i,g){const{fd:C,sections:e}=await GI(A,"zkey",2),Q=await ht(C,e,"groth16"),n=await xI(Q.q),B=2*n.G1.F.n8,r=2*n.G2.F.n8,E=await ot(C,n,e),h={},s=await UI(I);s.pos=3*B+3*r+8+B*Q.nVars+4+B*(Q.domainSize-1)+4+B*Q.nVars+4+B*Q.nVars+4+r*Q.nVars,h.csHash=await s.read(64);const o=await s.readUBE32();h.contributions=[];for(let A=0;A<o;A++){const I={delta:{}};I.deltaAfter=await p(s),I.delta.g1_s=await p(s),I.delta.g1_sx=await p(s),I.delta.g2_spx=await l(s),I.transcript=await s.read(64),A<E.contributions.length&&(I.type=E.contributions[A].type,1==I.type&&(I.beaconHash=E.contributions[A].beaconHash,I.numIterationsExp=E.contributions[A].numIterationsExp),E.contributions[A].name&&(I.name=E.contributions[A].name)),h.contributions.push(I)}if(!At(h.csHash,E.csHash))return g&&g.error("Hash of the original circuit does not match with the MPC one"),!1;if(E.contributions.length>h.contributions.length)return g&&g.error("The impoerted file does not include new contributions"),!1;for(let A=0;A<E.contributions.length;A++)if(!F(E.contributions[A],h.contributions[A]))return g&&g.error(`Previos contribution ${A} does not match`),!1;if(i)for(let A=E.contributions.length;A<h.contributions.length;A++)h.contributions[A].name=i;const a=await HI(t,"zkey",1,10);if(s.pos=0,s.pos+=B,s.pos+=B,s.pos+=r,s.pos+=r,Q.vk_delta_1=await p(s),Q.vk_delta_2=await l(s),await Qt(a,Q),await s.readUBE32()!=Q.nPublic+1)return g&&g.error("Invalid number of points in IC"),await a.discard(),!1;if(s.pos+=B*(Q.nPublic+1),await JI(C,e,a,3),await JI(C,e,a,4),await s.readUBE32()!=Q.domainSize-1)return g&&g.error("Invalid number of points in H"),await a.discard(),!1;let f;const w=await s.read(B*(Q.domainSize-1)),D=await n.G1.batchUtoLEM(w);f=new Uint8Array(Q.domainSize*B),f.set(D),n.G1.toRprLEM(f,B*(Q.domainSize-1),n.G1.zeroAffine);const c=n.Fr.neg(n.Fr.inv(n.Fr.e(2))),u=n.Fr.inv(n.Fr.w[Q.power+1]);if(f=await n.G1.batchApplyKey(f,c,u,"affine","jacobian",g),f=await n.G1.ifft(f,"jacobian","affine",g),await LI(a,9),await a.write(f),await kI(a),await s.readUBE32()!=Q.nVars-Q.nPublic-1)return g&&g.error("Invalid number of points in L"),await a.discard(),!1;let y;return y=await s.read(B*(Q.nVars-Q.nPublic-1)),y=await n.G1.batchUtoLEM(y),await LI(a,8),await a.write(y),await kI(a),await s.readUBE32()!=Q.nVars?(g&&g.error("Invalid number of points in A"),await a.discard(),!1):(s.pos+=B*Q.nVars,await JI(C,e,a,5),await s.readUBE32()!=Q.nVars?(g&&g.error("Invalid number of points in B1"),await a.discard(),!1):(s.pos+=B*Q.nVars,await JI(C,e,a,6),await s.readUBE32()!=Q.nVars?(g&&g.error("Invalid number of points in B2"),await a.discard(),!1):(s.pos+=r*Q.nVars,await JI(C,e,a,7),await ft(a,n,h),await s.close(),await a.close(),await C.close(),!0)));async function p(A){const I=await A.read(2*n.G1.F.n8);return n.G1.fromRprUncompressed(I,0)}async function l(A){const I=await A.read(2*n.G2.F.n8);return n.G2.fromRprUncompressed(I,0)}function F(A,I){return!!n.G1.eq(A.deltaAfter,I.deltaAfter)&&(!!n.G1.eq(A.delta.g1_s,I.delta.g1_s)&&(!!n.G1.eq(A.delta.g1_sx,I.delta.g1_sx)&&(!!n.G2.eq(A.delta.g2_spx,I.delta.g2_spx)&&!!At(A.transcript,I.transcript))))}},verify:async function(A,I,t,i){let g;await VI.ready();const{fd:C,sections:e}=await GI(t,"zkey",2),Q=await ht(C,e,"groth16"),n=await xI(Q.q),B=2*n.G1.F.n8,r=(n.G2.F.n8,await ot(C,n,e)),E=VI(64);E.update(r.csHash);let h=n.G1.g;for(let A=0;A<r.contributions.length;A++){const I=r.contributions[A],t=It(E);if(wt(t,n,I.delta.g1_s),wt(t,n,I.delta.g1_sx),!At(t.digest(),I.transcript))return console.log(`INVALID(${A}): Inconsistent transcript `),!1;const i=Xg(n,I.transcript);if(g=await _e(n,I.delta.g1_s,I.delta.g1_sx,i,I.delta.g2_spx),!0!==g)return console.log(`INVALID(${A}): public key G1 and G2 do not have the same ration `),!1;if(g=await _e(n,h,I.deltaAfter,i,I.delta.g2_spx),!0!==g)return console.log(`INVALID(${A}): deltaAfter does not fillow the public key `),!1;if(1==I.type){const t=gt(I.beaconHash,I.numIterationsExp),i=n.Fr.fromRng(t),g=n.G1.toAffine(n.G1.fromRng(t)),C=n.G1.toAffine(n.G1.timesFr(g,i));if(!0!==n.G1.eq(g,I.delta.g1_s))return console.log(`INVALID(${A}): Key of the beacon does not match. g1_s `),!1;if(!0!==n.G1.eq(C,I.delta.g1_sx))return console.log(`INVALID(${A}): Key of the beacon does not match. g1_sx `),!1}Dt(E,n,I);const C=VI(64);Dt(C,n,I),I.contributionHash=C.digest(),h=I.deltaAfter}const s={type:"mem"};await Te(A,I,s);const{fd:o,sections:a}=await GI(s,"zkey",2),f=await ht(o,a,"groth16");if(!BI.eq(f.q,Q.q)||!BI.eq(f.r,Q.r)||f.n8q!=Q.n8q||f.n8r!=Q.n8r)return i&&i.error("INVALID: Different curves"),!1;if(f.nVars!=Q.nVars||f.nPublic!=Q.nPublic||f.domainSize!=Q.domainSize)return i&&i.error("INVALID: Different circuit parameters"),!1;if(!n.G1.eq(Q.vk_alpha_1,f.vk_alpha_1))return i&&i.error("INVALID: Invalid alpha1"),!1;if(!n.G1.eq(Q.vk_beta_1,f.vk_beta_1))return i&&i.error("INVALID: Invalid beta1"),!1;if(!n.G2.eq(Q.vk_beta_2,f.vk_beta_2))return i&&i.error("INVALID: Invalid beta2"),!1;if(!n.G2.eq(Q.vk_gamma_2,f.vk_gamma_2))return i&&i.error("INVALID: Invalid gamma2"),!1;if(!n.G1.eq(Q.vk_delta_1,h))return i&&i.error("INVALID: Invalud delta1"),!1;if(g=await _e(n,n.G1.g,h,n.G2.g,Q.vk_delta_2),!0!==g)return i&&i.error("INVALID: Invalud delta2"),!1;const w=await ot(o,n,a);if(!At(r.csHash,w.csHash))return i&&i.error("INVALID: Circuit does not match"),!1;if(e[8][0].size!=B*(Q.nVars-Q.nPublic-1))return i&&i.error("INVALID: Invalid L section size"),!1;if(e[9][0].size!=B*Q.domainSize)return i&&i.error("INVALID: Invalid H section size"),!1;let D;if(D=await qI(C,e,o,a,3),!D)return i&&i.error("INVALID: IC section is not identical"),!1;if(D=await qI(C,e,o,a,4),!D)return i&&i.error("Coeffs section is not identical"),!1;if(D=await qI(C,e,o,a,5),!D)return i&&i.error("A section is not identical"),!1;if(D=await qI(C,e,o,a,6),!D)return i&&i.error("B1 section is not identical"),!1;if(D=await qI(C,e,o,a,7),!D)return i&&i.error("B2 section is not identical"),!1;if(g=await async function(A,I,t,C,e,Q,B,r,E){const h=n[A],s=2*h.F.n8;await NI(I,t,Q),await NI(C,e,Q);let o=h.zero,a=h.zero;const f=t[Q][0].size/s;for(let A=0;A<f;A+=1<<20){i&&i.debug(`Same ratio check ${E}: ${A}/${f}`);const t=Math.min(f-A,1<<20),g=await I.read(t*s),e=await C.read(t*s),Q=new Uint8Array(4*t);DA.randomFillSync(Q);const n=await h.multiExpAffine(g,Q),B=await h.multiExpAffine(e,Q);o=h.add(o,n),a=h.add(a,B)}return await bI(I),await bI(C),0==f||(g=await _e(n,o,a,B,r),!0===g)}("G1",o,a,C,e,8,Q.vk_delta_2,f.vk_delta_2,"L section"),!0!==g)return i&&i.error("L section does not match"),!1;if(g=await async function(){const A=n.G1,t=2*A.F.n8,{fd:B,sections:r}=await GI(I,"ptau",1);let E=new Uint8Array(Q.domainSize*Q.n8r);const h=new Array(8);for(let A=0;A<8;A++)h[A]=DA.randomBytes(4).readUInt32BE(0,!0);const s=new wA(h);for(let A=0;A<Q.domainSize-1;A++){const I=n.Fr.fromRng(s);n.Fr.toRprLE(E,A*Q.n8r,I)}n.Fr.toRprLE(E,(Q.domainSize-1)*Q.n8r,n.Fr.zero);let o=A.zero;for(let I=0;I<Q.domainSize;I+=1<<20){i&&i.debug(`H Verificaition(tau): ${I}/${Q.domainSize}`);const g=Math.min(Q.domainSize-I,1<<20),C=await B.read(t*g,r[2][0].p+Q.domainSize*t+I*(1<<20)*t),e=await B.read(t*g,r[2][0].p+I*(1<<20)*t),n=await c(C,e),h=E.slice(I*(1<<20)*Q.n8r,(I*(1<<20)+g)*Q.n8r),s=await A.multiExpAffine(n,h);o=A.add(o,s)}E=await n.Fr.batchToMontgomery(E);const a=n.Fr.neg(n.Fr.e(2)),w=n.Fr.w[Q.power+1];E=await n.Fr.batchApplyKey(E,a,w),E=await n.Fr.fft(E),E=await n.Fr.batchFromMontgomery(E),await NI(C,e,9);let D=A.zero;for(let I=0;I<Q.domainSize;I+=1<<20){i&&i.debug(`H Verificaition(lagrange): ${I}/${Q.domainSize}`);const g=Math.min(Q.domainSize-I,1<<20),e=await C.read(t*g),n=E.slice(I*(1<<20)*Q.n8r,(I*(1<<20)+g)*Q.n8r),B=await A.multiExpAffine(e,n);D=A.add(D,B)}return await bI(C),g=await _e(n,o,D,Q.vk_delta_2,f.vk_delta_2),!0===g}(),!0!==g)return i&&i.error("H section does not match"),!1;i&&i.info($I(r.csHash,"Circuit Hash: ")),await C.close(),await o.close();for(let A=r.contributions.length-1;A>=0;A--){const I=r.contributions[A];i&&i.info("-------------------------"),i&&i.info($I(I.contributionHash,`contribution #${A+1} ${I.name?I.name:""}:`)),1==I.type&&(i&&i.info("Beacon generator: "+et(I.beaconHash)),i&&i.info("Beacon iterations Exp: "+I.numIterationsExp))}return i&&i.info("-------------------------"),i&&i.info("ZKey Ok!"),!0;async function c(A,I){const t=2*n.G1.F.n8,i=A.byteLength/t,g=n.tm.concurrency,C=Math.floor(i/g),e=[];for(let t=0;t<g;t++){let Q;if(Q=t<g-1?C:i-t*C,0==Q)continue;const n=A.slice(t*C*B,(t*C+Q)*B),r=I.slice(t*C*B,(t*C+Q)*B);e.push(u(n,r))}const Q=await Promise.all(e),r=new Uint8Array(i*t);let E=0;for(let A=0;A<Q.length;A++)r.set(Q[A][0],E),E+=Q[A][0].byteLength;return r}async function u(A,I){const t=2*n.G1.F.n8,i=3*n.G1.F.n8,g=A.byteLength/t,C=[];C.push({cmd:"ALLOCSET",var:0,buff:A}),C.push({cmd:"ALLOCSET",var:1,buff:I}),C.push({cmd:"ALLOC",var:2,len:g*i});for(let A=0;A<g;A++)C.push({cmd:"CALL",fnName:"g1m_subAffine",params:[{var:0,offset:A*t},{var:1,offset:A*t},{var:2,offset:A*i}]});C.push({cmd:"CALL",fnName:"g1m_batchToAffine",params:[{var:2},{val:g},{var:2}]}),C.push({cmd:"GET",out:0,var:2,len:g*t});return await n.tm.queueAction(C)}},contribute:async function(A,I,t,i,g){await VI.ready();const{fd:C,sections:e}=await GI(A,"zkey",2),Q=await ht(C,e,"groth16"),n=await xI(Q.q),B=await ot(C,n,e),r=await HI(I,"zkey",1,10),E=await it(i),h=VI(64);h.update(B.csHash);for(let A=0;A<B.contributions.length;A++)Dt(h,n,B.contributions[A]);const s={delta:{}};s.delta.prvKey=n.Fr.fromRng(E),s.delta.g1_s=n.G1.toAffine(n.G1.fromRng(E)),s.delta.g1_sx=n.G1.toAffine(n.G1.timesFr(s.delta.g1_s,s.delta.prvKey)),wt(h,n,s.delta.g1_s),wt(h,n,s.delta.g1_sx),s.transcript=h.digest(),s.delta.g2_sp=Xg(n,s.transcript),s.delta.g2_spx=n.G2.toAffine(n.G2.timesFr(s.delta.g2_sp,s.delta.prvKey)),Q.vk_delta_1=n.G1.timesFr(Q.vk_delta_1,s.delta.prvKey),Q.vk_delta_2=n.G2.timesFr(Q.vk_delta_2,s.delta.prvKey),s.deltaAfter=Q.vk_delta_1,s.type=0,t&&(s.name=t),B.contributions.push(s),await Qt(r,Q),await JI(C,e,r,3),await JI(C,e,r,4),await JI(C,e,r,5),await JI(C,e,r,6),await JI(C,e,r,7);const o=n.Fr.inv(s.delta.prvKey);await eC(C,e,r,8,n,"G1",o,n.Fr.e(1),"L Section",g),await eC(C,e,r,9,n,"G1",o,n.Fr.e(1),"H Section",g),await ft(r,n,B),await C.close(),await r.close();const a=VI(64);Dt(a,n,s);const f=a.digest();return g&&g.info($I(f,"Contribution Hash: ")),f},beacon:async function(A,I,t,i,g,C){await VI.ready();const e=Ct(i);if(0==e.byteLength||2*e.byteLength!=i.length)return C&&C.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(e.length>=256)return C&&C.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return C&&C.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;const{fd:Q,sections:n}=await GI(A,"zkey",2),B=await ht(Q,n,"groth16"),r=await xI(B.q),E=await ot(Q,r,n),h=await HI(I,"zkey",1,10),s=await gt(e,g),o=VI(64);o.update(E.csHash);for(let A=0;A<E.contributions.length;A++)Dt(o,r,E.contributions[A]);const a={delta:{}};a.delta.prvKey=r.Fr.fromRng(s),a.delta.g1_s=r.G1.toAffine(r.G1.fromRng(s)),a.delta.g1_sx=r.G1.toAffine(r.G1.timesFr(a.delta.g1_s,a.delta.prvKey)),wt(o,r,a.delta.g1_s),wt(o,r,a.delta.g1_sx),a.transcript=o.digest(),a.delta.g2_sp=Xg(r,a.transcript),a.delta.g2_spx=r.G2.toAffine(r.G2.timesFr(a.delta.g2_sp,a.delta.prvKey)),B.vk_delta_1=r.G1.timesFr(B.vk_delta_1,a.delta.prvKey),B.vk_delta_2=r.G2.timesFr(B.vk_delta_2,a.delta.prvKey),a.deltaAfter=B.vk_delta_1,a.type=1,a.numIterationsExp=g,a.beaconHash=e,t&&(a.name=t),E.contributions.push(a),await Qt(h,B),await JI(Q,n,h,3),await JI(Q,n,h,4),await JI(Q,n,h,5),await JI(Q,n,h,6),await JI(Q,n,h,7);const f=r.Fr.inv(a.delta.prvKey);await eC(Q,n,h,8,r,"G1",f,r.Fr.e(1),"L Section",C),await eC(Q,n,h,9,r,"G1",f,r.Fr.e(1),"H Section",C),await ft(h,r,E),await Q.close(),await h.close();const w=VI(64);Dt(w,r,a);const D=w.digest();return C&&C.info($I(D,"Contribution Hash: ")),D},exportJson:async function(A,I){return await async function(A){const{fd:I,sections:t}=await GI(A,"zkey",1),i=await ht(I,t,"groth16"),g=new mA(i.r),C=BI.mod(BI.shl(1,8*i.n8r),i.r),e=g.inv(C),Q=g.mul(e,e);let n=xI(i.q);await NI(I,t,3),i.IC=[];for(let A=0;A<=i.nPublic;A++){const A=await rt(I,n);i.IC.push(A)}await bI(I),await NI(I,t,4);const B=await I.readULE32();i.ccoefs=[];for(let A=0;A<B;A++){const A=await I.readULE32(),t=await I.readULE32(),g=await I.readULE32(),C=await r();i.ccoefs.push({matrix:A,constraint:t,signal:g,value:C})}await bI(I),await NI(I,t,5),i.A=[];for(let A=0;A<i.nVars;A++){const t=await rt(I,n);i.A[A]=t}await bI(I),await NI(I,t,6),i.B1=[];for(let A=0;A<i.nVars;A++){const t=await rt(I,n);i.B1[A]=t}await bI(I),await NI(I,t,7),i.B2=[];for(let A=0;A<i.nVars;A++){const t=await Et(I,n);i.B2[A]=t}await bI(I),await NI(I,t,8),i.C=[];for(let A=i.nPublic+1;A<i.nVars;A++){const t=await rt(I,n);i.C[A]=t}await bI(I),await NI(I,t,9),i.hExps=[];for(let A=0;A<i.domainSize;A++){const A=await rt(I,n);i.hExps.push(A)}return await bI(I),await I.close(),i;async function r(){const A=await RI(I,i.n8r);return g.mul(A,Q)}}(A)},bellmanContribute:async function(A,I,t,i,g){await VI.ready();const C=await it(i),e=A.Fr.fromRng(C),Q=A.Fr.inv(e),n=2*A.G1.F.n8,B=2*A.G2.F.n8,r=await UI(I),E=await dI(t);await U(n),await U(n),await U(B),await U(B);const h=await G(),s=A.G1.timesFr(h,e);await L(s);const o=await H(),a=A.G2.timesFr(o,e);await k(a);const f=await r.readUBE32();await E.writeUBE32(f),await U(f*n);const w=await r.readUBE32();await E.writeUBE32(w),await QC(r,E,null,A,"G1",w,Q,A.Fr.e(1),"UNCOMPRESSED","H",g);const D=await r.readUBE32();await E.writeUBE32(D),await QC(r,E,null,A,"G1",D,Q,A.Fr.e(1),"UNCOMPRESSED","L",g);const c=await r.readUBE32();await E.writeUBE32(c),await U(c*n);const u=await r.readUBE32();await E.writeUBE32(u),await U(u*n);const y=await r.readUBE32();await E.writeUBE32(y),await U(y*B);const p=VI(64),l={};l.csHash=await r.read(64),p.update(l.csHash);const F=await r.readUBE32();l.contributions=[];for(let I=0;I<F;I++){const I={delta:{}};I.deltaAfter=await G(),I.delta.g1_s=await G(),I.delta.g1_sx=await G(),I.delta.g2_spx=await H(),I.transcript=await r.read(64),l.contributions.push(I),Dt(p,A,I)}const M={delta:{}};M.delta.prvKey=e,M.delta.g1_s=A.G1.toAffine(A.G1.fromRng(C)),M.delta.g1_sx=A.G1.toAffine(A.G1.timesFr(M.delta.g1_s,e)),wt(p,A,M.delta.g1_s),wt(p,A,M.delta.g1_sx),M.transcript=p.digest(),M.delta.g2_sp=Xg(A,M.transcript),M.delta.g2_spx=A.G2.toAffine(A.G2.timesFr(M.delta.g2_sp,e)),M.deltaAfter=s,M.type=0,l.contributions.push(M),await E.write(l.csHash),await E.writeUBE32(l.contributions.length);for(let A=0;A<l.contributions.length;A++){const I=l.contributions[A];await L(I.deltaAfter),await L(I.delta.g1_s),await L(I.delta.g1_sx),await k(I.delta.g2_spx),await E.write(I.transcript)}const m=VI(64);Dt(m,A,M);const d=m.digest();return g&&g.info($I(d,"Contribution Hash: ")),await E.close(),await r.close(),d;async function U(A){const I=2*r.pageSize;for(let t=0;t<A;t+=I){const i=Math.min(A-t,I),g=await r.read(i);await E.write(g)}}async function G(){const I=await r.read(2*A.G1.F.n8);return A.G1.fromRprUncompressed(I,0)}async function H(){const I=await r.read(2*A.G2.F.n8);return A.G2.fromRprUncompressed(I,0)}async function L(I){const t=new Uint8Array(n);A.G1.toRprUncompressed(t,0,I),await E.write(t)}async function k(I){const t=new Uint8Array(B);A.G2.toRprUncompressed(t,0,I),await E.write(t)}},exportVerificationKey:AQ,exportSolidityVerifier:async function(A,I,t){const i=await AQ(A),g=await UI(I),C=await g.read(g.totalSize);let e=new TextDecoder("utf-8").decode(C);const Q=i.vk_alpha_1[0].toString()+","+i.vk_alpha_1[1].toString();e=e.replace("<%vk_alpha1%>",Q);const n=`[${i.vk_beta_2[0][1].toString()},`+i.vk_beta_2[0][0].toString()+"], "+`[${i.vk_beta_2[1][1].toString()},`+i.vk_beta_2[1][0].toString()+"]";e=e.replace("<%vk_beta2%>",n);const B=`[${i.vk_gamma_2[0][1].toString()},`+i.vk_gamma_2[0][0].toString()+"], "+`[${i.vk_gamma_2[1][1].toString()},`+i.vk_gamma_2[1][0].toString()+"]";e=e.replace("<%vk_gamma2%>",B);const r=`[${i.vk_delta_2[0][1].toString()},`+i.vk_delta_2[0][0].toString()+"], "+`[${i.vk_delta_2[1][1].toString()},`+i.vk_delta_2[1][0].toString()+"]";e=e.replace("<%vk_delta2%>",r),e=e.replace("<%vk_input_length%>",(i.IC.length-1).toString()),e=e.replace("<%vk_ic_length%>",i.IC.length.toString());let E="";for(let A=0;A<i.IC.length;A++)""!=E&&(E+=" "),E=E+`vk.IC[${A}] = Pairing.G1Point(${i.IC[A][0].toString()},`+i.IC[A][1].toString()+");\n";return e=e.replace("<%vk_ic_pts%>",E),e}});return A.groth16=Og,A.powersOfTau=nC,A.r1cs=Xe,A.wtns=Ke,A.zKey=IQ,A}({});