@blockcerts/blockcerts-verifier 1.62.0 → 1.62.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle-stats.html +2 -2
- package/dist/EcdsaSd2023-jnIXPui8-Ecil79Z6.js +36 -0
- package/dist/EcdsaSecp256k1Signature2019-CBV4BwnM-C2qGlq2W.js +4 -0
- package/dist/{Ed25519Signature2020-CL2yKnJW-NRYSGvkI.js → Ed25519Signature2020-MQoWd113-PNuci9U2.js} +5 -5
- package/dist/{HashlinkVerifier-MEwSZe4T-BdYYAALa.js → HashlinkVerifier-DykIKn5i-CYewU55u.js} +3 -3
- package/dist/{MerkleProof2017-CNSx436a-FBaGRIN1.js → MerkleProof2017-Cy_nkz4C-gnoFFWMW.js} +1 -1
- package/dist/{MerkleProof2017-MZJbBTpc-B7HRJzRg.js → MerkleProof2017-MZJbBTpc-CeZmtqCh.js} +3 -3
- package/dist/MerkleProof2019-DpwH-snR-ClzVR6uC.js +3 -0
- package/dist/checkCredentialSchemaConformity-DOGmtCq0-CnEpCN-s.js +1 -0
- package/dist/{checkRevocationStatusList2021-Cy-rWyh7-CVOeAbdp.js → checkRevocationStatusList2021-CNtaPjVp-XCu3zkCJ.js} +5 -5
- package/dist/{controlVerificationMethod-CXzAI0QS-b45qIaR4.js → controlVerificationMethod-BxseSDWK-Ghg2o_Hj.js} +1 -1
- package/dist/{did-key-common.esm-CJj7pea6-Er8YwHoJ.js → did-key-common.esm-C42sQiXe-DN5hgDGM.js} +3 -3
- package/dist/{did-key-ed25519.esm-hEATvNhJ-CHAq7sf1.js → did-key-ed25519.esm-CO7qImeZ-BR5JRBUU.js} +1 -1
- package/dist/did-key-secp256k1.esm-BblZ1xRe-4Ak_uTKC.js +1 -0
- package/dist/downloadPDF-XZlmMePj.js +346 -0
- package/dist/elliptic-6eMlPaPZ-CGOSt2J1.js +1 -0
- package/dist/{ensureNotRevoked-gui-UMnE-CENgoep9.js → ensureNotRevoked-gui-UMnE-DnVNmhNy.js} +1 -1
- package/dist/index-C-APorIs.js +2 -0
- package/dist/index-Dzjg2qbR-DK7tzt5T.js +22 -0
- package/dist/{jsonld-signatures-zDEkNjYR-D3vK8GYH.js → index-VOqA2-xz-CKqwdkuf.js} +14 -10
- package/dist/index-WN144sZ6-DKm58evR.js +3 -0
- package/dist/index.es-B13oYDrC.js +56 -0
- package/dist/{jsonld-Pr6hPH-i-D_C9ciG_.js → jsonld-BpvX3DRL-qZrjsUmJ.js} +3 -3
- package/dist/main.js +109 -109
- package/dist/pako.esm-DnD5dZGi-Bw1vqMku.js +2 -0
- package/dist/purify-hA3K4SAZ.js +2 -0
- package/dist/retrieveVerificationMethodPublicKey-fVSjg83n-B4VhVtVk.js +1 -0
- package/dist/webcrypto.es-DQnPRx8R-BJSH271h.js +41 -0
- package/package.json +8 -7
- package/dist/EcdsaSecp256k1Signature2019-aV3C41Ue-_mP0Wq_n.js +0 -4
- package/dist/MerkleProof2019-DnbP3r0f-Cp4GWjQh.js +0 -3
- package/dist/checkCredentialSchemaConformity-QPmIWPLG-De1kKyvF.js +0 -1
- package/dist/did-key-secp256k1.esm-CIEM56eq-EQahxyFZ.js +0 -1
- package/dist/downloadPDF-B1DL4u2a.js +0 -346
- package/dist/elliptic-DVE5q-l5-D-NH8siB.js +0 -1
- package/dist/index-CfIOMbD1.js +0 -2
- package/dist/index-DUjMpuQT-ZifknGWx.js +0 -5
- package/dist/index-DWAZG7Ja-CBt_boC3.js +0 -3
- package/dist/index.es-D8QzgW47.js +0 -56
- package/dist/pako.esm-DnD5dZGi-HambcU-w.js +0 -2
- package/dist/purify-C5H8D62I.js +0 -2
- /package/dist/{ensureNotRevoked-bD_ITwQb-DvMIgM4L.js → ensureNotRevoked-D9_PlMpD-DvMIgM4L.js} +0 -0
- /package/dist/{ensureValidIssuingKey-wRebznsK-frafTbMl.js → ensureValidIssuingKey-C7MTkDyV-frafTbMl.js} +0 -0
- /package/dist/{index-yP42zfkJ-CHN5LgUq.js → index-BZds3Ljo-CHN5LgUq.js} +0 -0
- /package/dist/{index-CcA_A5fd-Dgus2xdV.js → index-CWugL4dz-Dgus2xdV.js} +0 -0
- /package/dist/{sha256-wKiO0px2-BYFBxJ7m.js → sha256-D_qJpPFT-BYFBxJ7m.js} +0 -0
- /package/dist/{x25519-BzvT3haI-DcUk09rC.js → x25519-Dm-l65ld-DcUk09rC.js} +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import{d as e,h as t,V as r}from"./main.js";import{j as n,e as o,d as i}from"./index-VOqA2-xz-CKqwdkuf.js";import{j as a}from"./jsonld-BpvX3DRL-qZrjsUmJ.js";import{d as s,e as u}from"./base64url-Cy03LJLt-vkTPfQOh.js";import"./elliptic-6eMlPaPZ-CGOSt2J1.js";import{f as c}from"./index-Dzjg2qbR-DK7tzt5T.js";import{S as f}from"./Suite-B7Vy9AuU-D1ucdMDB.js";import"./pako.esm-DnD5dZGi-Bw1vqMku.js";import"./sha256-D_qJpPFT-BYFBxJ7m.js";import"./index-CWugL4dz-Dgus2xdV.js";import{r as d}from"./retrieveVerificationMethodPublicKey-fVSjg83n-B4VhVtVk.js";
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
const l=globalThis.crypto;
|
|
6
|
+
/*!
|
|
7
|
+
* Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
|
|
8
|
+
*/function p({algorithm:e="sha256"}={}){if("sha256"!==e)throw new Error(`Unsupported algorithm "${e}".`);return{hash:async e=>new Uint8Array(await l.subtle.digest("SHA-256",e))}}
|
|
9
|
+
/*!
|
|
10
|
+
* Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
|
|
11
|
+
*/const h=new TextEncoder;function y(e){return h.encode(e)}
|
|
12
|
+
/*!
|
|
13
|
+
* Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
|
|
14
|
+
*/async function g({document:e,labelMapFactoryFunction:t,options:r}={}){const{nquads:n}=await async function({document:e,nquads:t,labelMapFactoryFunction:r,options:n}={}){let o,i=new Map;o=e?await w(e,{...n,canonicalIdMap:i}):await w(t.join(""),{...n,inputFormat:"application/n-quads",canonicalIdMap:i});i=function(e){let t=!1;const r=new Map;for(const[n,o]of e){if(!t&&(t=!0,!n.startsWith("_:")))return e;r.set(n.slice(2),o.slice(2))}return r}(i);const a=await r({canonicalIdMap:i}),s=new Map;for(const[e,t]of a)s.set(i.get(e),t);const u=(e,t,r)=>"_:"+s.get(r);return{nquads:o.split("\n").slice(0,-1).map((e=>e.replace(/(_:([^\s]+))/g,u)+"\n")).sort(),labelMap:a}}
|
|
15
|
+
/*!
|
|
16
|
+
* Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
|
|
17
|
+
*/({document:e,labelMapFactoryFunction:t,options:r});return n}async function w(e,t){if(!t||"object"!=typeof t)throw new TypeError('"options" must be an object.');return a.canonize(e,{algorithm:"URDNA2015",format:"application/n-quads",safe:!0,...t})}async function m({document:e,proof:t,options:r,hasher:n}={}){n||(n=p());const o=await async function({document:e,proof:t,options:r}={}){return delete(t={"@context":e["@context"],...t}).proofValue,w(t,r)}({document:e,proof:t,options:r});return n.hash(y(o))}const b=["string","number","bigint","symbol"],v=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function E(e){if(null===e)return"null";if(void 0===e)return"undefined";if(!0===e||!1===e)return"boolean";const t=typeof e;if(b.includes(t))return t;if("function"===t)return"Function";if(Array.isArray(e))return"Array";if(function(e){return e&&e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer.call(null,e)}(e))return"Buffer";const r=function(e){const t=Object.prototype.toString.call(e).slice(8,-1);if(v.includes(t))return t;return}(e);return r||"Object"}class A{constructor(e,t,r){this.major=e,this.majorEncoded=e<<5,this.name=t,this.terminal=r}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}}A.uint=new A(0,"uint",!0),A.negint=new A(1,"negint",!0),A.bytes=new A(2,"bytes",!0),A.string=new A(3,"string",!0),A.array=new A(4,"array",!1),A.map=new A(5,"map",!1),A.tag=new A(6,"tag",!1),A.float=new A(7,"float",!0),A.false=new A(7,"false",!0),A.true=new A(7,"true",!0),A.null=new A(7,"null",!0),A.undefined=new A(7,"undefined",!0),A.break=new A(7,"break",!0);class S{constructor(e,t,r){this.type=e,this.value=t,this.encodedLength=r,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}}const $=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&"function"==typeof globalThis.Buffer.isBuffer,T=new TextDecoder,M=new TextEncoder;function V(e){return $&&globalThis.Buffer.isBuffer(e)}const I=$?(e,t,r)=>r-t>64?globalThis.Buffer.from(e.subarray(t,r)).toString("utf8"):x(e,t,r):(e,t,r)=>r-t>64?T.decode(e.subarray(t,r)):x(e,t,r),j=$?e=>e.length>64?globalThis.Buffer.from(e):k(e):e=>e.length>64?M.encode(e):k(e),U=$?(e,t,r)=>V(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r);function k(e){const t=[];let r=0;for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=63&o|128):55296==(64512&o)&&n+1<e.length&&56320==(64512&e.charCodeAt(n+1))?(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++n)),t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=63&o|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=63&o|128)}return t}function x(e,t,r){const n=[];for(;t<r;){const o=e[t];let i=null,a=o>239?4:o>223?3:o>191?2:1;if(t+a<=r){let r,n,s,u;switch(a){case 1:o<128&&(i=o);break;case 2:r=e[t+1],128==(192&r)&&(u=(31&o)<<6|63&r,u>127&&(i=u));break;case 3:r=e[t+1],n=e[t+2],128==(192&r)&&128==(192&n)&&(u=(15&o)<<12|(63&r)<<6|63&n,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:r=e[t+1],n=e[t+2],s=e[t+3],128==(192&r)&&128==(192&n)&&128==(192&s)&&(u=(15&o)<<18|(63&r)<<12|(63&n)<<6|63&s,u>65535&&u<1114112&&(i=u))}}null===i?(i=65533,a=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|1023&i),n.push(i),t+=a}return function(e){const t=e.length;if(t<=B)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=B));return r}(n)}const B=4096;const D="CBOR decode error:",P="CBOR encode error:";function N(e,t,r){if(e.length-t<r)throw new Error(`${D} not enough data for type`)}const L=[24,256,65536,4294967296,BigInt("18446744073709551616")];function C(e,t,r){N(e,t,1);const n=e[t];if(!0===r.strict&&n<L[0])throw new Error(`${D} integer encoded in more bytes than necessary (strict decode)`);return n}function K(e,t,r){N(e,t,2);const n=e[t]<<8|e[t+1];if(!0===r.strict&&n<L[1])throw new Error(`${D} integer encoded in more bytes than necessary (strict decode)`);return n}function _(e,t,r){N(e,t,4);const n=16777216*e[t]+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(!0===r.strict&&n<L[2])throw new Error(`${D} integer encoded in more bytes than necessary (strict decode)`);return n}function z(e,t,r){N(e,t,8);const n=16777216*e[t]+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3],o=16777216*e[t+4]+(e[t+5]<<16)+(e[t+6]<<8)+e[t+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(!0===r.strict&&i<L[3])throw new Error(`${D} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(!0===r.allowBigInt)return i;throw new Error(`${D} integers outside of the safe integer range are not supported`)}function F(e,t){return q(e,0,t.value)}function q(e,t,r){if(r<L[0]){const n=Number(r);e.push([t|n])}else if(r<L[1]){const n=Number(r);e.push([24|t,n])}else if(r<L[2]){const n=Number(r);e.push([25|t,n>>>8,255&n])}else if(r<L[3]){const n=Number(r);e.push([26|t,n>>>24&255,n>>>16&255,n>>>8&255,255&n])}else{const n=BigInt(r);if(!(n<L[4]))throw new Error(`${D} encountered BigInt larger than allowable range`);{const r=[27|t,0,0,0,0,0,0,0];let o=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));r[8]=255&o,o>>=8,r[7]=255&o,o>>=8,r[6]=255&o,o>>=8,r[5]=255&o,r[4]=255&i,i>>=8,r[3]=255&i,i>>=8,r[2]=255&i,i>>=8,r[1]=255&i,e.push(r)}}}F.encodedSize=function(e){return q.encodedSize(e.value)},q.encodedSize=function(e){return e<L[0]?1:e<L[1]?2:e<L[2]?3:e<L[3]?5:9},F.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};const O=BigInt(-1),H=BigInt(1);function R(e,t){const r=t.value,n="bigint"==typeof r?r*O-H:-1*r-1;q(e,t.type.majorEncoded,n)}function G(e,t,r,n){N(e,t,r+n);const o=U(e,t+r,t+r+n);return new S(A.bytes,o,r+n)}function J(e,t,r,n){return G(e,t,1,r)}function W(e){return void 0===e.encodedBytes&&(e.encodedBytes=e.type===A.string?j(e.value):e.value),e.encodedBytes}function Z(e,t){const r=W(t);q(e,t.type.majorEncoded,r.length),e.push(r)}function X(e,t,r,n,o){const i=r+n;N(e,t,i);const a=new S(A.string,I(e,t+r,t+i),i);return!0===o.retainStringBytes&&(a.byteValue=U(e,t+r,t+i)),a}function Q(e,t,r,n){return X(e,t,1,r,n)}R.encodedSize=function(e){const t=e.value,r="bigint"==typeof t?t*O-H:-1*t-1;return r<L[0]?1:r<L[1]?2:r<L[2]?3:r<L[3]?5:9},R.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0},Z.encodedSize=function(e){const t=W(e);return q.encodedSize(t.length)+t.length},Z.compareTokens=function(e,t){return r=W(e),n=W(t),r.length<n.length?-1:r.length>n.length?1:function(e,t){if(V(e)&&V(t))return e.compare(t);for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return 0}(r,n);var r,n};const Y=Z;function ee(e,t,r,n){return new S(A.array,n,r)}function te(e,t,r,n){return ee(0,0,1,r)}function re(e,t){q(e,A.array.majorEncoded,t.value)}function ne(e,t,r,n){return new S(A.map,n,r)}function oe(e,t,r,n){return ne(0,0,1,r)}function ie(e,t){q(e,A.map.majorEncoded,t.value)}function ae(e,t,r,n){return new S(A.tag,r,1)}function se(e,t){q(e,A.tag.majorEncoded,t.value)}re.compareTokens=F.compareTokens,re.encodedSize=function(e){return q.encodedSize(e.value)},ie.compareTokens=F.compareTokens,ie.encodedSize=function(e){return q.encodedSize(e.value)},se.compareTokens=F.compareTokens,se.encodedSize=function(e){return q.encodedSize(e.value)};function ue(e,t,r){if(r){if(!1===r.allowNaN&&Number.isNaN(e))throw new Error(`${D} NaN values are not supported`);if(!1===r.allowInfinity&&(e===1/0||e===-1/0))throw new Error(`${D} Infinity values are not supported`)}return new S(A.float,e,t)}function ce(e,t,r){const n=t.value;if(!1===n)e.push([20|A.float.majorEncoded]);else if(!0===n)e.push([21|A.float.majorEncoded]);else if(null===n)e.push([22|A.float.majorEncoded]);else if(void 0===n)e.push([23|A.float.majorEncoded]);else{let t,i=!1;r&&!0===r.float64||(pe(n),t=he(le,1),n===t||Number.isNaN(n)?(le[0]=249,e.push(le.slice(0,3)),i=!0):(ye(n),t=ge(le,1),n===t&&(le[0]=250,e.push(le.slice(0,5)),i=!0))),i||(o=n,de.setFloat64(0,o,!1),t=we(le,1),le[0]=251,e.push(le.slice(0,9)))}var o}ce.encodedSize=function(e,t){const r=e.value;if(!1===r||!0===r||null==r)return 1;if(!t||!0!==t.float64){pe(r);let e=he(le,1);if(r===e||Number.isNaN(r))return 3;if(ye(r),e=ge(le,1),r===e)return 5}return 9};const fe=new ArrayBuffer(9),de=new DataView(fe,1),le=new Uint8Array(fe,0);function pe(e){if(e===1/0)de.setUint16(0,31744,!1);else if(e===-1/0)de.setUint16(0,64512,!1);else if(Number.isNaN(e))de.setUint16(0,32256,!1);else{de.setFloat32(0,e);const t=de.getUint32(0),r=(2139095040&t)>>23,n=8388607&t;if(255===r)de.setUint16(0,31744,!1);else if(0===r)de.setUint16(0,(2147483648&e)>>16|n>>13,!1);else{const e=r-127;e<-24?de.setUint16(0,0):e<-14?de.setUint16(0,(2147483648&t)>>16|1<<24+e,!1):de.setUint16(0,(2147483648&t)>>16|e+15<<10|n>>13,!1)}}}function he(e,t){if(e.length-t<2)throw new Error(`${D} not enough data for float16`);const r=(e[t]<<8)+e[t+1];if(31744===r)return 1/0;if(64512===r)return-1/0;if(32256===r)return NaN;const n=r>>10&31,o=1023&r;let i;return i=0===n?o*2**-24:31!==n?(o+1024)*2**(n-25):0===o?1/0:NaN,32768&r?-i:i}function ye(e){de.setFloat32(0,e,!1)}function ge(e,t){if(e.length-t<4)throw new Error(`${D} not enough data for float32`);const r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function we(e,t){if(e.length-t<8)throw new Error(`${D} not enough data for float64`);const r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}function me(e,t,r){throw new Error(`${D} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function be(e){return()=>{throw new Error(`${D} ${e}`)}}ce.compareTokens=F.compareTokens;const ve=[];for(let e=0;e<=23;e++)ve[e]=me;ve[24]=function(e,t,r,n){return new S(A.uint,C(e,t+1,n),2)},ve[25]=function(e,t,r,n){return new S(A.uint,K(e,t+1,n),3)},ve[26]=function(e,t,r,n){return new S(A.uint,_(e,t+1,n),5)},ve[27]=function(e,t,r,n){return new S(A.uint,z(e,t+1,n),9)},ve[28]=me,ve[29]=me,ve[30]=me,ve[31]=me;for(let e=32;e<=55;e++)ve[e]=me;ve[56]=function(e,t,r,n){return new S(A.negint,-1-C(e,t+1,n),2)},ve[57]=function(e,t,r,n){return new S(A.negint,-1-K(e,t+1,n),3)},ve[58]=function(e,t,r,n){return new S(A.negint,-1-_(e,t+1,n),5)},ve[59]=function(e,t,r,n){const o=z(e,t+1,n);if("bigint"!=typeof o){const e=-1-o;if(e>=Number.MIN_SAFE_INTEGER)return new S(A.negint,e,9)}if(!0!==n.allowBigInt)throw new Error(`${D} integers outside of the safe integer range are not supported`);return new S(A.negint,O-BigInt(o),9)},ve[60]=me,ve[61]=me,ve[62]=me,ve[63]=me;for(let e=64;e<=87;e++)ve[e]=J;ve[88]=function(e,t,r,n){return G(e,t,2,C(e,t+1,n))},ve[89]=function(e,t,r,n){return G(e,t,3,K(e,t+1,n))},ve[90]=function(e,t,r,n){return G(e,t,5,_(e,t+1,n))},ve[91]=function(e,t,r,n){const o=z(e,t+1,n);if("bigint"==typeof o)throw new Error(`${D} 64-bit integer bytes lengths not supported`);return G(e,t,9,o)},ve[92]=me,ve[93]=me,ve[94]=me,ve[95]=be("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)ve[e]=Q;ve[120]=function(e,t,r,n){return X(e,t,2,C(e,t+1,n),n)},ve[121]=function(e,t,r,n){return X(e,t,3,K(e,t+1,n),n)},ve[122]=function(e,t,r,n){return X(e,t,5,_(e,t+1,n),n)},ve[123]=function(e,t,r,n){const o=z(e,t+1,n);if("bigint"==typeof o)throw new Error(`${D} 64-bit integer string lengths not supported`);return X(e,t,9,o,n)},ve[124]=me,ve[125]=me,ve[126]=me,ve[127]=be("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)ve[e]=te;ve[152]=function(e,t,r,n){return ee(0,0,2,C(e,t+1,n))},ve[153]=function(e,t,r,n){return ee(0,0,3,K(e,t+1,n))},ve[154]=function(e,t,r,n){return ee(0,0,5,_(e,t+1,n))},ve[155]=function(e,t,r,n){const o=z(e,t+1,n);if("bigint"==typeof o)throw new Error(`${D} 64-bit integer array lengths not supported`);return ee(0,0,9,o)},ve[156]=me,ve[157]=me,ve[158]=me,ve[159]=function(e,t,r,n){if(!1===n.allowIndefinite)throw new Error(`${D} indefinite length items not allowed`);return ee(0,0,1,1/0)};for(let e=160;e<=183;e++)ve[e]=oe;ve[184]=function(e,t,r,n){return ne(0,0,2,C(e,t+1,n))},ve[185]=function(e,t,r,n){return ne(0,0,3,K(e,t+1,n))},ve[186]=function(e,t,r,n){return ne(0,0,5,_(e,t+1,n))},ve[187]=function(e,t,r,n){const o=z(e,t+1,n);if("bigint"==typeof o)throw new Error(`${D} 64-bit integer map lengths not supported`);return ne(0,0,9,o)},ve[188]=me,ve[189]=me,ve[190]=me,ve[191]=function(e,t,r,n){if(!1===n.allowIndefinite)throw new Error(`${D} indefinite length items not allowed`);return ne(0,0,1,1/0)};for(let e=192;e<=215;e++)ve[e]=ae;ve[216]=function(e,t,r,n){return new S(A.tag,C(e,t+1,n),2)},ve[217]=function(e,t,r,n){return new S(A.tag,K(e,t+1,n),3)},ve[218]=function(e,t,r,n){return new S(A.tag,_(e,t+1,n),5)},ve[219]=function(e,t,r,n){return new S(A.tag,z(e,t+1,n),9)},ve[220]=me,ve[221]=me,ve[222]=me,ve[223]=me;for(let e=224;e<=243;e++)ve[e]=be("simple values are not supported");ve[244]=me,ve[245]=me,ve[246]=me,ve[247]=function(e,t,r,n){if(!1===n.allowUndefined)throw new Error(`${D} undefined values are not supported`);return!0===n.coerceUndefinedToNull?new S(A.null,null,1):new S(A.undefined,void 0,1)},ve[248]=be("simple values are not supported"),ve[249]=function(e,t,r,n){return ue(he(e,t+1),3,n)},ve[250]=function(e,t,r,n){return ue(ge(e,t+1),5,n)},ve[251]=function(e,t,r,n){return ue(we(e,t+1),9,n)},ve[252]=me,ve[253]=me,ve[254]=me,ve[255]=function(e,t,r,n){if(!1===n.allowIndefinite)throw new Error(`${D} indefinite length items not allowed`);return new S(A.break,void 0,1)};const Ee=[];for(let e=0;e<24;e++)Ee[e]=new S(A.uint,e,1);for(let e=-1;e>=-24;e--)Ee[31-e]=new S(A.negint,e,1);Ee[64]=new S(A.bytes,new Uint8Array(0),1),Ee[96]=new S(A.string,"",1),Ee[128]=new S(A.array,0,1),Ee[160]=new S(A.map,0,1),Ee[244]=new S(A.false,!1,1),Ee[245]=new S(A.true,!0,1),Ee[246]=new S(A.null,null,1),function(){const e=[];e[A.uint.major]=F,e[A.negint.major]=R,e[A.bytes.major]=Z,e[A.string.major]=Y,e[A.array.major]=re,e[A.map.major]=ie,e[A.tag.major]=se,e[A.float.major]=ce}();class Ae{constructor(e,t){this.obj=e,this.parent=t}includes(e){let t=this;do{if(t.obj===e)return!0}while(t=t.parent);return!1}static createCheck(e,t){if(e&&e.includes(t))throw new Error(`${P} object contains circular references`);return new Ae(t,e)}}const Se={null:new S(A.null,null),undefined:new S(A.undefined,void 0),true:new S(A.true,!0),false:new S(A.false,!1),emptyArray:new S(A.array,0),emptyMap:new S(A.map,0)},$e={number:(e,t,r,n)=>Number.isInteger(e)&&Number.isSafeInteger(e)?new S(e>=0?A.uint:A.negint,e):new S(A.float,e),bigint:(e,t,r,n)=>e>=BigInt(0)?new S(A.uint,e):new S(A.negint,e),Uint8Array:(e,t,r,n)=>new S(A.bytes,e),string:(e,t,r,n)=>new S(A.string,e),boolean:(e,t,r,n)=>e?Se.true:Se.false,null:(e,t,r,n)=>Se.null,undefined:(e,t,r,n)=>Se.undefined,ArrayBuffer:(e,t,r,n)=>new S(A.bytes,new Uint8Array(e)),DataView:(e,t,r,n)=>new S(A.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),Array(e,t,r,n){if(!e.length)return!0===r.addBreakTokens?[Se.emptyArray,new S(A.break)]:Se.emptyArray;n=Ae.createCheck(n,e);const o=[];let i=0;for(const t of e)o[i++]=Te(t,r,n);return r.addBreakTokens?[new S(A.array,e.length),o,new S(A.break)]:[new S(A.array,e.length),o]},Object(e,t,r,n){const o="Object"!==t,i=o?e.keys():Object.keys(e),a=o?e.size:i.length;if(!a)return!0===r.addBreakTokens?[Se.emptyMap,new S(A.break)]:Se.emptyMap;n=Ae.createCheck(n,e);const s=[];let u=0;for(const t of i)s[u++]=[Te(t,r,n),Te(o?e.get(t):e[t],r,n)];return function(e,t){t.mapSorter&&e.sort(t.mapSorter)}(s,r),r.addBreakTokens?[new S(A.map,a),s,new S(A.break)]:[new S(A.map,a),s]}};$e.Map=$e.Object,$e.Buffer=$e.Uint8Array;for(const e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))$e[`${e}Array`]=$e.DataView;function Te(e,t={},r){const n=E(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||$e[n];if("function"==typeof o){const i=o(e,n,t,r);if(null!=i)return i}const i=$e[n];if(!i)throw new Error(`${P} unsupported type: ${n}`);return i(e,n,t,r)}const Me={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0};class Ve{constructor(e,t={}){this._pos=0,this.data=e,this.options=t}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){const e=this.data[this._pos];let t=Ee[e];if(void 0===t){const r=ve[e];if(!r)throw new Error(`${D} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);const n=31&e;t=r(this.data,this._pos,n,this.options)}return this._pos+=t.encodedLength,t}}const Ie=Symbol.for("DONE"),je=Symbol.for("BREAK");function Ue(e,t){if(e.done())return Ie;const r=e.next();if(r.type===A.break)return je;if(r.type.terminal)return r.value;if(r.type===A.array)return function(e,t,r){const n=[];for(let o=0;o<e.value;o++){const i=Ue(t,r);if(i===je){if(e.value===1/0)break;throw new Error(`${D} got unexpected break to lengthed array`)}if(i===Ie)throw new Error(`${D} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=i}return n}(r,e,t);if(r.type===A.map)return function(e,t,r){const n=!0===r.useMaps,o=n?void 0:{},i=n?new Map:void 0;for(let a=0;a<e.value;a++){const s=Ue(t,r);if(s===je){if(e.value===1/0)break;throw new Error(`${D} got unexpected break to lengthed map`)}if(s===Ie)throw new Error(`${D} found map but not enough entries (got ${a} [no key], expected ${e.value})`);if(!0!==n&&"string"!=typeof s)throw new Error(`${D} non-string keys not supported (got ${typeof s})`);if(!0===r.rejectDuplicateMapKeys&&(n&&i.has(s)||!n&&s in o))throw new Error(`${D} found repeat map key "${s}"`);const u=Ue(t,r);if(u===Ie)throw new Error(`${D} found map but not enough entries (got ${a} [no value], expected ${e.value})`);n?i.set(s,u):o[s]=u}return n?i:o}(r,e,t);if(r.type===A.tag){if(t.tags&&"function"==typeof t.tags[r.value]){const n=Ue(e,t);return t.tags[r.value](n)}throw new Error(`${D} tag not supported (${r.value})`)}throw new Error("unsupported")}function ke(e,t){const[r,n]=function(e,t){if(!(e instanceof Uint8Array))throw new Error(`${D} data to decode must be a Uint8Array`);const r=(t=Object.assign({},Me,t)).tokenizer||new Ve(e,t),n=Ue(r,t);if(n===Ie)throw new Error(`${D} did not find any content to decode`);if(n===je)throw new Error(`${D} got unexpected break`);return[n,e.subarray(r.pos())]}(e,t);if(n.length>0)throw new Error(`${D} too many terminals, data makes no sense`);return r}
|
|
18
|
+
/*!
|
|
19
|
+
* Copyright (c) 2023-2024 Digital Bazaar, Inc. All rights reserved.
|
|
20
|
+
*/const xe=new Uint8Array([217,93,1]),Be=[];function De({proof:e}={}){try{if("string"!=typeof e?.proofValue)throw new TypeError('"proof.proofValue" must be a string.');if("u"!==e.proofValue[0])throw new Error("Only base64url multibase encoding is supported.");const t=s(e.proofValue.slice(1));if(!function(e,t){for(let r=0;r<t.length;++r)if(e[r]!==t[r])return!1;return!0}(t,xe))throw new TypeError('"proof.proofValue" must be a derived proof.');const r=t.subarray(xe.length),[n,o,i,a,c]=ke(r,{useMaps:!0,tags:Be}),f=function(e){const t=new Map;for(const[r,n]of e.entries())t.set(`c14n${r}`,`u${u(n)}`);return t}(a),d={baseSignature:n,publicKey:o,signatures:i,labelMap:f,mandatoryIndexes:c};return function({baseSignature:e,publicKey:t,signatures:r,labelMap:n,mandatoryIndexes:o}){if(!(e instanceof Uint8Array&&64===e.length))throw new TypeError('"baseSignature" must be a Uint8Array of length 64.');if(!(t instanceof Uint8Array&&35===t.length))throw new TypeError('"publicKey" must be a Uint8Array of length 35.');if(!Array.isArray(r)||!r.every((e=>e instanceof Uint8Array)))throw new TypeError('"signatures" must be an array of Uint8Arrays.');if(!(n instanceof Map&&[...n.entries()].every((([e,t])=>"string"==typeof e&&"string"==typeof t))))throw new TypeError('"labelMap" must be a Map of strings to strings.');if(!Array.isArray(o)||!o.every(Number.isInteger))throw new TypeError('"mandatoryIndexes" must be an array of integers.')}(d),d}catch(e){const t=new TypeError('The proof does not include a valid "proofValue" property.');throw t.cause=e,t}}function Pe({proofHash:e,publicKey:t,mandatoryHash:r}={}){!function({proofHash:e,publicKey:t,mandatoryHash:r}){if(!(e instanceof Uint8Array&&32===e.length))throw new TypeError('"proofHash" must be a Uint8Array of length 32.');if(!(t instanceof Uint8Array&&35===t.length))throw new TypeError('"publicKey" must be a Uint8Array of length 35.');if(!(r instanceof Uint8Array&&32===r.length))throw new TypeError('"mandatoryHash" must be a Uint8Array of length 32.')}({proofHash:e,publicKey:t,mandatoryHash:r});return function(e){const t=new Uint8Array(e.reduce(((e,t)=>e+t.length),0));let r=0;for(const n of e)t.set(n,r),r+=n.length;return t}([e,t,r])}Be[64]=function(e){return e}
|
|
21
|
+
/*!
|
|
22
|
+
* Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
|
|
23
|
+
*/;const Ne="ecdsa-sd-2023";
|
|
24
|
+
/*!
|
|
25
|
+
* Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
|
|
26
|
+
*/
|
|
27
|
+
/*!
|
|
28
|
+
* Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
|
|
29
|
+
*/
|
|
30
|
+
function Le({requiredAlgorithm:e="P-256"}={}){return{name:Ne,requiredAlgorithm:e,createVerifier:Ce,createVerifyData:Ke}}async function Ce({verificationMethod:e}){const t=(await c(e)).verifier();return{algorithm:t.algorithm,id:t.id,verify:async({data:e})=>async function({verifier:e,data:t}={}){const{baseSignature:r,proofHash:n,publicKey:i,signatures:a,nonMandatory:s,mandatoryHash:u}=t,f="z"+o(i),d=await c({publicKeyMultibase:f});if(a.length!==s.length)throw new Error(`Signature count (${a.length}) does not match non-mandatory message count (${s.length}).`);const{verify:l}=d.verifier();if((await Promise.all(a.map(((e,t)=>l({data:y(s[t]),signature:e}))))).some((e=>!e)))return!1;const p=await Pe({proofHash:n,publicKey:i,mandatoryHash:u});return e.verify({data:p,signature:r})}
|
|
31
|
+
/*!
|
|
32
|
+
* Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
|
|
33
|
+
*/({verifier:t,data:e})}}async function Ke({cryptosuite:e,document:t,proof:r,documentLoader:n}){if(e?.name!==Ne)throw new TypeError(`"cryptosuite.name" must be "${Ne}".`);const o={documentLoader:n},i=m({document:t,proof:r,options:o}).catch((e=>e)),{baseSignature:a,publicKey:s,signatures:u,labelMap:c,mandatoryIndexes:f}=await De({proof:r}),d=await function({labelMap:e}={}){return async({canonicalIdMap:t})=>{const r=new Map;for(const[n,o]of t)r.set(n,e.get(o));return r}}({labelMap:c}),l=await g({document:t,labelMapFactoryFunction:d,options:o}),h=[],w=[];for(const[e,t]of l.entries())f.includes(e)?h.push(t):w.push(t);const{mandatoryHash:b}=await async function({mandatory:e,hasher:t}={}){return t||(t=p()),{mandatoryHash:await t.hash(y(e.join("")))}}({mandatory:h}),v=await i;if(v instanceof Error)throw v;return{baseSignature:a,proofHash:v,publicKey:s,signatures:u,nonMandatory:w,mandatoryHash:b}}const _e=self&&(self.crypto||self.msCrypto);async function ze({string:e}){const t=(new TextEncoder).encode(e);return new Uint8Array(await _e.subtle.digest("SHA-256",t))}
|
|
34
|
+
/*!
|
|
35
|
+
* Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
|
|
36
|
+
*/const{suites:{LinkedDataProof:Fe}}=n;class qe extends Fe{constructor({signer:e,date:t,cryptosuite:r,legacyContext:n=!1}={}){super({type:"DataIntegrityProof"});const{canonize:o,createVerifier:i,name:a,requiredAlgorithm:s,derive:u,createProofValue:c,createVerifyData:f}=r;if(!i||"function"!=typeof i)throw new TypeError('"cryptosuite.createVerifier" must be a function.');if(u&&"function"!=typeof u)throw new TypeError('"cryptosuite.derive" must be a function.');if(c&&"function"!=typeof c)throw new TypeError('"cryptosuite.createProofValue" must be a function.');if(f&&"function"!=typeof f)throw new TypeError('"cryptosuite.createVerifyData" must be a function.');if(this.contextUrl="https://w3id.org/security/data-integrity/v2",n&&(this.contextUrl="https://w3id.org/security/data-integrity/v1"),this.canonize=o,this.createVerifier=i,this.cryptosuite=a,this._cryptosuite=r,this.requiredAlgorithm=s,t){if(this.date=new Date(t),isNaN(this.date))throw TypeError(`"date" "${t}" is not a valid date.`)}else null===t&&(this.date=null);const d=function({signer:e,requiredAlgorithm:t}){const r={verificationMethod:void 0,signer:void 0};if(!e)return r;if("function"!=typeof e.sign)throw new TypeError("A signer API has not been specified.");const n=Array.isArray(t)?t.includes(e.algorithm):t===e.algorithm;if(!n){const r=Array.isArray(t)?t.join(", "):t,n=Array.isArray(t)?`is not a supported algorithm for the cryptosuite. The supported algorithms are: "${r}".`:`does not match the required algorithm for the cryptosuite "${r}".`,o=`The signer's algorithm "${e.algorithm}" ${n}`;throw new Error(o)}return r.signer=e,r.verificationMethod=e.id,r}({signer:e,requiredAlgorithm:s});this.verificationMethod=d.verificationMethod,this.signer=d.signer}async sign({verifyData:e,proof:t}){if(!this.signer||"function"!=typeof this.signer.sign)throw new Error("A signer API has not been specified.");const r=await this.signer.sign({data:e});return t.proofValue="z"+o(r),t}async verifySignature({verifyData:e,verificationMethod:t,proof:r}){const n=await this.createVerifier({verificationMethod:t});if(!(Array.isArray(this.requiredAlgorithm)?this.requiredAlgorithm.includes(n.algorithm):this.requiredAlgorithm===n.algorithm)){const e=Array.isArray(this.requiredAlgorithm)?this.requiredAlgorithm.join(", "):this.requiredAlgorithm,t=Array.isArray(this.requiredAlgorithm)?`is not a supported algorithm for the cryptosuite. The supported algorithms are: "${e}".`:`does not match the required algorithm for the cryptosuite "${e}".`,r=`The verifier's algorithm "${n.algorithm}" ${t}`;throw new Error(r)}const{proofValue:o}=r;if(!o||"string"!=typeof o)throw new TypeError('The proof does not include a valid "proofValue" property.');const a=o[0];let u;if("z"===a)u=i(o.slice(1));else{if("u"!==a)throw new Error("Only base58btc or base64url multibase encoding is supported.");u=s(o.slice(1))}return n.verify({data:e,signature:u})}async createProof({document:e,purpose:t,proofSet:r,documentLoader:n}){let o;o=this.proof?{...this.proof}:{},o.type=this.type;let i,a=this.date;return void 0===o.created&&void 0===a&&(a=new Date),a&&"string"!=typeof a&&(a=(e=>(null==e?e=new Date:"number"!=typeof e&&"string"!=typeof e||(e=new Date(e)),e.toISOString().slice(0,-5)+"Z"))(a)),a&&(o.created=a),o.verificationMethod=this.verificationMethod,o.cryptosuite=this.cryptosuite,o=await this.updateProof({document:e,proof:o,purpose:t,proofSet:r,documentLoader:n}),o=await t.update(o,{document:e,suite:this,documentLoader:n}),i=this._cryptosuite.createVerifyData?await this._cryptosuite.createVerifyData({cryptosuite:this._cryptosuite,document:e,proof:o,proofSet:r,documentLoader:n,dataIntegrityProof:this}):await this.createVerifyData({document:e,proof:o,proofSet:r,documentLoader:n}),this._cryptosuite.createProofValue?o.proofValue=await this._cryptosuite.createProofValue({cryptosuite:this._cryptosuite,verifyData:i,document:e,proof:o,proofSet:r,documentLoader:n,dataIntegrityProof:this}):o=await this.sign({verifyData:i,document:e,proof:o,proofSet:r,documentLoader:n}),o}async derive({document:e,purpose:t,proofSet:r,documentLoader:n}){if(!this._cryptosuite.derive)throw new Error('"cryptosuite.derive" not provided.');return this._cryptosuite.derive({cryptosuite:this._cryptosuite,document:e,purpose:t,proofSet:r,documentLoader:n,dataIntegrityProof:this})}async updateProof({proof:e}){return e}async verifyProof({proof:e,proofSet:t,document:r,documentLoader:n}){try{let o;o=this._cryptosuite.createVerifyData?await this._cryptosuite.createVerifyData({cryptosuite:this._cryptosuite,document:r,proof:e,proofSet:t,documentLoader:n,dataIntegrityProof:this}):await this.createVerifyData({document:r,proof:e,proofSet:t,documentLoader:n});const i=await this.getVerificationMethod({proof:e,documentLoader:n});if(!await this.verifySignature({verifyData:o,verificationMethod:i,proof:e}))throw new Error("Invalid signature.");return{verified:!0,verificationMethod:i}}catch(e){return{verified:!1,error:e}}}async createVerifyData({document:e,proof:t,documentLoader:r}){let n;const{_hashCache:o}=this;o&&o.document===e?n=o.hash:this._hashCache={document:e,hash:n=this.canonize(e,{documentLoader:r}).then((e=>ze({string:e})))};const[i,a]=await Promise.all([this.canonizeProof(t,{document:e,documentLoader:r}).then((e=>ze({string:e}))),n]);return((e,t)=>{const r=new Uint8Array(e.length+t.length);return r.set(e,0),r.set(t,e.length),r})(i,a)}async getVerificationMethod({proof:e,documentLoader:t}){let{verificationMethod:r}=e;if("object"==typeof r&&(r=r.id),!r)throw new Error('No "verificationMethod" found in proof.');const n=await t(r);if(!n)throw new Error(`Unable to load verification method "${r}".`);const{document:o}=n;return r="string"==typeof o?JSON.parse(o):o,r}async canonizeProof(e,{documentLoader:t,document:r}){return e={"@context":r["@context"],...e},this.ensureSuiteContext({document:e,addSuiteContext:!0}),delete e.proofValue,this.canonize(e,{documentLoader:t,skipExpansion:!1})}async matchProof({proof:e}){const{type:t,cryptosuite:r}=e;return t===this.type&&r===this.cryptosuite}ensureSuiteContext({document:e,addSuiteContext:t}){const{contextUrl:r}=this;if(Oe({document:e,contextUrl:r})||Oe({document:e,contextUrl:"https://www.w3.org/ns/credentials/v2"}))return;if(!t)throw new TypeError(`The document to be signed must contain this suite's @context, "${r}".`);const n=e["@context"]||[];e["@context"]=Array.isArray(n)?[...n,r]:[n,r]}}function Oe({document:e,contextUrl:t}){const r=e["@context"];return r===t||Array.isArray(r)&&r.includes(t)}const{purposes:{AssertionProofPurpose:He}}=n;var Re;!function(e){e.retrieveVerificationMethodPublicKey="retrieveVerificationMethodPublicKey",e.checkDocumentSignature="checkDocumentSignature"}(Re||(Re={}));class Ge extends f{verificationProcess=[Re.retrieveVerificationMethodPublicKey,Re.checkDocumentSignature];documentToVerify;issuer;proof;type="EcdsaSd2023";cryptosuite="ecdsa-sd-2023";publicKey;verificationKey;constructor(e){super(e),e.executeStep&&(this.executeStep=e.executeStep),this.documentToVerify=e.document,this.issuer=e.issuer,this.proof=e.proof,this.validateProofType()}async init(){}async verifyProof(){for(const e of this.verificationProcess){if(!this[e])return void console.error("verification logic for",e,"not implemented");await this[e]()}}async verifyIdentity(){}getProofVerificationSteps(t){return this.verificationProcess.map((r=>e.verifier.convertToVerificationSubsteps(t,r)))}getIdentityVerificationSteps(){return[]}getIssuerPublicKey(){return this.publicKey}getIssuerName(){return this.issuer.name??""}getIssuerProfileDomain(){try{return new URL(this.getIssuerProfileUrl()).hostname??""}catch(e){return""}}getIssuerProfileUrl(){return this.issuer.id??""}getSigningDate(){return this.proof.created}async executeStep(e,t,r){throw new Error("doAction method needs to be overwritten by injecting from CVJS")}validateProofType(){const e=this.proof.type;if("DataIntegrityProof"!==e){if(e!==this.type)throw new Error(`Incompatible proof type passed. Expected: ${this.type}, Got: ${e}`)}else{const e=this.proof.cryptosuite;if(!e)throw new Error(`Malformed proof passed. With DataIntegrityProof a cryptosuite must be defined. Expected: ${this.cryptosuite}`);if(e!==this.cryptosuite)throw new Error(`Incompatible proof cryptosuite passed. Expected: ${this.cryptosuite}, Got: ${e}`)}}generateDocumentLoader(e=[]){e.forEach((e=>{t[e.url]=e.value})),t[this.documentToVerify.issuer]=this.getTargetVerificationMethodContainer();return function(e){return e in t?{contextUrl:null,document:t[e],documentUrl:e}:a.documentLoader(e)}}getErrorMessage(e){return e.results[0].error.cause.message}getTargetVerificationMethodContainer(){return this.issuer.didDocument??this.issuer}async retrieveVerificationMethodPublicKey(){this.verificationKey=await this.executeStep(Re.retrieveVerificationMethodPublicKey,(async()=>{const e=d(this.getTargetVerificationMethodContainer(),this.proof.verificationMethod);if(!e)throw new r(Re.retrieveVerificationMethodPublicKey,"Could not derive the verification key");if(e.revoked)throw new r(Re.retrieveVerificationMethodPublicKey,"The verification key has been revoked");return e}),this.type)}async checkDocumentSignature(){await this.executeStep(Re.checkDocumentSignature,(async()=>{const e=new qe({cryptosuite:Le({requiredAlgorithm:"K-256"})}),t=this.documentToVerify.proof.verificationMethod,o=await n.verify(this.documentToVerify,{suite:e,purpose:new He,documentLoader:this.generateDocumentLoader([{url:t,value:this.verificationKey}])});if(!o.verified)throw console.error(JSON.stringify(o,null,2)),new r(Re.checkDocumentSignature,`The document's ${this.type} signature could not be confirmed: ${this.getErrorMessage(o)}`);console.log(`Credential ${this.type} signature successfully verified`)}),this.type)}}export{Ge as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as t,t as e,p as i,B as r,d as n,h as o,f as s,V as a,u as h,v as u,w as c,g as l}from"./main.js";import{d as f,e as d,j as p}from"./index-VOqA2-xz-CKqwdkuf.js";import{j as _}from"./jsonld-BpvX3DRL-qZrjsUmJ.js";import{s as y,a as b,e as g,d as w,r as v,k as m,b as S,f as E}from"./index-WN144sZ6-DKm58evR.js";import{r as k,i as R}from"./elliptic-6eMlPaPZ-CGOSt2J1.js";import{S as T}from"./Suite-B7Vy9AuU-D1ucdMDB.js";import"./pako.esm-DnD5dZGi-Bw1vqMku.js";import"./sha256-D_qJpPFT-BYFBxJ7m.js";import"./index-CWugL4dz-Dgus2xdV.js";import{r as M}from"./retrieveVerificationMethodPublicKey-fVSjg83n-B4VhVtVk.js";var x,L,D={exports:{}},O={},I=h(u),B=I.EventEmitter;function C(t,e){A(t,e),P(t)}function P(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function A(t,e){t.emit("error",e)}var K={destroy:function(t,i){var r=this,n=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return n||o?(i?i(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,e(A,this,t)):e(A,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!i&&t?r._writableState?r._writableState.errorEmitted?e(P,r):(r._writableState.errorEmitted=!0,e(C,r,t)):e(C,r,t):i?(e(P,r),i(t)):e(P,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var i=t._readableState,r=t._writableState;i&&i.autoDestroy||r&&r.autoDestroy?t.destroy(e):t.emit("error",e)}},j={};var N={};function U(t,e,i){i||(i=Error);var r=function(t){var i,r;function n(i,r,n){return t.call(this,function(t,i,r){return"string"==typeof e?e:e(t,i,r)}(i,r,n))||this}return r=t,(i=n).prototype=Object.create(r.prototype),i.prototype.constructor=i,i.__proto__=r,n}(i);r.prototype.name=i.name,r.prototype.code=t,N[t]=r}function V(t,e){if(Array.isArray(t)){var i=t.length;return t=t.map((function(t){return String(t)})),i>2?"one of ".concat(e," ").concat(t.slice(0,i-1).join(", "),", or ")+t[i-1]:2===i?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}U("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),U("ERR_INVALID_ARG_TYPE",(function(t,e,i){var r,n,o;if("string"==typeof e&&(n="not ",e.substr(0,n.length)===n)?(r="must not be",e=e.replace(/^not /,"")):r="must be",function(t,e,i){return(void 0===i||i>t.length)&&(i=t.length),t.substring(i-e.length,i)===e}(t," argument"))o="The ".concat(t," ").concat(r," ").concat(V(e,"type"));else{var s=function(t,e,i){return"number"!=typeof i&&(i=0),!(i+e.length>t.length)&&-1!==t.indexOf(e,i)}(t,".")?"property":"argument";o='The "'.concat(t,'" ').concat(s," ").concat(r," ").concat(V(e,"type"))}return o+=". Received type ".concat(typeof i)}),TypeError),U("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),U("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),U("ERR_STREAM_PREMATURE_CLOSE","Premature close"),U("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),U("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),U("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),U("ERR_STREAM_WRITE_AFTER_END","write after end"),U("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),U("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),U("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),j.codes=N;var q=j.codes.ERR_INVALID_OPT_VALUE;var W,F={getHighWaterMark:function(t,e,i,r){var n=function(t,e,i){return null!=t.highWaterMark?t.highWaterMark:e?t[i]:null}(e,r,i);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new q(r?i:"highWaterMark",n);return Math.floor(n)}return t.objectMode?16:16384}},H={};function z(){if(W)return H;W=1;var t=y.Buffer,e=t.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(i){var r;switch(this.encoding=function(i){var r=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(i);if("string"!=typeof r&&(t.isEncoding===e||!e(i)))throw new Error("Unknown encoding: "+i);return r||i}(i),this.encoding){case"utf16le":this.text=o,this.end=s,r=4;break;case"utf8":this.fillLast=n,r=4;break;case"base64":this.text=a,this.end=h,r=3;break;default:return this.write=u,void(this.end=c)}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(r)}function r(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function n(t){var e=this.lastTotal-this.lastNeed,i=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==i?i:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function o(t,e){if((t.length-e)%2==0){var i=t.toString("utf16le",e);if(i){var r=i.charCodeAt(i.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],i.slice(0,-1)}return i}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function s(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var i=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,i)}return e}function a(t,e){var i=(t.length-e)%3;return 0===i?t.toString("base64",e):(this.lastNeed=3-i,this.lastTotal=3,1===i?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-i))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function u(t){return t.toString(this.encoding)}function c(t){return t&&t.length?this.write(t):""}return H.StringDecoder=i,i.prototype.write=function(t){if(0===t.length)return"";var e,i;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";i=this.lastNeed,this.lastNeed=0}else i=0;return i<t.length?e?e+this.text(t,i):this.text(t,i):e||""},i.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},i.prototype.text=function(t,e){var i=function(t,e,i){var n=e.length-1;if(n<i)return 0;var o=r(e[n]);if(o>=0)return o>0&&(t.lastNeed=o-1),o;if(--n<i||-2===o)return 0;if(o=r(e[n]),o>=0)return o>0&&(t.lastNeed=o-2),o;if(--n<i||-2===o)return 0;if(o=r(e[n]),o>=0)return o>0&&(2===o?o=0:t.lastNeed=o-3),o;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=i;var n=t.length-(i-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},i.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length},H}var $=j.codes.ERR_STREAM_PREMATURE_CLOSE;function X(){}var G,J,Y,Z,Q=function t(e,i,r){if("function"==typeof i)return t(e,null,i);i||(i={}),r=function(t){var e=!1;return function(){if(!e){e=!0;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];t.apply(this,r)}}}(r||X);var n=i.readable||!1!==i.readable&&e.readable,o=i.writable||!1!==i.writable&&e.writable,s=function(){e.writable||h()},a=e._writableState&&e._writableState.finished,h=function(){o=!1,a=!0,n||r.call(e)},u=e._readableState&&e._readableState.endEmitted,c=function(){n=!1,u=!0,o||r.call(e)},l=function(t){r.call(e,t)},f=function(){var t;return n&&!u?(e._readableState&&e._readableState.ended||(t=new $),r.call(e,t)):o&&!a?(e._writableState&&e._writableState.ended||(t=new $),r.call(e,t)):void 0},d=function(){e.req.on("finish",h)};return!function(t){return t.setHeader&&"function"==typeof t.abort}(e)?o&&!e._writableState&&(e.on("end",s),e.on("close",s)):(e.on("complete",h),e.on("abort",f),e.req?d():e.on("request",d)),e.on("end",c),e.on("finish",h),!1!==i.error&&e.on("error",l),e.on("close",f),function(){e.removeListener("complete",h),e.removeListener("abort",f),e.removeListener("request",d),e.req&&e.req.removeListener("finish",h),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",h),e.removeListener("end",c),e.removeListener("error",l),e.removeListener("close",f)}};function tt(){if(J)return G;var t;function i(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}J=1;var r=Q,n=Symbol("lastResolve"),o=Symbol("lastReject"),s=Symbol("error"),a=Symbol("ended"),h=Symbol("lastPromise"),u=Symbol("handlePromise"),c=Symbol("stream");function l(t,e){return{value:t,done:e}}function f(t){var e=t[n];if(null!==e){var i=t[c].read();null!==i&&(t[h]=null,t[n]=null,t[o]=null,e(l(i,!1)))}}function d(t){e(f,t)}var p=Object.getPrototypeOf((function(){})),_=Object.setPrototypeOf((i(t={get stream(){return this[c]},next:function(){var t=this,i=this[s];if(null!==i)return Promise.reject(i);if(this[a])return Promise.resolve(l(void 0,!0));if(this[c].destroyed)return new Promise((function(i,r){e((function(){t[s]?r(t[s]):i(l(void 0,!0))}))}));var r,n=this[h];if(n)r=new Promise(function(t,e){return function(i,r){t.then((function(){e[a]?i(l(void 0,!0)):e[u](i,r)}),r)}}(n,this));else{var o=this[c].read();if(null!==o)return Promise.resolve(l(o,!1));r=new Promise(this[u])}return this[h]=r,r}},Symbol.asyncIterator,(function(){return this})),i(t,"return",(function(){var t=this;return new Promise((function(e,i){t[c].destroy(null,(function(t){t?i(t):e(l(void 0,!0))}))}))})),t),p);return G=function(t){var e,f=Object.create(_,(i(e={},c,{value:t,writable:!0}),i(e,n,{value:null,writable:!0}),i(e,o,{value:null,writable:!0}),i(e,s,{value:null,writable:!0}),i(e,a,{value:t._readableState.endEmitted,writable:!0}),i(e,u,{value:function(t,e){var i=f[c].read();i?(f[h]=null,f[n]=null,f[o]=null,t(l(i,!1))):(f[n]=t,f[o]=e)},writable:!0}),e));return f[h]=null,r(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=f[o];return null!==e&&(f[h]=null,f[n]=null,f[o]=null,e(t)),void(f[s]=t)}var i=f[n];null!==i&&(f[h]=null,f[n]=null,f[o]=null,i(l(void 0,!0))),f[a]=!0})),t.on("readable",d.bind(null,f)),f}}const et=O;et.Readable=St,St.ReadableState=mt,I.EventEmitter;var it=function(t,e){return t.listeners(e).length},rt=B,nt=k.Buffer,ot=t.Uint8Array||function(){};var st,at=v;st=at&&at.debuglog?at.debuglog("stream"):function(){};var ht,ut,ct,lt=function(){if(L)return x;function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,r)}return i}function e(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function i(t,e,i){return e&&function(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}(t.prototype,e),t}L=1;var r=k.Buffer,n=v.inspect,o=n&&n.custom||"inspect";return x=function(){function s(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),this.head=null,this.tail=null,this.length=0}return i(s,[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,i=""+e.data;e=e.next;)i+=t+e.data;return i}},{key:"concat",value:function(t){if(0===this.length)return r.alloc(0);for(var e,i,n,o=r.allocUnsafe(t>>>0),s=this.head,a=0;s;)e=s.data,i=o,n=a,r.prototype.copy.call(e,i,n),a+=s.data.length,s=s.next;return o}},{key:"consume",value:function(t,e){var i;return t<this.head.data.length?(i=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):i=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),i}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,i=1,r=e.data;for(t-=r.length;e=e.next;){var n=e.data,o=t>n.length?n.length:t;if(o===n.length?r+=n:r+=n.slice(0,t),0===(t-=o)){o===n.length?(++i,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++i}return this.length-=i,r}},{key:"_getBuffer",value:function(t){var e=r.allocUnsafe(t),i=this.head,n=1;for(i.data.copy(e),t-=i.data.length;i=i.next;){var o=i.data,s=t>o.length?o.length:t;if(o.copy(e,e.length-t,0,s),0===(t-=s)){s===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++n}return this.length-=n,e}},{key:o,value:function(i,r){return n(this,function(i){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?t(Object(n),!0).forEach((function(t){e(i,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(n,t))}))}return i}({},r,{depth:0,customInspect:!1}))}}]),s}(),x}(),ft=K,dt=F.getHighWaterMark,pt=j.codes,_t=pt.ERR_INVALID_ARG_TYPE,yt=pt.ERR_STREAM_PUSH_AFTER_EOF,bt=pt.ERR_METHOD_NOT_IMPLEMENTED,gt=pt.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;R(St,rt);var wt=ft.errorOrDestroy,vt=["error","close","destroy","pause","resume"];function mt(t,e,i){t=t||{},"boolean"!=typeof i&&(i=e instanceof et.Duplex),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=dt(this,t,"readableHighWaterMark",i),this.buffer=new lt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(ht||(ht=z().StringDecoder),this.decoder=new ht(t.encoding),this.encoding=t.encoding)}function St(t){if(!(this instanceof St))return new St(t);var e=this instanceof et.Duplex;this._readableState=new mt(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),rt.call(this)}function Et(t,e,i,r,n){st("readableAddChunk",e);var o,s=t._readableState;if(null===e)s.reading=!1,function(t,e){if(st("onEofChunk"),e.ended)return;if(e.decoder){var i=e.decoder.end();i&&i.length&&(e.buffer.push(i),e.length+=e.objectMode?1:i.length)}e.ended=!0,e.sync?Mt(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,xt(t)))}(t,s);else if(n||(o=function(t,e){var i;r=e,nt.isBuffer(r)||r instanceof ot||"string"==typeof e||void 0===e||t.objectMode||(i=new _t("chunk",["string","Buffer","Uint8Array"],e));var r;return i}(s,e)),o)wt(t,o);else if(s.objectMode||e&&e.length>0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===nt.prototype||(e=function(t){return nt.from(t)}(e)),r)s.endEmitted?wt(t,new gt):kt(t,s,e,!0);else if(s.ended)wt(t,new yt);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!i?(e=s.decoder.write(e),s.objectMode||0!==e.length?kt(t,s,e,!1):Lt(t,s)):kt(t,s,e,!1)}else r||(s.reading=!1,Lt(t,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function kt(t,e,i,r){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",i)):(e.length+=e.objectMode?1:i.length,r?e.buffer.unshift(i):e.buffer.push(i),e.needReadable&&Mt(t)),Lt(t,e)}Object.defineProperty(St.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),St.prototype.destroy=ft.destroy,St.prototype._undestroy=ft.undestroy,St.prototype._destroy=function(t,e){e(t)},St.prototype.push=function(t,e){var i,r=this._readableState;return r.objectMode?i=!0:"string"==typeof t&&((e=e||r.defaultEncoding)!==r.encoding&&(t=nt.from(t,e),e=""),i=!0),Et(this,t,e,!1,i)},St.prototype.unshift=function(t){return Et(this,t,null,!0,!1)},St.prototype.isPaused=function(){return!1===this._readableState.flowing},St.prototype.setEncoding=function(t){ht||(ht=z().StringDecoder);var e=new ht(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var i=this._readableState.buffer.head,r="";null!==i;)r+=e.write(i.data),i=i.next;return this._readableState.buffer.clear(),""!==r&&this._readableState.buffer.push(r),this._readableState.length=r.length,this};var Rt=1073741824;function Tt(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=Rt?t=Rt:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function Mt(t){var i=t._readableState;st("emitReadable",i.needReadable,i.emittedReadable),i.needReadable=!1,i.emittedReadable||(st("emitReadable",i.flowing),i.emittedReadable=!0,e(xt,t))}function xt(t){var e=t._readableState;st("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,Ct(t)}function Lt(t,i){i.readingMore||(i.readingMore=!0,e(Dt,t,i))}function Dt(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var i=e.length;if(st("maybeReadMore read 0"),t.read(0),i===e.length)break}e.readingMore=!1}function Ot(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function It(t){st("readable nexttick read 0"),t.read(0)}function Bt(t,e){st("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),Ct(t),e.flowing&&!e.reading&&t.read(0)}function Ct(t){var e=t._readableState;for(st("flow",e.flowing);e.flowing&&null!==t.read(););}function Pt(t,e){return 0===e.length?null:(e.objectMode?i=e.buffer.shift():!t||t>=e.length?(i=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):i=e.buffer.consume(t,e.decoder),i);var i}function At(t){var i=t._readableState;st("endReadable",i.endEmitted),i.endEmitted||(i.ended=!0,e(Kt,i,t))}function Kt(t,e){if(st("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var i=e._writableState;(!i||i.autoDestroy&&i.finished)&&e.destroy()}}function jt(t,e){for(var i=0,r=t.length;i<r;i++)if(t[i]===e)return i;return-1}St.prototype.read=function(t){st("read",t),t=parseInt(t,10);var e=this._readableState,i=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return st("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?At(this):Mt(this),null;if(0===(t=Tt(t,e))&&e.ended)return 0===e.length&&At(this),null;var r,n=e.needReadable;return st("need readable",n),(0===e.length||e.length-t<e.highWaterMark)&&st("length less than watermark",n=!0),e.ended||e.reading?st("reading or ended",n=!1):n&&(st("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=Tt(i,e))),null===(r=t>0?Pt(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),i!==t&&e.ended&&At(this)),null!==r&&this.emit("data",r),r},St.prototype._read=function(t){wt(this,new bt("_read()"))},St.prototype.pipe=function(t,r){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,st("pipe count=%d opts=%j",o.pipesCount,r);var s=(!r||!1!==r.end)&&t!==i.stdout&&t!==i.stderr?h:_;function a(e,i){st("onunpipe"),e===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,st("cleanup"),t.removeListener("close",d),t.removeListener("finish",p),t.removeListener("drain",u),t.removeListener("error",f),t.removeListener("unpipe",a),n.removeListener("end",h),n.removeListener("end",_),n.removeListener("data",l),c=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}function h(){st("onend"),t.end()}o.endEmitted?e(s):n.once("end",s),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;st("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&it(t,"data")&&(e.flowing=!0,Ct(t))}}(n);t.on("drain",u);var c=!1;function l(e){st("ondata");var i=t.write(e);st("dest.write",i),!1===i&&((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==jt(o.pipes,t))&&!c&&(st("false write response, pause",o.awaitDrain),o.awaitDrain++),n.pause())}function f(e){st("onerror",e),_(),t.removeListener("error",f),0===it(t,"error")&&wt(t,e)}function d(){t.removeListener("finish",p),_()}function p(){st("onfinish"),t.removeListener("close",d),_()}function _(){st("unpipe"),n.unpipe(t)}return n.on("data",l),function(t,e,i){if("function"==typeof t.prependListener)return t.prependListener(e,i);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(i):t._events[e]=[i,t._events[e]]:t.on(e,i)}(t,"error",f),t.once("close",d),t.once("finish",p),t.emit("pipe",n),o.flowing||(st("pipe resume"),n.resume()),t},St.prototype.unpipe=function(t){var e=this._readableState,i={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,i)),this;if(!t){var r=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<n;o++)r[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=jt(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,i)),this},St.prototype.on=function(t,i){var r=rt.prototype.on.call(this,t,i),n=this._readableState;return"data"===t?(n.readableListening=this.listenerCount("readable")>0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,st("on readable",n.length,n.reading),n.length?Mt(this):n.reading||e(It,this))),r},St.prototype.addListener=St.prototype.on,St.prototype.removeListener=function(t,i){var r=rt.prototype.removeListener.call(this,t,i);return"readable"===t&&e(Ot,this),r},St.prototype.removeAllListeners=function(t){var i=rt.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||e(Ot,this),i},St.prototype.resume=function(){var t=this._readableState;return t.flowing||(st("resume"),t.flowing=!t.readableListening,function(t,i){i.resumeScheduled||(i.resumeScheduled=!0,e(Bt,t,i))}(this,t)),t.paused=!1,this},St.prototype.pause=function(){return st("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(st("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},St.prototype.wrap=function(t){var e=this,i=this._readableState,r=!1;for(var n in t.on("end",(function(){if(st("wrapped end"),i.decoder&&!i.ended){var t=i.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){(st("wrapped data"),i.decoder&&(n=i.decoder.write(n)),i.objectMode&&null==n)||(i.objectMode||n&&n.length)&&(e.push(n)||(r=!0,t.pause()))})),t)void 0===this[n]&&"function"==typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o<vt.length;o++)t.on(vt[o],this.emit.bind(this,vt[o]));return this._read=function(e){st("wrapped _read",e),r&&(r=!1,t.resume())},this},"function"==typeof Symbol&&(St.prototype[Symbol.asyncIterator]=function(){return void 0===ut&&(ut=tt()),ut(this)}),Object.defineProperty(St.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(St.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(St.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),St._fromList=Pt,Object.defineProperty(St.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(St.from=function(t,e){return void 0===ct&&(ct=Z?Y:(Z=1,Y=function(){throw new Error("Readable.from is not available in the browser")})),ct(St,t,e)});var Nt=function(t,e){if(Ut("noDeprecation"))return t;var i=!1;return function(){if(!i){if(Ut("throwDeprecation"))throw new Error(e);Ut("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}};function Ut(e){try{if(!t.localStorage)return!1}catch(t){return!1}var i=t.localStorage[e];return null!=i&&"true"===String(i).toLowerCase()}const Vt=O;function qt(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,i){var r=t.entry;t.entry=null;for(;r;){var n=r.callback;e.pendingcb--,n(i),r=r.next}e.corkedRequestsFree.next=t}(e,t)}}Vt.Writable=he,he.WritableState=ae;var Wt={deprecate:Nt},Ft=B,Ht=k.Buffer,zt=t.Uint8Array||function(){};var $t,Xt=K,Gt=F.getHighWaterMark,Jt=j.codes,Yt=Jt.ERR_INVALID_ARG_TYPE,Zt=Jt.ERR_METHOD_NOT_IMPLEMENTED,Qt=Jt.ERR_MULTIPLE_CALLBACK,te=Jt.ERR_STREAM_CANNOT_PIPE,ee=Jt.ERR_STREAM_DESTROYED,ie=Jt.ERR_STREAM_NULL_VALUES,re=Jt.ERR_STREAM_WRITE_AFTER_END,ne=Jt.ERR_UNKNOWN_ENCODING,oe=Xt.errorOrDestroy;function se(){}function ae(t,i,r){t=t||{},"boolean"!=typeof r&&(r=i instanceof Vt.Duplex),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Gt(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=!1===t.decodeStrings;this.decodeStrings=!n,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,i){var r=t._writableState,n=r.sync,o=r.writecb;if("function"!=typeof o)throw new Qt;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),i)!function(t,i,r,n,o){--i.pendingcb,r?(e(o,n),e(pe,t,i),t._writableState.errorEmitted=!0,oe(t,n)):(o(n),t._writableState.errorEmitted=!0,oe(t,n),pe(t,i))}(t,r,n,i,o);else{var s=fe(r)||t.destroyed;s||r.corked||r.bufferProcessing||!r.bufferedRequest||le(t,r),n?e(ce,t,r,s,o):ce(t,r,s,o)}}(i,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new qt(this)}function he(t){var e=this instanceof Vt.Duplex;if(!e&&!$t.call(he,this))return new he(t);this._writableState=new ae(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),Ft.call(this)}function ue(t,e,i,r,n,o,s){e.writelen=r,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new ee("write")):i?t._writev(n,e.onwrite):t._write(n,o,e.onwrite),e.sync=!1}function ce(t,e,i,r){i||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,r(),pe(t,e)}function le(t,e){e.bufferProcessing=!0;var i=e.bufferedRequest;if(t._writev&&i&&i.next){var r=e.bufferedRequestCount,n=new Array(r),o=e.corkedRequestsFree;o.entry=i;for(var s=0,a=!0;i;)n[s]=i,i.isBuf||(a=!1),i=i.next,s+=1;n.allBuffers=a,ue(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new qt(e),e.bufferedRequestCount=0}else{for(;i;){var h=i.chunk,u=i.encoding,c=i.callback;if(ue(t,e,!1,e.objectMode?1:h.length,h,u,c),i=i.next,e.bufferedRequestCount--,e.writing)break}null===i&&(e.lastBufferedRequest=null)}e.bufferedRequest=i,e.bufferProcessing=!1}function fe(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function de(t,e){t._final((function(i){e.pendingcb--,i&&oe(t,i),e.prefinished=!0,t.emit("prefinish"),pe(t,e)}))}function pe(t,i){var r=fe(i);if(r&&(function(t,i){i.prefinished||i.finalCalled||("function"!=typeof t._final||i.destroyed?(i.prefinished=!0,t.emit("prefinish")):(i.pendingcb++,i.finalCalled=!0,e(de,t,i)))}(t,i),0===i.pendingcb&&(i.finished=!0,t.emit("finish"),i.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return r}R(he,Ft),ae.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(ae.prototype,"buffer",{get:Wt.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?($t=Function.prototype[Symbol.hasInstance],Object.defineProperty(he,Symbol.hasInstance,{value:function(t){return!!$t.call(this,t)||this===he&&(t&&t._writableState instanceof ae)}})):$t=function(t){return t instanceof this},he.prototype.pipe=function(){oe(this,new te)},he.prototype.write=function(t,i,r){var n,o=this._writableState,s=!1,a=!o.objectMode&&(n=t,Ht.isBuffer(n)||n instanceof zt);return a&&!Ht.isBuffer(t)&&(t=function(t){return Ht.from(t)}(t)),"function"==typeof i&&(r=i,i=null),a?i="buffer":i||(i=o.defaultEncoding),"function"!=typeof r&&(r=se),o.ending?function(t,i){var r=new re;oe(t,r),e(i,r)}(this,r):(a||function(t,i,r,n){var o;return null===r?o=new ie:"string"==typeof r||i.objectMode||(o=new Yt("chunk",["string","Buffer"],r)),!o||(oe(t,o),e(n,o),!1)}(this,o,t,r))&&(o.pendingcb++,s=function(t,e,i,r,n,o){if(!i){var s=function(t,e,i){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=Ht.from(e,i));return e}(e,r,n);r!==s&&(i=!0,n="buffer",r=s)}var a=e.objectMode?1:r.length;e.length+=a;var h=e.length<e.highWaterMark;h||(e.needDrain=!0);if(e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:r,encoding:n,isBuf:i,callback:o,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else ue(t,e,!1,a,r,n,o);return h}(this,o,a,t,i,r)),s},he.prototype.cork=function(){this._writableState.corked++},he.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||le(this,t))},he.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new ne(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(he.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(he.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),he.prototype._write=function(t,e,i){i(new Zt("_write()"))},he.prototype._writev=null,he.prototype.end=function(t,i,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,i=null):"function"==typeof i&&(r=i,i=null),null!=t&&this.write(t,i),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,i,r){i.ending=!0,pe(t,i),r&&(i.finished?e(r):t.once("finish",r));i.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(he.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(he.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),he.prototype.destroy=Xt.destroy,he.prototype._undestroy=Xt.undestroy,he.prototype._destroy=function(t,e){e(t)};var _e=Object.keys||function(t){var e=[];for(var i in t)e.push(i);return e};const ye=O;ye.Duplex=ve,R(ve,ye.Readable);for(var be=_e(ye.Writable.prototype),ge=0;ge<be.length;ge++){var we=be[ge];ve.prototype[we]||(ve.prototype[we]=ye.Writable.prototype[we])}function ve(t){if(!(this instanceof ve))return new ve(t);ye.Readable.call(this,t),ye.Writable.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",me)))}function me(){this._writableState.ended||e(Se,this)}function Se(t){t.end()}Object.defineProperty(ve.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(ve.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(ve.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(ve.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}});const Ee=O;Ee.Transform=De;var ke=j.codes,Re=ke.ERR_METHOD_NOT_IMPLEMENTED,Te=ke.ERR_MULTIPLE_CALLBACK,Me=ke.ERR_TRANSFORM_ALREADY_TRANSFORMING,xe=ke.ERR_TRANSFORM_WITH_LENGTH_0;function Le(t,e){var i=this._transformState;i.transforming=!1;var r=i.writecb;if(null===r)return this.emit("error",new Te);i.writechunk=null,i.writecb=null,null!=e&&this.push(e),r(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function De(t){if(!(this instanceof De))return new De(t);Ee.Duplex.call(this,t),this._transformState={afterTransform:Le.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",Oe)}function Oe(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?Ie(this,null,null):this._flush((function(e,i){Ie(t,e,i)}))}function Ie(t,e,i){if(e)return t.emit("error",e);if(null!=i&&t.push(i),t._writableState.length)throw new xe;if(t._transformState.transforming)throw new Me;return t.push(null)}R(De,Ee.Duplex),De.prototype.push=function(t,e){return this._transformState.needTransform=!1,Ee.Duplex.prototype.push.call(this,t,e)},De.prototype._transform=function(t,e,i){i(new Re("_transform()"))},De.prototype._write=function(t,e,i){var r=this._transformState;if(r.writecb=i,r.writechunk=t,r.writeencoding=e,!r.transforming){var n=this._readableState;(r.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},De.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},De.prototype._destroy=function(t,e){Ee.Duplex.prototype._destroy.call(this,t,(function(t){e(t)}))};const Be=O;function Ce(t){if(!(this instanceof Ce))return new Ce(t);Transform.call(this,t)}var Pe;Be.PassThrough=Ce,R(Ce,Be.Transform),Ce.prototype._transform=function(t,e,i){i(null,t)};var Ae=j.codes,Ke=Ae.ERR_MISSING_ARGS,je=Ae.ERR_STREAM_DESTROYED;function Ne(t){if(t)throw t}function Ue(t){t()}function Ve(t,e){return t.pipe(e)}var qe=function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var r,n=function(t){return t.length?"function"!=typeof t[t.length-1]?Ne:t.pop():Ne}(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new Ke("streams");var o=e.map((function(t,i){var s=i<e.length-1;return function(t,e,i,r){r=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(r);var n=!1;t.on("close",(function(){n=!0})),void 0===Pe&&(Pe=Q),Pe(t,{readable:e,writable:i},(function(t){if(t)return r(t);n=!0,r()}));var o=!1;return function(e){if(!n&&!o)return o=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void r(e||new je("pipe"))}}(t,s,i>0,(function(t){r||(r=t),t&&o.forEach(Ue),s||(o.forEach(Ue),n(r))}))}));return e.reduce(Ve)};!function(t,e){const i=O;(e=D.exports=i.Readable).Stream=i.Readable,e.Readable=i.Readable,e.Writable=i.Writable,e.Duplex=i.Duplex,e.Transform=i.Transform,e.PassThrough=i.PassThrough,e.finished=Q,e.pipeline=qe}(0,D.exports);var We=D.exports,Fe=y.Buffer,He=We;function ze(t){He.Stream.Transform.call(this),this._block=Fe.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}R(ze,He.Stream.Transform),ze.prototype._transform=function(t,e,i){var r=null;try{this.update(t,e)}catch(t){r=t}i(r)},ze.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},ze.prototype.update=function(t,e){if(function(t,e){if(!Fe.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");Fe.isBuffer(t)||(t=Fe.from(t,e));for(var i=this._block,r=0;this._blockOffset+t.length-r>=this._blockSize;){for(var n=this._blockOffset;n<this._blockSize;)i[n++]=t[r++];this._update(),this._blockOffset=0}for(;r<t.length;)i[this._blockOffset++]=t[r++];for(var o=0,s=8*t.length;s>0;++o)this._length[o]+=s,(s=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*s);return this},ze.prototype._update=function(){throw new Error("_update is not implemented")},ze.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return e},ze.prototype._digest=function(){throw new Error("_digest is not implemented")};var $e=ze,Xe=R,Ge=$e,Je=y.Buffer,Ye=new Array(16);function Ze(){Ge.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function Qe(t,e){return t<<e|t>>>32-e}function ti(t,e,i,r,n,o,s){return Qe(t+(e&i|~e&r)+n+o|0,s)+e|0}function ei(t,e,i,r,n,o,s){return Qe(t+(e&r|i&~r)+n+o|0,s)+e|0}function ii(t,e,i,r,n,o,s){return Qe(t+(e^i^r)+n+o|0,s)+e|0}function ri(t,e,i,r,n,o,s){return Qe(t+(i^(e|~r))+n+o|0,s)+e|0}Xe(Ze,Ge),Ze.prototype._update=function(){for(var t=Ye,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var i=this._a,r=this._b,n=this._c,o=this._d;i=ti(i,r,n,o,t[0],3614090360,7),o=ti(o,i,r,n,t[1],3905402710,12),n=ti(n,o,i,r,t[2],606105819,17),r=ti(r,n,o,i,t[3],3250441966,22),i=ti(i,r,n,o,t[4],4118548399,7),o=ti(o,i,r,n,t[5],1200080426,12),n=ti(n,o,i,r,t[6],2821735955,17),r=ti(r,n,o,i,t[7],4249261313,22),i=ti(i,r,n,o,t[8],1770035416,7),o=ti(o,i,r,n,t[9],2336552879,12),n=ti(n,o,i,r,t[10],4294925233,17),r=ti(r,n,o,i,t[11],2304563134,22),i=ti(i,r,n,o,t[12],1804603682,7),o=ti(o,i,r,n,t[13],4254626195,12),n=ti(n,o,i,r,t[14],2792965006,17),i=ei(i,r=ti(r,n,o,i,t[15],1236535329,22),n,o,t[1],4129170786,5),o=ei(o,i,r,n,t[6],3225465664,9),n=ei(n,o,i,r,t[11],643717713,14),r=ei(r,n,o,i,t[0],3921069994,20),i=ei(i,r,n,o,t[5],3593408605,5),o=ei(o,i,r,n,t[10],38016083,9),n=ei(n,o,i,r,t[15],3634488961,14),r=ei(r,n,o,i,t[4],3889429448,20),i=ei(i,r,n,o,t[9],568446438,5),o=ei(o,i,r,n,t[14],3275163606,9),n=ei(n,o,i,r,t[3],4107603335,14),r=ei(r,n,o,i,t[8],1163531501,20),i=ei(i,r,n,o,t[13],2850285829,5),o=ei(o,i,r,n,t[2],4243563512,9),n=ei(n,o,i,r,t[7],1735328473,14),i=ii(i,r=ei(r,n,o,i,t[12],2368359562,20),n,o,t[5],4294588738,4),o=ii(o,i,r,n,t[8],2272392833,11),n=ii(n,o,i,r,t[11],1839030562,16),r=ii(r,n,o,i,t[14],4259657740,23),i=ii(i,r,n,o,t[1],2763975236,4),o=ii(o,i,r,n,t[4],1272893353,11),n=ii(n,o,i,r,t[7],4139469664,16),r=ii(r,n,o,i,t[10],3200236656,23),i=ii(i,r,n,o,t[13],681279174,4),o=ii(o,i,r,n,t[0],3936430074,11),n=ii(n,o,i,r,t[3],3572445317,16),r=ii(r,n,o,i,t[6],76029189,23),i=ii(i,r,n,o,t[9],3654602809,4),o=ii(o,i,r,n,t[12],3873151461,11),n=ii(n,o,i,r,t[15],530742520,16),i=ri(i,r=ii(r,n,o,i,t[2],3299628645,23),n,o,t[0],4096336452,6),o=ri(o,i,r,n,t[7],1126891415,10),n=ri(n,o,i,r,t[14],2878612391,15),r=ri(r,n,o,i,t[5],4237533241,21),i=ri(i,r,n,o,t[12],1700485571,6),o=ri(o,i,r,n,t[3],2399980690,10),n=ri(n,o,i,r,t[10],4293915773,15),r=ri(r,n,o,i,t[1],2240044497,21),i=ri(i,r,n,o,t[8],1873313359,6),o=ri(o,i,r,n,t[15],4264355552,10),n=ri(n,o,i,r,t[6],2734768916,15),r=ri(r,n,o,i,t[13],1309151649,21),i=ri(i,r,n,o,t[4],4149444226,6),o=ri(o,i,r,n,t[11],3174756917,10),n=ri(n,o,i,r,t[2],718787259,15),r=ri(r,n,o,i,t[9],3951481745,21),this._a=this._a+i|0,this._b=this._b+r|0,this._c=this._c+n|0,this._d=this._d+o|0},Ze.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=Je.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t};var ni=Ze,oi=k.Buffer,si=R,ai=$e,hi=new Array(16),ui=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],ci=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],li=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],fi=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],di=[0,1518500249,1859775393,2400959708,2840853838],pi=[1352829926,1548603684,1836072691,2053994217,0];function _i(){ai.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function yi(t,e){return t<<e|t>>>32-e}function bi(t,e,i,r,n,o,s,a){return yi(t+(e^i^r)+o+s|0,a)+n|0}function gi(t,e,i,r,n,o,s,a){return yi(t+(e&i|~e&r)+o+s|0,a)+n|0}function wi(t,e,i,r,n,o,s,a){return yi(t+((e|~i)^r)+o+s|0,a)+n|0}function vi(t,e,i,r,n,o,s,a){return yi(t+(e&r|i&~r)+o+s|0,a)+n|0}function mi(t,e,i,r,n,o,s,a){return yi(t+(e^(i|~r))+o+s|0,a)+n|0}si(_i,ai),_i.prototype._update=function(){for(var t=hi,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var i=0|this._a,r=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,a=0|this._a,h=0|this._b,u=0|this._c,c=0|this._d,l=0|this._e,f=0;f<80;f+=1){var d,p;f<16?(d=bi(i,r,n,o,s,t[ui[f]],di[0],li[f]),p=mi(a,h,u,c,l,t[ci[f]],pi[0],fi[f])):f<32?(d=gi(i,r,n,o,s,t[ui[f]],di[1],li[f]),p=vi(a,h,u,c,l,t[ci[f]],pi[1],fi[f])):f<48?(d=wi(i,r,n,o,s,t[ui[f]],di[2],li[f]),p=wi(a,h,u,c,l,t[ci[f]],pi[2],fi[f])):f<64?(d=vi(i,r,n,o,s,t[ui[f]],di[3],li[f]),p=gi(a,h,u,c,l,t[ci[f]],pi[3],fi[f])):(d=mi(i,r,n,o,s,t[ui[f]],di[4],li[f]),p=bi(a,h,u,c,l,t[ci[f]],pi[4],fi[f])),i=s,s=o,o=yi(n,10),n=r,r=d,a=l,l=c,c=yi(u,10),u=h,h=p}var _=this._b+n+c|0;this._b=this._c+o+l|0,this._c=this._d+s+a|0,this._d=this._e+i+h|0,this._e=this._a+r+u|0,this._a=_},_i.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=oi.alloc?oi.alloc(20):new oi(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t};var Si=_i,Ei={exports:{}},ki=y.Buffer;function Ri(t,e){this._block=ki.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}Ri.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=ki.from(t,e));for(var i=this._block,r=this._blockSize,n=t.length,o=this._len,s=0;s<n;){for(var a=o%r,h=Math.min(n-s,r-a),u=0;u<h;u++)i[a+u]=t[s+u];s+=h,(o+=h)%r==0&&this._update(i)}return this._len+=n,this},Ri.prototype.digest=function(t){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var i=8*this._len;if(i<=4294967295)this._block.writeUInt32BE(i,this._blockSize-4);else{var r=(4294967295&i)>>>0,n=(i-r)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},Ri.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Ti=Ri,Mi=R,xi=Ti,Li=y.Buffer,Di=[1518500249,1859775393,-1894007588,-899497514],Oi=new Array(80);function Ii(){this.init(),this._w=Oi,xi.call(this,64,56)}function Bi(t){return t<<30|t>>>2}function Ci(t,e,i,r){return 0===t?e&i|~e&r:2===t?e&i|e&r|i&r:e^i^r}Mi(Ii,xi),Ii.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Ii.prototype._update=function(t){for(var e,i=this._w,r=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,h=0;h<16;++h)i[h]=t.readInt32BE(4*h);for(;h<80;++h)i[h]=i[h-3]^i[h-8]^i[h-14]^i[h-16];for(var u=0;u<80;++u){var c=~~(u/20),l=0|((e=r)<<5|e>>>27)+Ci(c,n,o,s)+a+i[u]+Di[c];a=s,s=o,o=Bi(n),n=r,r=l}this._a=r+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0},Ii.prototype._hash=function(){var t=Li.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t};var Pi=Ii,Ai=R,Ki=Ti,ji=y.Buffer,Ni=[1518500249,1859775393,-1894007588,-899497514],Ui=new Array(80);function Vi(){this.init(),this._w=Ui,Ki.call(this,64,56)}function qi(t){return t<<5|t>>>27}function Wi(t){return t<<30|t>>>2}function Fi(t,e,i,r){return 0===t?e&i|~e&r:2===t?e&i|e&r|i&r:e^i^r}Ai(Vi,Ki),Vi.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Vi.prototype._update=function(t){for(var e,i=this._w,r=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,h=0;h<16;++h)i[h]=t.readInt32BE(4*h);for(;h<80;++h)i[h]=(e=i[h-3]^i[h-8]^i[h-14]^i[h-16])<<1|e>>>31;for(var u=0;u<80;++u){var c=~~(u/20),l=qi(r)+Fi(c,n,o,s)+a+i[u]+Ni[c]|0;a=s,s=o,o=Wi(n),n=r,r=l}this._a=r+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0},Vi.prototype._hash=function(){var t=ji.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t};var Hi=Vi,zi=R,$i=Ti,Xi=y.Buffer,Gi=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Ji=new Array(64);function Yi(){this.init(),this._w=Ji,$i.call(this,64,56)}function Zi(t,e,i){return i^t&(e^i)}function Qi(t,e,i){return t&e|i&(t|e)}function tr(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function er(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function ir(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}zi(Yi,$i),Yi.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Yi.prototype._update=function(t){for(var e,i=this._w,r=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,h=0|this._f,u=0|this._g,c=0|this._h,l=0;l<16;++l)i[l]=t.readInt32BE(4*l);for(;l<64;++l)i[l]=0|(((e=i[l-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+i[l-7]+ir(i[l-15])+i[l-16];for(var f=0;f<64;++f){var d=c+er(a)+Zi(a,h,u)+Gi[f]+i[f]|0,p=tr(r)+Qi(r,n,o)|0;c=u,u=h,h=a,a=s+d|0,s=o,o=n,n=r,r=d+p|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0,this._f=h+this._f|0,this._g=u+this._g|0,this._h=c+this._h|0},Yi.prototype._hash=function(){var t=Xi.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t};var rr=Yi,nr=R,or=rr,sr=Ti,ar=y.Buffer,hr=new Array(64);function ur(){this.init(),this._w=hr,sr.call(this,64,56)}nr(ur,or),ur.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},ur.prototype._hash=function(){var t=ar.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t};var cr=ur,lr=R,fr=Ti,dr=y.Buffer,pr=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],_r=new Array(160);function yr(){this.init(),this._w=_r,fr.call(this,128,112)}function br(t,e,i){return i^t&(e^i)}function gr(t,e,i){return t&e|i&(t|e)}function wr(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function vr(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function mr(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function Sr(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function Er(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function kr(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function Rr(t,e){return t>>>0<e>>>0?1:0}lr(yr,fr),yr.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},yr.prototype._update=function(t){for(var e=this._w,i=0|this._ah,r=0|this._bh,n=0|this._ch,o=0|this._dh,s=0|this._eh,a=0|this._fh,h=0|this._gh,u=0|this._hh,c=0|this._al,l=0|this._bl,f=0|this._cl,d=0|this._dl,p=0|this._el,_=0|this._fl,y=0|this._gl,b=0|this._hl,g=0;g<32;g+=2)e[g]=t.readInt32BE(4*g),e[g+1]=t.readInt32BE(4*g+4);for(;g<160;g+=2){var w=e[g-30],v=e[g-30+1],m=mr(w,v),S=Sr(v,w),E=Er(w=e[g-4],v=e[g-4+1]),k=kr(v,w),R=e[g-14],T=e[g-14+1],M=e[g-32],x=e[g-32+1],L=S+T|0,D=m+R+Rr(L,S)|0;D=(D=D+E+Rr(L=L+k|0,k)|0)+M+Rr(L=L+x|0,x)|0,e[g]=D,e[g+1]=L}for(var O=0;O<160;O+=2){D=e[O],L=e[O+1];var I=gr(i,r,n),B=gr(c,l,f),C=wr(i,c),P=wr(c,i),A=vr(s,p),K=vr(p,s),j=pr[O],N=pr[O+1],U=br(s,a,h),V=br(p,_,y),q=b+K|0,W=u+A+Rr(q,b)|0;W=(W=(W=W+U+Rr(q=q+V|0,V)|0)+j+Rr(q=q+N|0,N)|0)+D+Rr(q=q+L|0,L)|0;var F=P+B|0,H=C+I+Rr(F,P)|0;u=h,b=y,h=a,y=_,a=s,_=p,s=o+W+Rr(p=d+q|0,d)|0,o=n,d=f,n=r,f=l,r=i,l=c,i=W+H+Rr(c=q+F|0,q)|0}this._al=this._al+c|0,this._bl=this._bl+l|0,this._cl=this._cl+f|0,this._dl=this._dl+d|0,this._el=this._el+p|0,this._fl=this._fl+_|0,this._gl=this._gl+y|0,this._hl=this._hl+b|0,this._ah=this._ah+i+Rr(this._al,c)|0,this._bh=this._bh+r+Rr(this._bl,l)|0,this._ch=this._ch+n+Rr(this._cl,f)|0,this._dh=this._dh+o+Rr(this._dl,d)|0,this._eh=this._eh+s+Rr(this._el,p)|0,this._fh=this._fh+a+Rr(this._fl,_)|0,this._gh=this._gh+h+Rr(this._gl,y)|0,this._hh=this._hh+u+Rr(this._hl,b)|0},yr.prototype._hash=function(){var t=dr.allocUnsafe(64);function e(e,i,r){t.writeInt32BE(e,r),t.writeInt32BE(i,r+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t};var Tr=yr,Mr=R,xr=Tr,Lr=Ti,Dr=y.Buffer,Or=new Array(160);function Ir(){this.init(),this._w=Or,Lr.call(this,128,112)}Mr(Ir,xr),Ir.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Ir.prototype._hash=function(){var t=Dr.allocUnsafe(48);function e(e,i,r){t.writeInt32BE(e,r),t.writeInt32BE(i,r+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t};var Br=Ir,Cr=Ei.exports=function(t){t=t.toLowerCase();var e=Cr[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};Cr.sha=Pi,Cr.sha1=Hi,Cr.sha224=cr,Cr.sha256=rr,Cr.sha384=Br,Cr.sha512=Tr;var Pr=Ei.exports,Ar=h(c),Kr=y.Buffer,jr=b.Transform,Nr=Ar.StringDecoder;function Ur(t){jr.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}R(Ur,jr),Ur.prototype.update=function(t,e,i){"string"==typeof t&&(t=Kr.from(t,e));var r=this._update(t);return this.hashMode?this:(i&&(r=this._toString(r,i)),r)},Ur.prototype.setAutoPadding=function(){},Ur.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},Ur.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},Ur.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},Ur.prototype._transform=function(t,e,i){var r;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){r=t}finally{i(r)}},Ur.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},Ur.prototype._finalOrDigest=function(t){var e=this.__final()||Kr.alloc(0);return t&&(e=this._toString(e,t,!0)),e},Ur.prototype._toString=function(t,e,i){if(this._decoder||(this._decoder=new Nr(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var r=this._decoder.write(t);return i&&(r+=this._decoder.end()),r};var Vr=ni,qr=Si,Wr=Pr,Fr=Ur;function Hr(t){Fr.call(this,"digest"),this._hash=t}R(Hr,Fr),Hr.prototype._update=function(t){this._hash.update(t)},Hr.prototype._final=function(){return this._hash.digest()};var zr=l((function(t){return"md5"===(t=t.toLowerCase())?new Vr:"rmd160"===t||"ripemd160"===t?new qr:new Hr(Wr(t))})),$r={exports:{}},Xr=65536,Gr=4294967295;var Jr=y.Buffer,Yr=t.crypto||t.msCrypto;Yr&&Yr.getRandomValues?$r.exports=function(t,i){if(t>Gr)throw new RangeError("requested too many random bytes");var r=Jr.allocUnsafe(t);if(t>0)if(t>Xr)for(var n=0;n<t;n+=Xr)Yr.getRandomValues(r.slice(n,n+Xr));else Yr.getRandomValues(r);if("function"==typeof i)return e((function(){i(null,r)}));return r}:$r.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")};var Zr=l($r.exports);var Qr={CryptoLD:class{constructor({suites:t}={}){this.suites=t||new Map}use(t){this.suites.set(t.suite,t)}async generate(t={}){return this._suiteForType(t).generate(t)}async from(t={}){const e=this._suiteForType(t);return t["@context"]?e.fromKeyDocument({document:t}):e.from(t)}async fromKeyDocument({document:t,checkContext:e=!0,checkRevoked:i=!0}={}){if(!t)throw new TypeError('The "document" parameter is required.');return this._suiteForType(t).fromKeyDocument({document:t,checkContext:e,checkRevoked:i})}async fromKeyId({id:t,documentLoader:e,checkContext:i=!0,checkRevoked:r=!0}={}){if(!t)throw new TypeError('The "id" parameter is required.');if(!e)throw new TypeError('The "documentLoader" parameter is required.');let n;try{if(({document:n}=await e(t)),!n)throw new Error('The "documentLoader" function must return a "document" object.')}catch(t){const e=new Error("Error fetching document: "+t.message);throw e.cause=t,e}const o=n.type;if(!o)throw new Error("Key suite type not found in fetched document.");const s=this.suites.get(o);if(!s)throw new Error(`Support for suite "${o}" is not installed.`);return s.fromKeyDocument({document:n,checkContext:i,checkRevoked:r})}_installed({type:t}){return this.suites.has(t)}_suiteForType(t){const e=t&&t.type;if(!e)throw new TypeError("Missing key type.");if(!this._installed({type:e}))throw new Error(`Support for key type "${e}" is not installed.`);return this.suites.get(e)}}};
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright (c) 2018-2021 Digital Bazaar, Inc. All rights reserved.
|
|
4
|
+
*/let tn=class{constructor({id:t,controller:e,revoked:i}={}){this.id=t,this.controller=e,this.revoked=i}static async generate(){throw new Error("Abstract method, must be implemented in subclass.")}static async fromKeyDocument({document:t,checkContext:e=!0,checkRevoked:i=!0}={}){if(!t)throw new TypeError('The "document" parameter is required.');if(e){if(![].concat(t["@context"]).includes(this.SUITE_CONTEXT))throw new Error('Key document does not contain required context "'+this.SUITE_CONTEXT+'".')}if(i&&t.revoked)throw new Error(`Key has been revoked since: "${t.revoked}".`);return this.from(t)}static async from(){throw new Error("Abstract method from() must be implemented in subclass.")}export({publicKey:t=!1,privateKey:e=!1}={}){if(!t&&!e)throw new Error('Export requires specifying either "publicKey" or "privateKey".');const i={id:this.id,type:this.type,controller:this.controller};return this.revoked&&(i.revoked=this.revoked),i}fingerprint(){throw new Error("Abstract method, must be implemented in subclass.")}verifyFingerprint(){throw new Error("Abstract method, must be implemented in subclass.")}signer(){return{async sign({}){throw new Error("Abstract method, must be implemented in subclass.")}}}verifier(){return{async verify({}){throw new Error("Abstract method, must be implemented in subclass.")}}}};tn.SUITE_CONTEXT="INVALID LDKeyPair CONTEXT";var en={LDKeyPair:tn};const{CryptoLD:rn}=Qr,{LDKeyPair:nn}=en;var on=l({CryptoLD:rn,LDKeyPair:nn});const sn="EcdsaSecp256k1VerificationKey2019",an=t=>zr("sha256").update(t).digest();class hn extends on.LDKeyPair{constructor({publicKeyBase58:t,privateKeyBase58:e,...i}){if(super(i),this.type=void 0,this.publicKeyBase58=void 0,this.privateKeyBase58=void 0,e&&!t){const t=g.publicKeyCreate(f(e));this.publicKeyBase58=d(t)}else this.publicKeyBase58=t;if(this.type=sn,this.privateKeyBase58=e,!this.publicKeyBase58)throw new TypeError('The "publicKeyBase58" property is required.')}static from(t){if(t.publicKeyHex||t.privateKeyHex){const{publicKeyHex:e,privateKeyHex:i,...n}=t;return new hn({...n,publicKeyBase58:e?d(r.from(e,"hex")):void 0,privateKeyBase58:i?d(r.from(i,"hex")):void 0})}return new hn(t)}static async generate({seed:t,compressed:e,...i}){if(t&&!g.privateKeyVerify(t))throw new Error("Provided seed is not a valid private key");let r=t;for(;void 0===r||!g.privateKeyVerify(r);)r=new Uint8Array(Zr(32));const n=g.publicKeyCreate(r,e);return new hn({publicKeyBase58:d(n),privateKeyBase58:d(r),...i})}export({publicKey:t=!1,privateKey:e=!1,includeContext:i=!1}={}){if(!t&&!e)throw new TypeError('export requires specifying either "publicKey" or "privateKey".');if(e&&!this.privateKeyBase58)throw new TypeError("No privateKey to export.");if(t&&!this.publicKeyBase58)throw new TypeError("No publicKey to export.");const r={type:this.type,id:this.id,controller:this.controller,revoked:this.revoked};return i&&(r["@context"]=hn.SUITE_CONTEXT),e&&(r.privateKeyBase58=this.privateKeyBase58),t&&(r.publicKeyBase58=this.publicKeyBase58),r}signer(){const{privateKeyBase58:t}=this;return t?{async sign({data:e}){const i=w.encode(JSON.stringify({alg:"ES256K",b64:!1,crit:["b64"]})),n=r.from(e.buffer,e.byteOffset,e.length),o=an(r.from(r.concat([r.from(`${i}.`,"utf8"),r.from(n.buffer,n.byteOffset,n.length)]))),{signature:s}=g.ecdsaSign(o,f(t));return`${i}..${w.encode(r.from(s))}`},id:this.id}:{async sign(){throw new Error("No private key to sign with.")},id:this.id}}verifier(){const{publicKeyBase58:t}=this;return t?{async verify({data:e,signature:i}){if(i.indexOf("..")<0)return!1;const[n,o]=i.split(".."),s=JSON.parse(w.decode(n));if("ES256K"!==s.alg||!1!==s.b64||!s.crit||!s.crit.length||"b64"!==s.crit[0])return!1;const a=r.from(e.buffer,e.byteOffset,e.length),h=an(r.from(r.concat([r.from(`${n}.`,"utf8"),r.from(a.buffer,a.byteOffset,a.length)])));let u;try{u=g.ecdsaVerify(r.from(w.decode(o,"hex"),"hex"),h,f(t))}catch(t){u=!1}return u},id:this.id}:{async verify(){throw new Error("No public key to verify against")},id:this.id}}}hn.suite=sn,hn.SUITE_CONTEXT="https://ns.did.ai/suites/secp256k1-2019/v1";const un="https://ns.did.ai/suites/secp256k1-2019/v1",cn=({document:t,contextUrl:e})=>{const i=t["@context"];return i===e||Array.isArray(i)&&i.includes(e)},ln=({document:t})=>{const e=cn({document:t,contextUrl:un}),i=cn({document:t,contextUrl:"https://www.w3.org/2018/credentials/v1"}),r=cn({document:t,contextUrl:"https://w3id.org/security/v2"});return e&&i?(console.warn("Warning: The secp256k1-2019/v1 and credentials/v1 contexts are incompatible."),console.warn("For VCs using EcdsaSecp256k1Signature2019 suite, using the credentials/v1 context is sufficient."),!1):e&&r?(console.warn("Warning: The secp256k1-2019/v1 and security/v2 contexts are incompatible."),console.warn("For VCs using EcdsaSecp256k1Signature2019 suite, using the security/v2 context is sufficient."),!1):e||i||r};let fn=class extends p.suites.LinkedDataSignature{constructor(t={}){super({type:"EcdsaSecp256k1Signature2019",LDKeyClass:hn,contextUrl:un,...t}),this.requiredKeyType=void 0,this.requiredKeyType="EcdsaSecp256k1VerificationKey2019"}async sign({verifyData:t,proof:e}){if(!this.signer||"function"!=typeof this.signer.sign)throw new Error("A signer API has not been specified.");return{...e,jws:await this.signer.sign({data:t})}}async verifySignature({verifyData:t,verificationMethod:e,proof:i}){const{jws:r}=i;if(!r||"string"!=typeof r)throw new TypeError('The proof does not include a valid "jws" property.');let{verifier:n}=this;if(!n){n=(await this.LDKeyClass.from(e)).verifier()}return n.verify({data:t,signature:r})}async assertVerificationMethod({verificationMethod:t}){if(!ln({document:t}))throw new TypeError(`The verification method (key) must contain "${this.contextUrl}".`);if(!_.hasValue(t,"type",this.requiredKeyType))throw new Error(`Invalid key type. Key type must be "${this.requiredKeyType}".`);if(void 0!==t.revoked)throw new Error("The verification method has been revoked.")}async getVerificationMethod({proof:t,documentLoader:e}){if(this.key)return this.key.export({publicKey:!0});const i="object"==typeof t.verificationMethod?t.verificationMethod.id:t.verificationMethod;if(!i)throw new Error('No "verificationMethod" found in proof.');const r=await _.frame(i,{"@context":this.contextUrl,"@embed":"@always",id:i},{documentLoader:e,compactToRelative:!1});if(!r)throw new Error(`Verification method ${i} not found.`);if(void 0!==r.revoked)throw new Error("The verification method has been revoked.");return await this.assertVerificationMethod({verificationMethod:r}),r}async matchProof({proof:t,document:e,purpose:i,documentLoader:r,expansionMap:n}){if(!ln({document:e}))return!1;if(!await super.matchProof({proof:t,document:e,purpose:i,documentLoader:r,expansionMap:n}))return!1;if(!this.key)return!0;const{verificationMethod:o}=t,s="object"==typeof o?o.id:o;return this.isVerificationMethodMatchingKeyId(s)}ensureSuiteContext({document:t,addSuiteContext:e}){ln({document:t})||super.ensureSuiteContext({document:t,addSuiteContext:e})}isVerificationMethodMatchingKeyId(t){return t===this.key.id||t===`${this.key.controller}${this.key.id}`}};fn.CONTEXT_URL=un,fn.CONTEXT={"@context":{id:"@id",type:"@type","@protected":!0,proof:{"@id":"https://w3id.org/security#proof","@type":"@id","@container":"@graph"},EcdsaSecp256k1VerificationKey2019:{"@id":"https://w3id.org/security#EcdsaSecp256k1VerificationKey2019","@context":{"@protected":!0,id:"@id",type:"@type",controller:{"@id":"https://w3id.org/security#controller","@type":"@id"},revoked:{"@id":"https://w3id.org/security#revoked","@type":"http://www.w3.org/2001/XMLSchema#dateTime"},blockchainAccountId:{"@id":"https://w3id.org/security#blockchainAccountId"},publicKeyJwk:{"@id":"https://w3id.org/security#publicKeyJwk","@type":"@json"},publicKeyBase58:{"@id":"https://w3id.org/security#publicKeyBase58"},publicKeyMultibase:{"@id":"https://w3id.org/security#publicKeyMultibase","@type":"https://w3id.org/security#multibase"}}},EcdsaSecp256k1Signature2019:{"@id":"https://w3id.org/security#EcdsaSecp256k1Signature2019","@context":{"@protected":!0,id:"@id",type:"@type",challenge:"https://w3id.org/security#challenge",created:{"@id":"http://purl.org/dc/terms/created","@type":"http://www.w3.org/2001/XMLSchema#dateTime"},domain:"https://w3id.org/security#domain",expires:{"@id":"https://w3id.org/security#expiration","@type":"http://www.w3.org/2001/XMLSchema#dateTime"},nonce:"https://w3id.org/security#nonce",proofPurpose:{"@id":"https://w3id.org/security#proofPurpose","@type":"@vocab","@context":{"@protected":!0,id:"@id",type:"@type",assertionMethod:{"@id":"https://w3id.org/security#assertionMethod","@type":"@id","@container":"@set"},authentication:{"@id":"https://w3id.org/security#authenticationMethod","@type":"@id","@container":"@set"},capabilityInvocation:{"@id":"https://w3id.org/security#capabilityInvocationMethod","@type":"@id","@container":"@set"},capabilityDelegation:{"@id":"https://w3id.org/security#capabilityDelegationMethod","@type":"@id","@container":"@set"},keyAgreement:{"@id":"https://w3id.org/security#keyAgreementMethod","@type":"@id","@container":"@set"}}},jws:{"@id":"https://w3id.org/security#jws"},verificationMethod:{"@id":"https://w3id.org/security#verificationMethod","@type":"@id"}}}}};const dn="undefined"==typeof Buffer?r:Buffer,{purposes:{AssertionProofPurpose:pn}}=p;var _n;!function(t){t.retrieveVerificationMethodPublicKey="retrieveVerificationMethodPublicKey",t.checkDocumentSignature="checkDocumentSignature"}(_n||(_n={}));class yn extends T{verificationProcess=[_n.retrieveVerificationMethodPublicKey,_n.checkDocumentSignature];documentToVerify;issuer;proof;type="EcdsaSecp256k1Signature2019";verificationKey;publicKey;constructor(t){super(t),t.executeStep&&(this.executeStep=t.executeStep),this.documentToVerify=t.document,this.issuer=t.issuer,this.proof=t.proof,this.validateProofType()}async init(){}async verifyProof(){for(const t of this.verificationProcess){if(!this[t])return void console.error("verification logic for",t,"not implemented");await this[t]()}}async verifyIdentity(){}getProofVerificationSteps(t){return this.verificationProcess.map((e=>n.verifier.convertToVerificationSubsteps(t,e)))}getIdentityVerificationSteps(){return[]}getIssuerPublicKey(){return this.publicKey}getIssuerName(){return this.issuer.name??""}getIssuerProfileDomain(){try{return new URL(this.getIssuerProfileUrl()).hostname??""}catch(t){return""}}getIssuerProfileUrl(){return this.issuer.id??""}getSigningDate(){return this.proof.created}async executeStep(t,e,i){throw new Error("doAction method needs to be overwritten by injecting from CVJS")}validateProofType(){const t=this.isProofChain()?this.proof.chainedProofType:this.proof.type;if(t!==this.type)throw new Error(`Incompatible proof type passed. Expected: ${this.type}, Got: ${t}`)}isProofChain(){return"ChainedProof2021"===this.proof.type}generateDocumentLoader(){o[this.documentToVerify.issuer]=this.getTargetVerificationMethodContainer();return function(t){return t in o?{contextUrl:null,document:o[t],documentUrl:t}:_.documentLoader(t)}}retrieveInitialDocument(){const t=s(this.documentToVerify);if(Array.isArray(t.proof)){const e=t.proof.find((t=>t.type===this.type));delete t.proof,t.proof=e}return t}getTargetVerificationMethodContainer(){return this.issuer.didDocument??this.issuer}async retrieveVerificationMethodPublicKey(){this.verificationKey=await this.executeStep(_n.retrieveVerificationMethodPublicKey,(async()=>{const t=M(this.getTargetVerificationMethodContainer(),this.proof.verificationMethod);if(t.publicKeyJwk&&!t.publicKeyBase58){const i=(t=>{const e=m.from({...t,crv:"K-256"},"jwk").toString("blk","public"),i=S.publicKeyConvert(dn.from(e,"hex"),!0);return dn.from(i).toString("hex")})(t.publicKeyJwk);t.publicKeyBase58=(e=i,E.encode(dn.from(e,"hex")))}var e;this.publicKey=t.publicKeyBase58;const i=hn.from({...t});if(!i)throw new a(_n.retrieveVerificationMethodPublicKey,"Could not derive the verification key");if(i.revoked)throw new a(_n.retrieveVerificationMethodPublicKey,"The verification key has been revoked");return i}),this.type)}async checkDocumentSignature(){await this.executeStep(_n.checkDocumentSignature,(async()=>{const t=new fn({key:this.verificationKey});t.date=new Date(Date.now()).toISOString();const e=await p.verify(this.retrieveInitialDocument(),{suite:t,purpose:new pn,documentLoader:this.generateDocumentLoader()});if(!e.verified)throw console.error(JSON.stringify(e,null,2)),new a(_n.checkDocumentSignature,`The document's ${this.type} signature could not be confirmed`);console.log("Credential Secp256k1 signature successfully verified")}),this.type)}}export{yn as default};
|