@private-captcha/private-captcha-js-core 0.0.26 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +18 -18
- package/index.js.map +3 -3
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
var _="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(U=0;U<_.length;U++)x[_.charCodeAt(U)]=U;var U,ne=function(o){var e=new Uint8Array(o),t,i=e.length,r="";for(t=0;t<i;t+=3)r+=_[e[t]>>2],r+=_[(e[t]&3)<<4|e[t+1]>>4],r+=_[(e[t+1]&15)<<2|e[t+2]>>6],r+=_[e[t+2]&63];return i%3===2?r=r.substring(0,r.length-1)+"=":i%3===1&&(r=r.substring(0,r.length-2)+"=="),r},Ae=function(o){var e=o.length*.75,t=o.length,i,r=0,n,A,s,g;o[o.length-1]==="="&&(e--,o[o.length-2]==="="&&e--);var a=new ArrayBuffer(e),y=new Uint8Array(a);for(i=0;i<t;i+=4)n=x[o.charCodeAt(i)],A=x[o.charCodeAt(i+1)],s=x[o.charCodeAt(i+2)],g=x[o.charCodeAt(i+3)],y[r++]=n<<2|A>>4,y[r++]=(A&15)<<4|s>>2,y[r++]=(s&3)<<6|g&63;return a};function M(o,e){return(o[e]|o[e+1]<<8|o[e+2]<<16|o[e+3]<<24)>>>0}var se=128,pe=[408,409,429],ae=5e3,Ie=3e4;async function he(o,e,t={}){try{let i=await ye(`${o}?sitekey=${e}`,{fetchOptions:{headers:[["x-pc-captcha-version","1"]],mode:"cors"},maxAttempts:t.attempts??5,initialDelay:800,maxDelay:6e3,timeoutMs:t.timeout??ae,globalTimeoutMs:t.globalTimeout??Ie});if(i.ok){let r=await i.text(),n=i.headers.get("X-PC-Widget-Notice");return{data:r,notice:n}}else{let r=await i.json();if(r&&r.error)throw new Error(r.error)}}catch(i){throw console.error("[privatecaptcha]",i),i}throw new Error("Internal error")}function Ee(o,e){return new Promise((t,i)=>{let r=setTimeout(t,o);e&&e.addEventListener("abort",()=>{clearTimeout(r),i(e.reason||new Error("Aborted"))},{once:!0})})}async function ye(o,e={}){let{fetchOptions:t={},maxAttempts:i=5,initialDelay:r=800,maxDelay:n=6e3,timeoutMs:A=ae,globalTimeoutMs:s=Ie}=e,g=new AbortController,{signal:a}=g,y=setTimeout(()=>g.abort(new Error("Fetch timed out")),s),h=null;for(let b=0;b<i;b++){if(b>0){let E=Math.min(r*Math.pow(2,b),n);try{await Ee(E,a)}catch(O){if(clearTimeout(y),a.aborted){h="Global time out";let oe=new Error("Fetch timed out");throw oe.internalError=h,oe}throw O}}let v=new AbortController,{signal:V}=v,re=setTimeout(()=>v.abort(new Error("Fetch timed out")),A),j=()=>v.abort(new Error("Fetch timed out"));a.addEventListener("abort",j,{once:!0});try{let E=await fetch(o,{...t,signal:V});if(clearTimeout(re),a.removeEventListener("abort",j),E.ok)return clearTimeout(y),E;if(h=`HTTP ${E.status}`,console.warn("[privatecaptcha]",`HTTP request failed. url=${o} status=${E.status}`),E.status>=400&&E.status<500&&!pe.includes(E.status))break;continue}catch(E){if(clearTimeout(re),a.removeEventListener("abort",j),a.aborted){clearTimeout(y),h="Global time out";let O=new Error("Fetch timed out");throw O.internalError=h,O}if(V.aborted){h="Fetch timed out",console.warn("[privatecaptcha]",`Fetch attempt ${b+1} timed out`);continue}h=E.message||String(E),console.error("[privatecaptcha]",E)}}clearTimeout(y);let W=new Error("Captcha puzzle load failed after maximum retry attempts");throw W.internalError=h,W}function we(o,e){return BigInt(M(o,e))+(BigInt(M(o,e+4))<<32n)}var P=class{constructor(e){this.puzzleBuffer=null,this.ID=null,this.difficulty=null,this.solutionsCount=null,this.expirationTimestamp=null,this.userData=null,this.signature=null,this.parse(e),this.rawData=e}parse(e){let t=e.split(".");if(t.length!==2)throw new Error(`Invalid amount of parts: ${t.length}`);let i=t[0];this.signature=t[1];let r=new Uint8Array(Ae(i)),n=0;n+=1,n+=16,this.ID=we(r,n),n+=8,this.difficulty=r[n],n+=1,this.solutionsCount=r[n],n+=1,this.expirationTimestamp=M(r,n),n+=4,n+=4;let A=16;this.userData=r.slice(n,n+A),n+=A;let s=r;if(s.length<se){let g=new Uint8Array(se);g.set(s),this.puzzleBuffer=g}else this.puzzleBuffer=s}isZero(){return this.ID===0n&&this.difficulty===0&&this.expirationTimestamp===0}expirationMillis(){return this.expirationTimestamp?new Date(this.expirationTimestamp*1e3)-new Date:0}};function Z(o){let e=new Blob([o],{type:"text/javascript"}),t=URL.createObjectURL(e),i=new Worker(t);return URL.revokeObjectURL(t),i}function X(){return Z('var oI=Object.create;var iA=Object.defineProperty;var hI=Object.getOwnPropertyDescriptor;var rI=Object.getOwnPropertyNames;var EI=Object.getPrototypeOf,QI=Object.prototype.hasOwnProperty;var y=(A,i)=>()=>(i||A((i={exports:{}}).exports,i),i.exports);var fI=(A,i,I,e)=>{if(i&&typeof i=="object"||typeof i=="function")for(let t of rI(i))!QI.call(A,t)&&t!==I&&iA(A,t,{get:()=>i[t],enumerable:!(e=hI(i,t))||e.enumerable});return A};var eA=(A,i,I)=>(I=A!=null?oI(EI(A)):{},fI(i||!A||!A.__esModule?iA(I,"default",{value:A,enumerable:!0}):I,A));var gA=y((Ui,nA)=>{nA.exports=tA;var M=class extends Error{};M.prototype.name="AssertionError";function tA(A,i){if(!A){var I=new M(i);throw Error.captureStackTrace&&Error.captureStackTrace(I,tA),I}}});var hA=y((Si,oA)=>{function CA(A){return A.length}function BI(A){let i=A.byteLength,I="";for(let e=0;e<i;e++)I+=String.fromCharCode(A[e]);return I}function sI(A,i,I=0,e=CA(i)){let t=Math.min(e,A.byteLength-I);for(let n=0;n<t;n++)A[I+n]=i.charCodeAt(n);return t}oA.exports={byteLength:CA,toString:BI,write:sI}});var QA=y((Fi,EA)=>{var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",K=new Uint8Array(256);for(let A=0;A<d.length;A++)K[d.charCodeAt(A)]=A;K[45]=62;K[95]=63;function rA(A){let i=A.length;return A.charCodeAt(i-1)===61&&i--,i>1&&A.charCodeAt(i-1)===61&&i--,i*3>>>2}function lI(A){let i=A.byteLength,I="";for(let e=0;e<i;e+=3)I+=d[A[e]>>2]+d[(A[e]&3)<<4|A[e+1]>>4]+d[(A[e+1]&15)<<2|A[e+2]>>6]+d[A[e+2]&63];return i%3===2?I=I.substring(0,I.length-1)+"=":i%3===1&&(I=I.substring(0,I.length-2)+"=="),I}function cI(A,i,I=0,e=rA(i)){let t=Math.min(e,A.byteLength-I);for(let n=0,g=0;g<t;n+=4){let o=K[i.charCodeAt(n)],r=K[i.charCodeAt(n+1)],E=K[i.charCodeAt(n+2)],Q=K[i.charCodeAt(n+3)];A[g++]=o<<2|r>>4,A[g++]=(r&15)<<4|E>>2,A[g++]=(E&3)<<6|Q&63}return t}EA.exports={byteLength:rA,toString:lI,write:cI}});var lA=y((Ki,sA)=>{function BA(A){return A.length>>>1}function yI(A){let i=A.byteLength;A=new DataView(A.buffer,A.byteOffset,i);let I="",e=0;for(let t=i-i%4;e<t;e+=4)I+=A.getUint32(e).toString(16).padStart(8,"0");for(;e<i;e++)I+=A.getUint8(e).toString(16).padStart(2,"0");return I}function wI(A,i,I=0,e=BA(i)){let t=Math.min(e,A.byteLength-I);for(let n=0;n<t;n++){let g=fA(i.charCodeAt(n*2)),o=fA(i.charCodeAt(n*2+1));if(g===void 0||o===void 0)return A.subarray(0,n);A[I+n]=g<<4|o}return t}sA.exports={byteLength:BA,toString:yI,write:wI};function fA(A){if(A>=48&&A<=57)return A-48;if(A>=65&&A<=70)return A-65+10;if(A>=97&&A<=102)return A-97+10}});var yA=y((pi,cA)=>{function R(A){let i=0;for(let I=0,e=A.length;I<e;I++){let t=A.charCodeAt(I);if(t>=55296&&t<=56319&&I+1<e){let n=A.charCodeAt(I+1);if(n>=56320&&n<=57343){i+=4,I++;continue}}t<=127?i+=1:t<=2047?i+=2:i+=3}return i}var T;if(typeof TextDecoder!="undefined"){let A=new TextDecoder;T=function(I){return A.decode(I)}}else T=function(i){let I=i.byteLength,e="",t=0;for(;t<I;){let n=i[t];if(n<=127){e+=String.fromCharCode(n),t++;continue}let g=0,o=0;if(n<=223?(g=1,o=n&31):n<=239?(g=2,o=n&15):n<=244&&(g=3,o=n&7),I-t-g>0){let r=0;for(;r<g;)n=i[t+r+1],o=o<<6|n&63,r+=1}else o=65533,g=I-t;e+=String.fromCodePoint(o),t+=g+1}return e};var X;if(typeof TextEncoder!="undefined"){let A=new TextEncoder;X=function(I,e,t=0,n=R(e)){let g=Math.min(n,I.byteLength-t);return A.encodeInto(e,I.subarray(t,t+g)),g}}else X=function(i,I,e=0,t=R(I)){let n=Math.min(t,i.byteLength-e);i=i.subarray(e,e+n);let g=0,o=0;for(;g<I.length;){let r=I.codePointAt(g);if(r<=127){i[o++]=r,g++;continue}let E=0,Q=0;for(r<=2047?(E=6,Q=192):r<=65535?(E=12,Q=224):r<=2097151&&(E=18,Q=240),i[o++]=Q|r>>E,E-=6;E>=0;)i[o++]=128|r>>E&63,E-=6;g+=r>=65536?2:1}return n};cA.exports={byteLength:R,toString:T,write:X}});var uA=y((xi,aA)=>{function wA(A){return A.length*2}function aI(A){let i=A.byteLength,I="";for(let e=0;e<i-1;e+=2)I+=String.fromCharCode(A[e]+A[e+1]*256);return I}function uI(A,i,I=0,e=wA(i)){let t=Math.min(e,A.byteLength-I),n=t;for(let g=0;g<i.length&&!((n-=2)<0);++g){let o=i.charCodeAt(g),r=o>>8,E=o%256;A[I+g*2]=E,A[I+g*2+1]=r}return t}aA.exports={byteLength:wA,toString:aI,write:uI}});var KA=y((j,FA)=>{var DI=hA(),UI=QA(),SI=lA(),FI=yA(),KI=uA(),G=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function m(A){switch(A){case"ascii":return DI;case"base64":return UI;case"hex":return SI;case"utf8":case"utf-8":case void 0:return FI;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return KI;default:throw new Error(`Unknown encoding: ${A}`)}}function DA(A){return A instanceof Uint8Array}function pI(A){try{return m(A),!0}catch(i){return!1}}function xI(A,i,I){let e=new Uint8Array(A);return i!==void 0&&j.fill(e,i,0,e.byteLength,I),e}function dI(A){return new Uint8Array(A)}function HI(A){return new Uint8Array(A)}function bI(A,i){return m(i).byteLength(A)}function mI(A,i){if(A===i)return 0;let I=Math.min(A.byteLength,i.byteLength);A=new DataView(A.buffer,A.byteOffset,A.byteLength),i=new DataView(i.buffer,i.byteOffset,i.byteLength);let e=0;for(let t=I-I%4;e<t;e+=4){let n=A.getUint32(e,G),g=i.getUint32(e,G);if(n!==g)break}for(;e<I;e++){let t=A.getUint8(e),n=i.getUint8(e);if(t<n)return-1;if(t>n)return 1}return A.byteLength>i.byteLength?1:A.byteLength<i.byteLength?-1:0}function VI(A,i){i===void 0&&(i=A.reduce((t,n)=>t+n.byteLength,0));let I=new Uint8Array(i),e=0;for(let t of A){if(e+t.byteLength>I.byteLength){let n=t.subarray(0,I.byteLength-e);return I.set(n,e),I}I.set(t,e),e+=t.byteLength}return I}function LI(A,i,I=0,e=0,t=A.byteLength){if(t>0&&t<e||t===e||A.byteLength===0||i.byteLength===0)return 0;if(I<0)throw new RangeError("targetStart is out of range");if(e<0||e>=A.byteLength)throw new RangeError("sourceStart is out of range");if(t<0)throw new RangeError("sourceEnd is out of range");I>=i.byteLength&&(I=i.byteLength),t>A.byteLength&&(t=A.byteLength),i.byteLength-I<t-e&&(t=i.length-I+e);let n=t-e;return A===i?i.copyWithin(I,e,t):i.set(A.subarray(e,t),I),n}function YI(A,i){if(A===i)return!0;if(A.byteLength!==i.byteLength)return!1;let I=A.byteLength;A=new DataView(A.buffer,A.byteOffset,A.byteLength),i=new DataView(i.buffer,i.byteOffset,i.byteLength);let e=0;for(let t=I-I%4;e<t;e+=4)if(A.getUint32(e,G)!==i.getUint32(e,G))return!1;for(;e<I;e++)if(A.getUint8(e)!==i.getUint8(e))return!1;return!0}function MI(A,i,I,e,t){if(typeof i=="string"?typeof I=="string"?(t=I,I=0,e=A.byteLength):typeof e=="string"&&(t=e,e=A.byteLength):typeof i=="number"?i=i&255:typeof i=="boolean"&&(i=+i),I<0||A.byteLength<I||A.byteLength<e)throw new RangeError("Out of range index");if(I===void 0&&(I=0),e===void 0&&(e=A.byteLength),e<=I)return A;if(i||(i=0),typeof i=="number")for(let n=I;n<e;++n)A[n]=i;else{i=DA(i)?i:q(i,t);let n=i.byteLength;for(let g=0;g<e-I;++g)A[g+I]=i[g%n]}return A}function q(A,i,I){return typeof A=="string"?GI(A,i):Array.isArray(A)?kI(A):ArrayBuffer.isView(A)?PI(A):NI(A,i,I)}function GI(A,i){let I=m(i),e=new Uint8Array(I.byteLength(A));return I.write(e,A,0,e.byteLength),e}function kI(A){let i=new Uint8Array(A.length);return i.set(A),i}function PI(A){let i=new Uint8Array(A.byteLength);return i.set(A),i}function NI(A,i,I){return new Uint8Array(A,i,I)}function OI(A,i,I,e){return SA(A,i,I,e)!==-1}function UA(A,i,I,e,t){if(A.byteLength===0)return-1;if(typeof I=="string"?(e=I,I=0):I===void 0?I=t?0:A.length-1:I<0&&(I+=A.byteLength),I>=A.byteLength){if(t)return-1;I=A.byteLength-1}else if(I<0)if(t)I=0;else return-1;if(typeof i=="string")i=q(i,e);else if(typeof i=="number")return i=i&255,t?A.indexOf(i,I):A.lastIndexOf(i,I);if(i.byteLength===0)return-1;if(t){let n=-1;for(let g=I;g<A.byteLength;g++)if(A[g]===i[n===-1?0:g-n]){if(n===-1&&(n=g),g-n+1===i.byteLength)return n}else n!==-1&&(g-=g-n),n=-1}else{I+i.byteLength>A.byteLength&&(I=A.byteLength-i.byteLength);for(let n=I;n>=0;n--){let g=!0;for(let o=0;o<i.byteLength;o++)if(A[n+o]!==i[o]){g=!1;break}if(g)return n}}return-1}function SA(A,i,I,e){return UA(A,i,I,e,!0)}function JI(A,i,I,e){return UA(A,i,I,e,!1)}function p(A,i,I){let e=A[i];A[i]=A[I],A[I]=e}function _I(A){let i=A.byteLength;if(i%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let I=0;I<i;I+=2)p(A,I,I+1);return A}function RI(A){let i=A.byteLength;if(i%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let I=0;I<i;I+=4)p(A,I,I+3),p(A,I+1,I+2);return A}function TI(A){let i=A.byteLength;if(i%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let I=0;I<i;I+=8)p(A,I,I+7),p(A,I+1,I+6),p(A,I+2,I+5),p(A,I+3,I+4);return A}function XI(A){return A}function qI(A,i,I=0,e=A.byteLength){let t=A.byteLength;return I>=t||e<=I?"":(I<0&&(I=0),e>t&&(e=t),(I!==0||e<t)&&(A=A.subarray(I,e)),m(i).toString(A))}function jI(A,i,I,e,t){return I===void 0?t="utf8":e===void 0&&typeof I=="string"?(t=I,I=void 0):t===void 0&&typeof e=="string"&&(t=e,e=void 0),m(t).write(A,i,I,e)}function WI(A,i,I){return I===void 0&&(I=0),new DataView(A.buffer,A.byteOffset,A.byteLength).setFloat64(I,i,!0),I+8}function zI(A,i,I){return I===void 0&&(I=0),new DataView(A.buffer,A.byteOffset,A.byteLength).setFloat32(I,i,!0),I+4}function ZI(A,i,I){return I===void 0&&(I=0),new DataView(A.buffer,A.byteOffset,A.byteLength).setUint32(I,i,!0),I+4}function vI(A,i,I){return I===void 0&&(I=0),new DataView(A.buffer,A.byteOffset,A.byteLength).setInt32(I,i,!0),I+4}function $I(A,i){return i===void 0&&(i=0),new DataView(A.buffer,A.byteOffset,A.byteLength).getFloat64(i,!0)}function Ai(A,i){return i===void 0&&(i=0),new DataView(A.buffer,A.byteOffset,A.byteLength).getFloat32(i,!0)}function Ii(A,i){return i===void 0&&(i=0),new DataView(A.buffer,A.byteOffset,A.byteLength).getUint32(i,!0)}function ii(A,i){return i===void 0&&(i=0),new DataView(A.buffer,A.byteOffset,A.byteLength).getInt32(i,!0)}FA.exports=j={isBuffer:DA,isEncoding:pI,alloc:xI,allocUnsafe:dI,allocUnsafeSlow:HI,byteLength:bI,compare:mI,concat:VI,copy:LI,equals:YI,fill:MI,from:q,includes:OI,indexOf:SA,lastIndexOf:JI,swap16:_I,swap32:RI,swap64:TI,toBuffer:XI,toString:qI,write:jI,writeDoubleLE:WI,writeFloatLE:zI,writeUInt32LE:ZI,writeInt32LE:vI,readDoubleLE:$I,readFloatLE:Ai,readUInt32LE:Ii,readInt32LE:ii}});var xA=y((di,pA)=>{var ei=(A,i)=>function(){return i||(0,A[Object.keys(A)[0]])((i={exports:{}}).exports,i),i.exports},ti=(()=>{for(var A=new Uint8Array(128),i=0;i<64;i++)A[i<26?i+65:i<52?i+71:i<62?i-4:i*4-205]=i;return I=>{for(var e=I.length,t=new Uint8Array((e-(I[e-1]=="=")-(I[e-2]=="="))*3/4|0),n=0,g=0;n<e;){var o=A[I.charCodeAt(n++)],r=A[I.charCodeAt(n++)],E=A[I.charCodeAt(n++)],Q=A[I.charCodeAt(n++)];t[g++]=o<<2|r>>4,t[g++]=r<<4|E>>2,t[g++]=E<<6|Q}return t}})(),ni=ei({"wasm-binary:./blake2b.wat"(A,i){i.exports=ti("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")}}),gi=ni(),Ci=WebAssembly.compile(gi);pA.exports=async A=>(await WebAssembly.instantiate(await Ci,A)).exports});var MA=y((mi,a)=>{var w=gA(),oi=KA(),D=null,dA=typeof WebAssembly!="undefined"&&xA()().then(A=>{D=A}),u=64,k=[];a.exports=l;var HA=a.exports.BYTES_MIN=16,bA=a.exports.BYTES_MAX=64,Hi=a.exports.BYTES=32,mA=a.exports.KEYBYTES_MIN=16,VA=a.exports.KEYBYTES_MAX=64,bi=a.exports.KEYBYTES=32,LA=a.exports.SALTBYTES=16,YA=a.exports.PERSONALBYTES=16;function l(A,i,I,e,t){if(!(this instanceof l))return new l(A,i,I,e,t);if(!D)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");A||(A=32),t!==!0&&(w(A>=HA,"digestLength must be at least "+HA+", was given "+A),w(A<=bA,"digestLength must be at most "+bA+", was given "+A),i!=null&&(w(i instanceof Uint8Array,"key must be Uint8Array or Buffer"),w(i.length>=mA,"key must be at least "+mA+", was given "+i.length),w(i.length<=VA,"key must be at least "+VA+", was given "+i.length)),I!=null&&(w(I instanceof Uint8Array,"salt must be Uint8Array or Buffer"),w(I.length===LA,"salt must be exactly "+LA+", was given "+I.length)),e!=null&&(w(e instanceof Uint8Array,"personal must be Uint8Array or Buffer"),w(e.length===YA,"personal must be exactly "+YA+", was given "+e.length))),k.length||(k.push(u),u+=216),this.digestLength=A,this.finalized=!1,this.pointer=k.pop(),this._memory=new Uint8Array(D.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=i?i.length:0,this._memory[2]=1,this._memory[3]=1,I&&this._memory.set(I,32),e&&this._memory.set(e,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),D.blake2b_init(this.pointer,this.digestLength),i&&(this.update(i),this._memory.fill(0,u,u+i.length),this._memory[this.pointer+200]=128)}l.prototype._realloc=function(A){D.memory.grow(Math.max(0,Math.ceil(Math.abs(A-this._memory.length)/65536))),this._memory=new Uint8Array(D.memory.buffer)};l.prototype.update=function(A){return w(this.finalized===!1,"Hash instance finalized"),w(A instanceof Uint8Array,"input must be Uint8Array or Buffer"),u+A.length>this._memory.length&&this._realloc(u+A.length),this._memory.set(A,u),D.blake2b_update(this.pointer,u,u+A.length),this};l.prototype.digest=function(A){if(w(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,k.push(this.pointer),D.blake2b_final(this.pointer),!A||A==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof A=="string")return oi.toString(this._memory,A,this.pointer+128,this.pointer+128+this.digestLength);w(A instanceof Uint8Array&&A.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var i=0;i<this.digestLength;i++)A[i]=this._memory[this.pointer+128+i];return A};l.prototype.final=l.prototype.digest;l.WASM=D;l.SUPPORTED=typeof WebAssembly!="undefined";l.ready=function(A){return A||(A=hi),dA?dA.then(()=>A(),A):A(new Error("WebAssembly not supported"))};l.prototype.ready=l.ready;l.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};l.prototype.setPartialHash=function(A){this._memory.set(A,this.pointer)};function hi(){}});var W=y((Vi,GA)=>{var ri="Input must be an string, Buffer or Uint8Array";function Ei(A){let i;if(A instanceof Uint8Array)i=A;else if(typeof A=="string")i=new TextEncoder().encode(A);else throw new Error(ri);return i}function Qi(A){return Array.prototype.map.call(A,function(i){return(i<16?"0":"")+i.toString(16)}).join("")}function P(A){return(4294967296+A).toString(16).substring(1)}function fi(A,i,I){let e=`\n`+A+" = ";for(let t=0;t<i.length;t+=2){if(I===32)e+=P(i[t]).toUpperCase(),e+=" ",e+=P(i[t+1]).toUpperCase();else if(I===64)e+=P(i[t+1]).toUpperCase(),e+=P(i[t]).toUpperCase();else throw new Error("Invalid size "+I);t%6===4?e+=`\n`+new Array(A.length+4).join(" "):t<i.length-2&&(e+=" ")}console.log(e)}function Bi(A,i,I){let e=new Date().getTime(),t=new Uint8Array(i);for(let g=0;g<i;g++)t[g]=g%256;let n=new Date().getTime();console.log("Generated random input in "+(n-e)+"ms"),e=n;for(let g=0;g<I;g++){let o=A(t),r=new Date().getTime(),E=r-e;e=r,console.log("Hashed in "+E+"ms: "+o.substring(0,20)+"..."),console.log(Math.round(i/(1<<20)/(E/1e3)*100)/100+" MB PER SECOND")}}GA.exports={normalizeInput:Ei,toHex:Qi,debugPrint:fi,testSpeed:Bi}});var XA=y((Li,TA)=>{var O=W();function N(A,i,I){let e=A[i]+A[I],t=A[i+1]+A[I+1];e>=4294967296&&t++,A[i]=e,A[i+1]=t}function kA(A,i,I,e){let t=A[i]+I;I<0&&(t+=4294967296);let n=A[i+1]+e;t>=4294967296&&n++,A[i]=t,A[i+1]=n}function PA(A,i){return A[i]^A[i+1]<<8^A[i+2]<<16^A[i+3]<<24}function U(A,i,I,e,t,n){let g=V[t],o=V[t+1],r=V[n],E=V[n+1];N(C,A,i),kA(C,A,g,o);let Q=C[e]^C[A],c=C[e+1]^C[A+1];C[e]=c,C[e+1]=Q,N(C,I,e),Q=C[i]^C[I],c=C[i+1]^C[I+1],C[i]=Q>>>24^c<<8,C[i+1]=c>>>24^Q<<8,N(C,A,i),kA(C,A,r,E),Q=C[e]^C[A],c=C[e+1]^C[A+1],C[e]=Q>>>16^c<<16,C[e+1]=c>>>16^Q<<16,N(C,I,e),Q=C[i]^C[I],c=C[i+1]^C[I+1],C[i]=c>>>31^Q<<1,C[i+1]=Q>>>31^c<<1}var NA=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),si=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],B=new Uint8Array(si.map(function(A){return A*2})),C=new Uint32Array(32),V=new Uint32Array(32);function OA(A,i){let I=0;for(I=0;I<16;I++)C[I]=A.h[I],C[I+16]=NA[I];for(C[24]=C[24]^A.t,C[25]=C[25]^A.t/4294967296,i&&(C[28]=~C[28],C[29]=~C[29]),I=0;I<32;I++)V[I]=PA(A.b,4*I);for(I=0;I<12;I++)U(0,8,16,24,B[I*16+0],B[I*16+1]),U(2,10,18,26,B[I*16+2],B[I*16+3]),U(4,12,20,28,B[I*16+4],B[I*16+5]),U(6,14,22,30,B[I*16+6],B[I*16+7]),U(0,10,20,30,B[I*16+8],B[I*16+9]),U(2,12,22,24,B[I*16+10],B[I*16+11]),U(4,14,16,26,B[I*16+12],B[I*16+13]),U(6,8,18,28,B[I*16+14],B[I*16+15]);for(I=0;I<16;I++)A.h[I]=A.h[I]^C[I]^C[I+16]}var S=new Uint8Array([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]);function JA(A,i,I,e){if(A===0||A>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(i&&i.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(I&&I.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(e&&e.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");let t={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:A};S.fill(0),S[0]=A,i&&(S[1]=i.length),S[2]=1,S[3]=1,I&&S.set(I,32),e&&S.set(e,48);for(let n=0;n<16;n++)t.h[n]=NA[n]^PA(S,n*4);return i&&(z(t,i),t.c=128),t}function z(A,i){for(let I=0;I<i.length;I++)A.c===128&&(A.t+=A.c,OA(A,!1),A.c=0),A.b[A.c++]=i[I]}function _A(A){for(A.t+=A.c;A.c<128;)A.b[A.c++]=0;OA(A,!0);let i=new Uint8Array(A.outlen);for(let I=0;I<A.outlen;I++)i[I]=A.h[I>>2]>>8*(I&3);return i}function RA(A,i,I,e,t){I=I||64,A=O.normalizeInput(A),e&&(e=O.normalizeInput(e)),t&&(t=O.normalizeInput(t));let n=JA(I,i,e,t);return z(n,A),_A(n)}function li(A,i,I,e,t){let n=RA(A,i,I,e,t);return O.toHex(n)}TA.exports={blake2b:RA,blake2bHex:li,blake2bInit:JA,blake2bUpdate:z,blake2bFinal:_A}});var AI=y((Yi,$A)=>{var qA=W();function ci(A,i){return A[i]^A[i+1]<<8^A[i+2]<<16^A[i+3]<<24}function F(A,i,I,e,t,n){h[A]=h[A]+h[i]+t,h[e]=J(h[e]^h[A],16),h[I]=h[I]+h[e],h[i]=J(h[i]^h[I],12),h[A]=h[A]+h[i]+n,h[e]=J(h[e]^h[A],8),h[I]=h[I]+h[e],h[i]=J(h[i]^h[I],7)}function J(A,i){return A>>>i^A<<32-i}var jA=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),s=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),h=new Uint32Array(16),f=new Uint32Array(16);function WA(A,i){let I=0;for(I=0;I<8;I++)h[I]=A.h[I],h[I+8]=jA[I];for(h[12]^=A.t,h[13]^=A.t/4294967296,i&&(h[14]=~h[14]),I=0;I<16;I++)f[I]=ci(A.b,4*I);for(I=0;I<10;I++)F(0,4,8,12,f[s[I*16+0]],f[s[I*16+1]]),F(1,5,9,13,f[s[I*16+2]],f[s[I*16+3]]),F(2,6,10,14,f[s[I*16+4]],f[s[I*16+5]]),F(3,7,11,15,f[s[I*16+6]],f[s[I*16+7]]),F(0,5,10,15,f[s[I*16+8]],f[s[I*16+9]]),F(1,6,11,12,f[s[I*16+10]],f[s[I*16+11]]),F(2,7,8,13,f[s[I*16+12]],f[s[I*16+13]]),F(3,4,9,14,f[s[I*16+14]],f[s[I*16+15]]);for(I=0;I<8;I++)A.h[I]^=h[I]^h[I+8]}function zA(A,i){if(!(A>0&&A<=32))throw new Error("Incorrect output length, should be in [1, 32]");let I=i?i.length:0;if(i&&!(I>0&&I<=32))throw new Error("Incorrect key length, should be in [1, 32]");let e={h:new Uint32Array(jA),b:new Uint8Array(64),c:0,t:0,outlen:A};return e.h[0]^=16842752^I<<8^A,I>0&&(Z(e,i),e.c=64),e}function Z(A,i){for(let I=0;I<i.length;I++)A.c===64&&(A.t+=A.c,WA(A,!1),A.c=0),A.b[A.c++]=i[I]}function ZA(A){for(A.t+=A.c;A.c<64;)A.b[A.c++]=0;WA(A,!0);let i=new Uint8Array(A.outlen);for(let I=0;I<A.outlen;I++)i[I]=A.h[I>>2]>>8*(I&3)&255;return i}function vA(A,i,I){I=I||32,A=qA.normalizeInput(A);let e=zA(I,i);return Z(e,A),ZA(e)}function yi(A,i,I){let e=vA(A,i,I);return qA.toHex(e)}$A.exports={blake2s:vA,blake2sHex:yi,blake2sInit:zA,blake2sUpdate:Z,blake2sFinal:ZA}});var iI=y((Mi,II)=>{var L=XA(),Y=AI();II.exports={blake2b:L.blake2b,blake2bHex:L.blake2bHex,blake2bInit:L.blake2bInit,blake2bUpdate:L.blake2bUpdate,blake2bFinal:L.blake2bFinal,blake2s:Y.blake2s,blake2sHex:Y.blake2sHex,blake2sInit:Y.blake2sInit,blake2sUpdate:Y.blake2sUpdate,blake2sFinal:Y.blake2sFinal}});var x=eA(MA(),1),b=eA(iI(),1);function H(A,i,I,e){this._ctx=(0,b.blake2bInit)(A,i,I,e)}H.prototype.update=function(A){return(0,b.blake2bUpdate)(this._ctx,A),this};H.prototype.digest=function(A){let i=(0,b.blake2bFinal)(this._ctx);return A?(A.set(i),A):i};H.prototype.final=H.prototype.digest;H.ready=function(A){x.ready(function(){A()})};function wi(A,i,I,e){return new H(A,i,I,e)}function v(A){x.ready(function(){A()})}var $=!1,_=wi;x.ready(function(A){A||($=!0,_=x.default)});function ui(A,i){return(A[i]|A[i+1]<<8|A[i+2]<<16|A[i+3]<<24)>>>0}function eI(A){return Math.pow(2,(255.999-A)/8)>>>0}function tI(A,i,I,e,t){let n=A.length;e&&console.debug(`[privatecaptcha][worker] looking for a solution. threshold=${i} puzzleID=${I} length=${n}`),A[n-8]=I;let g=new Uint8Array(32);for(let o=0;o<256;o++){A[n-1-3]=o;for(let r=0;r<256;r++){A[n-1-2]=r;for(let E=0;E<256;E++){A[n-1-1]=E;for(let Q=0;Q<256;Q++){A[n-1-0]=Q,g.fill(0),t(g.length).update(A).digest(g);let c=ui(g,0);if(c<=i)return e&&console.debug(`[privatecaptcha][worker] found solution. prefix=${c} threshold=${i}`),A.subarray(n-8)}}}}return new Uint8Array(0)}var gI=_,CI=!1,AA=null,nI=null,IA=!1;v?v(()=>{IA=$,console.debug("[privatecaptcha][worker] Hasher loaded. wasm="+IA),gI=_,CI=!0,AA&&self.postMessage({command:"init"})}):console.warn("[privatecaptcha][worker] Blake2b ready() is not defined");self.onmessage=A=>{let{command:i,argument:I}=A.data;switch(i){case"init":let{id:e,buffer:t}=I;nI=e,AA=t,CI&&self.postMessage({command:"init"});break;case"solve":let{difficulty:n,puzzleIndex:g,debug:o}=I,r=eI(n),E=tI(AA,r,g,o,gI);self.postMessage({command:i,argument:{id:nI,solution:E,wasm:IA}});break;default:break}};\n')}var me=1,T=class{constructor(e={},t=!1){this._solutions=[],this._solutionsCount=0,this._puzzleID=null,this._workers=[],this._debug=t,this._timeStarted=null,this._timeFinished=null,this._anyWasm=!1,this._callbacks=Object.assign({workersReady:()=>0,workerError:()=>0,workStarted:()=>0,workCompleted:()=>0,progress:()=>0},e)}init(e,t){if(!e)return;if(e.isZero()){this._debug&&console.debug("[privatecaptcha][pool] skipping initializing workers"),setTimeout(()=>this._callbacks.workersReady(t),0);return}let i=4,r=0,n=[],A=this,s=e.ID,g=e.puzzleBuffer;for(let a=0;a<i;a++){let y=new X;y.onerror=h=>this._callbacks.workerError(h),y.onmessage=function(h){if(!h.data)return;switch(h.data.command){case"init":r++,r===i&&A._callbacks.workersReady(t);break;case"solve":let{id:b,solution:v,wasm:V}=h.data.argument;A.onSolutionFound(b,v,V);break;case"error":h.data.error&&A._callbacks.workerError(h.data.error);break;default:break}},n.push(y)}this._workers=n,this._debug&&console.debug(`[privatecaptcha][pool] initializing workers. count=${this._workers.length}`);for(let a=0;a<this._workers.length;a++)this._workers[a].postMessage({command:"init",argument:{id:s,buffer:g}})}solve(e){if(!e)return;this._debug&&console.debug("[privatecaptcha][pool] starting solving"),this._solutions=[],this._solutionsCount=e.solutionsCount,this._puzzleID=e.ID,this._timeStarted=Date.now(),this._timeFinished=null;let t=e.isZero()||e.solutionsCount===0,i=null;for(let r=0;r<e.solutionsCount;r++)t?(i||(i=new Uint8Array(8)),this._solutions.push(i)):this._workers[r%this._workers.length].postMessage({command:"solve",argument:{difficulty:e.difficulty,puzzleIndex:r,debug:this._debug}});this._callbacks.workStarted(),t&&setTimeout(()=>this.onWorkCompleted(),0)}stop(){let e=this._workers.length;for(let t=0;t<e;t++)this._workers[t].terminate();this._workers=[],this._debug&&console.debug("[privatecaptcha][pool] terminated the workers. count="+e)}reset(){this._solutions=[],this._solutionsCount=0,this._puzzleID=null,this._timeStarted=null,this._timeFinished=null,this._anyWasm=!1}onSolutionFound(e,t,i){if(this._debug&&console.debug("[privatecaptcha][pool] solution found. length="+t.length),e!=this._puzzleID){console.warn(`[privatecaptcha][pool] Discarding solution with invalid ID. actual=${e} expected=${this._puzzleID}`);return}this._solutions.push(t),i&&(this._anyWasm=!0);let r=this._solutions.length;this._callbacks.progress(r*100/this._solutionsCount),r==this._solutionsCount&&this.onWorkCompleted()}onWorkCompleted(){this._timeFinished=Date.now(),this._callbacks.workCompleted()}serializeSolutions(e){this._debug&&console.debug("[privatecaptcha][pool] serializing solutions. count="+this._solutions.length);let t=this._solutions.reduce((s,g)=>s+g.length,0),i=this.writeMetadata(e),r=i.length,n=new Uint8Array(r+t),A=0;n.set(i,A),A+=i.length;for(let s=0;s<this._solutions.length;s++)n.set(this._solutions[s],A),A+=this._solutions[s].length;return ne(n)}writeMetadata(e){let i=new Uint8Array(7),r=0;i[r++]=me&255,i[r++]=e&255;let n=this._anyWasm?1:0;i[r++]=n&255;let A=this.elapsedMillis();return i[r++]=A&255,i[r++]=A>>8&255,i[r++]=A>>16&255,i[r++]=A>>24&255,i}elapsedMillis(){return this._timeStarted&&this._timeFinished?this._timeFinished-this._timeStarted:0}};var N=typeof HTMLElement<"u"?HTMLElement:Object;var R=class extends N{constructor(){super(),this._circumference=0,this._root=this.attachShadow({mode:"open"})}connectedCallback(){let e=this.getAttribute("stroke"),t=100,i=t/2,r=i-e/2;this._circumference=r*2*Math.PI,this._root.innerHTML=`
|
|
2
|
-
<svg preserveAspectRatio="xMidYMid meet" viewBox="0 0 ${
|
|
1
|
+
var S="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",M=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(_=0;_<S.length;_++)M[S.charCodeAt(_)]=_;var _,sA=function(r){var A=new Uint8Array(r),e,t=A.length,i="";for(e=0;e<t;e+=3)i+=S[A[e]>>2],i+=S[(A[e]&3)<<4|A[e+1]>>4],i+=S[(A[e+1]&15)<<2|A[e+2]>>6],i+=S[A[e+2]&63];return t%3===2?i=i.substring(0,i.length-1)+"=":t%3===1&&(i=i.substring(0,i.length-2)+"=="),i},gA=function(r){var A=r.length*.75,e=r.length,t,i=0,o,I,s,g;r[r.length-1]==="="&&(A--,r[r.length-2]==="="&&A--);var n=new ArrayBuffer(A),p=new Uint8Array(n);for(t=0;t<e;t+=4)o=M[r.charCodeAt(t)],I=M[r.charCodeAt(t+1)],s=M[r.charCodeAt(t+2)],g=M[r.charCodeAt(t+3)],p[i++]=o<<2|I>>4,p[i++]=(I&15)<<4|s>>2,p[i++]=(s&3)<<6|g&63;return n};function V(r,A){return(r[A]|r[A+1]<<8|r[A+2]<<16|r[A+3]<<24)>>>0}var W=128,aA=W*2,dA=47,EA=48,kA=1,yA=2,v=0,y=1,DA=[408,409,429],hA=5e3,CA=3e4;async function lA(r,A,e={}){try{let t=r.includes("?")?"&":"?",i=await mA(`${r}${t}sitekey=${encodeURIComponent(A)}`,{fetchOptions:{headers:[["x-pc-captcha-version","2"]],mode:"cors"},maxAttempts:e.attempts??5,initialDelay:800,maxDelay:6e3,timeoutMs:e.timeout??hA,globalTimeoutMs:e.globalTimeout??CA});if(i.ok){let o=await i.text(),I=i.headers.get("X-PC-Widget-Notice");return{data:o,notice:I}}else{let o=await i.json();if(o&&o.error)throw new Error(o.error)}}catch(t){throw console.error("[privatecaptcha]",t),t}throw new Error("Internal error")}function FA(r,A){return new Promise((e,t)=>{let i=setTimeout(e,r);A&&A.addEventListener("abort",()=>{clearTimeout(i),t(A.reason||new Error("Aborted"))},{once:!0})})}async function mA(r,A={}){let{fetchOptions:e={},maxAttempts:t=5,initialDelay:i=800,maxDelay:o=6e3,timeoutMs:I=hA,globalTimeoutMs:s=CA}=A,g=new AbortController,{signal:n}=g,p=setTimeout(()=>g.abort(new Error("Fetch timed out")),s),k=null;for(let b=0;b<t;b++){if(b>0){let u=Math.min(i*Math.pow(2,b),o);try{await FA(u,n)}catch(L){if(clearTimeout(p),n.aborted){k="Global time out";let nA=new Error("Fetch timed out");throw nA.internalError=k,nA}throw L}}let X=new AbortController,{signal:oA}=X,IA=setTimeout(()=>X.abort(new Error("Fetch timed out")),I),Z=()=>X.abort(new Error("Fetch timed out"));n.addEventListener("abort",Z,{once:!0});try{let u=await fetch(r,{...e,signal:oA});if(clearTimeout(IA),n.removeEventListener("abort",Z),u.ok)return clearTimeout(p),u;if(k=`HTTP ${u.status}`,console.warn("[privatecaptcha]",`HTTP request failed. url=${r} status=${u.status}`),u.status>=400&&u.status<500&&!DA.includes(u.status))break;continue}catch(u){if(clearTimeout(IA),n.removeEventListener("abort",Z),n.aborted){clearTimeout(p),k="Global time out";let L=new Error("Fetch timed out");throw L.internalError=k,L}if(oA.aborted){k="Fetch timed out",console.warn("[privatecaptcha]",`Fetch attempt ${b+1} timed out`);continue}k=u.message||String(u),console.error("[privatecaptcha]",u)}}clearTimeout(p);let x=new Error("Captcha puzzle load failed after maximum retry attempts");throw x.internalError=k,x}function SA(r,A){return BigInt(V(r,A))+(BigInt(V(r,A+4))<<32n)}var R=class{constructor(A){this.puzzleBuffer=null,this.puzzleBytes=null,this.version=null,this.challenge=null,this.ID=null,this.difficulty=null,this.solutionsCount=null,this.expirationTimestamp=null,this.userData=null,this.signature=null,this.parse(A),this.rawData=A}parse(A){let e=A.split(".");if(e.length!==2)throw new Error(`Invalid amount of parts: ${e.length}`);let t=e[0];if(this.signature=e[1],t.length>Math.ceil(aA/3)*4)throw new Error(`Invalid puzzle body length: ${t.length}`);let i=new Uint8Array(gA(t));if(i.length<1)throw new Error("Puzzle body is empty");this.version=i[0];let o,I=1;switch(this.version){case kA:o=dA,this.challenge=v;break;case yA:if(o=EA,i.length<I+1)throw new Error(`Invalid puzzle body length: ${i.length}`);if(this.challenge=i[I++],this.challenge!==v&&this.challenge!==y)throw new Error(`Unknown puzzle challenge: ${this.challenge}`);break;default:throw new Error(`Unknown puzzle version: ${this.version}`)}if(i.length<o||i.length>aA)throw new Error(`Invalid puzzle body length: ${i.length}`);this.puzzleBytes=i.slice(),I+=16,this.ID=SA(i,I),I+=8,this.difficulty=i[I],I+=1,this.solutionsCount=i[I],I+=1,this.expirationTimestamp=V(i,I),I+=4;let s=i.length-I,g=I;I+=4,this.userData=i.slice(g),I+=s-4;let n=this.puzzleBytes;if(n.length<W){let p=new Uint8Array(W);p.set(n),this.puzzleBuffer=p}else this.puzzleBuffer=n}isZero(){return this.ID===0n&&this.difficulty===0&&this.expirationTimestamp===0}expirationMillis(){return this.expirationTimestamp?new Date(this.expirationTimestamp*1e3)-new Date:0}};function $(r){let A=new Blob([r],{type:"text/javascript"}),e=URL.createObjectURL(A),t=new Worker(e);return URL.revokeObjectURL(e),t}function AA(){return $('var ue=Object.create;var st=Object.defineProperty;var he=Object.getOwnPropertyDescriptor;var pe=Object.getOwnPropertyNames,kt=Object.getOwnPropertySymbols,de=Object.getPrototypeOf,$t=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable;var it=(t,e,n)=>e in t?st(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ct=(t,e)=>{for(var n in e||(e={}))$t.call(e,n)&&it(t,n,e[n]);if(kt)for(var n of kt(e))we.call(e,n)&&it(t,n,e[n]);return t};var Ut=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}};var ye=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let A of pe(e))!$t.call(t,A)&&A!==n&&st(t,A,{get:()=>e[A],enumerable:!(o=he(e,A))||o.enumerable});return t};var xe=(t,e,n)=>(n=t!=null?ue(de(t)):{},ye(e||!t||!t.__esModule?st(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>it(t,typeof e!="symbol"?e+"":e,n);var _t=Ut((An,Ht)=>{var me="Input must be an string, Buffer or Uint8Array";function be(t){let e;if(t instanceof Uint8Array)e=t;else if(typeof t=="string")e=new TextEncoder().encode(t);else throw new Error(me);return e}function Ee(t){return Array.prototype.map.call(t,function(e){return(e<16?"0":"")+e.toString(16)}).join("")}function Q(t){return(4294967296+t).toString(16).substring(1)}function ke(t,e,n){let o=`\n`+t+" = ";for(let A=0;A<e.length;A+=2){if(n===32)o+=Q(e[A]).toUpperCase(),o+=" ",o+=Q(e[A+1]).toUpperCase();else if(n===64)o+=Q(e[A+1]).toUpperCase(),o+=Q(e[A]).toUpperCase();else throw new Error("Invalid size "+n);A%6===4?o+=`\n`+new Array(t.length+4).join(" "):A<e.length-2&&(o+=" ")}console.log(o)}function $e(t,e,n){let o=new Date().getTime(),A=new Uint8Array(e);for(let i=0;i<e;i++)A[i]=i%256;let r=new Date().getTime();console.log("Generated random input in "+(r-o)+"ms"),o=r;for(let i=0;i<n;i++){let s=t(A),B=new Date().getTime(),j=B-o;o=B,console.log("Hashed in "+j+"ms: "+s.substring(0,20)+"..."),console.log(Math.round(e/(1<<20)/(j/1e3)*100)/100+" MB PER SECOND")}}Ht.exports={normalizeInput:be,toHex:Ee,debugPrint:ke,testSpeed:$e}});var Dt=Ut((Bn,Gt)=>{var et=_t();function tt(t,e,n){let o=t[e]+t[n],A=t[e+1]+t[n+1];o>=4294967296&&A++,t[e]=o,t[e+1]=A}function Tt(t,e,n,o){let A=t[e]+n;n<0&&(A+=4294967296);let r=t[e+1]+o;A>=4294967296&&r++,t[e]=A,t[e+1]=r}function Lt(t,e){return t[e]^t[e+1]<<8^t[e+2]<<16^t[e+3]<<24}function O(t,e,n,o,A,r){let i=V[A],s=V[A+1],B=V[r],j=V[r+1];tt(h,t,e),Tt(h,t,i,s);let l=h[o]^h[t],a=h[o+1]^h[t+1];h[o]=a,h[o+1]=l,tt(h,n,o),l=h[e]^h[n],a=h[e+1]^h[n+1],h[e]=l>>>24^a<<8,h[e+1]=a>>>24^l<<8,tt(h,t,e),Tt(h,t,B,j),l=h[o]^h[t],a=h[o+1]^h[t+1],h[o]=l>>>16^a<<16,h[o+1]=a>>>16^l<<16,tt(h,n,o),l=h[e]^h[n],a=h[e+1]^h[n+1],h[e]=a>>>31^l<<1,h[e+1]=l>>>31^a<<1}var St=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Ue=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],U=new Uint8Array(Ue.map(function(t){return t*2})),h=new Uint32Array(32),V=new Uint32Array(32);function Mt(t,e){let n=0;for(n=0;n<16;n++)h[n]=t.h[n],h[n+16]=St[n];for(h[24]=h[24]^t.t,h[25]=h[25]^t.t/4294967296,e&&(h[28]=~h[28],h[29]=~h[29]),n=0;n<32;n++)V[n]=Lt(t.b,4*n);for(n=0;n<12;n++)O(0,8,16,24,U[n*16+0],U[n*16+1]),O(2,10,18,26,U[n*16+2],U[n*16+3]),O(4,12,20,28,U[n*16+4],U[n*16+5]),O(6,14,22,30,U[n*16+6],U[n*16+7]),O(0,10,20,30,U[n*16+8],U[n*16+9]),O(2,12,22,24,U[n*16+10],U[n*16+11]),O(4,14,16,26,U[n*16+12],U[n*16+13]),O(6,8,18,28,U[n*16+14],U[n*16+15]);for(n=0;n<16;n++)t.h[n]=t.h[n]^h[n]^h[n+16]}var P=new Uint8Array([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]);function zt(t,e,n,o){if(t===0||t>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(e&&e.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(n&&n.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(o&&o.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");let A={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:t};P.fill(0),P[0]=t,e&&(P[1]=e.length),P[2]=1,P[3]=1,n&&P.set(n,32),o&&P.set(o,48);for(let r=0;r<16;r++)A.h[r]=St[r]^Lt(P,r*4);return e&&(lt(A,e),A.c=128),A}function lt(t,e){for(let n=0;n<e.length;n++)t.c===128&&(t.t+=t.c,Mt(t,!1),t.c=0),t.b[t.c++]=e[n]}function Ot(t){for(t.t+=t.c;t.c<128;)t.b[t.c++]=0;Mt(t,!0);let e=new Uint8Array(t.outlen);for(let n=0;n<t.outlen;n++)e[n]=t.h[n>>2]>>8*(n&3);return e}function Pt(t,e,n,o,A){n=n||64,t=et.normalizeInput(t),o&&(o=et.normalizeInput(o)),A&&(A=et.normalizeInput(A));let r=zt(n,e,o,A);return lt(r,t),Ot(r)}function Ie(t,e,n,o,A){let r=Pt(t,e,n,o,A);return et.toHex(r)}Gt.exports={blake2b:Pt,blake2bHex:Ie,blake2bInit:zt,blake2bUpdate:lt,blake2bFinal:Ot}});var It="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AEGFoYCAAGoxAABCKIaEIABBhqGAgABqMQAAQjCGIABBh6GAgABqMQAAQjiGhIQgAEGAoYCAAGoxAACENwMAIABBCGoiAA0ACwsLAEEAKAKgooCAAAvRAwMCfwF+AX8jgICAgABBgAFrIgQkgICAgABBACEFIARBACkDoKGAgAA3AwAgBEEAKQOooYCAADcDCCAEQQApA7ChgIAANwMQIARBACkDuKGAgAA3AxggBEEAKQPAoYCAADcDICAEQQApA8ihgIAANwMoIARBACkD0KGAgAA3AzAgBEEAKQPYoYCAADcDOCAEQQApA+ChgIAANwNAIARBACkD6KGAgAA3A0ggBEEAKQPwoYCAADcDUCAEQQApA/ihgIAANwNYIARBACkDgKKAgAA3A2AgBEEAKQOIooCAADcDaCAEQQApA5CigIAANwNwAkAgA0UNACAEIAIgAkEQeHNBgP6DeHFBCHYgAkEIeHOtQiCGQQApA5iigIAAQoD+//8PgyAAQf8Bca2EIgaENwN4QQEhBQJAIARBABCDgICAACABTQ0AIANBf2ohB0EAIQUDQAJAIAcgBUcNAEEAIQUMAwsgBCACIAVqQQFqIgAgAEEQeHNBgP6DeHFBCHYgAEEIeHOtQiCGIAaENwN4IAVBAWoiACEFIARBABCDgICAACABSw0ACyACIABqIQIgACADSSEFC0EAIAI2AqCigIAACyAEQYABaiSAgICAACAFCw==";var q=xe(Dt(),1);function ft(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Nt(t){return Math.pow(2,(255.999-t)/8)>>>0}function vt(t,e,n,o,A){let r=t.length;o&&console.debug(`[privatecaptcha][worker] looking for a solution. threshold=${e} puzzleID=${n} length=${r}`),t[r-8]=n;let i=new Uint8Array(32);for(let s=0;s<256;s++){t[r-1-3]=s;for(let B=0;B<256;B++){t[r-1-2]=B;for(let j=0;j<256;j++){t[r-1-1]=j;for(let l=0;l<256;l++){t[r-1-0]=l,i.fill(0),A(i.length).update(t).digest(i);let a=ft(i,0);if(a<=e)return o&&console.debug(`[privatecaptcha][worker] found solution. prefix=${a} threshold=${e}`),t.subarray(r-8)}}}}return new Uint8Array(0)}var Ct=65536,He=4294967296;function _e(t){let e=atob(t),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n}function Te(t){let e=(0,q.blake2bInit)(t);return{update(n){return(0,q.blake2bUpdate)(e,n),this},digest(n){return n.set((0,q.blake2bFinal)(e)),n}}}async function Rt(t,e=globalThis.WebAssembly){if(e!=null&&e.instantiate)try{let{instance:n}=await e.instantiate(_e(It)),o=n.exports;return new Uint8Array(o.memory.buffer).set(t,o.puzzle_ptr()),o.prepare_puzzle(),{kind:"scalar",wasm:!0,async solve(A,r){for(let i=0;i<He;i+=Ct){if(o.solve_batch(r,A,i,Ct)){let s=o.get_solution_nonce()>>>0,B=t.slice(120,128);return B[0]=r,B[4]=s>>>24,B[5]=s>>>16,B[6]=s>>>8,B[7]=s,B}await new Promise(s=>setTimeout(s,0))}return new Uint8Array(0)}}}catch(n){console.warn("[privatecaptcha][worker] scalar WASM unavailable",n)}return{kind:"js",wasm:!1,async solve(n,o,A){return vt(t,n,o,A,Te).slice()}}}var Xt="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QfAAakEEEICAgIAAGiABQbAJakGACCABQbABakHIABCPgICAACABKAJAIAEoAlQgBGxqIQNBACECA0AgAyACaiABQfAAaiABQbAJaiACakEIEICAgIAAKQMANwMAIAJBCGoiAkGACEcNAAsgAUEBNgJwIAYgAUHwAGpBBBCAgICAABogAUGwCWpBgAggAUGwAWpByAAQj4CAgAAgASgCQCABKAJUIARsakGACGohA0EAIQIDQCADIAJqIAFB8ABqIAFBsAlqIAJqQQgQgICAgAApAwA3AwAgAkEIaiICQYAIRw0ACyAEQYAIaiEEIAVBAWoiBSABKAJYSQ0ACwsCQEEALQDAiIGIAA0AIAFBsAlqQYAIEI2AgIAAQQAtAMCIgYgADQAgAUGwAWpByAAQjYCAgAALAkAgASgCWCIEDQBBZyECDAILAkAgASgCSCIFRQ0AQQEhAkEAIQMDQAJAAkAgAg0AQQAhAgwBCwJAAkAgBEUNAEEAIQIDQCABIAM2ArAJIAFBADYCvAkgAUEAOgC4CSABIAI2ArQJIAEgASkCsAk3AzAgASABKQK4CTcDOCABQcAAaiABQTBqEJCAgIAAIAJBAWoiAiABKAJYIgRJDQALAkAgBA0AQQAhBAwCC0EAIQIDQCABIAM2ArAJIAFBADYCvAkgASACNgK0CSABIAEpArAJNwMgIAFBAToAuAkgASABKQK4CTcDKCABQcAAaiABQSBqEJCAgIAAIAJBAWoiAiABKAJYIgRJDQALAkAgBA0AQQAhBAwCC0EAIQIDQCABIAM2ArAJIAFBADYCvAkgAUECOgC4CSABIAI2ArQJIAEgASkCsAk3AxAgASABKQK4CTcDGCABQcAAaiABQRBqEJCAgIAAIAJBAWoiAiABKAJYIgRJDQALCwJAIAQNAEEAIQQMAQtBACECA0AgASADNgKwCSABQQA2ArwJIAFBAzoAuAkgASACNgK0CSABIAEpArAJNwMAIAEgASkCuAk3AwggAUHAAGogARCQgICAACACQQFqIgIgASgCWCIESQ0ACwsgASgCSCEFIAQhAgsgA0EBaiIDIAVJDQALCyABQbAJaiABKAJAIAEoAlRBCnRqQYB4akGACBCAgICAACEJAkAgASgCWCIIQQJJDQAgASgCVCICQQp0IQogAkELdCABKAJAakGAeGohBkEBIQcDQEEAIQMDQCABQbAJaiADaiICIAIpAwAgBiADaiIEKQMAhTcDACACQQhqIgUgBSkDACAEQQhqKQMAhTcDACACQRBqIgUgBSkDACAEQRBqKQMAhTcDACACQRhqIgIgAikDACAEQRhqKQMAhTcDACADQSBqIgNBgAhHDQALIAYgCmohBiAHQQFqIgcgCEcNAAsLQQAhAgNAIAEgAUGwCWogAmopAwA3A3AgAUGwAWogAmogAUHwAGpBCBCAgICAABogAkEIaiICQYAIRw0ACyAAKAIAIAAoAgQgAUGwAWpBgAgQj4CAgAACQAJAAkBBAC0AwIiBiAANACAJQYAIEI2AgIAAQQAtAMCIgYgARQ0BCyABKAJMQQp0IQIgASgCQCEDDAELIAFBsAFqQYAIEI2AgIAAIAEoAkxBCnQhAiABKAJAIgNFDQBBAC0AwIiBiABBAXENACADIAIQjYCAgAALAkAgACgCQCIARQ0AIAMgAiAAEYGAgIAAgICAgAALQQAhAgwBC0FqIQILIAFBsBFqJICAgIAAIAILJgEBf0F/IQICQCABQYCAgAhHDQAgAEHAiIGAADYCAEEAIQILIAILAgALvwEBAn8jgICAgABB0ABrIgQkgICAgABBACEFQQAgADoAiIiBgAACQCADRQ0AQQAhBQNAQQAgAiACQRB4c0GA/oN4cUEIdiACQQh4czYCjIiBgAAgBEEIakGAgIGAAEHIAPwKAABBAEEBOgDAiIGIACAEQQhqEIeAgIAADQECQEEAKAKQiIGAACABTQ0AIAJBAWohAiADQX9qIgNFDQIMAQsLQQAgAjYCsIiBgABBASEFCyAEQdAAaiSAgICAACAFC9MCAgJ/AX4jgICAgABBEGsiAiSAgICAACAAQQBB8AEQgYCAgABB0ICBgABBwAAQgICAgAAhACACQQhqIAFBCBCAgICAACEDIAAgACkDACADKQMAhTcDACADIAFBCGpBCBCAgICAACEDIAAgACkDCCADKQMAhTcDCCADIAFBEGpBCBCAgICAACEDIAAgACkDECADKQMAhTcDECADIAFBGGpBCBCAgICAACEDIAAgACkDGCADKQMAhTcDGCADIAFBIGpBCBCAgICAACEDIAAgACkDICADKQMAhTcDICADIAFBKGpBCBCAgICAACEDIAAgACkDKCADKQMAhTcDKCADIAFBMGpBCBCAgICAACEDIAAgACkDMCADKQMAhTcDMCADIAFBOGpBCBCAgICAACkDACEEIAAgAS0AADYC5AEgACAEIAApAziFNwM4IAJBEGokgICAgAALkgICA38BfkEAIQMCQCACRQ0AQX8hAyAAKQNQQgBSDQACQCAAKALgASIDIAJqQYEBSQ0AIABB4ABqIgQgA2ogAUGAASADayIFEICAgIAAGiAAIAApA0AiBkKAAXw3A0AgACAAKQNIIAZC/35WrXw3A0ggACAEEJOAgIAAQQAhAyAAQQA2AuABIAEgBWohASACIAVrIgJBgQFJDQADQCAAIAApA0AiBkKAAXw3A0AgACAAKQNIIAZC/35WrXw3A0ggACABEJOAgIAAIAFBgAFqIQEgAkGAf2oiAkGAAUsNAAsgACgC4AEhAwsgACADakHgAGogASACEICAgIAAGiAAIAAoAuABIAJqNgLgAUEAIQMLIAMLUwEBfyOAgICAAEEQayICJICAgIAAIAIgADYCDCACIAE2AghBACgCyICBgAAhACACKAIMQQAgAigCCCAAEYKAgIAAgICAgAAaIAJBEGokgICAgAALtQQDAn8CfgF/I4CAgIAAQdAAayIDJICAgIAAIANCADcDOCADQgA3AzAgA0IANwMoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCCADQgA3AwBBfyEEAkAgAUUNACAAKALkASACSw0AIAApA1BCAFINACAAIAApA0AiBSAAKALgASICrXwiBjcDQCAAIAApA0ggBiAFVK18NwNIAkAgAC0A6AFFDQAgAEJ/NwNYCyAAQn83A1BBACEEIABB4ABqIgcgAmpBAEGAASACaxCBgICAABogACAHEJOAgIAAIAMgACkDADcDSCADIANByABqQQgQgICAgAAhAiADIAApAwg3A0ggAkEIaiADQcgAakEIEICAgIAAGiADIAApAxA3A0ggAkEQaiADQcgAakEIEICAgIAAGiADIAApAxg3A0ggAkEYaiADQcgAakEIEICAgIAAGiADIAApAyA3A0ggAkEgaiADQcgAakEIEICAgIAAGiADIAApAyg3A0ggAkEoaiADQcgAakEIEICAgIAAGiADIAApAzA3A0ggAkEwaiADQcgAakEIEICAgIAAGiADIAApAzg3A0ggAkE4aiADQcgAakEIEICAgIAAGiABIAIgACgC5AEQgICAgAAaQQAtAMCIgYgADQAgAkHAABCNgICAAEEAIQRBAC0AwIiBiAANACAHQYABEI2AgIAAQQAhBEEALQDAiIGIAA0AIABBwAAQjYCAgAALIANB0ABqJICAgIAAIAQL1wYBA38jgICAgABBsAVrIgQkgICAgAAgBEEANgKMASAEIAE2AoADIARBjAFqIARBgANqQQQQgICAgAAhBQJAAkAgAUHAAEsNACAEQZABaiABEJKAgIAAQQBIDQEgBEGQAWogBUEEEIyAgIAAQQBIDQEgBEGQAWogAiADEIyAgIAAQQBIDQEgBEGQAWogACABEI6AgIAAGgwBCyAEQQA7AJADIARCADcAiAMgBELAgIQINwCAAyAEQZIDakEAQQ4QgYCAgAAaIARBoANqQQBBEBCBgICAABogBEGwA2pBAEEQEIGAgIAAGiAEQZABaiAEQYADahCLgICAACAEQZABaiAFQQQQjICAgABBAEgNACAEQZABaiACIAMQjICAgABBAEgNACAEQZABaiAEQcAAakHAABCOgICAAEEASA0AIAAgBEHAAGpBIBCAgICAAEEgaiEFAkAgAUFgaiIBQcEASQ0AIARBoAVqIQIgBEHwBGpBIGohACAEQYIFaiEGA0AgBCAEQcAAakHAABCAgICAACEDIARBADsAgAUgBEIANwD4BCAEQsCAhAg3APAEIAZBAEEOEIGAgIAAGiAAQQBBEBCBgICAABogAkEAQRAQgYCAgAAaIARBgANqIARB8ARqEIuAgIAAAkAgBEGAA2ogA0HAABCMgICAAEF/Sg0AQQAtAMCIgYgADQMgBEGAA2pB8AEQjYCAgAAMAwsgBEGAA2ogBEHAAGpBwAAQjoCAgAAhAwJAQQAtAMCIgYgADQAgBEGAA2pB8AEQjYCAgAALIANBAEgNAiAFIARBwABqQSAQgICAgAAhAyAFQSBqIQUgAUFgaiIBQcAASw0ACyADQSBqIQULIAQgBEHAAGpBwAAQgICAgAAhAwJAAkAgBEGAA2ogARCSgICAAEEASA0AIARBgANqIANBwAAQjICAgABBf0oNAQtBAC0AwIiBiAANASAEQYADakHwARCNgICAAAwBCyAEQYADaiAEQcAAaiABEI6AgIAAIQMCQEEALQDAiIGIAA0AIARBgANqQfABEI2AgIAACyADQQBIDQAgBSAEQcAAaiABEICAgIAAGgsCQEEALQDAiIGIAA0AIARBkAFqQfABEI2AgIAACyAEQbAFaiSAgICAAAvXBgQPfwF+AX8DfiOAgICAAEGAGGsiAiSAgICAACABKAIAIQMCQAJAAkACQCAAKAIgIgRBAUcNACABLQAIIQUMAQtBACEGIARBAkcNASADDQFBACEGQQAhByABLQAIIgVBAUsNAgsgAkEAQYAIEIGAgIAAGiACQYAIakEAQYAIEIGAgIAAIgggA603AwAgCCAFrUL/AYM3AxAgCCAErTcDKCAIIAE1AgQ3AwggCCAANQIMNwMYIAggADUCCDcDIEEBIQYLQQAhByADDQBBAiEHAkAgAS0ACCIIRSAGcUEBRg0AQQBBAiAIGyEHDAELIAIgAikDsAhCAXw3A7AIIAIgAkGACGogAkGAEGpBABCRgICAACACIAJBgBBqIAJBgBBqQQAQkYCAgABBASEGCwJAIAcgACgCECIJTw0AQX8gACgCFCIIQX9qIAggASgCBCIKbCAJIAEtAAgiC2xqIgwgB2oiASAIcBsgAWohBCABQQp0IQUgB0F/aiENIANBAEchDiALQQFqIQ8gAyALckUhECAKrSERIAtB/wFxIRIDQCAMIA0iAWoiCCAEIAhBAWogACgCFCIIcEEBRhshBCABQQFqIQ0CQAJAIAZFDQACQCANQf8AcSIKDQAgAiACKQOwCEIBfDcDsAggAiACQYAIaiACQYAQakEAEJGAgIAAIAIgAkGAEGogAkGAEGpBABCRgICAAAsgAkGAEGogCkEDdGohCgwBCyAAKAIAIARBCnRqIQoLIBEgCikDACITQiCIpyAAKAIYcK0gEBshFAJAAkAgAw0AQgAhFQJAIBINACABIQoMAgsgCSALbCEKAkAgFCARUg0AIAcgCmpBf2ohCgwCCyAKIAFBf0ZrIQoMAQsCQAJAIBQgEVINACABIAggCWtqIQoMAQsgCCAJayABQX9GayEKC0IAIRUgEkEDRg0AIAkgD2ytIRULIAAoAgAiCSAEQQp0aiAJIAggFKdsQQp0aiAVIApBf2qtfCATQv////8PgyIUIBR+QiCIIAqtfkIgiH0gCK2Cp0EKdGogCSAFaiAAKAIEQRBHIA5xEJGAgIAAIAVBgAhqIQUgBEEBaiEEIAdBAWohByABQQJqIAAoAhAiCUkNAAsLIAJBgBhqJICAgIAAC+YaFAZ/BH4BfwF+AX8BfgF/AX4BfwF+AX8DfgF/A34BfwF+AX8BfgF/A34jgICAgABBgBBrIgQkgICAgABBgHghBSAEQYAIaiABQYAIEICAgIAAIQYDQCAEQYAIaiAFaiIBQYAIaiIHIAcpAwAgACAFaiIHQYAIaikDAIU3AwAgAUGICGoiCCAIKQMAIAdBiAhqKQMAhTcDACABQZAIaiIIIAgpAwAgB0GQCGopAwCFNwMAIAFBmAhqIgEgASkDACAHQZgIaikDAIU3AwAgBUEgaiIFDQALIAQgBkGACBCAgICAACEJAkAgA0UNAEGAeCEFA0AgBCAFaiIBQYAIaiIHIAcpAwAgAiAFaiIHQYAIaikDAIU3AwAgAUGICGoiCCAIKQMAIAdBiAhqKQMAhTcDACABQZAIaiIIIAgpAwAgB0GQCGopAwCFNwMAIAFBmAhqIgEgASkDACAHQZgIaikDAIU3AwAgBUEgaiIFDQALC0GAeCEBA0AgBEGACGogAWoiBUGACGoiByAFQbgIaiIIKQMAIgogBUGYCGoiACkDACILfCALQgGGQv7///8fgyAKQv////8Pg358IgsgBUH4CGoiAykDAIVCIIkiDCAFQdgIaiIGKQMAIg18IA1CAYZC/v///x+DIAxC/////w+DfnwiDSAKhUIoiSIKIAt8IApC/////w+DIAtCAYZC/v///x+DfnwiCyAMhUIwiSIMIAVBqAhqIg4pAwAiDyAFQYgIaiIQKQMAIhF8IBFCAYZC/v///x+DIA9C/////w+DfnwiESAFQegIaiISKQMAhUIgiSITIAVByAhqIhQpAwAiFXwgFUIBhkL+////H4MgE0L/////D4N+fCIVIA+FQiiJIg8gEXwgD0L/////D4MgEUIBhkL+////H4N+fCIRIBOFQjCJIhMgFXwgE0L/////D4MgFUIBhkL+////H4N+fCIVIA+FQgGJIg8gBUGgCGoiFikDACIXIAcpAwAiGHwgGEIBhkL+////H4MgF0L/////D4N+fCIYIAVB4AhqIgcpAwCFQiCJIhkgBUHACGoiGikDACIbfCAbQgGGQv7///8fgyAZQv////8Pg358IhsgF4VCKIkiFyAYfCAXQv////8PgyAYQgGGQv7///8fg358Ihh8IA9C/////w+DIBhCAYZC/v///x+DfnwiHIVCIIkiHSAFQbAIaiIeKQMAIh8gBUGQCGoiICkDACIhfCAhQgGGQv7///8fgyAfQv////8Pg358IiEgBUHwCGoiIikDAIVCIIkiIyAFQdAIaiIFKQMAIiR8ICRCAYZC/v///x+DICNC/////w+DfnwiJCAfhUIoiSIfICF8IB9C/////w+DICFCAYZC/v///x+DfnwiISAjhUIwiSIjICR8ICNC/////w+DICRCAYZC/v///x+DfnwiJHwgHUL/////D4MgJEIBhkL+////H4N+fCIlIA+FQiiJIg8gHHwgD0L/////D4MgHEIBhkL+////H4N+fCIcNwMAIAMgHCAdhUIwiSIcNwMAIAUgHCAlfCAcQv////8PgyAlQgGGQv7///8fg358Ihw3AwAgDiAcIA+FQgGJNwMAIAcgDCANfCAMQv////8PgyANQgGGQv7///8fg358IgwgJCAfhUIBiSINIBF8IA1C/////w+DIBFCAYZC/v///x+DfnwiDyAYIBmFQjCJIhGFQiCJIhh8IAxCAYZC/v///x+DIBhC/////w+DfnwiGSANhUIoiSINIA98IA1C/////w+DIA9CAYZC/v///x+DfnwiHCAYhUIwiSIPNwMAIBAgHDcDACAGIA8gGXwgD0L/////D4MgGUIBhkL+////H4N+fCIPNwMAIB4gDyANhUIBiTcDACASIAwgCoVCAYkiCiAhfCAKQv////8PgyAhQgGGQv7///8fg358IgwgE4VCIIkiDSARIBt8IBFC/////w+DIBtCAYZC/v///x+DfnwiD3wgDUL/////D4MgD0IBhkL+////H4N+fCIRIAqFQiiJIgogDHwgCkL/////D4MgDEIBhkL+////H4N+fCITIA2FQjCJIgw3AwAgICATNwMAIBogDCARfCAMQv////8PgyARQgGGQv7///8fg358Igw3AwAgCCAMIAqFQgGJNwMAICIgCyAPIBeFQgGJIgp8IAtCAYZC/v///x+DIApC/////w+DfnwiCyAjhUIgiSIMIBV8IAxC/////w+DIBVCAYZC/v///x+DfnwiDSAKhUIoiSIKIAt8IApC/////w+DIAtCAYZC/v///x+DfnwiDyAMhUIwiSILNwMAIAAgDzcDACAUIAsgDXwgC0L/////D4MgDUIBhkL+////H4N+fCILNwMAIBYgCyAKhUIBiTcDACABQYABaiIBDQALQYB/IQEDQCAEQYAIaiABaiIFQYABaiIHIAVBiARqIggpAwAiCiAFQYgCaiIAKQMAIgt8IAtCAYZC/v///x+DIApC/////w+DfnwiCyAFQYgIaiIDKQMAhUIgiSIMIAVBiAZqIgYpAwAiDXwgDUIBhkL+////H4MgDEL/////D4N+fCINIAqFQiiJIgogC3wgCkL/////D4MgC0IBhkL+////H4N+fCILIAyFQjCJIgwgBUGIA2oiDikDACIPIAVBiAFqIhApAwAiEXwgEUIBhkL+////H4MgD0L/////D4N+fCIRIAVBiAdqIhIpAwCFQiCJIhMgBUGIBWoiFCkDACIVfCAVQgGGQv7///8fgyATQv////8Pg358IhUgD4VCKIkiDyARfCAPQv////8PgyARQgGGQv7///8fg358IhEgE4VCMIkiEyAVfCATQv////8PgyAVQgGGQv7///8fg358IhUgD4VCAYkiDyAFQYADaiIWKQMAIhcgBykDACIYfCAYQgGGQv7///8fgyAXQv////8Pg358IhggBUGAB2oiBykDAIVCIIkiGSAFQYAFaiIaKQMAIht8IBtCAYZC/v///x+DIBlC/////w+DfnwiGyAXhUIoiSIXIBh8IBdC/////w+DIBhCAYZC/v///x+DfnwiGHwgD0L/////D4MgGEIBhkL+////H4N+fCIchUIgiSIdIAVBgARqIh4pAwAiHyAFQYACaiIgKQMAIiF8ICFCAYZC/v///x+DIB9C/////w+DfnwiISAFQYAIaiIiKQMAhUIgiSIjIAVBgAZqIgUpAwAiJHwgJEIBhkL+////H4MgI0L/////D4N+fCIkIB+FQiiJIh8gIXwgH0L/////D4MgIUIBhkL+////H4N+fCIhICOFQjCJIiMgJHwgI0L/////D4MgJEIBhkL+////H4N+fCIkfCAdQv////8PgyAkQgGGQv7///8fg358IiUgD4VCKIkiDyAcfCAPQv////8PgyAcQgGGQv7///8fg358Ihw3AwAgAyAcIB2FQjCJIhw3AwAgBSAcICV8IBxC/////w+DICVCAYZC/v///x+DfnwiHDcDACAOIBwgD4VCAYk3AwAgByAMIA18IAxC/////w+DIA1CAYZC/v///x+DfnwiDCAkIB+FQgGJIg0gEXwgDUL/////D4MgEUIBhkL+////H4N+fCIPIBggGYVCMIkiEYVCIIkiGHwgDEIBhkL+////H4MgGEL/////D4N+fCIZIA2FQiiJIg0gD3wgDUL/////D4MgD0IBhkL+////H4N+fCIcIBiFQjCJIg83AwAgECAcNwMAIAYgDyAZfCAPQv////8PgyAZQgGGQv7///8fg358Ig83AwAgHiAPIA2FQgGJNwMAIBIgDCAKhUIBiSIKICF8IApC/////w+DICFCAYZC/v///x+DfnwiDCAThUIgiSINIBEgG3wgEUL/////D4MgG0IBhkL+////H4N+fCIPfCANQv////8PgyAPQgGGQv7///8fg358IhEgCoVCKIkiCiAMfCAKQv////8PgyAMQgGGQv7///8fg358IhMgDYVCMIkiDDcDACAgIBM3AwAgGiAMIBF8IAxC/////w+DIBFCAYZC/v///x+DfnwiDDcDACAIIAwgCoVCAYk3AwAgIiALIA8gF4VCAYkiCnwgC0IBhkL+////H4MgCkL/////D4N+fCILICOFQiCJIgwgFXwgDEL/////D4MgFUIBhkL+////H4N+fCINIAqFQiiJIgogC3wgCkL/////D4MgC0IBhkL+////H4N+fCIPIAyFQjCJIgs3AwAgACAPNwMAIBQgCyANfCALQv////8PgyANQgGGQv7///8fg358Igs3AwAgFiALIAqFQgGJNwMAIAFBEGoiAQ0ACyACIAlBgAgQgICAgAAaQYB4IQUDQCACIAVqIgFBgAhqIgcgBykDACAEQYAIaiAFaiIHQYAIaikDAIU3AwAgAUGICGoiCCAIKQMAIAdBiAhqKQMAhTcDACABQZAIaiIIIAgpAwAgB0GQCGopAwCFNwMAIAFBmAhqIgEgASkDACAHQZgIaikDAIU3AwAgBUEgaiIFDQALIARBgBBqJICAgIAAC9ABAQJ/I4CAgIAAQcAAayICJICAgIAAAkACQCABDQACQEEALQDAiIGIAA0AIABB8AEQjYCAgAALAkAgAC0A6AFFDQAgAEJ/NwNYCyAAQn83A1BBfyEDDAELQQAhAyACQQA7ABAgAkIANwAIIAJBADYABCACQQE6AAMgAkGAAjsAASACIAE6AAAgAkESakEAQQ4QgYCAgAAaIAJBIGpBAEEQEIGAgIAAGiACQTBqQQBBEBCBgICAABogACACEIuAgIAACyACQcAAaiSAgICAACADC4sMAgJ/E34jgICAgABBkAFrIgIkgICAgAAgAiACQYgBaiABQQgQgICAgAAiAykDADcDACACIAMgAUEIakEIEICAgIAAIgMpAwA3AwggAiADIAFBEGpBCBCAgICAACIDKQMANwMQIAIgAyABQRhqQQgQgICAgAAiAykDADcDGCACIAMgAUEgakEIEICAgIAAIgMpAwA3AyAgAiADIAFBKGpBCBCAgICAACIDKQMANwMoIAIgAyABQTBqQQgQgICAgAAiAykDADcDMCACIAMgAUE4akEIEICAgIAAIgMpAwA3AzggAiADIAFBwABqQQgQgICAgAAiAykDADcDQCACIAMgAUHIAGpBCBCAgICAACIDKQMANwNIIAIgAyABQdAAakEIEICAgIAAIgMpAwA3A1AgAiADIAFB2ABqQQgQgICAgAAiAykDADcDWCACIAMgAUHgAGpBCBCAgICAACIDKQMANwNgIAIgAyABQegAakEIEICAgIAAIgMpAwA3A2ggAiADIAFB8ABqQQgQgICAgAAiAykDADcDcCACIAMgAUH4AGpBCBCAgICAACkDADcDeCAAKQNYQvnC+JuRo7Pw2wCFIQQgACkDUELr+obav7X2wR+FIQUgACkDSEKf2PnZwpHagpt/hSEGIAApA0BC0YWa7/rPlIfRAIUhByAAKQM4IQggACkDMCEJIAApAyghCiAAKQMgIQsgACkDGCEMIAApAxAhDSAAKQMIIQ4gACkDACEPQqvw0/Sv7ry3PCEQQrvOqqbY0Ouzu38hEUKIkvOd/8z5hOoAIRJC8e30+KWn/aelfyETQYB6IQEDQCAQIAUgCSANfCACIAFBoIeBgABqKAIAQQN0aikDAHwiDYVCIIkiBXwiECAJhUIoiSIJIA18IAIgAUGkh4GAAGooAgBBA3RqKQMAfCIUIBMgBCAIIAx8IAIgAUGoh4GAAGooAgBBA3RqKQMAfCIMhUIgiSIEfCINIAiFQiiJIgggDHwgAiABQayHgYAAaigCAEEDdGopAwB8IgwgBIVCMIkiBCANfCITIAiFQgGJIgh8IAIgAUHAh4GAAGooAgBBA3RqKQMAfCINIBEgBiAKIA58IAIgAUGYh4GAAGooAgBBA3RqKQMAfCIOhUIgiSIGfCIRIAqFQiiJIgogDnwgAiABQZyHgYAAaigCAEEDdGopAwB8Ig4gBoVCMIkiFYVCIIkiBiASIAcgCyAPfCACIAFBkIeBgABqKAIAQQN0aikDAHwiD4VCIIkiB3wiEiALhUIoiSILIA98IAIgAUGUh4GAAGooAgBBA3RqKQMAfCIPIAeFQjCJIgcgEnwiFnwiEiAIhUIoiSIIIA18IAIgAUHEh4GAAGooAgBBA3RqKQMAfCINIAaFQjCJIgYgEnwiEiAIhUIBiSEIIA4gFCAFhUIwiSIFIBB8IhAgCYVCAYkiCXwgAiABQbiHgYAAaigCAEEDdGopAwB8Ig4gB4VCIIkiByATfCITIAmFQiiJIgkgDnwgAiABQbyHgYAAaigCAEEDdGopAwB8Ig4gB4VCMIkiByATfCITIAmFQgGJIQkgDyAVIBF8IhEgCoVCAYkiCnwgAiABQbCHgYAAaigCAEEDdGopAwB8Ig8gBIVCIIkiBCAQfCIQIAqFQiiJIgogD3wgAiABQbSHgYAAaigCAEEDdGopAwB8Ig8gBIVCMIkiBCAQfCIQIAqFQgGJIQogDCAWIAuFQgGJIgt8IAIgAUHIh4GAAGooAgBBA3RqKQMAfCIMIAWFQiCJIgUgEXwiESALhUIoiSILIAx8IAIgAUHMh4GAAGooAgBBA3RqKQMAfCIMIAWFQjCJIgUgEXwiESALhUIBiSELIAFBwABqIgENAAsgACAOIAApAwiFIBGFNwMIIAAgCSAAKQMwhSAFhTcDMCAAIA0gACkDEIUgEIU3AxAgACAMIAApAxiFIBOFNwMYIAAgCyAAKQMghSAHhTcDICAAIAggACkDOIUgBIU3AzggACAPIAApAwCFIBKFNwMAIAAgCiAAKQMohSAGhTcDKCACQZABaiSAgICAAAsLmQcBAEGAgAELkAcQRAAAIAAAAJBDAACAAAAAkEMAABAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAABAAAABAAAAAQAAABMAAAABAAAAAgAAAAAAAAADAAAAAAAAAAjJvPNn5glqO6fKhIWuZ7sr+JT+cvNuPPE2HV869U+l0YLmrX9SDlEfbD4rjGgFm2u9Qfur2YMfeSF+ExnN4FsAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAADgAAAAoAAAAEAAAACAAAAAkAAAAPAAAADQAAAAYAAAABAAAADAAAAAAAAAACAAAACwAAAAcAAAAFAAAAAwAAAAsAAAAIAAAADAAAAAAAAAAFAAAAAgAAAA8AAAANAAAACgAAAA4AAAADAAAABgAAAAcAAAABAAAACQAAAAQAAAAHAAAACQAAAAMAAAABAAAADQAAAAwAAAALAAAADgAAAAIAAAAGAAAABQAAAAoAAAAEAAAAAAAAAA8AAAAIAAAACQAAAAAAAAAFAAAABwAAAAIAAAAEAAAACgAAAA8AAAAOAAAAAQAAAAsAAAAMAAAABgAAAAgAAAADAAAADQAAAAIAAAAMAAAABgAAAAoAAAAAAAAACwAAAAgAAAADAAAABAAAAA0AAAAHAAAABQAAAA8AAAAOAAAAAQAAAAkAAAAMAAAABQAAAAEAAAAPAAAADgAAAA0AAAAEAAAACgAAAAAAAAAHAAAABgAAAAMAAAAJAAAAAgAAAAgAAAALAAAADQAAAAsAAAAHAAAADgAAAAwAAAABAAAAAwAAAAkAAAAFAAAAAAAAAA8AAAAEAAAACAAAAAYAAAACAAAACgAAAAYAAAAPAAAADgAAAAkAAAALAAAAAwAAAAAAAAAIAAAADAAAAAIAAAANAAAABwAAAAEAAAAEAAAACgAAAAUAAAAKAAAAAgAAAAgAAAAEAAAABwAAAAYAAAABAAAABQAAAA8AAAALAAAACQAAAA4AAAADAAAADAAAAA0AAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAAA4AAAAKAAAABAAAAAgAAAAJAAAADwAAAA0AAAAGAAAAAQAAAAwAAAAAAAAAAgAAAAsAAAAHAAAABQAAAAMAAAA=";function qt(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in t&&t.BYTES_PER_ELEMENT===1}var at=t=>t?`"${t}" `:"";function R(t,e=""){if(typeof t!="number")throw new TypeError(at(e)+"expected number, got "+typeof t);if(!Number.isSafeInteger(t)||t<0)throw new RangeError(at(e)+"expected integer >= 0, got "+t);return t}function M(t,e,n=""){if(qt(t)&&(e===void 0||t.length===e))return t;e!==void 0&&R(e,"length");let o=qt(t),A=e!==void 0?` of length ${e}`:"",r=o?`length=${t.length}`:`type=${typeof t}`,i=at(n)+"expected Uint8Array"+A+", got "+r;throw o?new RangeError(i):new TypeError(i)}function jt(t){return Uint8Array.from(M(t))}var Se=(t,e)=>{if(t===null||typeof t!="object"||Array.isArray(t))throw new TypeError((e==="object"?"":`"${e}" `)+"expected object, got type="+typeof t)},Ft=(t,e)=>{Se(t,e);let n=Object.getPrototypeOf(t);if(n!==Object.prototype&&n!==null)throw new TypeError(`"${e}" expected plain object`);if(Object.hasOwn(t,"__proto__"))throw new TypeError(`"${e}.__proto__" is not allowed`)};function ut(t,e=!0){if(t.destroyed)throw new Error("hash was destroyed");if(e&&t.finished)throw new Error("digest() was already called")}function Vt(t,e){M(t,void 0,"output");let n=e.outputLen;if(!(t.length>=n))throw new RangeError(\'"output" expected length >= \'+n)}function W(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function G(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function _(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}var Wt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Kt(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}var $=Wt?t=>t:t=>Kt(t)>>>0;function Me(t){for(let e=0;e<t.length;e++)t[e]=Kt(t[e]);return t}var S=Wt?t=>t:Me;function ze(t){if(typeof t!="string")throw new TypeError("string expected");let e=new TextEncoder().encode(t);try{return new Uint8Array(e)}finally{_(e)}}function nt(t,e=""){return typeof t=="string"?ze(t):M(t,void 0,e)}function K(t,e,n="opts"){return Ft(t,"defaults"),e!==void 0&&Ft(e,n),Object.assign(Object.create(null),t,e)}function Yt(t,e={}){if(typeof t!="function")throw new TypeError(\'"hashCons" expected function, got type=\'+typeof t);e=K({},e,"info");let n=(A,r)=>t(r).update(A).digest(),o=t(void 0);return n.outputLen=o.outputLen,n.blockLen=o.blockLen,n.canXOF=o.canXOF,n.create=A=>t(A),Object.assign(n,e),Object.freeze(n)}var Zt=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]);var Jt=t=>t/2**32|0,Qt=t=>t>>>0;var ht=(t,e,n)=>t>>>n|e<<32-n,pt=(t,e,n)=>t<<32-n|e>>>n,te=(t,e,n)=>t<<64-n|e>>>n-32,ee=(t,e,n)=>t>>>n-32|e<<64-n,ne=(t,e)=>e,re=(t,e)=>t;function dt(t,e,n,o){let A=(e>>>0)+(o>>>0);return{h:t+n+(A/2**32|0)|0,l:A|0}}var wt=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),yt=(t,e,n,o)=>e+n+o+(t/2**32|0)|0;var k=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),c=new Uint32Array(32);function D(t,e,n,o,A,r){let i=A[r],s=A[r+1],B=c[2*t],j=c[2*t+1],l=c[2*e],a=c[2*e+1],f=c[2*n],d=c[2*n+1],u=c[2*o],p=c[2*o+1],w=wt(B,l,i);j=yt(w,j,a,s),B=w|0;let y=p^j,x=u^B;p=ne(y,x),u=re(y,x),{h:d,l:f}=dt(d,f,p,u),y=a^d,x=l^f,a=ht(y,x,24),l=pt(y,x,24),c[2*t]=B,c[2*t+1]=j,c[2*e]=l,c[2*e+1]=a,c[2*n]=f,c[2*n+1]=d,c[2*o]=u,c[2*o+1]=p}function N(t,e,n,o,A,r){let i=A[r],s=A[r+1],B=c[2*t],j=c[2*t+1],l=c[2*e],a=c[2*e+1],f=c[2*n],d=c[2*n+1],u=c[2*o],p=c[2*o+1],w=wt(B,l,i);j=yt(w,j,a,s),B=w|0;let y=p^j,x=u^B;p=ht(y,x,16),u=pt(y,x,16),{h:d,l:f}=dt(d,f,p,u),y=a^d,x=l^f,a=te(y,x,63),l=ee(y,x,63),c[2*t]=B,c[2*t+1]=j,c[2*e]=l,c[2*e+1]=a,c[2*n]=f,c[2*n+1]=d,c[2*o]=u,c[2*o+1]=p}function Pe(t,e={},n,o,A){if(R(n),t<=0||t>n)throw new Error(\'"dkLen" must be 1..\'+n+", got "+t);let{key:r,salt:i,personalization:s}=e;if(r!==void 0&&(r.length<1||r.length>n))throw new Error(\'"key" expected to be undefined or of length=1..\'+n);i!==void 0&&M(i,o,"salt"),s!==void 0&&M(s,A,"personalization")}var xt=class{constructor(e,n){g(this,"buffer");g(this,"buffer32");g(this,"finished",!1);g(this,"destroyed",!1);g(this,"length",0);g(this,"pos",0);g(this,"blockLen");g(this,"outputLen");g(this,"canXOF",!1);R(e),R(n),this.blockLen=e,this.outputLen=n,this.buffer=new Uint8Array(e),this.buffer32=G(this.buffer)}update(e){ut(this),M(e);let{blockLen:n,buffer:o,buffer32:A}=this,r=e.length,i=e.byteOffset,s=e.buffer;for(let B=0;B<r;){this.pos===n&&(S(A),this.compress(A,0,!1),S(A),this.pos=0);let j=Math.min(n-this.pos,r-B),l=i+B;if(j===n&&!(l%4)&&B+j<r){let a=new Uint32Array(s,l,Math.floor((r-B)/4));S(a);for(let f=0;B+n<r;f+=A.length,B+=n)this.length+=n,this.compress(a,f,!1);S(a);continue}o.set(B===0&&j===r?e:e.subarray(B,B+j),this.pos),this.pos+=j,this.length+=j,B+=j}return this}digestInto(e){if(ut(this),Vt(e,this),e.byteOffset&3)throw new RangeError(\'"output" expected 4-byte aligned byteOffset, got \'+e.byteOffset);let{pos:n,buffer32:o}=this;this.finished=!0,this.buffer.fill(0,n),S(o),this.compress(o,0,!0),S(o);let A=this.get(),r=e===this.buffer?o:G(e),i=Math.floor(this.outputLen/4);for(let l=0;l<i;l++)r[l]=$(A[l]);let s=this.outputLen%4;if(!s)return;let B=i*4,j=A[i];for(let l=0;l<s;l++)e[B+l]=j>>>8*l}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let o=e.slice(0,n);return this.destroy(),o}_cloneInto(e){let{buffer:n,length:o,finished:A,destroyed:r,outputLen:i,pos:s}=this;return e||(e=new this.constructor({dkLen:i})),e.set(...this.get()),e.buffer.set(n),e.destroyed=r,e.finished=A,e.length=o,e.pos=s,e.outputLen=i,e}clone(){return this._cloneInto()}},gt=class extends xt{constructor(n={}){n=K({},n);let o=n.dkLen===void 0?64:n.dkLen;super(128,o);g(this,"v0l",k[0]|0);g(this,"v0h",k[1]|0);g(this,"v1l",k[2]|0);g(this,"v1h",k[3]|0);g(this,"v2l",k[4]|0);g(this,"v2h",k[5]|0);g(this,"v3l",k[6]|0);g(this,"v3h",k[7]|0);g(this,"v4l",k[8]|0);g(this,"v4h",k[9]|0);g(this,"v5l",k[10]|0);g(this,"v5h",k[11]|0);g(this,"v6l",k[12]|0);g(this,"v6h",k[13]|0);g(this,"v7l",k[14]|0);g(this,"v7h",k[15]|0);Pe(o,n,64,16,16);let{key:A,personalization:r,salt:i}=n,s=0;if(A!==void 0&&(M(A,void 0,"key"),s=A.length),this.v0l^=this.outputLen|s<<8|65536|1<<24,i!==void 0){M(i,void 0,"salt");let B=G(jt(i));this.v4l^=$(B[0]),this.v4h^=$(B[1]),this.v5l^=$(B[2]),this.v5h^=$(B[3])}if(r!==void 0){M(r,void 0,"personalization");let B=G(jt(r));this.v6l^=$(B[0]),this.v6h^=$(B[1]),this.v7l^=$(B[2]),this.v7h^=$(B[3])}if(A!==void 0){let B=new Uint8Array(this.blockLen);B.set(A),this.update(B),_(B)}}get(){let{v0l:n,v0h:o,v1l:A,v1h:r,v2l:i,v2h:s,v3l:B,v3h:j,v4l:l,v4h:a,v5l:f,v5h:d,v6l:u,v6h:p,v7l:w,v7h:y}=this;return[n,o,A,r,i,s,B,j,l,a,f,d,u,p,w,y]}set(n,o,A,r,i,s,B,j,l,a,f,d,u,p,w,y){this.v0l=n|0,this.v0h=o|0,this.v1l=A|0,this.v1h=r|0,this.v2l=i|0,this.v2h=s|0,this.v3l=B|0,this.v3h=j|0,this.v4l=l|0,this.v4h=a|0,this.v5l=f|0,this.v5h=d|0,this.v6l=u|0,this.v6h=p|0,this.v7l=w|0,this.v7h=y|0}compress(n,o,A){let{v0l:r,v0h:i,v1l:s,v1h:B,v2l:j,v2h:l,v3l:a,v3h:f,v4l:d,v4h:u,v5l:p,v5h:w,v6l:y,v6h:x,v7l:H,v7h:I}=this;c[0]=r,c[1]=i,c[2]=s,c[3]=B,c[4]=j,c[5]=l,c[6]=a,c[7]=f,c[8]=d,c[9]=u,c[10]=p,c[11]=w,c[12]=y,c[13]=x,c[14]=H,c[15]=I,c.set(k,16);let T=Qt(this.length),L=Jt(this.length);c[24]=k[8]^T,c[25]=k[9]^L,A&&(c[28]=~c[28],c[29]=~c[29]);let m=0,b=Zt;for(let z=0;z<12;z++)D(0,4,8,12,n,o+2*b[m++]),N(0,4,8,12,n,o+2*b[m++]),D(1,5,9,13,n,o+2*b[m++]),N(1,5,9,13,n,o+2*b[m++]),D(2,6,10,14,n,o+2*b[m++]),N(2,6,10,14,n,o+2*b[m++]),D(3,7,11,15,n,o+2*b[m++]),N(3,7,11,15,n,o+2*b[m++]),D(0,5,10,15,n,o+2*b[m++]),N(0,5,10,15,n,o+2*b[m++]),D(1,6,11,12,n,o+2*b[m++]),N(1,6,11,12,n,o+2*b[m++]),D(2,7,8,13,n,o+2*b[m++]),N(2,7,8,13,n,o+2*b[m++]),D(3,4,9,14,n,o+2*b[m++]),N(3,4,9,14,n,o+2*b[m++]);this.v0l^=c[0]^c[16],this.v0h^=c[1]^c[17],this.v1l^=c[2]^c[18],this.v1h^=c[3]^c[19],this.v2l^=c[4]^c[20],this.v2h^=c[5]^c[21],this.v3l^=c[6]^c[22],this.v3h^=c[7]^c[23],this.v4l^=c[8]^c[24],this.v4h^=c[9]^c[25],this.v5l^=c[10]^c[26],this.v5h^=c[11]^c[27],this.v6l^=c[12]^c[28],this.v6h^=c[13]^c[29],this.v7l^=c[14]^c[30],this.v7h^=c[15]^c[31],_(c)}destroy(){this.destroyed=!0,_(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},F=Yt(t=>new gt(t));var rt={Argon2d:0,Argon2i:1,Argon2id:2},Z=4,oe=(t,e="")=>t===void 0?Uint8Array.of():nt(t,e),E=new Uint32Array(256);function v(t,e,n,o){let A=E[2*t],r=E[2*t+1],i=E[2*e],s=E[2*e+1],B=E[2*n],j=E[2*n+1],l=E[2*o],a=E[2*o+1],f=0,d=0,u=0,p=0,w=0;f=Math.imul(A,i),d=((A>>>0)*(i>>>0)-(f>>>0))/4294967296+.5|0,u=(A>>>0)+(i>>>0)+(f<<1>>>0),r=r+s+(d<<1|f>>>31)+(u/4294967296|0)|0,A=u|0,p=a^r,w=l^A,a=w,l=p,f=Math.imul(B,l),d=((B>>>0)*(l>>>0)-(f>>>0))/4294967296+.5|0,u=(B>>>0)+(l>>>0)+(f<<1>>>0),j=j+a+(d<<1|f>>>31)+(u/4294967296|0)|0,B=u|0,p=s^j,w=i^B,s=p>>>24|w<<8,i=p<<8|w>>>24,f=Math.imul(A,i),d=((A>>>0)*(i>>>0)-(f>>>0))/4294967296+.5|0,u=(A>>>0)+(i>>>0)+(f<<1>>>0),r=r+s+(d<<1|f>>>31)+(u/4294967296|0)|0,A=u|0,p=a^r,w=l^A,a=p>>>16|w<<16,l=p<<16|w>>>16,f=Math.imul(B,l),d=((B>>>0)*(l>>>0)-(f>>>0))/4294967296+.5|0,u=(B>>>0)+(l>>>0)+(f<<1>>>0),j=j+a+(d<<1|f>>>31)+(u/4294967296|0)|0,B=u|0,p=s^j,w=i^B,s=p<<1|w>>>31,i=p>>>31|w<<1,E[2*t]=A,E[2*t+1]=r,E[2*e]=i,E[2*e+1]=s,E[2*n]=B,E[2*n+1]=j,E[2*o]=l,E[2*o+1]=a}function Ae(t,e,n,o,A,r,i,s,B,j,l,a,f,d,u,p){v(t,A,B,f),v(e,r,j,d),v(n,i,l,u),v(o,s,a,p),v(t,r,l,p),v(e,i,a,f),v(n,s,B,d),v(o,A,j,u)}function Y(t,e,n,o,A){if(A)for(let r=0;r<256;r++){let i=t[e+r]^t[n+r];E[r]=i,t[o+r]^=i}else for(let r=0;r<256;r++){let i=t[e+r]^t[n+r];E[r]=i,t[o+r]=i}for(let r=0;r<128;r+=16)Ae(r,r+1,r+2,r+3,r+4,r+5,r+6,r+7,r+8,r+9,r+10,r+11,r+12,r+13,r+14,r+15);for(let r=0;r<16;r+=2)Ae(r,r+1,r+16,r+17,r+32,r+33,r+48,r+49,r+64,r+65,r+80,r+81,r+96,r+97,r+112,r+113);for(let r=0;r<256;r++)t[o+r]^=E[r];_(E)}function mt(t,e){let n=W(t),o=new Uint32Array(1),A=W(o);if(o[0]=$(e),e<=64)return F.create({dkLen:e}).update(A).update(n).digest();let r=new Uint8Array(e),i=F.create({}).update(A).update(n).digest(),s=0;for(r.set(i.subarray(0,32)),s+=32;e-s>64;s+=32){let B=F.create({}).update(i);B.digestInto(i),B.destroy(),r.set(i.subarray(0,32),s)}return r.set(F(i,{dkLen:e-s}),s),_(i,o),r}function Ge(t,e,n,o,A,r,i=!1){let s;t===0?e===0?s=A-1:i?s=e*o+A-1:s=e*o+(A==0?-1:0):i?s=n-o+A-1:s=n-o+(A==0?-1:0);let B=t!==0&&e!==Z-1?(e+1)*o:0,j=Math.imul(r,r),l=((r>>>0)*(r>>>0)-(j>>>0))/4294967296+.5|0,a=Math.imul(s,l),f=((s>>>0)*(l>>>0)-(a>>>0))/4294967296+.5|0,d=s-1-f;return(B+d)%n}var De=Math.pow(2,32),Be=1024**2,Ne=Be*1024;function C(t){return Number.isSafeInteger(t)&&t>=0&&t<De}function ve(t={}){t=K({},t);let e={t:3,m:Be,p:1,version:19,dkLen:32,maxmem:Ne,asyncTick:10};for(let[j,l]of Object.entries(t))l!==void 0&&(e[j]=l);let{dkLen:n,p:o,m:A,t:r,version:i,onProgress:s,asyncTick:B}=e;if(!C(n)||n<4)throw new Error(\'"dkLen" must be 4..\');if(!C(o)||o<1||o>=Math.pow(2,24))throw new Error(\'"p" must be 1..2^24\');if(!C(A))throw new Error(\'"m" must be 0..2^32\');if(!C(r)||r<1)throw new Error(\'"t" (iterations) must be 1..2^32\');if(s!==void 0&&typeof s!="function")throw new Error(\'"onProgress" must be a function\');if(R(B,"asyncTick"),!C(A)||A<8*o)throw new Error(\'"m" (memory) must be at least 8*p bytes\');if(i!==16&&i!==19)throw new Error(\'"version" must be 0x10 or 0x13, got \'+i);return e}function Ce(t,e,n,o){let A=[],r=new Uint32Array(1),i=W(r),s,B,j=!1,l=(a,f)=>(typeof a=="string"&&A.push(f),f);try{let a=l(t,nt(t,"password")),f=l(e,nt(e,"salt"));if(!C(a.length))throw new Error(\'"password" must be less of length 1..4Gb\');if(!C(f.length)||f.length<8)throw new Error(\'"salt" must be of length 8..4Gb\');if(!Object.values(rt).includes(n))throw new Error(\'"type" was invalid\');let{p:d,dkLen:u,m:p,t:w,version:y,key:x,personalization:H,maxmem:I,onProgress:T,asyncTick:L}=ve(o),m=x;x=l(m,oe(m,"key"));let b=H;H=l(b,oe(b,"personalization")),s=F.create();for(let z of[d,u,p,w,y,n])r[0]=$(z),s.update(i);for(let z of[a,f,x,H])r[0]=$(z.length),s.update(i).update(z);return B=new Uint32Array(18),s.digestInto(W(B)),j=!0,{H0:B,p:d,dkLen:u,m:p,t:w,version:y,maxmem:I,onProgress:T,asyncTick:L}}finally{s&&s.destroy(),_(r,...A),!j&&B&&_(B)}}function Re(t,e,n,o){let{H0:A,p:r,dkLen:i,m:s,t:B,version:j,maxmem:l,onProgress:a,asyncTick:f}=Ce(t,e,n,o);try{let d=r,u=4*r*Math.floor(s/(Z*r)),p=Math.floor(u/r),w=Math.floor(p/Z),y=u*1024;if(!C(l))throw new Error(\'"maxmem" expected <2**32, got \'+l);if(y>l)throw new Error(\'"maxmem" limit was hit: memUsed(mP*1024)=\'+y+", maxmem="+l);let x=new Uint32Array(y/4);for(let I=0;I<r;I++){let T=256*p*I;A[17]=$(I),A[16]=$(0),x.set(S(G(mt(A,1024))),T),A[16]=$(1),x.set(S(G(mt(A,1024))),T+256)}let H=()=>{};if(a){let I=B*Z*r*w-2*r,T=Math.max(Math.floor(I/1e4),1),L=0;H=()=>{L++,a&&(!(L%T)||L===I)&&a(L/I)}}return{type:n,mP:u,p:r,t:B,version:j,B:x,laneLen:p,lanes:d,segmentLen:w,dkLen:i,perBlock:H,asyncTick:f}}finally{_(A)}}function Xe(t,e,n,o){let A=new Uint32Array(256);for(let i=0;i<e;i++)for(let s=0;s<256;s++)A[s]^=t[256*(n*i+n-1)+s];let r=mt(S(A),o);return _(t,A),r}function*qe(t,e){let{type:n,mP:o,p:A,t:r,version:i,B:s,laneLen:B,lanes:j,segmentLen:l,perBlock:a}=t;e[262]=o,e[264]=r,e[266]=n;for(let f=0;f<r;f++){let d=f!==0&&i===19;e[256]=f;for(let u=0;u<Z;u++){e[260]=u;let p=n==rt.Argon2i||n==rt.Argon2id&&f===0&&u<2;for(let w=0;w<A;w++){e[258]=w,e[268]=0;let y=0;f===0&&u===0&&(y=2,p&&(e[268]++,Y(e,256,2*256,0,!1),Y(e,0,2*256,0,!1)));let x=w*B+u*l+y;for(let H=y;H<l;H++,x++){a();let I=x%B?x-1:x+B-1,T,L;if(p){let X=H%128;X===0&&(e[268]++,Y(e,256,2*256,0,!1),Y(e,0,2*256,0,!1)),T=e[2*X],L=e[2*X+1]}else{let X=256*I;T=s[X],L=s[X+1]}let m=f===0&&u===0?w:L%j,b=Ge(f,u,B,l,H,T,m==w),z=B*m+b;Y(s,256*I,256*z,x*256,d),yield}}}}_(e)}function Fe(t,e,n,o){let A=Re(e,n,t,o),r=qe(A,new Uint32Array(3*256));for(;!r.next().done;);return Xe(A.B,A.p,A.laneLen,A.dkLen)}var ie=(t,e,n={})=>Fe(rt.Argon2id,t,e,n);var se=16*1024,bt=32,ot=128,At=8,ce=65536,Ve=4294967296,We={instantiateWasm:t=>WebAssembly.instantiate(t),nobleHash:ie};function Bt(t,e,n){if(!(t instanceof Uint8Array)||t.length!==e)throw new Error(`Argon2id ${n} must be exactly ${e} bytes`)}function Ke(t,e){let n=new Uint8Array(ot);return n.set(e),n.set(t,ot-At),n}function le(t,e){if(!(t instanceof Uint8Array)||t.length!==bt)throw new Error("Argon2id implementation must return a 32-byte tag");return e.set(t.subarray(0,4)),e}function Ye(t){let e=new Uint8Array(t.memory.buffer,t.puzzle_ptr(),ot),n=new Uint8Array(t.memory.buffer,t.digest_ptr(),bt);return{implementation:"argon2id-scalar",wasm:!0,hash(o,A,r){if(Bt(o,At,"password"),Bt(r,4,"output"),e.fill(0),e.set(A),e.set(o,ot-At),t.hash_puzzle()!==0)throw new Error("Argon2id WASM hash failed");return le(n,r)},async solve(o,A,r){if(!Number.isSafeInteger(A)||A<0||A>4294967295)throw new Error("Argon2id threshold must be a uint32");if(!Number.isSafeInteger(r)||r<0||r>255)throw new Error("Argon2id solution index must be a byte");e.fill(0),e.set(o),t.prepare_puzzle();for(let i=0;i<Ve;i+=ce){let s=t.solve_batch(r,A,i,ce);if(s===1){let B=t.get_solution_nonce()>>>0;return Uint8Array.of(r,0,0,0,B>>>24,B>>>16,B>>>8,B)}if(s!==0)throw new Error("Argon2id WASM search failed");await new Promise(B=>setTimeout(B,0))}throw new Error("Argon2id nonce space exhausted")}}}function Ze(t){return{implementation:"argon2id-noble",wasm:!1,hash(e,n,o){Bt(e,At,"password"),Bt(o,4,"output");let A=Ke(e,n),r=t.nobleHash(A,A.subarray(0,16),{t:1,m:se,p:1,version:19,dkLen:bt,maxmem:se*1024});return le(r,o)}}}async function Je(t,e){var r,i;let n=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),o=await e.instantiateWasm(n),A=(i=(r=o==null?void 0:o.instance)!=null?r:o)==null?void 0:i.exports;if(!(A!=null&&A.memory)||typeof A.hash_puzzle!="function"||typeof A.solve_batch!="function"||typeof A.prepare_puzzle!="function")throw new Error("Argon2id WASM instantiation returned no solver");return A}async function Et(t={}){let e=ct(ct({},We),t);try{return Ye(await Je(Xt,e))}catch(n){return Ze(e)}}var Qe=4294967295;function tn(t){for(let e=t.length-1;e>=4;e--){if(t[e]!==255)return t[e]++,!0;t[e]=0}return!1}async function fe(t,e,n,o){if(!Number.isSafeInteger(e)||e<0||e>Qe)throw new Error("Argon2id threshold must be a uint32");if(!Number.isSafeInteger(n)||n<0||n>255)throw new Error("Argon2id solution index must be a byte");if(!o||typeof o.solve!="function"&&typeof o.hash!="function")throw new Error("Argon2id provider must expose solve() or hash()");if(typeof o.solve=="function")return o.solve(t,e,n);let A=new Uint8Array(8),r=new Uint8Array(4);for(A[0]=n;;){if(o.hash(A,t,r),ft(r,0)<=e)return A.slice();if(!tn(A))throw new Error("Argon2id nonce space exhausted")}}var en=0,nn=1;async function ae(t,e,n={}){var A,r;if(t===en)return((A=n.blake)!=null?A:Rt)(e);if(t!==nn)throw new Error(`Unknown puzzle challenge: ${t}`);let o=await((r=n.argon)!=null?r:Et)();return{wasm:o.wasm,solve(i,s){var B;return((B=n.search)!=null?B:fe)(e,i,s,o)}}}var J=null,je=null;self.onmessage=async t=>{var o;let{command:e,argument:n}=t.data;try{switch(e){case"init":{let{id:A,buffer:r,challenge:i}=n;J=null,J=await ae(i,r),je=A,self.postMessage({command:"init"});break}case"solve":{if(!J)throw new Error("Puzzle worker is not initialized");let{difficulty:A,puzzleIndex:r,debug:i}=n,s=Nt(A),B=await J.solve(s,r,i);if(!(B instanceof Uint8Array)||B.length!==8)throw new Error("Puzzle nonce space exhausted");self.postMessage({command:"solve",argument:{id:je,solution:B,wasm:J.wasm}});break}default:break}}catch(A){self.postMessage({command:"error",error:(o=A==null?void 0:A.message)!=null?o:String(A)})}};\n')}var vA=1,K=class{constructor(A={},e=!1,t=AA){this._solutions=[],this._solutionsCount=0,this._puzzleID=null,this._workers=[],this._debug=e,this._timeStarted=null,this._timeFinished=null,this._anyWasm=!1,this._workFailed=!1,this._puzzle=null,this._WorkerClass=t,this._callbacks=Object.assign({workersReady:()=>0,workerError:()=>0,workStarted:()=>0,workCompleted:()=>0,progress:()=>0},A)}init(A,e){if(!A)return;if(A.challenge!==v&&A.challenge!==y)throw new Error(`Unknown puzzle challenge: ${A.challenge}`);if(A.isZero()&&A.challenge===v){this._debug&&console.debug("[privatecaptcha][pool] skipping initializing workers"),setTimeout(()=>this._callbacks.workersReady(e),0);return}let t=[];try{this.initWorkers(A,e,t)}catch(i){for(let o of t)o.terminate();throw this._workers=[],i}}initWorkers(A,e,t){let i=A.challenge===y?1:4,o=0,I=A.challenge===y?A.puzzleBytes:A.puzzleBuffer;for(let s=0;s<i;s++){let g=new this._WorkerClass;g.onerror=n=>{this._workers.includes(g)&&this.onWorkerError(n)},g.onmessage=n=>{if(!(!this._workers.includes(g)||!n.data))switch(n.data.command){case"init":o++,o===i&&this._callbacks.workersReady(e);break;case"solve":let{id:p,solution:k,wasm:x}=n.data.argument||{};this.onSolutionFound(p,k,x);break;case"error":n.data.error&&this.onWorkerError(n.data.error);break;default:break}},t.push(g)}this._workers=t,this._debug&&console.debug(`[privatecaptcha][pool] initializing workers. count=${t.length}`);for(let s of t)s.postMessage({command:"init",argument:{id:A.ID,challenge:A.challenge,buffer:I}})}solve(A){if(!A)return;this._debug&&console.debug("[privatecaptcha][pool] starting solving"),this._solutions=[],this._solutionsCount=A.solutionsCount,this._puzzleID=A.ID,this._puzzle=A,this._timeStarted=Date.now(),this._timeFinished=null,this._workFailed=!1;let e=A.isZero()&&A.challenge===v||A.solutionsCount===0,t=null;for(let i=0;i<A.solutionsCount;i++)e?(t||(t=new Uint8Array(8)),this._solutions.push(t)):(A.challenge!==y||i===0)&&this._workers[i%this._workers.length].postMessage({command:"solve",argument:{difficulty:A.difficulty,puzzleIndex:i,debug:this._debug}});this._callbacks.workStarted(),e&&setTimeout(()=>this.onWorkCompleted(),0)}stop(){let A=this._workers.length;for(let e=0;e<A;e++)this._workers[e].terminate();this._workers=[],this._debug&&console.debug("[privatecaptcha][pool] terminated the workers. count="+A)}reset(){this._solutions=[],this._solutionsCount=0,this._puzzleID=null,this._timeStarted=null,this._timeFinished=null,this._anyWasm=!1,this._workFailed=!1,this._puzzle=null}onSolutionFound(A,e,t){if(this._workFailed||this._timeFinished!==null||this._puzzle===null)return;if(A!==this._puzzleID){console.warn(`[privatecaptcha][pool] Discarding solution with invalid ID. actual=${A} expected=${this._puzzleID}`);return}if(!(e instanceof Uint8Array)||e.length!==8||typeof t!="boolean"||e[0]>=this._solutionsCount||this._solutions.some(o=>o[0]===e[0])||this._puzzle.challenge===y&&e[0]!==this._solutions.length){this.onWorkerError(new Error("Invalid puzzle worker solve response"));return}this._debug&&console.debug("[privatecaptcha][pool] solution found. length="+e.length),this._solutions.push(e),t&&(this._anyWasm=!0);let i=this._solutions.length;if(this._callbacks.progress(i*100/this._solutionsCount),i==this._solutionsCount)this.onWorkCompleted();else if(this._puzzle.challenge===y)try{this._workers[0].postMessage({command:"solve",argument:{difficulty:this._puzzle.difficulty,puzzleIndex:i,debug:this._debug}})}catch(o){this.onWorkerError(o)}}onWorkCompleted(){this._workFailed||this._timeFinished!==null||(this._timeFinished=Date.now(),this._callbacks.workCompleted())}onWorkerError(A){this._workFailed||this._timeFinished!==null||(this._workFailed=!0,this.stop(),this._callbacks.workerError(A))}serializeSolutions(A){this._debug&&console.debug("[privatecaptcha][pool] serializing solutions. count="+this._solutions.length);let e=this._solutions.reduce((s,g)=>s+g.length,0),t=this.writeMetadata(A),i=t.length,o=new Uint8Array(i+e),I=0;o.set(t,I),I+=t.length;for(let s=0;s<this._solutions.length;s++)o.set(this._solutions[s],I),I+=this._solutions[s].length;return sA(o)}writeMetadata(A){let t=new Uint8Array(7),i=0;t[i++]=vA&255,t[i++]=A&255;let o=this._anyWasm?1:0;t[i++]=o&255;let I=this.elapsedMillis();return t[i++]=I&255,t[i++]=I>>8&255,t[i++]=I>>16&255,t[i++]=I>>24&255,t}elapsedMillis(){return this._timeStarted&&this._timeFinished?this._timeFinished-this._timeStarted:0}};var T=typeof HTMLElement<"u"?HTMLElement:Object;var P=class extends T{constructor(){super(),this._circumference=0,this._root=this.attachShadow({mode:"open"})}connectedCallback(){let A=this.getAttribute("stroke"),e=100,t=e/2,i=t-A/2;this._circumference=i*2*Math.PI,this._root.innerHTML=`
|
|
2
|
+
<svg preserveAspectRatio="xMidYMid meet" viewBox="0 0 ${e} ${e}">
|
|
3
3
|
<circle
|
|
4
4
|
id="pie"
|
|
5
5
|
style="stroke-dasharray: 0 ${this._circumference}"
|
|
6
|
-
stroke-width="${
|
|
6
|
+
stroke-width="${i}"
|
|
7
7
|
fill="transparent"
|
|
8
|
-
r="${
|
|
9
|
-
cx="${
|
|
10
|
-
cy="${
|
|
8
|
+
r="${i/2}"
|
|
9
|
+
cx="${t}"
|
|
10
|
+
cy="${t}"
|
|
11
11
|
/>
|
|
12
12
|
<circle
|
|
13
13
|
id="track"
|
|
14
|
-
stroke-width="${
|
|
14
|
+
stroke-width="${A}"
|
|
15
15
|
fill="transparent"
|
|
16
|
-
r="${
|
|
17
|
-
cx="${
|
|
18
|
-
cy="${
|
|
16
|
+
r="${i}"
|
|
17
|
+
cx="${t}"
|
|
18
|
+
cy="${t}"
|
|
19
19
|
/>
|
|
20
20
|
<circle
|
|
21
21
|
id="progress"
|
|
22
22
|
stroke-dasharray="${this._circumference} ${this._circumference}"
|
|
23
23
|
style="stroke-dashoffset: ${this._circumference}"
|
|
24
|
-
stroke-width="${
|
|
24
|
+
stroke-width="${A}"
|
|
25
25
|
fill="transparent"
|
|
26
|
-
r="${
|
|
27
|
-
cx="${
|
|
28
|
-
cy="${
|
|
26
|
+
r="${i}"
|
|
27
|
+
cx="${t}"
|
|
28
|
+
cy="${t}"
|
|
29
29
|
/>
|
|
30
30
|
</svg>
|
|
31
31
|
|
|
@@ -50,11 +50,11 @@ var _="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x=typeo
|
|
|
50
50
|
stroke: var(--gray-color);
|
|
51
51
|
}
|
|
52
52
|
</style>
|
|
53
|
-
`}setProgress(
|
|
54
|
-
`;var
|
|
53
|
+
`}setProgress(A){let e=A/100*this._circumference,t=this._circumference-e,i=this._root.getElementById("progress");i&&(i.style.strokeDashoffset=t);let o=this._root.getElementById("pie");o&&(o.style.strokeDasharray=e/2+" "+this._circumference)}static get observedAttributes(){return["progress"]}attributeChangedCallback(A,e,t){if(e!==t&&A==="progress"){let i=t!==null?Number.parseFloat(t):Number.NaN;Number.isNaN(i)||this.setProgress(i)}}};var cA=`@layer base,theme,custom;@layer base{:host,*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0 solid}:host{--extra-spacing: 0px;--label-spacing: .625rem;--border-radius: .125rem;--warn-color: #A70B0B;--accent-color: #009400;min-width:0;font-size:1rem;display:inline-block;max-width:100%;border-radius:var(--border-radius)}:host(.hidden){display:none}:host(.floating){display:block;position:absolute;left:0;top:0;transform:translateY(-100%);z-index:1000}@media(min-width:30em){:host{min-width:min(20em,100%)}}}@layer theme{:host([theme="light"]){--dark-color: #070113;--gray-color: #E0E0E0;--pie-color: #D8E9E9;--background-color: #fff;--checkbox-background-color: #FFF;--checkbox-hover-color: #EBF4F4}:host([theme="dark"]){--dark-color: #EBF4F4;--gray-color: #656C7B;--pie-color: #376262;--background-color: #041616;--checkbox-background-color: #223C3C;--checkbox-hover-color: #1C3232}:host{--border: 1px solid var(--gray-color)}}.pc-captcha-widget{display:flex;align-items:center;flex-direction:row;padding:.75em 1em;border:var(--border);border-radius:var(--border-radius);background-color:var(--background-color);box-sizing:border-box;width:100%;height:100%}.pc-interactive-area{display:flex;flex:0 1 auto;align-items:center;position:relative;min-width:0}.pc-interactive-area label{padding-left:var(--label-spacing);color:var(--dark-color);flex:0 1 auto;min-width:1em;white-space:normal}.pc-interactive-area input[type=checkbox]{font-size:1em;width:2em;height:2em;margin:0 0 0 calc(.125em + var(--extra-spacing));appearance:none;background-color:var(--checkbox-background-color);border:.125em solid var(--dark-color);border-radius:.25em;cursor:pointer;flex-shrink:0}.pc-interactive-area input[type=checkbox]+label{padding:0 0 0 calc(.125em + var(--extra-spacing) + var(--label-spacing))}@keyframes colorChange{0%,to{border-color:var(--dark-color)}50%{border-color:var(--gray-color)}}.pc-interactive-area input[type=checkbox].loading{animation:colorChange 2s infinite;animation-timing-function:ease-in-out;background-color:var(--checkbox-hover-color);cursor:default}.pc-interactive-area input[type=checkbox].ready{background-color:var(--checkbox-background-color);border-color:var(--dark-color);cursor:pointer}.pc-interactive-area input[type=checkbox].error{background-color:var(--checkbox-background-color);border-color:var(--warn-color);cursor:pointer}.pc-interactive-area input[type=checkbox].invalid{background-color:var(--checkbox-hover-color);border-color:var(--gray-color);cursor:not-allowed}.pc-interactive-area input[type=checkbox]:not(.invalid):hover{background-color:var(--checkbox-hover-color);border-color:var(--accent-color)}.pc-interactive-area input[type=checkbox].invalid:hover+label{cursor:not-allowed}.pc-interactive-area input[type=checkbox]:not(.invalid):hover+label{cursor:pointer}@keyframes dots-1{0%{opacity:0}25%{opacity:1}}@keyframes dots-2{0%{opacity:0}50%{opacity:1}}@keyframes dots-3{0%{opacity:0}75%{opacity:1}}@-webkit-keyframes dots-1{0%{opacity:0}25%{opacity:1}}@-webkit-keyframes dots-2{0%{opacity:0}50%{opacity:1}}@-webkit-keyframes dots-3{0%{opacity:0}75%{opacity:1}}.pc-interactive-area .dots span{animation:dots-1 2s infinite steps(1);-webkit-animation:dots-1 2s infinite steps(1)}.pc-interactive-area .dots span:first-child+span{animation-name:dots-2;-webkit-animation-name:dots-2}.pc-interactive-area .dots span:first-child+span+span{animation-name:dots-3;-webkit-animation-name:dots-3}#pc-progress{display:flex;justify-content:center;margin:0 0 0 var(--extra-spacing);flex-shrink:0}#pc-progress+label{padding:0 0 0 calc(var(--extra-spacing) + var(--label-spacing))}.pc-spacer{flex-basis:0;flex-shrink:1;flex-grow:1;width:4em;min-width:0}.pc-info{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;margin-right:calc(.125em + var(--extra-spacing));color:var(--dark-color)}.pc-info svg{width:auto;height:3.125em;max-width:100%;max-height:100%}a.pc-link{margin-top:5px;text-decoration:none;color:currentcolor;text-align:center;font-size:.55em;text-transform:uppercase;font-weight:700;line-height:1.1em}a.pc-link:hover{text-decoration:underline}@keyframes checkmark{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0px}}svg.verified{margin:0 0 0 var(--extra-spacing);flex-shrink:0;width:2.25em;height:2.25em}svg.verified+label{padding:0 0 0 calc(var(--extra-spacing) + var(--label-spacing))}svg.verified polyline{animation:checkmark .35s ease-in-out .1s backwards;stroke:#f2f2f2}svg.verified circle{fill:var(--accent-color)}#pc-debug{font-size:.75em;color:var(--gray-color);position:absolute;top:100%;left:calc(2em + 1em + 2*.125em + 2*var(--extra-spacing) + var(--label-spacing));cursor:default}#pc-debug.tooltip{text-decoration:underline;text-decoration-style:dashed;cursor:help}#pc-debug.warn{color:var(--warn-color)}#pc-debug.notice{color:#c70}
|
|
54
|
+
`;var a="click_to_verify",l="verifying",c="success",B="unavailable",f="incomplete",h="error",Q="testing",C="notice",J={en:{[a]:"Click to verify",[l]:"Verifying",[c]:"Verified",[B]:"Not available",[f]:"incomplete",[h]:"error",[Q]:"testing",[C]:"notice"},de:{[a]:"Zum Best\xE4tigen klicken",[l]:"Wird \xFCberpr\xFCft",[c]:"Verifiziert",[B]:"Nicht verf\xFCgbar",[f]:"unvollst\xE4ndig",[h]:"fehler",[Q]:"testmodus",[C]:"hinweis"},es:{[a]:"Haz clic para verificar",[l]:"Verificando",[c]:"Verificado",[B]:"No disponible",[f]:"incompleto",[h]:"error",[Q]:"prueba",[C]:"aviso"},fr:{[a]:"Cliquez pour v\xE9rifier",[l]:"V\xE9rification en cours",[c]:"V\xE9rifi\xE9",[B]:"Non disponible",[f]:"incomplet",[h]:"erreur",[Q]:"test",[C]:"avis"},it:{[a]:"Clicca per verificare",[l]:"Verifica in corso",[c]:"Verificato",[B]:"Non disponibile",[f]:"incompleto",[h]:"errore",[Q]:"test",[C]:"avviso"},nl:{[a]:"Klik om te verifi\xEBren",[l]:"Bezig met verifi\xEBren",[c]:"Geverifieerd",[B]:"Niet beschikbaar",[f]:"onvolledig",[h]:"fout",[Q]:"testen",[C]:"melding"},sv:{[a]:"Klicka f\xF6r att verifiera",[l]:"Verifierar",[c]:"Verifierad",[B]:"Inte tillg\xE4nglig",[f]:"ofullst\xE4ndig",[h]:"fel",[Q]:"test",[C]:"notis"},no:{[a]:"Klikk for \xE5 bekrefte",[l]:"Bekrefter",[c]:"Bekreftet",[B]:"Ikke tilgjengelig",[f]:"ufullstendig",[h]:"feil",[Q]:"test",[C]:"varsel"},pl:{[a]:"Kliknij, aby zweryfikowa\u0107",[l]:"Weryfikowanie",[c]:"Zweryfikowano",[B]:"Niedost\u0119pne",[f]:"niekompletne",[h]:"b\u0142\u0105d",[Q]:"test",[C]:"uwaga"},uk:{[a]:"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0432\u0456\u0440\u043A\u0438",[l]:"\u0412\u0438\u043A\u043E\u043D\u0443\u0454\u0442\u044C\u0441\u044F \u043F\u0435\u0440\u0435\u0432\u0456\u0440\u043A\u0430",[c]:"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043E",[B]:"\u041D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E",[f]:"\u043D\u0435\u043F\u043E\u0432\u043D\u0438\u0439",[h]:"\u043F\u043E\u043C\u0438\u043B\u043A\u0430",[Q]:"\u0442\u0435\u0441\u0442\u0443\u0432\u0430\u043D\u043D\u044F",[C]:"\u0443\u0432\u0430\u0433\u0430"},tr:{[a]:"Do\u011Frulamak i\xE7in t\u0131klay\u0131n",[l]:"Do\u011Frulan\u0131yor",[c]:"Do\u011Fruland\u0131",[B]:"Kullan\u0131lam\u0131yor",[f]:"eksik",[h]:"hata",[Q]:"test",[C]:"bildirim"},fi:{[a]:"Napsauta vahvistaaksesi",[l]:"Vahvistetaan",[c]:"Vahvistettu",[B]:"Ei saatavilla",[f]:"ep\xE4t\xE4ydellinen",[h]:"virhe",[Q]:"testi",[C]:"ilmoitus"},et:{[a]:"Kl\xF5psa kinnitamiseks",[l]:"Kinnitamine",[c]:"Kinnitatud",[B]:"Pole saadaval",[f]:"puudulik",[h]:"viga",[Q]:"test",[C]:"teade"}};typeof window<"u"&&window.customElements&&!window.customElements.get("progress-ring")&&window.customElements.define("progress-ring",P);var d="empty",w="error",G="loading",U="ready",E="inprogress",D="verified",z="invalid",N="popup",fA="hidden",j="widget",F="pc-checkbox",O="pc-progress",pA="pc-debug",tA="warn",bA="notice",_A="tooltip",MA=`<svg viewBox="0 0 39.4 41.99" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" class="pc-logo" preserveAspectRatio="xMidYMid meet">
|
|
55
55
|
<path d="M0 0v30.62l4.29 2.48V4.85h30.83v23.29l-15.41 8.9-6.83-3.94v-4.95l6.83 3.94 11.12-6.42V9.91H8.58v25.66l11.12 6.42 19.7-11.37V0Zm12.87 14.86h13.66v8.32l-6.83 3.94-6.83-3.94z" fill="currentColor"/>
|
|
56
|
-
</svg>`,
|
|
56
|
+
</svg>`,JA=`<svg class="verified" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 154 154">
|
|
57
57
|
<g fill="none"><circle cx="77" cy="77" r="76"></circle>
|
|
58
58
|
<polyline class="st0" stroke-width="12" points="43.5,77.8 63.7,97.9 112.2,49.4" style="stroke-dasharray:100px, 100px; stroke-dashoffset: 200px;"/></g>
|
|
59
|
-
</svg>`;function Ce(o){let e=document.createElement("template");return e.innerHTML=o.trim(),e.content.firstChild}function Y(o){let e=document.createElement("input");return e.type="checkbox",e.id=S,e.className=o,e.required=!0,e}function k(o,e){let t=document.createElement("label");return t.htmlFor=e,t.textContent=o,t}function De(){let o=document.createElement("progress-ring");return o.id=z,o.setAttribute("stroke","12"),o.setAttribute("progress","0"),o}function ve(o){let e=k(o,z),t=document.createElement("span");t.className="dots";for(let i=0;i<3;i++){let r=document.createElement("span");r.textContent=".",t.appendChild(r)}return e.appendChild(t),e}function q(o,e,t){let i=document.createElement("span");return i.id=ue,e&&i.classList.add(ee),t&&(i.classList.add(_e),i.title=t),i.textContent=o,i}function Ue(){let o=document.createElement("div");o.className="pc-info",o.appendChild(Ce(Se));let e=document.createElement("a");return e.href="https://privatecaptcha.com",e.className="pc-link",e.rel="noopener nofollow",e.target="_blank",e.appendChild(document.createTextNode("Private")),e.appendChild(document.createElement("br")),e.appendChild(document.createTextNode("Captcha")),o.appendChild(e),o}function fe(o,e){switch(o){case 0:return"";case 1:return e[C];case 2:return e[p];default:return e[d]}}var $=class extends N{constructor(){super(),this._state="",this._root=this.attachShadow({mode:"open"}),this._debug=!1,this._error=null,this._internalError=null,this._notice=null,this._displayMode=ce,this._lang="en";let e=new CSSStyleSheet;e.replaceSync(le),this._root.adoptedStyleSheets=[e],this._overridesSheet=null}update(){this._debug=this.getAttribute("debug"),this._error=null,this._internalError=null,this._displayMode=this.getAttribute("display-mode"),this._lang=this.getAttribute("lang"),this._lang in F||(console.warn(`[privatecaptcha][progress] Localization not found. lang=${this._lang}`),this._lang="en");let e=this.getAttribute("extra-styles");this.updateStyles(e)}connectedCallback(){this.update();let e=this._displayMode==G;this.setState(w,e)}setState(e,t){return e==this._state?(console.debug("[privatecaptcha][progress] already in this state: "+e),K===this._displayMode&&this._syncHostClass(t),!1):(this._debug&&console.debug(`[privatecaptcha][progress] change state. old=${this._state} new=${e}`),this.render(e,t),this._state=e,!0)}render(e,t){let i=document.createElement("div");i.className="pc-interactive-area";let r=!1,n=!1,A=F[this._lang];switch(e){case w:r=!0,i.appendChild(Y("")),i.appendChild(k(A[I],S));break;case H:r=!0,i.appendChild(Y("loading")),i.appendChild(k(A[I],S));break;case D:r=!0,i.appendChild(Y("ready")),i.appendChild(k(A[I],S)),n=t;break;case m:i.appendChild(De()),i.appendChild(ve(A[c])),n=t;break;case Q:i.appendChild(Ce(ke)),i.appendChild(k(A[f],z)),n=t;break;case J:i.appendChild(Y("invalid")),i.appendChild(k(A[u],S));break;default:console.error(`[privatecaptcha][progress] unknown state: ${e}`);break}if(this._debug||this._error||this._notice)if(this._error){let a=fe(this._error,A);i.appendChild(q(a,this._error,this._debug&&this._error?this._internalError:null))}else if(this._notice){let a=q(A[l],!1,this._notice);a.classList.add(Be),i.appendChild(a)}else i.appendChild(q(`[${e}]`,!1,null));this._syncHostClass(n);let s=document.createElement("div");s.className="pc-captcha-widget",s.appendChild(i);let g=document.createElement("div");if(g.className="pc-spacer",s.appendChild(g),s.appendChild(Ue()),this._root.replaceChildren(s),r){let a=this._root.getElementById(S);a?a.addEventListener("change",this.onCheckboxClicked.bind(this)):console.warn("[privatecaptcha][progress] checkbox not found in the Shadow DOM")}}_syncHostClass(e){let t="";switch(this._displayMode){case ce:t="hidden";break;case K:t=e?"floating":"hidden";break;case G:break}this.classList.remove("hidden","floating"),t&&this.classList.add(t)}onCheckboxClicked(e){if(e.preventDefault(),this._debug&&console.debug("[privatecaptcha][progress] checkbox was clicked"),e.target.checked){let t=new CustomEvent("privatecaptcha:checked",{bubbles:!0,composed:!0});this.dispatchEvent(t)}else console.warn("[privatecaptcha][progress] checkbox was unchecked")}setProgress(e){if(m==this._state){let t=this._root.getElementById(z);t?t.setProgress(e):console.warn("[privatecaptcha][progress] progress element not found")}else this._debug&&console.debug(`[privatecaptcha][progress] skipping updating progress when not in progress. state=${this._state}`)}setError(e,t,i){this._error=e,this._internalError=t,this._notice=i||null}setDebugText(e,t){let i=this._root.getElementById(ue);if(i){let r="";if(this._error){let n=F[this._lang];r=fe(this._error,n)}else this._notice?r=F[l]:r=`[${e}]`;i.textContent=r,t||this._error?i.classList.add(ee):i.classList.remove(ee)}}static get observedAttributes(){return["state","progress","extra-styles"]}updateStyles(e){let t=this._root.adoptedStyleSheets.filter(i=>i!==this._overridesSheet);if(e){let i=`@layer custom { :host { ${e} } }`;this._overridesSheet||(this._overridesSheet=new CSSStyleSheet),this._overridesSheet.replaceSync(i),this._root.adoptedStyleSheets=[...t,this._overridesSheet]}else this._overridesSheet=null,this._root.adoptedStyleSheets=t}attributeChangedCallback(e,t,i){if(t!==i)switch(e){case"progress":let r=i!==null?Number.parseFloat(i):Number.NaN;Number.isNaN(r)||this.setProgress(r);break;case"extra-styles":this.updateStyles(i);break}}};typeof window<"u"&&window.customElements&&!window.customElements.get("private-captcha")&&window.customElements.define("private-captcha",$);var Ke="https://api.privatecaptcha.com/puzzle",Le="https://api.eu.privatecaptcha.com/puzzle",He="recaptcha";function Ve(o){for(;o&&o.tagName!=="FORM";)o=o.parentElement;return o}var de=class{constructor(e,t={}){this._element=e,this._puzzle=null,this._expiryTimeout=null,this._state=w,this._lastProgress=null,this._solution=null,this._userStarted=!1,this._apiTriggered=!1,this._options={},this._errorCode=0,this._internalError=null,this.setOptions(t),this._workersPool=new T({workersReady:this.onWorkersReady.bind(this),workerError:this.onWorkerError.bind(this),workStarted:this.onWorkStarted.bind(this),workCompleted:this.onWorkCompleted.bind(this),progress:this.onWorkProgress.bind(this)},this._options.debug);let i=Ve(this._element);if(i){if(i.addEventListener("focusin",this.onFocusIn.bind(this),{passive:!0}),this._element.replaceChildren(this._createCaptchaElement()),this._element.addEventListener("privatecaptcha:checked",this.onChecked.bind(this)),this._options.storeVariable&&(this._element[this._options.storeVariable]=this),K===this._options.displayMode){let r=i.querySelector(".private-captcha-anchor");r?r.style.position="relative":console.warn("[privatecaptcha] cannot find anchor for popup")}this.checkConfigured()}else console.warn("[privatecaptcha] cannot find form element")}_createCaptchaElement(){let e=document.createElement("private-captcha");return this._updateCaptchaElement(e),e}_updateCaptchaElement(e){e.setAttribute("lang",this._options.lang),e.setAttribute("theme",this._options.theme),e.setAttribute("extra-styles",this._options.styles),this._options.debug&&e.setAttribute("debug","true"),e.setAttribute("display-mode",this._options.displayMode)}setOptions(e){let i=this._element.dataset.eu||null?Le:Ke,r="private-captcha-solution";e.hasOwnProperty("compat")&&e.compat===He&&(r="g-recaptcha-response");let n="";if(e.hasOwnProperty("sitekey")&&(n=e.sitekey),this._options=Object.assign({startMode:this._element.dataset.startMode||"auto",debug:this._element.dataset.debug,fieldName:this._element.dataset.solutionField||r,puzzleEndpoint:this._element.dataset.puzzleEndpoint||i,sitekey:n||this._element.dataset.sitekey||"",displayMode:this._element.dataset.displayMode||"widget",lang:this._element.dataset.lang||"auto",theme:this._element.dataset.theme||"light",styles:this._element.dataset.styles||"",storeVariable:this._element.dataset.storeVariable||null},e),this._options.lang==="auto"){let A="";typeof document<"u"&&document.documentElement&&(A=document.documentElement.lang),!A&&typeof navigator<"u"&&(A=navigator.language||navigator.userLanguage||""),typeof A=="string"&&A.length>=2&&(this._options.lang=A.split("-")[0].toLowerCase())}}async init(e){this.trace(`init() was called. state=${this._state}`),this._puzzle=null,this._solution=null,this._errorCode=0,this._internalError=null,this._notice=null;let t=this.checkConfigured();if(!t)return;if(w!==this._state&&B!==this._state){console.warn(`[privatecaptcha] captcha has already been initialized. state=${this._state}`);return}this._workersPool&&(this._workersPool.stop(),this._workersPool.reset());let i=this._options.startMode==="auto"||e;try{this.setState(H),this.setProgressState(H),this.trace(`fetching puzzle. sitekey=${t}`);let r=await he(this._options.puzzleEndpoint,t);this._notice=r.notice,this._puzzle=new P(r.data),this._puzzle&&this._puzzle.isZero()&&(this._errorCode=2);let n=this._puzzle.expirationMillis();this.trace(`parsed puzzle buffer. isZero=${this._puzzle.isZero()} ttl=${n/1e3}`),this._expiryTimeout&&clearTimeout(this._expiryTimeout),n&&(this._expiryTimeout=setTimeout(()=>this.expire(),n)),this._workersPool.init(this._puzzle,i),this.signalInit()}catch(r){console.error("[privatecaptcha]",r),this._expiryTimeout&&clearTimeout(this._expiryTimeout),this._errorCode=3,this._internalError=r.internalError||r.message,this.setState(B);let n=this.shouldFinalizeWork();this.setProgressState(n?Q:w),n&&(this.saveSolutions(),this.signalErrored())}}checkConfigured(){let e=this._options.sitekey||this._element.dataset.sitekey;return e||(console.error("[privatecaptcha] sitekey not set on captcha element"),this._errorCode=1,this.setState(J),this.setProgressState(J),null)}start(){if(D!==this._state){console.warn(`[privatecaptcha] solving has already been started. state=${this._state}`);return}this.trace("starting solving captcha");try{this.setState(m),this._workersPool.solve(this._puzzle)}catch(e){console.error("[privatecaptcha]",e)}}dispatchEvent(e,t={}){let i=new CustomEvent(`privatecaptcha:${e}`,{bubbles:!1,detail:{widget:this,element:this._element,...t}});this._element.dispatchEvent(i)}signalEvent(e,t){this.dispatchEvent(e);let i=this._element.dataset[t];if(i)try{window[i](this)}catch(r){console.error("[privatecaptcha] Error in callback",e,r)}}signalInit(){this.signalEvent("init","initCallback")}signalStarted(){this.signalEvent("start","startedCallback")}signalFinished(){this.signalEvent("finish","finishedCallback")}signalErrored(){this.signalEvent("error","erroredCallback")}signalReset(){this.signalEvent("reset","resetCallback")}ensureNoSolutionField(){let e=this._element.querySelector(`input[name="${this._options.fieldName}"]`);if(e)try{this._element.removeChild(e)}catch(t){console.warn("[privatecaptcha]",t)}}reset(e={}){this.trace("reset captcha"),this._expiryTimeout&&clearTimeout(this._expiryTimeout),this._workersPool&&(this._workersPool.stop(),this._workersPool.reset()),this._puzzle=null,this._solution=null,this._errorCode=0,this._internalError=null,this._notice=null,this.setOptions(e),this.setState(w);let t=this._element.querySelector("private-captcha");t&&(this._updateCaptchaElement(t),t.update()),this.setProgressState(w,!0),this.ensureNoSolutionField(),this._userStarted=!1,this._apiTriggered=!1,this.signalReset()}updateStyles(){let e=this._element.dataset.styles||"";if(e!==this._options.styles){this._options.styles=e;let t=this._element.querySelector("private-captcha");t&&t.setAttribute("extra-styles",e)}}expire(){this.trace("expire captcha"),this._workersPool&&this._workersPool.stop(),this.setState(w),this.setProgressState(w),this.ensureNoSolutionField(),this._apiTriggered=!1,this.init(this._userStarted)}element(){return this._element}solution(){return this._solution}onFocusIn(e){if(this.trace("onFocusIn event handler"),w!==this._state){this.trace(`skipping focusin event with non-empty state. state=${this._state}`);return}let t=this._element.querySelector("private-captcha");if(t&&e.target==t){this.trace("skipping focusin event on captcha element");return}this.init(!1)}execute(){if(this._apiTriggered&&B!==this._state)return this.trace("skipping duplicate execute event handler"),new Promise(()=>{});this.trace(`execute event handler. state=${this._state}`),this._apiTriggered=!0;let e=this._options.startMode==="auto"?m:this._state;return this._triggerSolving(e),new Promise(()=>{})}onChecked(e){if(e&&e.stopPropagation(),this._userStarted&&B!==this._state){this.trace("skipping duplicate onChecked handler");return}this.trace(`onChecked event handler. state=${this._state}`),this._userStarted=!0,this._triggerSolving(m)}_triggerSolving(e){let t=!1;switch(this._state){case D:this.start();break;case w:case B:let i=this._userStarted||this._apiTriggered;this.init(i);break;case H:break;case m:setTimeout(()=>this.setProgress(this._lastProgress),500);break;case Q:e=Q,t=!0;break;default:console.warn(`[privatecaptcha] triggerSolving: unexpected state. state=${this._state}`);return}this.setProgressState(e),t&&(this.saveSolutions(),this.signalFinished())}shouldFinalizeWork(){return this._userStarted||this._apiTriggered&&(this._options.startMode==="auto"||this._options.displayMode==="hidden")}onWorkersReady(e){this.trace(`workers are ready. autostart=${e}`),this.setState(D),!this._userStarted&&!(this._apiTriggered&&e)&&this.setProgressState(D),(e||this._userStarted||this._apiTriggered)&&this.start()}onWorkerError(e){console.error("[privatecaptcha] error in worker:",e),this._errorCode=4}onWorkStarted(){this.signalStarted()}onWorkCompleted(){if(this.trace("[privatecaptcha] work completed"),m!==this._state){console.warn(`[privatecaptcha] solving has not been started. state=${this._state}`);return}this.setState(Q);let e=this.shouldFinalizeWork();e&&this.setProgressState(Q),e&&(this.saveSolutions(),setTimeout(()=>this.signalFinished(),500))}onWorkProgress(e){if(m!==this._state){console.warn(`[privatecaptcha] skipping progress update. state=${this._state}`);return}this.trace(`progress changed. percent=${e}`),this.setProgress(e)}saveSolutions(){let t=`${this._workersPool.serializeSolutions(this._errorCode)}.${this._puzzle?this._puzzle.rawData:""}`;this.ensureNoSolutionField(),this._element.insertAdjacentHTML("beforeend",`<input name="${this._options.fieldName}" type="hidden" value="${t}">`),this._solution=t,this.trace(`saved solutions. field=${this._options.fieldName} payload=${t}`)}setProgressState(e,t=!1){let i=this._userStarted||G===this._options.displayMode||this._apiTriggered&&K===this._options.displayMode,r=this._element.querySelector("private-captcha");if(r){r.setError(this._errorCode,this._internalError,this._notice);let n=r.setState(e,i);return!n&&t&&r.render(e,i),n}else return console.error("[privatecaptcha] component not found when changing state"),!1}setState(e){if(this.trace(`change state. old=${this._state} new=${e}`),this._state=e,this._options.debug){let t=this._element.querySelector("private-captcha");t&&t.setDebugText(e,B==e)}}setProgress(e){if(this._lastProgress=e,m===this._state||Q===this._state){let t=this._element.querySelector("private-captcha");t?t.setProgress(e):console.error("[privatecaptcha] component not found when updating progress")}}trace(e){this._options.debug&&console.debug("[privatecaptcha]",e)}};export{de as CaptchaWidget,He as RECAPTCHA_COMPAT};
|
|
59
|
+
</svg>`;function uA(r){let A=document.createElement("template");return A.innerHTML=r.trim(),A.content.firstChild}function H(r){let A=document.createElement("input");return A.type="checkbox",A.id=F,A.className=r,A.required=!0,A}function m(r,A){let e=document.createElement("label");return e.htmlFor=A,e.textContent=r,e}function HA(){let r=document.createElement("progress-ring");return r.id=O,r.setAttribute("stroke","12"),r.setAttribute("progress","0"),r}function NA(r){let A=m(r,O),e=document.createElement("span");e.className="dots";for(let t=0;t<3;t++){let i=document.createElement("span");i.textContent=".",e.appendChild(i)}return A.appendChild(e),A}function eA(r,A,e){let t=document.createElement("span");return t.id=pA,A&&t.classList.add(tA),e&&(t.classList.add(_A),t.title=e),t.textContent=r,t}function YA(){let r=document.createElement("div");r.className="pc-info",r.appendChild(uA(MA));let A=document.createElement("a");return A.href="https://privatecaptcha.com",A.className="pc-link",A.rel="noopener nofollow",A.target="_blank",A.appendChild(document.createTextNode("Private")),A.appendChild(document.createElement("br")),A.appendChild(document.createTextNode("Captcha")),r.appendChild(A),r}function QA(r,A){switch(r){case 0:return"";case 1:return A[f];case 2:return A[Q];default:return A[h]}}var q=class extends T{constructor(){super(),this._state="",this._root=this.attachShadow({mode:"open"}),this._debug=!1,this._error=null,this._internalError=null,this._notice=null,this._displayMode=fA,this._lang="en";let A=new CSSStyleSheet;A.replaceSync(cA),this._root.adoptedStyleSheets=[A],this._overridesSheet=null}update(){this._debug=this.getAttribute("debug"),this._error=null,this._internalError=null,this._displayMode=this.getAttribute("display-mode"),this._lang=this.getAttribute("lang"),this._lang in J||(console.warn(`[privatecaptcha][progress] Localization not found. lang=${this._lang}`),this._lang="en");let A=this.getAttribute("extra-styles");this.updateStyles(A)}connectedCallback(){this.update();let A=this._displayMode==j;this.setState(d,A)}setState(A,e){return A==this._state?(console.debug("[privatecaptcha][progress] already in this state: "+A),N===this._displayMode&&this._syncHostClass(e),!1):(this._debug&&console.debug(`[privatecaptcha][progress] change state. old=${this._state} new=${A}`),this.render(A,e),this._state=A,!0)}render(A,e){let t=document.createElement("div");t.className="pc-interactive-area";let i=!1,o=!1,I=J[this._lang];switch(A){case d:i=!0,t.appendChild(H("")),t.appendChild(m(I[a],F));break;case G:i=!0,t.appendChild(H("loading")),t.appendChild(m(I[a],F));break;case U:i=!0,t.appendChild(H("ready")),t.appendChild(m(I[a],F)),o=e;break;case E:t.appendChild(HA()),t.appendChild(NA(I[l])),o=e;break;case D:t.appendChild(uA(JA)),t.appendChild(m(I[c],O)),o=e;break;case z:t.appendChild(H("invalid")),t.appendChild(m(I[B],F));break;case w:i=!0,t.appendChild(H("error")),t.appendChild(m(I[h],F));break;default:console.error(`[privatecaptcha][progress] unknown state: ${A}`);break}if(this._debug||this._error||this._notice)if(this._error){let n=QA(this._error,I);t.appendChild(eA(n,this._error,this._debug&&this._error?this._internalError:null))}else if(this._notice){let n=eA(I[C],!1,this._notice);n.classList.add(bA),t.appendChild(n)}else t.appendChild(eA(`[${A}]`,!1,null));this._syncHostClass(o);let s=document.createElement("div");s.className="pc-captcha-widget",s.appendChild(t);let g=document.createElement("div");if(g.className="pc-spacer",s.appendChild(g),s.appendChild(YA()),this._root.replaceChildren(s),i){let n=this._root.getElementById(F);n?n.addEventListener("change",this.onCheckboxClicked.bind(this)):console.warn("[privatecaptcha][progress] checkbox not found in the Shadow DOM")}}_syncHostClass(A){let e="";switch(this._displayMode){case fA:e="hidden";break;case N:e=A?"floating":"hidden";break;case j:break}this.classList.remove("hidden","floating"),e&&this.classList.add(e)}onCheckboxClicked(A){if(A.preventDefault(),this._debug&&console.debug("[privatecaptcha][progress] checkbox was clicked"),A.target.checked){let e=new CustomEvent("privatecaptcha:checked",{bubbles:!0,composed:!0});this.dispatchEvent(e)}else console.warn("[privatecaptcha][progress] checkbox was unchecked")}setProgress(A){if(E==this._state){let e=this._root.getElementById(O);e?e.setProgress(A):console.warn("[privatecaptcha][progress] progress element not found")}else this._debug&&console.debug(`[privatecaptcha][progress] skipping updating progress when not in progress. state=${this._state}`)}setError(A,e,t){this._error=A,this._internalError=e,this._notice=t||null}setDebugText(A,e){let t=this._root.getElementById(pA);if(t){let i="";if(this._error){let o=J[this._lang];i=QA(this._error,o)}else this._notice?i=J[this._lang][C]:i=`[${A}]`;t.textContent=i,e||this._error?t.classList.add(tA):t.classList.remove(tA)}}static get observedAttributes(){return["state","progress","extra-styles"]}updateStyles(A){let e=this._root.adoptedStyleSheets.filter(t=>t!==this._overridesSheet);if(A){let t=`@layer custom { :host { ${A} } }`;this._overridesSheet||(this._overridesSheet=new CSSStyleSheet),this._overridesSheet.replaceSync(t),this._root.adoptedStyleSheets=[...e,this._overridesSheet]}else this._overridesSheet=null,this._root.adoptedStyleSheets=e}attributeChangedCallback(A,e,t){if(e!==t)switch(A){case"progress":let i=t!==null?Number.parseFloat(t):Number.NaN;Number.isNaN(i)||this.setProgress(i);break;case"extra-styles":this.updateStyles(t);break}}};typeof window<"u"&&window.customElements&&!window.customElements.get("private-captcha")&&window.customElements.define("private-captcha",q);var VA="https://api.privatecaptcha.com/puzzle",RA="https://api.eu.privatecaptcha.com/puzzle",KA="recaptcha";function TA(r){for(;r&&r.tagName!=="FORM";)r=r.parentElement;return r}var wA=class{constructor(A,e={}){this._element=A,this._puzzle=null,this._expiryTimeout=null,this._state=d,this._lastProgress=null,this._solution=null,this._userStarted=!1,this._apiTriggered=!1,this._options={},this._errorCode=0,this._internalError=null,this.setOptions(e),this._workersPool=new K({workersReady:this.onWorkersReady.bind(this),workerError:this.onWorkerError.bind(this),workStarted:this.onWorkStarted.bind(this),workCompleted:this.onWorkCompleted.bind(this),progress:this.onWorkProgress.bind(this)},this._options.debug);let t=TA(this._element);if(t){if(t.addEventListener("focusin",this.onFocusIn.bind(this),{passive:!0}),this._element.replaceChildren(this._createCaptchaElement()),this._element.addEventListener("privatecaptcha:checked",this.onChecked.bind(this)),this._options.storeVariable&&(this._element[this._options.storeVariable]=this),N===this._options.displayMode){let o=t.querySelector(".private-captcha-anchor");o?o.style.position="relative":console.warn("[privatecaptcha] cannot find anchor for popup")}this.checkConfigured()&&this._options.startMode==="load"&&this.init(!1)}else console.warn("[privatecaptcha] cannot find form element")}_createCaptchaElement(){let A=document.createElement("private-captcha");return this._updateCaptchaElement(A),A}_updateCaptchaElement(A){A.setAttribute("lang",this._options.lang),A.setAttribute("theme",this._options.theme),A.setAttribute("extra-styles",this._options.styles),this._options.debug&&A.setAttribute("debug","true"),A.setAttribute("display-mode",this._options.displayMode)}setOptions(A){this._callerOptions={...A};let t=this._element.dataset.eu||null?RA:VA,i="private-captcha-solution";A.hasOwnProperty("compat")&&A.compat===KA&&(i="g-recaptcha-response");let o="";if(A.hasOwnProperty("sitekey")&&(o=A.sitekey),this._options=Object.assign({startMode:this._element.dataset.startMode||"auto",debug:this._element.dataset.debug,fieldName:this._element.dataset.solutionField||i,puzzleEndpoint:this._element.dataset.puzzleEndpoint||t,sitekey:o||this._element.dataset.sitekey||"",displayMode:this._element.dataset.displayMode||"widget",lang:this._element.dataset.lang||"auto",theme:this._element.dataset.theme||"light",styles:this._element.dataset.styles||"",storeVariable:this._element.dataset.storeVariable||null},A),this._options.lang==="auto"){let I="";typeof document<"u"&&document.documentElement&&(I=document.documentElement.lang),!I&&typeof navigator<"u"&&(I=navigator.language||navigator.userLanguage||""),typeof I=="string"&&I.length>=2&&(this._options.lang=I.split("-")[0].toLowerCase())}}async init(A){this.trace(`init() was called. state=${this._state}`),this._puzzle=null,this._solution=null,this._errorCode=0,this._internalError=null,this._notice=null;let e=this.checkConfigured();if(!e)return;if(d!==this._state&&w!==this._state){console.warn(`[privatecaptcha] captcha has already been initialized. state=${this._state}`);return}this._workersPool&&(this._workersPool.stop(),this._workersPool.reset());let t=this._options.startMode==="auto"||this._options.startMode==="load"||A;try{this.setState(G),this.setProgressState(G),this.trace(`fetching puzzle. sitekey=${e}`);let i=await lA(this._options.puzzleEndpoint,e);this._notice=i.notice,this._puzzle=new R(i.data),this._puzzle&&this._puzzle.isZero()&&(this._errorCode=2);let o=this._puzzle.expirationMillis();this.trace(`parsed puzzle buffer. isZero=${this._puzzle.isZero()} ttl=${o/1e3}`),this._expiryTimeout&&clearTimeout(this._expiryTimeout),o&&(this._expiryTimeout=setTimeout(()=>this.expire(),o));try{this._workersPool.init(this._puzzle,t)}catch(I){this._workersPool.onWorkerError(I);return}this.signalInit()}catch(i){console.error("[privatecaptcha]",i),this._expiryTimeout&&clearTimeout(this._expiryTimeout),this._errorCode=3,this._internalError=i.internalError||i.message,this.setState(w);let o=this.shouldFinalizeWork();this.setProgressState(o?D:d),o&&(this.saveSolutions(),this.signalErrored())}}checkConfigured(){let A=this._options.sitekey||this._element.dataset.sitekey;return A||(console.error("[privatecaptcha] sitekey not set on captcha element"),this._errorCode=1,this.setState(z),this.setProgressState(z),null)}start(){if(U!==this._state){console.warn(`[privatecaptcha] solving has already been started. state=${this._state}`);return}this.trace("starting solving captcha");try{this.setState(E),this._workersPool.solve(this._puzzle)}catch(A){this._workersPool.onWorkerError(A)}}dispatchEvent(A,e={}){let t=new CustomEvent(`privatecaptcha:${A}`,{bubbles:!1,detail:{widget:this,element:this._element,...e}});this._element.dispatchEvent(t)}signalEvent(A,e){this.dispatchEvent(A);let t=this._element.dataset[e];if(t)try{window[t](this)}catch(i){console.error("[privatecaptcha] Error in callback",A,i)}}signalInit(){this.signalEvent("init","initCallback")}signalStarted(){this.signalEvent("start","startedCallback")}signalFinished(){this.signalEvent("finish","finishedCallback")}signalErrored(){this.signalEvent("error","erroredCallback")}signalReset(){this.signalEvent("reset","resetCallback")}ensureNoSolutionField(){let A=this._element.querySelector(`input[name="${this._options.fieldName}"]`);if(A)try{this._element.removeChild(A)}catch(e){console.warn("[privatecaptcha]",e)}}reset(A={}){this.trace("reset captcha"),this._expiryTimeout&&clearTimeout(this._expiryTimeout),this._workersPool&&(this._workersPool.stop(),this._workersPool.reset()),this._puzzle=null,this._solution=null,this._errorCode=0,this._internalError=null,this._notice=null,this.setOptions({...this._callerOptions,...A}),this.setState(d);let e=this._element.querySelector("private-captcha");e&&(this._updateCaptchaElement(e),e.update()),this.setProgressState(d,!0),this.ensureNoSolutionField(),this._userStarted=!1,this._apiTriggered=!1,this.signalReset(),this._options.startMode==="load"&&this.init(!1)}updateStyles(){let A=this._element.dataset.styles||"";if(A!==this._options.styles){this._options.styles=A;let e=this._element.querySelector("private-captcha");e&&e.setAttribute("extra-styles",A)}}expire(){this.trace("expire captcha"),this._workersPool&&this._workersPool.stop(),this.setState(d),this.setProgressState(d),this.ensureNoSolutionField(),this._apiTriggered=!1,this.init(this._userStarted)}element(){return this._element}solution(){return this._solution}onFocusIn(A){if(this.trace("onFocusIn event handler"),d!==this._state){this.trace(`skipping focusin event with non-empty state. state=${this._state}`);return}let e=this._element.querySelector("private-captcha");if(e&&A.target==e){this.trace("skipping focusin event on captcha element");return}this.init(!1)}execute(){if(this._apiTriggered&&w!==this._state)return this.trace("skipping duplicate execute event handler"),new Promise(()=>{});this.trace(`execute event handler. state=${this._state}`),this._apiTriggered=!0;let A=this._options.startMode==="auto"?E:w===this._state?G:this._state;return this._triggerSolving(A),new Promise(()=>{})}onChecked(A){if(A&&A.stopPropagation(),this._userStarted&&w!==this._state){this.trace("skipping duplicate onChecked handler");return}this.trace(`onChecked event handler. state=${this._state}`),this._userStarted=!0,this._triggerSolving(E)}_triggerSolving(A){let e=!1;switch(this._state){case U:this.start();break;case d:case w:let t=this._userStarted||this._apiTriggered;this.init(t);break;case G:break;case E:setTimeout(()=>this.setProgress(this._lastProgress),500);break;case D:A=D,e=!0;break;default:console.warn(`[privatecaptcha] triggerSolving: unexpected state. state=${this._state}`);return}w!==this._state&&(this.setProgressState(A),e&&(this.saveSolutions(),this.signalFinished()))}shouldFinalizeWork(){return this._options.startMode==="load"||this._userStarted||this._apiTriggered&&(this._options.startMode==="auto"||this._options.displayMode==="hidden")}onWorkersReady(A){this.trace(`workers are ready. autostart=${A}`),this.setState(U),this._options.startMode==="load"?this.setProgressState(E):!this._userStarted&&!(this._apiTriggered&&A)&&this.setProgressState(U),(A||this._userStarted||this._apiTriggered)&&this.start()}onWorkerError(A){w!==this._state&&(console.error("[privatecaptcha] error in worker:",A),this._errorCode=4,this._internalError=A?.message??String(A),this._expiryTimeout&&(clearTimeout(this._expiryTimeout),this._expiryTimeout=null),this._solution=null,this.ensureNoSolutionField(),this.setState(w),this.setProgressState(w),this.signalErrored())}onWorkStarted(){this.signalStarted()}onWorkCompleted(){if(this.trace("[privatecaptcha] work completed"),E!==this._state){console.warn(`[privatecaptcha] solving has not been started. state=${this._state}`);return}this.setState(D);let A=this.shouldFinalizeWork();A&&this.setProgressState(D),A&&(this.saveSolutions(),setTimeout(()=>this.signalFinished(),500))}onWorkProgress(A){if(E!==this._state){console.warn(`[privatecaptcha] skipping progress update. state=${this._state}`);return}this.trace(`progress changed. percent=${A}`),this.setProgress(A)}saveSolutions(){let e=`${this._workersPool.serializeSolutions(this._errorCode)}.${this._puzzle?this._puzzle.rawData:""}`;this.ensureNoSolutionField(),this._element.insertAdjacentHTML("beforeend",`<input name="${this._options.fieldName}" type="hidden" value="${e}">`),this._solution=e,this.trace(`saved solutions. field=${this._options.fieldName} payload=${e}`)}setProgressState(A,e=!1){let t=this._userStarted||j===this._options.displayMode||this._apiTriggered&&N===this._options.displayMode,i=this._element.querySelector("private-captcha");if(i){i.setError(this._errorCode,this._internalError,this._notice);let o=i.setState(A,t);return!o&&e&&i.render(A,t),o}else return console.error("[privatecaptcha] component not found when changing state"),!1}setState(A){if(this.trace(`change state. old=${this._state} new=${A}`),this._state=A,this._options.debug){let e=this._element.querySelector("private-captcha");e&&e.setDebugText(A,w==A)}}setProgress(A){if(this._lastProgress=A,E===this._state||D===this._state){let e=this._element.querySelector("private-captcha");e?e.setProgress(A):console.error("[privatecaptcha] component not found when updating progress")}}trace(A){this._options.debug&&console.debug("[privatecaptcha]",A)}};export{wA as CaptchaWidget,KA as RECAPTCHA_COMPAT};
|
|
60
60
|
//# sourceMappingURL=index.js.map
|