i.length;)i.unshift(0);return i},u=this.getX().toBigInteger(),r=this.getY().toBigInteger(),t=i(u,32);return n?r.isEven()?t.unshift(2):t.unshift(3):(t.unshift(4),t=t.concat(i(r,32))),t};s.decodeFrom=function(n,t){var e,o;t[0];var i=t.length-1,u=t.slice(1,1+i/2),f=t.slice(1+i/2,1+i);return u.unshift(0),f.unshift(0),e=new r(u),o=new r(f),new s(n,n.fromBigInteger(e),n.fromBigInteger(o))};s.decodeFromHex=function(n,t){t.substr(0,2);var i=t.length-2,u=t.substr(2,i/2),f=t.substr(2+i/2,i/2),e=new r(u,16),o=new r(f,16);return new s(n,n.fromBigInteger(e),n.fromBigInteger(o))};s.prototype.add2D=function(n){if(this.isInfinity())return n;if(n.isInfinity())return this;if(this.x.equals(n.x))return this.y.equals(n.y)?this.twice():this.curve.getInfinity();var r=n.x.subtract(this.x),t=n.y.subtract(this.y).divide(r),i=t.square().subtract(this.x).subtract(n.x),u=t.multiply(this.x.subtract(i)).subtract(this.y);return new s(this.curve,i,u)};s.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var n=this.curve.fromBigInteger(r.valueOf(2)),u=this.curve.fromBigInteger(r.valueOf(3)),t=this.x.square().multiply(u).add(this.curve.a).divide(this.y.multiply(n)),i=t.square().subtract(this.x.multiply(n)),f=t.multiply(this.x.subtract(i)).subtract(this.y);return new s(this.curve,i,f)};s.prototype.multiply2D=function(n){var u;if(this.isInfinity())return this;if(0==n.signum())return this.curve.getInfinity();for(var f=n,e=f.multiply(new r("3")),o=this.negate(),i=this,t=e.bitLength()-2;t>0;--t)i=i.twice(),u=e.testBit(t),u!=f.testBit(t)&&(i=i.add2D(u?this:o));return i};s.prototype.isOnCurve=function(){var n=this.getX().toBigInteger(),t=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),u=this.curve.getB().toBigInteger(),i=this.curve.getQ(),f=t.multiply(t).mod(i),e=n.multiply(n).multiply(n).add(r.multiply(n)).add(u).mod(i);return f.equals(e)};s.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"};s.prototype.validate=function(){var n=this.curve.getQ(),t,i;if(this.isInfinity())throw new Error("Point is at infinity.");if(t=this.getX().toBigInteger(),i=this.getY().toBigInteger(),t.compareTo(r.ONE)<0||t.compareTo(n.subtract(r.ONE))>0)throw new Error("x coordinate out of bounds");if(i.compareTo(r.ONE)<0||i.compareTo(n.subtract(r.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(n).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};fr=function(){function r(n,t,r){return t?i[t]:String.fromCharCode(parseInt(r,16))}var n=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),t=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),i={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},u=new String(""),f=Object.hasOwnProperty;return function(i,e){var l,s,a=i.match(n),c=a[0],v=!1,o;"{"===c?l={}:"["===c?l=[]:(l=[],v=!0);for(var h=[l],y=1-v,p=a.length;y=0;)delete r[u[h]]}return e.call(t,i,r)}({"":l},"")),l}}();void 0!==i&&i||(t.KJUR=i={});void 0!==i.asn1&&i.asn1||(i.asn1={});i.asn1.ASN1Util=new function(){this.integerToByteHex=function(n){var t=n.toString(16);return t.length%2==1&&(t="0"+t),t};this.bigIntToMinTwosComplementsHex=function(n){var t=n.toString(16),i,u,f;if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{for(i=t.substr(1).length,i%2==1?i+=1:t.match(/^[0-7]/)||(i+=2),u="",f=0;f15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+i).toString(16)+n};this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV};this.getValueHex=function(){return this.getEncodedHex(),this.hV};this.getFreshValueHex=function(){return""};this.setByParam=function(n){this.params=n};null!=n&&null!=n.tlv&&(this.hTLV=n.tlv,this.isModified=!1)};i.asn1.DERAbstractString=function(n){i.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s};this.setString=function(n){this.hTLV=null;this.isModified=!0;this.s=n;this.hV=er(this.s).toLowerCase()};this.setStringHex=function(n){this.hTLV=null;this.isModified=!0;this.s=null;this.hV=n};this.getFreshValueHex=function(){return this.hV};void 0!==n&&("string"==typeof n?this.setString(n):void 0!==n.str?this.setString(n.str):void 0!==n.hex&&this.setStringHex(n.hex))};h.lang.extend(i.asn1.DERAbstractString,i.asn1.ASN1Object);i.asn1.DERAbstractTime=function(){i.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(n){var t=n.getTime()+6e4*n.getTimezoneOffset();return new Date(t)};this.formatDate=function(n,t,i){var u=this.zeroPadding,r=this.localDateToUTC(n),e=String(r.getFullYear()),f,o,s;return"utc"==t&&(e=e.substr(2,2)),f=e+u(String(r.getMonth()+1),2)+u(String(r.getDate()),2)+u(String(r.getHours()),2)+u(String(r.getMinutes()),2)+u(String(r.getSeconds()),2),!0===i&&(o=r.getMilliseconds(),0!=o&&(s=u(String(o),3),f=f+"."+(s=s.replace(/[0]+$/,"")))),f+"Z"};this.zeroPadding=function(n,t){return n.length>=t?n:new Array(t-n.length+1).join("0")+n};this.getString=function(){return this.s};this.setString=function(n){this.hTLV=null;this.isModified=!0;this.s=n;this.hV=ot(n)};this.setByDateValue=function(n,t,i,r,u,f){var e=new Date(Date.UTC(n,t-1,i,r,u,f,0));this.setByDate(e)};this.getFreshValueHex=function(){return this.hV}};h.lang.extend(i.asn1.DERAbstractTime,i.asn1.ASN1Object);i.asn1.DERAbstractStructured=function(n){i.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(n){this.hTLV=null;this.isModified=!0;this.asn1Array=n};this.appendASN1Object=function(n){this.hTLV=null;this.isModified=!0;this.asn1Array.push(n)};this.asn1Array=[];void 0!==n&&void 0!==n.array&&(this.asn1Array=n.array)};h.lang.extend(i.asn1.DERAbstractStructured,i.asn1.ASN1Object);i.asn1.DERBoolean=function(n){i.asn1.DERBoolean.superclass.constructor.call(this);this.hT="01";this.hTLV=0==n?"010100":"0101ff"};h.lang.extend(i.asn1.DERBoolean,i.asn1.ASN1Object);i.asn1.DERInteger=function(n){i.asn1.DERInteger.superclass.constructor.call(this);this.hT="02";this.setByBigInteger=function(n){this.hTLV=null;this.isModified=!0;this.hV=i.asn1.ASN1Util.bigIntToMinTwosComplementsHex(n)};this.setByInteger=function(n){var t=new r(String(n),10);this.setByBigInteger(t)};this.setValueHex=function(n){this.hV=n};this.getFreshValueHex=function(){return this.hV};void 0!==n&&(void 0!==n.bigint?this.setByBigInteger(n.bigint):void 0!==n.int?this.setByInteger(n.int):"number"==typeof n?this.setByInteger(n):void 0!==n.hex&&this.setValueHex(n.hex))};h.lang.extend(i.asn1.DERInteger,i.asn1.ASN1Object);i.asn1.DERBitString=function(n){if(void 0!==n&&void 0!==n.obj){var t=i.asn1.ASN1Util.newObject(n.obj);n.hex="00"+t.getEncodedHex()}i.asn1.DERBitString.superclass.constructor.call(this);this.hT="03";this.setHexValueIncludingUnusedBits=function(n){this.hTLV=null;this.isModified=!0;this.hV=n};this.setUnusedBitsAndHexValue=function(n,t){if(n<0||7=i)break;return h};u.getNthChildIdx=function(n,t,i){return u.getChildIdx(n,t)[i]};u.getIdxbyList=function(n,t,i,r){var f,e,o=u;return 0==i.length?void 0!==r&&n.substr(t,2)!==r?-1:t:(f=i.shift())>=(e=o.getChildIdx(n,t)).length?-1:o.getIdxbyList(n,e[f],i,r)};u.getIdxbyListEx=function(n,t,i,r){var f,s,e=u,c,o,h;if(0==i.length)return void 0!==r&&n.substr(t,2)!==r?-1:t;for(f=i.shift(),s=e.getChildIdx(n,t),c=0,o=0;o=n.length?null:e.getTLV(n,f)};u.getTLVbyListEx=function(n,t,i,r){var f=u,e=f.getIdxbyListEx(n,t,i,r);return-1==e?null:f.getTLV(n,e)};u.getVbyList=function(n,t,i,r,f){var o,e,s=u;return-1==(o=s.getIdxbyList(n,t,i,r))||o>=n.length?null:(e=s.getV(n,o),!0===f&&(e=e.substr(2)),e)};u.getVbyListEx=function(n,t,i,r,f){var o,e,s=u;return-1==(o=s.getIdxbyListEx(n,t,i,r))?null:(e=s.getV(n,o),"03"==n.substr(o,2)&&!1!==f&&(e=e.substr(2)),e)};u.getInt=function(n,t,i){var r,f;null==i&&(i=-1);try{return(r=n.substr(t,2),"02"!=r&&"03"!=r)?i:(f=u.getV(n,t),"02"==r?parseInt(f,16):function(n){var i;try{if(i=n.substr(0,2),"00"==i)return parseInt(n.substr(2),16);var r=parseInt(i,16),u=n.substr(2),t=parseInt(u,16).toString(2);return"0"==t&&(t="00000000"),t=t.slice(0,0-r),parseInt(t,2)}catch(n){return-1}}(f))}catch(n){return i}};u.getOID=function(n,t,i){null==i&&(i=null);try{return"06"!=n.substr(t,2)?i:function(n){var u,r,f;if(!su(n))return null;try{var e=[],h=n.substr(0,2),o=parseInt(h,16);e[0]=new String(Math.floor(o/40));e[1]=new String(o%40);for(var s=n.substr(2),i=[],t=0;t0&&(f=f+"."+u.join(".")),f}catch(n){return null}}(u.getV(n,t))}catch(n){return i}};u.getOIDName=function(n,t,r){var f,e;null==r&&(r=null);try{return(f=u.getOID(n,t,r),f==r)?r:(e=i.asn1.x509.OID.oid2name(f),""==e?f:e)}catch(n){return r}};u.getString=function(n,t,i){null==i&&(i=null);try{return nt(u.getV(n,t))}catch(n){return i}};u.hextooidstr=function(n){var o=function(n,t){return n.length>=t?n:new Array(t-n.length+1).join("0")+n},e=[],c=n.substr(0,2),s=parseInt(c,16),u,r,f;e[0]=new String(Math.floor(s/40));e[1]=new String(s%40);for(var h=n.substr(2),i=[],t=0;t0&&(f=f+"."+u.join(".")),f};u.dump=function(n,t,r,f){var v=u,s=v.getV,y=v.dump,g=v.getChildIdx,e=n,b,o,k,h,nt,tt,l,c,a,w;if(n instanceof i.asn1.ASN1Object&&(e=n.getEncodedHex()),b=function(n,t){return n.length<=2*t?n:n.substr(0,t)+"..(total "+n.length/2+"bytes).."+n.substr(n.length-t,t)},void 0===t&&(t={ommit_long_octet:32}),void 0===r&&(r=0),void 0===f&&(f=""),k=t.ommit_long_octet,"01"==(o=e.substr(r,2)))return"00"==(h=s(e,r))?f+"BOOLEAN FALSE\n":f+"BOOLEAN TRUE\n";if("02"==o)return f+"INTEGER "+b(h=s(e,r),k)+"\n";if("03"==o)return h=s(e,r),v.isASN1HEX(h.substr(2))?(a=f+"BITSTRING, encapsulates\n")+y(h.substr(2),t,0,f+" "):f+"BITSTRING "+b(h,k)+"\n";if("04"==o)return h=s(e,r),v.isASN1HEX(h)?(a=f+"OCTETSTRING, encapsulates\n")+y(h,t,0,f+" "):f+"OCTETSTRING "+b(h,k)+"\n";if("05"==o)return f+"NULL\n";if("06"==o){var ut=s(e,r),it=i.asn1.ASN1Util.oidHexToInt(ut),d=i.asn1.x509.OID.oid2name(it),rt=it.replace(/\./g," ");return""!=d?f+"ObjectIdentifier "+d+" ("+rt+")\n":f+"ObjectIdentifier ("+rt+")\n"}if("0a"==o)return f+"ENUMERATED "+parseInt(s(e,r))+"\n";if("0c"==o)return f+"UTF8String '"+p(s(e,r))+"'\n";if("13"==o)return f+"PrintableString '"+p(s(e,r))+"'\n";if("14"==o)return f+"TeletexString '"+p(s(e,r))+"'\n";if("16"==o)return f+"IA5String '"+p(s(e,r))+"'\n";if("17"==o)return f+"UTCTime "+p(s(e,r))+"\n";if("18"==o)return f+"GeneralizedTime "+p(s(e,r))+"\n";if("1a"==o)return f+"VisualString '"+p(s(e,r))+"'\n";if("1e"==o)return f+"BMPString '"+p(s(e,r))+"'\n";if("30"==o){if("3000"==e.substr(r,4))return f+"SEQUENCE {}\n";for(a=f+"SEQUENCE\n",nt=t,(2==(c=g(e,r)).length||3==c.length)&&"06"==e.substr(c[0],2)&&"04"==e.substr(c[c.length-1],2)&&(d=v.oidname(s(e,c[0])),tt=JSON.parse(JSON.stringify(t)),tt.x509ExtName=d,nt=tt),l=0;l31)&&128==(192&i)&&(31&i)==r}catch(n){return!1}};u.isASN1HEX=function(n){var t=u;if(n.length%2==1)return!1;var i=t.getVblen(n,0),r=n.substr(0,2),f=t.getL(n,0);return n.length-r.length-f.length==2*i};u.checkStrictDER=function(n,t,r,f,e){var o=u,s,h,l,a,v;if(void 0===r){if("string"!=typeof n)throw new Error("not hex string");if(n=n.toLowerCase(),!i.lang.String.isHex(n))throw new Error("not hex string");r=n.length;e=(f=n.length/2)<128?1:Math.ceil(f.toString(16))+1}if(o.getL(n,t).length>2*e)throw new Error("L of TLV too long: idx="+t);if(s=o.getVblen(n,t),s>f)throw new Error("value of L too long than hex: idx="+t);if(h=o.getTLV(n,t),l=h.length-2-o.getL(n,t).length,l!==2*s)throw new Error("V string length and L's value not the same:"+l+"/"+2*s);if(0===t&&n.length!=h.length)throw new Error("total length and TLV length unmatch:"+n.length+"!="+h.length);if(a=n.substr(t,2),"02"===a&&(v=o.getVidx(n,t),"00"==n.substr(v,2)&&n.charCodeAt(v+2)<56))throw new Error("not least zeros for DER INTEGER");if(32&parseInt(a,16)){for(var w=o.getVblen(n,t),y=0,p=o.getChildIdx(n,t),c=0;c=t?n:new Array(t-n.length+1).join(i)+n};void 0!==i&&i||(t.KJUR=i={});void 0!==i.crypto&&i.crypto||(i.crypto={});i.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"};this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"};this.CRYPTOJSMESSAGEDIGESTNAME={md5:f.algo.MD5,sha1:f.algo.SHA1,sha224:f.algo.SHA224,sha256:f.algo.SHA256,sha384:f.algo.SHA384,sha512:f.algo.SHA512,ripemd160:f.algo.RIPEMD160};this.getDigestInfoHex=function(n,t){if(void 0===this.DIGESTINFOHEAD[t])throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+n};this.getPaddedDigestInfoHex=function(n,t,i){var r=this.getDigestInfoHex(n,t),u=i/4;if(r.length+22>u)throw"key is too short for SigAlg: keylen="+i+","+t;for(var f="0001",e="00"+r,o="",h=u-f.length-e.length,s=0;s=0||r.compareTo(t.ONE)<0||r.compareTo(f)>=0)return!1;var e=r.modInverse(f),s=n.multiply(e).mod(f),h=i.multiply(e).mod(f);return o.multiply(s).add(u.multiply(h)).getX().toBigInteger().mod(f).equals(i)};this.serializeSig=function(n,t){var r=n.toByteArraySigned(),u=t.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(u.length),(i=i.concat(u)).unshift(i.length),i.unshift(48),i};this.parseSig=function(n){var i,r,u;if(48!=n[0])throw new Error("Signature not a valid DERSequence");if(2!=n[i=2])throw new Error("First element in signature must be a DERInteger");if(r=n.slice(i+2,i+2+n[i+1]),2!=n[i+=2+n[i+1]])throw new Error("Second element in signature must be a DERInteger");return u=n.slice(i+2,i+2+n[i+1]),i+=2+n[i+1],{r:t.fromByteArrayUnsigned(r),s:t.fromByteArrayUnsigned(u)}};this.parseSigCompact=function(n){var i,r;if(65!==n.length)throw"Signature has the wrong length";if(i=n[0]-27,i<0||i>7)throw"Invalid signature type";return r=this.ecparams.n,{r:t.fromByteArrayUnsigned(n.slice(1,33)).mod(r),s:t.fromByteArrayUnsigned(n.slice(33,65)).mod(r),i:i}};this.readPKCS5PrvKeyHex=function(n){if(!1===h(n))throw new Error("not ASN.1 hex string");var t,i,r;try{t=f(n,0,["[0]",0],"06");i=f(n,0,[1],"04");try{r=f(n,0,["[1]",0],"03")}catch(n){}}catch(n){throw new Error("malformed PKCS#1/5 plain ECC private key");}if(this.curveName=o(t),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName);this.setPublicKeyHex(r);this.setPrivateKeyHex(i);this.isPublic=!1};this.readPKCS8PrvKeyHex=function(n){if(!1===h(n))throw new e("not ASN.1 hex string");var t,i,r;try{f(n,0,[1,0],"06");t=f(n,0,[1,1],"06");i=f(n,0,[2,0,1],"04");try{r=f(n,0,[2,0,"[1]",0],"03")}catch(n){}}catch(n){throw new e("malformed PKCS#8 plain ECC private key");}if(this.curveName=o(t),void 0===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName);this.setPublicKeyHex(r);this.setPrivateKeyHex(i);this.isPublic=!1};this.readPKCS8PubKeyHex=function(n){if(!1===h(n))throw new e("not ASN.1 hex string");var t,i;try{f(n,0,[0,0],"06");t=f(n,0,[0,1],"06");i=f(n,0,[1],"03")}catch(n){throw new e("malformed PKCS#8 ECC public key");}if(this.curveName=o(t),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName);this.setPublicKeyHex(i)};this.readCertPubKeyHex=function(n){if(!1===h(n))throw new e("not ASN.1 hex string");var t,i;try{t=f(n,0,[0,5,0,1],"06");i=f(n,0,[0,5,1],"03")}catch(n){throw new e("malformed X.509 certificate ECC public key");}if(this.curveName=o(t),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName);this.setPublicKeyHex(i)};void 0!==n&&void 0!==n.curve&&(this.curveName=n.curve);void 0===this.curveName&&(this.curveName="secp256r1");this.setNamedCurve(this.curveName);void 0!==n&&(void 0!==n.prv&&this.setPrivateKeyHex(n.prv),void 0!==n.pub&&this.setPublicKeyHex(n.pub))};i.crypto.ECDSA.parseSigHex=function(n){var t=i.crypto.ECDSA.parseSigHexInHexRS(n);return{r:new r(t.r,16),s:new r(t.s,16)}};i.crypto.ECDSA.parseSigHexInHexRS=function(n){var i=u,o=i.getChildIdx,e=i.getV,t,r,f;if(i.checkStrictDER(n,0),"30"!=n.substr(0,2))throw new Error("signature is not a ASN.1 sequence");if(t=o(n,0),2!=t.length)throw new Error("signature shall have two elements");if(r=t[0],f=t[1],"02"!=n.substr(r,2))throw new Error("1st item not ASN.1 integer");if("02"!=n.substr(f,2))throw new Error("2nd item not ASN.1 integer");return{r:e(n,r),s:e(n,f)}};i.crypto.ECDSA.asn1SigToConcatSig=function(n){var u=i.crypto.ECDSA.parseSigHexInHexRS(n),t=u.r,r=u.s;if("00"==t.substr(0,2)&&t.length%32==2&&(t=t.substr(2)),"00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),t.length%32==30&&(t="00"+t),r.length%32==30&&(r="00"+r),t.length%32!=0)throw"unknown ECDSA sig r length error";if(r.length%32!=0)throw"unknown ECDSA sig s length error";return t+r};i.crypto.ECDSA.concatSigToASN1Sig=function(n){if(n.length*4%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var t=n.substr(0,n.length/2),r=n.substr(n.length/2);return i.crypto.ECDSA.hexRSSigToASN1Sig(t,r)};i.crypto.ECDSA.hexRSSigToASN1Sig=function(n,t){var u=new r(n,16),f=new r(t,16);return i.crypto.ECDSA.biRSSigToASN1Sig(u,f)};i.crypto.ECDSA.biRSSigToASN1Sig=function(n,t){var r=i.asn1,u=new r.DERInteger({bigint:n}),f=new r.DERInteger({bigint:t});return new r.DERSequence({array:[u,f]}).getEncodedHex()};i.crypto.ECDSA.getName=function(n){return"2b8104001f"===n?"secp192k1":"2a8648ce3d030107"===n?"secp256r1":"2b8104000a"===n?"secp256k1":"2b81040021"===n?"secp224r1":"2b81040022"===n?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(n)?"secp256r1":-1!=="|secp256k1|".indexOf(n)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(n)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(n)?"secp384r1":null};void 0!==i&&i||(t.KJUR=i={});void 0!==i.crypto&&i.crypto||(i.crypto={});i.crypto.ECParameterDB=new function(){function t(n){return new r(n,16)}var n={},i={};this.getByName=function(t){var r=t;if(void 0!==i[r]&&(r=i[t]),void 0!==n[r])return n[r];throw"unregistered EC curve name: "+r;};this.regist=function(r,u,f,e,o,s,h,c,l,a,v,y){var p;n[r]={};var b=t(f),k=t(e),d=t(o),g=t(s),nt=t(h),w=new ct(b,k,d),tt=w.decodePointHex("04"+c+l);for(n[r].name=r,n[r].keylen=u,n[r].curve=w,n[r].G=tt,n[r].n=g,n[r].h=nt,n[r].oid=v,n[r].info=y,p=0;p=2*a)break;return o={},o.keyhex=s.substr(0,2*n[t].keylen),o.ivhex=s.substr(2*n[t].keylen,2*n[t].ivlen),o},a=function(t,i,r,u){var e=f.enc.Base64.parse(t),o=f.enc.Hex.stringify(e);return n[i].proc(o,r,u)};return{version:"1.0.0",parsePKCS5PEM:function(n){return c(n)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(n,t,i){return h(n,t,i)},decryptKeyB64:function(n,t,i,r){return a(n,t,i,r)},getDecryptedKeyHex:function(n,t){var i=c(n),r=(i.type,i.cipher),u=i.ivsalt,f=i.data,e=h(r,t,u).keyhex;return a(f,r,e,u)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,i,r,u,e){var o="";if(void 0!==u&&null!=u||(u="AES-256-CBC"),void 0===n[u])throw"KEYUTIL unsupported algorithm: "+u;return void 0!==e&&null!=e||(e=function(n){var t=f.lib.WordArray.random(n);return f.enc.Hex.stringify(t)}(n[u].ivlen).toUpperCase()),o="-----BEGIN "+t+" PRIVATE KEY-----\r\n",o+="Proc-Type: 4,ENCRYPTED\r\n",o+="DEK-Info: "+u+","+e+"\r\n",o+="\r\n",(o+=function(t,i,r,u){return n[i].eproc(t,r,u)}(i,u,h(u,r,e).keyhex,e).replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(n){var a=u,i=a.getChildIdx,t=a.getV,r={},h=i(n,0),f,c,e,o,s,l;if(2!=h.length)throw"malformed format: SEQUENCE(0).items != 2: "+h.length;if(r.ciphertext=t(n,h[1]),f=i(n,h[0]),2!=f.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+f.length;if("2a864886f70d01050d"!=t(n,f[0]))throw"this only supports pkcs5PBES2";if(c=i(n,f[1]),2!=f.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+c.length;if(e=i(n,c[1]),2!=e.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+e.length;if("2a864886f70d0307"!=t(n,e[0]))throw"this only supports TripleDES";if(r.encryptionSchemeAlg="TripleDES",r.encryptionSchemeIV=t(n,e[1]),o=i(n,c[0]),2!=o.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+o.length;if("2a864886f70d01050c"!=t(n,o[0]))throw"this only supports pkcs5PBKDF2";if(s=i(n,o[1]),s.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+s.length;r.pbkdf2Salt=t(n,s[0]);l=t(n,s[1]);try{r.pbkdf2Iter=parseInt(l,16)}catch(n){throw"malformed format pbkdf2Iter: "+l;}return r},getPBKDF2KeyHexFromParam:function(n,t){var i=f.enc.Hex.parse(n.pbkdf2Salt),r=n.pbkdf2Iter,u=f.PBKDF2(t,i,{keySize:6,iterations:r});return f.enc.Hex.stringify(u)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(n,t){var u=ft(n,"ENCRYPTED PRIVATE KEY"),i=this.parseHexOfEncryptedPKCS8(u),e=l.getPBKDF2KeyHexFromParam(i,t),r={};r.ciphertext=f.enc.Hex.parse(i.ciphertext);var o=f.enc.Hex.parse(e),s=f.enc.Hex.parse(i.encryptionSchemeIV),h=f.TripleDES.decrypt(r,o,{iv:s});return f.enc.Hex.stringify(h)},getKeyFromEncryptedPKCS8PEM:function(n,t){var i=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(n,t);return this.getKeyFromPlainPrivatePKCS8Hex(i)},parsePlainPrivatePKCS8Hex:function(n){var f=u,e=f.getChildIdx,o=f.getV,r={algparam:null},t,i;if("30"!=n.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";if(t=e(n,0),3!=t.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=n.substr(t[1],2))throw"malformed PKCS8 private key(code:003)";if(i=e(n,t[1]),2!=i.length)throw"malformed PKCS8 private key(code:004)";if("06"!=n.substr(i[0],2))throw"malformed PKCS8 private key(code:005)";if(r.algoid=o(n,i[0]),"06"==n.substr(i[1],2)&&(r.algparam=o(n,i[1])),"04"!=n.substr(t[2],2))throw"malformed PKCS8 private key(code:006)";return r.keyidx=f.getVidx(n,t[2]),r},getKeyFromPlainPrivatePKCS8PEM:function(n){var t=ft(n,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(t)},getKeyFromPlainPrivatePKCS8Hex:function(n){var t,r=this.parsePlainPrivatePKCS8Hex(n);if("2a864886f70d010101"==r.algoid)t=new e;else if("2a8648ce380401"==r.algoid)t=new i.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";t=new i.crypto.ECDSA}return t.readPKCS8PrvKeyHex(n),t},_getKeyFromPublicPKCS8Hex:function(n){var t,r=u.getVbyList(n,0,[0,0],"06");if("2a864886f70d010101"===r)t=new e;else if("2a8648ce380401"===r)t=new i.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";t=new i.crypto.ECDSA}return t.readPKCS8PubKeyHex(n),t},parsePublicRawRSAKeyHex:function(n){var r=u,e=r.getChildIdx,f=r.getV,i={},t;if("30"!=n.substr(0,2))throw"malformed RSA key(code:001)";if(t=e(n,0),2!=t.length)throw"malformed RSA key(code:002)";if("02"!=n.substr(t[0],2))throw"malformed RSA key(code:003)";if(i.n=f(n,t[0]),"02"!=n.substr(t[1],2))throw"malformed RSA key(code:004)";return i.e=f(n,t[1]),i},parsePublicPKCS8Hex:function(n){var r=u,s=r.getChildIdx,e=r.getV,i={algparam:null},f=s(n,0),o,t;if(2!=f.length)throw"outer DERSequence shall have 2 elements: "+f.length;if(o=f[0],"30"!=n.substr(o,2))throw"malformed PKCS8 public key(code:001)";if(t=s(n,o),2!=t.length)throw"malformed PKCS8 public key(code:002)";if("06"!=n.substr(t[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=e(n,t[0]),"06"==n.substr(t[1],2)?i.algparam=e(n,t[1]):"30"==n.substr(t[1],2)&&(i.algparam={},i.algparam.p=r.getVbyList(n,t[1],[0],"02"),i.algparam.q=r.getVbyList(n,t[1],[1],"02"),i.algparam.g=r.getVbyList(n,t[1],[2],"02")),"03"!=n.substr(f[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=e(n,f[1]).substr(2),i}}}();l.getKey=function(n,t,f){var s,wt=(tt=u).getChildIdx,h=(tt.getV,tt.getVbyList),at=i.crypto,w=at.ECDSA,b=at.DSA,p=e,rt=ft,y=l,k,g,vt,nt,d,tt,yt,it,pt,ct;if(void 0!==p&&n instanceof p||void 0!==w&&n instanceof w||void 0!==b&&n instanceof b)return n;if(void 0!==n.curve&&void 0!==n.xy&&void 0===n.d)return new w({pub:n.xy,curve:n.curve});if(void 0!==n.curve&&void 0!==n.d)return new w({prv:n.d,curve:n.curve});if(void 0===n.kty&&void 0!==n.n&&void 0!==n.e&&void 0===n.d)return(o=new p).setPublic(n.n,n.e),o;if(void 0===n.kty&&void 0!==n.n&&void 0!==n.e&&void 0!==n.d&&void 0!==n.p&&void 0!==n.q&&void 0!==n.dp&&void 0!==n.dq&&void 0!==n.co&&void 0===n.qi)return(o=new p).setPrivateEx(n.n,n.e,n.d,n.p,n.q,n.dp,n.dq,n.co),o;if(void 0===n.kty&&void 0!==n.n&&void 0!==n.e&&void 0!==n.d&&void 0===n.p)return(o=new p).setPrivate(n.n,n.e,n.d),o;if(void 0!==n.p&&void 0!==n.q&&void 0!==n.g&&void 0!==n.y&&void 0===n.x)return(o=new b).setPublic(n.p,n.q,n.g,n.y),o;if(void 0!==n.p&&void 0!==n.q&&void 0!==n.g&&void 0!==n.y&&void 0!==n.x)return(o=new b).setPrivate(n.p,n.q,n.g,n.y,n.x),o;if("RSA"===n.kty&&void 0!==n.n&&void 0!==n.e&&void 0===n.d)return(o=new p).setPublic(c(n.n),c(n.e)),o;if("RSA"===n.kty&&void 0!==n.n&&void 0!==n.e&&void 0!==n.d&&void 0!==n.p&&void 0!==n.q&&void 0!==n.dp&&void 0!==n.dq&&void 0!==n.qi)return(o=new p).setPrivateEx(c(n.n),c(n.e),c(n.d),c(n.p),c(n.q),c(n.dp),c(n.dq),c(n.qi)),o;if("RSA"===n.kty&&void 0!==n.n&&void 0!==n.e&&void 0!==n.d)return(o=new p).setPrivate(c(n.n),c(n.e),c(n.d)),o;if("EC"===n.kty&&void 0!==n.crv&&void 0!==n.x&&void 0!==n.y&&void 0===n.d)return k=(v=new w({curve:n.crv})).ecparams.keylen/4,g="04"+("0000000000"+c(n.x)).slice(-k)+("0000000000"+c(n.y)).slice(-k),v.setPublicKeyHex(g),v;if("EC"===n.kty&&void 0!==n.crv&&void 0!==n.x&&void 0!==n.y&&void 0!==n.d)return k=(v=new w({curve:n.crv})).ecparams.keylen/4,g="04"+("0000000000"+c(n.x)).slice(-k)+("0000000000"+c(n.y)).slice(-k),vt=("0000000000"+c(n.d)).slice(-k),v.setPublicKeyHex(g),v.setPrivateKeyHex(vt),v;if("pkcs5prv"===f){if(d=n,tt=u,9===(nt=wt(d,0)).length)(o=new p).readPKCS5PrvKeyHex(d);else if(6===nt.length)(o=new b).readPKCS5PrvKeyHex(d);else{if(!(nt.length>2&&"04"===d.substr(nt[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(o=new w).readPKCS5PrvKeyHex(d)}return o}if("pkcs8prv"===f)return y.getKeyFromPlainPrivatePKCS8Hex(n);if("pkcs8pub"===f)return y._getKeyFromPublicPKCS8Hex(n);if("x509pub"===f)return a.getPublicKeyFromCertHex(n);if(-1!=n.indexOf("-END CERTIFICATE-",0)||-1!=n.indexOf("-END X509 CERTIFICATE-",0)||-1!=n.indexOf("-END TRUSTED CERTIFICATE-",0))return a.getPublicKeyFromCertPEM(n);if(-1!=n.indexOf("-END PUBLIC KEY-"))return yt=ft(n,"PUBLIC KEY"),y._getKeyFromPublicPKCS8Hex(yt);if(-1!=n.indexOf("-END RSA PRIVATE KEY-")&&-1==n.indexOf("4,ENCRYPTED"))return it=rt(n,"RSA PRIVATE KEY"),y.getKey(it,null,"pkcs5prv");if(-1!=n.indexOf("-END DSA PRIVATE KEY-")&&-1==n.indexOf("4,ENCRYPTED")){var ut=h(s=rt(n,"DSA PRIVATE KEY"),0,[1],"02"),et=h(s,0,[2],"02"),ot=h(s,0,[3],"02"),st=h(s,0,[4],"02"),ht=h(s,0,[5],"02");return(o=new b).setPrivate(new r(ut,16),new r(et,16),new r(ot,16),new r(st,16),new r(ht,16)),o}if(-1!=n.indexOf("-END EC PRIVATE KEY-")&&-1==n.indexOf("4,ENCRYPTED"))return it=rt(n,"EC PRIVATE KEY"),y.getKey(it,null,"pkcs5prv");if(-1!=n.indexOf("-END PRIVATE KEY-"))return y.getKeyFromPlainPrivatePKCS8PEM(n);if(-1!=n.indexOf("-END RSA PRIVATE KEY-")&&-1!=n.indexOf("4,ENCRYPTED"))return pt=y.getDecryptedKeyHex(n,t),ct=new e,ct.readPKCS5PrvKeyHex(pt),ct;if(-1!=n.indexOf("-END EC PRIVATE KEY-")&&-1!=n.indexOf("4,ENCRYPTED")){var v,o=h(s=y.getDecryptedKeyHex(n,t),0,[1],"04"),lt=h(s,0,[2,0],"06"),bt=h(s,0,[3,0],"03").substr(2);if(void 0===i.crypto.OID.oidhex2name[lt])throw"undefined OID(hex) in KJUR.crypto.OID: "+lt;return(v=new w({curve:i.crypto.OID.oidhex2name[lt]})).setPublicKeyHex(bt),v.setPrivateKeyHex(o),v.isPublic=!1,v}if(-1!=n.indexOf("-END DSA PRIVATE KEY-")&&-1!=n.indexOf("4,ENCRYPTED"))return ut=h(s=y.getDecryptedKeyHex(n,t),0,[1],"02"),et=h(s,0,[2],"02"),ot=h(s,0,[3],"02"),st=h(s,0,[4],"02"),ht=h(s,0,[5],"02"),(o=new b).setPrivate(new r(ut,16),new r(et,16),new r(ot,16),new r(st,16),new r(ht,16)),o;if(-1!=n.indexOf("-END ENCRYPTED PRIVATE KEY-"))return y.getKeyFromEncryptedPKCS8PEM(n,t);throw new Error("not supported argument");};l.generateKeypair=function(n,t){var h,r,f,o,s;if("RSA"==n){h=t;(r=new e).generate(h,"10001");r.isPrivate=!0;r.isPublic=!0;var u=new e,c=r.n.toString(16),l=r.e.toString(16);return u.setPublic(c,l),u.isPrivate=!1,u.isPublic=!0,(f={}).prvKeyObj=r,f.pubKeyObj=u,f}if("EC"==n)return o=t,s=new i.crypto.ECDSA({curve:o}).generateKeyPairHex(),(r=new i.crypto.ECDSA({curve:o})).setPublicKeyHex(s.ecpubhex),r.setPrivateKeyHex(s.ecprvhex),r.isPrivate=!0,r.isPublic=!1,(u=new i.crypto.ECDSA({curve:o})).setPublicKeyHex(s.ecpubhex),u.isPrivate=!1,u.isPublic=!0,(f={}).prvKeyObj=r,f.pubKeyObj=u,f;throw"unknown algorithm: "+n;};l.getPEM=function(n,t,r,u,o,s){function k(n){return c({seq:[{int:0},{int:{bigint:n.n}},{int:n.e},{int:{bigint:n.d}},{int:{bigint:n.p}},{int:{bigint:n.q}},{int:{bigint:n.dmp1}},{int:{bigint:n.dmq1}},{int:{bigint:n.coeff}}]})}function tt(n){return c({seq:[{int:1},{octstr:{hex:n.prvKeyHex}},{tag:["a0",!0,{oid:{name:n.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+n.pubKeyHex}}]}]})}function it(n){return c({seq:[{int:0},{int:{bigint:n.p}},{int:{bigint:n.q}},{int:{bigint:n.g}},{int:{bigint:n.y}},{int:{bigint:n.x}}]})}var g=i,p=g.asn1,ut=p.DERObjectIdentifier,ft=p.DERInteger,c=p.ASN1Util.newObject,et=p.x509.SubjectPublicKeyInfo,nt=g.crypto,l=nt.DSA,a=nt.ECDSA,v=e,h,b,rt,y;if((void 0!==v&&n instanceof v||void 0!==l&&n instanceof l||void 0!==a&&n instanceof a)&&1==n.isPublic&&(void 0===t||"PKCS8PUB"==t))return d(h=new et(n).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==t&&void 0!==v&&n instanceof v&&(void 0===r||null==r)&&1==n.isPrivate)return d(h=k(n).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==t&&void 0!==a&&n instanceof a&&(void 0===r||null==r)&&1==n.isPrivate){var ot=new ut({name:n.curveName}).getEncodedHex(),w=tt(n).getEncodedHex(),st="";return(st+=d(ot,"EC PARAMETERS"))+d(w,"EC PRIVATE KEY")}if("PKCS1PRV"==t&&void 0!==l&&n instanceof l&&(void 0===r||null==r)&&1==n.isPrivate)return d(h=it(n).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==t&&void 0!==v&&n instanceof v&&void 0!==r&&null!=r&&1==n.isPrivate)return h=k(n).getEncodedHex(),void 0===u&&(u="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",h,r,u,s);if("PKCS5PRV"==t&&void 0!==a&&n instanceof a&&void 0!==r&&null!=r&&1==n.isPrivate)return h=tt(n).getEncodedHex(),void 0===u&&(u="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",h,r,u,s);if("PKCS5PRV"==t&&void 0!==l&&n instanceof l&&void 0!==r&&null!=r&&1==n.isPrivate)return h=it(n).getEncodedHex(),void 0===u&&(u="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",h,r,u,s);if(b=function(n,t){var i=rt(n,t);return new c({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:i.pbkdf2Salt}},{int:i.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:i.encryptionSchemeIV}}]}]}]},{octstr:{hex:i.ciphertext}}]}).getEncodedHex()},rt=function(n,t){var r=f.lib.WordArray.random(8),u=f.lib.WordArray.random(8),e=f.PBKDF2(t,r,{keySize:6,iterations:100}),o=f.enc.Hex.parse(n),s=f.TripleDES.encrypt(o,e,{iv:u})+"",i={};return i.ciphertext=s,i.pbkdf2Salt=f.enc.Hex.stringify(r),i.pbkdf2Iter=100,i.encryptionSchemeAlg="DES-EDE3-CBC",i.encryptionSchemeIV=f.enc.Hex.stringify(u),i},"PKCS8PRV"==t&&null!=v&&n instanceof v&&1==n.isPrivate)return y=k(n).getEncodedHex(),h=c({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{"null":!0}]},{octstr:{hex:y}}]}).getEncodedHex(),void 0===r||null==r?d(h,"PRIVATE KEY"):d(w=b(h,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==t&&void 0!==a&&n instanceof a&&1==n.isPrivate)return y=new c({seq:[{int:1},{octstr:{hex:n.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+n.pubKeyHex}}]}]}).getEncodedHex(),h=c({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:n.curveName}}]},{octstr:{hex:y}}]}).getEncodedHex(),void 0===r||null==r?d(h,"PRIVATE KEY"):d(w=b(h,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==t&&void 0!==l&&n instanceof l&&1==n.isPrivate)return y=new ft({bigint:n.x}).getEncodedHex(),h=c({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:n.p}},{int:{bigint:n.q}},{int:{bigint:n.g}}]}]},{octstr:{hex:y}}]}).getEncodedHex(),void 0===r||null==r?d(h,"PRIVATE KEY"):d(w=b(h,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format");};l.getKeyFromCSRPEM=function(n){var t=ft(n,"CERTIFICATE REQUEST");return l.getKeyFromCSRHex(t)};l.getKeyFromCSRHex=function(n){var t=l.parseCSRHex(n);return l.getKey(t.p8pubkeyhex,null,"pkcs8pub")};l.parseCSRHex=function(n){var f=u,e=f.getChildIdx,s=f.getTLV,o={},t=n,i,r;if("30"!=t.substr(0,2))throw"malformed CSR(code:001)";if(i=e(t,0),i.length<1)throw"malformed CSR(code:002)";if("30"!=t.substr(i[0],2))throw"malformed CSR(code:003)";if(r=e(t,i[0]),r.length<3)throw"malformed CSR(code:004)";return o.p8pubkeyhex=s(t,r[2]),o};l.getKeyID=function(n){var t=l,r=u;"string"==typeof n&&-1!=n.indexOf("BEGIN ")&&(n=t.getKey(n));var f=ft(t.getPEM(n)),e=r.getIdxbyList(f,0,[1]),o=r.getV(f,e).substring(2);return i.crypto.Util.hashHex(o,"sha1")};l.getJWKFromKey=function(n){var t={},u,r;if(n instanceof e&&n.isPrivate)return t.kty="RSA",t.n=v(n.n.toString(16)),t.e=v(n.e.toString(16)),t.d=v(n.d.toString(16)),t.p=v(n.p.toString(16)),t.q=v(n.q.toString(16)),t.dp=v(n.dmp1.toString(16)),t.dq=v(n.dmq1.toString(16)),t.qi=v(n.coeff.toString(16)),t;if(n instanceof e&&n.isPublic)return t.kty="RSA",t.n=v(n.n.toString(16)),t.e=v(n.e.toString(16)),t;if(n instanceof i.crypto.ECDSA&&n.isPrivate){if("P-256"!==(r=n.getShortNISTPCurveName())&&"P-384"!==r)throw"unsupported curve name for JWT: "+r;return u=n.getPublicKeyXYHex(),t.kty="EC",t.crv=r,t.x=v(u.x),t.y=v(u.y),t.d=v(n.prvKeyHex),t}if(n instanceof i.crypto.ECDSA&&n.isPublic){if("P-256"!==(r=n.getShortNISTPCurveName())&&"P-384"!==r)throw"unsupported curve name for JWT: "+r;return u=n.getPublicKeyXYHex(),t.kty="EC",t.crv=r,t.x=v(u.x),t.y=v(u.y),t}throw"not supported key object";};e.getPosArrayOfChildrenFromHex=function(n){return u.getChildIdx(n,0)};e.getHexValueArrayOfChildrenFromHex=function(n){var t,i=u.getV,r=i(n,(t=e.getPosArrayOfChildrenFromHex(n))[0]),f=i(n,t[1]),o=i(n,t[2]),s=i(n,t[3]),h=i(n,t[4]),c=i(n,t[5]),l=i(n,t[6]),a=i(n,t[7]),v=i(n,t[8]);return(t=[]).push(r,f,o,s,h,c,l,a,v),t};e.prototype.readPrivateKeyFromPEMString=function(n){var i=ft(n),t=e.getHexValueArrayOfChildrenFromHex(i);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};e.prototype.readPKCS5PrvKeyHex=function(n){var t=e.getHexValueArrayOfChildrenFromHex(n);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};e.prototype.readPKCS8PrvKeyHex=function(n){var i,r,f,e,o,s,h,c,l=u,t=l.getVbyListEx;if(!1===l.isASN1HEX(n))throw new Error("not ASN.1 hex string");try{i=t(n,0,[2,0,1],"02");r=t(n,0,[2,0,2],"02");f=t(n,0,[2,0,3],"02");e=t(n,0,[2,0,4],"02");o=t(n,0,[2,0,5],"02");s=t(n,0,[2,0,6],"02");h=t(n,0,[2,0,7],"02");c=t(n,0,[2,0,8],"02")}catch(n){throw new Error("malformed PKCS#8 plain RSA private key");}this.setPrivateEx(i,r,f,e,o,s,h,c)};e.prototype.readPKCS5PubKeyHex=function(n){var i=u,r=i.getV,t,f,e;if(!1===i.isASN1HEX(n))throw new Error("keyHex is not ASN.1 hex string");if(t=i.getChildIdx(n,0),2!==t.length||"02"!==n.substr(t[0],2)||"02"!==n.substr(t[1],2))throw new Error("wrong hex for PKCS#5 public key");f=r(n,t[0]);e=r(n,t[1]);this.setPublic(f,e)};e.prototype.readPKCS8PubKeyHex=function(n){var t=u,i;if(!1===t.isASN1HEX(n))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==t.getTLVbyListEx(n,0,[0,0]))throw new Error("not PKCS8 RSA public key");i=t.getTLVbyListEx(n,0,[1,0]);this.readPKCS5PubKeyHex(i)};e.prototype.readCertPubKeyHex=function(n){var t,i;(t=new a).readCertHex(n);i=t.getPublicKeyHex();this.readPKCS8PubKeyHex(i)};hu=new RegExp("[^0-9a-f]","gi");e.prototype.sign=function(n,t){var r=function(n){return i.crypto.Util.hashString(n,t)}(n);return this.signWithMessageHash(r,t)};e.prototype.signWithMessageHash=function(n,t){var r=ei(i.crypto.Util.getPaddedDigestInfoHex(n,t,this.n.bitLength()),16);return cu(this.doPrivate(r).toString(16),this.n.bitLength())};e.prototype.signPSS=function(n,t,r){var u=function(n){return i.crypto.Util.hashHex(n,t)}(ut(n));return void 0===r&&(r=-1),this.signWithMessageHashPSS(u,t,r)};e.prototype.signWithMessageHashPSS=function(n,t,u){var f,v=nt(n),o=v.length,y=this.n.bitLength()-1,h=Math.ceil(y/8),p=function(n){return i.crypto.Util.hashHex(n,t)},e,c,l,w;if(-1===u||void 0===u)u=o;else if(-2===u)u=h-o-2;else if(u<-2)throw new Error("invalid salt length");if(h0&&(e=new Array(u),(new yt).nextBytes(e),e=String.fromCharCode.apply(String,e)),c=nt(p(ut("\0\0\0\0\0\0\0\0"+v+e))),l=[],f=0;f>8*h-y&255,s[0]&=~w,f=0;fthis.n.bitLength()?0:(r=au(this.doPublic(u).toString(16).replace(/^1f+00/,"")),0==r.length)?!1:(f=r[0],r[1]==function(n){return i.crypto.Util.hashString(n,f)}(n))};e.prototype.verifyWithMessageHash=function(n,t){var r,i;return t.length!=Math.ceil(this.n.bitLength()/4)?!1:(r=ei(t,16),r.bitLength()>this.n.bitLength())?0:(i=au(this.doPublic(r).toString(16).replace(/^1f+00/,"")),0!=i.length&&(i[0],i[1]==n))};e.prototype.verifyPSS=function(n,t,r,u){var f=function(n){return i.crypto.Util.hashHex(n,r)}(ut(n));return void 0===u&&(u=-1),this.verifyWithMessageHashPSS(f,t,r,u)};e.prototype.verifyWithMessageHashPSS=function(n,t,u,f){var o,k,c,a;if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var e,d=new r(t,16),v=function(n){return i.crypto.Util.hashHex(n,u)},y=nt(n),h=y.length,p=this.n.bitLength()-1,s=Math.ceil(p/8);if(-1===f||void 0===f)f=h;else if(-2===f)f=s-h-2;else if(f<-2)throw new Error("invalid salt length");if(s>8*s-p&255;if(0!=(l.charCodeAt(0)&b))throw new Error("bits beyond keysize not zero");for(k=lu(w,l.length,v),c=[],e=0;e0&&-1==(":"+r.join(":")+":").indexOf(":"+o+":"))throw"algorithm '"+o+"' not accepted in the list";if("none"!=o&&null===t)throw"key shall be specified to verify.";if("string"==typeof t&&-1!=t.indexOf("-----BEGIN ")&&(t=l.getKey(t)),!("RS"!=h&&"PS"!=h||t instanceof g))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==h&&!(t instanceof tt))throw"key shall be a ECDSA obj for ES* algs";if(u=null,void 0===a.jwsalg2sigalg[b.alg])throw"unsupported alg name: "+o;if("none"==(u=a.jwsalg2sigalg[o]))throw"not supported";if("Hmac"==u.substr(0,4)){if(void 0===t)throw"hexadecimal key shall be specified for HMAC";return k=new ft({alg:u,pass:t}),k.updateString(y),p==k.doFinal()}if(-1!=u.indexOf("withECDSA")){d=null;try{d=tt.concatSigToASN1Sig(p)}catch(n){return!1}return(s=new it({alg:u})).init(t),s.updateString(y),s.verify(d)}return(s=new it({alg:u})).init(t),s.updateString(y),s.verify(p)};i.jws.JWS.parse=function(n){var e,u,f,r=n.split("."),t={};if(2!=r.length&&3!=r.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=r[0],u=r[1],3==r.length&&(f=r[2]),t.headerObj=i.jws.JWS.readSafeJSONString(rt(e)),t.payloadObj=i.jws.JWS.readSafeJSONString(rt(u)),t.headerPP=JSON.stringify(t.headerObj,null," "),t.payloadPP=null==t.payloadObj?rt(u):JSON.stringify(t.payloadObj,null," "),void 0!==f&&(t.sigHex=c(f)),t};i.jws.JWS.verifyJWT=function(n,t,r){var h=i.jws,e=h.JWS,l=e.readSafeJSONString,o=e.inArray,v=e.includedArray,s=n.split("."),y=s[0],p=s[1],a=(c(s[2]),l(rt(y))),u=l(rt(p)),f;if(void 0===a.alg)return!1;if(void 0===r.alg)throw"acceptField.alg shall be specified";if(!o(a.alg,r.alg)||void 0!==u.iss&&"object"===w(r.iss)&&!o(u.iss,r.iss)||void 0!==u.sub&&"object"===w(r.sub)&&!o(u.sub,r.sub))return!1;if(void 0!==u.aud&&"object"===w(r.aud))if("string"==typeof u.aud){if(!o(u.aud,r.aud))return!1}else if("object"==w(u.aud)&&!v(u.aud,r.aud))return!1;return f=h.IntDate.getNow(),void 0!==r.verifyAt&&"number"==typeof r.verifyAt&&(f=r.verifyAt),void 0!==r.gracePeriod&&"number"==typeof r.gracePeriod||(r.gracePeriod=0),!(void 0!==u.exp&&"number"==typeof u.exp&&u.exp+r.gracePeriodt.length&&(r=t.length),i=0;i=h())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+h().toString(16)+" bytes");return 0|n}function tt(n,t){var i,u;if(r.isBuffer(n))return n.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(n)||n instanceof ArrayBuffer))return n.byteLength;if("string"!=typeof n&&(n=""+n),i=n.length,0===i)return 0;for(u=!1;;)switch(t){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return a(n).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return ct(n).length;default:if(u)return a(n).length;t=(""+t).toLowerCase();u=!0}}function lt(n,t,i){var r=!1;if(((void 0===t||t<0)&&(t=0),t>this.length)||((void 0===i||i>this.length)&&(i=this.length),i<=0)||(i>>>=0)<=(t>>>=0))return"";for(n||(n="utf8");;)switch(n){case"hex":return gt(this,t,i);case"utf8":case"utf-8":return ft(this,t,i);case"ascii":return kt(this,t,i);case"latin1":case"binary":return dt(this,t,i);case"base64":return bt(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ni(this,t,i);default:if(r)throw new TypeError("Unknown encoding: "+n);n=(n+"").toLowerCase();r=!0}}function o(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function it(n,t,i,u,f){if(0===n.length)return-1;if("string"==typeof i?(u=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=f?0:n.length-1),i<0&&(i=n.length+i),i>=n.length){if(f)return-1;i=n.length-1}else if(i<0){if(!f)return-1;i=0}if("string"==typeof t&&(t=r.from(t,u)),r.isBuffer(t))return 0===t.length?-1:rt(n,t,i,u,f);if("number"==typeof t)return t&=255,r.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(n,t,i):Uint8Array.prototype.lastIndexOf.call(n,t,i):rt(n,[t],i,u,f);throw new TypeError("val must be string, number or Buffer");}function rt(n,t,i,r,u){function l(n,t){return 1===h?n[t]:n.readUInt16BE(t*h)}var f,h=1,c=n.length,o=t.length,e,a,s;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(n.length<2||t.length<2)return-1;h=2;c/=2;o/=2;i/=2}if(u)for(e=-1,f=i;fc&&(i=c-o),f=i;f>=0;f--){for(a=!0,s=0;sf&&(r=f):r=f,e=t.length,e%2!=0)throw new TypeError("Invalid hex string");for(r>e/2&&(r=e/2),u=0;u>8,e=u%256,i.push(e),i.push(f);return i}(t,n.length-i),n,i,r)}function bt(n,t,i){return 0===t&&i===n.length?y.fromByteArray(n):y.fromByteArray(n.slice(t,i))}function ft(n,t,i){var h,u;for(i=Math.min(n.length,i),h=[],u=t;u239?4:o>223?3:o>191?2:1;if(u+c<=i)switch(c){case 1:o<128&&(r=o);break;case 2:128==(192&(e=n[u+1]))&&(f=(31&o)<<6|63&e)>127&&(r=f);break;case 3:e=n[u+1];s=n[u+2];128==(192&e)&&128==(192&s)&&(f=(15&o)<<12|(63&e)<<6|63&s)>2047&&(f<55296||f>57343)&&(r=f);break;case 4:e=n[u+1];s=n[u+2];l=n[u+3];128==(192&e)&&128==(192&s)&&128==(192&l)&&(f=(15&o)<<18|(63&e)<<12|(63&s)<<6|63&l)>65535&&f<1114112&&(r=f)}null===r?(r=65533,c=1):r>65535&&(r-=65536,h.push(r>>>10&1023|55296),r=56320|1023&r);h.push(r);u+=c}return function(n){var r=n.length,i,t;if(r<=k)return String.fromCharCode.apply(String,n);for(i="",t=0;tf)&&(i=f),u="",r=t;ri)throw new RangeError("Trying to access beyond buffer length");}function f(n,t,i,u,f,e){if(!r.isBuffer(n))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||tn.length)throw new RangeError("Index out of range");}function c(n,t,i,r){t<0&&(t=65535+t+1);for(var u=0,f=Math.min(n.length-i,2);u>>8*(r?u:1-u)}function l(n,t,i,r){t<0&&(t=4294967295+t+1);for(var u=0,f=Math.min(n.length-i,4);u>>8*(r?u:3-u)&255}function et(n,t,i,r){if(i+r>n.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range");}function ot(n,t,i,r,u){return u||et(n,0,i,4),s.write(n,t,i,r,23,4),i+4}function st(n,t,i,r,u){return u||et(n,0,i,8),s.write(n,t,i,r,52,8),i+8}function ti(n){return n<16?"0"+n.toString(16):n.toString(16)}function a(n,t){var i;t=t||1/0;for(var e=n.length,u=null,r=[],f=0;f55295&&i<57344){if(!u){if(i>56319){(t-=3)>-1&&r.push(239,191,189);continue}if(f+1===e){(t-=3)>-1&&r.push(239,191,189);continue}u=i;continue}if(i<56320){(t-=3)>-1&&r.push(239,191,189);u=i;continue}i=65536+(u-55296<<10|i-56320)}else u&&(t-=3)>-1&&r.push(239,191,189);if(u=null,i<128){if((t-=1)<0)break;r.push(i)}else if(i<2048){if((t-=2)<0)break;r.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;r.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;r.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return r}function ct(n){return y.toByteArray(function(n){if((n=function(n){return n.trim?n.trim():n.replace(/^\s+|\s+$/g,"")}(n).replace(ht,"")).length<2)return"";for(;n.length%4!=0;)n+="=";return n}(n))}function v(n,t,i,r){for(var u=0;u=t.length||u>=n.length);++u)t[u+i]=n[u];return u}var y=i(30),s=i(31),d=i(32),k,ht;t.Buffer=r;t.SlowBuffer=function(n){return+n!=n&&(n=0),r.alloc(+n)};t.INSPECT_MAX_BYTES=50;r.TYPED_ARRAY_SUPPORT=void 0!==n.TYPED_ARRAY_SUPPORT?n.TYPED_ARRAY_SUPPORT:function(){try{var n=new Uint8Array(1);return n.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===n.foo()&&"function"==typeof n.subarray&&0===n.subarray(1,1).byteLength}catch(n){return!1}}();t.kMaxLength=h();r.poolSize=8192;r._augment=function(n){return n.__proto__=r.prototype,n};r.from=function(n,t,i){return g(null,n,t,i)};r.TYPED_ARRAY_SUPPORT&&(r.prototype.__proto__=Uint8Array.prototype,r.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&r[Symbol.species]===r&&Object.defineProperty(r,Symbol.species,{value:null,configurable:!0}));r.alloc=function(n,t,i){return function(n,t,i,r){return nt(t),t<=0?e(n,t):void 0!==i?"string"==typeof r?e(n,t).fill(i,r):e(n,t).fill(i):e(n,t)}(null,n,t,i)};r.allocUnsafe=function(n){return p(null,n)};r.allocUnsafeSlow=function(n){return p(null,n)};r.isBuffer=function(n){return!(null==n||!n._isBuffer)};r.compare=function(n,t){if(!r.isBuffer(n)||!r.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(n===t)return 0;for(var u=n.length,f=t.length,i=0,e=Math.min(u,f);i0&&(n=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(n+=" ... ")),""};r.prototype.compare=function(n,t,i,u,f){if(!r.isBuffer(n))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===i&&(i=n?n.length:0),void 0===u&&(u=0),void 0===f&&(f=this.length),t<0||i>n.length||u<0||f>this.length)throw new RangeError("out of range index");if(u>=f&&t>=i)return 0;if(u>=f)return-1;if(t>=i)return 1;if(this===n)return 0;for(var o=(f>>>=0)-(u>>>=0),s=(i>>>=0)-(t>>>=0),l=Math.min(o,s),h=this.slice(u,f),c=n.slice(t,i),e=0;eu)&&(i=u),n.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");for(r||(r="utf8"),f=!1;;)switch(r){case"hex":return at(this,n,t,i);case"utf8":case"utf-8":return vt(this,n,t,i);case"ascii":return ut(this,n,t,i);case"latin1":case"binary":return yt(this,n,t,i);case"base64":return pt(this,n,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wt(this,n,t,i);default:if(f)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase();f=!0}};r.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};k=4096;r.prototype.slice=function(n,t){var f,i=this.length,e,u;if((n=~~n)<0?(n+=i)<0&&(n=0):n>i&&(n=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t0&&(f*=256);)r+=this[n+--t]*f;return r};r.prototype.readUInt8=function(n,t){return t||u(n,1,this.length),this[n]};r.prototype.readUInt16LE=function(n,t){return t||u(n,2,this.length),this[n]|this[n+1]<<8};r.prototype.readUInt16BE=function(n,t){return t||u(n,2,this.length),this[n]<<8|this[n+1]};r.prototype.readUInt32LE=function(n,t){return t||u(n,4,this.length),(this[n]|this[n+1]<<8|this[n+2]<<16)+16777216*this[n+3]};r.prototype.readUInt32BE=function(n,t){return t||u(n,4,this.length),16777216*this[n]+(this[n+1]<<16|this[n+2]<<8|this[n+3])};r.prototype.readIntLE=function(n,t,i){n|=0;t|=0;i||u(n,t,this.length);for(var r=this[n],f=1,e=0;++e=(f*=128)&&(r-=Math.pow(2,8*t)),r};r.prototype.readIntBE=function(n,t,i){n|=0;t|=0;i||u(n,t,this.length);for(var f=t,e=1,r=this[n+--f];f>0&&(e*=256);)r+=this[n+--f]*e;return r>=(e*=128)&&(r-=Math.pow(2,8*t)),r};r.prototype.readInt8=function(n,t){return t||u(n,1,this.length),128&this[n]?-1*(256-this[n]):this[n]};r.prototype.readInt16LE=function(n,t){t||u(n,2,this.length);var i=this[n]|this[n+1]<<8;return 32768&i?4294901760|i:i};r.prototype.readInt16BE=function(n,t){t||u(n,2,this.length);var i=this[n+1]|this[n]<<8;return 32768&i?4294901760|i:i};r.prototype.readInt32LE=function(n,t){return t||u(n,4,this.length),this[n]|this[n+1]<<8|this[n+2]<<16|this[n+3]<<24};r.prototype.readInt32BE=function(n,t){return t||u(n,4,this.length),this[n]<<24|this[n+1]<<16|this[n+2]<<8|this[n+3]};r.prototype.readFloatLE=function(n,t){return t||u(n,4,this.length),s.read(this,n,!0,23,4)};r.prototype.readFloatBE=function(n,t){return t||u(n,4,this.length),s.read(this,n,!1,23,4)};r.prototype.readDoubleLE=function(n,t){return t||u(n,8,this.length),s.read(this,n,!0,52,8)};r.prototype.readDoubleBE=function(n,t){return t||u(n,8,this.length),s.read(this,n,!1,52,8)};r.prototype.writeUIntLE=function(n,t,i,r){n=+n;t|=0;i|=0;r||f(this,n,t,i,Math.pow(2,8*i)-1,0);var u=1,e=0;for(this[t]=255&n;++e=0&&(e*=256);)this[t+u]=n/e&255;return t+i};r.prototype.writeUInt8=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,1,255,0),r.TYPED_ARRAY_SUPPORT||(n=Math.floor(n)),this[t]=255&n,t+1};r.prototype.writeUInt16LE=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,2,65535,0),r.TYPED_ARRAY_SUPPORT?(this[t]=255&n,this[t+1]=n>>>8):c(this,n,t,!0),t+2};r.prototype.writeUInt16BE=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,2,65535,0),r.TYPED_ARRAY_SUPPORT?(this[t]=n>>>8,this[t+1]=255&n):c(this,n,t,!1),t+2};r.prototype.writeUInt32LE=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,4,4294967295,0),r.TYPED_ARRAY_SUPPORT?(this[t+3]=n>>>24,this[t+2]=n>>>16,this[t+1]=n>>>8,this[t]=255&n):l(this,n,t,!0),t+4};r.prototype.writeUInt32BE=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,4,4294967295,0),r.TYPED_ARRAY_SUPPORT?(this[t]=n>>>24,this[t+1]=n>>>16,this[t+2]=n>>>8,this[t+3]=255&n):l(this,n,t,!1),t+4};r.prototype.writeIntLE=function(n,t,i,r){var u;(n=+n,t|=0,r)||(u=Math.pow(2,8*i-1),f(this,n,t,i,u-1,-u));var e=0,s=1,o=0;for(this[t]=255&n;++e>0)-o&255;return t+i};r.prototype.writeIntBE=function(n,t,i,r){var e;(n=+n,t|=0,r)||(e=Math.pow(2,8*i-1),f(this,n,t,i,e-1,-e));var u=i-1,s=1,o=0;for(this[t+u]=255&n;--u>=0&&(s*=256);)n<0&&0===o&&0!==this[t+u+1]&&(o=1),this[t+u]=(n/s>>0)-o&255;return t+i};r.prototype.writeInt8=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,1,127,-128),r.TYPED_ARRAY_SUPPORT||(n=Math.floor(n)),n<0&&(n=255+n+1),this[t]=255&n,t+1};r.prototype.writeInt16LE=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,2,32767,-32768),r.TYPED_ARRAY_SUPPORT?(this[t]=255&n,this[t+1]=n>>>8):c(this,n,t,!0),t+2};r.prototype.writeInt16BE=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,2,32767,-32768),r.TYPED_ARRAY_SUPPORT?(this[t]=n>>>8,this[t+1]=255&n):c(this,n,t,!1),t+2};r.prototype.writeInt32LE=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,4,2147483647,-2147483648),r.TYPED_ARRAY_SUPPORT?(this[t]=255&n,this[t+1]=n>>>8,this[t+2]=n>>>16,this[t+3]=n>>>24):l(this,n,t,!0),t+4};r.prototype.writeInt32BE=function(n,t,i){return n=+n,t|=0,i||f(this,n,t,4,2147483647,-2147483648),n<0&&(n=4294967295+n+1),r.TYPED_ARRAY_SUPPORT?(this[t]=n>>>24,this[t+1]=n>>>16,this[t+2]=n>>>8,this[t+3]=255&n):l(this,n,t,!1),t+4};r.prototype.writeFloatLE=function(n,t,i){return ot(this,n,t,!0,i)};r.prototype.writeFloatBE=function(n,t,i){return ot(this,n,t,!1,i)};r.prototype.writeDoubleLE=function(n,t,i){return st(this,n,t,!0,i)};r.prototype.writeDoubleBE=function(n,t,i){return st(this,n,t,!1,i)};r.prototype.copy=function(n,t,i,u){if((i||(i=0),u||0===u||(u=this.length),t>=n.length&&(t=n.length),t||(t=0),u>0&&u=this.length)throw new RangeError("sourceStart out of bounds");if(u<0)throw new RangeError("sourceEnd out of bounds");u>this.length&&(u=this.length);n.length-t=0;--f)n[f+t]=this[f+i];else if(e<1e3||!r.TYPED_ARRAY_SUPPORT)for(f=0;f>>=0,i=void 0===i?this.length:i>>>0,n||(n=0),"number"==typeof n)for(f=t;f0)throw new Error("Invalid string. Length must be a multiple of 4");return t=n.indexOf("="),-1===t&&(t=i),[t,t===i?0:4-t%4]}function h(n,t,i){for(var e,f,o=[],u=t;u>18&63]+r[f>>12&63]+r[f>>6&63]+r[63&f]);return o.join("")}t.byteLength=function(n){var t=e(n),r=t[0],i=t[1];return 3*(r+i)/4-i};t.toByteArray=function(n){for(var r,c=e(n),h=c[0],s=c[1],u=new o(function(n,t,i){return 3*(t+i)/4-i}(0,h,s)),f=0,l=s>0?h-4:h,t=0;t>16&255,u[f++]=r>>8&255,u[f++]=255&r;return 2===s&&(r=i[n.charCodeAt(t)]<<2|i[n.charCodeAt(t+1)]>>4,u[f++]=255&r),1===s&&(r=i[n.charCodeAt(t)]<<10|i[n.charCodeAt(t+1)]<<4|i[n.charCodeAt(t+2)]>>2,u[f++]=r>>8&255,u[f++]=255&r),u};t.fromByteArray=function(n){for(var t,i=n.length,e=i%3,f=[],o=16383,u=0,s=i-e;us?s:u+o));return 1===e?(t=n[i-1],f.push(r[t>>2]+r[t<<4&63]+"==")):2===e&&(t=(n[i-2]<<8)+n[i-1],f.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),f.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,s=f.length;u>1,e=-7,s=i?u-1:0,c=i?-1:1,h=n[t+s];for(s+=c,f=h&(1<<-e)-1,h>>=-e,e+=l;e>0;f=256*f+n[t+s],s+=c,e-=8);for(o=f&(1<<-e)-1,f>>=-e,e+=r;e>0;o=256*o+n[t+s],s+=c,e-=8);if(0===f)f=1-v;else{if(f===a)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,r);f-=v}return(h?-1:1)*o*Math.pow(2,f-r)};t.write=function(n,t,i,r,u,f){var e,o,s,l=8*f-u-1,a=(1<>1,y=23===u?Math.pow(2,-24)-Math.pow(2,-77):0,c=r?0:f-1,v=r?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,e=a):(e=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-e))<1&&(e--,s*=2),(t+=e+h>=1?y/s:y*Math.pow(2,1-h))*s>=2&&(e++,s/=2),e+h>=a?(o=0,e=a):e+h>=1?(o=(t*s-1)*Math.pow(2,u),e+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,u),e=0));u>=8;n[i+c]=255&o,c+=v,o/=256,u-=8);for(e=e<0;n[i+c]=255&e,c+=v,e/=256,l-=8);n[i+c-v]|=128*p}},function(n){var t={}.toString;n.exports=Array.isArray||function(n){return"[object Array]"==t.call(n)}},function(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n){var t=n.jws,i=n.KeyUtil,u=n.X509,f=n.crypto,e=n.hextob64u,o=n.b64tohex,s=n.AllowedSigningAlgs;return function(){function n(){!function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n)}return n.parseJwt=function(n){r.Log.debug("JoseUtil.parseJwt");try{var i=t.JWS.parse(n);return{header:i.headerObj,payload:i.payloadObj}}catch(u){r.Log.error(u)}},n.validateJwt=function(t,f,e,s,h,c,l){r.Log.debug("JoseUtil.validateJwt");try{if("RSA"===f.kty)if(f.e&&f.n)f=i.getKey(f);else{if(!f.x5c||!f.x5c.length)return r.Log.error("JoseUtil.validateJwt: RSA key missing key material",f),Promise.reject(new Error("RSA key missing key material"));var a=o(f.x5c[0]);f=u.getPublicKeyFromCertHex(a)}else{if("EC"!==f.kty)return r.Log.error("JoseUtil.validateJwt: Unsupported key type",f&&f.kty),Promise.reject(new Error(f.kty));if(!(f.crv&&f.x&&f.y))return r.Log.error("JoseUtil.validateJwt: EC key missing key material",f),Promise.reject(new Error("EC key missing key material"));f=i.getKey(f)}return n._validateJwt(t,f,e,s,h,c,l)}catch(n){return r.Log.error(n&&n.message||n),Promise.reject("JWT validation failed")}},n.validateJwtAttributes=function(t,i,u,f,e,o){var s,h,c;if(f||(f=0),e||(e=parseInt(Date.now()/1e3)),s=n.parseJwt(t).payload,!s.iss)return r.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(s.iss!==i)return r.Log.error("JoseUtil._validateJwt: Invalid issuer in token",s.iss),Promise.reject(new Error("Invalid issuer in token: "+s.iss));if(!s.aud)return r.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(s.aud===u||Array.isArray(s.aud)&&s.aud.indexOf(u)>=0))return r.Log.error("JoseUtil._validateJwt: Invalid audience in token",s.aud),Promise.reject(new Error("Invalid audience in token: "+s.aud));if(s.azp&&s.azp!==u)return r.Log.error("JoseUtil._validateJwt: Invalid azp in token",s.azp),Promise.reject(new Error("Invalid azp in token: "+s.azp));if(!o){if(h=e+f,c=e-f,!s.iat)return r.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(h1&&void 0!==arguments[1]?arguments[1]:"#",i;f(this,n);i=u.UrlUtility.parseUrlFragment(t,r);this.error=i.error;this.error_description=i.error_description;this.error_uri=i.error_uri;this.code=i.code;this.state=i.state;this.id_token=i.id_token;this.session_state=i.session_state;this.access_token=i.access_token;this.token_type=i.token_type;this.scope=i.scope;this.profile=void 0;this.expires_in=i.expires_in}return r(n,[{key:"expires_in",get:function(){if(this.expires_at){var n=parseInt(Date.now()/1e3);return this.expires_at-n}},set:function(n){var t=parseInt(n),i;"number"==typeof t&&t>0&&(i=parseInt(Date.now()/1e3),this.expires_at=i+t)}},{key:"expired",get:function(){var n=this.expires_in;if(void 0!==n)return n<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),n}()},function(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.SignoutRequest=void 0;var u=i(0),r=i(3),f=i(9);t.SignoutRequest=function n(t){var i=t.url,o=t.id_token_hint,s=t.post_logout_redirect_uri,h=t.data,c=t.extraQueryParams,l=t.request_type,e;if(function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n),!i)throw u.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(e in o&&(i=r.UrlUtility.addQueryParam(i,"id_token_hint",o)),s&&(i=r.UrlUtility.addQueryParam(i,"post_logout_redirect_uri",s),h&&(this.state=new f.State({data:h,request_type:l}),i=r.UrlUtility.addQueryParam(i,"state",this.state.id))),c)i=r.UrlUtility.addQueryParam(i,e,c[e]);this.url=i}},function(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.SignoutResponse=void 0;var r=i(3);t.SignoutResponse=function n(t){!function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n);var i=r.UrlUtility.parseUrlFragment(t,"?");this.error=i.error;this.error_description=i.error_description;this.error_uri=i.error_uri;this.state=i.state}},function(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.InMemoryWebStorage=void 0;var u=function(){function n(n,t){for(var i,r=0;r0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.SessionMonitor,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.TokenRevocationClient,b=arguments.length>4&&void 0!==arguments[4]?arguments[4]:v.TokenClient,k=arguments.length>5&&void 0!==arguments[5]?arguments[5]:y.JoseUtil,i;return p(this,t),f instanceof u.UserManagerSettings||(f=new u.UserManagerSettings(f)),i=w(this,n.call(this,f)),i._events=new s.UserManagerEvents(f),i._silentRenewService=new e(i),i.settings.automaticSilentRenew&&(r.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),i.startSilentRenew()),i.settings.monitorSession&&(r.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),i._sessionMonitor=new o(i)),i._tokenRevocationClient=new l(i._settings),i._tokenClient=new b(i._settings),i._joseUtil=k,i}return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}});t&&(Object.setPrototypeOf?Object.setPrototypeOf(n,t):n.__proto__=t)}(t,n),t.prototype.getUser=function(){var n=this;return this._loadUser().then(function(t){return t?(r.Log.info("UserManager.getUser: user loaded"),n._events.load(t,!1),t):(r.Log.info("UserManager.getUser: user not found in storage"),null)})},t.prototype.removeUser=function(){var n=this;return this.storeUser(null).then(function(){r.Log.info("UserManager.removeUser: user removed from storage");n._events.unload()})},t.prototype.signinRedirect=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t;return(n=Object.assign({},n)).request_type="si:r",t={useReplaceToNavigate:n.useReplaceToNavigate},this._signinStart(n,this._redirectNavigator,t).then(function(){r.Log.info("UserManager.signinRedirect: successful")})},t.prototype.signinRedirectCallback=function(n){return this._signinEnd(n||this._redirectNavigator.url).then(function(n){return n.profile&&n.profile.sub?r.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",n.profile.sub):r.Log.info("UserManager.signinRedirectCallback: no sub"),n})},t.prototype.signinPopup=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t;return(n=Object.assign({},n)).request_type="si:p",t=n.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri,t?(n.redirect_uri=t,n.display="popup",this._signin(n,this._popupNavigator,{startUrl:t,popupWindowFeatures:n.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:n.popupWindowTarget||this.settings.popupWindowTarget}).then(function(n){return n&&(n.profile&&n.profile.sub?r.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",n.profile.sub):r.Log.info("UserManager.signinPopup: no sub")),n})):(r.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},t.prototype.signinPopupCallback=function(n){return this._signinCallback(n,this._popupNavigator).then(function(n){return n&&(n.profile&&n.profile.sub?r.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",n.profile.sub):r.Log.info("UserManager.signinPopupCallback: no sub")),n}).catch(function(n){r.Log.error(n.message)})},t.prototype.signinSilent=function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n=Object.assign({},n),this._loadUser().then(function(i){return i&&i.refresh_token?(n.refresh_token=i.refresh_token,t._useRefreshToken(n)):(n.request_type="si:s",n.id_token_hint=n.id_token_hint||t.settings.includeIdTokenInSilentRenew&&i&&i.id_token,i&&t._settings.validateSubOnSilentRenew&&(r.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",i.profile.sub),n.current_sub=i.profile.sub),t._signinSilentIframe(n))})},t.prototype._useRefreshToken=function(){var n=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(t).then(function(t){return t?t.access_token?n._loadUser().then(function(i){if(i){var u=Promise.resolve();return t.id_token&&(u=n._validateIdTokenFromTokenRefreshToken(i.profile,t.id_token)),u.then(function(){return r.Log.debug("UserManager._useRefreshToken: refresh token response success"),i.id_token=t.id_token||i.id_token,i.access_token=t.access_token,i.refresh_token=t.refresh_token||i.refresh_token,i.expires_in=t.expires_in,n.storeUser(i).then(function(){return n._events.load(i),i})})}return null}):(r.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(r.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))})},t.prototype._validateIdTokenFromTokenRefreshToken=function(n,t){var i=this;return this._metadataService.getIssuer().then(function(u){return i.settings.getEpochTime().then(function(f){return i._joseUtil.validateJwtAttributes(t,u,i._settings.client_id,i._settings.clockSkew,f).then(function(t){return t?t.sub!==n.sub?(r.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):t.auth_time&&t.auth_time!==n.auth_time?(r.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):t.azp&&t.azp!==n.azp?(r.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!t.azp&&n.azp?(r.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(r.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))})})})},t.prototype._signinSilentIframe=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=n.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return t?(n.redirect_uri=t,n.prompt=n.prompt||"none",this._signin(n,this._iframeNavigator,{startUrl:t,silentRequestTimeout:n.silentRequestTimeout||this.settings.silentRequestTimeout}).then(function(n){return n&&(n.profile&&n.profile.sub?r.Log.info("UserManager.signinSilent: successful, signed in sub: ",n.profile.sub):r.Log.info("UserManager.signinSilent: no sub")),n})):(r.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},t.prototype.signinSilentCallback=function(n){return this._signinCallback(n,this._iframeNavigator).then(function(n){return n&&(n.profile&&n.profile.sub?r.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",n.profile.sub):r.Log.info("UserManager.signinSilentCallback: no sub")),n})},t.prototype.signinCallback=function(n){var t=this;return this.readSigninResponseState(n).then(function(i){var r=i.state;return i.response,"si:r"===r.request_type?t.signinRedirectCallback(n):"si:p"===r.request_type?t.signinPopupCallback(n):"si:s"===r.request_type?t.signinSilentCallback(n):Promise.reject(new Error("invalid response_type in state"))})},t.prototype.signoutCallback=function(n,t){var i=this;return this.readSignoutResponseState(n).then(function(r){var u=r.state,f=r.response;return u?"so:r"===u.request_type?i.signoutRedirectCallback(n):"so:p"===u.request_type?i.signoutPopupCallback(n,t):Promise.reject(new Error("invalid response_type in state")):f})},t.prototype.querySessionStatus=function(){var i=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t;return(n=Object.assign({},n)).request_type="si:s",t=n.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri,t?(n.redirect_uri=t,n.prompt="none",n.response_type=n.response_type||this.settings.query_status_response_type,n.scope=n.scope||"openid",n.skipUserInfo=!0,this._signinStart(n,this._iframeNavigator,{startUrl:t,silentRequestTimeout:n.silentRequestTimeout||this.settings.silentRequestTimeout}).then(function(n){return i.processSigninResponse(n.url).then(function(n){if(r.Log.debug("UserManager.querySessionStatus: got signin response"),n.session_state&&n.profile.sub)return r.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",n.profile.sub),{session_state:n.session_state,sub:n.profile.sub,sid:n.profile.sid};r.Log.info("querySessionStatus successful, user not authenticated")}).catch(function(n){if(n.session_state&&i.settings.monitorAnonymousSession&&("login_required"==n.message||"consent_required"==n.message||"interaction_required"==n.message||"account_selection_required"==n.message))return r.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:n.session_state};throw n;})})):(r.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},t.prototype._signin=function(n,t){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(n,t,r).then(function(t){return i._signinEnd(t.url,n)})},t.prototype._signinStart=function(n,t){var u=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.prepare(i).then(function(t){return r.Log.debug("UserManager._signinStart: got navigator window handle"),u.createSigninRequest(n).then(function(n){return r.Log.debug("UserManager._signinStart: got signin request"),i.url=n.url,i.id=n.state.id,t.navigate(i)}).catch(function(n){throw t.close&&(r.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),t.close()),n;})})},t.prototype._signinEnd=function(n){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(n).then(function(n){r.Log.debug("UserManager._signinEnd: got signin response");var u=new f.User(n);if(i.current_sub){if(i.current_sub!==u.profile.sub)return r.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",u.profile.sub),Promise.reject(new Error("login_required"));r.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return t.storeUser(u).then(function(){return r.Log.debug("UserManager._signinEnd: user stored"),t._events.load(u),u})})},t.prototype._signinCallback=function(n,t){r.Log.debug("UserManager._signinCallback");var i="query"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?"?":"#";return t.callback(n,void 0,i)},t.prototype.signoutRedirect=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t,i;return(n=Object.assign({},n)).request_type="so:r",t=n.post_logout_redirect_uri||this.settings.post_logout_redirect_uri,t&&(n.post_logout_redirect_uri=t),i={useReplaceToNavigate:n.useReplaceToNavigate},this._signoutStart(n,this._redirectNavigator,i).then(function(){r.Log.info("UserManager.signoutRedirect: successful")})},t.prototype.signoutRedirectCallback=function(n){return this._signoutEnd(n||this._redirectNavigator.url).then(function(n){return r.Log.info("UserManager.signoutRedirectCallback: successful"),n})},t.prototype.signoutPopup=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t;return(n=Object.assign({},n)).request_type="so:p",t=n.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri,n.post_logout_redirect_uri=t,n.display="popup",n.post_logout_redirect_uri&&(n.state=n.state||{}),this._signout(n,this._popupNavigator,{startUrl:t,popupWindowFeatures:n.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:n.popupWindowTarget||this.settings.popupWindowTarget}).then(function(){r.Log.info("UserManager.signoutPopup: successful")})},t.prototype.signoutPopupCallback=function(n,t){return void 0===t&&"boolean"==typeof n&&(t=n,n=null),this._popupNavigator.callback(n,t,"?").then(function(){r.Log.info("UserManager.signoutPopupCallback: successful")})},t.prototype._signout=function(n,t){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(n,t,r).then(function(n){return i._signoutEnd(n.url)})},t.prototype._signoutStart=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this,u=arguments[1],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return u.prepare(t).then(function(u){return r.Log.debug("UserManager._signoutStart: got navigator window handle"),n._loadUser().then(function(f){return r.Log.debug("UserManager._signoutStart: loaded current user from storage"),(n._settings.revokeAccessTokenOnSignout?n._revokeInternal(f):Promise.resolve()).then(function(){var e=i.id_token_hint||f&&f.id_token;return e&&(r.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),i.id_token_hint=e),n.removeUser().then(function(){return r.Log.debug("UserManager._signoutStart: user removed, creating signout request"),n.createSignoutRequest(i).then(function(n){return r.Log.debug("UserManager._signoutStart: got signout request"),t.url=n.url,n.state&&(t.id=n.state.id),u.navigate(t)})})})}).catch(function(n){throw u.close&&(r.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),u.close()),n;})})},t.prototype._signoutEnd=function(n){return this.processSignoutResponse(n).then(function(n){return r.Log.debug("UserManager._signoutEnd: got signout response"),n})},t.prototype.revokeAccessToken=function(){var n=this;return this._loadUser().then(function(t){return n._revokeInternal(t,!0).then(function(i){if(i)return r.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),t.access_token=null,t.refresh_token=null,t.expires_at=null,t.token_type=null,n.storeUser(t).then(function(){r.Log.debug("UserManager.revokeAccessToken: user stored");n._events.load(t)})})}).then(function(){r.Log.info("UserManager.revokeAccessToken: access token revoked successfully")})},t.prototype._revokeInternal=function(n,t){var f=this,i,u;return n?(i=n.access_token,u=n.refresh_token,this._revokeAccessTokenInternal(i,t).then(function(n){return f._revokeRefreshTokenInternal(u,t).then(function(t){return n||t||r.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),n||t})})):Promise.resolve(!1)},t.prototype._revokeAccessTokenInternal=function(n,t){return!n||n.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(n,t).then(function(){return!0})},t.prototype._revokeRefreshTokenInternal=function(n,t){return n?this._tokenRevocationClient.revoke(n,t,"refresh_token").then(function(){return!0}):Promise.resolve(!1)},t.prototype.startSilentRenew=function(){this._silentRenewService.start()},t.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},t.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then(function(n){return n?(r.Log.debug("UserManager._loadUser: user storageString loaded"),f.User.fromStorageString(n)):(r.Log.debug("UserManager._loadUser: no user storageString"),null)})},t.prototype.storeUser=function(n){if(n){r.Log.debug("UserManager.storeUser: storing user");var t=n.toStorageString();return this._userStore.set(this._userStoreKey,t)}return r.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},e(t,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),t}(o.OidcClient)},function(n,t,i){"use strict";function l(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}function a(n,t){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?n:t}Object.defineProperty(t,"__esModule",{value:!0});t.UserManagerSettings=void 0;var r=function(){function n(n,t){for(var i,r=0;r0&&void 0!==arguments[0]?arguments[0]:{},ft=r.popup_redirect_uri,et=r.popup_post_logout_redirect_uri,ot=r.popupWindowFeatures,st=r.popupWindowTarget,ht=r.silent_redirect_uri,ct=r.silentRequestTimeout,u=r.automaticSilentRenew,lt=void 0!==u&&u,v=r.validateSubOnSilentRenew,at=void 0!==v&&v,y=r.includeIdTokenInSilentRenew,vt=void 0===y||y,p=r.monitorSession,yt=void 0===p||p,w=r.monitorAnonymousSession,pt=void 0!==w&&w,b=r.checkSessionInterval,wt=void 0===b?2e3:b,k=r.stopCheckSessionOnError,bt=void 0===k||k,d=r.query_status_response_type,g=r.revokeAccessTokenOnSignout,kt=void 0!==g&&g,nt=r.accessTokenExpiringNotificationTime,dt=void 0===nt?60:nt,tt=r.redirectNavigator,gt=void 0===tt?new f.RedirectNavigator:tt,it=r.popupNavigator,ni=void 0===it?new e.PopupNavigator:it,rt=r.iframeNavigator,ti=void 0===rt?new o.IFrameNavigator:rt,ut=r.userStore,ii=void 0===ut?new s.WebStorageStateStore({store:h.Global.sessionStorage}):ut,i;return l(this,t),i=a(this,n.call(this,arguments[0])),i._popup_redirect_uri=ft,i._popup_post_logout_redirect_uri=et,i._popupWindowFeatures=ot,i._popupWindowTarget=st,i._silent_redirect_uri=ht,i._silentRequestTimeout=ct,i._automaticSilentRenew=lt,i._validateSubOnSilentRenew=at,i._includeIdTokenInSilentRenew=vt,i._accessTokenExpiringNotificationTime=dt,i._monitorSession=yt,i._monitorAnonymousSession=pt,i._checkSessionInterval=wt,i._stopCheckSessionOnError=bt,i._query_status_response_type=d?d:arguments[0]&&arguments[0].response_type?c.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":"id_token",i._revokeAccessTokenOnSignout=kt,i._redirectNavigator=gt,i._popupNavigator=ni,i._iframeNavigator=ti,i._userStore=ii,i}return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}});t&&(Object.setPrototypeOf?Object.setPrototypeOf(n,t):n.__proto__=t)}(t,n),r(t,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),t}(u.OidcClientSettings)},function(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.RedirectNavigator=void 0;var r=function(){function n(n,t){for(var i,r=0;r1&&void 0!==arguments[1])||arguments[1];r.Log.debug("UserManagerEvents.load");n.prototype.load.call(this,t);i&&this._userLoaded.raise(t)},t.prototype.unload=function(){r.Log.debug("UserManagerEvents.unload");n.prototype.unload.call(this);this._userUnloaded.raise()},t.prototype.addUserLoaded=function(n){this._userLoaded.addHandler(n)},t.prototype.removeUserLoaded=function(n){this._userLoaded.removeHandler(n)},t.prototype.addUserUnloaded=function(n){this._userUnloaded.addHandler(n)},t.prototype.removeUserUnloaded=function(n){this._userUnloaded.removeHandler(n)},t.prototype.addSilentRenewError=function(n){this._silentRenewError.addHandler(n)},t.prototype.removeSilentRenewError=function(n){this._silentRenewError.removeHandler(n)},t.prototype._raiseSilentRenewError=function(n){r.Log.debug("UserManagerEvents._raiseSilentRenewError",n.message);this._silentRenewError.raise(n)},t.prototype.addUserSignedIn=function(n){this._userSignedIn.addHandler(n)},t.prototype.removeUserSignedIn=function(n){this._userSignedIn.removeHandler(n)},t.prototype._raiseUserSignedIn=function(){r.Log.debug("UserManagerEvents._raiseUserSignedIn");this._userSignedIn.raise()},t.prototype.addUserSignedOut=function(n){this._userSignedOut.addHandler(n)},t.prototype.removeUserSignedOut=function(n){this._userSignedOut.removeHandler(n)},t.prototype._raiseUserSignedOut=function(){r.Log.debug("UserManagerEvents._raiseUserSignedOut");this._userSignedOut.raise()},t.prototype.addUserSessionChanged=function(n){this._userSessionChanged.addHandler(n)},t.prototype.removeUserSessionChanged=function(n){this._userSessionChanged.removeHandler(n)},t.prototype._raiseUserSessionChanged=function(){r.Log.debug("UserManagerEvents._raiseUserSessionChanged");this._userSessionChanged.raise()},t}(f.AccessTokenEvents)},function(n,t,i){"use strict";function o(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}function s(n,t){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?n:t}Object.defineProperty(t,"__esModule",{value:!0});t.Timer=void 0;var u=function(){function n(n,t){for(var i,r=0;r1&&void 0!==arguments[1]?arguments[1]:f.Global.timer,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r;return o(this,t),r=s(this,n.call(this,i)),r._timer=u,r._nowFunc=e||function(){return Date.now()/1e3},r}return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}});t&&(Object.setPrototypeOf?Object.setPrototypeOf(n,t):n.__proto__=t)}(t,n),t.prototype.init=function(n){var i,t;n<=0&&(n=1);n=parseInt(n);i=this.now+n;this.expiration===i&&this._timerHandle?r.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration):(this.cancel(),r.Log.debug("Timer.init timer "+this._name+" for duration:",n),this._expiration=i,t=5,n{t.kO=t.Pd=void 0;const o=i(671);var f,u;!function(n){n.Success="success";n.RequiresRedirect="requiresRedirect"}(f=t.Pd||(t.Pd={})),function(n){n.Redirect="redirect";n.Success="success";n.Failure="failure";n.OperationCompleted="operationCompleted"}(u=t.kO||(t.kO={}));class e{constructor(n){this._userManager=n}async trySilentSignIn(){return this._intialSilentSignIn||(this._intialSilentSignIn=(async()=>{try{await this._userManager.signinSilent()}catch(n){}})()),this._intialSilentSignIn}async getUser(){window.parent!==window||window.opener||window.frameElement||!this._userManager.settings.redirect_uri||location.href.startsWith(this._userManager.settings.redirect_uri)||await r.instance.trySilentSignIn();const n=await this._userManager.getUser();return n&&n.profile}async getAccessToken(n){function i(n){const t=new Date;return t.setTime(t.getTime()+1e3*n),t}const t=await this._userManager.getUser();if(function(n){return!(!n||!n.access_token||n.expired||!n.scopes)}(t)&&function(n,t){const i=new Set(t);if(n&&n.scopes)for(const t of n.scopes)if(!i.has(t))return!1;return!0}(n,t.scopes))return{status:f.Success,token:{grantedScopes:t.scopes,expires:i(t.expires_in),value:t.access_token}};try{const r=n&&n.scopes?{scope:n.scopes.join(" ")}:void 0,t=await this._userManager.signinSilent(r);return{status:f.Success,token:{grantedScopes:t.scopes,expires:i(t.expires_in),value:t.access_token}}}catch(n){return{status:f.RequiresRedirect}}}async signIn(n){try{return await this._userManager.clearStaleState(),await this._userManager.signinSilent(this.createArguments()),this.success(n)}catch(t){try{return await this._userManager.clearStaleState(),await this._userManager.signinRedirect(this.createArguments(n)),this.redirect()}catch(n){return this.error(this.getExceptionMessage(n))}}}async completeSignIn(n){const t=await this.loginRequired(n),i=await this.stateExists(n);try{const t=await this._userManager.signinCallback(n);return window.self!==window.top?this.operationCompleted():this.success(t&&t.state)}catch(n){return t||window.self!==window.top||!i?this.operationCompleted():this.error("There was an error signing in.")}}async signOut(n){try{return await this._userManager.metadataService.getEndSessionEndpoint()?(await this._userManager.signoutRedirect(this.createArguments(n)),this.redirect()):(await this._userManager.removeUser(),this.success(n))}catch(n){return this.error(this.getExceptionMessage(n))}}async completeSignOut(n){try{if(await this.stateExists(n)){const t=await this._userManager.signoutCallback(n);return this.success(t&&t.state)}return this.operationCompleted()}catch(n){return this.error(this.getExceptionMessage(n))}}getExceptionMessage(n){return function(n){return n&&n.error_description}(n)?n.error_description:function(n){return n&&n.message}(n)?n.message:n.toString()}async stateExists(n){const t=new URLSearchParams(new URL(n).search).get("state");if(t&&this._userManager.settings.stateStore)return await this._userManager.settings.stateStore.get(t)}async loginRequired(n){const t=new URLSearchParams(new URL(n).search).get("error");return!(!t||!this._userManager.settings.stateStore)&&!1}createArguments(n){return{useReplaceToNavigate:!0,data:n}}error(n){return{status:u.Failure,errorMessage:n}}success(n){return{status:u.Success,state:n}}redirect(){return{status:u.Redirect}}operationCompleted(){return{status:u.OperationCompleted}}}class r{static init(n){return r._initialized||(r._initialized=r.initializeCore(n)),r._initialized}static handleCallback(){return r.initializeCore()}static async initializeCore(n){const t=n||r.resolveCachedSettings();if(!n&&t){const n=r.createUserManagerCore(t);window.parent!==window&&!window.opener&&window.frameElement&&n.settings.redirect_uri&&location.href.startsWith(n.settings.redirect_uri)&&(r.instance=new e(n),r._initialized=(async()=>{await r.instance.completeSignIn(location.href)})())}else if(n){const t=await r.createUserManager(n);r.instance=new e(t)}}static resolveCachedSettings(){const n=window.sessionStorage.getItem(`${r._infrastructureKey}.CachedAuthSettings`);if(n)return JSON.parse(n)}static getUser(){return r.instance.getUser()}static getAccessToken(n){return r.instance.getAccessToken(n)}static signIn(n){return r.instance.signIn(n)}static async completeSignIn(n){let t=this._pendingOperations[n];return t||(t=r.instance.completeSignIn(n),await t,delete this._pendingOperations[n]),t}static signOut(n){return r.instance.signOut(n)}static async completeSignOut(n){let t=this._pendingOperations[n];return t||(t=r.instance.completeSignOut(n),await t,delete this._pendingOperations[n]),t}static async createUserManager(n){let t;if(function(n){return n.hasOwnProperty("configurationEndpoint")}(n)){const i=await fetch(n.configurationEndpoint);if(!i.ok)throw new Error(`Could not load settings from '${n.configurationEndpoint}'`);t=await i.json()}else n.scope||(n.scope=n.defaultScopes.join(" ")),null===n.response_type&&delete n.response_type,t=n;return window.sessionStorage.setItem(`${r._infrastructureKey}.CachedAuthSettings`,JSON.stringify(t)),r.createUserManagerCore(t)}static createUserManagerCore(n){const t=new o.UserManager(n);return t.events.addUserSignedOut(async()=>{t.removeUser()}),t}}r._infrastructureKey="Microsoft.AspNetCore.Components.WebAssembly.Authentication";r._pendingOperations={};r.handleCallback();window.AuthenticationService=r}},n={};!function i(r){if(n[r])return n[r].exports;var u=n[r]={exports:{}};return t[r].call(u.exports,u,u.exports,i),u.exports}(981)})();
- if (element.type === "submit") {
- element.addEventListener("click", (e) => {
- window.blazorise.button.click(window.blazorise.button._instances[elementId], e);
- });
- }
+function getFileById(n,t){var i=n._blazorFilesById[t];if(!i)throw new Error("There is no file with ID "+t+". The file list may have changed");return i}function getArrayBufferFromFileAsync(n,t){var i=getFileById(n,t);return i.readPromise||(i.readPromise=new Promise(function(n,t){var r=new FileReader;r.onload=function(){n(r.result)};r.onerror=function(n){t(n)};r.readAsArrayBuffer(i.blob)})),i.readPromise}function hasParentInTree(n,t){return n.parentElement?n.parentElement.id===t?!0:hasParentInTree(n.parentElement,t):!1}!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).Popper={})}(this,function(n){function h(n){return{width:(n=n.getBoundingClientRect()).width,height:n.height,top:n.top,right:n.right,bottom:n.bottom,left:n.left,x:n.left,y:n.top}}function t(n){return null==n?window:"[object Window]"!==n.toString()?(n=n.ownerDocument)&&n.defaultView||window:n}function d(n){return{scrollLeft:(n=t(n)).pageXOffset,scrollTop:n.pageYOffset}}function l(n){return n instanceof t(n).Element||n instanceof Element}function r(n){return n instanceof t(n).HTMLElement||n instanceof HTMLElement}function ht(n){return"undefined"!=typeof ShadowRoot&&(n instanceof t(n).ShadowRoot||n instanceof ShadowRoot)}function u(n){return n?(n.nodeName||"").toLowerCase():null}function e(n){return((l(n)?n.ownerDocument:n.document)||window.document).documentElement}function g(n){return h(e(n)).left+d(n).scrollLeft}function o(n){return t(n).getComputedStyle(n)}function nt(n){return n=o(n),/auto|scroll|overlay|hidden/.test(n.overflow+n.overflowY+n.overflowX)}function ci(n,i,f){var s;void 0===f&&(f=!1);s=e(i);n=h(n);var l=r(i),c={scrollLeft:0,scrollTop:0},o={x:0,y:0};return(l||!l&&!f)&&(("body"!==u(i)||nt(s))&&(c=i!==t(i)&&r(i)?{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}:d(i)),r(i)?((o=h(i)).x+=i.clientLeft,o.y+=i.clientTop):s&&(o.x=g(s))),{x:n.left+c.scrollLeft-o.x,y:n.top+c.scrollTop-o.y,width:n.width,height:n.height}}function tt(n){var t=h(n),i=n.offsetWidth,r=n.offsetHeight;return 1>=Math.abs(t.width-i)&&(i=t.width),1>=Math.abs(t.height-r)&&(r=t.height),{x:n.offsetLeft,y:n.offsetTop,width:i,height:r}}function p(n){return"html"===u(n)?n:n.assignedSlot||n.parentNode||(ht(n)?n.host:null)||e(n)}function ct(n){return 0<=["html","body","#document"].indexOf(u(n))?n.ownerDocument.body:r(n)&&nt(n)?n:ct(p(n))}function a(n,i){var u,r;return void 0===i&&(i=[]),r=ct(n),n=r===(null==(u=n.ownerDocument)?void 0:u.body),u=t(r),r=n?[u].concat(u.visualViewport||[],nt(r)?r:[]):r,i=i.concat(r),n?i:i.concat(a(p(r)))}function lt(n){return r(n)&&"fixed"!==o(n).position?n.offsetParent:null}function v(n){for(var f,e=t(n),i=lt(n);i&&0<=["table","td","th"].indexOf(u(i))&&"static"===o(i).position;)i=lt(i);if(i&&("html"===u(i)||"body"===u(i)&&"static"===o(i).position))return e;if(!i)n:{for(i=-1!==navigator.userAgent.toLowerCase().indexOf("firefox"),n=p(n);r(n)&&0>["html","body"].indexOf(u(n));){if(f=o(n),"none"!==f.transform||"none"!==f.perspective||"paint"===f.contain||-1!==["transform","perspective"].indexOf(f.willChange)||i&&"filter"===f.willChange||i&&f.filter&&"none"!==f.filter){i=n;break n}n=n.parentNode}i=null}return i||e}function li(n){function i(n){t.add(n.name);[].concat(n.requires||[],n.requiresIfExists||[]).forEach(function(n){t.has(n)||(n=r.get(n))&&i(n)});u.push(n)}var r=new Map,t=new Set,u=[];return n.forEach(function(n){r.set(n.name,n)}),n.forEach(function(n){t.has(n.name)||i(n)}),u}function ai(n){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0;i(n())})})),t}}function f(n){return n.split("-")[0]}function at(n,t){var i=t.getRootNode&&t.getRootNode();if(n.contains(t))return!0;if(i&&ht(i))do{if(t&&n.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function it(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function vt(n,u){var f,c,l,s;return"viewport"===u?(u=t(n),f=e(n),u=u.visualViewport,c=f.clientWidth,f=f.clientHeight,l=0,s=0,u&&(c=u.width,f=u.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=u.offsetLeft,s=u.offsetTop)),n=it(n={width:c,height:f,x:l+g(n),y:s})):r(u)?((n=h(u)).top+=u.clientTop,n.left+=u.clientLeft,n.bottom=n.top+u.clientHeight,n.right=n.left+u.clientWidth,n.width=u.clientWidth,n.height=u.clientHeight,n.x=n.left,n.y=n.top):(s=e(n),n=e(s),c=d(s),u=null==(f=s.ownerDocument)?void 0:f.body,f=i(n.scrollWidth,n.clientWidth,u?u.scrollWidth:0,u?u.clientWidth:0),l=i(n.scrollHeight,n.clientHeight,u?u.scrollHeight:0,u?u.clientHeight:0),s=-c.scrollLeft+g(s),c=-c.scrollTop,"rtl"===o(u||n).direction&&(s+=i(n.clientWidth,u?u.clientWidth:0)-f),n=it({width:f,height:l,x:s,y:c})),n}function vi(n,t,f){return t="clippingParents"===t?function(n){var i=a(p(n)),t=0<=["absolute","fixed"].indexOf(o(n).position)&&r(n)?v(n):n;return l(t)?i.filter(function(n){return l(n)&&at(n,t)&&"body"!==u(n)}):[]}(n):[].concat(t),(f=(f=[].concat(t,[f])).reduce(function(t,r){return r=vt(n,r),t.top=i(r.top,t.top),t.right=s(r.right,t.right),t.bottom=s(r.bottom,t.bottom),t.left=i(r.left,t.left),t},vt(n,f[0]))).width=f.right-f.left,f.height=f.bottom-f.top,f.x=f.left,f.y=f.top,f}function rt(n){return 0<=["top","bottom"].indexOf(n)?"x":"y"}function yt(n){var t=n.reference,e=n.element,u=(n=n.placement)?f(n):null,i,r;n=n?n.split("-")[1]:null;i=t.x+t.width/2-e.width/2;r=t.y+t.height/2-e.height/2;switch(u){case"top":i={x:i,y:t.y-e.height};break;case"bottom":i={x:i,y:t.y+t.height};break;case"right":i={x:t.x+t.width,y:r};break;case"left":i={x:t.x-e.width,y:r};break;default:i={x:t.x,y:t.y}}if(null!=(u=u?rt(u):null))switch(r="y"===u?"height":"width",n){case"start":i[u]-=t[r]/2-e[r]/2;break;case"end":i[u]+=t[r]/2-e[r]/2}return i}function pt(n){return Object.assign({},{top:0,right:0,bottom:0,left:0},n)}function wt(n,t){return t.reduce(function(t,i){return t[i]=n,t},{})}function c(n,t){var i,f,o,a,c,v;void 0===t&&(t={});i=t;t=void 0===(t=i.placement)?n.placement:t;var r=i.boundary,s=void 0===r?"clippingParents":r,u=void 0===(r=i.rootBoundary)?"viewport":r;return r=void 0===(r=i.elementContext)?"popper":r,f=i.altBoundary,o=void 0!==f&&f,i=pt("number"!=typeof(i=void 0===(i=i.padding)?0:i)?i:wt(i,y)),a=n.elements.reference,f=n.rects.popper,s=vi(l(o=n.elements[o?"popper"===r?"reference":"popper":r])?o:o.contextElement||e(n.elements.popper),s,u),o=yt({reference:u=h(a),element:f,strategy:"absolute",placement:t}),f=it(Object.assign({},f,o)),u="popper"===r?f:u,c={top:s.top-u.top+i.top,bottom:u.bottom-s.bottom+i.bottom,left:s.left-u.left+i.left,right:u.right-s.right+i.right},(n=n.modifiersData.offset,"popper"===r&&n)&&(v=n[t],Object.keys(c).forEach(function(n){var t=0<=["right","bottom"].indexOf(n)?1:-1,i=0<=["top","bottom"].indexOf(n)?"y":"x";c[n]+=v[i]*t})),c}function bt(){for(var t=arguments.length,i=Array(t),n=0;n(tt.devicePixelRatio||1)?"translate("+n+"px, "+i+"px)":"translate3d("+n+"px, "+i+"px, 0)",s)):Object.assign({},u,((f={})[y]=r?i+"px":"",f[a]=l?n+"px":"",f.transform="",f))}function w(n){return n.replace(/left|right|bottom|top/g,function(n){return wi[n]})}function dt(n){return n.replace(/start|end/g,function(n){return bi[n]})}function gt(n,t,i){return void 0===i&&(i={x:0,y:0}),{top:n.top-t.height-i.y,right:n.right-t.width+i.x,bottom:n.bottom-t.height+i.y,left:n.left-t.width-i.x}}function ni(n){return["top","right","bottom","left"].some(function(t){return 0<=n[t]})}var y=["top","bottom","right","left"],ti=y.reduce(function(n,t){return n.concat([t+"-start",t+"-end"])},[]),ii=[].concat(y,["auto"]).reduce(function(n,t){return n.concat([t,t+"-start",t+"-end"])},[]),yi="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),i=Math.max,s=Math.min,b=Math.round,ri={placement:"bottom",modifiers:[],strategy:"absolute"},k={passive:!0},ft={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(n){var r=n.state,i=n.instance,u=(n=n.options).scroll,f=void 0===u||u,e=void 0===(n=n.resize)||n,o=t(r.elements.popper),s=[].concat(r.scrollParents.reference,r.scrollParents.popper);return f&&s.forEach(function(n){n.addEventListener("scroll",i.update,k)}),e&&o.addEventListener("resize",i.update,k),function(){f&&s.forEach(function(n){n.removeEventListener("scroll",i.update,k)});e&&o.removeEventListener("resize",i.update,k)}},data:{}},et={name:"popperOffsets",enabled:!0,phase:"read",fn:function(n){var t=n.state;t.modifiersData[n.name]=yt({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},pi={top:"auto",right:"auto",bottom:"auto",left:"auto"},ot={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(n){var t=n.state,i=n.options,r;n=void 0===(n=i.gpuAcceleration)||n;r=i.adaptive;r=void 0===r||r;i=void 0===(i=i.roundOffsets)||i;n={placement:f(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,kt(Object.assign({},n,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:i}))));null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,kt(Object.assign({},n,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:i}))));t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},st={name:"applyStyles",enabled:!0,phase:"write",fn:function(n){var t=n.state;Object.keys(t.elements).forEach(function(n){var e=t.styles[n]||{},f=t.attributes[n]||{},i=t.elements[n];r(i)&&u(i)&&(Object.assign(i.style,e),Object.keys(f).forEach(function(n){var t=f[n];!1===t?i.removeAttribute(n):i.setAttribute(n,!0===t?"":t)}))})},effect:function(n){var t=n.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(n){var f=t.elements[n],e=t.attributes[n]||{};n=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:i[n]).reduce(function(n,t){return n[t]="",n},{});r(f)&&u(f)&&(Object.assign(f.style,n),Object.keys(e).forEach(function(n){f.removeAttribute(n)}))})}},requires:["computeStyles"]},ui={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(n){var t=n.state,u=n.name,r=void 0===(n=n.options.offset)?[0,0]:n,i=(n=ii.reduce(function(n,i){var e=t.rects,o=f(i),s=0<=["left","top"].indexOf(o)?-1:1,u="function"==typeof r?r(Object.assign({},e,{placement:i})):r;return e=(e=u[0])||0,u=((u=u[1])||0)*s,o=0<=["left","right"].indexOf(o)?{x:u,y:e}:{x:e,y:u},n[i]=o,n},{}))[t.placement],e=i.x;i=i.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=e,t.modifiersData.popperOffsets.y+=i);t.modifiersData[u]=n}},wi={left:"right",right:"left",bottom:"top",top:"bottom"},bi={start:"end",end:"start"},fi={name:"flip",enabled:!0,phase:"main",fn:function(n){var i=n.state,t=n.options,u,r,l,d,a,p;if(n=n.name,!i.modifiersData[n]._skip){u=t.mainAxis;u=void 0===u||u;r=t.altAxis;r=void 0===r||r;var h=t.fallbackPlacements,nt=t.padding,tt=t.boundary,it=t.rootBoundary,ut=t.altBoundary,e=t.flipVariations,k=void 0===e||e,ft=t.allowedAutoPlacements;for(e=f(t=i.options.placement),h=h||(e!==t&&k?function(n){if("auto"===f(n))return[];var t=w(n);return[dt(n),t,dt(t)]}(t):[w(t)]),l=[t].concat(h).reduce(function(n,t){return n.concat("auto"===f(t)?function(n,t){var r;void 0===t&&(t={});var o=t.boundary,s=t.rootBoundary,h=t.padding,i=t.flipVariations,u=t.allowedAutoPlacements,l=void 0===u?ii:u,e=t.placement.split("-")[1];return 0===(i=(t=e?i?ti:ti.filter(function(n){return n.split("-")[1]===e}):y).filter(function(n){return 0<=l.indexOf(n)})).length&&(i=t),r=i.reduce(function(t,i){return t[i]=c(n,{placement:i,boundary:o,rootBoundary:s,padding:h})[f(i)],t},{}),Object.keys(r).sort(function(n,t){return r[n]-r[t]})}(i,{placement:t,boundary:tt,rootBoundary:it,padding:nt,flipVariations:k,allowedAutoPlacements:ft}):t)},[]),t=i.rects.reference,h=i.rects.popper,d=new Map,e=!0,a=l[0],p=0;ph[b]&&(o=w(o)),b=w(o),s=[],u&&s.push(0>=g[rt]),r&&s.push(0>=g[o],0>=g[b]),s.every(function(n){return n})){a=v;e=!1;break}d.set(v,s)}if(e)for(u=function(n){var t=l.find(function(t){if(t=d.get(t))return t.slice(0,n).every(function(n){return n})});if(t)return a=t,"break"},r=k?3:1;0-1}function tt(n,t){return"function"==typeof n?n.apply(void 0,t):n}function it(n,t){return 0===t?n:function(r){clearTimeout(i);i=setTimeout(function(){n(r)},t)};var i}function rt(n,t){var i=Object.assign({},n);return t.forEach(function(n){delete i[n]}),i}function e(n){return[].concat(n)}function ut(n,t){-1===n.indexOf(t)&&n.push(t)}function ft(n){return n.split("-")[0]}function o(n){return[].slice.call(n)}function f(){return document.createElement("div")}function h(n){return["Element","Fragment"].some(function(t){return y(n,t)})}function p(n){return y(n,"MouseEvent")}function et(n){return!(!n||!n._tippy||n._tippy.reference!==n)}function dt(n){return h(n)?[n]:function(n){return y(n,"NodeList")}(n)?o(n):Array.isArray(n)?n:o(document.querySelectorAll(n))}function w(n,t){n.forEach(function(n){n&&(n.style.transitionDuration=t+"ms")})}function s(n,t){n.forEach(function(n){n&&n.setAttribute("data-state",t)})}function ot(n){var i,t=e(n)[0];return(null==t||null==(i=t.ownerDocument)?void 0:i.body)?t.ownerDocument:document}function b(n,t,i){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(t){n[r](t,i)})}function gt(){r.isTouch||(r.isTouch=!0,window.performance&&document.addEventListener("mousemove",ht))}function ht(){var n=performance.now();n-st<20&&(r.isTouch=!1,document.removeEventListener("mousemove",ht));st=n}function ni(){var n=document.activeElement,t;et(n)&&(t=n._tippy,n.blur&&!t.state.isVisible&&n.blur())}function ct(n){var t=(n.plugins||[]).reduce(function(t,i){var r=i.name,u=i.defaultValue;return r&&(t[r]=void 0!==n[r]?n[r]:u),t},{});return Object.assign({},n,{},t)}function lt(n,i){var r=Object.assign({},i,{content:tt(i.content,[n])},i.ignoreAttributes?{}:function(n,i){return(i?Object.keys(ct(Object.assign({},t,{plugins:i}))):ti).reduce(function(t,i){var r=(n.getAttribute("data-tippy-"+i)||"").trim();if(!r)return t;if("content"===i)t[i]=r;else try{t[i]=JSON.parse(r)}catch(n){t[i]=r}return t},{})}(n,i.plugins));return r.aria=Object.assign({},t.aria,{},r.aria),r.aria={expanded:"auto"===r.aria.expanded?i.interactive:r.aria.expanded,content:"auto"===r.aria.content?i.interactive?null:"describedby":r.aria.content},r}function k(n,t){n.innerHTML=t}function at(n){var t=f();return!0===n?t.className="tippy-arrow":(t.className="tippy-svg-arrow",h(n)?t.appendChild(n):k(t,n)),t}function vt(n,t){h(t.content)?(k(n,""),n.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?k(n,t.content):n.textContent=t.content)}function c(n){var i=n.firstElementChild,t=o(i.children);return{box:i,content:t.find(function(n){return n.classList.contains("tippy-content")}),arrow:t.find(function(n){return n.classList.contains("tippy-arrow")||n.classList.contains("tippy-svg-arrow")}),backdrop:t.find(function(n){return n.classList.contains("tippy-backdrop")})}}function yt(n){function u(t,i){var e=c(r),u=e.box,o=e.content,f=e.arrow;i.theme?u.setAttribute("data-theme",i.theme):u.removeAttribute("data-theme");"string"==typeof i.animation?u.setAttribute("data-animation",i.animation):u.removeAttribute("data-animation");i.inertia?u.setAttribute("data-inertia",""):u.removeAttribute("data-inertia");u.style.maxWidth="number"==typeof i.maxWidth?i.maxWidth+"px":i.maxWidth;i.role?u.setAttribute("role",i.role):u.removeAttribute("role");t.content===i.content&&t.allowHTML===i.allowHTML||vt(o,n.props);i.arrow?f?t.arrow!==i.arrow&&(u.removeChild(f),u.appendChild(at(i.arrow))):u.appendChild(at(i.arrow)):f&&u.removeChild(f)}var r=f(),t=f(),i;return t.className="tippy-box",t.setAttribute("data-state","hidden"),t.setAttribute("tabindex","-1"),i=f(),i.className="tippy-content",i.setAttribute("data-state","hidden"),vt(i,n.props),r.appendChild(t),t.appendChild(i),u(n.props,n.props),{popper:r,onUpdate:u}}function ri(i,h){function gi(){var n=y.props.touch;return Array.isArray(n)?n:[n,0]}function nr(){return"hold"===gi()[0]}function g(){var n;return!!(null==(n=y.props.render)?void 0:n.$$tippy)}function rt(){return vi||i}function at(){var n=rt().parentNode;return n?ot(n):document}function vt(){return c(k)}function tr(n){return y.state.isMounted&&!y.state.isVisible||r.isTouch||wt&&"focus"===wt.type?0:v(y.props.delay,n?0:1,t.delay)}function bt(){k.style.pointerEvents=y.props.interactive&&y.state.isVisible?"":"none";k.style.zIndex=""+y.props.zIndex}function d(n,t,i){var r;(void 0===i&&(i=!0),ki.forEach(function(i){i[n]&&i[n].apply(void 0,t)}),i)&&(r=y.props)[n].apply(r,t)}function ir(){var r=y.props.aria,n,t;r.content&&(n="aria-"+r.content,t=k.id,e(y.props.triggerTarget||i).forEach(function(i){var r=i.getAttribute(n),u;y.state.isVisible?i.setAttribute(n,r?r+" "+t:t):(u=r&&r.replace(t,"").trim(),u?i.setAttribute(n,u):i.removeAttribute(n))}))}function yt(){!di&&y.props.aria.expanded&&e(y.props.triggerTarget||i).forEach(function(n){y.props.interactive?n.setAttribute("aria-expanded",y.state.isVisible&&n===rt()?"true":"false"):n.removeAttribute("aria-expanded")})}function fi(){at().removeEventListener("mousemove",nt);l=l.filter(function(n){return n!==nt})}function dt(n){if(!(r.isTouch&&(ti||"mousedown"===n.type)||y.props.interactive&&k.contains(n.target))){if(rt().contains(n.target)){if(r.isTouch)return;if(y.state.isVisible&&y.props.trigger.indexOf("click")>=0)return}else d("onClickOutside",[y,n]);!0===y.props.hideOnClick&&(y.clearDelayTimeouts(),y.hide(),ni=!0,setTimeout(function(){ni=!1}),y.state.isMounted||ei())}}function rr(){ti=!0}function ur(){ti=!1}function fr(){var n=at();n.addEventListener("mousedown",dt,!0);n.addEventListener("touchend",dt,u);n.addEventListener("touchstart",ur,u);n.addEventListener("touchmove",rr,u)}function ei(){var n=at();n.removeEventListener("mousedown",dt,!0);n.removeEventListener("touchend",dt,u);n.removeEventListener("touchstart",ur,u);n.removeEventListener("touchmove",rr,u)}function er(n,t){function r(n){n.target===i&&(b(i,"remove",r),t())}var i=vt().box;if(0===n)return t();b(i,"remove",li);b(i,"add",r);li=r}function st(n,t,r){void 0===r&&(r=!1);e(y.props.triggerTarget||i).forEach(function(i){i.addEventListener(n,t,r);ui.push({node:i,eventType:n,handler:t,options:r})})}function or(){var n;nr()&&(st("touchstart",hr,{passive:!0}),st("touchend",lr,{passive:!0}));(n=y.props.trigger,n.split(/\s+/).filter(Boolean)).forEach(function(n){if("manual"!==n)switch(st(n,hr),n){case"mouseenter":st("mouseleave",lr);break;case"focus":st(kt?"focusout":"blur",ar);break;case"focusin":st("focusout",ar)}})}function sr(){ui.forEach(function(n){var t=n.node,i=n.eventType,r=n.handler,u=n.options;t.removeEventListener(i,r,u)});ui=[]}function hr(n){var i,t=!1,r;!y.state.isEnabled||vr(n)||ni||(r="focus"===(null==(i=wt)?void 0:i.type),wt=n,vi=n.currentTarget,yt(),!y.state.isVisible&&p(n)&&l.forEach(function(t){return t(n)}),"click"===n.type&&(y.props.trigger.indexOf("mouseenter")<0||ht)&&!1!==y.props.hideOnClick&&y.state.isVisible?t=!0:wr(n),"click"===n.type&&(ht=!t),t&&!r&>(n))}function cr(n){var t=n.target,i=rt().contains(t)||k.contains(t);"mousemove"===n.type&&i||function(n,t){var i=t.clientX,r=t.clientY;return n.every(function(n){var u=n.popperRect,o=n.popperState,f=n.props.interactiveBorder,e=ft(o.placement),t=o.modifiersData.offset;if(!t)return!0;var s="bottom"===e?t.top.y:0,h="top"===e?t.bottom.y:0,c="right"===e?t.left.x:0,l="left"===e?t.right.x:0,a=u.top-r+s>f,v=r-u.bottom-h>f,y=u.left-i+c>f,p=i-u.right-l>f;return a||v||y||p})}(oi().concat(k).map(function(n){var t,i=null==(t=n._tippy.popperInstance)?void 0:t.state;return i?{popperRect:n.getBoundingClientRect(),popperState:i,props:et}:null}).filter(Boolean),n)&&(fi(),gt(n))}function lr(n){vr(n)||y.props.trigger.indexOf("click")>=0&&ht||(y.props.interactive?y.hideWithInteractivity(n):gt(n))}function ar(n){y.props.trigger.indexOf("focusin")<0&&n.target!==rt()||y.props.interactive&&n.relatedTarget&&k.contains(n.relatedTarget)||gt(n)}function vr(n){return!!r.isTouch&&nr()!==n.type.indexOf("touch")>=0}function yr(){pr();var t=y.props,u=t.popperOptions,o=t.placement,s=t.offset,f=t.getReferenceClientRect,h=t.moveTransition,e=g()?c(k).arrow:null,l=f?{getBoundingClientRect:f,contextElement:f.contextElement||rt()}:i,r=[{name:"offset",options:{offset:s}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!h}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(n){var i=n.state,t;g()&&(t=vt().box,["placement","reference-hidden","escaped"].forEach(function(n){"placement"===n?t.setAttribute("data-placement",i.placement):i.attributes.popper["data-popper-"+n]?t.setAttribute("data-"+n,""):t.removeAttribute("data-"+n)}),i.attributes.popper={})}}];g()&&e&&r.push({name:"arrow",options:{element:e,padding:3}});r.push.apply(r,(null==u?void 0:u.modifiers)||[]);y.popperInstance=n.createPopper(l,k,Object.assign({},u,{placement:o,onFirstUpdate:ai,modifiers:r}))}function pr(){y.popperInstance&&(y.popperInstance.destroy(),y.popperInstance=null)}function oi(){return o(k.querySelectorAll("[data-tippy-root]"))}function wr(n){y.clearDelayTimeouts();n&&d("onTrigger",[y,n]);fr();var t=tr(!0),i=gi(),f=i[0],u=i[1];r.isTouch&&"hold"===f&&u&&(t=u);t?si=setTimeout(function(){y.show()},t):y.show()}function gt(n){if(y.clearDelayTimeouts(),d("onUntrigger",[y,n]),y.state.isVisible){if(!(y.props.trigger.indexOf("mouseenter")>=0&&y.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(n.type)>=0&&ht)){var t=tr(!1);t?hi=setTimeout(function(){y.state.isVisible&&y.hide()},t):ci=requestAnimationFrame(function(){y.hide()})}}else ei()}var pt,si,hi,ci,wt,li,ai,vi,yi,et=lt(i,Object.assign({},t,{},ct((pt=h,Object.keys(pt).reduce(function(n,t){return void 0!==pt[t]&&(n[t]=pt[t]),n},{}))))),ht=!1,ni=!1,ti=!1,ri=!1,ui=[],nt=it(cr,et.interactiveDebounce),br=ii++,pi=(yi=et.plugins).filter(function(n,t){return yi.indexOf(n)===t}),y={id:br,reference:i,popper:f(),popperInstance:null,props:et,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:pi,clearDelayTimeouts:function(){clearTimeout(si);clearTimeout(hi);cancelAnimationFrame(ci)},setProps:function(n){if(!y.state.isDestroyed){d("onBeforeUpdate",[y,n]);sr();var r=y.props,t=lt(i,Object.assign({},y.props,{},n,{ignoreAttributes:!0}));y.props=t;or();r.interactiveDebounce!==t.interactiveDebounce&&(fi(),nt=it(cr,t.interactiveDebounce));r.triggerTarget&&!t.triggerTarget?e(r.triggerTarget).forEach(function(n){n.removeAttribute("aria-expanded")}):t.triggerTarget&&i.removeAttribute("aria-expanded");yt();bt();bi&&bi(r,t);y.popperInstance&&(yr(),oi().forEach(function(n){requestAnimationFrame(n._tippy.popperInstance.forceUpdate)}));d("onAfterUpdate",[y,n])}},setContent:function(n){y.setProps({content:n})},show:function(){var u=y.state.isVisible,f=y.state.isDestroyed,e=!y.state.isEnabled,o=r.isTouch&&!y.props.touch,n=v(y.props.duration,0,t.duration);if(!u&&!f&&!e&&!o&&!rt().hasAttribute("disabled")&&(d("onShow",[y],!1),!1!==y.props.onShow(y))){if(y.state.isVisible=!0,g()&&(k.style.visibility="visible"),bt(),fr(),y.state.isMounted||(k.style.transition="none"),g()){var i=vt(),h=i.box,c=i.content;w([h,c],0)}ai=function(){var t;if(y.state.isVisible&&!ri){if(ri=!0,k.offsetHeight,k.style.transition=y.props.moveTransition,g()&&y.props.animation){var i=vt(),r=i.box,u=i.content;w([r,u],n);s([r,u],"visible")}ir();yt();ut(a,y);null==(t=y.popperInstance)||t.forceUpdate();y.state.isMounted=!0;d("onMount",[y]);y.props.animation&&g()&&function(n,t){er(n,t)}(n,function(){y.state.isShown=!0;d("onShown",[y])})}},function(){var n,i=y.props.appendTo,r=rt();n=y.props.interactive&&i===t.appendTo||"parent"===i?r.parentNode:tt(i,[r]);n.contains(k)||n.appendChild(k);yr()}()}},hide:function(){var f=!y.state.isVisible,e=y.state.isDestroyed,o=!y.state.isEnabled,n=v(y.props.duration,1,t.duration);if(!f&&!e&&!o&&(d("onHide",[y],!1),!1!==y.props.onHide(y))){if(y.state.isVisible=!1,y.state.isShown=!1,ri=!1,ht=!1,g()&&(k.style.visibility="hidden"),fi(),ei(),bt(),g()){var i=vt(),r=i.box,u=i.content;y.props.animation&&(w([r,u],n),s([r,u],"hidden"))}ir();yt();y.props.animation?g()&&function(n,t){er(n,function(){!y.state.isVisible&&k.parentNode&&k.parentNode.contains(k)&&t()})}(n,y.unmount):y.unmount()}},hideWithInteractivity:function(n){at().addEventListener("mousemove",nt);ut(l,nt);nt(n)},enable:function(){y.state.isEnabled=!0},disable:function(){y.hide();y.state.isEnabled=!1},unmount:function(){(y.state.isVisible&&y.hide(),y.state.isMounted)&&(pr(),oi().forEach(function(n){n._tippy.unmount()}),k.parentNode&&k.parentNode.removeChild(k),a=a.filter(function(n){return n!==y}),y.state.isMounted=!1,d("onHidden",[y]))},destroy:function(){y.state.isDestroyed||(y.clearDelayTimeouts(),y.unmount(),sr(),delete i._tippy,y.state.isDestroyed=!0,d("onDestroy",[y]))}},ki,di;if(!et.render)return y;var wi=et.render(y),k=wi.popper,bi=wi.onUpdate;return k.setAttribute("data-tippy-root",""),k.id="tippy-"+y.id,y.popper=k,i._tippy=y,k._tippy=y,ki=pi.map(function(n){return n.fn(y)}),di=i.hasAttribute("aria-expanded"),or(),yt(),bt(),d("onCreate",[y]),et.showOnCreate&&wr(),k.addEventListener("mouseenter",function(){y.props.interactive&&y.state.isVisible&&y.clearDelayTimeouts()}),k.addEventListener("mouseleave",function(n){y.props.interactive&&y.props.trigger.indexOf("mouseenter")>=0&&(at().addEventListener("mousemove",nt),nt(n))}),y}function i(n,i){var f,e,r;return void 0===i&&(i={}),f=t.plugins.concat(i.plugins||[]),document.addEventListener("touchstart",gt,u),window.addEventListener("blur",ni),e=Object.assign({},i,{plugins:f}),r=dt(n).reduce(function(n,t){var i=t&&ri(t,e);return i&&n.push(i),n},[]),h(n)?r[0]:r}function pt(n){var t=n.clientX,i=n.clientY;d={clientX:t,clientY:i}}function wt(n,t){return!n||!t||n.top!==t.top||n.right!==t.right||n.bottom!==t.bottom||n.left!==t.left}var nt="undefined"!=typeof window&&"undefined"!=typeof document,bt=nt?navigator.userAgent:"",kt=/MSIE |Trident\//.test(bt),u={passive:!0,capture:!0},r={isTouch:!1},st=0,t=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),ti=Object.keys(t);yt.$$tippy=!0;var ii=1,l=[],a=[];i.defaultProps=t;i.setDefaultProps=function(n){Object.keys(n).forEach(function(i){t[i]=n[i]})};i.currentInput=r;var ui=Object.assign({},n.applyStyles,{effect:function(n){var t=n.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,i.popper);t.styles=i;t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow)}}),fi={mouseover:"mouseenter",focusin:"focus",click:"click"},ei={name:"animateFill",defaultValue:!1,fn:function(n){var r;if(!(null==(r=n.props.render)?void 0:r.$$tippy))return{};var u=c(n.popper),i=u.box,e=u.content,t=n.props.animateFill?function(){var n=f();return n.className="tippy-backdrop",s([n],"hidden"),n}():null;return{onCreate:function(){t&&(i.insertBefore(t,i.firstElementChild),i.setAttribute("data-animatefill",""),i.style.overflow="hidden",n.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(t){var n=i.style.transitionDuration,r=Number(n.replace("ms",""));e.style.transitionDelay=Math.round(r/10)+"ms";t.style.transitionDuration=n;s([t],"visible")}},onShow:function(){t&&(t.style.transitionDuration="0ms")},onHide:function(){t&&s([t],"hidden")}}}},d={clientX:0,clientY:0},g=[];var oi={name:"followCursor",defaultValue:!1,fn:function(n){function s(){return"initial"===n.props.followCursor&&n.state.isVisible}function h(){t.addEventListener("mousemove",e)}function c(){t.removeEventListener("mousemove",e)}function l(){r=!0;n.setProps({getReferenceClientRect:null});r=!1}function e(t){var o=!t.target||i.contains(t.target),r=n.props.followCursor,u=t.clientX,f=t.clientY,e=i.getBoundingClientRect(),s=u-e.left,h=f-e.top;!o&&n.props.interactive||n.setProps({getReferenceClientRect:function(){var n=i.getBoundingClientRect(),t=u,e=f;"initial"===r&&(t=n.left+s,e=n.top+h);var o="horizontal"===r?n.top:e,c="vertical"===r?n.right:t,l="horizontal"===r?n.bottom:e,a="vertical"===r?n.left:t;return{width:c-a,height:l-o,top:o,right:c,bottom:l,left:a}}})}function a(){n.props.followCursor&&(g.push({instance:n,doc:t}),function(n){n.addEventListener("mousemove",pt)}(t))}function v(){0===(g=g.filter(function(t){return t.instance!==n})).filter(function(n){return n.doc===t}).length&&function(n){n.removeEventListener("mousemove",pt)}(t)}var i=n.reference,t=ot(n.props.triggerTarget||i),r=!1,u=!1,f=!0,o=n.props;return{onCreate:a,onDestroy:v,onBeforeUpdate:function(){o=n.props},onAfterUpdate:function(t,i){var f=i.followCursor;r||void 0!==f&&o.followCursor!==f&&(v(),f?(a(),!n.state.isMounted||u||s()||h()):(c(),l()))},onMount:function(){n.props.followCursor&&!u&&(f&&(e(d),f=!1),s()||h())},onTrigger:function(n,t){p(t)&&(d={clientX:t.clientX,clientY:t.clientY});u="focus"===t.type},onHidden:function(){n.props.followCursor&&(l(),c(),f=!0)}}}},si={name:"inlinePositioning",defaultValue:!1,fn:function(n){function f(){var t;i||(t=function(n,t){var i;return{popperOptions:Object.assign({},n.popperOptions,{modifiers:[].concat(((null==(i=n.popperOptions)?void 0:i.modifiers)||[]).filter(function(n){return n.name!==t.name}),[t])})}}(n.props,e),i=!0,n.setProps(t),i=!1)}var r,u=n.reference,t=-1,i=!1,e={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(i){var f=i.state;n.props.inlinePositioning&&(r!==f.placement&&n.setProps({getReferenceClientRect:function(){return function(n){return function(n,t,i,r){if(i.length<2||null===n)return t;if(2===i.length&&r>=0&&i[0].left>i[1].right)return i[r]||t;switch(n){case"top":case"bottom":var u=i[0],f=i[i.length-1],h="top"===n,c=u.top,l=f.bottom,a=h?u.left:f.left,v=h?u.right:f.right;return{top:c,bottom:l,left:a,right:v,width:v-a,height:l-c};case"left":case"right":var e=Math.min.apply(Math,i.map(function(n){return n.left})),o=Math.max.apply(Math,i.map(function(n){return n.right})),s=i.filter(function(t){return"left"===n?t.left===e:t.right===o}),y=s[0].top,p=s[s.length-1].bottom;return{top:y,bottom:p,left:e,right:o,width:o-e,height:p-y};default:return t}}(ft(n),u.getBoundingClientRect(),o(u.getClientRects()),t)}(f.placement)}}),r=f.placement)}};return{onCreate:f,onAfterUpdate:f,onTrigger:function(i,r){if(p(r)){var u=o(n.reference.getClientRects()),f=u.find(function(n){return n.left-2<=r.clientX&&n.right+2>=r.clientX&&n.top-2<=r.clientY&&n.bottom+2>=r.clientY});t=u.indexOf(f)}},onUntrigger:function(){t=-1}}}},hi={name:"sticky",defaultValue:!1,fn:function(n){function t(t){return!0===n.props.sticky||n.props.sticky===t}function u(){var o=t("reference")?(n.popperInstance?n.popperInstance.state.elements.reference:f).getBoundingClientRect():null,s=t("popper")?e.getBoundingClientRect():null;(o&&wt(i,o)||s&&wt(r,s))&&n.popperInstance&&n.popperInstance.update();i=o;r=s;n.state.isMounted&&requestAnimationFrame(u)}var f=n.reference,e=n.popper,i=null,r=null;return{onMount:function(){n.props.sticky&&u()}}}};return nt&&function(n){var t=document.createElement("style"),i,r;t.textContent=n;t.setAttribute("data-tippy-stylesheet","");i=document.head;r=document.querySelector("head>style,head>link");r?i.insertBefore(t,r):i.appendChild(t)}('.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}'),i.setDefaultProps({plugins:[ei,oi,si,hi],render:yt}),i.createSingleton=function(n,t){function y(){u=o.map(function(n){return n.reference})}function c(n){o.forEach(function(t){n?t.enable():t.disable()})}function p(n){return o.map(function(t){var i=t.setProps;return t.setProps=function(r){i(r);t.reference===e&&n.setProps(r)},function(){t.setProps=i}})}function s(n,t){var r=u.indexOf(t),i;t!==e&&(e=t,i=(l||[]).concat("content").reduce(function(n,t){return n[t]=o[r].props[t],n},{}),n.setProps(Object.assign({},i,{getReferenceClientRect:"function"==typeof i.getReferenceClientRect?i.getReferenceClientRect:function(){return t.getBoundingClientRect()}})))}var a,w;void 0===t&&(t={});var e,o=n,u=[],l=t.overrides,v=[],h=!1;c(!1);y();var b={fn:function(){return{onDestroy:function(){c(!0)},onHidden:function(){e=null},onClickOutside:function(n){n.props.showOnCreate&&!h&&(h=!0,e=null)},onShow:function(n){n.props.showOnCreate&&!h&&(h=!0,s(n,u[0]))},onTrigger:function(n,t){s(n,t.currentTarget)}}}},r=i(f(),Object.assign({},rt(t,["overrides"]),{plugins:[b].concat(t.plugins||[]),triggerTarget:u,popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat((null==(a=t.popperOptions)?void 0:a.modifiers)||[],[ui])})})),k=r.show;return r.show=function(n){if(k(),!e&&null==n)return s(r,u[0]);if(!e||null!=n){if("number"==typeof n)return u[n]&&s(r,u[n]);if(o.includes(n)){var t=n.reference;return s(r,t)}return u.includes(n)?s(r,n):void 0}},r.showNext=function(){var t=u[0],n;if(!e)return r.show(0);n=u.indexOf(e);r.show(u[n+1]||t)},r.showPrevious=function(){var n=u[u.length-1],t,i;if(!e)return r.show(n);t=u.indexOf(e);i=u[t-1]||n;r.show(i)},w=r.setProps,r.setProps=function(n){l=n.overrides||l;w(n)},r.setInstances=function(n){c(!0);v.forEach(function(n){return n()});o=n;c(!1);y();p(r);r.setProps({triggerTarget:u})},v=p(r),r},i.delegate=function(n,r){function o(n){var u,o,e;n.target&&!c&&(u=n.target.closest(y),u&&(o=u.getAttribute("data-tippy-trigger")||r.trigger||t.trigger,u._tippy||"touchstart"===n.type&&"boolean"==typeof a.touch||"touchstart"!==n.type&&o.indexOf(fi[n.type])<0||(e=i(u,a),e&&(f=f.concat(e)))))}function s(n,t,i,r){void 0===r&&(r=!1);n.addEventListener(t,i,r);h.push({node:n,eventType:t,handler:i,options:r})}var h=[],f=[],c=!1,y=r.target,l=rt(r,["target"]),p=Object.assign({},l,{trigger:"manual",touch:!1}),a=Object.assign({},l,{showOnCreate:!0}),v=i(n,p);return e(v).forEach(function(n){var t=n.destroy,i=n.enable,r=n.disable;n.destroy=function(n){void 0===n&&(n=!0);n&&f.forEach(function(n){n.destroy()});f=[];h.forEach(function(n){var t=n.node,i=n.eventType,r=n.handler,u=n.options;t.removeEventListener(i,r,u)});h=[];t()};n.enable=function(){i();f.forEach(function(n){return n.enable()});c=!1};n.disable=function(){r();f.forEach(function(n){return n.disable()});c=!0},function(n){var t=n.reference;s(t,"touchstart",o,u);s(t,"mouseover",o);s(t,"focusin",o);s(t,"click",o)}(n)}),v},i.hideAll=function(n){var i=void 0===n?{}:n,t=i.exclude,r=i.duration;a.forEach(function(n){var i=!1,u;(t&&(i=et(t)?n.reference===t:n.popper===t.popper),i)||(u=n.props.duration,n.setProps({duration:r}),n.hide(),n.state.isDestroyed||n.setProps({duration:u}))})},i.roundArrow='