insite-subscriptions-server 2.0.4 → 2.0.7

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/dist/ws/index.js CHANGED
@@ -1,13 +1,2 @@
1
- var i7=Object.create;var si=Object.defineProperty;var u7=Object.getOwnPropertyDescriptor;var a7=Object.getOwnPropertyNames;var c7=Object.getPrototypeOf,l7=Object.prototype.hasOwnProperty;var x=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var h7=(t,e)=>()=>(t&&(e=t(t=0)),e);var m=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Zf=(t,e)=>{for(var r in e)si(t,r,{get:e[r],enumerable:!0})},ni=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of a7(e))!l7.call(t,s)&&s!==r&&si(t,s,{get:()=>e[s],enumerable:!(n=u7(e,s))||n.enumerable});return t},Xt=(t,e,r)=>(ni(t,e,"default"),r&&ni(r,e,"default")),oi=(t,e,r)=>(r=t!=null?i7(c7(t)):{},ni(e||!t||!t.__esModule?si(r,"default",{value:t,enumerable:!0}):r,t)),d7=t=>ni(si({},"__esModule",{value:!0}),t);var Jo=m(oe=>{"use strict";function g0(t){return["[object ArrayBuffer]","[object SharedArrayBuffer]"].includes(Object.prototype.toString.call(t))}function Ds(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function _s(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function C0(t){return Object.prototype.toString.call(t)==="[object Map]"}function Bs(t){return Object.prototype.toString.call(t)==="[object Date]"}function Ot(t,e){return JSON.stringify(t,(r,n)=>typeof n=="bigint"?{$numberLong:`${n}`}:C0(n)?Object.fromEntries(n):n)}function p7(t){if(t!=null&&typeof t=="object"&&"stylize"in t&&typeof t.stylize=="function")return t.stylize}var $n=6,Ko=2147483647,Yo=-2147483648,A3=Math.pow(2,63)-1,g3=-Math.pow(2,63),C3=Math.pow(2,53),y3=-Math.pow(2,53),y0=1,S3=2,S0=3,O3=4,O0=5,m7=6,w3=7,D3=8,_3=9,w0=10,di=11,E7=12,D0=13,B3=14,b3=15,Go=16,T3=17,_0=18,F3=19,N3=255,R3=127,A7=0,fi=4,M3=Object.freeze({double:1,string:2,object:3,array:4,binData:5,undefined:6,objectId:7,bool:8,date:9,null:10,regex:11,dbPointer:12,javascript:13,symbol:14,javascriptWithScope:15,int:16,timestamp:17,long:18,decimal:19,minKey:-1,maxKey:127}),C=class extends Error{get bsonError(){return!0}get name(){return"BSONError"}constructor(e,r){super(e,r)}static isBSONError(e){return e!=null&&typeof e=="object"&&"bsonError"in e&&e.bsonError===!0&&"name"in e&&"message"in e&&"stack"in e}},vr=class extends C{get name(){return"BSONVersionError"}constructor(){super(`Unsupported BSON version, bson types must be from bson ${$n}.x.x`)}},Fs=class extends C{get name(){return"BSONRuntimeError"}constructor(e){super(e)}},vt=class extends C{get name(){return"BSONOffsetError"}constructor(e,r,n){super(`${e}. offset: ${r}`,n),this.offset=r}},e3,t3;function I3(t,e,r,n){if(n){e3??=new TextDecoder("utf8",{fatal:!0});try{return e3.decode(t.subarray(e,r))}catch(s){throw new C("Invalid UTF-8 string in BSON document",{cause:s})}}return t3??=new TextDecoder("utf8",{fatal:!1}),t3.decode(t.subarray(e,r))}function v3(t,e,r){if(t.length===0)return"";let n=r-e;if(n===0)return"";if(n>20)return null;if(n===1&&t[e]<128)return String.fromCharCode(t[e]);if(n===2&&t[e]<128&&t[e+1]<128)return String.fromCharCode(t[e])+String.fromCharCode(t[e+1]);if(n===3&&t[e]<128&&t[e+1]<128&&t[e+2]<128)return String.fromCharCode(t[e])+String.fromCharCode(t[e+1])+String.fromCharCode(t[e+2]);let s=[];for(let o=e;o<r;o++){let i=t[o];if(i>127)return null;s.push(i)}return String.fromCharCode(...s)}function g7(t,e,r){if(e.length===0)return 0;if(e.length>25||t.length-r<e.length)return null;for(let n=0,s=r;n<e.length;n++,s++){let o=e.charCodeAt(n);if(o>127)return null;t[s]=o}return e.length}function C7(t){return ln.fromNumberArray(Array.from({length:t},()=>Math.floor(Math.random()*256)))}var y7=(()=>{try{return x("crypto").randomBytes}catch{return C7}})(),ln={toLocalBufferType(t){if(Buffer.isBuffer(t))return t;if(ArrayBuffer.isView(t))return Buffer.from(t.buffer,t.byteOffset,t.byteLength);let e=t?.[Symbol.toStringTag]??Object.prototype.toString.call(t);if(e==="ArrayBuffer"||e==="SharedArrayBuffer"||e==="[object ArrayBuffer]"||e==="[object SharedArrayBuffer]")return Buffer.from(t);throw new C(`Cannot create Buffer from ${String(t)}`)},allocate(t){return Buffer.alloc(t)},allocateUnsafe(t){return Buffer.allocUnsafe(t)},equals(t,e){return ln.toLocalBufferType(t).equals(e)},fromNumberArray(t){return Buffer.from(t)},fromBase64(t){return Buffer.from(t,"base64")},toBase64(t){return ln.toLocalBufferType(t).toString("base64")},fromISO88591(t){return Buffer.from(t,"binary")},toISO88591(t){return ln.toLocalBufferType(t).toString("binary")},fromHex(t){return Buffer.from(t,"hex")},toHex(t){return ln.toLocalBufferType(t).toString("hex")},toUTF8(t,e,r,n){let s=r-e<=20?v3(t,e,r):null;if(s!=null)return s;let o=ln.toLocalBufferType(t).toString("utf8",e,r);if(n){for(let i=0;i<o.length;i++)if(o.charCodeAt(i)===65533){I3(t,e,r,!0);break}}return o},utf8ByteLength(t){return Buffer.byteLength(t,"utf8")},encodeUTF8Into(t,e,r){let n=g7(t,e,r);return n??ln.toLocalBufferType(t).write(e,r,void 0,"utf8")},randomBytes:y7};function S7(){let{navigator:t}=globalThis;return typeof t=="object"&&t.product==="ReactNative"}function O7(t){if(t<0)throw new RangeError(`The argument 'byteLength' is invalid. Received ${t}`);return Ho.fromNumberArray(Array.from({length:t},()=>Math.floor(Math.random()*256)))}var w7=(()=>{let{crypto:t}=globalThis;if(t!=null&&typeof t.getRandomValues=="function")return e=>t.getRandomValues(Ho.allocate(e));if(S7()){let{console:e}=globalThis;e?.warn?.("BSON: For React Native please polyfill crypto.getRandomValues, e.g. using: https://www.npmjs.com/package/react-native-get-random-values.")}return O7})(),r3=/(\d|[a-f])/i,Ho={toLocalBufferType(t){let e=t?.[Symbol.toStringTag]??Object.prototype.toString.call(t);if(e==="Uint8Array")return t;if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));if(e==="ArrayBuffer"||e==="SharedArrayBuffer"||e==="[object ArrayBuffer]"||e==="[object SharedArrayBuffer]")return new Uint8Array(t);throw new C(`Cannot make a Uint8Array from ${String(t)}`)},allocate(t){if(typeof t!="number")throw new TypeError(`The "size" argument must be of type number. Received ${String(t)}`);return new Uint8Array(t)},allocateUnsafe(t){return Ho.allocate(t)},equals(t,e){if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},fromNumberArray(t){return Uint8Array.from(t)},fromBase64(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))},toBase64(t){return btoa(Ho.toISO88591(t))},fromISO88591(t){return Uint8Array.from(t,e=>e.charCodeAt(0)&255)},toISO88591(t){return Array.from(Uint16Array.from(t),e=>String.fromCharCode(e)).join("")},fromHex(t){let e=t.length%2===0?t:t.slice(0,t.length-1),r=[];for(let n=0;n<e.length;n+=2){let s=e[n],o=e[n+1];if(!r3.test(s)||!r3.test(o))break;let i=Number.parseInt(`${s}${o}`,16);r.push(i)}return Uint8Array.from(r)},toHex(t){return Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")},toUTF8(t,e,r,n){let s=r-e<=20?v3(t,e,r):null;return s??I3(t,e,r,n)},utf8ByteLength(t){return new TextEncoder().encode(t).byteLength},encodeUTF8Into(t,e,r){let n=new TextEncoder().encode(e);return t.set(n,r),n.byteLength},randomBytes:w7},D7=typeof Buffer=="function"&&Buffer.prototype?._isBuffer!==!0,A=D7?ln:Ho,Qe=class{get[Symbol.for("@@mdb.bson.version")](){return $n}[Symbol.for("nodejs.util.inspect.custom")](e,r,n){return this.inspect(e,r,n)}},ie=class t extends Qe{get _bsontype(){return"Binary"}constructor(e,r){if(super(),e!=null&&typeof e=="string"&&!ArrayBuffer.isView(e)&&!g0(e)&&!Array.isArray(e))throw new C("Binary can only be constructed from Uint8Array or number[]");this.sub_type=r??t.BSON_BINARY_SUBTYPE_DEFAULT,e==null?(this.buffer=A.allocate(t.BUFFER_SIZE),this.position=0):(this.buffer=Array.isArray(e)?A.fromNumberArray(e):A.toLocalBufferType(e),this.position=this.buffer.byteLength)}put(e){if(typeof e=="string"&&e.length!==1)throw new C("only accepts single character String");if(typeof e!="number"&&e.length!==1)throw new C("only accepts single character Uint8Array or Array");let r;if(typeof e=="string"?r=e.charCodeAt(0):typeof e=="number"?r=e:r=e[0],r<0||r>255)throw new C("only accepts number in a valid unsigned byte range 0-255");if(this.buffer.byteLength>this.position)this.buffer[this.position++]=r;else{let n=A.allocate(t.BUFFER_SIZE+this.buffer.length);n.set(this.buffer,0),this.buffer=n,this.buffer[this.position++]=r}}write(e,r){if(r=typeof r=="number"?r:this.position,this.buffer.byteLength<r+e.length){let n=A.allocate(this.buffer.byteLength+e.length);n.set(this.buffer,0),this.buffer=n}if(ArrayBuffer.isView(e))this.buffer.set(A.toLocalBufferType(e),r),this.position=r+e.byteLength>this.position?r+e.length:this.position;else if(typeof e=="string")throw new C("input cannot be string")}read(e,r){return r=r&&r>0?r:this.position,this.buffer.slice(e,e+r)}value(){return this.buffer.length===this.position?this.buffer:this.buffer.subarray(0,this.position)}length(){return this.position}toJSON(){return A.toBase64(this.buffer.subarray(0,this.position))}toString(e){return e==="hex"?A.toHex(this.buffer.subarray(0,this.position)):e==="base64"?A.toBase64(this.buffer.subarray(0,this.position)):e==="utf8"||e==="utf-8"?A.toUTF8(this.buffer,0,this.position,!1):A.toUTF8(this.buffer,0,this.position,!1)}toExtendedJSON(e){e=e||{};let r=A.toBase64(this.buffer),n=Number(this.sub_type).toString(16);return e.legacy?{$binary:r,$type:n.length===1?"0"+n:n}:{$binary:{base64:r,subType:n.length===1?"0"+n:n}}}toUUID(){if(this.sub_type===t.SUBTYPE_UUID)return new Pr(this.buffer.slice(0,this.position));throw new C(`Binary sub_type "${this.sub_type}" is not supported for converting to UUID. Only "${t.SUBTYPE_UUID}" is currently supported.`)}static createFromHexString(e,r){return new t(A.fromHex(e),r)}static createFromBase64(e,r){return new t(A.fromBase64(e),r)}static fromExtendedJSON(e,r){r=r||{};let n,s;if("$binary"in e?r.legacy&&typeof e.$binary=="string"&&"$type"in e?(s=e.$type?parseInt(e.$type,16):0,n=A.fromBase64(e.$binary)):typeof e.$binary!="string"&&(s=e.$binary.subType?parseInt(e.$binary.subType,16):0,n=A.fromBase64(e.$binary.base64)):"$uuid"in e&&(s=4,n=Pr.bytesFromString(e.$uuid)),!n)throw new C(`Unexpected Binary Extended JSON format ${JSON.stringify(e)}`);return s===fi?new Pr(n):new t(n,s)}inspect(e,r,n){n??=Ot;let s=A.toBase64(this.buffer.subarray(0,this.position)),o=n(s,r),i=n(this.sub_type,r);return`Binary.createFromBase64(${o}, ${i})`}};ie.BSON_BINARY_SUBTYPE_DEFAULT=0;ie.BUFFER_SIZE=256;ie.SUBTYPE_DEFAULT=0;ie.SUBTYPE_FUNCTION=1;ie.SUBTYPE_BYTE_ARRAY=2;ie.SUBTYPE_UUID_OLD=3;ie.SUBTYPE_UUID=4;ie.SUBTYPE_MD5=5;ie.SUBTYPE_ENCRYPTED=6;ie.SUBTYPE_COLUMN=7;ie.SUBTYPE_SENSITIVE=8;ie.SUBTYPE_USER_DEFINED=128;var Kc=16,_7=/^[0-9A-F]{32}$/i,B7=/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,Pr=class t extends ie{constructor(e){let r;if(e==null)r=t.generate();else if(e instanceof t)r=A.toLocalBufferType(new Uint8Array(e.buffer));else if(ArrayBuffer.isView(e)&&e.byteLength===Kc)r=A.toLocalBufferType(e);else if(typeof e=="string")r=t.bytesFromString(e);else throw new C("Argument passed in UUID constructor must be a UUID, a 16 byte Buffer or a 32/36 character hex string (dashes excluded/included, format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).");super(r,fi)}get id(){return this.buffer}set id(e){this.buffer=e}toHexString(e=!0){return e?[A.toHex(this.buffer.subarray(0,4)),A.toHex(this.buffer.subarray(4,6)),A.toHex(this.buffer.subarray(6,8)),A.toHex(this.buffer.subarray(8,10)),A.toHex(this.buffer.subarray(10,16))].join("-"):A.toHex(this.buffer)}toString(e){return e==="hex"?A.toHex(this.id):e==="base64"?A.toBase64(this.id):this.toHexString()}toJSON(){return this.toHexString()}equals(e){if(!e)return!1;if(e instanceof t)return A.equals(e.id,this.id);try{return A.equals(new t(e).id,this.id)}catch{return!1}}toBinary(){return new ie(this.id,ie.SUBTYPE_UUID)}static generate(){let e=A.randomBytes(Kc);return e[6]=e[6]&15|64,e[8]=e[8]&63|128,e}static isValid(e){return e?typeof e=="string"?t.isValidUUIDString(e):Ds(e)?e.byteLength===Kc:e._bsontype==="Binary"&&e.sub_type===this.SUBTYPE_UUID&&e.buffer.byteLength===16:!1}static createFromHexString(e){let r=t.bytesFromString(e);return new t(r)}static createFromBase64(e){return new t(A.fromBase64(e))}static bytesFromString(e){if(!t.isValidUUIDString(e))throw new C("UUID string representation must be 32 hex digits or canonical hyphenated representation");return A.fromHex(e.replace(/-/g,""))}static isValidUUIDString(e){return _7.test(e)||B7.test(e)}inspect(e,r,n){return n??=Ot,`new UUID(${n(this.toHexString(),r)})`}},Lr=class t extends Qe{get _bsontype(){return"Code"}constructor(e,r){super(),this.code=e.toString(),this.scope=r??null}toJSON(){return this.scope!=null?{code:this.code,scope:this.scope}:{code:this.code}}toExtendedJSON(){return this.scope?{$code:this.code,$scope:this.scope}:{$code:this.code}}static fromExtendedJSON(e){return new t(e.$code,e.$scope)}inspect(e,r,n){n??=Ot;let s=n(this.code,r),o=s.includes(`
2
- `);this.scope!=null&&(s+=`,${o?`
3
- `:" "}${n(this.scope,r)}`);let i=o&&this.scope===null;return`new Code(${o?`
4
- `:""}${s}${i?`
5
- `:""})`}};function P3(t){return t!=null&&typeof t=="object"&&"$id"in t&&t.$id!=null&&"$ref"in t&&typeof t.$ref=="string"&&(!("$db"in t)||"$db"in t&&typeof t.$db=="string")}var Ar=class t extends Qe{get _bsontype(){return"DBRef"}constructor(e,r,n,s){super();let o=e.split(".");o.length===2&&(n=o.shift(),e=o.shift()),this.collection=e,this.oid=r,this.db=n,this.fields=s||{}}get namespace(){return this.collection}set namespace(e){this.collection=e}toJSON(){let e=Object.assign({$ref:this.collection,$id:this.oid},this.fields);return this.db!=null&&(e.$db=this.db),e}toExtendedJSON(e){e=e||{};let r={$ref:this.collection,$id:this.oid};return e.legacy||(this.db&&(r.$db=this.db),r=Object.assign(r,this.fields)),r}static fromExtendedJSON(e){let r=Object.assign({},e);return delete r.$ref,delete r.$id,delete r.$db,new t(e.$ref,e.$id,e.$db,r)}inspect(e,r,n){n??=Ot;let s=[n(this.namespace,r),n(this.oid,r),...this.db?[n(this.db,r)]:[],...Object.keys(this.fields).length>0?[n(this.fields,r)]:[]];return s[1]=n===Ot?`new ObjectId(${s[1]})`:s[1],`new DBRef(${s.join(", ")})`}};function L3(t){if(t==="")return t;let e=0,r=t[e]==="-",n=t[e]==="+";(n||r)&&(e+=1);let s=!1;for(;e<t.length&&t[e]==="0";++e)s=!0;return s?`${r?"-":""}${t.length===e?"0":t.slice(e)}`:n?t.slice(1):t}function b7(t,e){e=e??10;let r="0123456789abcdefghijklmnopqrstuvwxyz".slice(0,e);return new RegExp(`[^-+${r}]`,"i").test(t)?!1:t}var It;try{It=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}var n3=65536,T7=1<<24,bs=n3*n3,x3=bs*bs,s3=x3/2,o3={},i3={},F7=20,N7=/^(\+?0|(\+|-)?[1-9][0-9]*)$/,b=class t extends Qe{get _bsontype(){return"Long"}get __isLong__(){return!0}constructor(e=0,r,n){super();let s=typeof r=="boolean"?r:!!n,o=typeof r=="number"?r:0,i=typeof e=="string"?t.fromString(e,s):typeof e=="bigint"?t.fromBigInt(e,s):{low:e|0,high:o|0,unsigned:s};this.low=i.low,this.high=i.high,this.unsigned=i.unsigned}static fromBits(e,r,n){return new t(e,r,n)}static fromInt(e,r){let n,s,o;return r?(e>>>=0,(o=0<=e&&e<256)&&(s=i3[e],s)?s:(n=t.fromBits(e,(e|0)<0?-1:0,!0),o&&(i3[e]=n),n)):(e|=0,(o=-128<=e&&e<128)&&(s=o3[e],s)?s:(n=t.fromBits(e,e<0?-1:0,!1),o&&(o3[e]=n),n))}static fromNumber(e,r){if(isNaN(e))return r?t.UZERO:t.ZERO;if(r){if(e<0)return t.UZERO;if(e>=x3)return t.MAX_UNSIGNED_VALUE}else{if(e<=-s3)return t.MIN_VALUE;if(e+1>=s3)return t.MAX_VALUE}return e<0?t.fromNumber(-e,r).neg():t.fromBits(e%bs|0,e/bs|0,r)}static fromBigInt(e,r){let n=BigInt(4294967295),s=BigInt(32);return new t(Number(e&n),Number(e>>s&n),r)}static _fromString(e,r,n){if(e.length===0)throw new C("empty string");if(n<2||36<n)throw new C("radix");let s;if((s=e.indexOf("-"))>0)throw new C("interior hyphen");if(s===0)return t._fromString(e.substring(1),r,n).neg();let o=t.fromNumber(Math.pow(n,8)),i=t.ZERO;for(let u=0;u<e.length;u+=8){let a=Math.min(8,e.length-u),c=parseInt(e.substring(u,u+a),n);if(a<8){let l=t.fromNumber(Math.pow(n,a));i=i.mul(l).add(t.fromNumber(c))}else i=i.mul(o),i=i.add(t.fromNumber(c))}return i.unsigned=r,i}static fromStringStrict(e,r,n){let s=!1;if(typeof r=="number"?(n=r,r=!1):s=!!r,n??=10,e.trim()!==e)throw new C(`Input: '${e}' contains leading and/or trailing whitespace`);if(!b7(e,n))throw new C(`Input: '${e}' contains invalid characters for radix: ${n}`);let o=L3(e),i=t._fromString(o,s,n);if(i.toString(n).toLowerCase()!==o.toLowerCase())throw new C(`Input: ${e} is not representable as ${i.unsigned?"an unsigned":"a signed"} 64-bit Long ${n!=null?`with radix: ${n}`:""}`);return i}static fromString(e,r,n){let s=!1;return typeof r=="number"?(n=r,r=!1):s=!!r,n??=10,e==="NaN"&&n<24||(e==="Infinity"||e==="+Infinity"||e==="-Infinity")&&n<35?t.ZERO:t._fromString(e,s,n)}static fromBytes(e,r,n){return n?t.fromBytesLE(e,r):t.fromBytesBE(e,r)}static fromBytesLE(e,r){return new t(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,r)}static fromBytesBE(e,r){return new t(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],r)}static isLong(e){return e!=null&&typeof e=="object"&&"__isLong__"in e&&e.__isLong__===!0}static fromValue(e,r){return typeof e=="number"?t.fromNumber(e,r):typeof e=="string"?t.fromString(e,r):t.fromBits(e.low,e.high,typeof r=="boolean"?r:e.unsigned)}add(e){t.isLong(e)||(e=t.fromValue(e));let r=this.high>>>16,n=this.high&65535,s=this.low>>>16,o=this.low&65535,i=e.high>>>16,u=e.high&65535,a=e.low>>>16,c=e.low&65535,l=0,h=0,f=0,S=0;return S+=o+c,f+=S>>>16,S&=65535,f+=s+a,h+=f>>>16,f&=65535,h+=n+u,l+=h>>>16,h&=65535,l+=r+i,l&=65535,t.fromBits(f<<16|S,l<<16|h,this.unsigned)}and(e){return t.isLong(e)||(e=t.fromValue(e)),t.fromBits(this.low&e.low,this.high&e.high,this.unsigned)}compare(e){if(t.isLong(e)||(e=t.fromValue(e)),this.eq(e))return 0;let r=this.isNegative(),n=e.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1}comp(e){return this.compare(e)}divide(e){if(t.isLong(e)||(e=t.fromValue(e)),e.isZero())throw new C("division by zero");if(It){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;let o=(this.unsigned?It.div_u:It.div_s)(this.low,this.high,e.low,e.high);return t.fromBits(o,It.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?t.UZERO:t.ZERO;let r,n,s;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return t.UZERO;if(e.gt(this.shru(1)))return t.UONE;s=t.UZERO}else{if(this.eq(t.MIN_VALUE))return e.eq(t.ONE)||e.eq(t.NEG_ONE)?t.MIN_VALUE:e.eq(t.MIN_VALUE)?t.ONE:(r=this.shr(1).div(e).shl(1),r.eq(t.ZERO)?e.isNegative()?t.ONE:t.NEG_ONE:(n=this.sub(e.mul(r)),s=r.add(n.div(e)),s));if(e.eq(t.MIN_VALUE))return this.unsigned?t.UZERO:t.ZERO;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();s=t.ZERO}for(n=this;n.gte(e);){r=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));let o=Math.ceil(Math.log(r)/Math.LN2),i=o<=48?1:Math.pow(2,o-48),u=t.fromNumber(r),a=u.mul(e);for(;a.isNegative()||a.gt(n);)r-=i,u=t.fromNumber(r,this.unsigned),a=u.mul(e);u.isZero()&&(u=t.ONE),s=s.add(u),n=n.sub(a)}return s}div(e){return this.divide(e)}equals(e){return t.isLong(e)||(e=t.fromValue(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low}eq(e){return this.equals(e)}getHighBits(){return this.high}getHighBitsUnsigned(){return this.high>>>0}getLowBits(){return this.low}getLowBitsUnsigned(){return this.low>>>0}getNumBitsAbs(){if(this.isNegative())return this.eq(t.MIN_VALUE)?64:this.neg().getNumBitsAbs();let e=this.high!==0?this.high:this.low,r;for(r=31;r>0&&!(e&1<<r);r--);return this.high!==0?r+33:r+1}greaterThan(e){return this.comp(e)>0}gt(e){return this.greaterThan(e)}greaterThanOrEqual(e){return this.comp(e)>=0}gte(e){return this.greaterThanOrEqual(e)}ge(e){return this.greaterThanOrEqual(e)}isEven(){return(this.low&1)===0}isNegative(){return!this.unsigned&&this.high<0}isOdd(){return(this.low&1)===1}isPositive(){return this.unsigned||this.high>=0}isZero(){return this.high===0&&this.low===0}lessThan(e){return this.comp(e)<0}lt(e){return this.lessThan(e)}lessThanOrEqual(e){return this.comp(e)<=0}lte(e){return this.lessThanOrEqual(e)}modulo(e){if(t.isLong(e)||(e=t.fromValue(e)),It){let r=(this.unsigned?It.rem_u:It.rem_s)(this.low,this.high,e.low,e.high);return t.fromBits(r,It.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))}mod(e){return this.modulo(e)}rem(e){return this.modulo(e)}multiply(e){if(this.isZero())return t.ZERO;if(t.isLong(e)||(e=t.fromValue(e)),It){let y=It.mul(this.low,this.high,e.low,e.high);return t.fromBits(y,It.get_high(),this.unsigned)}if(e.isZero())return t.ZERO;if(this.eq(t.MIN_VALUE))return e.isOdd()?t.MIN_VALUE:t.ZERO;if(e.eq(t.MIN_VALUE))return this.isOdd()?t.MIN_VALUE:t.ZERO;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(t.TWO_PWR_24)&&e.lt(t.TWO_PWR_24))return t.fromNumber(this.toNumber()*e.toNumber(),this.unsigned);let r=this.high>>>16,n=this.high&65535,s=this.low>>>16,o=this.low&65535,i=e.high>>>16,u=e.high&65535,a=e.low>>>16,c=e.low&65535,l=0,h=0,f=0,S=0;return S+=o*c,f+=S>>>16,S&=65535,f+=s*c,h+=f>>>16,f&=65535,f+=o*a,h+=f>>>16,f&=65535,h+=n*c,l+=h>>>16,h&=65535,h+=s*a,l+=h>>>16,h&=65535,h+=o*u,l+=h>>>16,h&=65535,l+=r*c+n*a+s*u+o*i,l&=65535,t.fromBits(f<<16|S,l<<16|h,this.unsigned)}mul(e){return this.multiply(e)}negate(){return!this.unsigned&&this.eq(t.MIN_VALUE)?t.MIN_VALUE:this.not().add(t.ONE)}neg(){return this.negate()}not(){return t.fromBits(~this.low,~this.high,this.unsigned)}notEquals(e){return!this.equals(e)}neq(e){return this.notEquals(e)}ne(e){return this.notEquals(e)}or(e){return t.isLong(e)||(e=t.fromValue(e)),t.fromBits(this.low|e.low,this.high|e.high,this.unsigned)}shiftLeft(e){return t.isLong(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?t.fromBits(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):t.fromBits(0,this.low<<e-32,this.unsigned)}shl(e){return this.shiftLeft(e)}shiftRight(e){return t.isLong(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?t.fromBits(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):t.fromBits(this.high>>e-32,this.high>=0?0:-1,this.unsigned)}shr(e){return this.shiftRight(e)}shiftRightUnsigned(e){if(t.isLong(e)&&(e=e.toInt()),e&=63,e===0)return this;{let r=this.high;if(e<32){let n=this.low;return t.fromBits(n>>>e|r<<32-e,r>>>e,this.unsigned)}else return e===32?t.fromBits(r,0,this.unsigned):t.fromBits(r>>>e-32,0,this.unsigned)}}shr_u(e){return this.shiftRightUnsigned(e)}shru(e){return this.shiftRightUnsigned(e)}subtract(e){return t.isLong(e)||(e=t.fromValue(e)),this.add(e.neg())}sub(e){return this.subtract(e)}toInt(){return this.unsigned?this.low>>>0:this.low}toNumber(){return this.unsigned?(this.high>>>0)*bs+(this.low>>>0):this.high*bs+(this.low>>>0)}toBigInt(){return BigInt(this.toString())}toBytes(e){return e?this.toBytesLE():this.toBytesBE()}toBytesLE(){let e=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]}toBytesBE(){let e=this.high,r=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,r>>>24,r>>>16&255,r>>>8&255,r&255]}toSigned(){return this.unsigned?t.fromBits(this.low,this.high,!1):this}toString(e){if(e=e||10,e<2||36<e)throw new C("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(t.MIN_VALUE)){let o=t.fromNumber(e),i=this.div(o),u=i.mul(o).sub(this);return i.toString(e)+u.toInt().toString(e)}else return"-"+this.neg().toString(e);let r=t.fromNumber(Math.pow(e,6),this.unsigned),n=this,s="";for(;;){let o=n.div(r),u=(n.sub(o.mul(r)).toInt()>>>0).toString(e);if(n=o,n.isZero())return u+s;for(;u.length<6;)u="0"+u;s=""+u+s}}toUnsigned(){return this.unsigned?this:t.fromBits(this.low,this.high,!0)}xor(e){return t.isLong(e)||(e=t.fromValue(e)),t.fromBits(this.low^e.low,this.high^e.high,this.unsigned)}eqz(){return this.isZero()}le(e){return this.lessThanOrEqual(e)}toExtendedJSON(e){return e&&e.relaxed?this.toNumber():{$numberLong:this.toString()}}static fromExtendedJSON(e,r){let{useBigInt64:n=!1,relaxed:s=!0}={...r};if(e.$numberLong.length>F7)throw new C("$numberLong string is too long");if(!N7.test(e.$numberLong))throw new C(`$numberLong string "${e.$numberLong}" is in an invalid format`);if(n){let i=BigInt(e.$numberLong);return BigInt.asIntN(64,i)}let o=t.fromString(e.$numberLong);return s?o.toNumber():o}inspect(e,r,n){n??=Ot;let s=n(this.toString(),r),o=this.unsigned?`, ${n(this.unsigned,r)}`:"";return`new Long(${s}${o})`}};b.TWO_PWR_24=b.fromInt(T7);b.MAX_UNSIGNED_VALUE=b.fromBits(-1,-1,!0);b.ZERO=b.fromInt(0);b.UZERO=b.fromInt(0,!0);b.ONE=b.fromInt(1);b.UONE=b.fromInt(1,!0);b.NEG_ONE=b.fromInt(-1);b.MAX_VALUE=b.fromBits(-1,2147483647,!1);b.MIN_VALUE=b.fromBits(0,-2147483648,!1);var R7=/^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/,M7=/^(\+|-)?(Infinity|inf)$/i,I7=/^(\+|-)?NaN$/i,ws=6111,Vo=-6176,u3=6176,a3=34,Yc=A.fromNumberArray([124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse()),c3=A.fromNumberArray([248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse()),l3=A.fromNumberArray([120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse()),v7=/^([-+])?(\d+)?$/,P7=31,h3=16383,L7=30,x7=31;function d3(t){return!isNaN(parseInt(t,10))}function k7(t){let e=b.fromNumber(1e9),r=b.fromNumber(0);if(!t.parts[0]&&!t.parts[1]&&!t.parts[2]&&!t.parts[3])return{quotient:t,rem:r};for(let n=0;n<=3;n++)r=r.shiftLeft(32),r=r.add(new b(t.parts[n],0)),t.parts[n]=r.div(e).low,r=r.modulo(e);return{quotient:t,rem:r}}function q7(t,e){if(!t&&!e)return{high:b.fromNumber(0),low:b.fromNumber(0)};let r=t.shiftRightUnsigned(32),n=new b(t.getLowBits(),0),s=e.shiftRightUnsigned(32),o=new b(e.getLowBits(),0),i=r.multiply(s),u=r.multiply(o),a=n.multiply(s),c=n.multiply(o);return i=i.add(u.shiftRightUnsigned(32)),u=new b(u.getLowBits(),0).add(a).add(c.shiftRightUnsigned(32)),i=i.add(u.shiftRightUnsigned(32)),c=u.shiftLeft(32).add(new b(c.getLowBits(),0)),{high:i,low:c}}function U7(t,e){let r=t.high>>>0,n=e.high>>>0;if(r<n)return!0;if(r===n){let s=t.low>>>0,o=e.low>>>0;if(s<o)return!0}return!1}function Jt(t,e){throw new C(`"${t}" is not a valid Decimal128 string - ${e}`)}var Gn=class t extends Qe{get _bsontype(){return"Decimal128"}constructor(e){if(super(),typeof e=="string")this.bytes=t.fromString(e).bytes;else if(Ds(e)){if(e.byteLength!==16)throw new C("Decimal128 must take a Buffer of 16 bytes");this.bytes=e}else throw new C("Decimal128 must take a Buffer or string")}static fromString(e){return t._fromString(e,{allowRounding:!1})}static fromStringWithRounding(e){return t._fromString(e,{allowRounding:!0})}static _fromString(e,r){let n=!1,s=!1,o=!1,i=!1,u=0,a=0,c=0,l=0,h=0,f=[0],S=0,y=0,F=0,I=0,D=new b(0,0),T=new b(0,0),J=0,B=0;if(e.length>=7e3)throw new C(""+e+" not a valid Decimal128 string");let ge=e.match(R7),z=e.match(M7),L=e.match(I7);if(!ge&&!z&&!L||e.length===0)throw new C(""+e+" not a valid Decimal128 string");if(ge){let O=ge[2],P=ge[4],K=ge[5],ve=ge[6];P&&ve===void 0&&Jt(e,"missing exponent power"),P&&O===void 0&&Jt(e,"missing exponent base"),P===void 0&&(K||ve)&&Jt(e,"missing e before exponent")}if((e[B]==="+"||e[B]==="-")&&(s=!0,n=e[B++]==="-"),!d3(e[B])&&e[B]!=="."){if(e[B]==="i"||e[B]==="I")return new t(n?c3:l3);if(e[B]==="N")return new t(Yc)}for(;d3(e[B])||e[B]===".";){if(e[B]==="."){o&&Jt(e,"contains multiple periods"),o=!0,B=B+1;continue}S<a3&&(e[B]!=="0"||i)&&(i||(h=a),i=!0,f[y++]=parseInt(e[B],10),S=S+1),i&&(c=c+1),o&&(l=l+1),a=a+1,B=B+1}if(o&&!a)throw new C(""+e+" not a valid Decimal128 string");if(e[B]==="e"||e[B]==="E"){let O=e.substr(++B).match(v7);if(!O||!O[2])return new t(Yc);I=parseInt(O[0],10),B=B+O[0].length}if(e[B])return new t(Yc);if(!S)f[0]=0,c=1,S=1,u=0;else if(F=S-1,u=c,u!==1)for(;e[h+u-1+Number(s)+Number(o)]==="0";)u=u-1;for(I<=l&&l>I+16384?I=Vo:I=I-l;I>ws;){if(F=F+1,F>=a3){if(u===0){I=ws;break}Jt(e,"overflow")}I=I-1}if(r.allowRounding){for(;I<Vo||S<c;){if(F===0&&u<S){I=Vo,u=0;break}if(S<c?c=c-1:F=F-1,I<ws)I=I+1;else{if(f.join("").match(/^0+$/)){I=ws;break}Jt(e,"overflow")}}if(F+1<u){let O=a;o&&(h=h+1,O=O+1),s&&(h=h+1,O=O+1);let P=parseInt(e[h+F+1],10),K=0;if(P>=5&&(K=1,P===5)){K=f[F]%2===1?1:0;for(let ve=h+F+2;ve<O;ve++)if(parseInt(e[ve],10)){K=1;break}}if(K){let ve=F;for(;ve>=0&&++f[ve]>9;ve--)if(f[ve]=0,ve===0)if(I<ws)I=I+1,f[ve]=1;else return new t(n?c3:l3)}}}else{for(;I<Vo||S<c;){if(F===0){if(u===0){I=Vo;break}Jt(e,"exponent underflow")}S<c?(e[c-1+Number(s)+Number(o)]!=="0"&&u!==0&&Jt(e,"inexact rounding"),c=c-1):(f[F]!==0&&Jt(e,"inexact rounding"),F=F-1),I<ws?I=I+1:Jt(e,"overflow")}F+1<u&&(o&&(h=h+1),s&&(h=h+1),parseInt(e[h+F+1],10)!==0&&Jt(e,"inexact rounding"))}if(D=b.fromNumber(0),T=b.fromNumber(0),u===0)D=b.fromNumber(0),T=b.fromNumber(0);else if(F<17){let O=0;for(T=b.fromNumber(f[O++]),D=new b(0,0);O<=F;O++)T=T.multiply(b.fromNumber(10)),T=T.add(b.fromNumber(f[O]))}else{let O=0;for(D=b.fromNumber(f[O++]);O<=F-17;O++)D=D.multiply(b.fromNumber(10)),D=D.add(b.fromNumber(f[O]));for(T=b.fromNumber(f[O++]);O<=F;O++)T=T.multiply(b.fromNumber(10)),T=T.add(b.fromNumber(f[O]))}let Ne=q7(D,b.fromString("100000000000000000"));Ne.low=Ne.low.add(T),U7(Ne.low,T)&&(Ne.high=Ne.high.add(b.fromNumber(1))),J=I+u3;let W={low:b.fromNumber(0),high:b.fromNumber(0)};Ne.high.shiftRightUnsigned(49).and(b.fromNumber(1)).equals(b.fromNumber(1))?(W.high=W.high.or(b.fromNumber(3).shiftLeft(61)),W.high=W.high.or(b.fromNumber(J).and(b.fromNumber(16383).shiftLeft(47))),W.high=W.high.or(Ne.high.and(b.fromNumber(0x7fffffffffff)))):(W.high=W.high.or(b.fromNumber(J&16383).shiftLeft(49)),W.high=W.high.or(Ne.high.and(b.fromNumber(562949953421311)))),W.low=Ne.low,n&&(W.high=W.high.or(b.fromString("9223372036854775808")));let N=A.allocateUnsafe(16);return B=0,N[B++]=W.low.low&255,N[B++]=W.low.low>>8&255,N[B++]=W.low.low>>16&255,N[B++]=W.low.low>>24&255,N[B++]=W.low.high&255,N[B++]=W.low.high>>8&255,N[B++]=W.low.high>>16&255,N[B++]=W.low.high>>24&255,N[B++]=W.high.low&255,N[B++]=W.high.low>>8&255,N[B++]=W.high.low>>16&255,N[B++]=W.high.low>>24&255,N[B++]=W.high.high&255,N[B++]=W.high.high>>8&255,N[B++]=W.high.high>>16&255,N[B++]=W.high.high>>24&255,new t(N)}toString(){let e,r=0,n=new Array(36);for(let B=0;B<n.length;B++)n[B]=0;let s=0,o=!1,i,u={parts:[0,0,0,0]},a,c,l=[];s=0;let h=this.bytes,f=h[s++]|h[s++]<<8|h[s++]<<16|h[s++]<<24,S=h[s++]|h[s++]<<8|h[s++]<<16|h[s++]<<24,y=h[s++]|h[s++]<<8|h[s++]<<16|h[s++]<<24,F=h[s++]|h[s++]<<8|h[s++]<<16|h[s++]<<24;s=0,{low:new b(f,S),high:new b(y,F)}.high.lessThan(b.ZERO)&&l.push("-");let D=F>>26&P7;if(D>>3===3){if(D===L7)return l.join("")+"Infinity";if(D===x7)return"NaN";e=F>>15&h3,i=8+(F>>14&1)}else i=F>>14&7,e=F>>17&h3;let T=e-u3;if(u.parts[0]=(F&16383)+((i&15)<<14),u.parts[1]=y,u.parts[2]=S,u.parts[3]=f,u.parts[0]===0&&u.parts[1]===0&&u.parts[2]===0&&u.parts[3]===0)o=!0;else for(c=3;c>=0;c--){let B=0,ge=k7(u);if(u=ge.quotient,B=ge.rem.low,!!B)for(a=8;a>=0;a--)n[c*9+a]=B%10,B=Math.floor(B/10)}if(o)r=1,n[s]=0;else for(r=36;!n[s];)r=r-1,s=s+1;let J=r-1+T;if(J>=34||J<=-7||T>0){if(r>34)return l.push("0"),T>0?l.push(`E+${T}`):T<0&&l.push(`E${T}`),l.join("");l.push(`${n[s++]}`),r=r-1,r&&l.push(".");for(let B=0;B<r;B++)l.push(`${n[s++]}`);l.push("E"),J>0?l.push(`+${J}`):l.push(`${J}`)}else if(T>=0)for(let B=0;B<r;B++)l.push(`${n[s++]}`);else{let B=r+T;if(B>0)for(let ge=0;ge<B;ge++)l.push(`${n[s++]}`);else l.push("0");for(l.push(".");B++<0;)l.push("0");for(let ge=0;ge<r-Math.max(B-1,0);ge++)l.push(`${n[s++]}`)}return l.join("")}toJSON(){return{$numberDecimal:this.toString()}}toExtendedJSON(){return{$numberDecimal:this.toString()}}static fromExtendedJSON(e){return t.fromString(e.$numberDecimal)}inspect(e,r,n){return n??=Ot,`new Decimal128(${n(this.toString(),r)})`}},dn=class t extends Qe{get _bsontype(){return"Double"}constructor(e){super(),e instanceof Number&&(e=e.valueOf()),this.value=+e}static fromString(e){let r=Number(e);if(e==="NaN")return new t(NaN);if(e==="Infinity")return new t(1/0);if(e==="-Infinity")return new t(-1/0);if(!Number.isFinite(r))throw new C(`Input: ${e} is not representable as a Double`);if(e.trim()!==e)throw new C(`Input: '${e}' contains whitespace`);if(e==="")throw new C("Input is an empty string");if(/[^-0-9.+eE]/.test(e))throw new C(`Input: '${e}' is not in decimal or exponential notation`);return new t(r)}valueOf(){return this.value}toJSON(){return this.value}toString(e){return this.value.toString(e)}toExtendedJSON(e){return e&&(e.legacy||e.relaxed&&isFinite(this.value))?this.value:Object.is(Math.sign(this.value),-0)?{$numberDouble:"-0.0"}:{$numberDouble:Number.isInteger(this.value)?this.value.toFixed(1):this.value.toString()}}static fromExtendedJSON(e,r){let n=parseFloat(e.$numberDouble);return r&&r.relaxed?n:new t(n)}inspect(e,r,n){return n??=Ot,`new Double(${n(this.value,r)})`}},fn=class t extends Qe{get _bsontype(){return"Int32"}constructor(e){super(),e instanceof Number&&(e=e.valueOf()),this.value=+e|0}static fromString(e){let r=L3(e),n=Number(e);if(Ko<n)throw new C(`Input: '${e}' is larger than the maximum value for Int32`);if(Yo>n)throw new C(`Input: '${e}' is smaller than the minimum value for Int32`);if(Number.isSafeInteger(n)){if(n.toString()!==r)throw new C(`Input: '${e}' is not a valid Int32 string`)}else throw new C(`Input: '${e}' is not a safe integer`);return new t(n)}valueOf(){return this.value}toString(e){return this.value.toString(e)}toJSON(){return this.value}toExtendedJSON(e){return e&&(e.relaxed||e.legacy)?this.value:{$numberInt:this.value.toString()}}static fromExtendedJSON(e,r){return r&&r.relaxed?parseInt(e.$numberInt,10):new t(e.$numberInt)}inspect(e,r,n){return n??=Ot,`new Int32(${n(this.value,r)})`}},Hn=class t extends Qe{get _bsontype(){return"MaxKey"}toExtendedJSON(){return{$maxKey:1}}static fromExtendedJSON(){return new t}inspect(){return"new MaxKey()"}},Kn=class t extends Qe{get _bsontype(){return"MinKey"}toExtendedJSON(){return{$minKey:1}}static fromExtendedJSON(){return new t}inspect(){return"new MinKey()"}},Ts=new Float64Array(1),ee=new Uint8Array(Ts.buffer,0,8);Ts[0]=-1;var f3=ee[7]===0,k={getNonnegativeInt32LE(t,e){if(t[e+3]>127)throw new RangeError(`Size cannot be negative at offset: ${e}`);return t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24},getInt32LE(t,e){return t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24},getUint32LE(t,e){return t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216},getUint32BE(t,e){return t[e+3]+t[e+2]*256+t[e+1]*65536+t[e]*16777216},getBigInt64LE(t,e){let r=k.getUint32LE(t,e),n=k.getUint32LE(t,e+4);return(BigInt(n)<<BigInt(32))+BigInt(r)},getFloat64LE:f3?(t,e)=>(ee[7]=t[e],ee[6]=t[e+1],ee[5]=t[e+2],ee[4]=t[e+3],ee[3]=t[e+4],ee[2]=t[e+5],ee[1]=t[e+6],ee[0]=t[e+7],Ts[0]):(t,e)=>(ee[0]=t[e],ee[1]=t[e+1],ee[2]=t[e+2],ee[3]=t[e+3],ee[4]=t[e+4],ee[5]=t[e+5],ee[6]=t[e+6],ee[7]=t[e+7],Ts[0]),setInt32BE(t,e,r){return t[e+3]=r,r>>>=8,t[e+2]=r,r>>>=8,t[e+1]=r,r>>>=8,t[e]=r,4},setInt32LE(t,e,r){return t[e]=r,r>>>=8,t[e+1]=r,r>>>=8,t[e+2]=r,r>>>=8,t[e+3]=r,4},setBigInt64LE(t,e,r){let n=BigInt(4294967295),s=Number(r&n);t[e]=s,s>>=8,t[e+1]=s,s>>=8,t[e+2]=s,s>>=8,t[e+3]=s;let o=Number(r>>BigInt(32)&n);return t[e+4]=o,o>>=8,t[e+5]=o,o>>=8,t[e+6]=o,o>>=8,t[e+7]=o,8},setFloat64LE:f3?(t,e,r)=>(Ts[0]=r,t[e]=ee[7],t[e+1]=ee[6],t[e+2]=ee[5],t[e+3]=ee[4],t[e+4]=ee[3],t[e+5]=ee[2],t[e+6]=ee[1],t[e+7]=ee[0],8):(t,e,r)=>(Ts[0]=r,t[e]=ee[0],t[e+1]=ee[1],t[e+2]=ee[2],t[e+3]=ee[3],t[e+4]=ee[4],t[e+5]=ee[5],t[e+6]=ee[6],t[e+7]=ee[7],8)},j7=new RegExp("^[0-9a-fA-F]{24}$"),Vn=null,xr=class t extends Qe{get _bsontype(){return"ObjectId"}constructor(e){super();let r;if(typeof e=="object"&&e&&"id"in e){if(typeof e.id!="string"&&!ArrayBuffer.isView(e.id))throw new C("Argument passed in must have an id that is of type string or Buffer");"toHexString"in e&&typeof e.toHexString=="function"?r=A.fromHex(e.toHexString()):r=e.id}else r=e;if(r==null||typeof r=="number")this.buffer=t.generate(typeof r=="number"?r:void 0);else if(ArrayBuffer.isView(r)&&r.byteLength===12)this.buffer=A.toLocalBufferType(r);else if(typeof r=="string")if(r.length===24&&j7.test(r))this.buffer=A.fromHex(r);else throw new C("input must be a 24 character hex string, 12 byte Uint8Array, or an integer");else throw new C("Argument passed in does not match the accepted types");t.cacheHexString&&(this.__id=A.toHex(this.id))}get id(){return this.buffer}set id(e){this.buffer=e,t.cacheHexString&&(this.__id=A.toHex(e))}toHexString(){if(t.cacheHexString&&this.__id)return this.__id;let e=A.toHex(this.id);return t.cacheHexString&&!this.__id&&(this.__id=e),e}static getInc(){return t.index=(t.index+1)%16777215}static generate(e){typeof e!="number"&&(e=Math.floor(Date.now()/1e3));let r=t.getInc(),n=A.allocateUnsafe(12);return k.setInt32BE(n,0,e),Vn===null&&(Vn=A.randomBytes(5)),n[4]=Vn[0],n[5]=Vn[1],n[6]=Vn[2],n[7]=Vn[3],n[8]=Vn[4],n[11]=r&255,n[10]=r>>8&255,n[9]=r>>16&255,n}toString(e){return e==="base64"?A.toBase64(this.id):e==="hex"?this.toHexString():this.toHexString()}toJSON(){return this.toHexString()}static is(e){return e!=null&&typeof e=="object"&&"_bsontype"in e&&e._bsontype==="ObjectId"}equals(e){if(e==null)return!1;if(t.is(e))return this.buffer[11]===e.buffer[11]&&A.equals(this.buffer,e.buffer);if(typeof e=="string")return e.toLowerCase()===this.toHexString();if(typeof e=="object"&&typeof e.toHexString=="function"){let r=e.toHexString(),n=this.toHexString();return typeof r=="string"&&r.toLowerCase()===n}return!1}getTimestamp(){let e=new Date,r=k.getUint32BE(this.buffer,0);return e.setTime(Math.floor(r)*1e3),e}static createPk(){return new t}serializeInto(e,r){return e[r]=this.buffer[0],e[r+1]=this.buffer[1],e[r+2]=this.buffer[2],e[r+3]=this.buffer[3],e[r+4]=this.buffer[4],e[r+5]=this.buffer[5],e[r+6]=this.buffer[6],e[r+7]=this.buffer[7],e[r+8]=this.buffer[8],e[r+9]=this.buffer[9],e[r+10]=this.buffer[10],e[r+11]=this.buffer[11],12}static createFromTime(e){let r=A.allocate(12);for(let n=11;n>=4;n--)r[n]=0;return k.setInt32BE(r,0,e),new t(r)}static createFromHexString(e){if(e?.length!==24)throw new C("hex string must be 24 characters");return new t(A.fromHex(e))}static createFromBase64(e){if(e?.length!==16)throw new C("base64 string must be 16 characters");return new t(A.fromBase64(e))}static isValid(e){if(e==null)return!1;try{return new t(e),!0}catch{return!1}}toExtendedJSON(){return this.toHexString?{$oid:this.toHexString()}:{$oid:this.toString("hex")}}static fromExtendedJSON(e){return new t(e.$oid)}inspect(e,r,n){return n??=Ot,`new ObjectId(${n(this.toHexString(),r)})`}};xr.index=Math.floor(Math.random()*16777215);function li(t,e,r){let n=5;if(Array.isArray(t))for(let s=0;s<t.length;s++)n+=p3(s.toString(),t[s],e,!0,r);else{typeof t?.toBSON=="function"&&(t=t.toBSON());for(let s of Object.keys(t))n+=p3(s,t[s],e,!1,r)}return n}function p3(t,e,r=!1,n=!1,s=!1){switch(typeof e?.toBSON=="function"&&(e=e.toBSON()),typeof e){case"string":return 1+A.utf8ByteLength(t)+1+4+A.utf8ByteLength(e)+1;case"number":return Math.floor(e)===e&&e>=y3&&e<=C3&&e>=Yo&&e<=Ko?(t!=null?A.utf8ByteLength(t)+1:0)+5:(t!=null?A.utf8ByteLength(t)+1:0)+9;case"undefined":return n||!s?(t!=null?A.utf8ByteLength(t)+1:0)+1:0;case"boolean":return(t!=null?A.utf8ByteLength(t)+1:0)+2;case"object":if(e!=null&&typeof e._bsontype=="string"&&e[Symbol.for("@@mdb.bson.version")]!==$n)throw new vr;if(e==null||e._bsontype==="MinKey"||e._bsontype==="MaxKey")return(t!=null?A.utf8ByteLength(t)+1:0)+1;if(e._bsontype==="ObjectId")return(t!=null?A.utf8ByteLength(t)+1:0)+13;if(e instanceof Date||Bs(e))return(t!=null?A.utf8ByteLength(t)+1:0)+9;if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer||g0(e))return(t!=null?A.utf8ByteLength(t)+1:0)+6+e.byteLength;if(e._bsontype==="Long"||e._bsontype==="Double"||e._bsontype==="Timestamp")return(t!=null?A.utf8ByteLength(t)+1:0)+9;if(e._bsontype==="Decimal128")return(t!=null?A.utf8ByteLength(t)+1:0)+17;if(e._bsontype==="Code")return e.scope!=null&&Object.keys(e.scope).length>0?(t!=null?A.utf8ByteLength(t)+1:0)+1+4+4+A.utf8ByteLength(e.code.toString())+1+li(e.scope,r,s):(t!=null?A.utf8ByteLength(t)+1:0)+1+4+A.utf8ByteLength(e.code.toString())+1;if(e._bsontype==="Binary"){let o=e;return o.sub_type===ie.SUBTYPE_BYTE_ARRAY?(t!=null?A.utf8ByteLength(t)+1:0)+(o.position+1+4+1+4):(t!=null?A.utf8ByteLength(t)+1:0)+(o.position+1+4+1)}else{if(e._bsontype==="Symbol")return(t!=null?A.utf8ByteLength(t)+1:0)+A.utf8ByteLength(e.value)+4+1+1;if(e._bsontype==="DBRef"){let o=Object.assign({$ref:e.collection,$id:e.oid},e.fields);return e.db!=null&&(o.$db=e.db),(t!=null?A.utf8ByteLength(t)+1:0)+1+li(o,r,s)}else return e instanceof RegExp||_s(e)?(t!=null?A.utf8ByteLength(t)+1:0)+1+A.utf8ByteLength(e.source)+1+(e.global?1:0)+(e.ignoreCase?1:0)+(e.multiline?1:0)+1:e._bsontype==="BSONRegExp"?(t!=null?A.utf8ByteLength(t)+1:0)+1+A.utf8ByteLength(e.pattern)+1+A.utf8ByteLength(e.options)+1:(t!=null?A.utf8ByteLength(t)+1:0)+li(e,r,s)+1}case"function":if(r)return(t!=null?A.utf8ByteLength(t)+1:0)+1+4+A.utf8ByteLength(e.toString())+1}return 0}function z7(t){return t.split("").sort().join("")}var kr=class t extends Qe{get _bsontype(){return"BSONRegExp"}constructor(e,r){if(super(),this.pattern=e,this.options=z7(r??""),this.pattern.indexOf("\0")!==-1)throw new C(`BSON Regex patterns cannot contain null bytes, found: ${JSON.stringify(this.pattern)}`);if(this.options.indexOf("\0")!==-1)throw new C(`BSON Regex options cannot contain null bytes, found: ${JSON.stringify(this.options)}`);for(let n=0;n<this.options.length;n++)if(!(this.options[n]==="i"||this.options[n]==="m"||this.options[n]==="x"||this.options[n]==="l"||this.options[n]==="s"||this.options[n]==="u"))throw new C(`The regular expression option [${this.options[n]}] is not supported`)}static parseOptions(e){return e?e.split("").sort().join(""):""}toExtendedJSON(e){return e=e||{},e.legacy?{$regex:this.pattern,$options:this.options}:{$regularExpression:{pattern:this.pattern,options:this.options}}}static fromExtendedJSON(e){if("$regex"in e)if(typeof e.$regex!="string"){if(e.$regex._bsontype==="BSONRegExp")return e}else return new t(e.$regex,t.parseOptions(e.$options));if("$regularExpression"in e)return new t(e.$regularExpression.pattern,t.parseOptions(e.$regularExpression.options));throw new C(`Unexpected BSONRegExp EJSON object form: ${JSON.stringify(e)}`)}inspect(e,r,n){let s=p7(r)??(u=>u);n??=Ot;let o=s(n(this.pattern),"regexp"),i=s(n(this.options),"regexp");return`new BSONRegExp(${o}, ${i})`}},Yn=class t extends Qe{get _bsontype(){return"BSONSymbol"}constructor(e){super(),this.value=e}valueOf(){return this.value}toString(){return this.value}toJSON(){return this.value}toExtendedJSON(){return{$symbol:this.value}}static fromExtendedJSON(e){return new t(e.$symbol)}inspect(e,r,n){return n??=Ot,`new BSONSymbol(${n(this.value,r)})`}},W7=b,pn=class t extends W7{get _bsontype(){return"Timestamp"}constructor(e){if(e==null)super(0,0,!0);else if(typeof e=="bigint")super(e,!0);else if(b.isLong(e))super(e.low,e.high,!0);else if(typeof e=="object"&&"t"in e&&"i"in e){if(typeof e.t!="number"&&(typeof e.t!="object"||e.t._bsontype!=="Int32"))throw new C("Timestamp constructed from { t, i } must provide t as a number");if(typeof e.i!="number"&&(typeof e.i!="object"||e.i._bsontype!=="Int32"))throw new C("Timestamp constructed from { t, i } must provide i as a number");let r=Number(e.t),n=Number(e.i);if(r<0||Number.isNaN(r))throw new C("Timestamp constructed from { t, i } must provide a positive t");if(n<0||Number.isNaN(n))throw new C("Timestamp constructed from { t, i } must provide a positive i");if(r>4294967295)throw new C("Timestamp constructed from { t, i } must provide t equal or less than uint32 max");if(n>4294967295)throw new C("Timestamp constructed from { t, i } must provide i equal or less than uint32 max");super(n,r,!0)}else throw new C("A Timestamp can only be constructed with: bigint, Long, or { t: number; i: number }")}toJSON(){return{$timestamp:this.toString()}}static fromInt(e){return new t(b.fromInt(e,!0))}static fromNumber(e){return new t(b.fromNumber(e,!0))}static fromBits(e,r){return new t({i:e,t:r})}static fromString(e,r){return new t(b.fromString(e,!0,r))}toExtendedJSON(){return{$timestamp:{t:this.high>>>0,i:this.low>>>0}}}static fromExtendedJSON(e){let r=b.isLong(e.$timestamp.i)?e.$timestamp.i.getLowBitsUnsigned():e.$timestamp.i,n=b.isLong(e.$timestamp.t)?e.$timestamp.t.getLowBitsUnsigned():e.$timestamp.t;return new t({t:n,i:r})}inspect(e,r,n){n??=Ot;let s=n(this.high>>>0,r),o=n(this.low>>>0,r);return`new Timestamp({ t: ${s}, i: ${o} })`}};pn.MAX_VALUE=b.MAX_UNSIGNED_VALUE;var V7=b.fromNumber(C3),$7=b.fromNumber(y3);function k3(t,e,r){e=e??{};let n=e&&e.index?e.index:0,s=k.getInt32LE(t,n);if(s<5)throw new C(`bson size must be >= 5, is ${s}`);if(e.allowObjectSmallerThanBufferSize&&t.length<s)throw new C(`buffer length ${t.length} must be >= bson size ${s}`);if(!e.allowObjectSmallerThanBufferSize&&t.length!==s)throw new C(`buffer length ${t.length} must === bson size ${s}`);if(s+n>t.byteLength)throw new C(`(bson size ${s} + options.index ${n} must be <= buffer length ${t.byteLength})`);if(t[n+s-1]!==0)throw new C("One object, sized correctly, with a spot for an EOO, but the EOO isn't 0x00");return hi(t,n,e,r)}var G7=/^\$ref$|^\$id$|^\$db$/;function hi(t,e,r,n=!1){let s=r.fieldsAsRaw==null?null:r.fieldsAsRaw,o=r.raw==null?!1:r.raw,i=typeof r.bsonRegExp=="boolean"?r.bsonRegExp:!1,u=r.promoteBuffers??!1,a=r.promoteLongs??!0,c=r.promoteValues??!0,l=r.useBigInt64??!1;if(l&&!c)throw new C("Must either request bigint or Long for int64 deserialization");if(l&&!a)throw new C("Must either request bigint or Long for int64 deserialization");let h=r.validation==null?{utf8:!0}:r.validation,f=!0,S,y,F=h.utf8;if(typeof F=="boolean")S=F;else{f=!1;let z=Object.keys(F).map(function(L){return F[L]});if(z.length===0)throw new C("UTF-8 validation setting cannot be empty");if(typeof z[0]!="boolean")throw new C("Invalid UTF-8 validation option, must specify boolean values");if(S=z[0],!z.every(L=>L===S))throw new C("Invalid UTF-8 validation option - keys must be all true or all false")}if(!f){y=new Set;for(let z of Object.keys(F))y.add(z)}let I=e;if(t.length<5)throw new C("corrupt bson message < 5 bytes long");let D=k.getInt32LE(t,e);if(e+=4,D<5||D>t.length)throw new C("corrupt bson message");let T=n?[]:{},J=0,B=!1,ge=n?!1:null;for(;!B;){let z=t[e++];if(z===0)break;let L=e;for(;t[L]!==0&&L<t.length;)L++;if(L>=t.byteLength)throw new C("Bad BSON Document: illegal CString");let Ne=n?J++:A.toUTF8(t,e,L,!1),W=!0;f||y?.has(Ne)?W=S:W=!S,ge!==!1&&Ne[0]==="$"&&(ge=G7.test(Ne));let N;if(e=L+1,z===S3){let O=k.getInt32LE(t,e);if(e+=4,O<=0||O>t.length-e||t[e+O-1]!==0)throw new C("bad string length in bson");N=A.toUTF8(t,e,e+O-1,W),e=e+O}else if(z===w3){let O=A.allocateUnsafe(12);for(let P=0;P<12;P++)O[P]=t[e+P];N=new xr(O),e=e+12}else if(z===Go&&c===!1)N=new fn(k.getInt32LE(t,e)),e+=4;else if(z===Go)N=k.getInt32LE(t,e),e+=4;else if(z===y0)N=k.getFloat64LE(t,e),e+=8,c===!1&&(N=new dn(N));else if(z===_3){let O=k.getInt32LE(t,e),P=k.getInt32LE(t,e+4);e+=8,N=new Date(new b(O,P).toNumber())}else if(z===D3){if(t[e]!==0&&t[e]!==1)throw new C("illegal boolean type value");N=t[e++]===1}else if(z===S0){let O=e,P=k.getInt32LE(t,e);if(P<=0||P>t.length-e)throw new C("bad embedded document length in bson");if(o)N=t.slice(e,e+P);else{let K=r;f||(K={...r,validation:{utf8:W}}),N=hi(t,O,K,!1)}e=e+P}else if(z===O3){let O=e,P=k.getInt32LE(t,e),K=r,ve=e+P;if(s&&s[Ne]&&(K={...r,raw:!0}),f||(K={...K,validation:{utf8:W}}),N=hi(t,O,K,!0),e=e+P,t[e-1]!==0)throw new C("invalid array terminator byte");if(e!==ve)throw new C("corrupted array bson")}else if(z===m7)N=void 0;else if(z===w0)N=null;else if(z===_0)if(l)N=k.getBigInt64LE(t,e),e+=8;else{let O=k.getInt32LE(t,e),P=k.getInt32LE(t,e+4);e+=8;let K=new b(O,P);a&&c===!0?N=K.lessThanOrEqual(V7)&&K.greaterThanOrEqual($7)?K.toNumber():K:N=K}else if(z===F3){let O=A.allocateUnsafe(16);for(let P=0;P<16;P++)O[P]=t[e+P];e=e+16,N=new Gn(O)}else if(z===O0){let O=k.getInt32LE(t,e);e+=4;let P=O,K=t[e++];if(O<0)throw new C("Negative binary type element size found");if(O>t.byteLength)throw new C("Binary type size larger than document size");if(t.slice!=null){if(K===ie.SUBTYPE_BYTE_ARRAY){if(O=k.getInt32LE(t,e),e+=4,O<0)throw new C("Negative binary type element size found for subtype 0x02");if(O>P-4)throw new C("Binary type with subtype 0x02 contains too long binary size");if(O<P-4)throw new C("Binary type with subtype 0x02 contains too short binary size")}u&&c?N=A.toLocalBufferType(t.slice(e,e+O)):(N=new ie(t.slice(e,e+O),K),K===fi&&Pr.isValid(N)&&(N=N.toUUID()))}else{if(K===ie.SUBTYPE_BYTE_ARRAY){if(O=k.getInt32LE(t,e),e+=4,O<0)throw new C("Negative binary type element size found for subtype 0x02");if(O>P-4)throw new C("Binary type with subtype 0x02 contains too long binary size");if(O<P-4)throw new C("Binary type with subtype 0x02 contains too short binary size")}if(u&&c)for(N=A.allocateUnsafe(O),L=0;L<O;L++)N[L]=t[e+L];else N=new ie(t.slice(e,e+O),K),K===fi&&Pr.isValid(N)&&(N=N.toUUID())}e=e+O}else if(z===di&&i===!1){for(L=e;t[L]!==0&&L<t.length;)L++;if(L>=t.length)throw new C("Bad BSON Document: illegal CString");let O=A.toUTF8(t,e,L,!1);for(e=L+1,L=e;t[L]!==0&&L<t.length;)L++;if(L>=t.length)throw new C("Bad BSON Document: illegal CString");let P=A.toUTF8(t,e,L,!1);e=L+1;let K=new Array(P.length);for(L=0;L<P.length;L++)switch(P[L]){case"m":K[L]="m";break;case"s":K[L]="g";break;case"i":K[L]="i";break}N=new RegExp(O,K.join(""))}else if(z===di&&i===!0){for(L=e;t[L]!==0&&L<t.length;)L++;if(L>=t.length)throw new C("Bad BSON Document: illegal CString");let O=A.toUTF8(t,e,L,!1);for(e=L+1,L=e;t[L]!==0&&L<t.length;)L++;if(L>=t.length)throw new C("Bad BSON Document: illegal CString");let P=A.toUTF8(t,e,L,!1);e=L+1,N=new kr(O,P)}else if(z===B3){let O=k.getInt32LE(t,e);if(e+=4,O<=0||O>t.length-e||t[e+O-1]!==0)throw new C("bad string length in bson");let P=A.toUTF8(t,e,e+O-1,W);N=c?P:new Yn(P),e=e+O}else if(z===T3)N=new pn({i:k.getUint32LE(t,e),t:k.getUint32LE(t,e+4)}),e+=8;else if(z===N3)N=new Kn;else if(z===R3)N=new Hn;else if(z===D0){let O=k.getInt32LE(t,e);if(e+=4,O<=0||O>t.length-e||t[e+O-1]!==0)throw new C("bad string length in bson");let P=A.toUTF8(t,e,e+O-1,W);N=new Lr(P),e=e+O}else if(z===b3){let O=k.getInt32LE(t,e);if(e+=4,O<13)throw new C("code_w_scope total size shorter minimum expected length");let P=k.getInt32LE(t,e);if(e+=4,P<=0||P>t.length-e||t[e+P-1]!==0)throw new C("bad string length in bson");let K=A.toUTF8(t,e,e+P-1,W);e=e+P;let ve=e,an=k.getInt32LE(t,e),o7=hi(t,ve,r,!1);if(e=e+an,O<8+an+P)throw new C("code_w_scope total size is too short, truncating scope");if(O>8+an+P)throw new C("code_w_scope total size is too long, clips outer document");N=new Lr(K,o7)}else if(z===E7){let O=k.getInt32LE(t,e);if(e+=4,O<=0||O>t.length-e||t[e+O-1]!==0)throw new C("bad string length in bson");let P=A.toUTF8(t,e,e+O-1,W);e=e+O;let K=A.allocateUnsafe(12);for(let an=0;an<12;an++)K[an]=t[e+an];let ve=new xr(K);e=e+12,N=new Ar(P,ve)}else throw new C(`Detected unknown BSON type ${z.toString(16)} for fieldname "${Ne}"`);Ne==="__proto__"?Object.defineProperty(T,Ne,{value:N,writable:!0,enumerable:!0,configurable:!0}):T[Ne]=N}if(D!==e-I)throw n?new C("corrupt array bson"):new C("corrupt object bson");if(!ge)return T;if(P3(T)){let z=Object.assign({},T);return delete z.$ref,delete z.$id,delete z.$db,new Ar(T.$ref,T.$id,T.$db,z)}return T}var pi=/\x00/,m3=new Set(["$db","$ref","$id","$clusterTime"]);function Xc(t,e,r,n){t[n++]=S3;let s=A.encodeUTF8Into(t,e,n);n=n+s+1,t[n-1]=0;let o=A.encodeUTF8Into(t,r,n+4);return k.setInt32LE(t,n,o+1),n=n+4+o,t[n++]=0,n}function Jc(t,e,r,n){let o=!Object.is(r,-0)&&Number.isSafeInteger(r)&&r<=Ko&&r>=Yo?Go:y0;t[n++]=o;let i=A.encodeUTF8Into(t,e,n);return n=n+i,t[n++]=0,o===Go?n+=k.setInt32LE(t,n,r):n+=k.setFloat64LE(t,n,r),n}function Qc(t,e,r,n){t[n++]=_0;let s=A.encodeUTF8Into(t,e,n);return n+=s,t[n++]=0,n+=k.setBigInt64LE(t,n,r),n}function $o(t,e,r,n){t[n++]=w0;let s=A.encodeUTF8Into(t,e,n);return n=n+s,t[n++]=0,n}function Zc(t,e,r,n){t[n++]=D3;let s=A.encodeUTF8Into(t,e,n);return n=n+s,t[n++]=0,t[n++]=r?1:0,n}function e0(t,e,r,n){t[n++]=_3;let s=A.encodeUTF8Into(t,e,n);n=n+s,t[n++]=0;let o=b.fromNumber(r.getTime()),i=o.getLowBits(),u=o.getHighBits();return n+=k.setInt32LE(t,n,i),n+=k.setInt32LE(t,n,u),n}function t0(t,e,r,n){t[n++]=di;let s=A.encodeUTF8Into(t,e,n);if(n=n+s,t[n++]=0,r.source&&r.source.match(pi)!=null)throw new C("value "+r.source+" must not contain null bytes");return n=n+A.encodeUTF8Into(t,r.source,n),t[n++]=0,r.ignoreCase&&(t[n++]=105),r.global&&(t[n++]=115),r.multiline&&(t[n++]=109),t[n++]=0,n}function r0(t,e,r,n){t[n++]=di;let s=A.encodeUTF8Into(t,e,n);if(n=n+s,t[n++]=0,r.pattern.match(pi)!=null)throw new C("pattern "+r.pattern+" must not contain null bytes");n=n+A.encodeUTF8Into(t,r.pattern,n),t[n++]=0;let o=r.options.split("").sort().join("");return n=n+A.encodeUTF8Into(t,o,n),t[n++]=0,n}function n0(t,e,r,n){r===null?t[n++]=w0:r._bsontype==="MinKey"?t[n++]=N3:t[n++]=R3;let s=A.encodeUTF8Into(t,e,n);return n=n+s,t[n++]=0,n}function s0(t,e,r,n){t[n++]=w3;let s=A.encodeUTF8Into(t,e,n);return n=n+s,t[n++]=0,n+=r.serializeInto(t,n),n}function o0(t,e,r,n){t[n++]=O0;let s=A.encodeUTF8Into(t,e,n);n=n+s,t[n++]=0;let o=r.length;if(n+=k.setInt32LE(t,n,o),t[n++]=A7,o<=16)for(let i=0;i<o;i++)t[n+i]=r[i];else t.set(r,n);return n=n+o,n}function i0(t,e,r,n,s,o,i,u,a){if(a.has(r))throw new C("Cannot convert circular structure to BSON");a.add(r),t[n++]=Array.isArray(r)?O3:S0;let c=A.encodeUTF8Into(t,e,n);n=n+c,t[n++]=0;let l=Xo(t,r,s,n,o+1,i,u,a);return a.delete(r),l}function u0(t,e,r,n){t[n++]=F3;let s=A.encodeUTF8Into(t,e,n);n=n+s,t[n++]=0;for(let o=0;o<16;o++)t[n+o]=r.bytes[o];return n+16}function a0(t,e,r,n){t[n++]=r._bsontype==="Long"?_0:T3;let s=A.encodeUTF8Into(t,e,n);n=n+s,t[n++]=0;let o=r.getLowBits(),i=r.getHighBits();return n+=k.setInt32LE(t,n,o),n+=k.setInt32LE(t,n,i),n}function c0(t,e,r,n){r=r.valueOf(),t[n++]=Go;let s=A.encodeUTF8Into(t,e,n);return n=n+s,t[n++]=0,n+=k.setInt32LE(t,n,r),n}function l0(t,e,r,n){t[n++]=y0;let s=A.encodeUTF8Into(t,e,n);return n=n+s,t[n++]=0,n+=k.setFloat64LE(t,n,r.value),n}function h0(t,e,r,n){t[n++]=D0;let s=A.encodeUTF8Into(t,e,n);n=n+s,t[n++]=0;let o=r.toString(),i=A.encodeUTF8Into(t,o,n+4)+1;return k.setInt32LE(t,n,i),n=n+4+i-1,t[n++]=0,n}function d0(t,e,r,n,s=!1,o=0,i=!1,u=!0,a){if(r.scope&&typeof r.scope=="object"){t[n++]=b3;let c=A.encodeUTF8Into(t,e,n);n=n+c,t[n++]=0;let l=n,h=r.code;n=n+4;let f=A.encodeUTF8Into(t,h,n+4)+1;k.setInt32LE(t,n,f),t[n+4+f-1]=0,n=n+f+4;let S=Xo(t,r.scope,s,n,o+1,i,u,a);n=S-1;let y=S-l;l+=k.setInt32LE(t,l,y),t[n++]=0}else{t[n++]=D0;let c=A.encodeUTF8Into(t,e,n);n=n+c,t[n++]=0;let l=r.code.toString(),h=A.encodeUTF8Into(t,l,n+4)+1;k.setInt32LE(t,n,h),n=n+4+h-1,t[n++]=0}return n}function f0(t,e,r,n){t[n++]=O0;let s=A.encodeUTF8Into(t,e,n);n=n+s,t[n++]=0;let o=r.buffer,i=r.position;if(r.sub_type===ie.SUBTYPE_BYTE_ARRAY&&(i=i+4),n+=k.setInt32LE(t,n,i),t[n++]=r.sub_type,r.sub_type===ie.SUBTYPE_BYTE_ARRAY&&(i=i-4,n+=k.setInt32LE(t,n,i)),i<=16)for(let u=0;u<i;u++)t[n+u]=o[u];else t.set(o,n);return n=n+r.position,n}function p0(t,e,r,n){t[n++]=B3;let s=A.encodeUTF8Into(t,e,n);n=n+s,t[n++]=0;let o=A.encodeUTF8Into(t,r.value,n+4)+1;return k.setInt32LE(t,n,o),n=n+4+o-1,t[n++]=0,n}function m0(t,e,r,n,s,o,i){t[n++]=S0;let u=A.encodeUTF8Into(t,e,n);n=n+u,t[n++]=0;let a=n,c={$ref:r.collection||r.namespace,$id:r.oid};r.db!=null&&(c.$db=r.db),c=Object.assign(c,r.fields);let l=Xo(t,c,!1,n,s+1,o,!0,i),h=l-a;return a+=k.setInt32LE(t,n,h),l}function Xo(t,e,r,n,s,o,i,u){if(u==null){if(e==null)return t[0]=5,t[1]=0,t[2]=0,t[3]=0,t[4]=0,5;if(Array.isArray(e))throw new C("serialize does not support an array as the root input");if(typeof e!="object")throw new C("serialize does not support non-object as the root input");if("_bsontype"in e&&typeof e._bsontype=="string")throw new C("BSON types cannot be serialized as a document");if(Bs(e)||_s(e)||Ds(e)||g0(e))throw new C("date, regexp, typedarray, and arraybuffer cannot be BSON documents");u=new Set}u.add(e);let a=n+4;if(Array.isArray(e))for(let l=0;l<e.length;l++){let h=`${l}`,f=e[l];if(typeof f?.toBSON=="function"&&(f=f.toBSON()),typeof f=="string")a=Xc(t,h,f,a);else if(typeof f=="number")a=Jc(t,h,f,a);else if(typeof f=="bigint")a=Qc(t,h,f,a);else if(typeof f=="boolean")a=Zc(t,h,f,a);else if(f instanceof Date||Bs(f))a=e0(t,h,f,a);else if(f===void 0)a=$o(t,h,f,a);else if(f===null)a=$o(t,h,f,a);else if(Ds(f))a=o0(t,h,f,a);else if(f instanceof RegExp||_s(f))a=t0(t,h,f,a);else if(typeof f=="object"&&f._bsontype==null)a=i0(t,h,f,a,r,s,o,i,u);else{if(typeof f=="object"&&f[Symbol.for("@@mdb.bson.version")]!==$n)throw new vr;if(f._bsontype==="ObjectId")a=s0(t,h,f,a);else if(f._bsontype==="Decimal128")a=u0(t,h,f,a);else if(f._bsontype==="Long"||f._bsontype==="Timestamp")a=a0(t,h,f,a);else if(f._bsontype==="Double")a=l0(t,h,f,a);else if(typeof f=="function"&&o)a=h0(t,h,f,a);else if(f._bsontype==="Code")a=d0(t,h,f,a,r,s,o,i,u);else if(f._bsontype==="Binary")a=f0(t,h,f,a);else if(f._bsontype==="BSONSymbol")a=p0(t,h,f,a);else if(f._bsontype==="DBRef")a=m0(t,h,f,a,s,o,u);else if(f._bsontype==="BSONRegExp")a=r0(t,h,f,a);else if(f._bsontype==="Int32")a=c0(t,h,f,a);else if(f._bsontype==="MinKey"||f._bsontype==="MaxKey")a=n0(t,h,f,a);else if(typeof f._bsontype<"u")throw new C(`Unrecognized or invalid _bsontype: ${String(f._bsontype)}`)}}else if(e instanceof Map||C0(e)){let l=e.entries(),h=!1;for(;!h;){let f=l.next();if(h=!!f.done,h)continue;let S=f.value[0],y=f.value[1];typeof y?.toBSON=="function"&&(y=y.toBSON());let F=typeof y;if(typeof S=="string"&&!m3.has(S)){if(S.match(pi)!=null)throw new C("key "+S+" must not contain null bytes");if(r){if(S[0]==="$")throw new C("key "+S+" must not start with '$'");if(S.includes("."))throw new C("key "+S+" must not contain '.'")}}if(F==="string")a=Xc(t,S,y,a);else if(F==="number")a=Jc(t,S,y,a);else if(F==="bigint")a=Qc(t,S,y,a);else if(F==="boolean")a=Zc(t,S,y,a);else if(y instanceof Date||Bs(y))a=e0(t,S,y,a);else if(y===null||y===void 0&&i===!1)a=$o(t,S,y,a);else if(Ds(y))a=o0(t,S,y,a);else if(y instanceof RegExp||_s(y))a=t0(t,S,y,a);else if(F==="object"&&y._bsontype==null)a=i0(t,S,y,a,r,s,o,i,u);else{if(typeof y=="object"&&y[Symbol.for("@@mdb.bson.version")]!==$n)throw new vr;if(y._bsontype==="ObjectId")a=s0(t,S,y,a);else if(F==="object"&&y._bsontype==="Decimal128")a=u0(t,S,y,a);else if(y._bsontype==="Long"||y._bsontype==="Timestamp")a=a0(t,S,y,a);else if(y._bsontype==="Double")a=l0(t,S,y,a);else if(y._bsontype==="Code")a=d0(t,S,y,a,r,s,o,i,u);else if(typeof y=="function"&&o)a=h0(t,S,y,a);else if(y._bsontype==="Binary")a=f0(t,S,y,a);else if(y._bsontype==="BSONSymbol")a=p0(t,S,y,a);else if(y._bsontype==="DBRef")a=m0(t,S,y,a,s,o,u);else if(y._bsontype==="BSONRegExp")a=r0(t,S,y,a);else if(y._bsontype==="Int32")a=c0(t,S,y,a);else if(y._bsontype==="MinKey"||y._bsontype==="MaxKey")a=n0(t,S,y,a);else if(typeof y._bsontype<"u")throw new C(`Unrecognized or invalid _bsontype: ${String(y._bsontype)}`)}}}else{if(typeof e?.toBSON=="function"&&(e=e.toBSON(),e!=null&&typeof e!="object"))throw new C("toBSON function did not return an object");for(let l of Object.keys(e)){let h=e[l];typeof h?.toBSON=="function"&&(h=h.toBSON());let f=typeof h;if(typeof l=="string"&&!m3.has(l)){if(l.match(pi)!=null)throw new C("key "+l+" must not contain null bytes");if(r){if(l[0]==="$")throw new C("key "+l+" must not start with '$'");if(l.includes("."))throw new C("key "+l+" must not contain '.'")}}if(f==="string")a=Xc(t,l,h,a);else if(f==="number")a=Jc(t,l,h,a);else if(f==="bigint")a=Qc(t,l,h,a);else if(f==="boolean")a=Zc(t,l,h,a);else if(h instanceof Date||Bs(h))a=e0(t,l,h,a);else if(h===void 0)i===!1&&(a=$o(t,l,h,a));else if(h===null)a=$o(t,l,h,a);else if(Ds(h))a=o0(t,l,h,a);else if(h instanceof RegExp||_s(h))a=t0(t,l,h,a);else if(f==="object"&&h._bsontype==null)a=i0(t,l,h,a,r,s,o,i,u);else{if(typeof h=="object"&&h[Symbol.for("@@mdb.bson.version")]!==$n)throw new vr;if(h._bsontype==="ObjectId")a=s0(t,l,h,a);else if(f==="object"&&h._bsontype==="Decimal128")a=u0(t,l,h,a);else if(h._bsontype==="Long"||h._bsontype==="Timestamp")a=a0(t,l,h,a);else if(h._bsontype==="Double")a=l0(t,l,h,a);else if(h._bsontype==="Code")a=d0(t,l,h,a,r,s,o,i,u);else if(typeof h=="function"&&o)a=h0(t,l,h,a);else if(h._bsontype==="Binary")a=f0(t,l,h,a);else if(h._bsontype==="BSONSymbol")a=p0(t,l,h,a);else if(h._bsontype==="DBRef")a=m0(t,l,h,a,s,o,u);else if(h._bsontype==="BSONRegExp")a=r0(t,l,h,a);else if(h._bsontype==="Int32")a=c0(t,l,h,a);else if(h._bsontype==="MinKey"||h._bsontype==="MaxKey")a=n0(t,l,h,a);else if(typeof h._bsontype<"u")throw new C(`Unrecognized or invalid _bsontype: ${String(h._bsontype)}`)}}}u.delete(e),t[a++]=0;let c=a-n;return n+=k.setInt32LE(t,n,c),a}function H7(t){return t!=null&&typeof t=="object"&&"_bsontype"in t&&typeof t._bsontype=="string"}var K7={$oid:xr,$binary:ie,$uuid:ie,$symbol:Yn,$numberInt:fn,$numberDecimal:Gn,$numberDouble:dn,$numberLong:b,$minKey:Kn,$maxKey:Hn,$regex:kr,$regularExpression:kr,$timestamp:pn};function q3(t,e={}){if(typeof t=="number"){let n=t<=Ko&&t>=Yo,s=t<=A3&&t>=g3;if(e.relaxed||e.legacy)return t;if(Number.isInteger(t)&&!Object.is(t,-0)){if(n)return new fn(t);if(s)return e.useBigInt64?BigInt(t):b.fromNumber(t)}return new dn(t)}if(t==null||typeof t!="object")return t;if(t.$undefined)return null;let r=Object.keys(t).filter(n=>n.startsWith("$")&&t[n]!=null);for(let n=0;n<r.length;n++){let s=K7[r[n]];if(s)return s.fromExtendedJSON(t,e)}if(t.$date!=null){let n=t.$date,s=new Date;if(e.legacy)if(typeof n=="number")s.setTime(n);else if(typeof n=="string")s.setTime(Date.parse(n));else if(typeof n=="bigint")s.setTime(Number(n));else throw new Fs(`Unrecognized type for EJSON date: ${typeof n}`);else if(typeof n=="string")s.setTime(Date.parse(n));else if(b.isLong(n))s.setTime(n.toNumber());else if(typeof n=="number"&&e.relaxed)s.setTime(n);else if(typeof n=="bigint")s.setTime(Number(n));else throw new Fs(`Unrecognized type for EJSON date: ${typeof n}`);return s}if(t.$code!=null){let n=Object.assign({},t);return t.$scope&&(n.$scope=q3(t.$scope)),Lr.fromExtendedJSON(t)}if(P3(t)||t.$dbPointer){let n=t.$ref?t:t.$dbPointer;if(n instanceof Ar)return n;let s=Object.keys(n).filter(i=>i.startsWith("$")),o=!0;if(s.forEach(i=>{["$ref","$id","$db"].indexOf(i)===-1&&(o=!1)}),o)return Ar.fromExtendedJSON(n)}return t}function Y7(t,e){return t.map((r,n)=>{e.seenObjects.push({propertyName:`index ${n}`,obj:null});try{return Ir(r,e)}finally{e.seenObjects.pop()}})}function E3(t){let e=t.toISOString();return t.getUTCMilliseconds()!==0?e:e.slice(0,-5)+"Z"}function Ir(t,e){if(t instanceof Map||C0(t)){let r=Object.create(null);for(let[n,s]of t){if(typeof n!="string")throw new C("Can only serialize maps with string keys");r[n]=s}return Ir(r,e)}if((typeof t=="object"||typeof t=="function")&&t!==null){let r=e.seenObjects.findIndex(n=>n.obj===t);if(r!==-1){let n=e.seenObjects.map(l=>l.propertyName),s=n.slice(0,r).map(l=>`${l} -> `).join(""),o=n[r],i=" -> "+n.slice(r+1,n.length-1).map(l=>`${l} -> `).join(""),u=n[n.length-1],a=" ".repeat(s.length+o.length/2),c="-".repeat(i.length+(o.length+u.length)/2-1);throw new C(`Converting circular structure to EJSON:
6
- ${s}${o}${i}${u}
7
- ${a}\\${c}/`)}e.seenObjects[e.seenObjects.length-1].obj=t}if(Array.isArray(t))return Y7(t,e);if(t===void 0)return null;if(t instanceof Date||Bs(t)){let r=t.getTime(),n=r>-1&&r<2534023188e5;return e.legacy?e.relaxed&&n?{$date:t.getTime()}:{$date:E3(t)}:e.relaxed&&n?{$date:E3(t)}:{$date:{$numberLong:t.getTime().toString()}}}if(typeof t=="number"&&(!e.relaxed||!isFinite(t))){if(Number.isInteger(t)&&!Object.is(t,-0)){if(t>=Yo&&t<=Ko)return{$numberInt:t.toString()};if(t>=g3&&t<=A3)return{$numberLong:t.toString()}}return{$numberDouble:Object.is(t,-0)?"-0.0":t.toString()}}if(typeof t=="bigint")return e.relaxed?Number(BigInt.asIntN(64,t)):{$numberLong:BigInt.asIntN(64,t).toString()};if(t instanceof RegExp||_s(t)){let r=t.flags;if(r===void 0){let s=t.toString().match(/[gimuy]*$/);s&&(r=s[0])}return new kr(t.source,r).toExtendedJSON(e)}return t!=null&&typeof t=="object"?J7(t,e):t}var X7={Binary:t=>new ie(t.value(),t.sub_type),Code:t=>new Lr(t.code,t.scope),DBRef:t=>new Ar(t.collection||t.namespace,t.oid,t.db,t.fields),Decimal128:t=>new Gn(t.bytes),Double:t=>new dn(t.value),Int32:t=>new fn(t.value),Long:t=>b.fromBits(t.low!=null?t.low:t.low_,t.low!=null?t.high:t.high_,t.low!=null?t.unsigned:t.unsigned_),MaxKey:()=>new Hn,MinKey:()=>new Kn,ObjectId:t=>new xr(t),BSONRegExp:t=>new kr(t.pattern,t.options),BSONSymbol:t=>new Yn(t.value),Timestamp:t=>pn.fromBits(t.low,t.high)};function J7(t,e){if(t==null||typeof t!="object")throw new C("not an object instance");let r=t._bsontype;if(typeof r>"u"){let n={};for(let s of Object.keys(t)){e.seenObjects.push({propertyName:s,obj:null});try{let o=Ir(t[s],e);s==="__proto__"?Object.defineProperty(n,s,{value:o,writable:!0,enumerable:!0,configurable:!0}):n[s]=o}finally{e.seenObjects.pop()}}return n}else{if(t!=null&&typeof t=="object"&&typeof t._bsontype=="string"&&t[Symbol.for("@@mdb.bson.version")]!==$n)throw new vr;if(H7(t)){let n=t;if(typeof n.toExtendedJSON!="function"){let s=X7[t._bsontype];if(!s)throw new C("Unrecognized or invalid _bsontype: "+t._bsontype);n=s(n)}return r==="Code"&&n.scope?n=new Lr(n.code,Ir(n.scope,e)):r==="DBRef"&&n.oid&&(n=new Ar(Ir(n.collection,e),Ir(n.oid,e),Ir(n.db,e),Ir(n.fields,e))),n.toExtendedJSON(e)}else throw new C("_bsontype must be a string, but was: "+typeof r)}}function U3(t,e){let r={useBigInt64:e?.useBigInt64??!1,relaxed:e?.relaxed??!0,legacy:e?.legacy??!1};return JSON.parse(t,(n,s)=>{if(n.indexOf("\0")!==-1)throw new C(`BSON Document field names cannot contain null bytes, found: ${JSON.stringify(n)}`);return q3(s,r)})}function j3(t,e,r,n){r!=null&&typeof r=="object"&&(n=r,r=0),e!=null&&typeof e=="object"&&!Array.isArray(e)&&(n=e,e=void 0,r=0);let s=Object.assign({relaxed:!0,legacy:!1},n,{seenObjects:[{propertyName:"(root)",obj:null}]}),o=Ir(t,s);return JSON.stringify(o,e,r)}function Q7(t,e){return e=e||{},JSON.parse(j3(t,e))}function Z7(t,e){return e=e||{},U3(JSON.stringify(t),e)}var Xn=Object.create(null);Xn.parse=U3;Xn.stringify=j3;Xn.serialize=Q7;Xn.deserialize=Z7;Object.freeze(Xn);function E0(t,e){try{return k.getNonnegativeInt32LE(t,e)}catch(r){throw new vt("BSON size cannot be negative",e,{cause:r})}}function A0(t,e){let r=e;for(;t[r]!==0;r++);if(r===t.length-1)throw new vt("Null terminator not found",e);return r}function e8(t,e=0){if(e??=0,t.length<5)throw new vt(`Input must be at least 5 bytes, got ${t.length} bytes`,e);let r=E0(t,e);if(r>t.length-e)throw new vt(`Parsed documentSize (${r} bytes) does not match input length (${t.length} bytes)`,e);if(t[e+r-1]!==0)throw new vt("BSON documents must end in 0x00",e+r);let n=[],s=e+4;for(;s<=r+e;){let o=t[s];if(s+=1,o===0){if(s-e!==r)throw new vt("Invalid 0x00 type byte",s);break}let i=s,u=A0(t,s)-i;s+=u+1;let a;if(o===1||o===18||o===9||o===17)a=8;else if(o===16)a=4;else if(o===7)a=12;else if(o===19)a=16;else if(o===8)a=1;else if(o===10||o===6||o===127||o===255)a=0;else if(o===11)a=A0(t,A0(t,s)+1)+1-s;else if(o===3||o===4||o===15)a=E0(t,s);else if(o===2||o===5||o===12||o===13||o===14)a=E0(t,s)+4,o===5&&(a+=1),o===12&&(a+=12);else throw new vt(`Invalid 0x${o.toString(16).padStart(2,"0")} type byte`,s);if(a>r)throw new vt("value reports length larger than document",s);n.push([o,i,u,s,a]),s+=a}return n}var Ns=Object.create(null);Ns.parseToElements=e8;Ns.ByteUtils=A;Ns.NumberUtils=k;Object.freeze(Ns);var z3=1024*1024*17,hn=A.allocate(z3);function W3(t){hn.length<t&&(hn=A.allocate(t))}function V3(t,e={}){let r=typeof e.checkKeys=="boolean"?e.checkKeys:!1,n=typeof e.serializeFunctions=="boolean"?e.serializeFunctions:!1,s=typeof e.ignoreUndefined=="boolean"?e.ignoreUndefined:!0,o=typeof e.minInternalBufferSize=="number"?e.minInternalBufferSize:z3;hn.length<o&&(hn=A.allocate(o));let i=Xo(hn,t,r,0,0,n,s,null),u=A.allocateUnsafe(i);return u.set(hn.subarray(0,i),0),u}function $3(t,e,r={}){let n=typeof r.checkKeys=="boolean"?r.checkKeys:!1,s=typeof r.serializeFunctions=="boolean"?r.serializeFunctions:!1,o=typeof r.ignoreUndefined=="boolean"?r.ignoreUndefined:!0,i=typeof r.index=="number"?r.index:0,u=Xo(hn,t,n,0,0,s,o,null);return e.set(hn.subarray(0,u),i),i+u-1}function G3(t,e={}){return k3(A.toLocalBufferType(t),e)}function H3(t,e={}){e=e||{};let r=typeof e.serializeFunctions=="boolean"?e.serializeFunctions:!1,n=typeof e.ignoreUndefined=="boolean"?e.ignoreUndefined:!0;return li(t,r,n)}function K3(t,e,r,n,s,o){let i=Object.assign({allowObjectSmallerThanBufferSize:!0,index:0},o),u=A.toLocalBufferType(t),a=e;for(let c=0;c<r;c++){let l=k.getInt32LE(u,a);i.index=a,n[s+c]=k3(u,i),a=a+l}return a}var t8=Object.freeze({__proto__:null,BSONError:C,BSONOffsetError:vt,BSONRegExp:kr,BSONRuntimeError:Fs,BSONSymbol:Yn,BSONType:M3,BSONValue:Qe,BSONVersionError:vr,Binary:ie,Code:Lr,DBRef:Ar,Decimal128:Gn,Double:dn,EJSON:Xn,Int32:fn,Long:b,MaxKey:Hn,MinKey:Kn,ObjectId:xr,Timestamp:pn,UUID:Pr,calculateObjectSize:H3,deserialize:G3,deserializeStream:K3,onDemand:Ns,serialize:V3,serializeWithBufferAndIndex:$3,setInternalBufferSize:W3});oe.BSON=t8;oe.BSONError=C;oe.BSONOffsetError=vt;oe.BSONRegExp=kr;oe.BSONRuntimeError=Fs;oe.BSONSymbol=Yn;oe.BSONType=M3;oe.BSONValue=Qe;oe.BSONVersionError=vr;oe.Binary=ie;oe.Code=Lr;oe.DBRef=Ar;oe.Decimal128=Gn;oe.Double=dn;oe.EJSON=Xn;oe.Int32=fn;oe.Long=b;oe.MaxKey=Hn;oe.MinKey=Kn;oe.ObjectId=xr;oe.Timestamp=pn;oe.UUID=Pr;oe.calculateObjectSize=H3;oe.deserialize=G3;oe.deserializeStream=K3;oe.onDemand=Ns;oe.serialize=V3;oe.serializeWithBufferAndIndex=$3;oe.setInternalBufferSize=W3});var ne=m(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.resolveBSONOptions=v.pluckBSONSerializeOptions=v.toUTF8=v.getBigInt64LE=v.getFloat64LE=v.getInt32LE=v.parseToElementsToArray=v.UUID=v.Timestamp=v.serialize=v.ObjectId=v.MinKey=v.MaxKey=v.Long=v.Int32=v.EJSON=v.Double=v.deserialize=v.Decimal128=v.DBRef=v.Code=v.calculateObjectSize=v.BSONType=v.BSONSymbol=v.BSONRegExp=v.BSONError=v.BSON=v.Binary=void 0;var Qo=Jo(),_e=Jo();Object.defineProperty(v,"Binary",{enumerable:!0,get:function(){return _e.Binary}});Object.defineProperty(v,"BSON",{enumerable:!0,get:function(){return _e.BSON}});Object.defineProperty(v,"BSONError",{enumerable:!0,get:function(){return _e.BSONError}});Object.defineProperty(v,"BSONRegExp",{enumerable:!0,get:function(){return _e.BSONRegExp}});Object.defineProperty(v,"BSONSymbol",{enumerable:!0,get:function(){return _e.BSONSymbol}});Object.defineProperty(v,"BSONType",{enumerable:!0,get:function(){return _e.BSONType}});Object.defineProperty(v,"calculateObjectSize",{enumerable:!0,get:function(){return _e.calculateObjectSize}});Object.defineProperty(v,"Code",{enumerable:!0,get:function(){return _e.Code}});Object.defineProperty(v,"DBRef",{enumerable:!0,get:function(){return _e.DBRef}});Object.defineProperty(v,"Decimal128",{enumerable:!0,get:function(){return _e.Decimal128}});Object.defineProperty(v,"deserialize",{enumerable:!0,get:function(){return _e.deserialize}});Object.defineProperty(v,"Double",{enumerable:!0,get:function(){return _e.Double}});Object.defineProperty(v,"EJSON",{enumerable:!0,get:function(){return _e.EJSON}});Object.defineProperty(v,"Int32",{enumerable:!0,get:function(){return _e.Int32}});Object.defineProperty(v,"Long",{enumerable:!0,get:function(){return _e.Long}});Object.defineProperty(v,"MaxKey",{enumerable:!0,get:function(){return _e.MaxKey}});Object.defineProperty(v,"MinKey",{enumerable:!0,get:function(){return _e.MinKey}});Object.defineProperty(v,"ObjectId",{enumerable:!0,get:function(){return _e.ObjectId}});Object.defineProperty(v,"serialize",{enumerable:!0,get:function(){return _e.serialize}});Object.defineProperty(v,"Timestamp",{enumerable:!0,get:function(){return _e.Timestamp}});Object.defineProperty(v,"UUID",{enumerable:!0,get:function(){return _e.UUID}});function r8(t,e){let r=Qo.BSON.onDemand.parseToElements(t,e);return Array.isArray(r)?r:[...r]}v.parseToElementsToArray=r8;v.getInt32LE=Qo.BSON.onDemand.NumberUtils.getInt32LE;v.getFloat64LE=Qo.BSON.onDemand.NumberUtils.getFloat64LE;v.getBigInt64LE=Qo.BSON.onDemand.NumberUtils.getBigInt64LE;v.toUTF8=Qo.BSON.onDemand.ByteUtils.toUTF8;function n8(t){let{fieldsAsRaw:e,useBigInt64:r,promoteValues:n,promoteBuffers:s,promoteLongs:o,serializeFunctions:i,ignoreUndefined:u,bsonRegExp:a,raw:c,enableUtf8Validation:l}=t;return{fieldsAsRaw:e,useBigInt64:r,promoteValues:n,promoteBuffers:s,promoteLongs:o,serializeFunctions:i,ignoreUndefined:u,bsonRegExp:a,raw:c,enableUtf8Validation:l}}v.pluckBSONSerializeOptions=n8;function s8(t,e){let r=e?.bsonOptions;return{raw:t?.raw??r?.raw??!1,useBigInt64:t?.useBigInt64??r?.useBigInt64??!1,promoteLongs:t?.promoteLongs??r?.promoteLongs??!0,promoteValues:t?.promoteValues??r?.promoteValues??!0,promoteBuffers:t?.promoteBuffers??r?.promoteBuffers??!1,ignoreUndefined:t?.ignoreUndefined??r?.ignoreUndefined??!1,bsonRegExp:t?.bsonRegExp??r?.bsonRegExp??!1,serializeFunctions:t?.serializeFunctions??r?.serializeFunctions??!1,fieldsAsRaw:t?.fieldsAsRaw??r?.fieldsAsRaw??{},enableUtf8Validation:t?.enableUtf8Validation??r?.enableUtf8Validation??!0}}v.resolveBSONOptions=s8});var _=m(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.isResumableError=E.isNetworkTimeoutError=E.isSDAMUnrecoverableError=E.isNodeShuttingDownError=E.isRetryableReadError=E.isRetryableWriteError=E.needsRetryableWriteLabel=E.MongoWriteConcernError=E.MongoServerSelectionError=E.MongoSystemError=E.MongoMissingDependencyError=E.MongoMissingCredentialsError=E.MongoCompatibilityError=E.MongoInvalidArgumentError=E.MongoParseError=E.MongoNetworkTimeoutError=E.MongoNetworkError=E.isNetworkErrorBeforeHandshake=E.MongoTopologyClosedError=E.MongoCursorExhaustedError=E.MongoServerClosedError=E.MongoCursorInUseError=E.MongoUnexpectedServerResponseError=E.MongoGridFSChunkError=E.MongoGridFSStreamError=E.MongoTailableCursorError=E.MongoChangeStreamError=E.MongoGCPError=E.MongoAzureError=E.MongoOIDCError=E.MongoAWSError=E.MongoKerberosError=E.MongoExpiredSessionError=E.MongoTransactionError=E.MongoNotConnectedError=E.MongoDecompressionError=E.MongoBatchReExecutionError=E.MongoRuntimeError=E.MongoAPIError=E.MongoDriverError=E.MongoServerError=E.MongoError=E.MongoErrorLabel=E.GET_MORE_RESUMABLE_CODES=E.MONGODB_ERROR_CODES=E.NODE_IS_RECOVERING_ERROR_MESSAGE=E.LEGACY_NOT_PRIMARY_OR_SECONDARY_ERROR_MESSAGE=E.LEGACY_NOT_WRITABLE_PRIMARY_ERROR_MESSAGE=void 0;var Zo=Symbol("errorLabels");E.LEGACY_NOT_WRITABLE_PRIMARY_ERROR_MESSAGE=new RegExp("not master","i");E.LEGACY_NOT_PRIMARY_OR_SECONDARY_ERROR_MESSAGE=new RegExp("not master or secondary","i");E.NODE_IS_RECOVERING_ERROR_MESSAGE=new RegExp("node is recovering","i");E.MONGODB_ERROR_CODES=Object.freeze({HostUnreachable:6,HostNotFound:7,AuthenticationFailed:18,NetworkTimeout:89,ShutdownInProgress:91,PrimarySteppedDown:189,ExceededTimeLimit:262,SocketException:9001,NotWritablePrimary:10107,InterruptedAtShutdown:11600,InterruptedDueToReplStateChange:11602,NotPrimaryNoSecondaryOk:13435,NotPrimaryOrSecondary:13436,StaleShardVersion:63,StaleEpoch:150,StaleConfig:13388,RetryChangeStream:234,FailedToSatisfyReadPreference:133,CursorNotFound:43,LegacyNotPrimary:10058,WriteConcernFailed:64,NamespaceNotFound:26,IllegalOperation:20,MaxTimeMSExpired:50,UnknownReplWriteConcern:79,UnsatisfiableWriteConcern:100,Reauthenticate:391,ReadConcernMajorityNotAvailableYet:134});E.GET_MORE_RESUMABLE_CODES=new Set([E.MONGODB_ERROR_CODES.HostUnreachable,E.MONGODB_ERROR_CODES.HostNotFound,E.MONGODB_ERROR_CODES.NetworkTimeout,E.MONGODB_ERROR_CODES.ShutdownInProgress,E.MONGODB_ERROR_CODES.PrimarySteppedDown,E.MONGODB_ERROR_CODES.ExceededTimeLimit,E.MONGODB_ERROR_CODES.SocketException,E.MONGODB_ERROR_CODES.NotWritablePrimary,E.MONGODB_ERROR_CODES.InterruptedAtShutdown,E.MONGODB_ERROR_CODES.InterruptedDueToReplStateChange,E.MONGODB_ERROR_CODES.NotPrimaryNoSecondaryOk,E.MONGODB_ERROR_CODES.NotPrimaryOrSecondary,E.MONGODB_ERROR_CODES.StaleShardVersion,E.MONGODB_ERROR_CODES.StaleEpoch,E.MONGODB_ERROR_CODES.StaleConfig,E.MONGODB_ERROR_CODES.RetryChangeStream,E.MONGODB_ERROR_CODES.FailedToSatisfyReadPreference,E.MONGODB_ERROR_CODES.CursorNotFound]);E.MongoErrorLabel=Object.freeze({RetryableWriteError:"RetryableWriteError",TransientTransactionError:"TransientTransactionError",UnknownTransactionCommitResult:"UnknownTransactionCommitResult",ResumableChangeStreamError:"ResumableChangeStreamError",HandshakeError:"HandshakeError",ResetPool:"ResetPool",PoolRequstedRetry:"PoolRequstedRetry",InterruptInUseConnections:"InterruptInUseConnections",NoWritesPerformed:"NoWritesPerformed"});function o8(t){return t!=null&&typeof t=="object"&&"errors"in t&&Array.isArray(t.errors)}var Qt=class extends Error{constructor(e,r){super(e,r),this[Zo]=new Set}static buildErrorMessage(e){return typeof e=="string"?e:o8(e)&&e.message.length===0?e.errors.length===0?"AggregateError has an empty errors array. Please check the `cause` property for more information.":e.errors.map(({message:r})=>r).join(", "):e!=null&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?e.message:"empty error message"}get name(){return"MongoError"}get errmsg(){return this.message}hasErrorLabel(e){return this[Zo].has(e)}addErrorLabel(e){this[Zo].add(e)}get errorLabels(){return Array.from(this[Zo])}};E.MongoError=Qt;var mi=class extends Qt{constructor(e){super(e.message||e.errmsg||e.$err||"n/a"),e.errorLabels&&(this[Zo]=new Set(e.errorLabels)),this.errorResponse=e;for(let r in e)r!=="errorLabels"&&r!=="errmsg"&&r!=="message"&&r!=="errorResponse"&&(this[r]=e[r])}get name(){return"MongoServerError"}};E.MongoServerError=mi;var Rs=class extends Qt{constructor(e,r){super(e,r)}get name(){return"MongoDriverError"}};E.MongoDriverError=Rs;var Ze=class extends Rs{constructor(e,r){super(e,r)}get name(){return"MongoAPIError"}};E.MongoAPIError=Ze;var Zt=class extends Rs{constructor(e,r){super(e,r)}get name(){return"MongoRuntimeError"}};E.MongoRuntimeError=Zt;var B0=class extends Ze{constructor(e="This batch has already been executed, create new batch to execute"){super(e)}get name(){return"MongoBatchReExecutionError"}};E.MongoBatchReExecutionError=B0;var b0=class extends Zt{constructor(e){super(e)}get name(){return"MongoDecompressionError"}};E.MongoDecompressionError=b0;var T0=class extends Ze{constructor(e){super(e)}get name(){return"MongoNotConnectedError"}};E.MongoNotConnectedError=T0;var F0=class extends Ze{constructor(e){super(e)}get name(){return"MongoTransactionError"}};E.MongoTransactionError=F0;var N0=class extends Ze{constructor(e="Cannot use a session that has ended"){super(e)}get name(){return"MongoExpiredSessionError"}};E.MongoExpiredSessionError=N0;var R0=class extends Zt{constructor(e){super(e)}get name(){return"MongoKerberosError"}};E.MongoKerberosError=R0;var M0=class extends Zt{constructor(e,r){super(e,r)}get name(){return"MongoAWSError"}};E.MongoAWSError=M0;var e1=class extends Zt{constructor(e){super(e)}get name(){return"MongoOIDCError"}};E.MongoOIDCError=e1;var I0=class extends e1{constructor(e){super(e)}get name(){return"MongoAzureError"}};E.MongoAzureError=I0;var v0=class extends e1{constructor(e){super(e)}get name(){return"MongoGCPError"}};E.MongoGCPError=v0;var P0=class extends Zt{constructor(e){super(e)}get name(){return"MongoChangeStreamError"}};E.MongoChangeStreamError=P0;var L0=class extends Ze{constructor(e="Tailable cursor does not support this operation"){super(e)}get name(){return"MongoTailableCursorError"}};E.MongoTailableCursorError=L0;var x0=class extends Zt{constructor(e){super(e)}get name(){return"MongoGridFSStreamError"}};E.MongoGridFSStreamError=x0;var k0=class extends Zt{constructor(e){super(e)}get name(){return"MongoGridFSChunkError"}};E.MongoGridFSChunkError=k0;var q0=class extends Zt{constructor(e,r){super(e,r)}get name(){return"MongoUnexpectedServerResponseError"}};E.MongoUnexpectedServerResponseError=q0;var U0=class extends Ze{constructor(e="Cursor is already initialized"){super(e)}get name(){return"MongoCursorInUseError"}};E.MongoCursorInUseError=U0;var j0=class extends Ze{constructor(e="Server is closed"){super(e)}get name(){return"MongoServerClosedError"}};E.MongoServerClosedError=j0;var z0=class extends Ze{constructor(e){super(e||"Cursor is exhausted")}get name(){return"MongoCursorExhaustedError"}};E.MongoCursorExhaustedError=z0;var W0=class extends Ze{constructor(e="Topology is closed"){super(e)}get name(){return"MongoTopologyClosedError"}};E.MongoTopologyClosedError=W0;var X3=Symbol("beforeHandshake");function i8(t){return t[X3]===!0}E.isNetworkErrorBeforeHandshake=i8;var mn=class extends Qt{constructor(e,r){super(e,{cause:r?.cause}),r&&typeof r.beforeHandshake=="boolean"&&(this[X3]=r.beforeHandshake)}get name(){return"MongoNetworkError"}};E.MongoNetworkError=mn;var V0=class extends mn{constructor(e,r){super(e,r)}get name(){return"MongoNetworkTimeoutError"}};E.MongoNetworkTimeoutError=V0;var Ei=class extends Rs{constructor(e){super(e)}get name(){return"MongoParseError"}};E.MongoParseError=Ei;var $0=class extends Ze{constructor(e){super(e)}get name(){return"MongoInvalidArgumentError"}};E.MongoInvalidArgumentError=$0;var G0=class extends Ze{constructor(e){super(e)}get name(){return"MongoCompatibilityError"}};E.MongoCompatibilityError=G0;var H0=class extends Ze{constructor(e){super(e)}get name(){return"MongoMissingCredentialsError"}};E.MongoMissingCredentialsError=H0;var K0=class extends Ze{constructor(e,r){super(e,r),this.dependencyName=r.dependencyName}get name(){return"MongoMissingDependencyError"}};E.MongoMissingDependencyError=K0;var Ai=class extends Qt{constructor(e,r){r&&r.error?super(Qt.buildErrorMessage(r.error.message||r.error),{cause:r.error}):super(e),r&&(this.reason=r),this.code=r.error?.code}get name(){return"MongoSystemError"}};E.MongoSystemError=Ai;var Y0=class extends Ai{constructor(e,r){super(e,r)}get name(){return"MongoServerSelectionError"}};E.MongoServerSelectionError=Y0;var gi=class extends mi{constructor(e){super({...e,...e.writeConcernError}),this.errInfo=e.writeConcernError.errInfo,this.result=e}get name(){return"MongoWriteConcernError"}};E.MongoWriteConcernError=gi;var J3=new Set([E.MONGODB_ERROR_CODES.HostUnreachable,E.MONGODB_ERROR_CODES.HostNotFound,E.MONGODB_ERROR_CODES.NetworkTimeout,E.MONGODB_ERROR_CODES.ShutdownInProgress,E.MONGODB_ERROR_CODES.PrimarySteppedDown,E.MONGODB_ERROR_CODES.SocketException,E.MONGODB_ERROR_CODES.NotWritablePrimary,E.MONGODB_ERROR_CODES.InterruptedAtShutdown,E.MONGODB_ERROR_CODES.InterruptedDueToReplStateChange,E.MONGODB_ERROR_CODES.NotPrimaryNoSecondaryOk,E.MONGODB_ERROR_CODES.NotPrimaryOrSecondary,E.MONGODB_ERROR_CODES.ExceededTimeLimit,E.MONGODB_ERROR_CODES.ReadConcernMajorityNotAvailableYet]),Y3=J3;function u8(t,e){return t instanceof mn?!0:t instanceof Qt&&(e>=9||Q3(t))&&!t.hasErrorLabel(E.MongoErrorLabel.HandshakeError)?!1:t instanceof gi?Y3.has(t.result?.code??t.code??0):t instanceof Qt&&typeof t.code=="number"?Y3.has(t.code):!!(E.LEGACY_NOT_WRITABLE_PRIMARY_ERROR_MESSAGE.test(t.message)||E.NODE_IS_RECOVERING_ERROR_MESSAGE.test(t.message))}E.needsRetryableWriteLabel=u8;function Q3(t){return t.hasErrorLabel(E.MongoErrorLabel.RetryableWriteError)||t.hasErrorLabel(E.MongoErrorLabel.PoolRequstedRetry)}E.isRetryableWriteError=Q3;function a8(t){return!!((typeof t.code=="number"?J3.has(t.code):!1)||t instanceof mn||E.LEGACY_NOT_WRITABLE_PRIMARY_ERROR_MESSAGE.test(t.message)||E.NODE_IS_RECOVERING_ERROR_MESSAGE.test(t.message))}E.isRetryableReadError=a8;var c8=new Set([E.MONGODB_ERROR_CODES.ShutdownInProgress,E.MONGODB_ERROR_CODES.PrimarySteppedDown,E.MONGODB_ERROR_CODES.InterruptedAtShutdown,E.MONGODB_ERROR_CODES.InterruptedDueToReplStateChange,E.MONGODB_ERROR_CODES.NotPrimaryOrSecondary]),l8=new Set([E.MONGODB_ERROR_CODES.NotWritablePrimary,E.MONGODB_ERROR_CODES.NotPrimaryNoSecondaryOk,E.MONGODB_ERROR_CODES.LegacyNotPrimary]),h8=new Set([E.MONGODB_ERROR_CODES.InterruptedAtShutdown,E.MONGODB_ERROR_CODES.ShutdownInProgress]);function Z3(t){return typeof t.code=="number"?c8.has(t.code):E.LEGACY_NOT_PRIMARY_OR_SECONDARY_ERROR_MESSAGE.test(t.message)||E.NODE_IS_RECOVERING_ERROR_MESSAGE.test(t.message)}function d8(t){return typeof t.code=="number"?l8.has(t.code):Z3(t)?!1:E.LEGACY_NOT_WRITABLE_PRIMARY_ERROR_MESSAGE.test(t.message)}function f8(t){return!!(typeof t.code=="number"&&h8.has(t.code))}E.isNodeShuttingDownError=f8;function p8(t){return t instanceof Ei||t==null?!0:Z3(t)||d8(t)}E.isSDAMUnrecoverableError=p8;function m8(t){return!!(t instanceof mn&&t.message.match(/timed out/))}E.isNetworkTimeoutError=m8;function E8(t,e){return t==null||!(t instanceof Qt)?!1:t instanceof mn?!0:e!=null&&e>=9?t.code===E.MONGODB_ERROR_CODES.CursorNotFound?!0:t.hasErrorLabel(E.MongoErrorLabel.ResumableChangeStreamError):typeof t.code=="number"?E.GET_MORE_RESUMABLE_CODES.has(t.code):!1}E.isResumableError=E8});var xe=m(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.ReadPreference=et.ReadPreferenceMode=void 0;var Jn=_();et.ReadPreferenceMode=Object.freeze({primary:"primary",primaryPreferred:"primaryPreferred",secondary:"secondary",secondaryPreferred:"secondaryPreferred",nearest:"nearest"});var Le=class t{constructor(e,r,n){if(!t.isValid(e))throw new Jn.MongoInvalidArgumentError(`Invalid read preference mode ${JSON.stringify(e)}`);if(n==null&&typeof r=="object"&&!Array.isArray(r))n=r,r=void 0;else if(r&&!Array.isArray(r))throw new Jn.MongoInvalidArgumentError("ReadPreference tags must be an array");if(this.mode=e,this.tags=r,this.hedge=n?.hedge,this.maxStalenessSeconds=void 0,this.minWireVersion=void 0,n=n??{},n.maxStalenessSeconds!=null){if(n.maxStalenessSeconds<=0)throw new Jn.MongoInvalidArgumentError("maxStalenessSeconds must be a positive integer");this.maxStalenessSeconds=n.maxStalenessSeconds,this.minWireVersion=5}if(this.mode===t.PRIMARY){if(this.tags&&Array.isArray(this.tags)&&this.tags.length>0)throw new Jn.MongoInvalidArgumentError("Primary read preference cannot be combined with tags");if(this.maxStalenessSeconds)throw new Jn.MongoInvalidArgumentError("Primary read preference cannot be combined with maxStalenessSeconds");if(this.hedge)throw new Jn.MongoInvalidArgumentError("Primary read preference cannot be combined with hedge")}}get preference(){return this.mode}static fromString(e){return new t(e)}static fromOptions(e){if(!e)return;let r=e.readPreference??e.session?.transaction.options.readPreference,n=e.readPreferenceTags;if(r!=null){if(typeof r=="string")return new t(r,n,{maxStalenessSeconds:e.maxStalenessSeconds,hedge:e.hedge});if(!(r instanceof t)&&typeof r=="object"){let s=r.mode||r.preference;if(s&&typeof s=="string")return new t(s,r.tags??n,{maxStalenessSeconds:r.maxStalenessSeconds,hedge:e.hedge})}return n&&(r.tags=n),r}}static translate(e){if(e.readPreference==null)return e;let r=e.readPreference;if(typeof r=="string")e.readPreference=new t(r);else if(r&&!(r instanceof t)&&typeof r=="object"){let n=r.mode||r.preference;n&&typeof n=="string"&&(e.readPreference=new t(n,r.tags,{maxStalenessSeconds:r.maxStalenessSeconds}))}else if(!(r instanceof t))throw new Jn.MongoInvalidArgumentError(`Invalid read preference: ${r}`);return e}static isValid(e){return new Set([t.PRIMARY,t.PRIMARY_PREFERRED,t.SECONDARY,t.SECONDARY_PREFERRED,t.NEAREST,null]).has(e)}isValid(e){return t.isValid(typeof e=="string"?e:this.mode)}secondaryOk(){return new Set([t.PRIMARY_PREFERRED,t.SECONDARY,t.SECONDARY_PREFERRED,t.NEAREST]).has(this.mode)}equals(e){return e.mode===this.mode}toJSON(){let e={mode:this.mode};return Array.isArray(this.tags)&&(e.tags=this.tags),this.maxStalenessSeconds&&(e.maxStalenessSeconds=this.maxStalenessSeconds),this.hedge&&(e.hedge=this.hedge),e}};Le.PRIMARY=et.ReadPreferenceMode.primary;Le.PRIMARY_PREFERRED=et.ReadPreferenceMode.primaryPreferred;Le.SECONDARY=et.ReadPreferenceMode.secondary;Le.SECONDARY_PREFERRED=et.ReadPreferenceMode.secondaryPreferred;Le.NEAREST=et.ReadPreferenceMode.nearest;Le.primary=new Le(et.ReadPreferenceMode.primary);Le.primaryPreferred=new Le(et.ReadPreferenceMode.primaryPreferred);Le.secondary=new Le(et.ReadPreferenceMode.secondary);Le.secondaryPreferred=new Le(et.ReadPreferenceMode.secondaryPreferred);Le.nearest=new Le(et.ReadPreferenceMode.nearest);et.ReadPreference=Le});var wt=m(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke._advanceClusterTime=ke.drainTimerQueue=ke.ServerType=ke.TopologyType=ke.STATE_CONNECTED=ke.STATE_CONNECTING=ke.STATE_CLOSED=ke.STATE_CLOSING=void 0;var A8=x("timers");ke.STATE_CLOSING="closing";ke.STATE_CLOSED="closed";ke.STATE_CONNECTING="connecting";ke.STATE_CONNECTED="connected";ke.TopologyType=Object.freeze({Single:"Single",ReplicaSetNoPrimary:"ReplicaSetNoPrimary",ReplicaSetWithPrimary:"ReplicaSetWithPrimary",Sharded:"Sharded",Unknown:"Unknown",LoadBalanced:"LoadBalanced"});ke.ServerType=Object.freeze({Standalone:"Standalone",Mongos:"Mongos",PossiblePrimary:"PossiblePrimary",RSPrimary:"RSPrimary",RSSecondary:"RSSecondary",RSArbiter:"RSArbiter",RSOther:"RSOther",RSGhost:"RSGhost",Unknown:"Unknown",LoadBalancer:"LoadBalancer"});function g8(t){t.forEach(A8.clearTimeout),t.clear()}ke.drainTimerQueue=g8;function C8(t,e){(t.clusterTime==null||e.clusterTime.greaterThan(t.clusterTime.clusterTime))&&(t.clusterTime=e)}ke._advanceClusterTime=C8});var r1=m(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.readPreferenceServerSelector=Dt.secondaryWritableServerSelector=Dt.sameServerSelector=Dt.writableServerSelector=Dt.MIN_SECONDARY_WRITE_WIRE_VERSION=void 0;var Si=_(),t1=xe(),_t=wt(),y8=1e4,e6=90;Dt.MIN_SECONDARY_WRITE_WIRE_VERSION=13;function S8(){return function(e,r){return Ci(e,r.filter(n=>n.isWritable))}}Dt.writableServerSelector=S8;function O8(t){return function(r,n){return t?n.filter(s=>s.address===t.address&&s.type!==_t.ServerType.Unknown):[]}}Dt.sameServerSelector=O8;function w8(t,e){return!e||!t||t&&t<Dt.MIN_SECONDARY_WRITE_WIRE_VERSION?X0(t1.ReadPreference.primary):X0(e)}Dt.secondaryWritableServerSelector=w8;function D8(t,e,r){if(t.maxStalenessSeconds==null||t.maxStalenessSeconds<0)return r;let n=t.maxStalenessSeconds,s=(e.heartbeatFrequencyMS+y8)/1e3;if(n<s)throw new Si.MongoInvalidArgumentError(`Option "maxStalenessSeconds" must be at least ${s} seconds`);if(n<e6)throw new Si.MongoInvalidArgumentError(`Option "maxStalenessSeconds" must be at least ${e6} seconds`);if(e.type===_t.TopologyType.ReplicaSetWithPrimary){let o=Array.from(e.servers.values()).filter(yi)[0];return r.reduce((i,u)=>{let c=(u.lastUpdateTime-u.lastWriteDate-(o.lastUpdateTime-o.lastWriteDate)+e.heartbeatFrequencyMS)/1e3,l=t.maxStalenessSeconds??0;return c<=l&&i.push(u),i},[])}if(e.type===_t.TopologyType.ReplicaSetNoPrimary){if(r.length===0)return r;let o=r.reduce((i,u)=>u.lastWriteDate>i.lastWriteDate?u:i);return r.reduce((i,u)=>{let c=(o.lastWriteDate-u.lastWriteDate+e.heartbeatFrequencyMS)/1e3,l=t.maxStalenessSeconds??0;return c<=l&&i.push(u),i},[])}return r}function _8(t,e){let r=Object.keys(t),n=Object.keys(e);for(let s=0;s<r.length;++s){let o=r[s];if(n.indexOf(o)===-1||e[o]!==t[o])return!1}return!0}function B8(t,e){if(t.tags==null||Array.isArray(t.tags)&&t.tags.length===0)return e;for(let r=0;r<t.tags.length;++r){let n=t.tags[r],s=e.reduce((o,i)=>(_8(n,i.tags)&&o.push(i),o),[]);if(s.length)return s}return[]}function Ci(t,e){let r=e.reduce((s,o)=>Math.min(o.roundTripTime,s),1/0),n=r+t.localThresholdMS;return e.reduce((s,o)=>(o.roundTripTime<=n&&o.roundTripTime>=r&&s.push(o),s),[])}function yi(t){return t.type===_t.ServerType.RSPrimary}function b8(t){return t.type===_t.ServerType.RSSecondary}function T8(t){return t.type===_t.ServerType.RSSecondary||t.type===_t.ServerType.RSPrimary}function t6(t){return t.type!==_t.ServerType.Unknown}function F8(t){return t.type===_t.ServerType.LoadBalancer}function X0(t){if(!t.isValid())throw new Si.MongoInvalidArgumentError("Invalid read preference specified");return function(r,n,s=[]){let o=r.commonWireVersion;if(o&&t.minWireVersion&&t.minWireVersion>o)throw new Si.MongoCompatibilityError(`Minimum wire version '${t.minWireVersion}' required, but found '${o}'`);if(r.type===_t.TopologyType.LoadBalanced)return n.filter(F8);if(r.type===_t.TopologyType.Unknown)return[];if(r.type===_t.TopologyType.Single)return Ci(r,n.filter(t6));if(r.type===_t.TopologyType.Sharded){let c=n.filter(h=>!s.includes(h)),l=c.length>0?c:s;return Ci(r,l.filter(t6))}let i=t.mode;if(i===t1.ReadPreference.PRIMARY)return n.filter(yi);if(i===t1.ReadPreference.PRIMARY_PREFERRED){let c=n.filter(yi);if(c.length)return c}let u=i===t1.ReadPreference.NEAREST?T8:b8,a=Ci(r,B8(t,D8(t,r,n.filter(u))));return i===t1.ReadPreference.SECONDARY_PREFERRED&&a.length===0?n.filter(yi):a}}Dt.readPreferenceServerSelector=X0});var Qn=m(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.OP_MSG=he.OP_COMPRESSED=he.OP_DELETE=he.OP_QUERY=he.OP_INSERT=he.OP_UPDATE=he.OP_REPLY=he.MIN_SUPPORTED_QE_SERVER_VERSION=he.MIN_SUPPORTED_QE_WIRE_VERSION=he.MAX_SUPPORTED_WIRE_VERSION=he.MIN_SUPPORTED_WIRE_VERSION=he.MAX_SUPPORTED_SERVER_VERSION=he.MIN_SUPPORTED_SERVER_VERSION=void 0;he.MIN_SUPPORTED_SERVER_VERSION="3.6";he.MAX_SUPPORTED_SERVER_VERSION="7.0";he.MIN_SUPPORTED_WIRE_VERSION=6;he.MAX_SUPPORTED_WIRE_VERSION=21;he.MIN_SUPPORTED_QE_WIRE_VERSION=21;he.MIN_SUPPORTED_QE_SERVER_VERSION="7.0";he.OP_REPLY=1;he.OP_UPDATE=2001;he.OP_INSERT=2002;he.OP_QUERY=2004;he.OP_DELETE=2006;he.OP_COMPRESSED=2012;he.OP_MSG=2013});var Be=m(p=>{"use strict";Object.defineProperty(p,"__esModule",{value:!0});p.END=p.CHANGE=p.INIT=p.MORE=p.RESPONSE=p.SERVER_HEARTBEAT_FAILED=p.SERVER_HEARTBEAT_SUCCEEDED=p.SERVER_HEARTBEAT_STARTED=p.COMMAND_FAILED=p.COMMAND_SUCCEEDED=p.COMMAND_STARTED=p.CLUSTER_TIME_RECEIVED=p.CONNECTION_CHECKED_IN=p.CONNECTION_CHECKED_OUT=p.CONNECTION_CHECK_OUT_FAILED=p.CONNECTION_CHECK_OUT_STARTED=p.CONNECTION_CLOSED=p.CONNECTION_READY=p.CONNECTION_CREATED=p.CONNECTION_POOL_READY=p.CONNECTION_POOL_CLEARED=p.CONNECTION_POOL_CLOSED=p.CONNECTION_POOL_CREATED=p.WAITING_FOR_SUITABLE_SERVER=p.SERVER_SELECTION_SUCCEEDED=p.SERVER_SELECTION_FAILED=p.SERVER_SELECTION_STARTED=p.TOPOLOGY_DESCRIPTION_CHANGED=p.TOPOLOGY_CLOSED=p.TOPOLOGY_OPENING=p.SERVER_DESCRIPTION_CHANGED=p.SERVER_CLOSED=p.SERVER_OPENING=p.DESCRIPTION_RECEIVED=p.UNPINNED=p.PINNED=p.MESSAGE=p.ENDED=p.CLOSED=p.CONNECT=p.OPEN=p.CLOSE=p.TIMEOUT=p.ERROR=p.SYSTEM_JS_COLLECTION=p.SYSTEM_COMMAND_COLLECTION=p.SYSTEM_USER_COLLECTION=p.SYSTEM_PROFILE_COLLECTION=p.SYSTEM_INDEX_COLLECTION=p.SYSTEM_NAMESPACE_COLLECTION=void 0;p.kDecoratedKeys=p.kDecorateResult=p.LEGACY_HELLO_COMMAND_CAMEL_CASE=p.LEGACY_HELLO_COMMAND=p.MONGO_CLIENT_EVENTS=p.LOCAL_SERVER_EVENTS=p.SERVER_RELAY_EVENTS=p.APM_EVENTS=p.TOPOLOGY_EVENTS=p.CMAP_EVENTS=p.HEARTBEAT_EVENTS=p.RESUME_TOKEN_CHANGED=void 0;p.SYSTEM_NAMESPACE_COLLECTION="system.namespaces";p.SYSTEM_INDEX_COLLECTION="system.indexes";p.SYSTEM_PROFILE_COLLECTION="system.profile";p.SYSTEM_USER_COLLECTION="system.users";p.SYSTEM_COMMAND_COLLECTION="$cmd";p.SYSTEM_JS_COLLECTION="system.js";p.ERROR="error";p.TIMEOUT="timeout";p.CLOSE="close";p.OPEN="open";p.CONNECT="connect";p.CLOSED="closed";p.ENDED="ended";p.MESSAGE="message";p.PINNED="pinned";p.UNPINNED="unpinned";p.DESCRIPTION_RECEIVED="descriptionReceived";p.SERVER_OPENING="serverOpening";p.SERVER_CLOSED="serverClosed";p.SERVER_DESCRIPTION_CHANGED="serverDescriptionChanged";p.TOPOLOGY_OPENING="topologyOpening";p.TOPOLOGY_CLOSED="topologyClosed";p.TOPOLOGY_DESCRIPTION_CHANGED="topologyDescriptionChanged";p.SERVER_SELECTION_STARTED="serverSelectionStarted";p.SERVER_SELECTION_FAILED="serverSelectionFailed";p.SERVER_SELECTION_SUCCEEDED="serverSelectionSucceeded";p.WAITING_FOR_SUITABLE_SERVER="waitingForSuitableServer";p.CONNECTION_POOL_CREATED="connectionPoolCreated";p.CONNECTION_POOL_CLOSED="connectionPoolClosed";p.CONNECTION_POOL_CLEARED="connectionPoolCleared";p.CONNECTION_POOL_READY="connectionPoolReady";p.CONNECTION_CREATED="connectionCreated";p.CONNECTION_READY="connectionReady";p.CONNECTION_CLOSED="connectionClosed";p.CONNECTION_CHECK_OUT_STARTED="connectionCheckOutStarted";p.CONNECTION_CHECK_OUT_FAILED="connectionCheckOutFailed";p.CONNECTION_CHECKED_OUT="connectionCheckedOut";p.CONNECTION_CHECKED_IN="connectionCheckedIn";p.CLUSTER_TIME_RECEIVED="clusterTimeReceived";p.COMMAND_STARTED="commandStarted";p.COMMAND_SUCCEEDED="commandSucceeded";p.COMMAND_FAILED="commandFailed";p.SERVER_HEARTBEAT_STARTED="serverHeartbeatStarted";p.SERVER_HEARTBEAT_SUCCEEDED="serverHeartbeatSucceeded";p.SERVER_HEARTBEAT_FAILED="serverHeartbeatFailed";p.RESPONSE="response";p.MORE="more";p.INIT="init";p.CHANGE="change";p.END="end";p.RESUME_TOKEN_CHANGED="resumeTokenChanged";p.HEARTBEAT_EVENTS=Object.freeze([p.SERVER_HEARTBEAT_STARTED,p.SERVER_HEARTBEAT_SUCCEEDED,p.SERVER_HEARTBEAT_FAILED]);p.CMAP_EVENTS=Object.freeze([p.CONNECTION_POOL_CREATED,p.CONNECTION_POOL_READY,p.CONNECTION_POOL_CLEARED,p.CONNECTION_POOL_CLOSED,p.CONNECTION_CREATED,p.CONNECTION_READY,p.CONNECTION_CLOSED,p.CONNECTION_CHECK_OUT_STARTED,p.CONNECTION_CHECK_OUT_FAILED,p.CONNECTION_CHECKED_OUT,p.CONNECTION_CHECKED_IN]);p.TOPOLOGY_EVENTS=Object.freeze([p.SERVER_OPENING,p.SERVER_CLOSED,p.SERVER_DESCRIPTION_CHANGED,p.TOPOLOGY_OPENING,p.TOPOLOGY_CLOSED,p.TOPOLOGY_DESCRIPTION_CHANGED,p.ERROR,p.TIMEOUT,p.CLOSE]);p.APM_EVENTS=Object.freeze([p.COMMAND_STARTED,p.COMMAND_SUCCEEDED,p.COMMAND_FAILED]);p.SERVER_RELAY_EVENTS=Object.freeze([p.SERVER_HEARTBEAT_STARTED,p.SERVER_HEARTBEAT_SUCCEEDED,p.SERVER_HEARTBEAT_FAILED,p.COMMAND_STARTED,p.COMMAND_SUCCEEDED,p.COMMAND_FAILED,...p.CMAP_EVENTS]);p.LOCAL_SERVER_EVENTS=Object.freeze([p.CONNECT,p.DESCRIPTION_RECEIVED,p.CLOSED,p.ENDED]);p.MONGO_CLIENT_EVENTS=Object.freeze([...p.CMAP_EVENTS,...p.APM_EVENTS,...p.TOPOLOGY_EVENTS,...p.HEARTBEAT_EVENTS]);p.LEGACY_HELLO_COMMAND="ismaster";p.LEGACY_HELLO_COMMAND_CAMEL_CASE="isMaster";p.kDecorateResult=Symbol.for("@@mdb.decorateDecryptionResult");p.kDecoratedKeys=Symbol.for("@@mdb.decryptedKeys")});var Pt=m(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.ReadConcern=er.ReadConcernLevel=void 0;er.ReadConcernLevel=Object.freeze({local:"local",majority:"majority",linearizable:"linearizable",available:"available",snapshot:"snapshot"});var J0=class t{constructor(e){this.level=er.ReadConcernLevel[e]??e}static fromOptions(e){if(e!=null){if(e.readConcern){let{readConcern:r}=e;if(r instanceof t)return r;if(typeof r=="string")return new t(r);if("level"in r&&r.level)return new t(r.level)}if(e.level)return new t(e.level)}}static get MAJORITY(){return er.ReadConcernLevel.majority}static get AVAILABLE(){return er.ReadConcernLevel.available}static get LINEARIZABLE(){return er.ReadConcernLevel.linearizable}static get SNAPSHOT(){return er.ReadConcernLevel.snapshot}toJSON(){return{level:this.level}}};er.ReadConcern=J0});var r6=m(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.OnDemandDocument=void 0;var H=ne(),Q0=class t{constructor(e,r=0,n=!1,s){this.bson=e,this.offset=r,this.isArray=n,this.cache=Object.create(null),this.indexFound=Object.create(null),this.elements=s??(0,H.parseToElementsToArray)(this.bson,r)}isElementName(e,r){let n=r[2],s=r[1];if(e.length!==n)return!1;let o=s+n;for(let i=s,u=0;u<e.length&&i<o;u++,i++)if(this.bson[i]!==e.charCodeAt(u))return!1;return!0}getElement(e){let r=this.cache[e];if(r===!1)return null;if(r!=null)return r;if(typeof e=="number")if(this.isArray)if(e<this.elements.length){let s={element:this.elements[e],value:void 0};return this.cache[e]=s,this.indexFound[e]=!0,s}else return null;else return null;for(let n=0;n<this.elements.length;n++){let s=this.elements[n];if(!(n in this.indexFound)&&this.isElementName(e,s)){let o={element:s,value:void 0};return this.cache[e]=o,this.indexFound[n]=!0,o}}return this.cache[e]=!1,null}toJSValue(e,r){let n=e[0],s=e[3],o=e[4];if(r!==n)return null;switch(r){case H.BSONType.null:case H.BSONType.undefined:return null;case H.BSONType.double:return(0,H.getFloat64LE)(this.bson,s);case H.BSONType.int:return(0,H.getInt32LE)(this.bson,s);case H.BSONType.long:return(0,H.getBigInt64LE)(this.bson,s);case H.BSONType.bool:return!!this.bson[s];case H.BSONType.objectId:return new H.ObjectId(this.bson.subarray(s,s+12));case H.BSONType.timestamp:return new H.Timestamp((0,H.getBigInt64LE)(this.bson,s));case H.BSONType.string:return(0,H.toUTF8)(this.bson,s+4,s+o-1,!1);case H.BSONType.binData:{let i=(0,H.getInt32LE)(this.bson,s),u=this.bson[s+4];if(u===2){let a=(0,H.getInt32LE)(this.bson,s+1+4);if(a<0)throw new H.BSONError("Negative binary type element size found for subtype 0x02");if(a>i-4)throw new H.BSONError("Binary type with subtype 0x02 contains too long binary size");if(a<i-4)throw new H.BSONError("Binary type with subtype 0x02 contains too short binary size");return new H.Binary(this.bson.subarray(s+1+4+4,s+1+4+4+a),2)}return new H.Binary(this.bson.subarray(s+1+4,s+1+4+i),u)}case H.BSONType.date:return new Date(Number((0,H.getBigInt64LE)(this.bson,s)));case H.BSONType.object:return new t(this.bson,s);case H.BSONType.array:return new t(this.bson,s,!0);default:throw new H.BSONError(`Unsupported BSON type: ${r}`)}}size(){return this.elements.length}has(e){let r=this.cache[e];return r===!1?!1:r!=null?!0:this.getElement(e)!=null}get(e,r,n){let s=this.getElement(e);if(s==null){if(n===!0)throw new H.BSONError(`BSON element "${e}" is missing`);return null}if(s.value==null){let o=this.toJSValue(s.element,r);if(o==null){if(n===!0)throw new H.BSONError(`BSON element "${e}" is missing`);return null}s.value=o}return s.value}getNumber(e,r){let n=this.get(e,H.BSONType.bool),s=n==null?null:n?1:0,o=this.get(e,H.BSONType.long),i=o==null?null:Number(o),u=s??i??this.get(e,H.BSONType.int)??this.get(e,H.BSONType.double);if(r===!0&&u==null)throw new H.BSONError(`BSON element "${e}" is missing`);return u}toObject(e){return H.BSON.deserialize(this.bson,{...e,index:this.offset,allowObjectSmallerThanBufferSize:!0})}toBytes(){let e=(0,H.getInt32LE)(this.bson,this.offset);return this.bson.subarray(this.offset,this.offset+e)}};Oi.OnDemandDocument=Q0});var Cr=m(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.ExplainedCursorResponse=gr.CursorResponse=gr.MongoDBResponse=gr.isErrorResponse=void 0;var me=ne(),wi=_(),n6=R(),N8=r6();function s6(t,e){for(let r=0;r<e.length;r++){let n=e[r];if(n[2]===2){let s=n[1];if(t[s]===111&&t[s+1]===107){let o=n[3],i=n[4];for(let u=o;u<o+i;u++)if(t[u]!==0)return!1;return!0}}}return!0}gr.isErrorResponse=s6;var Ms=class t extends N8.OnDemandDocument{get(e,r,n){try{return super.get(e,r,n)}catch(s){throw new wi.MongoUnexpectedServerResponseError(s.message,{cause:s})}}static is(e){return e instanceof t}static make(e){let r=(0,me.parseToElementsToArray)(e,0);return s6(e,r)?new t(e,0,!1,r):new this(e,0,!1,r)}get recoveryToken(){return this.get("recoveryToken",me.BSONType.object)?.toObject({promoteValues:!1,promoteLongs:!1,promoteBuffers:!1})??null}get atClusterTime(){return this.get("cursor",me.BSONType.object)?.get("atClusterTime",me.BSONType.timestamp)??this.get("atClusterTime",me.BSONType.timestamp)}get operationTime(){return this.get("operationTime",me.BSONType.timestamp)}get ok(){return this.getNumber("ok")?1:0}get $err(){return this.get("$err",me.BSONType.string)}get errmsg(){return this.get("errmsg",me.BSONType.string)}get code(){return this.getNumber("code")}get $clusterTime(){if(!("clusterTime"in this)){let e=this.get("$clusterTime",me.BSONType.object);if(e==null)return this.clusterTime=null,null;let r=e.get("clusterTime",me.BSONType.timestamp,!0),n=e.get("signature",me.BSONType.object)?.toObject();this.clusterTime={clusterTime:r,signature:n}}return this.clusterTime??null}toObject(e){let r={...(0,me.pluckBSONSerializeOptions)(e??{}),validation:this.parseBsonSerializationOptions(e)};return super.toObject(r)}parseBsonSerializationOptions(e){return e?.enableUtf8Validation===!1?{utf8:!1}:{utf8:{writeErrors:!1}}}};Ms.empty=new Ms(new Uint8Array([13,0,0,0,16,111,107,0,1,0,0,0,0]));gr.MongoDBResponse=Ms;var n1=class t extends Ms{constructor(){super(...arguments),this._batch=null,this.iterated=0,this._encryptedBatch=null}static is(e){return e instanceof t||e===t.emptyGetMore}get cursor(){return this.get("cursor",me.BSONType.object,!0)}get id(){try{return me.Long.fromBigInt(this.cursor.get("id",me.BSONType.long,!0))}catch(e){throw new wi.MongoUnexpectedServerResponseError(e.message,{cause:e})}}get ns(){let e=this.cursor.get("ns",me.BSONType.string);return e!=null?(0,n6.ns)(e):null}get length(){return Math.max(this.batchSize-this.iterated,0)}get encryptedBatch(){if(this.encryptedResponse==null)return null;if(this._encryptedBatch!=null)return this._encryptedBatch;let e=this.encryptedResponse?.get("cursor",me.BSONType.object);if(e?.has("firstBatch"))this._encryptedBatch=e.get("firstBatch",me.BSONType.array,!0);else if(e?.has("nextBatch"))this._encryptedBatch=e.get("nextBatch",me.BSONType.array,!0);else throw new wi.MongoUnexpectedServerResponseError("Cursor document did not contain a batch");return this._encryptedBatch}get batch(){if(this._batch!=null)return this._batch;let e=this.cursor;if(e.has("firstBatch"))this._batch=e.get("firstBatch",me.BSONType.array,!0);else if(e.has("nextBatch"))this._batch=e.get("nextBatch",me.BSONType.array,!0);else throw new wi.MongoUnexpectedServerResponseError("Cursor document did not contain a batch");return this._batch}get batchSize(){return this.batch?.size()}get postBatchResumeToken(){return this.cursor.get("postBatchResumeToken",me.BSONType.object)?.toObject({promoteValues:!1,promoteLongs:!1,promoteBuffers:!1})??null}shift(e){if(this.iterated>=this.batchSize)return null;let r=this.batch.get(this.iterated,me.BSONType.object,!0)??null,n=this.encryptedBatch?.get(this.iterated,me.BSONType.object,!0)??null;if(this.iterated+=1,e?.raw)return r.toBytes();{let s=r.toObject(e);return n&&(0,n6.decorateDecryptionResult)(s,n.toObject(e),!0),s}}clear(){this.iterated=this.batchSize}};n1.emptyGetMore={id:new me.Long(0),length:0,shift:()=>null};gr.CursorResponse=n1;var Z0=class extends n1{constructor(){super(...arguments),this.isExplain=!0,this._length=1}get id(){return me.Long.fromBigInt(0n)}get batchSize(){return 0}get ns(){return null}get length(){return this._length}shift(e){return this._length===0?null:(this._length-=1,this.toObject(e))}};gr.ExplainedCursorResponse=Z0});var ot=m(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.throwIfWriteConcernError=En.WriteConcern=En.WRITE_CONCERN_KEYS=void 0;var o6=Cr(),R8=_();En.WRITE_CONCERN_KEYS=["w","wtimeout","j","journal","fsync"];var el=class t{constructor(e,r,n,s){e!=null&&(Number.isNaN(Number(e))?this.w=e:this.w=Number(e)),r!=null&&(this.wtimeoutMS=this.wtimeout=r),n!=null&&(this.journal=this.j=n),s!=null&&(this.journal=this.j=!!s)}static apply(e,r){let n={};return r.w!=null&&(n.w=r.w),r.wtimeoutMS!=null&&(n.wtimeout=r.wtimeoutMS),r.journal!=null&&(n.j=r.j),e.writeConcern=n,e}static fromOptions(e,r){if(e==null)return;r=r??{};let n;typeof e=="string"||typeof e=="number"?n={w:e}:e instanceof t?n=e:n=e.writeConcern;let s=r instanceof t?r:r.writeConcern,{w:o=void 0,wtimeout:i=void 0,j:u=void 0,fsync:a=void 0,journal:c=void 0,wtimeoutMS:l=void 0}={...s,...n};if(o!=null||i!=null||l!=null||u!=null||c!=null||a!=null)return new t(o,i??l,u??c,a)}};En.WriteConcern=el;function M8(t){if(typeof t=="object"&&t!=null){let e=o6.MongoDBResponse.is(t)&&t.has("writeConcernError")?t.toObject():!o6.MongoDBResponse.is(t)&&"writeConcernError"in t?t:null;if(e!=null)throw new R8.MongoWriteConcernError(e)}}En.throwIfWriteConcernError=M8});var R=m(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.COSMOS_DB_CHECK=g.DOCUMENT_DB_CHECK=g.request=g.get=g.matchesParentDomain=g.parseUnsignedInteger=g.parseInteger=g.compareObjectId=g.commandSupportsReadConcern=g.shuffle=g.supportsRetryableWrites=g.enumToString=g.emitWarningOnce=g.emitWarning=g.MONGODB_WARNING_CODE=g.DEFAULT_PK_FACTORY=g.HostAddress=g.BufferPool=g.List=g.deepCopy=g.isRecord=g.setDifference=g.isHello=g.isSuperset=g.resolveOptions=g.hasAtomicOperators=g.calculateDurationInMs=g.now=g.makeStateMachine=g.errorStrictEqual=g.arrayStrictEqual=g.maxWireVersion=g.uuidV4=g.makeCounter=g.MongoDBCollectionNamespace=g.MongoDBNamespace=g.ns=g.getTopology=g.decorateWithExplain=g.decorateWithReadConcern=g.decorateWithCollation=g.isPromiseLike=g.applyRetryableWrites=g.filterOptions=g.mergeOptions=g.isObject=g.normalizeHintField=g.hostMatchesWildcards=g.isUint8Array=g.ByteUtils=void 0;g.decorateDecryptionResult=g.noop=g.fileIsAccessible=g.maybeAddIdToDocuments=g.once=g.randomBytes=g.squashError=g.promiseWithResolvers=g.isHostMatch=g.COSMOS_DB_MSG=g.DOCUMENT_DB_MSG=void 0;var u6=x("crypto"),I8=x("fs"),a6=x("http"),tl=x("timers"),v8=x("url"),P8=x("url"),L8=x("util"),il=ne(),x8=Qn(),Di=Be(),Lt=_(),k8=Pt(),q8=xe(),U8=wt(),j8=ot();g.ByteUtils={toLocalBufferType(t){return Buffer.isBuffer(t)?t:Buffer.from(t.buffer,t.byteOffset,t.byteLength)},equals(t,e){return g.ByteUtils.toLocalBufferType(t).equals(e)},compare(t,e){return g.ByteUtils.toLocalBufferType(t).compare(e)},toBase64(t){return g.ByteUtils.toLocalBufferType(t).toString("base64")}};function z8(t){return t!=null&&typeof t=="object"&&Symbol.toStringTag in t&&t[Symbol.toStringTag]==="Uint8Array"}g.isUint8Array=z8;function W8(t,e){for(let r of e)if(t===r||r.startsWith("*.")&&t?.endsWith(r.substring(2,r.length))||r.startsWith("*/")&&t?.endsWith(r.substring(2,r.length)))return!0;return!1}g.hostMatchesWildcards=W8;function V8(t){let e;if(typeof t=="string")e=t;else if(Array.isArray(t))e={},t.forEach(r=>{e[r]=1});else if(t!=null&&typeof t=="object"){e={};for(let r in t)e[r]=t[r]}return e}g.normalizeHintField=V8;var $8=t=>Object.prototype.toString.call(t);function rl(t){return $8(t)==="[object Object]"}g.isObject=rl;function G8(t,e){return{...t,...e}}g.mergeOptions=G8;function H8(t,e){let r={};for(let n in t)e.includes(n)&&(r[n]=t[n]);return r}g.filterOptions=H8;function K8(t,e){return e&&e.s.options?.retryWrites&&(t.retryWrites=!0),t}g.applyRetryableWrites=K8;function Y8(t){return t!=null&&typeof t=="object"&&"then"in t&&typeof t.then=="function"}g.isPromiseLike=Y8;function X8(t,e,r){let n=c6(e).capabilities;if(r.collation&&typeof r.collation=="object")if(n&&n.commandsTakeCollation)t.collation=r.collation;else throw new Lt.MongoCompatibilityError("Current topology does not support collation")}g.decorateWithCollation=X8;function J8(t,e,r){if(r&&r.session&&r.session.inTransaction())return;let n=Object.assign({},t.readConcern||{});e.s.readConcern&&Object.assign(n,e.s.readConcern),Object.keys(n).length>0&&Object.assign(t,{readConcern:n})}g.decorateWithReadConcern=J8;function Q8(t,e){return t.explain?t:{explain:t,verbosity:e.verbosity}}g.decorateWithExplain=Q8;function c6(t){if("topology"in t&&t.topology)return t.topology;if("client"in t&&t.client.topology)return t.client.topology;throw new Lt.MongoNotConnectedError("MongoClient must be connected to perform this operation")}g.getTopology=c6;function Z8(t){return s1.fromString(t)}g.ns=Z8;var s1=class t{constructor(e,r){this.db=e,this.collection=r,this.collection=r===""?void 0:r}toString(){return this.collection?`${this.db}.${this.collection}`:this.db}withCollection(e){return new _i(this.db,e)}static fromString(e){if(typeof e!="string"||e==="")throw new Lt.MongoRuntimeError(`Cannot parse namespace from "${e}"`);let[r,...n]=e.split("."),s=n.join(".");return new t(r,s===""?void 0:s)}};g.MongoDBNamespace=s1;var _i=class extends s1{constructor(e,r){super(e,r),this.collection=r}static fromString(e){return super.fromString(e)}};g.MongoDBCollectionNamespace=_i;function*eA(t=0){let e=t;for(;;){let r=e;e+=1,yield r}}g.makeCounter=eA;function tA(){let t=u6.randomBytes(16);return t[6]=t[6]&15|64,t[8]=t[8]&63|128,t}g.uuidV4=tA;function rA(t){if(t){if(t.loadBalanced||t.serverApi?.version)return x8.MAX_SUPPORTED_WIRE_VERSION;if(t.hello)return t.hello.maxWireVersion;if("lastHello"in t&&typeof t.lastHello=="function"){let e=t.lastHello();if(e)return e.maxWireVersion}if(t.description&&"maxWireVersion"in t.description&&t.description.maxWireVersion!=null)return t.description.maxWireVersion}return 0}g.maxWireVersion=rA;function nA(t,e){return!Array.isArray(t)||!Array.isArray(e)?!1:t.length===e.length&&t.every((r,n)=>r===e[n])}g.arrayStrictEqual=nA;function sA(t,e){return t===e?!0:!t||!e?t===e:!(t==null&&e!=null||t!=null&&e==null||t.constructor.name!==e.constructor.name||t.message!==e.message)}g.errorStrictEqual=sA;function oA(t){return function(r,n){let s=t[r.s.state];if(s&&s.indexOf(n)<0)throw new Lt.MongoRuntimeError(`illegal state transition from [${r.s.state}] => [${n}], allowed: [${s}]`);r.emit("stateChanged",r.s.state,n),r.s.state=n}}g.makeStateMachine=oA;function l6(){let t=process.hrtime();return Math.floor(t[0]*1e3+t[1]/1e6)}g.now=l6;function iA(t){if(typeof t!="number")return-1;let e=l6()-t;return e<0?0:e}g.calculateDurationInMs=iA;function h6(t){if(Array.isArray(t)){for(let r of t)if(h6(r))return!0;return!1}let e=Object.keys(t);return e.length>0&&e[0][0]==="$"}g.hasAtomicOperators=h6;function uA(t,e){let r=Object.assign({},e,(0,il.resolveBSONOptions)(e,t));if(!e?.session?.inTransaction()){let o=k8.ReadConcern.fromOptions(e)??t?.readConcern;o&&(r.readConcern=o);let i=j8.WriteConcern.fromOptions(e)??t?.writeConcern;i&&(r.writeConcern=i)}let s=q8.ReadPreference.fromOptions(e)??t?.readPreference;return s&&(r.readPreference=s),r}g.resolveOptions=uA;function d6(t,e){t=Array.isArray(t)?new Set(t):t,e=Array.isArray(e)?new Set(e):e;for(let r of e)if(!t.has(r))return!1;return!0}g.isSuperset=d6;function aA(t){return!!(t[Di.LEGACY_HELLO_COMMAND]||t.hello)}g.isHello=aA;function cA(t,e){let r=new Set(t);for(let n of e)r.delete(n);return r}g.setDifference=cA;var lA=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);function f6(t,e=void 0){if(!rl(t))return!1;let r=t.constructor;if(r&&r.prototype&&(!rl(r.prototype)||!lA(r.prototype,"isPrototypeOf")))return!1;if(e){let n=Object.keys(t);return d6(n,e)}return!0}g.isRecord=f6;function nl(t){if(t==null)return t;if(Array.isArray(t))return t.map(r=>nl(r));if(f6(t)){let r={};for(let n in t)r[n]=nl(t[n]);return r}let e=t.constructor;if(e)switch(e.name.toLowerCase()){case"date":return new e(Number(t));case"map":return new Map(t);case"set":return new Set(t);case"buffer":return Buffer.from(t)}return t}g.deepCopy=nl;var Bi=class{get length(){return this.count}get[Symbol.toStringTag](){return"List"}constructor(){this.count=0,this.head={next:null,prev:null,value:null},this.head.next=this.head,this.head.prev=this.head}toArray(){return Array.from(this)}toString(){return`head <=> ${this.toArray().join(" <=> ")} <=> head`}*[Symbol.iterator](){for(let e of this.nodes())yield e.value}*nodes(){let e=this.head.next;for(;e!==this.head;){let{next:r}=e;yield e,e=r}}push(e){this.count+=1;let r={next:this.head,prev:this.head.prev,value:e};this.head.prev.next=r,this.head.prev=r}pushMany(e){for(let r of e)this.push(r)}unshift(e){this.count+=1;let r={next:this.head.next,prev:this.head,value:e};this.head.next.prev=r,this.head.next=r}remove(e){if(e===this.head||this.length===0)return null;this.count-=1;let r=e.prev,n=e.next;return r.next=n,n.prev=r,e.value}shift(){return this.remove(this.head.next)}pop(){return this.remove(this.head.prev)}prune(e){for(let r of this.nodes())e(r.value)&&this.remove(r)}clear(){this.count=0,this.head.next=this.head,this.head.prev=this.head}first(){return this.head.next.value}last(){return this.head.prev.value}};g.List=Bi;var sl=class{constructor(){this.buffers=new Bi,this.totalByteLength=0}get length(){return this.totalByteLength}append(e){this.buffers.push(e),this.totalByteLength+=e.length}getInt32(){if(this.totalByteLength<4)return null;let e=this.buffers.first();if(e!=null&&e.byteLength>=4)return e.readInt32LE(0);let r=this.read(4),n=r.readInt32LE(0);return this.totalByteLength+=4,this.buffers.unshift(r),n}read(e){if(typeof e!="number"||e<0)throw new Lt.MongoInvalidArgumentError('Argument "size" must be a non-negative number');if(e>this.totalByteLength)return Buffer.alloc(0);let r=Buffer.allocUnsafe(e);for(let n=0;n<e;){let s=this.buffers.shift();if(s==null)break;let o=e-n,i=Math.min(o,s.byteLength),u=s.subarray(0,i);r.set(u,n),n+=i,this.totalByteLength-=i,i<s.byteLength&&this.buffers.unshift(s.subarray(i))}return r}};g.BufferPool=sl;var ol=class t{constructor(e){this.host=void 0,this.port=void 0,this.socketPath=void 0,this.isIPv6=!1;let r=e.split(" ").join("%20");if(r.endsWith(".sock")){this.socketPath=decodeURIComponent(r);return}let n=`iLoveJS://${r}`,s;try{s=new P8.URL(n)}catch(a){let c=new Lt.MongoRuntimeError(`Unable to parse ${r} with URL`);throw c.cause=a,c}let o=s.hostname,i=s.port,u=decodeURIComponent(o).toLowerCase();if(u.startsWith("[")&&u.endsWith("]")&&(this.isIPv6=!0,u=u.substring(1,o.length-1)),this.host=u.toLowerCase(),typeof i=="number"?this.port=i:typeof i=="string"&&i!==""?this.port=Number.parseInt(i,10):this.port=27017,this.port===0)throw new Lt.MongoParseError("Invalid port (zero) with hostname");Object.freeze(this)}[Symbol.for("nodejs.util.inspect.custom")](){return this.inspect()}inspect(){return`new HostAddress('${this.toString()}')`}toString(){return typeof this.host=="string"?this.isIPv6?`[${this.host}]:${this.port}`:`${this.host}:${this.port}`:`${this.socketPath}`}static fromString(e){return new t(e)}static fromHostPort(e,r){return e.includes(":")&&(e=`[${e}]`),t.fromString(`${e}:${r}`)}static fromSrvRecord({name:e,port:r}){return t.fromHostPort(e,r)}toHostPort(){if(this.socketPath)return{host:this.socketPath,port:0};let e=this.host??"",r=this.port??0;return{host:e,port:r}}};g.HostAddress=ol;g.DEFAULT_PK_FACTORY={createPk(){return new il.ObjectId}};g.MONGODB_WARNING_CODE="MONGODB DRIVER";function p6(t){return process.emitWarning(t,{code:g.MONGODB_WARNING_CODE})}g.emitWarning=p6;var i6=new Set;function hA(t){if(!i6.has(t))return i6.add(t),p6(t)}g.emitWarningOnce=hA;function dA(t){return Object.values(t).join(", ")}g.enumToString=dA;function fA(t){return t?!!(t.loadBalanced||t.description.logicalSessionTimeoutMinutes!=null&&t.description.type!==U8.ServerType.Standalone):!1}g.supportsRetryableWrites=fA;function pA(t,e=0){let r=Array.from(t);if(e>r.length)throw new Lt.MongoRuntimeError("Limit must be less than the number of items");let n=r.length,s=e%r.length===0?1:r.length-e;for(;n>s;){let o=Math.floor(Math.random()*n);n-=1;let i=r[n];r[n]=r[o],r[o]=i}return e%r.length===0?r:r.slice(s)}g.shuffle=pA;function mA(t){return!!(t.aggregate||t.count||t.distinct||t.find||t.geoNear)}g.commandSupportsReadConcern=mA;function EA(t,e){return t==null&&e==null?0:t==null?-1:e==null?1:g.ByteUtils.compare(t.id,e.id)}g.compareObjectId=EA;function m6(t){if(typeof t=="number")return Math.trunc(t);let e=Number.parseInt(String(t),10);return Number.isNaN(e)?null:e}g.parseInteger=m6;function AA(t){let e=m6(t);return e!=null&&e>=0?e:null}g.parseUnsignedInteger=AA;function gA(t,e){let r=t.endsWith(".")?t.slice(0,t.length-1):t,n=e.endsWith(".")?e.slice(0,e.length-1):e,s=/^.*?\./,o=`.${r.replace(s,"")}`,i=`.${n.replace(s,"")}`;return o.endsWith(i)}g.matchesParentDomain=gA;function CA(t,e={}){return new Promise((r,n)=>{let s,o=a6.get(t,e,i=>{i.setEncoding("utf8");let u="";i.on("data",a=>u+=a),i.on("end",()=>{(0,tl.clearTimeout)(s),r({status:i.statusCode,body:u})})}).on("error",i=>{(0,tl.clearTimeout)(s),n(i)}).end();s=(0,tl.setTimeout)(()=>{o.destroy(new Lt.MongoNetworkTimeoutError("request timed out after 10 seconds"))},1e4)})}g.get=CA;async function yA(t,e={}){return await new Promise((r,n)=>{let s={method:"GET",timeout:1e4,json:!0,...v8.parse(t),...e},o=a6.request(s,i=>{i.setEncoding("utf8");let u="";i.on("data",a=>{u+=a}),i.once("end",()=>{if(e.json===!1){r(u);return}try{let a=JSON.parse(u);r(a)}catch{n(new Lt.MongoRuntimeError(`Invalid JSON response: "${u}"`))}})});o.once("timeout",()=>o.destroy(new Lt.MongoNetworkTimeoutError(`Network request to ${t} timed out after ${e.timeout} ms`))),o.once("error",i=>n(i)),o.end()})}g.request=yA;g.DOCUMENT_DB_CHECK=/(\.docdb\.amazonaws\.com$)|(\.docdb-elastic\.amazonaws\.com$)/;g.COSMOS_DB_CHECK=/\.cosmos\.azure\.com$/;g.DOCUMENT_DB_MSG="You appear to be connected to a DocumentDB cluster. For more information regarding feature compatibility and support please visit https://www.mongodb.com/supportability/documentdb";g.COSMOS_DB_MSG="You appear to be connected to a CosmosDB cluster. For more information regarding feature compatibility and support please visit https://www.mongodb.com/supportability/cosmosdb";function SA(t,e){return!!(e&&t.test(e.toLowerCase()))}g.isHostMatch=SA;function E6(){let t,e;return{promise:new Promise(function(s,o){t=s,e=o}),resolve:t,reject:e}}g.promiseWithResolvers=E6;function OA(t){}g.squashError=OA;g.randomBytes=(0,L8.promisify)(u6.randomBytes);async function wA(t,e){let{promise:r,resolve:n,reject:s}=E6(),o=u=>n(u),i=u=>s(u);t.once(e,o).once("error",i);try{let u=await r;return t.off("error",i),u}catch(u){throw t.off(e,o),u}}g.once=wA;function DA(t,e,r){if((typeof r.forceServerObjectId=="boolean"?r.forceServerObjectId:t.s.db.options?.forceServerObjectId)===!0)return e;let s=o=>(o._id==null&&(o._id=t.s.pkFactory.createPk()),o);return Array.isArray(e)?e.map(s):s(e)}g.maybeAddIdToDocuments=DA;async function _A(t,e){try{return await I8.promises.access(t,e),!0}catch{return!1}}g.fileIsAccessible=_A;function BA(){}g.noop=BA;function A6(t,e,r=!0){if(r&&(Buffer.isBuffer(e)&&(e=(0,il.deserialize)(e)),Buffer.isBuffer(t)))throw new Lt.MongoRuntimeError("Expected result of decryption to be deserialized BSON object");if(!(!t||typeof t!="object"))for(let n of Object.keys(t)){let s=e[n];if(s&&s._bsontype==="Binary"&&s.sub_type===6){t[Di.kDecoratedKeys]||Object.defineProperty(t,Di.kDecoratedKeys,{value:[],configurable:!0,enumerable:!1,writable:!1}),t[Di.kDecoratedKeys].push(n);continue}A6(t[n],s,!1)}}g.decorateDecryptionResult=A6});var se=m(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.defineAspects=qr.AbstractOperation=qr.Aspect=void 0;var bA=ne(),ul=xe();qr.Aspect={READ_OPERATION:Symbol("READ_OPERATION"),WRITE_OPERATION:Symbol("WRITE_OPERATION"),RETRYABLE:Symbol("RETRYABLE"),EXPLAINABLE:Symbol("EXPLAINABLE"),SKIP_COLLATION:Symbol("SKIP_COLLATION"),CURSOR_CREATING:Symbol("CURSOR_CREATING"),MUST_SELECT_SAME_SERVER:Symbol("MUST_SELECT_SAME_SERVER")};var al=Symbol("session"),cl=class{constructor(e={}){this.readPreference=this.hasAspect(qr.Aspect.WRITE_OPERATION)?ul.ReadPreference.primary:ul.ReadPreference.fromOptions(e)??ul.ReadPreference.primary,this.bsonOptions=(0,bA.resolveBSONOptions)(e),this[al]=e.session!=null?e.session:void 0,this.options=e,this.bypassPinningCheck=!!e.bypassPinningCheck,this.trySecondaryWrite=!1}hasAspect(e){let r=this.constructor;return r.aspects==null?!1:r.aspects.has(e)}get session(){return this[al]}clearSession(){this[al]=void 0}get canRetryRead(){return!0}get canRetryWrite(){return!0}};qr.AbstractOperation=cl;function TA(t,e){return!Array.isArray(e)&&!(e instanceof Set)&&(e=[e]),e=new Set(e),Object.defineProperty(t,"aspects",{value:e,writable:!1}),e}qr.defineAspects=TA});var ht=m(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.executeOperation=void 0;var We=_(),g6=xe(),C6=r1(),bi=R(),An=se(),FA=We.MONGODB_ERROR_CODES.IllegalOperation,y6="This MongoDB deployment does not support retryable writes. Please add retryWrites=false to your connection string.";async function NA(t,e){if(!(e instanceof An.AbstractOperation))throw new We.MongoRuntimeError("This method requires a valid operation instance");if(t.topology==null){if(t.s.hasBeenClosed)throw new We.MongoNotConnectedError("Client must be connected before running operations");t.s.options[Symbol.for("@@mdb.skipPingOnConnect")]=!0;try{await t.connect()}finally{delete t.s.options[Symbol.for("@@mdb.skipPingOnConnect")]}}let{topology:r}=t;if(r==null)throw new We.MongoRuntimeError("client.connect did not create a topology but also did not throw");let n=e.session,s;if(n==null)s=Symbol(),n=t.startSession({owner:s,explicit:!1});else{if(n.hasEnded)throw new We.MongoExpiredSessionError("Use of expired sessions is not permitted");if(n.snapshotEnabled&&!r.capabilities.supportsSnapshotReads)throw new We.MongoCompatibilityError("Snapshot reads require MongoDB 5.0 or later");if(n.client!==t)throw new We.MongoInvalidArgumentError("ClientSession must be from the same MongoClient")}if(n.explicit&&n?.timeoutMS!=null&&e.options.timeoutMS!=null)throw new We.MongoInvalidArgumentError("Do not specify timeoutMS on operation if already specified on an explicit session");let o=e.readPreference??g6.ReadPreference.primary,i=!!n?.inTransaction(),u=e.hasAspect(An.Aspect.READ_OPERATION),a=e.hasAspect(An.Aspect.WRITE_OPERATION);if(i&&!o.equals(g6.ReadPreference.primary)&&(u||e.commandName==="runCommand"))throw new We.MongoTransactionError(`Read preference in a transaction must be primary, not: ${o.mode}`);n?.isPinned&&n.transaction.isCommitted&&!e.bypassPinningCheck&&n.unpin();let c;e.hasAspect(An.Aspect.MUST_SELECT_SAME_SERVER)?c=(0,C6.sameServerSelector)(e.server?.description):e.trySecondaryWrite?c=(0,C6.secondaryWritableServerSelector)(r.commonWireVersion,o):c=o;let l=await r.selectServer(c,{session:n,operationName:e.commandName});if(n==null)return await e.execute(l,void 0);if(!e.hasAspect(An.Aspect.RETRYABLE))try{return await e.execute(l,n)}finally{if(n?.owner!=null&&n.owner===s)try{await n.endSession()}catch(y){(0,bi.squashError)(y)}}let h=r.s.options.retryReads&&!i&&e.canRetryRead,f=r.s.options.retryWrites&&!i&&(0,bi.supportsRetryableWrites)(l)&&e.canRetryWrite,S=u&&h||a&&f;a&&f&&(e.options.willRetryWrite=!0,n.incrementTransactionNumber());try{return await e.execute(l,n)}catch(y){if(S&&y instanceof We.MongoError)return await RA(e,y,{session:n,topology:r,selector:c,previousServer:l.description});throw y}finally{if(n?.owner!=null&&n.owner===s)try{await n.endSession()}catch(y){(0,bi.squashError)(y)}}}Ti.executeOperation=NA;async function RA(t,e,{session:r,topology:n,selector:s,previousServer:o}){let i=t.hasAspect(An.Aspect.WRITE_OPERATION),u=t.hasAspect(An.Aspect.READ_OPERATION);if(i&&e.code===FA)throw new We.MongoServerError({message:y6,errmsg:y6,originalError:e});if(i&&!(0,We.isRetryableWriteError)(e)||u&&!(0,We.isRetryableReadError)(e))throw e;e instanceof We.MongoNetworkError&&r.isPinned&&!r.inTransaction()&&t.hasAspect(An.Aspect.CURSOR_CREATING)&&r.unpin({force:!0,forceClear:!0});let a=await n.selectServer(s,{session:r,operationName:t.commandName,previousServer:o});if(i&&!(0,bi.supportsRetryableWrites)(a))throw new We.MongoUnexpectedServerResponseError("Selected server does not support retryable writes");try{return await t.execute(a,r)}catch(c){throw c instanceof We.MongoError&&c.hasErrorLabel(We.MongoErrorLabel.NoWritesPerformed)?e:c}}});var hl=m(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.Explain=gn.ExplainVerbosity=void 0;var MA=_();gn.ExplainVerbosity=Object.freeze({queryPlanner:"queryPlanner",queryPlannerExtended:"queryPlannerExtended",executionStats:"executionStats",allPlansExecution:"allPlansExecution"});var ll=class t{constructor(e){typeof e=="boolean"?this.verbosity=e?gn.ExplainVerbosity.allPlansExecution:gn.ExplainVerbosity.queryPlanner:this.verbosity=e}static fromOptions(e){if(e?.explain==null)return;let r=e.explain;if(typeof r=="boolean"||typeof r=="string")return new t(r);throw new MA.MongoInvalidArgumentError('Field "explain" must be a string or a boolean')}};gn.Explain=ll});var be=m(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.CommandOperation=void 0;var IA=_(),vA=hl(),PA=Pt(),LA=r1(),o1=R(),S6=ot(),Is=se(),dl=class extends Is.AbstractOperation{constructor(e,r){super(r),this.options=r??{};let n=r?.dbName||r?.authdb;if(n?this.ns=new o1.MongoDBNamespace(n,"$cmd"):this.ns=e?e.s.namespace.withCollection("$cmd"):new o1.MongoDBNamespace("admin","$cmd"),this.readConcern=PA.ReadConcern.fromOptions(r),this.writeConcern=S6.WriteConcern.fromOptions(r),this.hasAspect(Is.Aspect.EXPLAINABLE))this.explain=vA.Explain.fromOptions(r);else if(r?.explain!=null)throw new IA.MongoInvalidArgumentError('Option "explain" is not supported on this command')}get canRetryWrite(){return this.hasAspect(Is.Aspect.EXPLAINABLE)?this.explain==null:!0}async executeCommand(e,r,n,s){this.server=e;let o={...this.options,...this.bsonOptions,readPreference:this.readPreference,session:r},i=(0,o1.maxWireVersion)(e),u=this.session&&this.session.inTransaction();return this.readConcern&&(0,o1.commandSupportsReadConcern)(n)&&!u&&Object.assign(n,{readConcern:this.readConcern}),this.trySecondaryWrite&&i<LA.MIN_SECONDARY_WRITE_WIRE_VERSION&&(o.omitReadPreference=!0),this.writeConcern&&this.hasAspect(Is.Aspect.WRITE_OPERATION)&&!u&&S6.WriteConcern.apply(n,this.writeConcern),o.collation&&typeof o.collation=="object"&&!this.hasAspect(Is.Aspect.SKIP_COLLATION)&&Object.assign(n,{collation:o.collation}),typeof o.maxTimeMS=="number"&&(n.maxTimeMS=o.maxTimeMS),this.hasAspect(Is.Aspect.EXPLAINABLE)&&this.explain&&(n=(0,o1.decorateWithExplain)(n,this.explain)),await e.command(this.ns,n,o,s)}};Fi.CommandOperation=dl});var w6=m(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.ListDatabasesOperation=void 0;var O6=R(),xA=be(),fl=se(),Ni=class extends xA.CommandOperation{constructor(e,r){super(e,r),this.options=r??{},this.ns=new O6.MongoDBNamespace("admin","$cmd")}get commandName(){return"listDatabases"}async execute(e,r){let n={listDatabases:1};return typeof this.options.nameOnly=="boolean"&&(n.nameOnly=this.options.nameOnly),this.options.filter&&(n.filter=this.options.filter),typeof this.options.authorizedDatabases=="boolean"&&(n.authorizedDatabases=this.options.authorizedDatabases),(0,O6.maxWireVersion)(e)>=9&&this.options.comment!==void 0&&(n.comment=this.options.comment),await super.executeCommand(e,r,n)}};Ri.ListDatabasesOperation=Ni;(0,fl.defineAspects)(Ni,[fl.Aspect.READ_OPERATION,fl.Aspect.RETRYABLE])});var pl=m(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});Ii.RemoveUserOperation=void 0;var kA=be(),D6=se(),Mi=class extends kA.CommandOperation{constructor(e,r,n){super(e,n),this.options=n,this.username=r}get commandName(){return"dropUser"}async execute(e,r){return await super.executeCommand(e,r,{dropUser:this.username}),!0}};Ii.RemoveUserOperation=Mi;(0,D6.defineAspects)(Mi,[D6.Aspect.WRITE_OPERATION])});var Ps=m(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.RunAdminCommandOperation=vs.RunCommandOperation=void 0;var qA=R(),_6=se(),ml=class extends _6.AbstractOperation{constructor(e,r,n){super(n),this.command=r,this.options=n,this.ns=e.s.namespace.withCollection("$cmd")}get commandName(){return"runCommand"}async execute(e,r){return this.server=e,await e.command(this.ns,this.command,{...this.options,readPreference:this.readPreference,session:r},this.options.responseType)}};vs.RunCommandOperation=ml;var El=class extends _6.AbstractOperation{constructor(e,r){super(r),this.command=e,this.options=r,this.ns=new qA.MongoDBNamespace("admin","$cmd")}get commandName(){return"runCommand"}async execute(e,r){return this.server=e,await e.command(this.ns,this.command,{...this.options,readPreference:this.readPreference,session:r})}};vs.RunAdminCommandOperation=El});var B6=m(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.ValidateCollectionOperation=void 0;var Al=_(),UA=be(),gl=class extends UA.CommandOperation{constructor(e,r,n){let s={validate:r},o=Object.keys(n);for(let i=0;i<o.length;i++)Object.prototype.hasOwnProperty.call(n,o[i])&&o[i]!=="session"&&(s[o[i]]=n[o[i]]);super(e.s.db,n),this.options=n,this.command=s,this.collectionName=r}get commandName(){return"validate"}async execute(e,r){let n=this.collectionName,s=await super.executeCommand(e,r,this.command);if(s.result!=null&&typeof s.result!="string")throw new Al.MongoUnexpectedServerResponseError("Error with validation data");if(s.result!=null&&s.result.match(/exception|corrupt/)!=null)throw new Al.MongoUnexpectedServerResponseError(`Invalid collection ${n}`);if(s.valid!=null&&!s.valid)throw new Al.MongoUnexpectedServerResponseError(`Invalid collection ${n}`);return s}};vi.ValidateCollectionOperation=gl});var yl=m(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.Admin=void 0;var jA=ne(),Pi=ht(),zA=w6(),WA=pl(),VA=Ps(),$A=B6(),Cl=class{constructor(e){this.s={db:e}}async command(e,r){return await(0,Pi.executeOperation)(this.s.db.client,new VA.RunAdminCommandOperation(e,{...(0,jA.resolveBSONOptions)(r),session:r?.session,readPreference:r?.readPreference}))}async buildInfo(e){return await this.command({buildinfo:1},e)}async serverInfo(e){return await this.command({buildinfo:1},e)}async serverStatus(e){return await this.command({serverStatus:1},e)}async ping(e){return await this.command({ping:1},e)}async removeUser(e,r){return await(0,Pi.executeOperation)(this.s.db.client,new WA.RemoveUserOperation(this.s.db,e,{dbName:"admin",...r}))}async validateCollection(e,r={}){return await(0,Pi.executeOperation)(this.s.db.client,new $A.ValidateCollectionOperation(this,e,r))}async listDatabases(e){return await(0,Pi.executeOperation)(this.s.db.client,new zA.ListDatabasesOperation(this.s.db,e))}async replSetGetStatus(e){return await this.command({replSetGetStatus:1},e)}};Li.Admin=Cl});var Ol=m(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.makeDeleteStatement=yr.DeleteManyOperation=yr.DeleteOneOperation=yr.DeleteOperation=void 0;var i1=_(),GA=be(),xt=se(),Ls=class extends GA.CommandOperation{constructor(e,r,n){super(void 0,n),this.options=n,this.ns=e,this.statements=r}get commandName(){return"delete"}get canRetryWrite(){return super.canRetryWrite===!1?!1:this.statements.every(e=>e.limit!=null?e.limit>0:!0)}async execute(e,r){let n=this.options??{},s=typeof n.ordered=="boolean"?n.ordered:!0,o={delete:this.ns.collection,deletes:this.statements,ordered:s};if(n.let&&(o.let=n.let),n.comment!==void 0&&(o.comment=n.comment),this.writeConcern&&this.writeConcern.w===0&&this.statements.find(a=>a.hint))throw new i1.MongoCompatibilityError("hint is not supported with unacknowledged writes");return await super.executeCommand(e,r,o)}};yr.DeleteOperation=Ls;var xi=class extends Ls{constructor(e,r,n){super(e.s.namespace,[Sl(r,{...n,limit:1})],n)}async execute(e,r){let n=await super.execute(e,r);if(this.explain)return n;if(n.code)throw new i1.MongoServerError(n);if(n.writeErrors)throw new i1.MongoServerError(n.writeErrors[0]);return{acknowledged:this.writeConcern?.w!==0,deletedCount:n.n}}};yr.DeleteOneOperation=xi;var ki=class extends Ls{constructor(e,r,n){super(e.s.namespace,[Sl(r,n)],n)}async execute(e,r){let n=await super.execute(e,r);if(this.explain)return n;if(n.code)throw new i1.MongoServerError(n);if(n.writeErrors)throw new i1.MongoServerError(n.writeErrors[0]);return{acknowledged:this.writeConcern?.w!==0,deletedCount:n.n}}};yr.DeleteManyOperation=ki;function Sl(t,e){let r={q:t,limit:typeof e.limit=="number"?e.limit:0};return e.collation&&(r.collation=e.collation),e.hint&&(r.hint=e.hint),r}yr.makeDeleteStatement=Sl;(0,xt.defineAspects)(Ls,[xt.Aspect.RETRYABLE,xt.Aspect.WRITE_OPERATION]);(0,xt.defineAspects)(xi,[xt.Aspect.RETRYABLE,xt.Aspect.WRITE_OPERATION,xt.Aspect.EXPLAINABLE,xt.Aspect.SKIP_COLLATION]);(0,xt.defineAspects)(ki,[xt.Aspect.WRITE_OPERATION,xt.Aspect.EXPLAINABLE,xt.Aspect.SKIP_COLLATION])});var Dl=m(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.BulkWriteOperation=void 0;var wl=se(),qi=class extends wl.AbstractOperation{constructor(e,r,n){super(n),this.options=n,this.collection=e,this.operations=r}get commandName(){return"bulkWrite"}async execute(e,r){let n=this.collection,s=this.operations,o={...this.options,...this.bsonOptions,readPreference:this.readPreference},i=o.ordered===!1?n.initializeUnorderedBulkOp(o):n.initializeOrderedBulkOp(o);for(let u=0;u<s.length;u++)i.raw(s[u]);return await i.execute({...o,session:r})}};Ui.BulkWriteOperation=qi;(0,wl.defineAspects)(qi,[wl.Aspect.WRITE_OPERATION])});var _l=m(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.InsertManyOperation=Cn.InsertOneOperation=Cn.InsertOperation=void 0;var ji=_(),HA=R(),KA=ot(),YA=Dl(),XA=be(),Ur=se(),u1=class extends XA.CommandOperation{constructor(e,r,n){super(void 0,n),this.options={...n,checkKeys:n.checkKeys??!1},this.ns=e,this.documents=r}get commandName(){return"insert"}async execute(e,r){let n=this.options??{},s=typeof n.ordered=="boolean"?n.ordered:!0,o={insert:this.ns.collection,documents:this.documents,ordered:s};return typeof n.bypassDocumentValidation=="boolean"&&(o.bypassDocumentValidation=n.bypassDocumentValidation),n.comment!==void 0&&(o.comment=n.comment),await super.executeCommand(e,r,o)}};Cn.InsertOperation=u1;var zi=class extends u1{constructor(e,r,n){super(e.s.namespace,(0,HA.maybeAddIdToDocuments)(e,[r],n),n)}async execute(e,r){let n=await super.execute(e,r);if(n.code)throw new ji.MongoServerError(n);if(n.writeErrors)throw new ji.MongoServerError(n.writeErrors[0]);return{acknowledged:this.writeConcern?.w!==0,insertedId:this.documents[0]._id}}};Cn.InsertOneOperation=zi;var Wi=class extends Ur.AbstractOperation{constructor(e,r,n){if(super(n),!Array.isArray(r))throw new ji.MongoInvalidArgumentError('Argument "docs" must be an array of documents');this.options=n,this.collection=e,this.docs=r}get commandName(){return"insert"}async execute(e,r){let n=this.collection,s={...this.options,...this.bsonOptions,readPreference:this.readPreference},o=KA.WriteConcern.fromOptions(s),i=new YA.BulkWriteOperation(n,this.docs.map(u=>({insertOne:{document:u}})),s);try{let u=await i.execute(e,r);return{acknowledged:o?.w!==0,insertedCount:u.insertedCount,insertedIds:u.insertedIds}}catch(u){throw u&&u.message==="Operation must be an object with an operation key"?new ji.MongoInvalidArgumentError("Collection.insertMany() cannot be called with an array that has null/undefined values"):u}}};Cn.InsertManyOperation=Wi;(0,Ur.defineAspects)(u1,[Ur.Aspect.RETRYABLE,Ur.Aspect.WRITE_OPERATION]);(0,Ur.defineAspects)(zi,[Ur.Aspect.RETRYABLE,Ur.Aspect.WRITE_OPERATION]);(0,Ur.defineAspects)(Wi,[Ur.Aspect.WRITE_OPERATION])});var bl=m(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.makeUpdateStatement=kt.ReplaceOneOperation=kt.UpdateManyOperation=kt.UpdateOneOperation=kt.UpdateOperation=void 0;var qt=_(),Bl=R(),JA=be(),Ve=se(),Zn=class extends JA.CommandOperation{constructor(e,r,n){super(void 0,n),this.options=n,this.ns=e,this.statements=r}get commandName(){return"update"}get canRetryWrite(){return super.canRetryWrite===!1?!1:this.statements.every(e=>e.multi==null||e.multi===!1)}async execute(e,r){let n=this.options??{},s=typeof n.ordered=="boolean"?n.ordered:!0,o={update:this.ns.collection,updates:this.statements,ordered:s};if(typeof n.bypassDocumentValidation=="boolean"&&(o.bypassDocumentValidation=n.bypassDocumentValidation),n.let&&(o.let=n.let),n.comment!==void 0&&(o.comment=n.comment),this.writeConcern&&this.writeConcern.w===0&&this.statements.find(a=>a.hint))throw new qt.MongoCompatibilityError("hint is not supported with unacknowledged writes");return await super.executeCommand(e,r,o)}};kt.UpdateOperation=Zn;var Vi=class extends Zn{constructor(e,r,n,s){if(super(e.s.namespace,[Hi(r,n,{...s,multi:!1})],s),!(0,Bl.hasAtomicOperators)(n))throw new qt.MongoInvalidArgumentError("Update document requires atomic operators")}async execute(e,r){let n=await super.execute(e,r);if(this.explain!=null)return n;if(n.code)throw new qt.MongoServerError(n);if(n.writeErrors)throw new qt.MongoServerError(n.writeErrors[0]);return{acknowledged:this.writeConcern?.w!==0,modifiedCount:n.nModified??n.n,upsertedId:Array.isArray(n.upserted)&&n.upserted.length>0?n.upserted[0]._id:null,upsertedCount:Array.isArray(n.upserted)&&n.upserted.length?n.upserted.length:0,matchedCount:Array.isArray(n.upserted)&&n.upserted.length>0?0:n.n}}};kt.UpdateOneOperation=Vi;var $i=class extends Zn{constructor(e,r,n,s){if(super(e.s.namespace,[Hi(r,n,{...s,multi:!0})],s),!(0,Bl.hasAtomicOperators)(n))throw new qt.MongoInvalidArgumentError("Update document requires atomic operators")}async execute(e,r){let n=await super.execute(e,r);if(this.explain!=null)return n;if(n.code)throw new qt.MongoServerError(n);if(n.writeErrors)throw new qt.MongoServerError(n.writeErrors[0]);return{acknowledged:this.writeConcern?.w!==0,modifiedCount:n.nModified??n.n,upsertedId:Array.isArray(n.upserted)&&n.upserted.length>0?n.upserted[0]._id:null,upsertedCount:Array.isArray(n.upserted)&&n.upserted.length?n.upserted.length:0,matchedCount:Array.isArray(n.upserted)&&n.upserted.length>0?0:n.n}}};kt.UpdateManyOperation=$i;var Gi=class extends Zn{constructor(e,r,n,s){if(super(e.s.namespace,[Hi(r,n,{...s,multi:!1})],s),(0,Bl.hasAtomicOperators)(n))throw new qt.MongoInvalidArgumentError("Replacement document must not contain atomic operators")}async execute(e,r){let n=await super.execute(e,r);if(this.explain!=null)return n;if(n.code)throw new qt.MongoServerError(n);if(n.writeErrors)throw new qt.MongoServerError(n.writeErrors[0]);return{acknowledged:this.writeConcern?.w!==0,modifiedCount:n.nModified??n.n,upsertedId:Array.isArray(n.upserted)&&n.upserted.length>0?n.upserted[0]._id:null,upsertedCount:Array.isArray(n.upserted)&&n.upserted.length?n.upserted.length:0,matchedCount:Array.isArray(n.upserted)&&n.upserted.length>0?0:n.n}}};kt.ReplaceOneOperation=Gi;function Hi(t,e,r){if(t==null||typeof t!="object")throw new qt.MongoInvalidArgumentError("Selector must be a valid JavaScript object");if(e==null||typeof e!="object")throw new qt.MongoInvalidArgumentError("Document must be a valid JavaScript object");let n={q:t,u:e};return typeof r.upsert=="boolean"&&(n.upsert=r.upsert),r.multi&&(n.multi=r.multi),r.hint&&(n.hint=r.hint),r.arrayFilters&&(n.arrayFilters=r.arrayFilters),r.collation&&(n.collation=r.collation),n}kt.makeUpdateStatement=Hi;(0,Ve.defineAspects)(Zn,[Ve.Aspect.RETRYABLE,Ve.Aspect.WRITE_OPERATION,Ve.Aspect.SKIP_COLLATION]);(0,Ve.defineAspects)(Vi,[Ve.Aspect.RETRYABLE,Ve.Aspect.WRITE_OPERATION,Ve.Aspect.EXPLAINABLE,Ve.Aspect.SKIP_COLLATION]);(0,Ve.defineAspects)($i,[Ve.Aspect.WRITE_OPERATION,Ve.Aspect.EXPLAINABLE,Ve.Aspect.SKIP_COLLATION]);(0,Ve.defineAspects)(Gi,[Ve.Aspect.RETRYABLE,Ve.Aspect.WRITE_OPERATION,Ve.Aspect.SKIP_COLLATION])});var d1=m(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.BulkOperationBase=Y.BulkWriteShimOperation=Y.FindOperators=Y.MongoBulkWriteError=Y.mergeBatchResults=Y.WriteError=Y.WriteConcernError=Y.BulkWriteResult=Y.Batch=Y.BatchType=void 0;var QA=x("util"),ZA=ne(),Pe=_(),l1=Ol(),F6=ht(),e5=_l(),t5=se(),es=bl(),b6=R(),yn=R(),T6=ot(),a1=Symbol("serverError");Y.BatchType=Object.freeze({INSERT:1,UPDATE:2,DELETE:3});var Tl=class{constructor(e,r){this.originalZeroIndex=r,this.currentIndex=0,this.originalIndexes=[],this.batchType=e,this.operations=[],this.size=0,this.sizeBytes=0}};Y.Batch=Tl;var ts=class t{static generateIdMap(e){let r={};for(let n of e)r[n.index]=n._id;return r}constructor(e,r){this.result=e,this.insertedCount=this.result.nInserted??0,this.matchedCount=this.result.nMatched??0,this.modifiedCount=this.result.nModified??0,this.deletedCount=this.result.nRemoved??0,this.upsertedCount=this.result.upserted.length??0,this.upsertedIds=t.generateIdMap(this.result.upserted),this.insertedIds=t.generateIdMap(this.getSuccessfullyInsertedIds(e,r)),Object.defineProperty(this,"result",{value:this.result,enumerable:!1})}get ok(){return this.result.ok}getSuccessfullyInsertedIds(e,r){return e.writeErrors.length===0?e.insertedIds:r?e.insertedIds.slice(0,e.writeErrors[0].index):e.insertedIds.filter(({index:n})=>!e.writeErrors.some(s=>n===s.index))}getUpsertedIdAt(e){return this.result.upserted[e]}getRawResponse(){return this.result}hasWriteErrors(){return this.result.writeErrors.length>0}getWriteErrorCount(){return this.result.writeErrors.length}getWriteErrorAt(e){return e<this.result.writeErrors.length?this.result.writeErrors[e]:void 0}getWriteErrors(){return this.result.writeErrors}getWriteConcernError(){if(this.result.writeConcernErrors.length!==0){if(this.result.writeConcernErrors.length===1)return this.result.writeConcernErrors[0];{let e="";for(let r=0;r<this.result.writeConcernErrors.length;r++){let n=this.result.writeConcernErrors[r];e=e+n.errmsg,r===0&&(e=e+" and ")}return new xs({errmsg:e,code:Pe.MONGODB_ERROR_CODES.WriteConcernFailed})}}}toString(){return`BulkWriteResult(${this.result})`}isOk(){return this.result.ok===1}};Y.BulkWriteResult=ts;var xs=class{constructor(e){this[a1]=e}get code(){return this[a1].code}get errmsg(){return this[a1].errmsg}get errInfo(){return this[a1].errInfo}toJSON(){return this[a1]}toString(){return`WriteConcernError(${this.errmsg})`}};Y.WriteConcernError=xs;var h1=class{constructor(e){this.err=e}get code(){return this.err.code}get index(){return this.err.index}get errmsg(){return this.err.errmsg}get errInfo(){return this.err.errInfo}getOperation(){return this.err.op}toJSON(){return{code:this.err.code,index:this.err.index,errmsg:this.err.errmsg,op:this.err.op}}toString(){return`WriteError(${JSON.stringify(this.toJSON())})`}};Y.WriteError=h1;function Ki(t,e,r,n){if(r?n=r:n&&n.result&&(n=n.result),n==null)return;if(n.ok===0&&e.ok===1){e.ok=0;let o={index:0,code:n.code||0,errmsg:n.message,errInfo:n.errInfo,op:t.operations[0]};e.writeErrors.push(new h1(o));return}else if(n.ok===0&&e.ok===0)return;R6(t)&&n.n&&(e.nInserted=e.nInserted+n.n),Nl(t)&&n.n&&(e.nRemoved=e.nRemoved+n.n);let s=0;if(Array.isArray(n.upserted)){s=n.upserted.length;for(let o=0;o<n.upserted.length;o++)e.upserted.push({index:n.upserted[o].index+t.originalZeroIndex,_id:n.upserted[o]._id})}else n.upserted&&(s=1,e.upserted.push({index:t.originalZeroIndex,_id:n.upserted}));if(Fl(t)&&n.n){let o=n.nModified;e.nUpserted=e.nUpserted+s,e.nMatched=e.nMatched+(n.n-s),typeof o=="number"?e.nModified=e.nModified+o:e.nModified=0}if(Array.isArray(n.writeErrors))for(let o=0;o<n.writeErrors.length;o++){let i={index:t.originalIndexes[n.writeErrors[o].index],code:n.writeErrors[o].code,errmsg:n.writeErrors[o].errmsg,errInfo:n.writeErrors[o].errInfo,op:t.operations[n.writeErrors[o].index]};e.writeErrors.push(new h1(i))}n.writeConcernError&&e.writeConcernErrors.push(new xs(n.writeConcernError))}Y.mergeBatchResults=Ki;function N6(t,e,r){if(t.s.batches.length===0)return r(void 0,new ts(t.s.bulkResult,t.isOrdered));let n=t.s.batches.shift();function s(i,u){if(i&&"message"in i&&!(i instanceof Pe.MongoWriteConcernError))return r(new rs(i,new ts(t.s.bulkResult,t.isOrdered)));if(i instanceof Pe.MongoWriteConcernError)return r5(n,t.s.bulkResult,t.isOrdered,i,r);Ki(n,t.s.bulkResult,i,u);let a=new ts(t.s.bulkResult,t.isOrdered);t.handleWriteError(r,a)||N6(t,e,r)}let o=(0,yn.resolveOptions)(t,{...e,ordered:t.isOrdered});o.bypassDocumentValidation!==!0&&delete o.bypassDocumentValidation,t.operationId&&(s.operationId=t.operationId),t.s.bypassDocumentValidation===!0&&(o.bypassDocumentValidation=!0),t.s.checkKeys===!1&&(o.checkKeys=!1),o.retryWrites&&(Fl(n)&&(o.retryWrites=o.retryWrites&&!n.operations.some(i=>i.multi)),Nl(n)&&(o.retryWrites=o.retryWrites&&!n.operations.some(i=>i.limit===0)));try{let i=R6(n)?new e5.InsertOperation(t.s.namespace,n.operations,o):Fl(n)?new es.UpdateOperation(t.s.namespace,n.operations,o):Nl(n)?new l1.DeleteOperation(t.s.namespace,n.operations,o):null;i!=null&&(0,F6.executeOperation)(t.s.collection.client,i).then(u=>s(void 0,u),u=>s(u))}catch(i){i.ok=0,Ki(n,t.s.bulkResult,i,void 0),r()}}function r5(t,e,r,n,s){Ki(t,e,void 0,n.result),s(new rs({message:n.result?.writeConcernError.errmsg,code:n.result?.writeConcernError.result},new ts(e,r)))}var rs=class extends Pe.MongoServerError{constructor(e,r){super(e),this.writeErrors=[],e instanceof xs?this.err=e:e instanceof Error||(this.message=e.message,this.code=e.code,this.writeErrors=e.writeErrors??[]),this.result=r,Object.assign(this,e)}get name(){return"MongoBulkWriteError"}get insertedCount(){return this.result.insertedCount}get matchedCount(){return this.result.matchedCount}get modifiedCount(){return this.result.modifiedCount}get deletedCount(){return this.result.deletedCount}get upsertedCount(){return this.result.upsertedCount}get insertedIds(){return this.result.insertedIds}get upsertedIds(){return this.result.upsertedIds}};Y.MongoBulkWriteError=rs;var Yi=class{constructor(e){this.bulkOperation=e}update(e){let r=c1(this.bulkOperation);return this.bulkOperation.addToOperationsList(Y.BatchType.UPDATE,(0,es.makeUpdateStatement)(r.selector,e,{...r,multi:!0}))}updateOne(e){if(!(0,yn.hasAtomicOperators)(e))throw new Pe.MongoInvalidArgumentError("Update document requires atomic operators");let r=c1(this.bulkOperation);return this.bulkOperation.addToOperationsList(Y.BatchType.UPDATE,(0,es.makeUpdateStatement)(r.selector,e,{...r,multi:!1}))}replaceOne(e){if((0,yn.hasAtomicOperators)(e))throw new Pe.MongoInvalidArgumentError("Replacement document must not use atomic operators");let r=c1(this.bulkOperation);return this.bulkOperation.addToOperationsList(Y.BatchType.UPDATE,(0,es.makeUpdateStatement)(r.selector,e,{...r,multi:!1}))}deleteOne(){let e=c1(this.bulkOperation);return this.bulkOperation.addToOperationsList(Y.BatchType.DELETE,(0,l1.makeDeleteStatement)(e.selector,{...e,limit:1}))}delete(){let e=c1(this.bulkOperation);return this.bulkOperation.addToOperationsList(Y.BatchType.DELETE,(0,l1.makeDeleteStatement)(e.selector,{...e,limit:0}))}upsert(){return this.bulkOperation.s.currentOp||(this.bulkOperation.s.currentOp={}),this.bulkOperation.s.currentOp.upsert=!0,this}collation(e){return this.bulkOperation.s.currentOp||(this.bulkOperation.s.currentOp={}),this.bulkOperation.s.currentOp.collation=e,this}arrayFilters(e){return this.bulkOperation.s.currentOp||(this.bulkOperation.s.currentOp={}),this.bulkOperation.s.currentOp.arrayFilters=e,this}hint(e){return this.bulkOperation.s.currentOp||(this.bulkOperation.s.currentOp={}),this.bulkOperation.s.currentOp.hint=e,this}};Y.FindOperators=Yi;var n5=(0,QA.promisify)(N6),Xi=class extends t5.AbstractOperation{constructor(e,r){super(r),this.bulkOperation=e}get commandName(){return"bulkWrite"}execute(e,r){return this.options.session==null&&(this.options.session=r),n5(this.bulkOperation,this.options)}};Y.BulkWriteShimOperation=Xi;var Ji=class{constructor(e,r,n){this.collection=e,this.isOrdered=n;let s=(0,yn.getTopology)(e);r=r??{};let o=e.s.namespace,i=!1,u=void 0,a=s.lastHello(),c=!!(s.s.options&&s.s.options.autoEncrypter),l=a&&a.maxBsonObjectSize?a.maxBsonObjectSize:1024*1024*16,h=c?1024*1024*2:l,f=a&&a.maxWriteBatchSize?a.maxWriteBatchSize:1e3,S=(f-1).toString(10).length+2,y=Object.assign({},r);y=(0,yn.applyRetryableWrites)(y,e.s.db);let F={ok:1,writeErrors:[],writeConcernErrors:[],insertedIds:[],nInserted:0,nUpserted:0,nMatched:0,nModified:0,nRemoved:0,upserted:[]};this.s={bulkResult:F,currentBatch:void 0,currentIndex:0,currentBatchSize:0,currentBatchSizeBytes:0,currentInsertBatch:void 0,currentUpdateBatch:void 0,currentRemoveBatch:void 0,batches:[],writeConcern:T6.WriteConcern.fromOptions(r),maxBsonObjectSize:l,maxBatchSizeBytes:h,maxWriteBatchSize:f,maxKeySize:S,namespace:o,topology:s,options:y,bsonOptions:(0,ZA.resolveBSONOptions)(r),currentOp:u,executed:i,collection:e,err:void 0,checkKeys:typeof r.checkKeys=="boolean"?r.checkKeys:!1},r.bypassDocumentValidation===!0&&(this.s.bypassDocumentValidation=!0)}insert(e){return(0,b6.maybeAddIdToDocuments)(this.collection,e,{forceServerObjectId:this.shouldForceServerObjectId()}),this.addToOperationsList(Y.BatchType.INSERT,e)}find(e){if(!e)throw new Pe.MongoInvalidArgumentError("Bulk find operation must specify a selector");return this.s.currentOp={selector:e},new Yi(this)}raw(e){if(e==null||typeof e!="object")throw new Pe.MongoInvalidArgumentError("Operation must be an object with an operation key");if("insertOne"in e){let r=this.shouldForceServerObjectId(),n=e.insertOne&&e.insertOne.document==null?e.insertOne:e.insertOne.document;return(0,b6.maybeAddIdToDocuments)(this.collection,n,{forceServerObjectId:r}),this.addToOperationsList(Y.BatchType.INSERT,n)}if("replaceOne"in e||"updateOne"in e||"updateMany"in e){if("replaceOne"in e){if("q"in e.replaceOne)throw new Pe.MongoInvalidArgumentError("Raw operations are not allowed");let r=(0,es.makeUpdateStatement)(e.replaceOne.filter,e.replaceOne.replacement,{...e.replaceOne,multi:!1});if((0,yn.hasAtomicOperators)(r.u))throw new Pe.MongoInvalidArgumentError("Replacement document must not use atomic operators");return this.addToOperationsList(Y.BatchType.UPDATE,r)}if("updateOne"in e){if("q"in e.updateOne)throw new Pe.MongoInvalidArgumentError("Raw operations are not allowed");let r=(0,es.makeUpdateStatement)(e.updateOne.filter,e.updateOne.update,{...e.updateOne,multi:!1});if(!(0,yn.hasAtomicOperators)(r.u))throw new Pe.MongoInvalidArgumentError("Update document requires atomic operators");return this.addToOperationsList(Y.BatchType.UPDATE,r)}if("updateMany"in e){if("q"in e.updateMany)throw new Pe.MongoInvalidArgumentError("Raw operations are not allowed");let r=(0,es.makeUpdateStatement)(e.updateMany.filter,e.updateMany.update,{...e.updateMany,multi:!0});if(!(0,yn.hasAtomicOperators)(r.u))throw new Pe.MongoInvalidArgumentError("Update document requires atomic operators");return this.addToOperationsList(Y.BatchType.UPDATE,r)}}if("deleteOne"in e){if("q"in e.deleteOne)throw new Pe.MongoInvalidArgumentError("Raw operations are not allowed");return this.addToOperationsList(Y.BatchType.DELETE,(0,l1.makeDeleteStatement)(e.deleteOne.filter,{...e.deleteOne,limit:1}))}if("deleteMany"in e){if("q"in e.deleteMany)throw new Pe.MongoInvalidArgumentError("Raw operations are not allowed");return this.addToOperationsList(Y.BatchType.DELETE,(0,l1.makeDeleteStatement)(e.deleteMany.filter,{...e.deleteMany,limit:0}))}throw new Pe.MongoInvalidArgumentError("bulkWrite only supports insertOne, updateOne, updateMany, deleteOne, deleteMany")}get bsonOptions(){return this.s.bsonOptions}get writeConcern(){return this.s.writeConcern}get batches(){let e=[...this.s.batches];return this.isOrdered?this.s.currentBatch&&e.push(this.s.currentBatch):(this.s.currentInsertBatch&&e.push(this.s.currentInsertBatch),this.s.currentUpdateBatch&&e.push(this.s.currentUpdateBatch),this.s.currentRemoveBatch&&e.push(this.s.currentRemoveBatch)),e}async execute(e={}){if(this.s.executed)throw new Pe.MongoBatchReExecutionError;let r=T6.WriteConcern.fromOptions(e);if(r&&(this.s.writeConcern=r),this.isOrdered?this.s.currentBatch&&this.s.batches.push(this.s.currentBatch):(this.s.currentInsertBatch&&this.s.batches.push(this.s.currentInsertBatch),this.s.currentUpdateBatch&&this.s.batches.push(this.s.currentUpdateBatch),this.s.currentRemoveBatch&&this.s.batches.push(this.s.currentRemoveBatch)),this.s.batches.length===0)throw new Pe.MongoInvalidArgumentError("Invalid BulkOperation, Batch cannot be empty");this.s.executed=!0;let n={...this.s.options,...e},s=new Xi(this,n);return await(0,F6.executeOperation)(this.s.collection.client,s)}handleWriteError(e,r){if(this.s.bulkResult.writeErrors.length>0){let s=this.s.bulkResult.writeErrors[0].errmsg?this.s.bulkResult.writeErrors[0].errmsg:"write operation failed";return e(new rs({message:s,code:this.s.bulkResult.writeErrors[0].code,writeErrors:this.s.bulkResult.writeErrors},r)),!0}let n=r.getWriteConcernError();return n?(e(new rs(n,r)),!0):!1}shouldForceServerObjectId(){return this.s.options.forceServerObjectId===!0||this.s.collection.s.db.options?.forceServerObjectId===!0}};Y.BulkOperationBase=Ji;Object.defineProperty(Ji.prototype,"length",{enumerable:!0,get(){return this.s.currentIndex}});function R6(t){return t.batchType===Y.BatchType.INSERT}function Fl(t){return t.batchType===Y.BatchType.UPDATE}function Nl(t){return t.batchType===Y.BatchType.DELETE}function c1(t){let{currentOp:e}=t.s;return t.s.currentOp=void 0,e||(e={}),e}});var Ml=m(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.OrderedBulkOperation=void 0;var s5=ne(),M6=_(),Qi=d1(),Rl=class extends Qi.BulkOperationBase{constructor(e,r){super(e,r,!0)}addToOperationsList(e,r){let n=s5.calculateObjectSize(r,{checkKeys:!1,ignoreUndefined:!1});if(n>=this.s.maxBsonObjectSize)throw new M6.MongoInvalidArgumentError(`Document is larger than the maximum size ${this.s.maxBsonObjectSize}`);this.s.currentBatch==null&&(this.s.currentBatch=new Qi.Batch(e,this.s.currentIndex));let s=this.s.maxKeySize;if((this.s.currentBatchSize+1>=this.s.maxWriteBatchSize||this.s.currentBatchSize>0&&this.s.currentBatchSizeBytes+s+n>=this.s.maxBatchSizeBytes||this.s.currentBatch.batchType!==e)&&(this.s.batches.push(this.s.currentBatch),this.s.currentBatch=new Qi.Batch(e,this.s.currentIndex),this.s.currentBatchSize=0,this.s.currentBatchSizeBytes=0),e===Qi.BatchType.INSERT&&this.s.bulkResult.insertedIds.push({index:this.s.currentIndex,_id:r._id}),Array.isArray(r))throw new M6.MongoInvalidArgumentError("Operation passed in cannot be an Array");return this.s.currentBatch.originalIndexes.push(this.s.currentIndex),this.s.currentBatch.operations.push(r),this.s.currentBatchSize+=1,this.s.currentBatchSizeBytes+=s+n,this.s.currentIndex+=1,this}};Zi.OrderedBulkOperation=Rl});var vl=m(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.UnorderedBulkOperation=void 0;var o5=ne(),I6=_(),jr=d1(),Il=class extends jr.BulkOperationBase{constructor(e,r){super(e,r,!1)}handleWriteError(e,r){return this.s.batches.length?!1:super.handleWriteError(e,r)}addToOperationsList(e,r){let n=o5.calculateObjectSize(r,{checkKeys:!1,ignoreUndefined:!1});if(n>=this.s.maxBsonObjectSize)throw new I6.MongoInvalidArgumentError(`Document is larger than the maximum size ${this.s.maxBsonObjectSize}`);this.s.currentBatch=void 0,e===jr.BatchType.INSERT?this.s.currentBatch=this.s.currentInsertBatch:e===jr.BatchType.UPDATE?this.s.currentBatch=this.s.currentUpdateBatch:e===jr.BatchType.DELETE&&(this.s.currentBatch=this.s.currentRemoveBatch);let s=this.s.maxKeySize;if(this.s.currentBatch==null&&(this.s.currentBatch=new jr.Batch(e,this.s.currentIndex)),(this.s.currentBatch.size+1>=this.s.maxWriteBatchSize||this.s.currentBatch.size>0&&this.s.currentBatch.sizeBytes+s+n>=this.s.maxBatchSizeBytes||this.s.currentBatch.batchType!==e)&&(this.s.batches.push(this.s.currentBatch),this.s.currentBatch=new jr.Batch(e,this.s.currentIndex)),Array.isArray(r))throw new I6.MongoInvalidArgumentError("Operation passed in cannot be an Array");return this.s.currentBatch.operations.push(r),this.s.currentBatch.originalIndexes.push(this.s.currentIndex),this.s.currentIndex=this.s.currentIndex+1,e===jr.BatchType.INSERT?(this.s.currentInsertBatch=this.s.currentBatch,this.s.bulkResult.insertedIds.push({index:this.s.bulkResult.insertedIds.length,_id:r._id})):e===jr.BatchType.UPDATE?this.s.currentUpdateBatch=this.s.currentBatch:e===jr.BatchType.DELETE&&(this.s.currentRemoveBatch=this.s.currentBatch),this.s.currentBatch.size+=1,this.s.currentBatch.sizeBytes+=s+n,this}};eu.UnorderedBulkOperation=Il});var Pl=m(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.AggregateOperation=ns.DB_AGGREGATE_COLLECTION=void 0;var v6=Cr(),P6=_(),i5=R(),u5=ot(),a5=be(),f1=se();ns.DB_AGGREGATE_COLLECTION=1;var c5=8,tu=class extends a5.CommandOperation{constructor(e,r,n){if(super(void 0,{...n,dbName:e.db}),this.options={...n},this.target=e.collection||ns.DB_AGGREGATE_COLLECTION,this.pipeline=r,this.hasWriteStage=!1,typeof n?.out=="string")this.pipeline=this.pipeline.concat({$out:n.out}),this.hasWriteStage=!0;else if(r.length>0){let s=r[r.length-1];(s.$out||s.$merge)&&(this.hasWriteStage=!0)}if(this.hasWriteStage?this.trySecondaryWrite=!0:delete this.options.writeConcern,this.explain&&this.writeConcern)throw new P6.MongoInvalidArgumentError('Option "explain" cannot be used on an aggregate call with writeConcern');if(n?.cursor!=null&&typeof n.cursor!="object")throw new P6.MongoInvalidArgumentError("Cursor options must be an object")}get commandName(){return"aggregate"}get canRetryRead(){return!this.hasWriteStage}addToPipeline(e){this.pipeline.push(e)}async execute(e,r){let n=this.options,s=(0,i5.maxWireVersion)(e),o={aggregate:this.target,pipeline:this.pipeline};return this.hasWriteStage&&s<c5&&(this.readConcern=void 0),this.hasWriteStage&&this.writeConcern&&u5.WriteConcern.apply(o,this.writeConcern),n.bypassDocumentValidation===!0&&(o.bypassDocumentValidation=n.bypassDocumentValidation),typeof n.allowDiskUse=="boolean"&&(o.allowDiskUse=n.allowDiskUse),n.hint&&(o.hint=n.hint),n.let&&(o.let=n.let),n.comment!==void 0&&(o.comment=n.comment),o.cursor=n.cursor||{},n.batchSize&&!this.hasWriteStage&&(o.cursor.batchSize=n.batchSize),await super.executeCommand(e,r,o,this.explain?v6.ExplainedCursorResponse:v6.CursorResponse)}};ns.AggregateOperation=tu;(0,f1.defineAspects)(tu,[f1.Aspect.READ_OPERATION,f1.Aspect.RETRYABLE,f1.Aspect.EXPLAINABLE,f1.Aspect.CURSOR_CREATING])});var os=m(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.MongoLogger=q.defaultLogTransform=q.stringifyWithMaxLen=q.createStdioLogger=q.parseSeverityFromString=q.MongoLoggableComponent=q.SEVERITY_LEVEL_MAP=q.DEFAULT_MAX_DOCUMENT_LENGTH=q.SeverityLevel=void 0;var L6=x("util"),l5=ne(),Ee=Be(),qs=R();q.SeverityLevel=Object.freeze({EMERGENCY:"emergency",ALERT:"alert",CRITICAL:"critical",ERROR:"error",WARNING:"warn",NOTICE:"notice",INFORMATIONAL:"info",DEBUG:"debug",TRACE:"trace",OFF:"off"});q.DEFAULT_MAX_DOCUMENT_LENGTH=1e3;var kl=class extends Map{constructor(e){let r=[];for(let[n,s]of e)r.push([s,n]);r.push(...e),super(r)}getNumericSeverityLevel(e){return this.get(e)}getSeverityLevelName(e){return this.get(e)}};q.SEVERITY_LEVEL_MAP=new kl([[q.SeverityLevel.OFF,-1/0],[q.SeverityLevel.EMERGENCY,0],[q.SeverityLevel.ALERT,1],[q.SeverityLevel.CRITICAL,2],[q.SeverityLevel.ERROR,3],[q.SeverityLevel.WARNING,4],[q.SeverityLevel.NOTICE,5],[q.SeverityLevel.INFORMATIONAL,6],[q.SeverityLevel.DEBUG,7],[q.SeverityLevel.TRACE,8]]);q.MongoLoggableComponent=Object.freeze({COMMAND:"command",TOPOLOGY:"topology",SERVER_SELECTION:"serverSelection",CONNECTION:"connection",CLIENT:"client"});function ql(t){let e=Object.values(q.SeverityLevel),r=t?.toLowerCase();return r!=null&&e.includes(r)?r:null}q.parseSeverityFromString=ql;function ss(t){return{write:(0,L6.promisify)((e,r)=>{let n=(0,L6.inspect)(e,{compact:!0,breakLength:1/0});t.write(`${n}
8
- `,"utf-8",r)})}}q.createStdioLogger=ss;function h5({MONGODB_LOG_PATH:t},{mongodbLogPath:e}){return typeof e=="string"&&/^stderr$/i.test(e)?{mongodbLogPath:ss(process.stderr),mongodbLogPathIsStdErr:!0}:typeof e=="string"&&/^stdout$/i.test(e)?{mongodbLogPath:ss(process.stdout),mongodbLogPathIsStdErr:!1}:typeof e=="object"&&typeof e?.write=="function"?{mongodbLogPath:e,mongodbLogPathIsStdErr:!1}:t&&/^stderr$/i.test(t)?{mongodbLogPath:ss(process.stderr),mongodbLogPathIsStdErr:!0}:t&&/^stdout$/i.test(t)?{mongodbLogPath:ss(process.stdout),mongodbLogPathIsStdErr:!1}:{mongodbLogPath:ss(process.stderr),mongodbLogPathIsStdErr:!0}}function ks(t,e,r){return ql(t)??ql(e)??r}function d5(t,e){let r=q.SEVERITY_LEVEL_MAP.getNumericSeverityLevel(t),n=q.SEVERITY_LEVEL_MAP.getNumericSeverityLevel(e);return r<n?-1:r>n?1:0}function On(t,e,r={}){let n="";if(typeof t=="string")n=t;else if(typeof t=="function")n=t.name;else try{n=l5.EJSON.stringify(t,r)}catch(s){n=`Extended JSON serialization failed with: ${s.message}`}return e!==0&&n.length>e&&n.charCodeAt(e-1)!==n.codePointAt(e-1)&&(e--,e===0)?"":e!==0&&n.length>e?`${n.slice(0,e)}...`:n}q.stringifyWithMaxLen=On;function f5(t){let e=t;return e.toLog!==void 0&&typeof e.toLog=="function"}function ru(t,e,r=q.DEFAULT_MAX_DOCUMENT_LENGTH){let{selector:n,operation:s,topologyDescription:o,message:i}=e;return t.selector=On(n,r),t.operation=s,t.topologyDescription=On(o,r),t.message=i,t}function Ll(t,e){t.commandName=e.commandName,t.requestId=e.requestId,t.driverConnectionId=e.connectionId;let{host:r,port:n}=qs.HostAddress.fromString(e.address).toHostPort();return t.serverHost=r,t.serverPort=n,e?.serviceId&&(t.serviceId=e.serviceId.toHexString()),t.databaseName=e.databaseName,t.serverConnectionId=e.serverConnectionId,t}function Bt(t,e){let{host:r,port:n}=qs.HostAddress.fromString(e.address).toHostPort();return t.serverHost=r,t.serverPort=n,t}function Sn(t,e){return t.topologyId=e.topologyId,t}function xl(t,e){let{awaited:r,connectionId:n}=e;t.awaited=r,t.driverConnectionId=e.connectionId;let{host:s,port:o}=qs.HostAddress.fromString(n).toHostPort();return t.serverHost=s,t.serverPort=o,t}function x6(t,e=q.DEFAULT_MAX_DOCUMENT_LENGTH){let r=Object.create(null);switch(t.name){case Ee.SERVER_SELECTION_STARTED:return r=ru(r,t,e),r;case Ee.SERVER_SELECTION_FAILED:return r=ru(r,t,e),r.failure=t.failure?.message,r;case Ee.SERVER_SELECTION_SUCCEEDED:return r=ru(r,t,e),r.serverHost=t.serverHost,r.serverPort=t.serverPort,r;case Ee.WAITING_FOR_SUITABLE_SERVER:return r=ru(r,t,e),r.remainingTimeMS=t.remainingTimeMS,r;case Ee.COMMAND_STARTED:return r=Ll(r,t),r.message="Command started",r.command=On(t.command,e,{relaxed:!0}),r.databaseName=t.databaseName,r;case Ee.COMMAND_SUCCEEDED:return r=Ll(r,t),r.message="Command succeeded",r.durationMS=t.duration,r.reply=On(t.reply,e,{relaxed:!0}),r;case Ee.COMMAND_FAILED:return r=Ll(r,t),r.message="Command failed",r.durationMS=t.duration,r.failure=t.failure?.message??"(redacted)",r;case Ee.CONNECTION_POOL_CREATED:if(r=Bt(r,t),r.message="Connection pool created",t.options){let{maxIdleTimeMS:n,minPoolSize:s,maxPoolSize:o,maxConnecting:i,waitQueueTimeoutMS:u}=t.options;r={...r,maxIdleTimeMS:n,minPoolSize:s,maxPoolSize:o,maxConnecting:i,waitQueueTimeoutMS:u}}return r;case Ee.CONNECTION_POOL_READY:return r=Bt(r,t),r.message="Connection pool ready",r;case Ee.CONNECTION_POOL_CLEARED:return r=Bt(r,t),r.message="Connection pool cleared",t.serviceId?._bsontype==="ObjectId"&&(r.serviceId=t.serviceId?.toHexString()),r;case Ee.CONNECTION_POOL_CLOSED:return r=Bt(r,t),r.message="Connection pool closed",r;case Ee.CONNECTION_CREATED:return r=Bt(r,t),r.message="Connection created",r.driverConnectionId=t.connectionId,r;case Ee.CONNECTION_READY:return r=Bt(r,t),r.message="Connection ready",r.driverConnectionId=t.connectionId,r;case Ee.CONNECTION_CLOSED:switch(r=Bt(r,t),r.message="Connection closed",r.driverConnectionId=t.connectionId,t.reason){case"stale":r.reason="Connection became stale because the pool was cleared";break;case"idle":r.reason="Connection has been available but unused for longer than the configured max idle time";break;case"error":r.reason="An error occurred while using the connection",t.error&&(r.error=t.error);break;case"poolClosed":r.reason="Connection pool was closed";break;default:r.reason=`Unknown close reason: ${t.reason}`}return r;case Ee.CONNECTION_CHECK_OUT_STARTED:return r=Bt(r,t),r.message="Connection checkout started",r;case Ee.CONNECTION_CHECK_OUT_FAILED:switch(r=Bt(r,t),r.message="Connection checkout failed",t.reason){case"poolClosed":r.reason="Connection pool was closed";break;case"timeout":r.reason="Wait queue timeout elapsed without a connection becoming available";break;case"connectionError":r.reason="An error occurred while trying to establish a new connection",t.error&&(r.error=t.error);break;default:r.reason=`Unknown close reason: ${t.reason}`}return r;case Ee.CONNECTION_CHECKED_OUT:return r=Bt(r,t),r.message="Connection checked out",r.driverConnectionId=t.connectionId,r;case Ee.CONNECTION_CHECKED_IN:return r=Bt(r,t),r.message="Connection checked in",r.driverConnectionId=t.connectionId,r;case Ee.SERVER_OPENING:return r=Sn(r,t),r=Bt(r,t),r.message="Starting server monitoring",r;case Ee.SERVER_CLOSED:return r=Sn(r,t),r=Bt(r,t),r.message="Stopped server monitoring",r;case Ee.SERVER_HEARTBEAT_STARTED:return r=Sn(r,t),r=xl(r,t),r.message="Server heartbeat started",r;case Ee.SERVER_HEARTBEAT_SUCCEEDED:return r=Sn(r,t),r=xl(r,t),r.message="Server heartbeat succeeded",r.durationMS=t.duration,r.serverConnectionId=t.serverConnectionId,r.reply=On(t.reply,e,{relaxed:!0}),r;case Ee.SERVER_HEARTBEAT_FAILED:return r=Sn(r,t),r=xl(r,t),r.message="Server heartbeat failed",r.durationMS=t.duration,r.failure=t.failure?.message,r;case Ee.TOPOLOGY_OPENING:return r=Sn(r,t),r.message="Starting topology monitoring",r;case Ee.TOPOLOGY_CLOSED:return r=Sn(r,t),r.message="Stopped topology monitoring",r;case Ee.TOPOLOGY_DESCRIPTION_CHANGED:return r=Sn(r,t),r.message="Topology description changed",r.previousDescription=r.reply=On(t.previousDescription,e),r.newDescription=r.reply=On(t.newDescription,e),r;default:for(let[n,s]of Object.entries(t))s!=null&&(r[n]=s)}return r}q.defaultLogTransform=x6;var Ul=class{constructor(e){this.pendingLog=null,this.error=this.log.bind(this,"error"),this.warn=this.log.bind(this,"warn"),this.info=this.log.bind(this,"info"),this.debug=this.log.bind(this,"debug"),this.trace=this.log.bind(this,"trace"),this.componentSeverities=e.componentSeverities,this.maxDocumentLength=e.maxDocumentLength,this.logDestination=e.logDestination,this.logDestinationIsStdErr=e.logDestinationIsStdErr,this.severities=this.createLoggingSeverities()}createLoggingSeverities(){let e=Object();for(let r of Object.values(q.MongoLoggableComponent)){e[r]={};for(let n of Object.values(q.SeverityLevel))e[r][n]=d5(n,this.componentSeverities[r])<=0}return e}turnOffSeverities(){for(let e of Object.values(q.MongoLoggableComponent)){this.componentSeverities[e]=q.SeverityLevel.OFF;for(let r of Object.values(q.SeverityLevel))this.severities[e][r]=!1}}logWriteFailureHandler(e){if(this.logDestinationIsStdErr){this.turnOffSeverities(),this.clearPendingLog();return}this.logDestination=ss(process.stderr),this.logDestinationIsStdErr=!0,this.clearPendingLog(),this.error(q.MongoLoggableComponent.CLIENT,{toLog:function(){return{message:"User input for mongodbLogPath is now invalid. Logging is halted.",error:e.message}}}),this.turnOffSeverities(),this.clearPendingLog()}clearPendingLog(){this.pendingLog=null}willLog(e,r){return r===q.SeverityLevel.OFF?!1:this.severities[e][r]}log(e,r,n){if(!this.willLog(r,e))return;let s={t:new Date,c:r,s:e};if(typeof n=="string"?s.message=n:typeof n=="object"&&(f5(n)?s={...s,...n.toLog()}:s={...s,...x6(n,this.maxDocumentLength)}),(0,qs.isPromiseLike)(this.pendingLog)){this.pendingLog=this.pendingLog.then(()=>this.logDestination.write(s)).then(this.clearPendingLog.bind(this),this.logWriteFailureHandler.bind(this));return}try{let o=this.logDestination.write(s);(0,qs.isPromiseLike)(o)&&(this.pendingLog=o.then(this.clearPendingLog.bind(this),this.logWriteFailureHandler.bind(this)))}catch(o){this.logWriteFailureHandler(o)}}static resolveOptions(e,r){let n=h5(e,r),s={...e,...r,mongodbLogPath:n.mongodbLogPath,mongodbLogPathIsStdErr:n.mongodbLogPathIsStdErr},o=ks(s.mongodbLogComponentSeverities?.default,s.MONGODB_LOG_ALL,q.SeverityLevel.OFF);return{componentSeverities:{command:ks(s.mongodbLogComponentSeverities?.command,s.MONGODB_LOG_COMMAND,o),topology:ks(s.mongodbLogComponentSeverities?.topology,s.MONGODB_LOG_TOPOLOGY,o),serverSelection:ks(s.mongodbLogComponentSeverities?.serverSelection,s.MONGODB_LOG_SERVER_SELECTION,o),connection:ks(s.mongodbLogComponentSeverities?.connection,s.MONGODB_LOG_CONNECTION,o),client:ks(s.mongodbLogComponentSeverities?.client,s.MONGODB_LOG_CLIENT,o),default:o},maxDocumentLength:s.mongodbLogMaxDocumentLength??(0,qs.parseUnsignedInteger)(s.MONGODB_LOG_MAX_DOCUMENT_LENGTH)??1e3,logDestination:s.mongodbLogPath,logDestinationIsStdErr:s.mongodbLogPathIsStdErr}}};q.MongoLogger=Ul});var bt=m(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.CancellationToken=Us.TypedEventEmitter=void 0;var p5=x("events"),m5=os(),nu=class extends p5.EventEmitter{emitAndLog(e,...r){this.emit(e,...r),this.component&&this.mongoLogger?.debug(this.component,r[0])}emitAndLogHeartbeat(e,r,n,...s){if(this.emit(e,...s),this.component){let o={topologyId:r,serverConnectionId:n??null,...s[0]};this.mongoLogger?.debug(this.component,o)}}emitAndLogCommand(e,r,n,s,...o){if(e&&this.emit(r,...o),s){let i={databaseName:n,...o[0]};this.mongoLogger?.debug(m5.MongoLoggableComponent.COMMAND,i)}}};Us.TypedEventEmitter=nu;var jl=class extends nu{};Us.CancellationToken=jl});var Wl=m(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.GetMoreOperation=void 0;var E5=Cr(),zl=_(),A5=R(),su=se(),ou=class extends su.AbstractOperation{constructor(e,r,n,s){super(s),this.options=s,this.ns=e,this.cursorId=r,this.server=n}get commandName(){return"getMore"}async execute(e,r){if(e!==this.server)throw new zl.MongoRuntimeError("Getmore must run on the same server operation began on");if(this.cursorId==null||this.cursorId.isZero())throw new zl.MongoRuntimeError("Unable to iterate cursor with no id");let n=this.ns.collection;if(n==null)throw new zl.MongoRuntimeError("A collection name must be determined before getMore");let s={getMore:this.cursorId,collection:n};typeof this.options.batchSize=="number"&&(s.batchSize=Math.abs(this.options.batchSize)),typeof this.options.maxAwaitTimeMS=="number"&&(s.maxTimeMS=this.options.maxAwaitTimeMS),this.options.comment!==void 0&&(0,A5.maxWireVersion)(e)>=9&&(s.comment=this.options.comment);let o={returnFieldSelector:null,documentsReturnedIn:"nextBatch",...this.options};return await e.command(this.ns,s,o,E5.CursorResponse)}};iu.GetMoreOperation=ou;(0,su.defineAspects)(ou,[su.Aspect.READ_OPERATION,su.Aspect.MUST_SELECT_SAME_SERVER])});var q6=m(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});au.KillCursorsOperation=void 0;var k6=_(),g5=R(),Vl=se(),uu=class extends Vl.AbstractOperation{constructor(e,r,n,s){super(s),this.ns=r,this.cursorId=e,this.server=n}get commandName(){return"killCursors"}async execute(e,r){if(e!==this.server)throw new k6.MongoRuntimeError("Killcursor must run on the same server operation began on");let n=this.ns.collection;if(n==null)throw new k6.MongoRuntimeError("A collection name must be determined before killCursors");let s={killCursors:n,cursors:[this.cursorId]};try{await e.command(this.ns,s,{session:r})}catch(o){(0,g5.squashError)(o)}}};au.KillCursorsOperation=uu;(0,Vl.defineAspects)(uu,[Vl.Aspect.MUST_SELECT_SAME_SERVER])});var $l=m(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});cu.ConnectionPoolMetrics=void 0;var js=class t{constructor(){this.txnConnections=0,this.cursorConnections=0,this.otherConnections=0}markPinned(e){e===t.TXN?this.txnConnections+=1:e===t.CURSOR?this.cursorConnections+=1:this.otherConnections+=1}markUnpinned(e){e===t.TXN?this.txnConnections-=1:e===t.CURSOR?this.cursorConnections-=1:this.otherConnections-=1}info(e){return`Timed out while checking out a connection from connection pool: maxPoolSize: ${e}, connections in use by cursors: ${this.cursorConnections}, connections in use by transactions: ${this.txnConnections}, connections in use by other operations: ${this.otherConnections}`}reset(){this.txnConnections=0,this.cursorConnections=0,this.otherConnections=0}};js.TXN="txn";js.CURSOR="cursor";js.OTHER="other";cu.ConnectionPoolMetrics=js});var p1=m(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.compareTopologyVersion=wn.parseServerType=wn.ServerDescription=void 0;var zs=ne(),C5=_(),Ws=R(),Re=wt(),y5=new Set([Re.ServerType.RSPrimary,Re.ServerType.Standalone,Re.ServerType.Mongos,Re.ServerType.LoadBalancer]),S5=new Set([Re.ServerType.RSPrimary,Re.ServerType.RSSecondary,Re.ServerType.Mongos,Re.ServerType.Standalone,Re.ServerType.LoadBalancer]),Gl=class{constructor(e,r,n={}){if(e==null||e==="")throw new C5.MongoRuntimeError("ServerDescription must be provided with a non-empty address");this.address=typeof e=="string"?Ws.HostAddress.fromString(e).toString():e.toString(),this.type=U6(r,n),this.hosts=r?.hosts?.map(s=>s.toLowerCase())??[],this.passives=r?.passives?.map(s=>s.toLowerCase())??[],this.arbiters=r?.arbiters?.map(s=>s.toLowerCase())??[],this.tags=r?.tags??{},this.minWireVersion=r?.minWireVersion??0,this.maxWireVersion=r?.maxWireVersion??0,this.roundTripTime=n?.roundTripTime??-1,this.minRoundTripTime=n?.minRoundTripTime??0,this.lastUpdateTime=(0,Ws.now)(),this.lastWriteDate=r?.lastWrite?.lastWriteDate??0,this.error=n.error??null,this.topologyVersion=this.error?.topologyVersion??r?.topologyVersion??null,this.setName=r?.setName??null,this.setVersion=r?.setVersion??null,this.electionId=r?.electionId??null,this.logicalSessionTimeoutMinutes=r?.logicalSessionTimeoutMinutes??null,this.primary=r?.primary??null,this.me=r?.me?.toLowerCase()??null,this.$clusterTime=r?.$clusterTime??null}get hostAddress(){return Ws.HostAddress.fromString(this.address)}get allHosts(){return this.hosts.concat(this.arbiters).concat(this.passives)}get isReadable(){return this.type===Re.ServerType.RSSecondary||this.isWritable}get isDataBearing(){return S5.has(this.type)}get isWritable(){return y5.has(this.type)}get host(){let e=`:${this.port}`.length;return this.address.slice(0,-e)}get port(){let e=this.address.split(":").pop();return e?Number.parseInt(e,10):27017}equals(e){let r=this.topologyVersion===e?.topologyVersion||j6(this.topologyVersion,e?.topologyVersion)===0,n=this.electionId!=null&&e?.electionId!=null?(0,Ws.compareObjectId)(this.electionId,e.electionId)===0:this.electionId===e?.electionId;return e!=null&&(0,Ws.errorStrictEqual)(this.error,e.error)&&this.type===e.type&&this.minWireVersion===e.minWireVersion&&(0,Ws.arrayStrictEqual)(this.hosts,e.hosts)&&O5(this.tags,e.tags)&&this.setName===e.setName&&this.setVersion===e.setVersion&&n&&this.primary===e.primary&&this.logicalSessionTimeoutMinutes===e.logicalSessionTimeoutMinutes&&r}};wn.ServerDescription=Gl;function U6(t,e){return e?.loadBalanced?Re.ServerType.LoadBalancer:!t||!t.ok?Re.ServerType.Unknown:t.isreplicaset?Re.ServerType.RSGhost:t.msg&&t.msg==="isdbgrid"?Re.ServerType.Mongos:t.setName?t.hidden?Re.ServerType.RSOther:t.isWritablePrimary?Re.ServerType.RSPrimary:t.secondary?Re.ServerType.RSSecondary:t.arbiterOnly?Re.ServerType.RSArbiter:Re.ServerType.RSOther:Re.ServerType.Standalone}wn.parseServerType=U6;function O5(t,e){let r=Object.keys(t),n=Object.keys(e);return r.length===n.length&&r.every(s=>e[s]===t[s])}function j6(t,e){if(t==null||e==null||!t.processId.equals(e.processId))return-1;let r=typeof t.counter=="bigint"?zs.Long.fromBigInt(t.counter):zs.Long.isLong(t.counter)?t.counter:zs.Long.fromNumber(t.counter),n=typeof e.counter=="bigint"?zs.Long.fromBigInt(e.counter):zs.Long.isLong(e.counter)?e.counter:zs.Long.fromNumber(e.counter);return r.compare(n)}wn.compareTopologyVersion=j6});var Yl=m(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});hu.TopologyDescription=void 0;var w5=ne(),lu=Qn(),D5=_(),Hl=R(),X=wt(),Dn=p1(),_5=lu.MIN_SUPPORTED_SERVER_VERSION,B5=lu.MAX_SUPPORTED_SERVER_VERSION,z6=lu.MIN_SUPPORTED_WIRE_VERSION,W6=lu.MAX_SUPPORTED_WIRE_VERSION,b5=new Set([X.ServerType.Mongos,X.ServerType.Unknown]),V6=new Set([X.ServerType.Mongos,X.ServerType.Standalone]),$6=new Set([X.ServerType.RSSecondary,X.ServerType.RSArbiter,X.ServerType.RSOther]),Kl=class t{constructor(e,r=null,n=null,s=null,o=null,i=null,u=null){u=u??{},this.type=e??X.TopologyType.Unknown,this.servers=r??new Map,this.stale=!1,this.compatible=!0,this.heartbeatFrequencyMS=u.heartbeatFrequencyMS??0,this.localThresholdMS=u.localThresholdMS??15,this.setName=n??null,this.maxElectionId=o??null,this.maxSetVersion=s??null,this.commonWireVersion=i??0;for(let a of this.servers.values())if(!(a.type===X.ServerType.Unknown||a.type===X.ServerType.LoadBalancer)&&(a.minWireVersion>W6&&(this.compatible=!1,this.compatibilityError=`Server at ${a.address} requires wire version ${a.minWireVersion}, but this version of the driver only supports up to ${W6} (MongoDB ${B5})`),a.maxWireVersion<z6)){this.compatible=!1,this.compatibilityError=`Server at ${a.address} reports wire version ${a.maxWireVersion}, but this version of the driver requires at least ${z6} (MongoDB ${_5}).`;break}this.logicalSessionTimeoutMinutes=null;for(let[,a]of this.servers)if(a.isReadable){if(a.logicalSessionTimeoutMinutes==null){this.logicalSessionTimeoutMinutes=null;break}if(this.logicalSessionTimeoutMinutes==null){this.logicalSessionTimeoutMinutes=a.logicalSessionTimeoutMinutes;continue}this.logicalSessionTimeoutMinutes=Math.min(this.logicalSessionTimeoutMinutes,a.logicalSessionTimeoutMinutes)}}updateFromSrvPollingEvent(e,r=0){let n=e.hostnames(),s=new Set(this.servers.keys()),o=new Set(n),i=new Set;for(let a of s)o.delete(a),n.has(a)||i.add(a);if(o.size===0&&i.size===0)return this;let u=new Map(this.servers);for(let a of i)u.delete(a);if(o.size>0){if(r===0)for(let a of o)u.set(a,new Dn.ServerDescription(a));else if(u.size<r){let a=(0,Hl.shuffle)(o,r-u.size);for(let c of a)u.set(c,new Dn.ServerDescription(c))}}return new t(this.type,u,this.setName,this.maxSetVersion,this.maxElectionId,this.commonWireVersion,{heartbeatFrequencyMS:this.heartbeatFrequencyMS,localThresholdMS:this.localThresholdMS})}update(e){let r=e.address,{type:n,setName:s,maxSetVersion:o,maxElectionId:i,commonWireVersion:u}=this,a=e.type,c=new Map(this.servers);if(e.maxWireVersion!==0&&(u==null?u=e.maxWireVersion:u=Math.min(u,e.maxWireVersion)),typeof e.setName=="string"&&typeof s=="string"&&e.setName!==s&&(n===X.TopologyType.Single?e=new Dn.ServerDescription(r):c.delete(r)),c.set(r,e),n===X.TopologyType.Single)return new t(X.TopologyType.Single,c,s,o,i,u,{heartbeatFrequencyMS:this.heartbeatFrequencyMS,localThresholdMS:this.localThresholdMS});if(n===X.TopologyType.Unknown&&(a===X.ServerType.Standalone&&this.servers.size!==1?c.delete(r):n=T5(a)),n===X.TopologyType.Sharded&&(b5.has(a)||c.delete(r)),n===X.TopologyType.ReplicaSetNoPrimary){if(V6.has(a)&&c.delete(r),a===X.ServerType.RSPrimary){let l=G6(c,e,s,o,i);n=l[0],s=l[1],o=l[2],i=l[3]}else if($6.has(a)){let l=N5(c,e,s);n=l[0],s=l[1]}}if(n===X.TopologyType.ReplicaSetWithPrimary)if(V6.has(a))c.delete(r),n=is(c);else if(a===X.ServerType.RSPrimary){let l=G6(c,e,s,o,i);n=l[0],s=l[1],o=l[2],i=l[3]}else $6.has(a)?n=F5(c,e,s):n=is(c);return new t(n,c,s,o,i,u,{heartbeatFrequencyMS:this.heartbeatFrequencyMS,localThresholdMS:this.localThresholdMS})}get error(){let e=Array.from(this.servers.values()).filter(r=>r.error);return e.length>0?e[0].error:null}get hasKnownServers(){return Array.from(this.servers.values()).some(e=>e.type!==X.ServerType.Unknown)}get hasDataBearingServers(){return Array.from(this.servers.values()).some(e=>e.isDataBearing)}hasServer(e){return this.servers.has(e)}toJSON(){return w5.EJSON.serialize(this)}};hu.TopologyDescription=Kl;function T5(t){switch(t){case X.ServerType.Standalone:return X.TopologyType.Single;case X.ServerType.Mongos:return X.TopologyType.Sharded;case X.ServerType.RSPrimary:return X.TopologyType.ReplicaSetWithPrimary;case X.ServerType.RSOther:case X.ServerType.RSSecondary:return X.TopologyType.ReplicaSetNoPrimary;default:return X.TopologyType.Unknown}}function G6(t,e,r=null,n=null,s=null){if(r=r||e.setName,r!==e.setName)return t.delete(e.address),[is(t),r,n,s];if(e.maxWireVersion>=17){let u=(0,Hl.compareObjectId)(s,e.electionId),a=u===0,c=u===-1,l=(n??-1)<=(e.setVersion??-1);if(c||a&&l)s=e.electionId,n=e.setVersion;else return t.set(e.address,new Dn.ServerDescription(e.address)),[is(t),r,n,s]}else{let u=e.electionId?e.electionId:null;if(e.setVersion&&u){if(n&&s&&(n>e.setVersion||(0,Hl.compareObjectId)(s,u)>0))return t.set(e.address,new Dn.ServerDescription(e.address)),[is(t),r,n,s];s=e.electionId}e.setVersion!=null&&(n==null||e.setVersion>n)&&(n=e.setVersion)}for(let[u,a]of t)if(a.type===X.ServerType.RSPrimary&&a.address!==e.address){t.set(u,new Dn.ServerDescription(a.address));break}e.allHosts.forEach(u=>{t.has(u)||t.set(u,new Dn.ServerDescription(u))});let o=Array.from(t.keys()),i=e.allHosts;return o.filter(u=>i.indexOf(u)===-1).forEach(u=>{t.delete(u)}),[is(t),r,n,s]}function F5(t,e,r=null){if(r==null)throw new D5.MongoRuntimeError('Argument "setName" is required if connected to a replica set');return(r!==e.setName||e.me&&e.address!==e.me)&&t.delete(e.address),is(t)}function N5(t,e,r=null){let n=X.TopologyType.ReplicaSetNoPrimary;return r=r??e.setName,r!==e.setName?(t.delete(e.address),[n,r]):(e.allHosts.forEach(s=>{t.has(s)||t.set(s,new Dn.ServerDescription(s))}),e.me&&e.address!==e.me&&t.delete(e.address),[n,r])}function is(t){for(let e of t.values())if(e.type===X.ServerType.RSPrimary)return X.TopologyType.ReplicaSetWithPrimary;return X.TopologyType.ReplicaSetNoPrimary}});var Jl=m(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.isSharded=Vs.getReadPreference=void 0;var R5=_(),Xl=xe(),H6=wt(),M5=Yl();function I5(t){let e=t?.readPreference??Xl.ReadPreference.primary;if(typeof e=="string"&&(e=Xl.ReadPreference.fromString(e)),!(e instanceof Xl.ReadPreference))throw new R5.MongoInvalidArgumentError('Option "readPreference" must be a ReadPreference instance');return e}Vs.getReadPreference=I5;function v5(t){return t==null?!1:t.description&&t.description.type===H6.ServerType.Mongos?!0:t.description&&t.description instanceof M5.TopologyDescription?Array.from(t.description.servers.values()).some(r=>r.type===H6.ServerType.Mongos):!1}Vs.isSharded=v5});var Zl=m(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.isTransactionCommand=V.Transaction=V.TxnState=void 0;var K6=_(),P5=Pt(),L5=xe(),x5=ot();V.TxnState=Object.freeze({NO_TRANSACTION:"NO_TRANSACTION",STARTING_TRANSACTION:"STARTING_TRANSACTION",TRANSACTION_IN_PROGRESS:"TRANSACTION_IN_PROGRESS",TRANSACTION_COMMITTED:"TRANSACTION_COMMITTED",TRANSACTION_COMMITTED_EMPTY:"TRANSACTION_COMMITTED_EMPTY",TRANSACTION_ABORTED:"TRANSACTION_ABORTED"});var k5={[V.TxnState.NO_TRANSACTION]:[V.TxnState.NO_TRANSACTION,V.TxnState.STARTING_TRANSACTION],[V.TxnState.STARTING_TRANSACTION]:[V.TxnState.TRANSACTION_IN_PROGRESS,V.TxnState.TRANSACTION_COMMITTED,V.TxnState.TRANSACTION_COMMITTED_EMPTY,V.TxnState.TRANSACTION_ABORTED],[V.TxnState.TRANSACTION_IN_PROGRESS]:[V.TxnState.TRANSACTION_IN_PROGRESS,V.TxnState.TRANSACTION_COMMITTED,V.TxnState.TRANSACTION_ABORTED],[V.TxnState.TRANSACTION_COMMITTED]:[V.TxnState.TRANSACTION_COMMITTED,V.TxnState.TRANSACTION_COMMITTED_EMPTY,V.TxnState.STARTING_TRANSACTION,V.TxnState.NO_TRANSACTION],[V.TxnState.TRANSACTION_ABORTED]:[V.TxnState.STARTING_TRANSACTION,V.TxnState.NO_TRANSACTION],[V.TxnState.TRANSACTION_COMMITTED_EMPTY]:[V.TxnState.TRANSACTION_COMMITTED_EMPTY,V.TxnState.NO_TRANSACTION]},q5=new Set([V.TxnState.STARTING_TRANSACTION,V.TxnState.TRANSACTION_IN_PROGRESS]),U5=new Set([V.TxnState.TRANSACTION_COMMITTED,V.TxnState.TRANSACTION_COMMITTED_EMPTY,V.TxnState.TRANSACTION_ABORTED]),Ql=class{constructor(e){e=e??{},this.state=V.TxnState.NO_TRANSACTION,this.options={};let r=x5.WriteConcern.fromOptions(e);if(r){if(r.w===0)throw new K6.MongoTransactionError("Transactions do not support unacknowledged write concern");this.options.writeConcern=r}e.readConcern&&(this.options.readConcern=P5.ReadConcern.fromOptions(e)),e.readPreference&&(this.options.readPreference=L5.ReadPreference.fromOptions(e)),e.maxCommitTimeMS&&(this.options.maxTimeMS=e.maxCommitTimeMS),this._pinnedServer=void 0,this._recoveryToken=void 0}get server(){return this._pinnedServer}get recoveryToken(){return this._recoveryToken}get isPinned(){return!!this.server}get isStarting(){return this.state===V.TxnState.STARTING_TRANSACTION}get isActive(){return q5.has(this.state)}get isCommitted(){return U5.has(this.state)}transition(e){let r=k5[this.state];if(r&&r.includes(e)){this.state=e,(this.state===V.TxnState.NO_TRANSACTION||this.state===V.TxnState.STARTING_TRANSACTION||this.state===V.TxnState.TRANSACTION_ABORTED)&&this.unpinServer();return}throw new K6.MongoRuntimeError(`Attempted illegal state transition from [${this.state}] to [${e}]`)}pinServer(e){this.isActive&&(this._pinnedServer=e)}unpinServer(){this._pinnedServer=void 0}};V.Transaction=Ql;function j5(t){return!!(t.commitTransaction||t.abortTransaction)}V.isTransactionCommand=j5});var E1=m(dt=>{"use strict";var ep;Object.defineProperty(dt,"__esModule",{value:!0});dt.updateSessionFromResponse=dt.applySession=dt.ServerSessionPool=dt.ServerSession=dt.maybeClearPinnedConnection=dt.ClientSession=void 0;var du=ne(),fu=$l(),z5=Jl(),tp=Be(),U=_(),W5=bt(),Y6=ht(),X6=Ps(),V5=Pt(),J6=xe(),e2=wt(),ue=Zl(),Tt=R(),$5=ot(),G5=8,$s=Symbol("serverSession"),pu=Symbol("snapshotTime"),Hs=Symbol("snapshotEnabled"),Gs=Symbol("pinnedConnection"),mu=Symbol("txnNumberIncrement"),t2=class t extends W5.TypedEventEmitter{constructor(e,r,n,s){if(super(),this[ep]=!1,e==null)throw new U.MongoRuntimeError("ClientSession requires a MongoClient");if(r==null||!(r instanceof Eu))throw new U.MongoRuntimeError("ClientSession requires a ServerSessionPool");if(n=n??{},n.snapshot===!0&&(this[Hs]=!0,n.causalConsistency===!0))throw new U.MongoInvalidArgumentError('Properties "causalConsistency" and "snapshot" are mutually exclusive');this.client=e,this.sessionPool=r,this.hasEnded=!1,this.clientOptions=s,this.timeoutMS=n.defaultTimeoutMS??e.s.options?.timeoutMS,this.explicit=!!n.explicit,this[$s]=this.explicit?this.sessionPool.acquire():null,this[mu]=0;let o=this.explicit&&n.snapshot!==!0;this.supports={causalConsistency:n.causalConsistency??o},this.clusterTime=n.initialClusterTime,this.operationTime=void 0,this.owner=n.owner,this.defaultTransactionOptions={...n.defaultTransactionOptions},this.transaction=new ue.Transaction}get id(){return this[$s]?.id}get serverSession(){let e=this[$s];if(e==null){if(this.explicit)throw new U.MongoRuntimeError("Unexpected null serverSession for an explicit session");if(this.hasEnded)throw new U.MongoRuntimeError("Unexpected null serverSession for an ended implicit session");e=this.sessionPool.acquire(),this[$s]=e}return e}get snapshotEnabled(){return this[Hs]}get loadBalanced(){return this.client.topology?.description.type===e2.TopologyType.LoadBalanced}get pinnedConnection(){return this[Gs]}pin(e){if(this[Gs])throw TypeError("Cannot pin multiple connections to the same session");this[Gs]=e,e.emit(tp.PINNED,this.inTransaction()?fu.ConnectionPoolMetrics.TXN:fu.ConnectionPoolMetrics.CURSOR)}unpin(e){if(this.loadBalanced)return Ks(this,e);this.transaction.unpinServer()}get isPinned(){return this.loadBalanced?!!this[Gs]:this.transaction.isPinned}async endSession(e){try{if(this.inTransaction()&&await this.abortTransaction(),!this.hasEnded){let r=this[$s];r!=null&&(this.sessionPool.release(r),Object.defineProperty(this,$s,{value:m1.clone(r),writable:!1})),this.hasEnded=!0,this.emit("ended",this)}}catch(r){(0,Tt.squashError)(r)}finally{Ks(this,{force:!0,...e})}}advanceOperationTime(e){if(this.operationTime==null){this.operationTime=e;return}e.greaterThan(this.operationTime)&&(this.operationTime=e)}advanceClusterTime(e){if(!e||typeof e!="object")throw new U.MongoInvalidArgumentError("input cluster time must be an object");if(!e.clusterTime||e.clusterTime._bsontype!=="Timestamp")throw new U.MongoInvalidArgumentError('input cluster time "clusterTime" property must be a valid BSON Timestamp');if(!e.signature||e.signature.hash?._bsontype!=="Binary"||typeof e.signature.keyId!="bigint"&&typeof e.signature.keyId!="number"&&e.signature.keyId?._bsontype!=="Long")throw new U.MongoInvalidArgumentError('input cluster time must have a valid "signature" property with BSON Binary hash and BSON Long keyId');(0,e2._advanceClusterTime)(this,e)}equals(e){return!(e instanceof t)||this.id==null||e.id==null?!1:Tt.ByteUtils.equals(this.id.id.buffer,e.id.id.buffer)}incrementTransactionNumber(){this[mu]+=1}inTransaction(){return this.transaction.isActive}startTransaction(e){if(this[Hs])throw new U.MongoCompatibilityError("Transactions are not supported in snapshot sessions");if(this.inTransaction())throw new U.MongoTransactionError("Transaction already in progress");this.isPinned&&this.transaction.isCommitted&&this.unpin();let r=(0,Tt.maxWireVersion)(this.client.topology);if((0,z5.isSharded)(this.client.topology)&&r!=null&&r<G5)throw new U.MongoCompatibilityError("Transactions are not supported on sharded clusters in MongoDB < 4.2.");this.incrementTransactionNumber(),this.transaction=new ue.Transaction({readConcern:e?.readConcern??this.defaultTransactionOptions.readConcern??this.clientOptions?.readConcern,writeConcern:e?.writeConcern??this.defaultTransactionOptions.writeConcern??this.clientOptions?.writeConcern,readPreference:e?.readPreference??this.defaultTransactionOptions.readPreference??this.clientOptions?.readPreference,maxCommitTimeMS:e?.maxCommitTimeMS??this.defaultTransactionOptions.maxCommitTimeMS}),this.transaction.transition(ue.TxnState.STARTING_TRANSACTION)}async commitTransaction(){return await Q6(this,"commitTransaction")}async abortTransaction(){return await Q6(this,"abortTransaction")}toBSON(){throw new U.MongoRuntimeError("ClientSession cannot be serialized to BSON.")}async withTransaction(e,r){let n=(0,Tt.now)();return await r2(this,n,e,r)}};dt.ClientSession=t2;ep=Hs;var rp=12e4,H5=new Set(["CannotSatisfyWriteConcern","UnknownReplWriteConcern","UnsatisfiableWriteConcern"]);function np(t,e){return(0,Tt.calculateDurationInMs)(t)<e}function K5(t){let e=t instanceof U.MongoServerError&&t.codeName&&H5.has(t.codeName);return Au(t)||!e&&t.code!==U.MONGODB_ERROR_CODES.UnsatisfiableWriteConcern&&t.code!==U.MONGODB_ERROR_CODES.UnknownReplWriteConcern}function Ks(t,e){let r=t[Gs],n=e?.error;if(t.inTransaction()&&n&&n instanceof U.MongoError&&n.hasErrorLabel(U.MongoErrorLabel.TransientTransactionError))return;let s=t.client.topology;if(r&&s!=null){let i=Array.from(s.s.servers.values())[0];(e?.error==null||e?.force)&&(i.pool.checkIn(r),t[Gs]=void 0,r.emit(tp.UNPINNED,t.transaction.state!==ue.TxnState.NO_TRANSACTION?fu.ConnectionPoolMetrics.TXN:fu.ConnectionPoolMetrics.CURSOR),e?.forceClear&&i.pool.clear({serviceId:r.serviceId}))}}dt.maybeClearPinnedConnection=Ks;function Au(t){return t==null||!(t instanceof U.MongoServerError)?!1:t.code===U.MONGODB_ERROR_CODES.MaxTimeMSExpired||t.writeConcernError&&t.writeConcernError.code===U.MONGODB_ERROR_CODES.MaxTimeMSExpired}async function sp(t,e,r,n,s){try{return await t.commitTransaction(),n}catch(o){if(o instanceof U.MongoError&&np(e,rp)&&!Au(o)){if(o.hasErrorLabel(U.MongoErrorLabel.UnknownTransactionCommitResult))return await sp(t,e,r,n,s);if(o.hasErrorLabel(U.MongoErrorLabel.TransientTransactionError))return await r2(t,e,r,s)}throw o}}var Y5=new Set([ue.TxnState.NO_TRANSACTION,ue.TxnState.TRANSACTION_COMMITTED,ue.TxnState.TRANSACTION_ABORTED]);function X5(t){return Y5.has(t.transaction.state)}async function r2(t,e,r,n={}){t.startTransaction(n);let s;try{s=r(t)}catch(o){s=Promise.reject(o)}if(!(0,Tt.isPromiseLike)(s)){try{await t.abortTransaction()}catch(o){(0,Tt.squashError)(o)}throw new U.MongoInvalidArgumentError("Function provided to `withTransaction` must return a Promise")}try{let o=await s;return X5(t)?o:await sp(t,e,r,o,n)}catch(o){if(t.inTransaction()&&await t.abortTransaction(),o instanceof U.MongoError&&o.hasErrorLabel(U.MongoErrorLabel.TransientTransactionError)&&np(e,rp))return await r2(t,e,r,n);throw Au(o)&&o.addErrorLabel(U.MongoErrorLabel.UnknownTransactionCommitResult),o}}async function Q6(t,e){let r=t.transaction.state;if(r===ue.TxnState.NO_TRANSACTION)throw new U.MongoTransactionError("No transaction started");if(e==="commitTransaction"){if(r===ue.TxnState.STARTING_TRANSACTION||r===ue.TxnState.TRANSACTION_COMMITTED_EMPTY){t.transaction.transition(ue.TxnState.TRANSACTION_COMMITTED_EMPTY);return}if(r===ue.TxnState.TRANSACTION_ABORTED)throw new U.MongoTransactionError("Cannot call commitTransaction after calling abortTransaction")}else{if(r===ue.TxnState.STARTING_TRANSACTION){t.transaction.transition(ue.TxnState.TRANSACTION_ABORTED);return}if(r===ue.TxnState.TRANSACTION_ABORTED)throw new U.MongoTransactionError("Cannot call abortTransaction twice");if(r===ue.TxnState.TRANSACTION_COMMITTED||r===ue.TxnState.TRANSACTION_COMMITTED_EMPTY)throw new U.MongoTransactionError("Cannot call abortTransaction after calling commitTransaction")}let n={[e]:1},s;t.transaction.options.writeConcern?s=Object.assign({},t.transaction.options.writeConcern):t.clientOptions&&t.clientOptions.writeConcern&&(s={w:t.clientOptions.writeConcern.w}),r===ue.TxnState.TRANSACTION_COMMITTED&&(s=Object.assign({wtimeoutMS:1e4},s,{w:"majority"})),s&&$5.WriteConcern.apply(n,s),e==="commitTransaction"&&t.transaction.options.maxTimeMS&&Object.assign(n,{maxTimeMS:t.transaction.options.maxTimeMS}),t.transaction.recoveryToken&&(n.recoveryToken=t.transaction.recoveryToken);try{await(0,Y6.executeOperation)(t.client,new X6.RunAdminCommandOperation(n,{session:t,readPreference:J6.ReadPreference.primary,bypassPinningCheck:!0})),n.abortTransaction&&t.unpin(),e!=="commitTransaction"?(t.transaction.transition(ue.TxnState.TRANSACTION_ABORTED),t.loadBalanced&&Ks(t,{force:!1})):t.transaction.transition(ue.TxnState.TRANSACTION_COMMITTED)}catch(o){if(n.abortTransaction&&t.unpin(),o instanceof U.MongoError&&(0,U.isRetryableWriteError)(o)){n.commitTransaction&&(t.unpin({force:!0}),n.writeConcern=Object.assign({wtimeout:1e4},n.writeConcern,{w:"majority"}));try{await(0,Y6.executeOperation)(t.client,new X6.RunAdminCommandOperation(n,{session:t,readPreference:J6.ReadPreference.primary,bypassPinningCheck:!0})),e!=="commitTransaction"?(t.transaction.transition(ue.TxnState.TRANSACTION_ABORTED),t.loadBalanced&&Ks(t,{force:!1})):t.transaction.transition(ue.TxnState.TRANSACTION_COMMITTED)}catch(i){Z6(t,e,i)}}else Z6(t,e,o)}}function Z6(t,e,r){if(e!=="commitTransaction"){t.transaction.transition(ue.TxnState.TRANSACTION_ABORTED),t.loadBalanced&&Ks(t,{force:!1});return}throw t.transaction.transition(ue.TxnState.TRANSACTION_COMMITTED),r instanceof U.MongoError&&((0,U.isRetryableWriteError)(r)||r instanceof U.MongoWriteConcernError||Au(r)?K5(r)&&(r.addErrorLabel(U.MongoErrorLabel.UnknownTransactionCommitResult),t.unpin({error:r})):r.hasErrorLabel(U.MongoErrorLabel.TransientTransactionError)&&t.unpin({error:r})),r}var m1=class t{constructor(){this.id={id:new du.Binary((0,Tt.uuidV4)(),du.Binary.SUBTYPE_UUID)},this.lastUse=(0,Tt.now)(),this.txnNumber=0,this.isDirty=!1}hasTimedOut(e){return Math.round((0,Tt.calculateDurationInMs)(this.lastUse)%864e5%36e5/6e4)>e-1}static clone(e){let r=new ArrayBuffer(16),n=Buffer.from(r);n.set(e.id.id.buffer);let s=new du.Binary(n,e.id.id.sub_type);return Object.setPrototypeOf({id:{id:s},lastUse:e.lastUse,txnNumber:e.txnNumber,isDirty:e.isDirty},t.prototype)}};dt.ServerSession=m1;var Eu=class{constructor(e){if(e==null)throw new U.MongoRuntimeError("ServerSessionPool requires a MongoClient");this.client=e,this.sessions=new Tt.List}acquire(){let e=this.client.topology?.logicalSessionTimeoutMinutes??10,r=null;for(;this.sessions.length>0;){let n=this.sessions.shift();if(n!=null&&(this.client.topology?.loadBalanced||!n.hasTimedOut(e))){r=n;break}}return r==null&&(r=new m1),r}release(e){let r=this.client.topology?.logicalSessionTimeoutMinutes??10;if(this.client.topology?.loadBalanced&&!r&&this.sessions.unshift(e),!!r&&(this.sessions.prune(n=>n.hasTimedOut(r)),!e.hasTimedOut(r))){if(e.isDirty)return;this.sessions.unshift(e)}}};dt.ServerSessionPool=Eu;function J5(t,e,r){if(t.hasEnded)return new U.MongoExpiredSessionError;let n=t.serverSession;if(n==null)return new U.MongoRuntimeError("Unable to acquire server session");if(r.writeConcern?.w===0)return t&&t.explicit?new U.MongoAPIError("Cannot have explicit session with unacknowledged writes"):void 0;n.lastUse=(0,Tt.now)(),e.lsid=n.id;let s=t.inTransaction()||(0,ue.isTransactionCommand)(e);if((!!r.willRetryWrite||s)&&(n.txnNumber+=t[mu],t[mu]=0,e.txnNumber=du.Long.fromNumber(n.txnNumber)),!s){t.transaction.state!==ue.TxnState.NO_TRANSACTION&&t.transaction.transition(ue.TxnState.NO_TRANSACTION),t.supports.causalConsistency&&t.operationTime&&(0,Tt.commandSupportsReadConcern)(e)?(e.readConcern=e.readConcern||{},Object.assign(e.readConcern,{afterClusterTime:t.operationTime})):t[Hs]&&(e.readConcern=e.readConcern||{level:V5.ReadConcernLevel.snapshot},t[pu]!=null&&Object.assign(e.readConcern,{atClusterTime:t[pu]}));return}if(e.autocommit=!1,t.transaction.state===ue.TxnState.STARTING_TRANSACTION){t.transaction.transition(ue.TxnState.TRANSACTION_IN_PROGRESS),e.startTransaction=!0;let i=t.transaction.options.readConcern||t?.clientOptions?.readConcern;i&&(e.readConcern=i),t.supports.causalConsistency&&t.operationTime&&(e.readConcern=e.readConcern||{},Object.assign(e.readConcern,{afterClusterTime:t.operationTime}))}}dt.applySession=J5;function Q5(t,e){if(e.$clusterTime&&(0,e2._advanceClusterTime)(t,e.$clusterTime),e.operationTime&&t&&t.supports.causalConsistency&&t.advanceOperationTime(e.operationTime),e.recoveryToken&&t&&t.inTransaction()&&(t.transaction._recoveryToken=e.recoveryToken),t?.[Hs]&&t[pu]==null){let r=e.atClusterTime;r&&(t[pu]=r)}}dt.updateSessionFromResponse=Q5});var zr=m(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.AbstractCursor=_n.CURSOR_FLAGS=void 0;var ap=x("stream"),Ys=ne(),ft=_(),Z5=bt(),op=ht(),eg=Wl(),tg=q6(),ip=Pt(),gu=xe(),up=E1(),us=R();_n.CURSOR_FLAGS=["tailable","oplogReplay","noCursorTimeout","awaitData","exhaust","partial"];var Cu=class extends Z5.TypedEventEmitter{constructor(e,r,n={}){if(super(),this.documents=null,this.hasEmittedClose=!1,!e.s.isMongoClient)throw new ft.MongoRuntimeError("Cursor must be constructed with MongoClient");this.cursorClient=e,this.cursorNamespace=r,this.cursorId=null,this.initialized=!1,this.isClosed=!1,this.isKilled=!1,this.cursorOptions={readPreference:n.readPreference&&n.readPreference instanceof gu.ReadPreference?n.readPreference:gu.ReadPreference.primary,...(0,Ys.pluckBSONSerializeOptions)(n)},this.cursorOptions.timeoutMS=n.timeoutMS;let s=ip.ReadConcern.fromOptions(n);s&&(this.cursorOptions.readConcern=s),typeof n.batchSize=="number"&&(this.cursorOptions.batchSize=n.batchSize),n.comment!==void 0&&(this.cursorOptions.comment=n.comment),typeof n.maxTimeMS=="number"&&(this.cursorOptions.maxTimeMS=n.maxTimeMS),typeof n.maxAwaitTimeMS=="number"&&(this.cursorOptions.maxAwaitTimeMS=n.maxAwaitTimeMS),n.session instanceof up.ClientSession?this.cursorSession=n.session:this.cursorSession=this.cursorClient.startSession({owner:this,explicit:!1})}get id(){return this.cursorId??void 0}get isDead(){return(this.cursorId?.isZero()??!1)||this.isClosed||this.isKilled}get client(){return this.cursorClient}get server(){return this.selectedServer}get namespace(){return this.cursorNamespace}get readPreference(){return this.cursorOptions.readPreference}get readConcern(){return this.cursorOptions.readConcern}get session(){return this.cursorSession}set session(e){this.cursorSession=e}get closed(){return this.isClosed&&(this.documents?.length??0)===0}get killed(){return this.isKilled}get loadBalanced(){return!!this.cursorClient.topology?.loadBalanced}bufferedCount(){return this.documents?.length??0}readBufferedDocuments(e){let r=[],n=Math.min(e??this.documents?.length??0,this.documents?.length??0);for(let s=0;s<n;s++){let o=this.documents?.shift(this.cursorOptions);o!=null&&r.push(o)}return r}async*[Symbol.asyncIterator](){if(!this.isClosed)try{for(;;){if(this.isKilled||this.closed||this.cursorId!=null&&this.isDead&&(this.documents?.length??0)===0)return;let e=await this.next();if(e===null)return;yield e}}finally{if(!this.isClosed)try{await this.close()}catch(e){(0,us.squashError)(e)}}}stream(e){if(e?.transform){let r=e.transform,n=new yu(this),s=n.pipe(new ap.Transform({objectMode:!0,highWaterMark:1,transform(o,i,u){try{let a=r(o);u(void 0,a)}catch(a){u(a)}}}));return n.on("error",o=>s.emit("error",o)),s}return new yu(this)}async hasNext(){if(this.cursorId===Ys.Long.ZERO)return!1;do{if((this.documents?.length??0)!==0)return!0;await this.fetchBatch()}while(!this.isDead||(this.documents?.length??0)!==0);return!1}async next(){if(this.cursorId===Ys.Long.ZERO)throw new ft.MongoCursorExhaustedError;do{let e=this.documents?.shift(this.cursorOptions);if(e!=null)return this.transform!=null?await this.transformDocument(e):e;await this.fetchBatch()}while(!this.isDead||(this.documents?.length??0)!==0);return null}async tryNext(){if(this.cursorId===Ys.Long.ZERO)throw new ft.MongoCursorExhaustedError;let e=this.documents?.shift(this.cursorOptions);return e!=null?this.transform!=null?await this.transformDocument(e):e:(await this.fetchBatch(),e=this.documents?.shift(this.cursorOptions),e!=null?this.transform!=null?await this.transformDocument(e):e:null)}async forEach(e){if(typeof e!="function")throw new ft.MongoInvalidArgumentError('Argument "iterator" must be a function');for await(let r of this)if(e(r)===!1)break}async close(){await this.cleanup()}async toArray(){let e=[];for await(let r of this)e.push(r);return e}addCursorFlag(e,r){if(this.throwIfInitialized(),!_n.CURSOR_FLAGS.includes(e))throw new ft.MongoInvalidArgumentError(`Flag ${e} is not one of ${_n.CURSOR_FLAGS}`);if(typeof r!="boolean")throw new ft.MongoInvalidArgumentError(`Flag ${e} must be a boolean value`);return this.cursorOptions[e]=r,this}map(e){this.throwIfInitialized();let r=this.transform;return r?this.transform=n=>e(r(n)):this.transform=e,this}withReadPreference(e){if(this.throwIfInitialized(),e instanceof gu.ReadPreference)this.cursorOptions.readPreference=e;else if(typeof e=="string")this.cursorOptions.readPreference=gu.ReadPreference.fromString(e);else throw new ft.MongoInvalidArgumentError(`Invalid read preference: ${e}`);return this}withReadConcern(e){this.throwIfInitialized();let r=ip.ReadConcern.fromOptions({readConcern:e});return r&&(this.cursorOptions.readConcern=r),this}maxTimeMS(e){if(this.throwIfInitialized(),typeof e!="number")throw new ft.MongoInvalidArgumentError("Argument for maxTimeMS must be a number");return this.cursorOptions.maxTimeMS=e,this}batchSize(e){if(this.throwIfInitialized(),this.cursorOptions.tailable)throw new ft.MongoTailableCursorError("Tailable cursor does not support batchSize");if(typeof e!="number")throw new ft.MongoInvalidArgumentError('Operation "batchSize" requires an integer');return this.cursorOptions.batchSize=e,this}rewind(){if(!this.initialized)return;this.cursorId=null,this.documents?.clear(),this.isClosed=!1,this.isKilled=!1,this.initialized=!1;let e=this.cursorSession;e&&e.explicit===!1&&(e.hasEnded||e.endSession().then(void 0,us.squashError),this.cursorSession=this.cursorClient.startSession({owner:this,explicit:!1}))}async getMore(e){if(this.cursorId==null)throw new ft.MongoRuntimeError("Unexpected null cursor id. A cursor creating command should have set this");if(this.selectedServer==null)throw new ft.MongoRuntimeError("Unexpected null selectedServer. A cursor creating command should have set this");let r=new eg.GetMoreOperation(this.cursorNamespace,this.cursorId,this.selectedServer,{...this.cursorOptions,session:this.cursorSession,batchSize:e});return await(0,op.executeOperation)(this.cursorClient,r)}async cursorInit(){try{let e=await this._initialize(this.cursorSession),r=e.response;this.selectedServer=e.server,this.cursorId=r.id,this.cursorNamespace=r.ns??this.namespace,this.documents=r,this.initialized=!0}catch(e){throw this.initialized=!0,await this.cleanup(e),e}this.isDead&&await this.cleanup()}async fetchBatch(){if(this.isClosed)return;if(this.isDead){await this.cleanup();return}if(this.cursorId==null&&(await this.cursorInit(),(this.documents?.length??0)!==0||this.isDead))return;let e=this.cursorOptions.batchSize||1e3;try{let r=await this.getMore(e);this.cursorId=r.id,this.documents=r}catch(r){try{await this.cleanup(r)}catch(n){(0,us.squashError)(n)}throw r}this.isDead&&await this.cleanup()}async cleanup(e){this.isClosed=!0;let r=this.cursorSession;try{if(!this.isKilled&&this.cursorId&&!this.cursorId.isZero()&&this.cursorNamespace&&this.selectedServer&&!r.hasEnded){this.isKilled=!0;let n=this.cursorId;this.cursorId=Ys.Long.ZERO,await(0,op.executeOperation)(this.cursorClient,new tg.KillCursorsOperation(n,this.cursorNamespace,this.selectedServer,{session:r}))}}catch(n){(0,us.squashError)(n)}finally{r?.owner===this&&await r.endSession({error:e}),r?.inTransaction()||(0,up.maybeClearPinnedConnection)(r,{error:e}),this.emitClose()}}emitClose(){try{!this.hasEmittedClose&&((this.documents?.length??0)===0||this.isClosed)&&this.emit("close")}finally{this.hasEmittedClose=!0}}async transformDocument(e){if(this.transform==null)return e;try{let r=this.transform(e);if(r===null){let n="Cursor returned a `null` document, but the cursor is not exhausted. Mapping documents to `null` is not supported in the cursor transform.";throw new ft.MongoAPIError(n)}return r}catch(r){try{await this.close()}catch(n){(0,us.squashError)(n)}throw r}}throwIfInitialized(){if(this.initialized)throw new ft.MongoCursorInUseError}};Cu.CLOSE="close";_n.AbstractCursor=Cu;var yu=class extends ap.Readable{constructor(e){super({objectMode:!0,autoDestroy:!1,highWaterMark:1}),this._readInProgress=!1,this._cursor=e}_read(e){this._readInProgress||(this._readInProgress=!0,this._readNext())}_destroy(e,r){this._cursor.close().then(()=>r(e),n=>r(n))}_readNext(){if(this._cursor.id===Ys.Long.ZERO){this.push(null);return}this._cursor.next().then(e=>{if(e==null)this.push(null);else if(this.destroyed)this._cursor.close().then(void 0,us.squashError);else{if(this.push(e))return this._readNext();this._readInProgress=!1}},e=>e.message.match(/server is closed/)?(this._cursor.close().then(void 0,us.squashError),this.push(null)):e.message.match(/operation was interrupted/)?this.push(null):this.destroy(e))}}});var A1=m(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});Su.AggregationCursor=void 0;var cp=Pl(),lp=ht(),rg=R(),ng=zr(),n2=class t extends ng.AbstractCursor{constructor(e,r,n=[],s={}){super(e,r,s),this.pipeline=n,this.aggregateOptions=s}clone(){let e=(0,rg.mergeOptions)({},this.aggregateOptions);return delete e.session,new t(this.client,this.namespace,this.pipeline,{...e})}map(e){return super.map(e)}async _initialize(e){let r=new cp.AggregateOperation(this.namespace,this.pipeline,{...this.aggregateOptions,...this.cursorOptions,session:e}),n=await(0,lp.executeOperation)(this.client,r);return{server:r.server,session:e,response:n}}async explain(e){return(await(0,lp.executeOperation)(this.client,new cp.AggregateOperation(this.namespace,this.pipeline,{...this.aggregateOptions,...this.cursorOptions,explain:e??!0}))).shift(this.aggregateOptions)}addStage(e){return this.throwIfInitialized(),this.pipeline.push(e),this}group(e){return this.addStage({$group:e})}limit(e){return this.addStage({$limit:e})}match(e){return this.addStage({$match:e})}out(e){return this.addStage({$out:e})}project(e){return this.addStage({$project:e})}lookup(e){return this.addStage({$lookup:e})}redact(e){return this.addStage({$redact:e})}skip(e){return this.addStage({$skip:e})}sort(e){return this.addStage({$sort:e})}unwind(e){return this.addStage({$unwind:e})}geoNear(e){return this.addStage({$geoNear:e})}};Su.AggregationCursor=n2});var o2=m(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});wu.CountOperation=void 0;var sg=be(),s2=se(),Ou=class extends sg.CommandOperation{constructor(e,r,n){super({s:{namespace:e}},n),this.options=n,this.collectionName=e.collection,this.query=r}get commandName(){return"count"}async execute(e,r){let n=this.options,s={count:this.collectionName,query:this.query};typeof n.limit=="number"&&(s.limit=n.limit),typeof n.skip=="number"&&(s.skip=n.skip),n.hint!=null&&(s.hint=n.hint),typeof n.maxTimeMS=="number"&&(s.maxTimeMS=n.maxTimeMS);let o=await super.executeCommand(e,r,s);return o?o.n:0}};wu.CountOperation=Ou;(0,s2.defineAspects)(Ou,[s2.Aspect.READ_OPERATION,s2.Aspect.RETRYABLE])});var _u=m(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});Du.formatSort=void 0;var hp=_();function Xs(t=1){let e=`${t}`.toLowerCase();if(og(t))return t;switch(e){case"ascending":case"asc":case"1":return 1;case"descending":case"desc":case"-1":return-1;default:throw new hp.MongoInvalidArgumentError(`Invalid sort direction: ${JSON.stringify(t)}`)}}function og(t){return typeof t=="object"&&t!=null&&"$meta"in t&&typeof t.$meta=="string"}function ig(t){if(Array.isArray(t)&&t.length===2)try{return Xs(t[1]),!0}catch{return!1}return!1}function ug(t){return Array.isArray(t)&&Array.isArray(t[0])}function ag(t){return t instanceof Map&&t.size>0}function cg(t){return new Map([[`${t[0]}`,Xs([t[1]])]])}function lg(t){let e=t.map(([r,n])=>[`${r}`,Xs(n)]);return new Map(e)}function hg(t){let e=t.map(r=>[`${r}`,1]);return new Map(e)}function dg(t){let e=Object.entries(t).map(([r,n])=>[`${r}`,Xs(n)]);return new Map(e)}function fg(t){let e=Array.from(t).map(([r,n])=>[`${r}`,Xs(n)]);return new Map(e)}function pg(t,e){if(t!=null){if(typeof t=="string")return new Map([[t,Xs(e)]]);if(typeof t!="object")throw new hp.MongoInvalidArgumentError(`Invalid sort format: ${JSON.stringify(t)} Sort must be a valid object`);if(!Array.isArray(t))return ag(t)?fg(t):Object.keys(t).length?dg(t):void 0;if(t.length)return ug(t)?lg(t):ig(t)?cg(t):hg(t)}}Du.formatSort=pg});var pp=m(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.FindOperation=void 0;var dp=Cr(),mg=_(),Eg=Pt(),Ag=_u(),fp=R(),gg=be(),g1=se(),Bu=class extends gg.CommandOperation{constructor(e,r={},n={}){if(super(void 0,n),this.options={...n},delete this.options.writeConcern,this.ns=e,typeof r!="object"||Array.isArray(r))throw new mg.MongoInvalidArgumentError("Query filter must be a plain object or ObjectId");this.filter=r!=null&&r._bsontype==="ObjectId"?{_id:r}:r}get commandName(){return"find"}async execute(e,r){this.server=e;let n=this.options,s=Cg(this.ns,this.filter,n);return this.explain&&(s=(0,fp.decorateWithExplain)(s,this.explain)),await e.command(this.ns,s,{...this.options,...this.bsonOptions,documentsReturnedIn:"firstBatch",session:r},this.explain?dp.ExplainedCursorResponse:dp.CursorResponse)}};bu.FindOperation=Bu;function Cg(t,e,r){let n={find:t.collection,filter:e};if(r.sort&&(n.sort=(0,Ag.formatSort)(r.sort)),r.projection){let o=r.projection;o&&Array.isArray(o)&&(o=o.length?o.reduce((i,u)=>(i[u]=1,i),{}):{_id:1}),n.projection=o}r.hint&&(n.hint=(0,fp.normalizeHintField)(r.hint)),typeof r.skip=="number"&&(n.skip=r.skip),typeof r.limit=="number"&&(r.limit<0?(n.limit=-r.limit,n.singleBatch=!0):n.limit=r.limit),typeof r.batchSize=="number"&&(r.batchSize<0?(r.limit&&r.limit!==0&&Math.abs(r.batchSize)<Math.abs(r.limit)&&(n.limit=-r.batchSize),n.singleBatch=!0):n.batchSize=r.batchSize),typeof r.singleBatch=="boolean"&&(n.singleBatch=r.singleBatch),r.comment!==void 0&&(n.comment=r.comment),typeof r.maxTimeMS=="number"&&(n.maxTimeMS=r.maxTimeMS);let s=Eg.ReadConcern.fromOptions(r);return s&&(n.readConcern=s.toJSON()),r.max&&(n.max=r.max),r.min&&(n.min=r.min),typeof r.returnKey=="boolean"&&(n.returnKey=r.returnKey),typeof r.showRecordId=="boolean"&&(n.showRecordId=r.showRecordId),typeof r.tailable=="boolean"&&(n.tailable=r.tailable),typeof r.oplogReplay=="boolean"&&(n.oplogReplay=r.oplogReplay),typeof r.timeout=="boolean"?n.noCursorTimeout=!r.timeout:typeof r.noCursorTimeout=="boolean"&&(n.noCursorTimeout=r.noCursorTimeout),typeof r.awaitData=="boolean"&&(n.awaitData=r.awaitData),typeof r.allowPartialResults=="boolean"&&(n.allowPartialResults=r.allowPartialResults),r.collation&&(n.collation=r.collation),typeof r.allowDiskUse=="boolean"&&(n.allowDiskUse=r.allowDiskUse),r.let&&(n.let=r.let),n}(0,g1.defineAspects)(Bu,[g1.Aspect.READ_OPERATION,g1.Aspect.RETRYABLE,g1.Aspect.EXPLAINABLE,g1.Aspect.CURSOR_CREATING])});var l2=m(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.FindCursor=Js.FLAGS=void 0;var yg=Cr(),tr=_(),Sg=o2(),i2=ht(),mp=pp(),u2=_u(),a2=R(),Og=zr();Js.FLAGS=["tailable","oplogReplay","noCursorTimeout","awaitData","exhaust","partial"];var c2=class t extends Og.AbstractCursor{constructor(e,r,n={},s={}){super(e,r,s),this.numReturned=0,this.cursorFilter=n,this.findOptions=s,s.sort!=null&&(this.findOptions.sort=(0,u2.formatSort)(s.sort))}clone(){let e=(0,a2.mergeOptions)({},this.findOptions);return delete e.session,new t(this.client,this.namespace,this.cursorFilter,{...e})}map(e){return super.map(e)}async _initialize(e){let r=new mp.FindOperation(this.namespace,this.cursorFilter,{...this.findOptions,...this.cursorOptions,session:e}),n=await(0,i2.executeOperation)(this.client,r);return this.numReturned=n.batchSize,{server:r.server,session:e,response:n}}async getMore(e){let r=this.numReturned;if(r){let s=this.findOptions.limit;if(e=s&&s>0&&r+e>s?s-r:e,e<=0){try{await this.close()}catch(o){(0,a2.squashError)(o)}return yg.CursorResponse.emptyGetMore}}let n=await super.getMore(e);return this.numReturned=this.numReturned+n.batchSize,n}async count(e){if((0,a2.emitWarningOnce)("cursor.count is deprecated and will be removed in the next major version, please use `collection.estimatedDocumentCount` or `collection.countDocuments` instead "),typeof e=="boolean")throw new tr.MongoInvalidArgumentError("Invalid first parameter to count");return await(0,i2.executeOperation)(this.client,new Sg.CountOperation(this.namespace,this.cursorFilter,{...this.findOptions,...this.cursorOptions,...e}))}async explain(e){return(await(0,i2.executeOperation)(this.client,new mp.FindOperation(this.namespace,this.cursorFilter,{...this.findOptions,...this.cursorOptions,explain:e??!0}))).shift(this.findOptions)}filter(e){return this.throwIfInitialized(),this.cursorFilter=e,this}hint(e){return this.throwIfInitialized(),this.findOptions.hint=e,this}min(e){return this.throwIfInitialized(),this.findOptions.min=e,this}max(e){return this.throwIfInitialized(),this.findOptions.max=e,this}returnKey(e){return this.throwIfInitialized(),this.findOptions.returnKey=e,this}showRecordId(e){return this.throwIfInitialized(),this.findOptions.showRecordId=e,this}addQueryModifier(e,r){if(this.throwIfInitialized(),e[0]!=="$")throw new tr.MongoInvalidArgumentError(`${e} is not a valid query modifier`);switch(e.substr(1)){case"comment":this.findOptions.comment=r;break;case"explain":this.findOptions.explain=r;break;case"hint":this.findOptions.hint=r;break;case"max":this.findOptions.max=r;break;case"maxTimeMS":this.findOptions.maxTimeMS=r;break;case"min":this.findOptions.min=r;break;case"orderby":this.findOptions.sort=(0,u2.formatSort)(r);break;case"query":this.cursorFilter=r;break;case"returnKey":this.findOptions.returnKey=r;break;case"showDiskLoc":this.findOptions.showRecordId=r;break;default:throw new tr.MongoInvalidArgumentError(`Invalid query modifier: ${e}`)}return this}comment(e){return this.throwIfInitialized(),this.findOptions.comment=e,this}maxAwaitTimeMS(e){if(this.throwIfInitialized(),typeof e!="number")throw new tr.MongoInvalidArgumentError("Argument for maxAwaitTimeMS must be a number");return this.findOptions.maxAwaitTimeMS=e,this}maxTimeMS(e){if(this.throwIfInitialized(),typeof e!="number")throw new tr.MongoInvalidArgumentError("Argument for maxTimeMS must be a number");return this.findOptions.maxTimeMS=e,this}project(e){return this.throwIfInitialized(),this.findOptions.projection=e,this}sort(e,r){if(this.throwIfInitialized(),this.findOptions.tailable)throw new tr.MongoTailableCursorError("Tailable cursor does not support sorting");return this.findOptions.sort=(0,u2.formatSort)(e,r),this}allowDiskUse(e=!0){if(this.throwIfInitialized(),!this.findOptions.sort)throw new tr.MongoInvalidArgumentError('Option "allowDiskUse" requires a sort specification');return e?(this.findOptions.allowDiskUse=!0,this):(this.findOptions.allowDiskUse=!1,this)}collation(e){return this.throwIfInitialized(),this.findOptions.collation=e,this}limit(e){if(this.throwIfInitialized(),this.findOptions.tailable)throw new tr.MongoTailableCursorError("Tailable cursor does not support limit");if(typeof e!="number")throw new tr.MongoInvalidArgumentError('Operation "limit" requires an integer');return this.findOptions.limit=e,this}skip(e){if(this.throwIfInitialized(),this.findOptions.tailable)throw new tr.MongoTailableCursorError("Tailable cursor does not support skip");if(typeof e!="number")throw new tr.MongoInvalidArgumentError('Operation "skip" requires an integer');return this.findOptions.skip=e,this}};Js.FindCursor=c2});var C1=m(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.ListIndexesOperation=bn.DropIndexOperation=bn.CreateIndexesOperation=void 0;var wg=Cr(),Dg=_(),h2=R(),d2=be(),Bn=se(),_g=new Set(["background","unique","name","partialFilterExpression","sparse","hidden","expireAfterSeconds","storageEngine","collation","version","weights","default_language","language_override","textIndexVersion","2dsphereIndexVersion","bits","min","max","bucketSize","wildcardProjection"]);function Bg(t){return typeof t=="number"||t==="2d"||t==="2dsphere"||t==="text"||t==="geoHaystack"}function bg(t){return Array.isArray(t)&&t.length===2&&Bg(t[1])}function Tg(t){let e=new Map,r=!Array.isArray(t)||bg(t)?[t]:t;for(let n of r)if(typeof n=="string")e.set(n,1);else if(Array.isArray(n))e.set(n[0],n[1]??1);else if(n instanceof Map)for(let[s,o]of n)e.set(s,o);else if((0,h2.isObject)(n))for(let[s,o]of Object.entries(n))e.set(s,o);return e}function Fg(t){let e=Object.entries(t).filter(([r])=>_g.has(r));return Object.fromEntries(e.map(([r,n])=>r==="version"?["v",n]:[r,n]))}var Tu=class t extends d2.CommandOperation{constructor(e,r,n,s){super(e,s),this.options=s??{},this.collectionName=r,this.indexes=n.map(o=>{let i=o.key instanceof Map?o.key:new Map(Object.entries(o.key)),u=o.name??Array.from(i).flat().join("_");return{...Fg(o),name:u,key:i}})}static fromIndexDescriptionArray(e,r,n,s){return new t(e,r,n,s)}static fromIndexSpecification(e,r,n,s={}){let o=Tg(n),i={...s,key:o};return new t(e,r,[i],s)}get commandName(){return"createIndexes"}async execute(e,r){let n=this.options,s=this.indexes,o=(0,h2.maxWireVersion)(e),i={createIndexes:this.collectionName,indexes:s};if(n.commitQuorum!=null){if(o<9)throw new Dg.MongoCompatibilityError("Option `commitQuorum` for `createIndexes` not supported on servers < 4.4");i.commitQuorum=n.commitQuorum}return this.options.collation=void 0,await super.executeCommand(e,r,i),s.map(a=>a.name||"")}};bn.CreateIndexesOperation=Tu;var Fu=class extends d2.CommandOperation{constructor(e,r,n){super(e,n),this.options=n??{},this.collection=e,this.indexName=r}get commandName(){return"dropIndexes"}async execute(e,r){let n={dropIndexes:this.collection.collectionName,index:this.indexName};return await super.executeCommand(e,r,n)}};bn.DropIndexOperation=Fu;var Nu=class extends d2.CommandOperation{constructor(e,r){super(e,r),this.options={...r},delete this.options.writeConcern,this.collectionNamespace=e.s.namespace}get commandName(){return"listIndexes"}async execute(e,r){let n=(0,h2.maxWireVersion)(e),s=this.options.batchSize?{batchSize:this.options.batchSize}:{},o={listIndexes:this.collectionNamespace.collection,cursor:s};return n>=9&&this.options.comment!==void 0&&(o.comment=this.options.comment),await super.executeCommand(e,r,o,wg.CursorResponse)}};bn.ListIndexesOperation=Nu;(0,Bn.defineAspects)(Nu,[Bn.Aspect.READ_OPERATION,Bn.Aspect.RETRYABLE,Bn.Aspect.CURSOR_CREATING]);(0,Bn.defineAspects)(Tu,[Bn.Aspect.WRITE_OPERATION]);(0,Bn.defineAspects)(Fu,[Bn.Aspect.WRITE_OPERATION])});var p2=m(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});Ru.ListIndexesCursor=void 0;var Ng=ht(),Rg=C1(),Mg=zr(),f2=class t extends Mg.AbstractCursor{constructor(e,r){super(e.client,e.s.namespace,r),this.parent=e,this.options=r}clone(){return new t(this.parent,{...this.options,...this.cursorOptions})}async _initialize(e){let r=new Rg.ListIndexesOperation(this.parent,{...this.cursorOptions,...this.options,session:e}),n=await(0,Ng.executeOperation)(this.parent.client,r);return{server:r.server,session:e,response:n}}};Ru.ListIndexesCursor=f2});var Ep=m(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.ListSearchIndexesCursor=void 0;var Ig=A1(),m2=class extends Ig.AggregationCursor{constructor({fullNamespace:e,client:r},n,s={}){let o=n==null?[{$listSearchIndexes:{}}]:[{$listSearchIndexes:{name:n}}];super(r,e,o,s)}};Mu.ListSearchIndexesCursor=m2});var gp=m(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});Pu.DistinctOperation=void 0;var Ap=R(),vg=be(),Iu=se(),vu=class extends vg.CommandOperation{constructor(e,r,n,s){super(e,s),this.options=s??{},this.collection=e,this.key=r,this.query=n}get commandName(){return"distinct"}async execute(e,r){let n=this.collection,s=this.key,o=this.query,i=this.options,u={distinct:n.collectionName,key:s,query:o};typeof i.maxTimeMS=="number"&&(u.maxTimeMS=i.maxTimeMS),typeof i.comment<"u"&&(u.comment=i.comment),(0,Ap.decorateWithReadConcern)(u,n,i),(0,Ap.decorateWithCollation)(u,n,i);let a=await super.executeCommand(e,r,u);return this.explain?a:a.values}};Pu.DistinctOperation=vu;(0,Iu.defineAspects)(vu,[Iu.Aspect.READ_OPERATION,Iu.Aspect.RETRYABLE,Iu.Aspect.EXPLAINABLE])});var E2=m(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.DropDatabaseOperation=Qs.DropCollectionOperation=void 0;var Cp=_(),yp=be(),Lu=se(),xu=class t extends yp.CommandOperation{constructor(e,r,n={}){super(e,n),this.db=e,this.options=n,this.name=r}get commandName(){return"drop"}async execute(e,r){let n=this.db,s=this.options,o=this.name,i=n.client.options.autoEncryption?.encryptedFieldsMap,u=s.encryptedFields??i?.[`${n.databaseName}.${o}`];if(!u&&i&&(u=(await n.listCollections({name:o},{nameOnly:!1}).toArray())?.[0]?.options?.encryptedFields),u){let a=u.escCollection||`enxcol_.${o}.esc`,c=u.ecocCollection||`enxcol_.${o}.ecoc`;for(let l of[a,c]){let h=new t(n,l);try{await h.executeWithoutEncryptedFieldsCheck(e,r)}catch(f){if(!(f instanceof Cp.MongoServerError)||f.code!==Cp.MONGODB_ERROR_CODES.NamespaceNotFound)throw f}}}return await this.executeWithoutEncryptedFieldsCheck(e,r)}async executeWithoutEncryptedFieldsCheck(e,r){return await super.executeCommand(e,r,{drop:this.name}),!0}};Qs.DropCollectionOperation=xu;var ku=class extends yp.CommandOperation{constructor(e,r){super(e,r),this.options=r}get commandName(){return"dropDatabase"}async execute(e,r){return await super.executeCommand(e,r,{dropDatabase:1}),!0}};Qs.DropDatabaseOperation=ku;(0,Lu.defineAspects)(xu,[Lu.Aspect.WRITE_OPERATION]);(0,Lu.defineAspects)(ku,[Lu.Aspect.WRITE_OPERATION])});var Sp=m(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.EstimatedDocumentCountOperation=void 0;var Pg=be(),qu=se(),Uu=class extends Pg.CommandOperation{constructor(e,r={}){super(e,r),this.options=r,this.collectionName=e.collectionName}get commandName(){return"count"}async execute(e,r){let n={count:this.collectionName};return typeof this.options.maxTimeMS=="number"&&(n.maxTimeMS=this.options.maxTimeMS),this.options.comment!==void 0&&(n.comment=this.options.comment),(await super.executeCommand(e,r,n))?.n||0}};ju.EstimatedDocumentCountOperation=Uu;(0,qu.defineAspects)(Uu,[qu.Aspect.READ_OPERATION,qu.Aspect.RETRYABLE,qu.Aspect.CURSOR_CREATING])});var y2=m(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.FindOneAndUpdateOperation=Ft.FindOneAndReplaceOperation=Ft.FindOneAndDeleteOperation=Ft.FindAndModifyOperation=Ft.ReturnDocument=void 0;var Tn=_(),Lg=xe(),xg=_u(),Wu=R(),kg=be(),zu=se();Ft.ReturnDocument=Object.freeze({BEFORE:"before",AFTER:"after"});function Op(t,e){return t.new=e.returnDocument===Ft.ReturnDocument.AFTER,t.upsert=e.upsert===!0,e.bypassDocumentValidation===!0&&(t.bypassDocumentValidation=e.bypassDocumentValidation),t}var as=class extends kg.CommandOperation{constructor(e,r,n){super(e,n),this.options=n??{},this.cmdBase={remove:!1,new:!1,upsert:!1},n.includeResultMetadata??=!1;let s=(0,xg.formatSort)(n.sort);s&&(this.cmdBase.sort=s),n.projection&&(this.cmdBase.fields=n.projection),n.maxTimeMS&&(this.cmdBase.maxTimeMS=n.maxTimeMS),n.writeConcern&&(this.cmdBase.writeConcern=n.writeConcern),n.let&&(this.cmdBase.let=n.let),n.comment!==void 0&&(this.cmdBase.comment=n.comment),this.readPreference=Lg.ReadPreference.primary,this.collection=e,this.query=r}get commandName(){return"findAndModify"}async execute(e,r){let n=this.collection,s=this.query,o={...this.options,...this.bsonOptions},i={findAndModify:n.collectionName,query:s,...this.cmdBase};try{(0,Wu.decorateWithCollation)(i,n,o)}catch(a){return a}if(o.hint){if(this.writeConcern?.w===0||(0,Wu.maxWireVersion)(e)<8)throw new Tn.MongoCompatibilityError("The current topology does not support a hint on findAndModify commands");i.hint=o.hint}let u=await super.executeCommand(e,r,i);return o.includeResultMetadata?u:u.value??null}};Ft.FindAndModifyOperation=as;var A2=class extends as{constructor(e,r,n){if(r==null||typeof r!="object")throw new Tn.MongoInvalidArgumentError('Argument "filter" must be an object');super(e,r,n),this.cmdBase.remove=!0}};Ft.FindOneAndDeleteOperation=A2;var g2=class extends as{constructor(e,r,n,s){if(r==null||typeof r!="object")throw new Tn.MongoInvalidArgumentError('Argument "filter" must be an object');if(n==null||typeof n!="object")throw new Tn.MongoInvalidArgumentError('Argument "replacement" must be an object');if((0,Wu.hasAtomicOperators)(n))throw new Tn.MongoInvalidArgumentError("Replacement document must not contain atomic operators");super(e,r,s),this.cmdBase.update=n,Op(this.cmdBase,s)}};Ft.FindOneAndReplaceOperation=g2;var C2=class extends as{constructor(e,r,n,s){if(r==null||typeof r!="object")throw new Tn.MongoInvalidArgumentError('Argument "filter" must be an object');if(n==null||typeof n!="object")throw new Tn.MongoInvalidArgumentError('Argument "update" must be an object');if(!(0,Wu.hasAtomicOperators)(n))throw new Tn.MongoInvalidArgumentError("Update document requires atomic operators");super(e,r,s),this.cmdBase.update=n,Op(this.cmdBase,s),s.arrayFilters&&(this.cmdBase.arrayFilters=s.arrayFilters)}};Ft.FindOneAndUpdateOperation=C2;(0,zu.defineAspects)(as,[zu.Aspect.WRITE_OPERATION,zu.Aspect.RETRYABLE,zu.Aspect.EXPLAINABLE])});var wp=m(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});Vu.IsCappedOperation=void 0;var qg=_(),Ug=se(),S2=class extends Ug.AbstractOperation{constructor(e,r){super(r),this.options=r,this.collection=e}get commandName(){return"listCollections"}async execute(e,r){let n=this.collection,[s]=await n.s.db.listCollections({name:n.collectionName},{...this.options,nameOnly:!1,readPreference:this.readPreference,session:r}).toArray();if(s==null||s.options==null)throw new qg.MongoAPIError(`collection ${n.namespace} not found`);return!!s.options?.capped}};Vu.IsCappedOperation=S2});var Dp=m($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.OptionsOperation=void 0;var jg=_(),zg=se(),O2=class extends zg.AbstractOperation{constructor(e,r){super(r),this.options=r,this.collection=e}get commandName(){return"listCollections"}async execute(e,r){let n=this.collection,[s]=await n.s.db.listCollections({name:n.collectionName},{...this.options,nameOnly:!1,readPreference:this.readPreference,session:r}).toArray();if(s==null||s.options==null)throw new jg.MongoAPIError(`collection ${n.namespace} not found`);return s.options}};$u.OptionsOperation=O2});var w2=m(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.RenameOperation=void 0;var Wg=cs(),Vg=R(),$g=be(),_p=se(),Gu=class extends $g.CommandOperation{constructor(e,r,n){super(e,n),this.collection=e,this.newName=r,this.options=n,this.ns=new Vg.MongoDBNamespace("admin","$cmd")}get commandName(){return"renameCollection"}async execute(e,r){let n=this.collection.namespace,s=this.collection.s.namespace.withCollection(this.newName).toString(),o=typeof this.options.dropTarget=="boolean"?this.options.dropTarget:!1,i={renameCollection:n,to:s,dropTarget:o};return await super.executeCommand(e,r,i),new Wg.Collection(this.collection.s.db,this.newName,this.collection.s.options)}};Hu.RenameOperation=Gu;(0,_p.defineAspects)(Gu,[_p.Aspect.WRITE_OPERATION])});var Bp=m(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.CreateSearchIndexesOperation=void 0;var Gg=se(),D2=class extends Gg.AbstractOperation{constructor(e,r){super(),this.collection=e,this.descriptions=r}get commandName(){return"createSearchIndexes"}async execute(e,r){let n=this.collection.fullNamespace,s={createSearchIndexes:n.collection,indexes:this.descriptions};return((await e.command(n,s,{session:r}))?.indexesCreated??[]).map(({name:u})=>u)}};Ku.CreateSearchIndexesOperation=D2});var Tp=m(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.DropSearchIndexOperation=void 0;var bp=_(),Hg=se(),_2=class extends Hg.AbstractOperation{constructor(e,r){super(),this.collection=e,this.name=r}get commandName(){return"dropSearchIndex"}async execute(e,r){let n=this.collection.fullNamespace,s={dropSearchIndex:n.collection};typeof this.name=="string"&&(s.name=this.name);try{await e.command(n,s,{session:r})}catch(o){if(!(o instanceof bp.MongoServerError&&o.code===bp.MONGODB_ERROR_CODES.NamespaceNotFound))throw o}}};Yu.DropSearchIndexOperation=_2});var Fp=m(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.UpdateSearchIndexOperation=void 0;var Kg=se(),B2=class extends Kg.AbstractOperation{constructor(e,r,n){super(),this.collection=e,this.name=r,this.definition=n}get commandName(){return"updateSearchIndex"}async execute(e,r){let n=this.collection.fullNamespace,s={updateSearchIndex:n.collection,name:this.name,definition:this.definition};await e.command(n,s,{session:r})}};Xu.UpdateSearchIndexOperation=B2});var cs=m(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.Collection=void 0;var Yg=ne(),Xg=Ml(),Jg=vl(),Qg=Zs(),Zg=A1(),eC=l2(),tC=p2(),rC=Ep(),Np=_(),nC=Dl(),sC=o2(),Rp=Ol(),oC=gp(),iC=E2(),uC=Sp(),Ce=ht(),b2=y2(),Ju=C1(),Mp=_l(),aC=wp(),cC=Dp(),lC=w2(),hC=Bp(),dC=Tp(),fC=Fp(),T2=bl(),pC=Pt(),F2=xe(),ae=R(),mC=ot(),N2=class{constructor(e,r,n){this.s={db:e,options:n,namespace:new ae.MongoDBCollectionNamespace(e.databaseName,r),pkFactory:e.options?.pkFactory??ae.DEFAULT_PK_FACTORY,readPreference:F2.ReadPreference.fromOptions(n),bsonOptions:(0,Yg.resolveBSONOptions)(n,e),readConcern:pC.ReadConcern.fromOptions(n),writeConcern:mC.WriteConcern.fromOptions(n)},this.client=e.client}get dbName(){return this.s.namespace.db}get collectionName(){return this.s.namespace.collection}get namespace(){return this.fullNamespace.toString()}get fullNamespace(){return this.s.namespace}get readConcern(){return this.s.readConcern==null?this.s.db.readConcern:this.s.readConcern}get readPreference(){return this.s.readPreference==null?this.s.db.readPreference:this.s.readPreference}get bsonOptions(){return this.s.bsonOptions}get writeConcern(){return this.s.writeConcern==null?this.s.db.writeConcern:this.s.writeConcern}get hint(){return this.s.collectionHint}set hint(e){this.s.collectionHint=(0,ae.normalizeHintField)(e)}async insertOne(e,r){return await(0,Ce.executeOperation)(this.client,new Mp.InsertOneOperation(this,e,(0,ae.resolveOptions)(this,r)))}async insertMany(e,r){return await(0,Ce.executeOperation)(this.client,new Mp.InsertManyOperation(this,e,(0,ae.resolveOptions)(this,r??{ordered:!0})))}async bulkWrite(e,r){if(!Array.isArray(e))throw new Np.MongoInvalidArgumentError('Argument "operations" must be an array of documents');return await(0,Ce.executeOperation)(this.client,new nC.BulkWriteOperation(this,e,(0,ae.resolveOptions)(this,r??{ordered:!0})))}async updateOne(e,r,n){return await(0,Ce.executeOperation)(this.client,new T2.UpdateOneOperation(this,e,r,(0,ae.resolveOptions)(this,n)))}async replaceOne(e,r,n){return await(0,Ce.executeOperation)(this.client,new T2.ReplaceOneOperation(this,e,r,(0,ae.resolveOptions)(this,n)))}async updateMany(e,r,n){return await(0,Ce.executeOperation)(this.client,new T2.UpdateManyOperation(this,e,r,(0,ae.resolveOptions)(this,n)))}async deleteOne(e={},r={}){return await(0,Ce.executeOperation)(this.client,new Rp.DeleteOneOperation(this,e,(0,ae.resolveOptions)(this,r)))}async deleteMany(e={},r={}){return await(0,Ce.executeOperation)(this.client,new Rp.DeleteManyOperation(this,e,(0,ae.resolveOptions)(this,r)))}async rename(e,r){return await(0,Ce.executeOperation)(this.client,new lC.RenameOperation(this,e,{...r,readPreference:F2.ReadPreference.PRIMARY}))}async drop(e){return await(0,Ce.executeOperation)(this.client,new iC.DropCollectionOperation(this.s.db,this.collectionName,e))}async findOne(e={},r={}){let n=this.find(e,r).limit(-1).batchSize(1),s=await n.next();return await n.close(),s}find(e={},r={}){return new eC.FindCursor(this.client,this.s.namespace,e,(0,ae.resolveOptions)(this,r))}async options(e){return await(0,Ce.executeOperation)(this.client,new cC.OptionsOperation(this,(0,ae.resolveOptions)(this,e)))}async isCapped(e){return await(0,Ce.executeOperation)(this.client,new aC.IsCappedOperation(this,(0,ae.resolveOptions)(this,e)))}async createIndex(e,r){return(await(0,Ce.executeOperation)(this.client,Ju.CreateIndexesOperation.fromIndexSpecification(this,this.collectionName,e,(0,ae.resolveOptions)(this,r))))[0]}async createIndexes(e,r){return await(0,Ce.executeOperation)(this.client,Ju.CreateIndexesOperation.fromIndexDescriptionArray(this,this.collectionName,e,(0,ae.resolveOptions)(this,{...r,maxTimeMS:void 0})))}async dropIndex(e,r){return await(0,Ce.executeOperation)(this.client,new Ju.DropIndexOperation(this,e,{...(0,ae.resolveOptions)(this,r),readPreference:F2.ReadPreference.primary}))}async dropIndexes(e){try{return await(0,Ce.executeOperation)(this.client,new Ju.DropIndexOperation(this,"*",(0,ae.resolveOptions)(this,e))),!0}catch{return!1}}listIndexes(e){return new tC.ListIndexesCursor(this,(0,ae.resolveOptions)(this,e))}async indexExists(e,r){let n=Array.isArray(e)?e:[e],s=new Set(await this.listIndexes(r).map(({name:o})=>o).toArray());return n.every(o=>s.has(o))}async indexInformation(e){return await this.indexes({...e,full:e?.full??!1})}async estimatedDocumentCount(e){return await(0,Ce.executeOperation)(this.client,new uC.EstimatedDocumentCountOperation(this,(0,ae.resolveOptions)(this,e)))}async countDocuments(e={},r={}){let n=[];n.push({$match:e}),typeof r.skip=="number"&&n.push({$skip:r.skip}),typeof r.limit=="number"&&n.push({$limit:r.limit}),n.push({$group:{_id:1,n:{$sum:1}}});let s=this.aggregate(n,r),o=await s.next();return await s.close(),o?.n??0}async distinct(e,r={},n={}){return await(0,Ce.executeOperation)(this.client,new oC.DistinctOperation(this,e,r,(0,ae.resolveOptions)(this,n)))}async indexes(e){let r=await this.listIndexes(e).toArray();return e?.full??!0?r:Object.fromEntries(r.map(({name:o,key:i})=>[o,Object.entries(i)]))}async findOneAndDelete(e,r){return await(0,Ce.executeOperation)(this.client,new b2.FindOneAndDeleteOperation(this,e,(0,ae.resolveOptions)(this,r)))}async findOneAndReplace(e,r,n){return await(0,Ce.executeOperation)(this.client,new b2.FindOneAndReplaceOperation(this,e,r,(0,ae.resolveOptions)(this,n)))}async findOneAndUpdate(e,r,n){return await(0,Ce.executeOperation)(this.client,new b2.FindOneAndUpdateOperation(this,e,r,(0,ae.resolveOptions)(this,n)))}aggregate(e=[],r){if(!Array.isArray(e))throw new Np.MongoInvalidArgumentError('Argument "pipeline" must be an array of aggregation stages');return new Zg.AggregationCursor(this.client,this.s.namespace,e,(0,ae.resolveOptions)(this,r))}watch(e=[],r={}){return Array.isArray(e)||(r=e,e=[]),new Qg.ChangeStream(this,e,(0,ae.resolveOptions)(this,r))}initializeUnorderedBulkOp(e){return new Jg.UnorderedBulkOperation(this,(0,ae.resolveOptions)(this,e))}initializeOrderedBulkOp(e){return new Xg.OrderedBulkOperation(this,(0,ae.resolveOptions)(this,e))}async count(e={},r={}){return await(0,Ce.executeOperation)(this.client,new sC.CountOperation(this.fullNamespace,e,(0,ae.resolveOptions)(this,r)))}listSearchIndexes(e,r){r=typeof e=="object"?e:r??{};let n=e==null||typeof e=="object"?null:e;return new rC.ListSearchIndexesCursor(this,n,r)}async createSearchIndex(e){let[r]=await this.createSearchIndexes([e]);return r}async createSearchIndexes(e){return await(0,Ce.executeOperation)(this.client,new hC.CreateSearchIndexesOperation(this,e))}async dropSearchIndex(e){return await(0,Ce.executeOperation)(this.client,new dC.DropSearchIndexOperation(this,e))}async updateSearchIndex(e,r){return await(0,Ce.executeOperation)(this.client,new fC.UpdateSearchIndexOperation(this,e,r))}};Qu.Collection=N2});var v2=m(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.ChangeStreamCursor=void 0;var R2=Zs(),Ip=Be(),EC=Pl(),AC=ht(),M2=R(),gC=zr(),I2=class t extends gC.AbstractCursor{constructor(e,r,n=[],s={}){super(e,r,s),this.pipeline=n,this.changeStreamCursorOptions=s,this._resumeToken=null,this.startAtOperationTime=s.startAtOperationTime??null,s.startAfter?this.resumeToken=s.startAfter:s.resumeAfter&&(this.resumeToken=s.resumeAfter)}set resumeToken(e){this._resumeToken=e,this.emit(R2.ChangeStream.RESUME_TOKEN_CHANGED,e)}get resumeToken(){return this._resumeToken}get resumeOptions(){let e={...this.changeStreamCursorOptions};for(let r of["resumeAfter","startAfter","startAtOperationTime"])delete e[r];return this.resumeToken!=null?this.changeStreamCursorOptions.startAfter&&!this.hasReceived?e.startAfter=this.resumeToken:e.resumeAfter=this.resumeToken:this.startAtOperationTime!=null&&(0,M2.maxWireVersion)(this.server)>=7&&(e.startAtOperationTime=this.startAtOperationTime),e}cacheResumeToken(e){this.bufferedCount()===0&&this.postBatchResumeToken?this.resumeToken=this.postBatchResumeToken:this.resumeToken=e,this.hasReceived=!0}_processBatch(e){let{postBatchResumeToken:r}=e;r&&(this.postBatchResumeToken=r,e.batchSize===0&&(this.resumeToken=r))}clone(){return new t(this.client,this.namespace,this.pipeline,{...this.cursorOptions})}async _initialize(e){let r=new EC.AggregateOperation(this.namespace,this.pipeline,{...this.cursorOptions,...this.changeStreamCursorOptions,session:e}),n=await(0,AC.executeOperation)(e.client,r),s=r.server;return this.maxWireVersion=(0,M2.maxWireVersion)(s),this.startAtOperationTime==null&&this.changeStreamCursorOptions.resumeAfter==null&&this.changeStreamCursorOptions.startAfter==null&&this.maxWireVersion>=7&&(this.startAtOperationTime=n.operationTime),this._processBatch(n),this.emit(Ip.INIT,n),this.emit(Ip.RESPONSE),{server:s,session:e,response:n}}async getMore(e){let r=await super.getMore(e);return this.maxWireVersion=(0,M2.maxWireVersion)(this.server),this._processBatch(r),this.emit(R2.ChangeStream.MORE,r),this.emit(R2.ChangeStream.RESPONSE),r}};Zu.ChangeStreamCursor=I2});var vp=m(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.ListCollectionsOperation=void 0;var CC=Cr(),yC=R(),SC=be(),ea=se(),ta=class extends SC.CommandOperation{constructor(e,r,n){super(e,n),this.options={...n},delete this.options.writeConcern,this.db=e,this.filter=r,this.nameOnly=!!this.options.nameOnly,this.authorizedCollections=!!this.options.authorizedCollections,typeof this.options.batchSize=="number"&&(this.batchSize=this.options.batchSize)}get commandName(){return"listCollections"}async execute(e,r){return await super.executeCommand(e,r,this.generateCommand((0,yC.maxWireVersion)(e)),CC.CursorResponse)}generateCommand(e){let r={listCollections:1,filter:this.filter,cursor:this.batchSize?{batchSize:this.batchSize}:{},nameOnly:this.nameOnly,authorizedCollections:this.authorizedCollections};return e>=9&&this.options.comment!==void 0&&(r.comment=this.options.comment),r}};ra.ListCollectionsOperation=ta;(0,ea.defineAspects)(ta,[ea.Aspect.READ_OPERATION,ea.Aspect.RETRYABLE,ea.Aspect.CURSOR_CREATING])});var L2=m(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.ListCollectionsCursor=void 0;var OC=ht(),wC=vp(),DC=zr(),P2=class t extends DC.AbstractCursor{constructor(e,r,n){super(e.client,e.s.namespace,n),this.parent=e,this.filter=r,this.options=n}clone(){return new t(this.parent,this.filter,{...this.options,...this.cursorOptions})}async _initialize(e){let r=new wC.ListCollectionsOperation(this.parent,this.filter,{...this.cursorOptions,...this.options,session:e}),n=await(0,OC.executeOperation)(this.parent.client,r);return{server:r.server,session:e,response:n}}};na.ListCollectionsCursor=P2});var Lp=m(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.RunCommandCursor=void 0;var _C=Cr(),y1=_(),Pp=ht(),BC=Wl(),bC=Ps(),TC=R(),FC=zr(),x2=class extends FC.AbstractCursor{setComment(e){return this.getMoreOptions.comment=e,this}setMaxTimeMS(e){return this.getMoreOptions.maxAwaitTimeMS=e,this}setBatchSize(e){return this.getMoreOptions.batchSize=e,this}clone(){throw new y1.MongoAPIError("Clone not supported, create a new cursor with db.runCursorCommand")}withReadConcern(e){throw new y1.MongoAPIError("RunCommandCursor does not support readConcern it must be attached to the command being run")}addCursorFlag(e,r){throw new y1.MongoAPIError("RunCommandCursor does not support cursor flags, they must be attached to the command being run")}maxTimeMS(e){throw new y1.MongoAPIError("maxTimeMS must be configured on the command document directly, to configure getMore.maxTimeMS use cursor.setMaxTimeMS()")}batchSize(e){throw new y1.MongoAPIError("batchSize must be configured on the command document directly, to configure getMore.batchSize use cursor.setBatchSize()")}constructor(e,r,n={}){super(e.client,(0,TC.ns)(e.namespace),n),this.getMoreOptions={},this.db=e,this.command=Object.freeze({...r})}async _initialize(e){let r=new bC.RunCommandOperation(this.db,this.command,{...this.cursorOptions,session:e,readPreference:this.cursorOptions.readPreference,responseType:_C.CursorResponse}),n=await(0,Pp.executeOperation)(this.client,r);return{server:r.server,session:e,response:n}}async getMore(e){let r=new BC.GetMoreOperation(this.namespace,this.id,this.server,{...this.cursorOptions,session:this.session,...this.getMoreOptions});return await(0,Pp.executeOperation)(this.client,r)}};sa.RunCommandCursor=x2});var xp=m(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.CollectionsOperation=void 0;var NC=cs(),RC=se(),k2=class extends RC.AbstractOperation{constructor(e,r){super(r),this.options=r,this.db=e}get commandName(){return"listCollections"}async execute(e,r){let n=await this.db.listCollections({},{...this.options,nameOnly:!0,readPreference:this.readPreference,session:r}).toArray(),s=[];for(let{name:o}of n)o.includes("$")||s.push(new NC.Collection(this.db,o,this.db.s.options));return s}};oa.CollectionsOperation=k2});var Up=m(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.CreateCollectionOperation=void 0;var kp=Qn(),MC=cs(),IC=_(),vC=be(),PC=C1(),qp=se(),LC=new Set(["w","wtimeout","j","fsync","autoIndexId","pkFactory","raw","readPreference","session","readConcern","writeConcern","raw","fieldsAsRaw","useBigInt64","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","serializeFunctions","ignoreUndefined","enableUtf8Validation"]),xC="Driver support of Queryable Encryption is incompatible with server. Upgrade server to use Queryable Encryption.",ia=class t extends vC.CommandOperation{constructor(e,r,n={}){super(e,n),this.options=n,this.db=e,this.name=r}get commandName(){return"create"}async execute(e,r){let n=this.db,s=this.name,o=this.options,i=o.encryptedFields??n.client.options.autoEncryption?.encryptedFieldsMap?.[`${n.databaseName}.${s}`];if(i){if(!e.loadBalanced&&e.description.maxWireVersion<kp.MIN_SUPPORTED_QE_WIRE_VERSION)throw new IC.MongoCompatibilityError(`${xC} The minimum server version required is ${kp.MIN_SUPPORTED_QE_SERVER_VERSION}`);let a=i.escCollection??`enxcol_.${s}.esc`,c=i.ecocCollection??`enxcol_.${s}.ecoc`;for(let l of[a,c])await new t(n,l,{clusteredIndex:{key:{_id:1},unique:!0}}).executeWithoutEncryptedFieldsCheck(e,r);o.encryptedFields||(this.options={...this.options,encryptedFields:i})}let u=await this.executeWithoutEncryptedFieldsCheck(e,r);return i&&await PC.CreateIndexesOperation.fromIndexSpecification(n,s,{__safeContent__:1},{}).execute(e,r),u}async executeWithoutEncryptedFieldsCheck(e,r){let n=this.db,s=this.name,o=this.options,i={create:s};for(let u in o)o[u]!=null&&typeof o[u]!="function"&&!LC.has(u)&&(i[u]=o[u]);return await super.executeCommand(e,r,i),new MC.Collection(n,s,o)}};ua.CreateCollectionOperation=ia;(0,qp.defineAspects)(ia,[qp.Aspect.WRITE_OPERATION])});var zp=m(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.ProfilingLevelOperation=void 0;var jp=_(),kC=be(),q2=class extends kC.CommandOperation{constructor(e,r){super(e,r),this.options=r}get commandName(){return"profile"}async execute(e,r){let n=await super.executeCommand(e,r,{profile:-1});if(n.ok===1){let s=n.was;if(s===0)return"off";if(s===1)return"slow_only";if(s===2)return"all";throw new jp.MongoUnexpectedServerResponseError(`Illegal profiling level value ${s}`)}else throw new jp.MongoUnexpectedServerResponseError("Error with profile command")}};aa.ProfilingLevelOperation=q2});var j2=m(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.SetProfilingLevelOperation=Sr.ProfilingLevel=void 0;var qC=_(),UC=R(),jC=be(),zC=new Set(["off","slow_only","all"]);Sr.ProfilingLevel=Object.freeze({off:"off",slowOnly:"slow_only",all:"all"});var U2=class extends jC.CommandOperation{constructor(e,r,n){switch(super(e,n),this.options=n,r){case Sr.ProfilingLevel.off:this.profile=0;break;case Sr.ProfilingLevel.slowOnly:this.profile=1;break;case Sr.ProfilingLevel.all:this.profile=2;break;default:this.profile=0;break}this.level=r}get commandName(){return"profile"}async execute(e,r){let n=this.level;if(!zC.has(n))throw new qC.MongoInvalidArgumentError(`Profiling level must be one of "${(0,UC.enumToString)(Sr.ProfilingLevel)}"`);return await super.executeCommand(e,r,{profile:this.profile}),n}};Sr.SetProfilingLevelOperation=U2});var Vp=m(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.DbStatsOperation=void 0;var WC=be(),Wp=se(),ca=class extends WC.CommandOperation{constructor(e,r){super(e,r),this.options=r}get commandName(){return"dbStats"}async execute(e,r){let n={dbStats:!0};return this.options.scale!=null&&(n.scale=this.options.scale),await super.executeCommand(e,r,n)}};la.DbStatsOperation=ca;(0,Wp.defineAspects)(ca,[Wp.Aspect.READ_OPERATION])});var da=m(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.Db=void 0;var VC=yl(),$p=ne(),$C=Zs(),GC=cs(),eo=Be(),HC=A1(),KC=L2(),YC=Lp(),Gp=_(),XC=xp(),JC=Up(),Hp=E2(),rr=ht(),QC=C1(),ZC=zp(),ey=pl(),ty=w2(),ry=Ps(),ny=j2(),sy=Vp(),oy=Pt(),Kp=xe(),tt=R(),iy=ot(),uy=["writeConcern","readPreference","readPreferenceTags","native_parser","forceServerObjectId","pkFactory","serializeFunctions","raw","authSource","ignoreUndefined","readConcern","retryMiliSeconds","numberOfRetries","useBigInt64","promoteBuffers","promoteLongs","bsonRegExp","enableUtf8Validation","promoteValues","compression","retryWrites","timeoutMS"],Wr=class{constructor(e,r,n){if(n=n??{},n=(0,tt.filterOptions)(n,uy),typeof r=="string"&&r.includes("."))throw new Gp.MongoInvalidArgumentError("Database names cannot contain the character '.'");this.s={options:n,readPreference:Kp.ReadPreference.fromOptions(n),bsonOptions:(0,$p.resolveBSONOptions)(n,e),pkFactory:n?.pkFactory??tt.DEFAULT_PK_FACTORY,readConcern:oy.ReadConcern.fromOptions(n),writeConcern:iy.WriteConcern.fromOptions(n),namespace:new tt.MongoDBNamespace(r)},this.client=e}get databaseName(){return this.s.namespace.db}get options(){return this.s.options}get secondaryOk(){return this.s.readPreference?.preference!=="primary"||!1}get readConcern(){return this.s.readConcern}get readPreference(){return this.s.readPreference==null?this.client.readPreference:this.s.readPreference}get bsonOptions(){return this.s.bsonOptions}get writeConcern(){return this.s.writeConcern}get namespace(){return this.s.namespace.toString()}async createCollection(e,r){return await(0,rr.executeOperation)(this.client,new JC.CreateCollectionOperation(this,e,(0,tt.resolveOptions)(this,r)))}async command(e,r){return await(0,rr.executeOperation)(this.client,new ry.RunCommandOperation(this,e,{...(0,$p.resolveBSONOptions)(r),session:r?.session,readPreference:r?.readPreference}))}aggregate(e=[],r){return new HC.AggregationCursor(this.client,this.s.namespace,e,(0,tt.resolveOptions)(this,r))}admin(){return new VC.Admin(this)}collection(e,r={}){if(typeof r=="function")throw new Gp.MongoInvalidArgumentError("The callback form of this helper has been removed.");return new GC.Collection(this,e,(0,tt.resolveOptions)(this,r))}async stats(e){return await(0,rr.executeOperation)(this.client,new sy.DbStatsOperation(this,(0,tt.resolveOptions)(this,e)))}listCollections(e={},r={}){return new KC.ListCollectionsCursor(this,e,(0,tt.resolveOptions)(this,r))}async renameCollection(e,r,n){return await(0,rr.executeOperation)(this.client,new ty.RenameOperation(this.collection(e),r,{...n,new_collection:!0,readPreference:Kp.ReadPreference.primary}))}async dropCollection(e,r){return await(0,rr.executeOperation)(this.client,new Hp.DropCollectionOperation(this,e,(0,tt.resolveOptions)(this,r)))}async dropDatabase(e){return await(0,rr.executeOperation)(this.client,new Hp.DropDatabaseOperation(this,(0,tt.resolveOptions)(this,e)))}async collections(e){return await(0,rr.executeOperation)(this.client,new XC.CollectionsOperation(this,(0,tt.resolveOptions)(this,e)))}async createIndex(e,r,n){return(await(0,rr.executeOperation)(this.client,QC.CreateIndexesOperation.fromIndexSpecification(this,e,r,n)))[0]}async removeUser(e,r){return await(0,rr.executeOperation)(this.client,new ey.RemoveUserOperation(this,e,(0,tt.resolveOptions)(this,r)))}async setProfilingLevel(e,r){return await(0,rr.executeOperation)(this.client,new ny.SetProfilingLevelOperation(this,e,(0,tt.resolveOptions)(this,r)))}async profilingLevel(e){return await(0,rr.executeOperation)(this.client,new ZC.ProfilingLevelOperation(this,(0,tt.resolveOptions)(this,e)))}async indexInformation(e,r){return await this.collection(e).indexInformation((0,tt.resolveOptions)(this,r))}watch(e=[],r={}){return Array.isArray(e)||(r=e,e=[]),new $C.ChangeStream(this,e,(0,tt.resolveOptions)(this,r))}runCursorCommand(e,r){return new YC.RunCommandCursor(this,e,r)}};Wr.SYSTEM_NAMESPACE_COLLECTION=eo.SYSTEM_NAMESPACE_COLLECTION;Wr.SYSTEM_INDEX_COLLECTION=eo.SYSTEM_INDEX_COLLECTION;Wr.SYSTEM_PROFILE_COLLECTION=eo.SYSTEM_PROFILE_COLLECTION;Wr.SYSTEM_USER_COLLECTION=eo.SYSTEM_USER_COLLECTION;Wr.SYSTEM_COMMAND_COLLECTION=eo.SYSTEM_COMMAND_COLLECTION;Wr.SYSTEM_JS_COLLECTION=eo.SYSTEM_JS_COLLECTION;ha.Db=Wr});var nr=m(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.getMongoDBClientEncryption=qe.aws4=qe.getSocks=qe.getSnappy=qe.getGcpMetadata=qe.getAwsCredentialProvider=qe.getZstdLibrary=qe.getKerberos=void 0;var Fn=_();function S1(t){let e=t?{kModuleError:t}:{};return new Proxy(e,{get:(r,n)=>{if(n==="kModuleError")return t;throw t},set:()=>{throw t}})}function ay(){let t;try{t=x("kerberos")}catch(e){t=S1(new Fn.MongoMissingDependencyError("Optional module `kerberos` not found. Please install it to enable kerberos authentication",{cause:e,dependencyName:"kerberos"}))}return t}qe.getKerberos=ay;function cy(){let t;try{t=x("@mongodb-js/zstd")}catch(e){t=S1(new Fn.MongoMissingDependencyError("Optional module `@mongodb-js/zstd` not found. Please install it to enable zstd compression",{cause:e,dependencyName:"zstd"}))}return t}qe.getZstdLibrary=cy;function ly(){try{return x("@aws-sdk/credential-providers")}catch(t){return S1(new Fn.MongoMissingDependencyError("Optional module `@aws-sdk/credential-providers` not found. Please install it to enable getting aws credentials via the official sdk.",{cause:t,dependencyName:"@aws-sdk/credential-providers"}))}}qe.getAwsCredentialProvider=ly;function hy(){try{return x("gcp-metadata")}catch(t){return S1(new Fn.MongoMissingDependencyError("Optional module `gcp-metadata` not found. Please install it to enable getting gcp credentials via the official sdk.",{cause:t,dependencyName:"gcp-metadata"}))}}qe.getGcpMetadata=hy;function dy(){try{return x("snappy")}catch(t){return{kModuleError:new Fn.MongoMissingDependencyError("Optional module `snappy` not found. Please install it to enable snappy compression",{cause:t,dependencyName:"snappy"})}}}qe.getSnappy=dy;function fy(){try{return x("socks")}catch(t){return{kModuleError:new Fn.MongoMissingDependencyError("Optional module `socks` not found. Please install it to connections over a SOCKS5 proxy",{cause:t,dependencyName:"socks"})}}}qe.getSocks=fy;qe.aws4=py();function py(){let t;try{t=x("aws4")}catch(e){t=S1(new Fn.MongoMissingDependencyError("Optional module `aws4` not found. Please install it to enable AWS authentication",{cause:e,dependencyName:"aws4"}))}return t}function my(){let t=null;try{t=x("mongodb-client-encryption")}catch(e){return{kModuleError:new Fn.MongoMissingDependencyError("Optional module `mongodb-client-encryption` not found. Please install it to use auto encryption or ClientEncryption.",{cause:e,dependencyName:"mongodb-client-encryption"})}}return t}qe.getMongoDBClientEncryption=my});var Vr=m(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.AuthProvider=to.AuthContext=void 0;var Ey=_(),z2=class{constructor(e,r,n){this.reauthenticating=!1,this.connection=e,this.credentials=r,this.options=n}};to.AuthContext=z2;var W2=class{async prepare(e,r){return e}async reauth(e){if(e.reauthenticating)throw new Ey.MongoRuntimeError("Reauthentication already in progress.");try{e.reauthenticating=!0,await this.auth(e)}finally{e.reauthenticating=!1}}};to.AuthProvider=W2});var fa=m(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.resolveCname=Nt.performGSSAPICanonicalizeHostName=Nt.GSSAPI=Nt.GSSAPICanonicalizationValue=void 0;var $2=x("dns"),Ay=nr(),Yp=_(),gy=R(),Cy=Vr();Nt.GSSAPICanonicalizationValue=Object.freeze({on:!0,off:!1,none:"none",forward:"forward",forwardAndReverse:"forwardAndReverse"});async function V2(t,e){return await t.command((0,gy.ns)("$external.$cmd"),e)}var O1,G2=class extends Cy.AuthProvider{async auth(e){let{connection:r,credentials:n}=e;if(n==null)throw new Yp.MongoMissingCredentialsError("Credentials required for GSSAPI authentication");let{username:s}=n,o=await yy(e),i=await o.step(""),u=await V2(r,Sy(i)),a=await Xp(o,10,u.payload),c=await V2(r,Oy(a,u.conversationId)),l=await wy(o,s,c.payload);await V2(r,{saslContinue:1,conversationId:c.conversationId,payload:l})}};Nt.GSSAPI=G2;async function yy(t){let{hostAddress:e}=t.options,{credentials:r}=t;if(!e||typeof e.host!="string"||!r)throw new Yp.MongoInvalidArgumentError("Connection must have host and port and credentials defined.");if(Dy(),"kModuleError"in O1)throw O1.kModuleError;let{initializeClient:n}=O1,{username:s,password:o}=r,i=r.mechanismProperties,u=i.SERVICE_NAME??"mongodb",a=await Jp(e.host,i),c={};o!=null&&Object.assign(c,{user:s,password:o});let l=i.SERVICE_HOST??a,h=`${u}${process.platform==="win32"?"/":"@"}${l}`;return"SERVICE_REALM"in i&&(h=`${h}@${i.SERVICE_REALM}`),await n(h,c)}function Sy(t){return{saslStart:1,mechanism:"GSSAPI",payload:t,autoAuthorize:1}}function Oy(t,e){return{saslContinue:1,conversationId:e,payload:t}}async function Xp(t,e,r){try{return await t.step(r)||""}catch(n){if(e===0)throw n;return await Xp(t,e-1,r)}}async function wy(t,e,r){let n=await t.unwrap(r);return await t.wrap(n||"",{user:e})}async function Jp(t,e){let r=e.CANONICALIZE_HOST_NAME;if(!r||r===Nt.GSSAPICanonicalizationValue.none)return t;if(r===Nt.GSSAPICanonicalizationValue.on||r===Nt.GSSAPICanonicalizationValue.forwardAndReverse){let{address:n}=await $2.promises.lookup(t);try{let s=await $2.promises.resolvePtr(n);return s.length>0?s[0]:t}catch{return await H2(t)}}else return await H2(t)}Nt.performGSSAPICanonicalizeHostName=Jp;async function H2(t){try{let e=await $2.promises.resolveCname(t);return e.length>0?e[0]:t}catch{return t}}Nt.resolveCname=H2;function Dy(){O1||(O1=(0,Ay.getKerberos)())}});var wr=m(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.AUTH_MECHS_AUTH_SRC_EXTERNAL=Or.AuthMechanism=void 0;Or.AuthMechanism=Object.freeze({MONGODB_AWS:"MONGODB-AWS",MONGODB_CR:"MONGODB-CR",MONGODB_DEFAULT:"DEFAULT",MONGODB_GSSAPI:"GSSAPI",MONGODB_PLAIN:"PLAIN",MONGODB_SCRAM_SHA1:"SCRAM-SHA-1",MONGODB_SCRAM_SHA256:"SCRAM-SHA-256",MONGODB_X509:"MONGODB-X509",MONGODB_OIDC:"MONGODB-OIDC"});Or.AUTH_MECHS_AUTH_SRC_EXTERNAL=new Set([Or.AuthMechanism.MONGODB_GSSAPI,Or.AuthMechanism.MONGODB_AWS,Or.AuthMechanism.MONGODB_OIDC,Or.AuthMechanism.MONGODB_X509])});var pa=m(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.MongoCredentials=ls.DEFAULT_ALLOWED_HOSTS=void 0;var Ut=_(),_y=fa(),$e=wr();function By(t){if(t){if(Array.isArray(t.saslSupportedMechs))return t.saslSupportedMechs.includes($e.AuthMechanism.MONGODB_SCRAM_SHA256)?$e.AuthMechanism.MONGODB_SCRAM_SHA256:$e.AuthMechanism.MONGODB_SCRAM_SHA1;if(t.maxWireVersion>=3)return $e.AuthMechanism.MONGODB_SCRAM_SHA1}return $e.AuthMechanism.MONGODB_CR}var Qp=["test","azure","gcp"],Zp="Auth mechanism property ALLOWED_HOSTS must be an array of strings.";ls.DEFAULT_ALLOWED_HOSTS=["*.mongodb.net","*.mongodb-qa.net","*.mongodb-dev.net","*.mongodbgov.net","localhost","127.0.0.1","::1"];var by="TOKEN_RESOURCE must be set in the auth mechanism properties when ENVIRONMENT is azure or gcp.",K2=class t{constructor(e){this.username=e.username??"",this.password=e.password,this.source=e.source,!this.source&&e.db&&(this.source=e.db),this.mechanism=e.mechanism||$e.AuthMechanism.MONGODB_DEFAULT,this.mechanismProperties=e.mechanismProperties||{},this.mechanism.match(/MONGODB-AWS/i)&&(!this.username&&process.env.AWS_ACCESS_KEY_ID&&(this.username=process.env.AWS_ACCESS_KEY_ID),!this.password&&process.env.AWS_SECRET_ACCESS_KEY&&(this.password=process.env.AWS_SECRET_ACCESS_KEY),this.mechanismProperties.AWS_SESSION_TOKEN==null&&process.env.AWS_SESSION_TOKEN!=null&&(this.mechanismProperties={...this.mechanismProperties,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN})),this.mechanism===$e.AuthMechanism.MONGODB_OIDC&&!this.mechanismProperties.ALLOWED_HOSTS&&(this.mechanismProperties={...this.mechanismProperties,ALLOWED_HOSTS:ls.DEFAULT_ALLOWED_HOSTS}),Object.freeze(this.mechanismProperties),Object.freeze(this)}equals(e){return this.mechanism===e.mechanism&&this.username===e.username&&this.password===e.password&&this.source===e.source}resolveAuthMechanism(e){return this.mechanism.match(/DEFAULT/i)?new t({username:this.username,password:this.password,source:this.source,mechanism:By(e),mechanismProperties:this.mechanismProperties}):this}validate(){if((this.mechanism===$e.AuthMechanism.MONGODB_GSSAPI||this.mechanism===$e.AuthMechanism.MONGODB_CR||this.mechanism===$e.AuthMechanism.MONGODB_PLAIN||this.mechanism===$e.AuthMechanism.MONGODB_SCRAM_SHA1||this.mechanism===$e.AuthMechanism.MONGODB_SCRAM_SHA256)&&!this.username)throw new Ut.MongoMissingCredentialsError(`Username required for mechanism '${this.mechanism}'`);if(this.mechanism===$e.AuthMechanism.MONGODB_OIDC){if(this.username&&this.mechanismProperties.ENVIRONMENT&&this.mechanismProperties.ENVIRONMENT!=="azure")throw new Ut.MongoInvalidArgumentError(`username and ENVIRONMENT '${this.mechanismProperties.ENVIRONMENT}' may not be used together for mechanism '${this.mechanism}'.`);if(this.username&&this.password)throw new Ut.MongoInvalidArgumentError(`No password is allowed in ENVIRONMENT '${this.mechanismProperties.ENVIRONMENT}' for '${this.mechanism}'.`);if((this.mechanismProperties.ENVIRONMENT==="azure"||this.mechanismProperties.ENVIRONMENT==="gcp")&&!this.mechanismProperties.TOKEN_RESOURCE)throw new Ut.MongoInvalidArgumentError(by);if(this.mechanismProperties.ENVIRONMENT&&!Qp.includes(this.mechanismProperties.ENVIRONMENT))throw new Ut.MongoInvalidArgumentError(`Currently only a ENVIRONMENT in ${Qp.join(",")} is supported for mechanism '${this.mechanism}'.`);if(!this.mechanismProperties.ENVIRONMENT&&!this.mechanismProperties.OIDC_CALLBACK&&!this.mechanismProperties.OIDC_HUMAN_CALLBACK)throw new Ut.MongoInvalidArgumentError(`Either a ENVIRONMENT, OIDC_CALLBACK, or OIDC_HUMAN_CALLBACK must be specified for mechanism '${this.mechanism}'.`);if(this.mechanismProperties.ALLOWED_HOSTS){let r=this.mechanismProperties.ALLOWED_HOSTS;if(!Array.isArray(r))throw new Ut.MongoInvalidArgumentError(Zp);for(let n of r)if(typeof n!="string")throw new Ut.MongoInvalidArgumentError(Zp)}}if($e.AUTH_MECHS_AUTH_SRC_EXTERNAL.has(this.mechanism)&&this.source!=null&&this.source!=="$external")throw new Ut.MongoAPIError(`Invalid source '${this.source}' for mechanism '${this.mechanism}' specified.`);if(this.mechanism===$e.AuthMechanism.MONGODB_PLAIN&&this.source==null)throw new Ut.MongoAPIError("PLAIN Authentication Mechanism needs an auth source");if(this.mechanism===$e.AuthMechanism.MONGODB_X509&&this.password!=null){if(this.password===""){Reflect.set(this,"password",void 0);return}throw new Ut.MongoAPIError("Password not allowed for mechanism MONGODB-X509")}let e=this.mechanismProperties.CANONICALIZE_HOST_NAME??!1;if(!Object.values(_y.GSSAPICanonicalizationValue).includes(e))throw new Ut.MongoAPIError(`Invalid CANONICALIZE_HOST_NAME value: ${e}`)}static merge(e,r){return new t({username:r.username??e?.username??"",password:r.password??e?.password??"",mechanism:r.mechanism??e?.mechanism??$e.AuthMechanism.MONGODB_DEFAULT,mechanismProperties:r.mechanismProperties??e?.mechanismProperties??{},source:r.source??r.db??e?.source??"admin"})}};ls.MongoCredentials=K2});var Ea=m(ce=>{"use strict";function de(t,e,r){return r.globals&&(t=r.globals[t.name]),new t(`${r.context?r.context:"Value"} ${e}.`)}function so(t,e){if(typeof t=="bigint")throw de(TypeError,"is a BigInt which cannot be converted to a number",e);return e.globals?e.globals.Number(t):Number(t)}function t4(t){return t>0&&t%1===.5&&!(t&1)||t<0&&t%1===-.5&&(t&1)===1?w1(Math.floor(t)):w1(Math.round(t))}function ma(t){return w1(Math.trunc(t))}function e4(t){return t<0?-1:1}function Ty(t,e){let r=t%e;return e4(e)!==e4(r)?r+e:r}function w1(t){return t===0?0:t}function oo(t,{unsigned:e}){let r,n;e?(r=0,n=2**t-1):(r=-(2**(t-1)),n=2**(t-1)-1);let s=2**t,o=2**(t-1);return(i,u={})=>{let a=so(i,u);if(a=w1(a),u.enforceRange){if(!Number.isFinite(a))throw de(TypeError,"is not a finite number",u);if(a=ma(a),a<r||a>n)throw de(TypeError,`is outside the accepted range of ${r} to ${n}, inclusive`,u);return a}return!Number.isNaN(a)&&u.clamp?(a=Math.min(Math.max(a,r),n),a=t4(a),a):!Number.isFinite(a)||a===0?0:(a=ma(a),a>=r&&a<=n?a:(a=Ty(a,s),!e&&a>=o?a-s:a))}}function r4(t,{unsigned:e}){let r=Number.MAX_SAFE_INTEGER,n=e?0:Number.MIN_SAFE_INTEGER,s=e?BigInt.asUintN:BigInt.asIntN;return(o,i={})=>{let u=so(o,i);if(u=w1(u),i.enforceRange){if(!Number.isFinite(u))throw de(TypeError,"is not a finite number",i);if(u=ma(u),u<n||u>r)throw de(TypeError,`is outside the accepted range of ${n} to ${r}, inclusive`,i);return u}if(!Number.isNaN(u)&&i.clamp)return u=Math.min(Math.max(u,n),r),u=t4(u),u;if(!Number.isFinite(u)||u===0)return 0;let a=BigInt(ma(u));return a=s(t,a),Number(a)}}ce.any=t=>t;ce.undefined=()=>{};ce.boolean=t=>!!t;ce.byte=oo(8,{unsigned:!1});ce.octet=oo(8,{unsigned:!0});ce.short=oo(16,{unsigned:!1});ce["unsigned short"]=oo(16,{unsigned:!0});ce.long=oo(32,{unsigned:!1});ce["unsigned long"]=oo(32,{unsigned:!0});ce["long long"]=r4(64,{unsigned:!1});ce["unsigned long long"]=r4(64,{unsigned:!0});ce.double=(t,e={})=>{let r=so(t,e);if(!Number.isFinite(r))throw de(TypeError,"is not a finite floating-point value",e);return r};ce["unrestricted double"]=(t,e={})=>so(t,e);ce.float=(t,e={})=>{let r=so(t,e);if(!Number.isFinite(r))throw de(TypeError,"is not a finite floating-point value",e);if(Object.is(r,-0))return r;let n=Math.fround(r);if(!Number.isFinite(n))throw de(TypeError,"is outside the range of a single-precision floating-point value",e);return n};ce["unrestricted float"]=(t,e={})=>{let r=so(t,e);return isNaN(r)||Object.is(r,-0)?r:Math.fround(r)};ce.DOMString=(t,e={})=>{if(e.treatNullAsEmptyString&&t===null)return"";if(typeof t=="symbol")throw de(TypeError,"is a symbol, which cannot be converted to a string",e);return(e.globals?e.globals.String:String)(t)};ce.ByteString=(t,e={})=>{let r=ce.DOMString(t,e),n;for(let s=0;(n=r.codePointAt(s))!==void 0;++s)if(n>255)throw de(TypeError,"is not a valid ByteString",e);return r};ce.USVString=(t,e={})=>{let r=ce.DOMString(t,e),n=r.length,s=[];for(let o=0;o<n;++o){let i=r.charCodeAt(o);if(i<55296||i>57343)s.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)s.push(String.fromCodePoint(65533));else if(o===n-1)s.push(String.fromCodePoint(65533));else{let u=r.charCodeAt(o+1);if(56320<=u&&u<=57343){let a=i&1023,c=u&1023;s.push(String.fromCodePoint(65536+1024*a+c)),++o}else s.push(String.fromCodePoint(65533))}}return s.join("")};ce.object=(t,e={})=>{if(t===null||typeof t!="object"&&typeof t!="function")throw de(TypeError,"is not an object",e);return t};var Fy=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get,Ny=typeof SharedArrayBuffer=="function"?Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,"byteLength").get:null;function Y2(t){try{return Fy.call(t),!0}catch{return!1}}function ro(t){try{return Ny.call(t),!0}catch{return!1}}function no(t){try{return new Uint8Array(t),!1}catch{return!0}}ce.ArrayBuffer=(t,e={})=>{if(!Y2(t))throw e.allowShared&&!ro(t)?de(TypeError,"is not an ArrayBuffer or SharedArrayBuffer",e):de(TypeError,"is not an ArrayBuffer",e);if(no(t))throw de(TypeError,"is a detached ArrayBuffer",e);return t};var Ry=Object.getOwnPropertyDescriptor(DataView.prototype,"byteLength").get;ce.DataView=(t,e={})=>{try{Ry.call(t)}catch{throw de(TypeError,"is not a DataView",e)}if(!e.allowShared&&ro(t.buffer))throw de(TypeError,"is backed by a SharedArrayBuffer, which is not allowed",e);if(no(t.buffer))throw de(TypeError,"is backed by a detached ArrayBuffer",e);return t};var My=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array).prototype,Symbol.toStringTag).get;[Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Uint8ClampedArray,Float32Array,Float64Array].forEach(t=>{let{name:e}=t,r=/^[AEIOU]/u.test(e)?"an":"a";ce[e]=(n,s={})=>{if(!ArrayBuffer.isView(n)||My.call(n)!==e)throw de(TypeError,`is not ${r} ${e} object`,s);if(!s.allowShared&&ro(n.buffer))throw de(TypeError,"is a view on a SharedArrayBuffer, which is not allowed",s);if(no(n.buffer))throw de(TypeError,"is a view on a detached ArrayBuffer",s);return n}});ce.ArrayBufferView=(t,e={})=>{if(!ArrayBuffer.isView(t))throw de(TypeError,"is not a view on an ArrayBuffer or SharedArrayBuffer",e);if(!e.allowShared&&ro(t.buffer))throw de(TypeError,"is a view on a SharedArrayBuffer, which is not allowed",e);if(no(t.buffer))throw de(TypeError,"is a view on a detached ArrayBuffer",e);return t};ce.BufferSource=(t,e={})=>{if(ArrayBuffer.isView(t)){if(!e.allowShared&&ro(t.buffer))throw de(TypeError,"is a view on a SharedArrayBuffer, which is not allowed",e);if(no(t.buffer))throw de(TypeError,"is a view on a detached ArrayBuffer",e);return t}if(!e.allowShared&&!Y2(t))throw de(TypeError,"is not an ArrayBuffer or a view on one",e);if(e.allowShared&&!ro(t)&&!Y2(t))throw de(TypeError,"is not an ArrayBuffer, SharedArrayBuffer, or a view on one",e);if(no(t))throw de(TypeError,"is a detached ArrayBuffer",e);return t};ce.DOMTimeStamp=ce["unsigned long long"]});var ga=m((c4,l4)=>{"use strict";function Iy(t){return typeof t=="object"&&t!==null||typeof t=="function"}var n4=Function.prototype.call.bind(Object.prototype.hasOwnProperty);function vy(t,e){for(let r of Reflect.ownKeys(e)){let n=Reflect.getOwnPropertyDescriptor(e,r);if(n&&!Reflect.defineProperty(t,r,n))throw new TypeError(`Cannot redefine property: ${String(r)}`)}}function Py(t,e){let r=i4(t);return Object.defineProperties(Object.create(r["%Object.prototype%"]),Object.getOwnPropertyDescriptors(e))}var s4=Symbol("wrapper"),o4=Symbol("impl"),io=Symbol("SameObject caches"),Aa=Symbol.for("[webidl2js] constructor registry"),Ly=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);function i4(t){if(n4(t,Aa))return t[Aa];let e=Object.create(null);e["%Object.prototype%"]=t.Object.prototype,e["%IteratorPrototype%"]=Object.getPrototypeOf(Object.getPrototypeOf(new t.Array()[Symbol.iterator]()));try{e["%AsyncIteratorPrototype%"]=Object.getPrototypeOf(Object.getPrototypeOf(t.eval("(async function* () {})").prototype))}catch{e["%AsyncIteratorPrototype%"]=Ly}return t[Aa]=e,e}function xy(t,e,r){return t[io]||(t[io]=Object.create(null)),e in t[io]||(t[io][e]=r()),t[io][e]}function u4(t){return t?t[s4]:null}function a4(t){return t?t[o4]:null}function ky(t){let e=u4(t);return e||t}function qy(t){let e=a4(t);return e||t}var Uy=Symbol("internal");function jy(t){if(typeof t!="string")return!1;let e=t>>>0;if(e===2**32-1)return!1;let r=`${e}`;return t===r}var zy=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get;function Wy(t){try{return zy.call(t),!0}catch{return!1}}function Vy([t,e],r){let n;switch(r){case"key":n=t;break;case"value":n=e;break;case"key+value":n=[t,e];break}return{value:n,done:!1}}var $y=Symbol("supports property index"),Gy=Symbol("supported property indices"),Hy=Symbol("supports property name"),Ky=Symbol("supported property names"),Yy=Symbol("indexed property get"),Xy=Symbol("indexed property set new"),Jy=Symbol("indexed property set existing"),Qy=Symbol("named property get"),Zy=Symbol("named property set new"),eS=Symbol("named property set existing"),tS=Symbol("named property delete"),rS=Symbol("async iterator get the next iteration result"),nS=Symbol("async iterator return steps"),sS=Symbol("async iterator initialization steps"),oS=Symbol("async iterator end of iteration");l4.exports=c4={isObject:Iy,hasOwn:n4,define:vy,newObjectInRealm:Py,wrapperSymbol:s4,implSymbol:o4,getSameObject:xy,ctorRegistrySymbol:Aa,initCtorRegistry:i4,wrapperForImpl:u4,implForWrapper:a4,tryWrapperForImpl:ky,tryImplForWrapper:qy,iterInternalSymbol:Uy,isArrayBuffer:Wy,isArrayIndexPropName:jy,supportsPropertyIndex:$y,supportedPropertyIndices:Gy,supportsPropertyName:Hy,supportedPropertyNames:Ky,indexedGet:Yy,indexedSetNew:Xy,indexedSetExisting:Jy,namedGet:Qy,namedSetNew:Zy,namedSetExisting:eS,namedDelete:tS,asyncIteratorNext:rS,asyncIteratorReturn:nS,asyncIteratorInit:sS,asyncIteratorEOI:oS,iteratorResult:Vy}});var g4={};Zf(g4,{decode:()=>Z2,default:()=>fS,encode:()=>eh,toASCII:()=>A4,toUnicode:()=>E4,ucs2decode:()=>Q2,ucs2encode:()=>p4});function Nn(t){throw new RangeError(cS[t])}function lS(t,e){let r=[],n=t.length;for(;n--;)r[n]=e(t[n]);return r}function f4(t,e){let r=t.split("@"),n="";r.length>1&&(n=r[0]+"@",t=r[1]),t=t.replace(aS,".");let s=t.split("."),o=lS(s,e).join(".");return n+o}function Q2(t){let e=[],r=0,n=t.length;for(;r<n;){let s=t.charCodeAt(r++);if(s>=55296&&s<=56319&&r<n){let o=t.charCodeAt(r++);(o&64512)==56320?e.push(((s&1023)<<10)+(o&1023)+65536):(e.push(s),r--)}else e.push(s)}return e}var d4,iS,uS,aS,cS,X2,Dr,J2,p4,hS,h4,m4,Z2,eh,E4,A4,dS,fS,C4=h7(()=>{"use strict";d4="-",iS=/^xn--/,uS=/[^\0-\x7F]/,aS=/[\x2E\u3002\uFF0E\uFF61]/g,cS={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},X2=35,Dr=Math.floor,J2=String.fromCharCode;p4=t=>String.fromCodePoint(...t),hS=function(t){return t>=48&&t<58?26+(t-48):t>=65&&t<91?t-65:t>=97&&t<123?t-97:36},h4=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)},m4=function(t,e,r){let n=0;for(t=r?Dr(t/700):t>>1,t+=Dr(t/e);t>X2*26>>1;n+=36)t=Dr(t/X2);return Dr(n+(X2+1)*t/(t+38))},Z2=function(t){let e=[],r=t.length,n=0,s=128,o=72,i=t.lastIndexOf(d4);i<0&&(i=0);for(let u=0;u<i;++u)t.charCodeAt(u)>=128&&Nn("not-basic"),e.push(t.charCodeAt(u));for(let u=i>0?i+1:0;u<r;){let a=n;for(let l=1,h=36;;h+=36){u>=r&&Nn("invalid-input");let f=hS(t.charCodeAt(u++));f>=36&&Nn("invalid-input"),f>Dr((2147483647-n)/l)&&Nn("overflow"),n+=f*l;let S=h<=o?1:h>=o+26?26:h-o;if(f<S)break;let y=36-S;l>Dr(2147483647/y)&&Nn("overflow"),l*=y}let c=e.length+1;o=m4(n-a,c,a==0),Dr(n/c)>2147483647-s&&Nn("overflow"),s+=Dr(n/c),n%=c,e.splice(n++,0,s)}return String.fromCodePoint(...e)},eh=function(t){let e=[];t=Q2(t);let r=t.length,n=128,s=0,o=72;for(let a of t)a<128&&e.push(J2(a));let i=e.length,u=i;for(i&&e.push(d4);u<r;){let a=2147483647;for(let l of t)l>=n&&l<a&&(a=l);let c=u+1;a-n>Dr((2147483647-s)/c)&&Nn("overflow"),s+=(a-n)*c,n=a;for(let l of t)if(l<n&&++s>2147483647&&Nn("overflow"),l===n){let h=s;for(let f=36;;f+=36){let S=f<=o?1:f>=o+26?26:f-o;if(h<S)break;let y=h-S,F=36-S;e.push(J2(h4(S+y%F,0))),h=Dr(y/F)}e.push(J2(h4(h,0))),o=m4(s,c,u===i),s=0,++u}++s,++n}return e.join("")},E4=function(t){return f4(t,function(e){return iS.test(e)?Z2(e.slice(4).toLowerCase()):e})},A4=function(t){return f4(t,function(e){return uS.test(e)?"xn--"+eh(e):e})},dS={version:"2.3.1",ucs2:{decode:Q2,encode:p4},decode:Z2,encode:eh,toASCII:A4,toUnicode:E4},fS=dS});var S4=m((lN,y4)=>{"use strict";var pS=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11000}-\u{11002}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11082}\u{110B0}-\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{11134}\u{11145}\u{11146}\u{11173}\u{11180}-\u{11182}\u{111B3}-\u{111C0}\u{111C9}-\u{111CC}\u{111CE}\u{111CF}\u{1122C}-\u{11237}\u{1123E}\u{11241}\u{112DF}-\u{112EA}\u{11300}-\u{11303}\u{1133B}\u{1133C}\u{1133E}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11357}\u{11362}\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11435}-\u{11446}\u{1145E}\u{114B0}-\u{114C3}\u{115AF}-\u{115B5}\u{115B8}-\u{115C0}\u{115DC}\u{115DD}\u{11630}-\u{11640}\u{116AB}-\u{116B7}\u{1171D}-\u{1172B}\u{1182C}-\u{1183A}\u{11930}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{1193E}\u{11940}\u{11942}\u{11943}\u{119D1}-\u{119D7}\u{119DA}-\u{119E0}\u{119E4}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A39}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A5B}\u{11A8A}-\u{11A99}\u{11C2F}-\u{11C36}\u{11C38}-\u{11C3F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D8A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D97}\u{11EF3}-\u{11EF6}\u{11F00}\u{11F01}\u{11F03}\u{11F34}-\u{11F3A}\u{11F3E}-\u{11F42}\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F51}-\u{16F87}\u{16F8F}-\u{16F92}\u{16FE4}\u{16FF0}\u{16FF1}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D165}-\u{1D169}\u{1D16D}-\u{1D172}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]/u,mS=/[\u094D\u09CD\u0A4D\u0ACD\u0B4D\u0BCD\u0C4D\u0CCD\u0D3B\u0D3C\u0D4D\u0DCA\u0E3A\u0EBA\u0F84\u1039\u103A\u1714\u1734\u17D2\u1A60\u1B44\u1BAA\u1BAB\u1BF2\u1BF3\u2D7F\uA806\uA8C4\uA953\uA9C0\uAAF6\uABED\u{10A3F}\u{11046}\u{1107F}\u{110B9}\u{11133}\u{11134}\u{111C0}\u{11235}\u{112EA}\u{1134D}\u{11442}\u{114C2}\u{115BF}\u{1163F}\u{116B6}\u{1172B}\u{11839}\u{119E0}\u{11A34}\u{11A47}\u{11A99}\u{11C3F}\u{11D44}\u{11D45}\u{11D97}]/u,ES=/[\u0620\u0626\u0628\u062A-\u062E\u0633-\u063F\u0641-\u0647\u0649\u064A\u066E\u066F\u0678-\u0687\u069A-\u06BF\u06C1\u06C2\u06CC\u06CE\u06D0\u06D1\u06FA-\u06FC\u06FF\u0712-\u0714\u071A-\u071D\u071F-\u0727\u0729\u072B\u072D\u072E\u074E-\u0758\u075C-\u076A\u076D-\u0770\u0772\u0775-\u0777\u077A-\u077F\u07CA-\u07EA\u0841-\u0845\u0848\u084A-\u0853\u0855\u0860\u0862-\u0865\u0868\u08A0-\u08A9\u08AF\u08B0\u08B3\u08B4\u08B6-\u08B8\u08BA-\u08BD\u1807\u1820-\u1878\u1887-\u18A8\u18AA\uA840-\uA872\u{10AC0}-\u{10AC4}\u{10ACD}\u{10AD3}-\u{10ADC}\u{10ADE}-\u{10AE0}\u{10AEB}-\u{10AEE}\u{10B80}\u{10B82}\u{10B86}-\u{10B88}\u{10B8A}\u{10B8B}\u{10B8D}\u{10B90}\u{10BAD}\u{10BAE}\u{10D00}-\u{10D21}\u{10D23}\u{10F30}-\u{10F32}\u{10F34}-\u{10F44}\u{10F51}-\u{10F53}\u{1E900}-\u{1E943}][\xAD\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u061C\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200B\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10F46}-\u{10F50}\u{11001}\u{11038}-\u{11046}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C3F}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{13430}-\u{13438}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E130}-\u{1E136}\u{1E2EC}-\u{1E2EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94B}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*\u200C[\xAD\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u061C\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200B\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10F46}-\u{10F50}\u{11001}\u{11038}-\u{11046}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C3F}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{13430}-\u{13438}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E130}-\u{1E136}\u{1E2EC}-\u{1E2EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94B}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*[\u0620\u0622-\u063F\u0641-\u064A\u066E\u066F\u0671-\u0673\u0675-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u077F\u07CA-\u07EA\u0840-\u0855\u0860\u0862-\u0865\u0867-\u086A\u08A0-\u08AC\u08AE-\u08B4\u08B6-\u08BD\u1807\u1820-\u1878\u1887-\u18A8\u18AA\uA840-\uA871\u{10AC0}-\u{10AC5}\u{10AC7}\u{10AC9}\u{10ACA}\u{10ACE}-\u{10AD6}\u{10AD8}-\u{10AE1}\u{10AE4}\u{10AEB}-\u{10AEF}\u{10B80}-\u{10B91}\u{10BA9}-\u{10BAE}\u{10D01}-\u{10D23}\u{10F30}-\u{10F44}\u{10F51}-\u{10F54}\u{1E900}-\u{1E943}]/u,AS=/[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0605\u0608\u060B\u060D\u061B-\u064A\u0660-\u0669\u066B-\u066F\u0671-\u06D5\u06DD\u06E5\u06E6\u06EE\u06EF\u06FA-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u08A0-\u08C9\u08E2\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10D30}-\u{10D39}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}]/u,gS=/[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02BB-\u02C1\u02D0\u02D1\u02E0-\u02E4\u02EE\u0370-\u0373\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0482\u048A-\u052F\u0531-\u0556\u0559-\u0589\u0903-\u0939\u093B\u093D-\u0940\u0949-\u094C\u094E-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C0\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09FA\u09FC\u09FD\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A40\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A76\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC0\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0\u0AE1\u0AE6-\u0AF0\u0AF9\u0B02\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0BE6-\u0BF2\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C41-\u0C44\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C77\u0C7F\u0C80\u0C82-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D02-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D4F\u0D54-\u0D61\u0D66-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E4F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F17\u0F1A-\u0F34\u0F36\u0F38\u0F3E-\u0F47\u0F49-\u0F6C\u0F7F\u0F85\u0F88-\u0F8C\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE-\u0FDA\u1000-\u102C\u1031\u1038\u103B\u103C\u103F-\u1057\u105A-\u105D\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108C\u108E-\u109C\u109E-\u10C5\u10C7\u10CD\u10D0-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1360-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u167F\u1681-\u169A\u16A0-\u16F8\u1700-\u1711\u1715\u171F-\u1731\u1734-\u1736\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17B6\u17BE-\u17C5\u17C7\u17C8\u17D4-\u17DA\u17DC\u17E0-\u17E9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A19\u1A1A\u1A1E-\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1A80-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1B04-\u1B33\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B4C\u1B50-\u1B6A\u1B74-\u1B7E\u1B82-\u1BA1\u1BA6\u1BA7\u1BAA\u1BAE-\u1BE5\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1BFC-\u1C2B\u1C34\u1C35\u1C3B-\u1C49\u1C4D-\u1C88\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF7\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200E\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u214F\u2160-\u2188\u2336-\u237A\u2395\u249C-\u24E9\u26AC\u2800-\u28FF\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u302E\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31BF\u31F0-\u321C\u3220-\u324F\u3260-\u327B\u327F-\u32B0\u32C0-\u32CB\u32D0-\u3376\u337B-\u33DD\u33E0-\u33FE\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA60C\uA610-\uA62B\uA640-\uA66E\uA680-\uA69D\uA6A0-\uA6EF\uA6F2-\uA6F7\uA722-\uA787\uA789-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA824\uA827\uA830-\uA837\uA840-\uA873\uA880-\uA8C3\uA8CE-\uA8D9\uA8F2-\uA8FE\uA900-\uA925\uA92E-\uA946\uA952\uA953\uA95F-\uA97C\uA983-\uA9B2\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA2F\uAA30\uAA33\uAA34\uAA40-\uAA42\uAA44-\uAA4B\uAA4D\uAA50-\uAA59\uAA5C-\uAA7B\uAA7D-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAAEB\uAAEE-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB69\uAB70-\uABE4\uABE6\uABE7\uABE9-\uABEC\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1013F}\u{1018D}\u{1018E}\u{101D0}-\u{101FC}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{11000}\u{11002}-\u{11037}\u{11047}-\u{1104D}\u{11066}-\u{1106F}\u{11071}\u{11072}\u{11075}\u{11082}-\u{110B2}\u{110B7}\u{110B8}\u{110BB}-\u{110C1}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11103}-\u{11126}\u{1112C}\u{11136}-\u{11147}\u{11150}-\u{11172}\u{11174}-\u{11176}\u{11182}-\u{111B5}\u{111BF}-\u{111C8}\u{111CD}\u{111CE}\u{111D0}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{1122E}\u{11232}\u{11233}\u{11235}\u{11238}-\u{1123D}\u{1123F}\u{11240}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112DE}\u{112E0}-\u{112E2}\u{112F0}-\u{112F9}\u{11302}\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}-\u{1133F}\u{11341}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11400}-\u{11437}\u{11440}\u{11441}\u{11445}\u{11447}-\u{1145B}\u{1145D}\u{1145F}-\u{11461}\u{11480}-\u{114B2}\u{114B9}\u{114BB}-\u{114BE}\u{114C1}\u{114C4}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B1}\u{115B8}-\u{115BB}\u{115BE}\u{115C1}-\u{115DB}\u{11600}-\u{11632}\u{1163B}\u{1163C}\u{1163E}\u{11641}-\u{11644}\u{11650}-\u{11659}\u{11680}-\u{116AA}\u{116AC}\u{116AE}\u{116AF}\u{116B6}\u{116B8}\u{116B9}\u{116C0}-\u{116C9}\u{11700}-\u{1171A}\u{11720}\u{11721}\u{11726}\u{11730}-\u{11746}\u{11800}-\u{1182E}\u{11838}\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193D}\u{1193F}-\u{11942}\u{11944}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D3}\u{119DC}-\u{119DF}\u{119E1}-\u{119E4}\u{11A00}\u{11A07}\u{11A08}\u{11A0B}-\u{11A32}\u{11A39}\u{11A3A}\u{11A3F}-\u{11A46}\u{11A50}\u{11A57}\u{11A58}\u{11A5C}-\u{11A89}\u{11A97}\u{11A9A}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2F}\u{11C3E}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11CA9}\u{11CB1}\u{11CB4}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D93}\u{11D94}\u{11D96}\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF2}\u{11EF5}-\u{11EF8}\u{11F02}-\u{11F10}\u{11F12}-\u{11F35}\u{11F3E}\u{11F3F}\u{11F41}\u{11F43}-\u{11F59}\u{11FB0}\u{11FC0}-\u{11FD4}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{1343F}\u{13441}-\u{13446}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF5}\u{16B00}-\u{16B2F}\u{16B37}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F50}-\u{16F87}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{16FE3}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18D00}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}\u{1BC9F}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D166}\u{1D16A}-\u{1D172}\u{1D183}\u{1D184}\u{1D18C}-\u{1D1A9}\u{1D1AE}-\u{1D1E8}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6DA}\u{1D6DC}-\u{1D714}\u{1D716}-\u{1D74E}\u{1D750}-\u{1D788}\u{1D78A}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1D800}-\u{1D9FF}\u{1DA37}-\u{1DA3A}\u{1DA6D}-\u{1DA74}\u{1DA76}-\u{1DA83}\u{1DA85}-\u{1DA8B}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E030}-\u{1E06D}\u{1E100}-\u{1E12C}\u{1E137}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AD}\u{1E2C0}-\u{1E2EB}\u{1E2F0}-\u{1E2F9}\u{1E4D0}-\u{1E4EB}\u{1E4F0}-\u{1E4F9}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1F110}-\u{1F12E}\u{1F130}-\u{1F169}\u{1F170}-\u{1F1AC}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}]/u,CS=/[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}]/u,yS=/^[\0-\x08\x0E-\x1B!-@\[-`\{-\x84\x86-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02B9\u02BA\u02C2-\u02CF\u02D2-\u02DF\u02E5-\u02ED\u02EF-\u036F\u0374\u0375\u037E\u0384\u0385\u0387\u03F6\u0483-\u0489\u058A\u058D-\u058F\u0591-\u05C7\u05D0-\u05EA\u05EF-\u05F4\u0600-\u070D\u070F-\u074A\u074D-\u07B1\u07C0-\u07FA\u07FD-\u082D\u0830-\u083E\u0840-\u085B\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u0898-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09F2\u09F3\u09FB\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AF1\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0BF3-\u0BFA\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C78-\u0C7E\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E3F\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39-\u0F3D\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1390-\u1399\u1400\u169B\u169C\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DB\u17DD\u17F0-\u17F9\u1800-\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1940\u1944\u1945\u19DE-\u19FF\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u200B-\u200D\u200F-\u2027\u202F-\u205E\u2060-\u2064\u206A-\u2070\u2074-\u207E\u2080-\u208E\u20A0-\u20C0\u20D0-\u20F0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u2150-\u215F\u2189-\u218B\u2190-\u2335\u237B-\u2394\u2396-\u2426\u2440-\u244A\u2460-\u249B\u24EA-\u26AB\u26AD-\u27FF\u2900-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF9-\u2CFF\u2D7F\u2DE0-\u2E5D\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u3004\u3008-\u3020\u302A-\u302D\u3030\u3036\u3037\u303D-\u303F\u3099-\u309C\u30A0\u30FB\u31C0-\u31E3\u321D\u321E\u3250-\u325F\u327C-\u327E\u32B1-\u32BF\u32CC-\u32CF\u3377-\u337A\u33DE\u33DF\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA60D-\uA60F\uA66F-\uA67F\uA69E\uA69F\uA6F0\uA6F1\uA700-\uA721\uA788\uA802\uA806\uA80B\uA825\uA826\uA828-\uA82C\uA838\uA839\uA874-\uA877\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uAB6A\uAB6B\uABE5\uABE8\uABED\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD8F\uFD92-\uFDC7\uFDCF\uFDF0-\uFE19\uFE20-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFE70-\uFE74\uFE76-\uFEFC\uFEFF\uFF01-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD\u{10101}\u{10140}-\u{1018C}\u{10190}-\u{1019C}\u{101A0}\u{101FD}\u{102E0}-\u{102FB}\u{10376}-\u{1037A}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{1091F}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A38}-\u{10A3A}\u{10A3F}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE6}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B39}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D27}\u{10D30}-\u{10D39}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAB}-\u{10EAD}\u{10EB0}\u{10EB1}\u{10EFD}-\u{10F27}\u{10F30}-\u{10F59}\u{10F70}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{11001}\u{11038}-\u{11046}\u{11052}-\u{11065}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{11660}-\u{1166C}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11FD5}-\u{11FF1}\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE2}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D1E9}\u{1D1EA}\u{1D200}-\u{1D245}\u{1D300}-\u{1D356}\u{1D6DB}\u{1D715}\u{1D74F}\u{1D789}\u{1D7C3}\u{1D7CE}-\u{1D7FF}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E2FF}\u{1E4EC}-\u{1E4EF}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8D6}\u{1E900}-\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{1EEF0}\u{1EEF1}\u{1F000}-\u{1F02B}\u{1F030}-\u{1F093}\u{1F0A0}-\u{1F0AE}\u{1F0B1}-\u{1F0BF}\u{1F0C1}-\u{1F0CF}\u{1F0D1}-\u{1F0F5}\u{1F100}-\u{1F10F}\u{1F12F}\u{1F16A}-\u{1F16F}\u{1F1AD}\u{1F260}-\u{1F265}\u{1F300}-\u{1F6D7}\u{1F6DC}-\u{1F6EC}\u{1F6F0}-\u{1F6FC}\u{1F700}-\u{1F776}\u{1F77B}-\u{1F7D9}\u{1F7E0}-\u{1F7EB}\u{1F7F0}\u{1F800}-\u{1F80B}\u{1F810}-\u{1F847}\u{1F850}-\u{1F859}\u{1F860}-\u{1F887}\u{1F890}-\u{1F8AD}\u{1F8B0}\u{1F8B1}\u{1F900}-\u{1FA53}\u{1FA60}-\u{1FA6D}\u{1FA70}-\u{1FA7C}\u{1FA80}-\u{1FA88}\u{1FA90}-\u{1FABD}\u{1FABF}-\u{1FAC5}\u{1FACE}-\u{1FADB}\u{1FAE0}-\u{1FAE8}\u{1FAF0}-\u{1FAF8}\u{1FB00}-\u{1FB92}\u{1FB94}-\u{1FBCA}\u{1FBF0}-\u{1FBF9}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*$/u,SS=/[0-9\xB2\xB3\xB9\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0605\u0608\u060B\u060D\u061B-\u064A\u0660-\u0669\u066B-\u066F\u0671-\u06D5\u06DD\u06E5\u06E6\u06EE-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u08A0-\u08C9\u08E2\u200F\u2070\u2074-\u2079\u2080-\u2089\u2488-\u249B\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\u{102E1}-\u{102FB}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10D30}-\u{10D39}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1D7CE}-\u{1D7FF}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{1F100}-\u{1F10A}\u{1FBF0}-\u{1FBF9}][\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]*$/u,OS=/[0-9\xB2\xB3\xB9\u06F0-\u06F9\u2070\u2074-\u2079\u2080-\u2089\u2488-\u249B\uFF10-\uFF19\u{102E1}-\u{102FB}\u{1D7CE}-\u{1D7FF}\u{1F100}-\u{1F10A}\u{1FBF0}-\u{1FBF9}]/u,wS=/[\u0600-\u0605\u0660-\u0669\u066B\u066C\u06DD\u0890\u0891\u08E2\u{10D30}-\u{10D39}\u{10E60}-\u{10E7E}]/u,DS=/^[\0-\x08\x0E-\x1B!-\x84\x86-\u0377\u037A-\u037F\u0384-\u038A\u038C\u038E-\u03A1\u03A3-\u052F\u0531-\u0556\u0559-\u058A\u058D-\u058F\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0606\u0607\u0609\u060A\u060C\u060E-\u061A\u064B-\u065F\u066A\u0670\u06D6-\u06DC\u06DE-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07F6-\u07F9\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A76\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AF1\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B77\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BFA\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C77-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4F\u0D54-\u0D63\u0D66-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E3A\u0E3F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FDA\u1000-\u10C5\u10C7\u10CD\u10D0-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u137C\u1380-\u1399\u13A0-\u13F5\u13F8-\u13FD\u1400-\u167F\u1681-\u169C\u16A0-\u16F8\u1700-\u1715\u171F-\u1736\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17DD\u17E0-\u17E9\u17F0-\u17F9\u1800-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1940\u1944-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u19DE-\u1A1B\u1A1E-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1AB0-\u1ACE\u1B00-\u1B4C\u1B50-\u1B7E\u1B80-\u1BF3\u1BFC-\u1C37\u1C3B-\u1C49\u1C4D-\u1C88\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD0-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u200B-\u200E\u2010-\u2027\u202F-\u205E\u2060-\u2064\u206A-\u2071\u2074-\u208E\u2090-\u209C\u20A0-\u20C0\u20D0-\u20F0\u2100-\u218B\u2190-\u2426\u2440-\u244A\u2460-\u2B73\u2B76-\u2B95\u2B97-\u2CF3\u2CF9-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2E5D\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303F\u3041-\u3096\u3099-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31E3\u31F0-\u321E\u3220-\uA48C\uA490-\uA4C6\uA4D0-\uA62B\uA640-\uA6F7\uA700-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA82C\uA830-\uA839\uA840-\uA877\uA880-\uA8C5\uA8CE-\uA8D9\uA8E0-\uA953\uA95F-\uA97C\uA980-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA5C-\uAAC2\uAADB-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB6B\uAB70-\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1E\uFB29\uFD3E-\uFD4F\uFDCF\uFDFD-\uFE19\uFE20-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFEFF\uFF01-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}-\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1018E}\u{10190}-\u{1019C}\u{101A0}\u{101D0}-\u{101FD}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{102E0}-\u{102FB}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{1037A}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{1091F}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10B39}-\u{10B3F}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11000}-\u{1104D}\u{11052}-\u{11075}\u{1107F}-\u{110C2}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11100}-\u{11134}\u{11136}-\u{11147}\u{11150}-\u{11176}\u{11180}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{11241}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112EA}\u{112F0}-\u{112F9}\u{11300}-\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133B}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11400}-\u{1145B}\u{1145D}-\u{11461}\u{11480}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B5}\u{115B8}-\u{115DD}\u{11600}-\u{11644}\u{11650}-\u{11659}\u{11660}-\u{1166C}\u{11680}-\u{116B9}\u{116C0}-\u{116C9}\u{11700}-\u{1171A}\u{1171D}-\u{1172B}\u{11730}-\u{11746}\u{11800}-\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D7}\u{119DA}-\u{119E4}\u{11A00}-\u{11A47}\u{11A50}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C36}\u{11C38}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D47}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF8}\u{11F00}-\u{11F10}\u{11F12}-\u{11F3A}\u{11F3E}-\u{11F59}\u{11FB0}\u{11FC0}-\u{11FF1}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{13455}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF0}-\u{16AF5}\u{16B00}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F4F}-\u{16F87}\u{16F8F}-\u{16F9F}\u{16FE0}-\u{16FE4}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18D00}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D1EA}\u{1D200}-\u{1D245}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D300}-\u{1D356}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D7CB}\u{1D7CE}-\u{1DA8B}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E030}-\u{1E06D}\u{1E08F}\u{1E100}-\u{1E12C}\u{1E130}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AE}\u{1E2C0}-\u{1E2F9}\u{1E2FF}\u{1E4D0}-\u{1E4F9}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{1EEF0}\u{1EEF1}\u{1F000}-\u{1F02B}\u{1F030}-\u{1F093}\u{1F0A0}-\u{1F0AE}\u{1F0B1}-\u{1F0BF}\u{1F0C1}-\u{1F0CF}\u{1F0D1}-\u{1F0F5}\u{1F100}-\u{1F1AD}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{1F260}-\u{1F265}\u{1F300}-\u{1F6D7}\u{1F6DC}-\u{1F6EC}\u{1F6F0}-\u{1F6FC}\u{1F700}-\u{1F776}\u{1F77B}-\u{1F7D9}\u{1F7E0}-\u{1F7EB}\u{1F7F0}\u{1F800}-\u{1F80B}\u{1F810}-\u{1F847}\u{1F850}-\u{1F859}\u{1F860}-\u{1F887}\u{1F890}-\u{1F8AD}\u{1F8B0}\u{1F8B1}\u{1F900}-\u{1FA53}\u{1FA60}-\u{1FA6D}\u{1FA70}-\u{1FA7C}\u{1FA80}-\u{1FA88}\u{1FA90}-\u{1FABD}\u{1FABF}-\u{1FAC5}\u{1FACE}-\u{1FADB}\u{1FAE0}-\u{1FAE8}\u{1FAF0}-\u{1FAF8}\u{1FB00}-\u{1FB92}\u{1FB94}-\u{1FBCA}\u{1FBF0}-\u{1FBF9}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}]*$/u,_S=/[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02BB-\u02C1\u02D0\u02D1\u02E0-\u02E4\u02EE\u0370-\u0373\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0482\u048A-\u052F\u0531-\u0556\u0559-\u0589\u06F0-\u06F9\u0903-\u0939\u093B\u093D-\u0940\u0949-\u094C\u094E-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C0\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09FA\u09FC\u09FD\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A40\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A76\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC0\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0\u0AE1\u0AE6-\u0AF0\u0AF9\u0B02\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0BE6-\u0BF2\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C41-\u0C44\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C77\u0C7F\u0C80\u0C82-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D02-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D4F\u0D54-\u0D61\u0D66-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E4F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F17\u0F1A-\u0F34\u0F36\u0F38\u0F3E-\u0F47\u0F49-\u0F6C\u0F7F\u0F85\u0F88-\u0F8C\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE-\u0FDA\u1000-\u102C\u1031\u1038\u103B\u103C\u103F-\u1057\u105A-\u105D\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108C\u108E-\u109C\u109E-\u10C5\u10C7\u10CD\u10D0-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1360-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u167F\u1681-\u169A\u16A0-\u16F8\u1700-\u1711\u1715\u171F-\u1731\u1734-\u1736\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17B6\u17BE-\u17C5\u17C7\u17C8\u17D4-\u17DA\u17DC\u17E0-\u17E9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A19\u1A1A\u1A1E-\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1A80-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1B04-\u1B33\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B4C\u1B50-\u1B6A\u1B74-\u1B7E\u1B82-\u1BA1\u1BA6\u1BA7\u1BAA\u1BAE-\u1BE5\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1BFC-\u1C2B\u1C34\u1C35\u1C3B-\u1C49\u1C4D-\u1C88\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF7\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200E\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u214F\u2160-\u2188\u2336-\u237A\u2395\u2488-\u24E9\u26AC\u2800-\u28FF\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u302E\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31BF\u31F0-\u321C\u3220-\u324F\u3260-\u327B\u327F-\u32B0\u32C0-\u32CB\u32D0-\u3376\u337B-\u33DD\u33E0-\u33FE\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA60C\uA610-\uA62B\uA640-\uA66E\uA680-\uA69D\uA6A0-\uA6EF\uA6F2-\uA6F7\uA722-\uA787\uA789-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA824\uA827\uA830-\uA837\uA840-\uA873\uA880-\uA8C3\uA8CE-\uA8D9\uA8F2-\uA8FE\uA900-\uA925\uA92E-\uA946\uA952\uA953\uA95F-\uA97C\uA983-\uA9B2\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA2F\uAA30\uAA33\uAA34\uAA40-\uAA42\uAA44-\uAA4B\uAA4D\uAA50-\uAA59\uAA5C-\uAA7B\uAA7D-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAAEB\uAAEE-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB69\uAB70-\uABE4\uABE6\uABE7\uABE9-\uABEC\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1013F}\u{1018D}\u{1018E}\u{101D0}-\u{101FC}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{102E1}-\u{102FB}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{11000}\u{11002}-\u{11037}\u{11047}-\u{1104D}\u{11066}-\u{1106F}\u{11071}\u{11072}\u{11075}\u{11082}-\u{110B2}\u{110B7}\u{110B8}\u{110BB}-\u{110C1}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11103}-\u{11126}\u{1112C}\u{11136}-\u{11147}\u{11150}-\u{11172}\u{11174}-\u{11176}\u{11182}-\u{111B5}\u{111BF}-\u{111C8}\u{111CD}\u{111CE}\u{111D0}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{1122E}\u{11232}\u{11233}\u{11235}\u{11238}-\u{1123D}\u{1123F}\u{11240}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112DE}\u{112E0}-\u{112E2}\u{112F0}-\u{112F9}\u{11302}\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}-\u{1133F}\u{11341}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11400}-\u{11437}\u{11440}\u{11441}\u{11445}\u{11447}-\u{1145B}\u{1145D}\u{1145F}-\u{11461}\u{11480}-\u{114B2}\u{114B9}\u{114BB}-\u{114BE}\u{114C1}\u{114C4}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B1}\u{115B8}-\u{115BB}\u{115BE}\u{115C1}-\u{115DB}\u{11600}-\u{11632}\u{1163B}\u{1163C}\u{1163E}\u{11641}-\u{11644}\u{11650}-\u{11659}\u{11680}-\u{116AA}\u{116AC}\u{116AE}\u{116AF}\u{116B6}\u{116B8}\u{116B9}\u{116C0}-\u{116C9}\u{11700}-\u{1171A}\u{11720}\u{11721}\u{11726}\u{11730}-\u{11746}\u{11800}-\u{1182E}\u{11838}\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193D}\u{1193F}-\u{11942}\u{11944}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D3}\u{119DC}-\u{119DF}\u{119E1}-\u{119E4}\u{11A00}\u{11A07}\u{11A08}\u{11A0B}-\u{11A32}\u{11A39}\u{11A3A}\u{11A3F}-\u{11A46}\u{11A50}\u{11A57}\u{11A58}\u{11A5C}-\u{11A89}\u{11A97}\u{11A9A}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2F}\u{11C3E}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11CA9}\u{11CB1}\u{11CB4}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D93}\u{11D94}\u{11D96}\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF2}\u{11EF5}-\u{11EF8}\u{11F02}-\u{11F10}\u{11F12}-\u{11F35}\u{11F3E}\u{11F3F}\u{11F41}\u{11F43}-\u{11F59}\u{11FB0}\u{11FC0}-\u{11FD4}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{1343F}\u{13441}-\u{13446}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF5}\u{16B00}-\u{16B2F}\u{16B37}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F50}-\u{16F87}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{16FE3}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18D00}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}\u{1BC9F}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D166}\u{1D16A}-\u{1D172}\u{1D183}\u{1D184}\u{1D18C}-\u{1D1A9}\u{1D1AE}-\u{1D1E8}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6DA}\u{1D6DC}-\u{1D714}\u{1D716}-\u{1D74E}\u{1D750}-\u{1D788}\u{1D78A}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1D7CE}-\u{1D9FF}\u{1DA37}-\u{1DA3A}\u{1DA6D}-\u{1DA74}\u{1DA76}-\u{1DA83}\u{1DA85}-\u{1DA8B}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E030}-\u{1E06D}\u{1E100}-\u{1E12C}\u{1E137}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AD}\u{1E2C0}-\u{1E2EB}\u{1E2F0}-\u{1E2F9}\u{1E4D0}-\u{1E4EB}\u{1E4F0}-\u{1E4F9}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1F100}-\u{1F10A}\u{1F110}-\u{1F12E}\u{1F130}-\u{1F169}\u{1F170}-\u{1F1AC}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{1FBF0}-\u{1FBF9}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}][\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]*$/u;y4.exports={combiningMarks:pS,combiningClassVirama:mS,validZWNJ:ES,bidiDomain:AS,bidiS1LTR:gS,bidiS1RTL:CS,bidiS2:yS,bidiS3:SS,bidiS4EN:OS,bidiS4AN:wS,bidiS5:DS,bidiS6:_S}});var O4=m((hN,BS)=>{BS.exports=[[[0,44],4],[[45,46],2],[47,4],[[48,57],2],[[58,64],4],[65,1,"a"],[66,1,"b"],[67,1,"c"],[68,1,"d"],[69,1,"e"],[70,1,"f"],[71,1,"g"],[72,1,"h"],[73,1,"i"],[74,1,"j"],[75,1,"k"],[76,1,"l"],[77,1,"m"],[78,1,"n"],[79,1,"o"],[80,1,"p"],[81,1,"q"],[82,1,"r"],[83,1,"s"],[84,1,"t"],[85,1,"u"],[86,1,"v"],[87,1,"w"],[88,1,"x"],[89,1,"y"],[90,1,"z"],[[91,96],4],[[97,122],2],[[123,127],4],[[128,159],3],[160,5," "],[[161,167],2],[168,5," \u0308"],[169,2],[170,1,"a"],[[171,172],2],[173,7],[174,2],[175,5," \u0304"],[[176,177],2],[178,1,"2"],[179,1,"3"],[180,5," \u0301"],[181,1,"\u03BC"],[182,2],[183,2],[184,5," \u0327"],[185,1,"1"],[186,1,"o"],[187,2],[188,1,"1\u20444"],[189,1,"1\u20442"],[190,1,"3\u20444"],[191,2],[192,1,"\xE0"],[193,1,"\xE1"],[194,1,"\xE2"],[195,1,"\xE3"],[196,1,"\xE4"],[197,1,"\xE5"],[198,1,"\xE6"],[199,1,"\xE7"],[200,1,"\xE8"],[201,1,"\xE9"],[202,1,"\xEA"],[203,1,"\xEB"],[204,1,"\xEC"],[205,1,"\xED"],[206,1,"\xEE"],[207,1,"\xEF"],[208,1,"\xF0"],[209,1,"\xF1"],[210,1,"\xF2"],[211,1,"\xF3"],[212,1,"\xF4"],[213,1,"\xF5"],[214,1,"\xF6"],[215,2],[216,1,"\xF8"],[217,1,"\xF9"],[218,1,"\xFA"],[219,1,"\xFB"],[220,1,"\xFC"],[221,1,"\xFD"],[222,1,"\xFE"],[223,6,"ss"],[[224,246],2],[247,2],[[248,255],2],[256,1,"\u0101"],[257,2],[258,1,"\u0103"],[259,2],[260,1,"\u0105"],[261,2],[262,1,"\u0107"],[263,2],[264,1,"\u0109"],[265,2],[266,1,"\u010B"],[267,2],[268,1,"\u010D"],[269,2],[270,1,"\u010F"],[271,2],[272,1,"\u0111"],[273,2],[274,1,"\u0113"],[275,2],[276,1,"\u0115"],[277,2],[278,1,"\u0117"],[279,2],[280,1,"\u0119"],[281,2],[282,1,"\u011B"],[283,2],[284,1,"\u011D"],[285,2],[286,1,"\u011F"],[287,2],[288,1,"\u0121"],[289,2],[290,1,"\u0123"],[291,2],[292,1,"\u0125"],[293,2],[294,1,"\u0127"],[295,2],[296,1,"\u0129"],[297,2],[298,1,"\u012B"],[299,2],[300,1,"\u012D"],[301,2],[302,1,"\u012F"],[303,2],[304,1,"i\u0307"],[305,2],[[306,307],1,"ij"],[308,1,"\u0135"],[309,2],[310,1,"\u0137"],[[311,312],2],[313,1,"\u013A"],[314,2],[315,1,"\u013C"],[316,2],[317,1,"\u013E"],[318,2],[[319,320],1,"l\xB7"],[321,1,"\u0142"],[322,2],[323,1,"\u0144"],[324,2],[325,1,"\u0146"],[326,2],[327,1,"\u0148"],[328,2],[329,1,"\u02BCn"],[330,1,"\u014B"],[331,2],[332,1,"\u014D"],[333,2],[334,1,"\u014F"],[335,2],[336,1,"\u0151"],[337,2],[338,1,"\u0153"],[339,2],[340,1,"\u0155"],[341,2],[342,1,"\u0157"],[343,2],[344,1,"\u0159"],[345,2],[346,1,"\u015B"],[347,2],[348,1,"\u015D"],[349,2],[350,1,"\u015F"],[351,2],[352,1,"\u0161"],[353,2],[354,1,"\u0163"],[355,2],[356,1,"\u0165"],[357,2],[358,1,"\u0167"],[359,2],[360,1,"\u0169"],[361,2],[362,1,"\u016B"],[363,2],[364,1,"\u016D"],[365,2],[366,1,"\u016F"],[367,2],[368,1,"\u0171"],[369,2],[370,1,"\u0173"],[371,2],[372,1,"\u0175"],[373,2],[374,1,"\u0177"],[375,2],[376,1,"\xFF"],[377,1,"\u017A"],[378,2],[379,1,"\u017C"],[380,2],[381,1,"\u017E"],[382,2],[383,1,"s"],[384,2],[385,1,"\u0253"],[386,1,"\u0183"],[387,2],[388,1,"\u0185"],[389,2],[390,1,"\u0254"],[391,1,"\u0188"],[392,2],[393,1,"\u0256"],[394,1,"\u0257"],[395,1,"\u018C"],[[396,397],2],[398,1,"\u01DD"],[399,1,"\u0259"],[400,1,"\u025B"],[401,1,"\u0192"],[402,2],[403,1,"\u0260"],[404,1,"\u0263"],[405,2],[406,1,"\u0269"],[407,1,"\u0268"],[408,1,"\u0199"],[[409,411],2],[412,1,"\u026F"],[413,1,"\u0272"],[414,2],[415,1,"\u0275"],[416,1,"\u01A1"],[417,2],[418,1,"\u01A3"],[419,2],[420,1,"\u01A5"],[421,2],[422,1,"\u0280"],[423,1,"\u01A8"],[424,2],[425,1,"\u0283"],[[426,427],2],[428,1,"\u01AD"],[429,2],[430,1,"\u0288"],[431,1,"\u01B0"],[432,2],[433,1,"\u028A"],[434,1,"\u028B"],[435,1,"\u01B4"],[436,2],[437,1,"\u01B6"],[438,2],[439,1,"\u0292"],[440,1,"\u01B9"],[[441,443],2],[444,1,"\u01BD"],[[445,451],2],[[452,454],1,"d\u017E"],[[455,457],1,"lj"],[[458,460],1,"nj"],[461,1,"\u01CE"],[462,2],[463,1,"\u01D0"],[464,2],[465,1,"\u01D2"],[466,2],[467,1,"\u01D4"],[468,2],[469,1,"\u01D6"],[470,2],[471,1,"\u01D8"],[472,2],[473,1,"\u01DA"],[474,2],[475,1,"\u01DC"],[[476,477],2],[478,1,"\u01DF"],[479,2],[480,1,"\u01E1"],[481,2],[482,1,"\u01E3"],[483,2],[484,1,"\u01E5"],[485,2],[486,1,"\u01E7"],[487,2],[488,1,"\u01E9"],[489,2],[490,1,"\u01EB"],[491,2],[492,1,"\u01ED"],[493,2],[494,1,"\u01EF"],[[495,496],2],[[497,499],1,"dz"],[500,1,"\u01F5"],[501,2],[502,1,"\u0195"],[503,1,"\u01BF"],[504,1,"\u01F9"],[505,2],[506,1,"\u01FB"],[507,2],[508,1,"\u01FD"],[509,2],[510,1,"\u01FF"],[511,2],[512,1,"\u0201"],[513,2],[514,1,"\u0203"],[515,2],[516,1,"\u0205"],[517,2],[518,1,"\u0207"],[519,2],[520,1,"\u0209"],[521,2],[522,1,"\u020B"],[523,2],[524,1,"\u020D"],[525,2],[526,1,"\u020F"],[527,2],[528,1,"\u0211"],[529,2],[530,1,"\u0213"],[531,2],[532,1,"\u0215"],[533,2],[534,1,"\u0217"],[535,2],[536,1,"\u0219"],[537,2],[538,1,"\u021B"],[539,2],[540,1,"\u021D"],[541,2],[542,1,"\u021F"],[543,2],[544,1,"\u019E"],[545,2],[546,1,"\u0223"],[547,2],[548,1,"\u0225"],[549,2],[550,1,"\u0227"],[551,2],[552,1,"\u0229"],[553,2],[554,1,"\u022B"],[555,2],[556,1,"\u022D"],[557,2],[558,1,"\u022F"],[559,2],[560,1,"\u0231"],[561,2],[562,1,"\u0233"],[563,2],[[564,566],2],[[567,569],2],[570,1,"\u2C65"],[571,1,"\u023C"],[572,2],[573,1,"\u019A"],[574,1,"\u2C66"],[[575,576],2],[577,1,"\u0242"],[578,2],[579,1,"\u0180"],[580,1,"\u0289"],[581,1,"\u028C"],[582,1,"\u0247"],[583,2],[584,1,"\u0249"],[585,2],[586,1,"\u024B"],[587,2],[588,1,"\u024D"],[589,2],[590,1,"\u024F"],[591,2],[[592,680],2],[[681,685],2],[[686,687],2],[688,1,"h"],[689,1,"\u0266"],[690,1,"j"],[691,1,"r"],[692,1,"\u0279"],[693,1,"\u027B"],[694,1,"\u0281"],[695,1,"w"],[696,1,"y"],[[697,705],2],[[706,709],2],[[710,721],2],[[722,727],2],[728,5," \u0306"],[729,5," \u0307"],[730,5," \u030A"],[731,5," \u0328"],[732,5," \u0303"],[733,5," \u030B"],[734,2],[735,2],[736,1,"\u0263"],[737,1,"l"],[738,1,"s"],[739,1,"x"],[740,1,"\u0295"],[[741,745],2],[[746,747],2],[748,2],[749,2],[750,2],[[751,767],2],[[768,831],2],[832,1,"\u0300"],[833,1,"\u0301"],[834,2],[835,1,"\u0313"],[836,1,"\u0308\u0301"],[837,1,"\u03B9"],[[838,846],2],[847,7],[[848,855],2],[[856,860],2],[[861,863],2],[[864,865],2],[866,2],[[867,879],2],[880,1,"\u0371"],[881,2],[882,1,"\u0373"],[883,2],[884,1,"\u02B9"],[885,2],[886,1,"\u0377"],[887,2],[[888,889],3],[890,5," \u03B9"],[[891,893],2],[894,5,";"],[895,1,"\u03F3"],[[896,899],3],[900,5," \u0301"],[901,5," \u0308\u0301"],[902,1,"\u03AC"],[903,1,"\xB7"],[904,1,"\u03AD"],[905,1,"\u03AE"],[906,1,"\u03AF"],[907,3],[908,1,"\u03CC"],[909,3],[910,1,"\u03CD"],[911,1,"\u03CE"],[912,2],[913,1,"\u03B1"],[914,1,"\u03B2"],[915,1,"\u03B3"],[916,1,"\u03B4"],[917,1,"\u03B5"],[918,1,"\u03B6"],[919,1,"\u03B7"],[920,1,"\u03B8"],[921,1,"\u03B9"],[922,1,"\u03BA"],[923,1,"\u03BB"],[924,1,"\u03BC"],[925,1,"\u03BD"],[926,1,"\u03BE"],[927,1,"\u03BF"],[928,1,"\u03C0"],[929,1,"\u03C1"],[930,3],[931,1,"\u03C3"],[932,1,"\u03C4"],[933,1,"\u03C5"],[934,1,"\u03C6"],[935,1,"\u03C7"],[936,1,"\u03C8"],[937,1,"\u03C9"],[938,1,"\u03CA"],[939,1,"\u03CB"],[[940,961],2],[962,6,"\u03C3"],[[963,974],2],[975,1,"\u03D7"],[976,1,"\u03B2"],[977,1,"\u03B8"],[978,1,"\u03C5"],[979,1,"\u03CD"],[980,1,"\u03CB"],[981,1,"\u03C6"],[982,1,"\u03C0"],[983,2],[984,1,"\u03D9"],[985,2],[986,1,"\u03DB"],[987,2],[988,1,"\u03DD"],[989,2],[990,1,"\u03DF"],[991,2],[992,1,"\u03E1"],[993,2],[994,1,"\u03E3"],[995,2],[996,1,"\u03E5"],[997,2],[998,1,"\u03E7"],[999,2],[1e3,1,"\u03E9"],[1001,2],[1002,1,"\u03EB"],[1003,2],[1004,1,"\u03ED"],[1005,2],[1006,1,"\u03EF"],[1007,2],[1008,1,"\u03BA"],[1009,1,"\u03C1"],[1010,1,"\u03C3"],[1011,2],[1012,1,"\u03B8"],[1013,1,"\u03B5"],[1014,2],[1015,1,"\u03F8"],[1016,2],[1017,1,"\u03C3"],[1018,1,"\u03FB"],[1019,2],[1020,2],[1021,1,"\u037B"],[1022,1,"\u037C"],[1023,1,"\u037D"],[1024,1,"\u0450"],[1025,1,"\u0451"],[1026,1,"\u0452"],[1027,1,"\u0453"],[1028,1,"\u0454"],[1029,1,"\u0455"],[1030,1,"\u0456"],[1031,1,"\u0457"],[1032,1,"\u0458"],[1033,1,"\u0459"],[1034,1,"\u045A"],[1035,1,"\u045B"],[1036,1,"\u045C"],[1037,1,"\u045D"],[1038,1,"\u045E"],[1039,1,"\u045F"],[1040,1,"\u0430"],[1041,1,"\u0431"],[1042,1,"\u0432"],[1043,1,"\u0433"],[1044,1,"\u0434"],[1045,1,"\u0435"],[1046,1,"\u0436"],[1047,1,"\u0437"],[1048,1,"\u0438"],[1049,1,"\u0439"],[1050,1,"\u043A"],[1051,1,"\u043B"],[1052,1,"\u043C"],[1053,1,"\u043D"],[1054,1,"\u043E"],[1055,1,"\u043F"],[1056,1,"\u0440"],[1057,1,"\u0441"],[1058,1,"\u0442"],[1059,1,"\u0443"],[1060,1,"\u0444"],[1061,1,"\u0445"],[1062,1,"\u0446"],[1063,1,"\u0447"],[1064,1,"\u0448"],[1065,1,"\u0449"],[1066,1,"\u044A"],[1067,1,"\u044B"],[1068,1,"\u044C"],[1069,1,"\u044D"],[1070,1,"\u044E"],[1071,1,"\u044F"],[[1072,1103],2],[1104,2],[[1105,1116],2],[1117,2],[[1118,1119],2],[1120,1,"\u0461"],[1121,2],[1122,1,"\u0463"],[1123,2],[1124,1,"\u0465"],[1125,2],[1126,1,"\u0467"],[1127,2],[1128,1,"\u0469"],[1129,2],[1130,1,"\u046B"],[1131,2],[1132,1,"\u046D"],[1133,2],[1134,1,"\u046F"],[1135,2],[1136,1,"\u0471"],[1137,2],[1138,1,"\u0473"],[1139,2],[1140,1,"\u0475"],[1141,2],[1142,1,"\u0477"],[1143,2],[1144,1,"\u0479"],[1145,2],[1146,1,"\u047B"],[1147,2],[1148,1,"\u047D"],[1149,2],[1150,1,"\u047F"],[1151,2],[1152,1,"\u0481"],[1153,2],[1154,2],[[1155,1158],2],[1159,2],[[1160,1161],2],[1162,1,"\u048B"],[1163,2],[1164,1,"\u048D"],[1165,2],[1166,1,"\u048F"],[1167,2],[1168,1,"\u0491"],[1169,2],[1170,1,"\u0493"],[1171,2],[1172,1,"\u0495"],[1173,2],[1174,1,"\u0497"],[1175,2],[1176,1,"\u0499"],[1177,2],[1178,1,"\u049B"],[1179,2],[1180,1,"\u049D"],[1181,2],[1182,1,"\u049F"],[1183,2],[1184,1,"\u04A1"],[1185,2],[1186,1,"\u04A3"],[1187,2],[1188,1,"\u04A5"],[1189,2],[1190,1,"\u04A7"],[1191,2],[1192,1,"\u04A9"],[1193,2],[1194,1,"\u04AB"],[1195,2],[1196,1,"\u04AD"],[1197,2],[1198,1,"\u04AF"],[1199,2],[1200,1,"\u04B1"],[1201,2],[1202,1,"\u04B3"],[1203,2],[1204,1,"\u04B5"],[1205,2],[1206,1,"\u04B7"],[1207,2],[1208,1,"\u04B9"],[1209,2],[1210,1,"\u04BB"],[1211,2],[1212,1,"\u04BD"],[1213,2],[1214,1,"\u04BF"],[1215,2],[1216,3],[1217,1,"\u04C2"],[1218,2],[1219,1,"\u04C4"],[1220,2],[1221,1,"\u04C6"],[1222,2],[1223,1,"\u04C8"],[1224,2],[1225,1,"\u04CA"],[1226,2],[1227,1,"\u04CC"],[1228,2],[1229,1,"\u04CE"],[1230,2],[1231,2],[1232,1,"\u04D1"],[1233,2],[1234,1,"\u04D3"],[1235,2],[1236,1,"\u04D5"],[1237,2],[1238,1,"\u04D7"],[1239,2],[1240,1,"\u04D9"],[1241,2],[1242,1,"\u04DB"],[1243,2],[1244,1,"\u04DD"],[1245,2],[1246,1,"\u04DF"],[1247,2],[1248,1,"\u04E1"],[1249,2],[1250,1,"\u04E3"],[1251,2],[1252,1,"\u04E5"],[1253,2],[1254,1,"\u04E7"],[1255,2],[1256,1,"\u04E9"],[1257,2],[1258,1,"\u04EB"],[1259,2],[1260,1,"\u04ED"],[1261,2],[1262,1,"\u04EF"],[1263,2],[1264,1,"\u04F1"],[1265,2],[1266,1,"\u04F3"],[1267,2],[1268,1,"\u04F5"],[1269,2],[1270,1,"\u04F7"],[1271,2],[1272,1,"\u04F9"],[1273,2],[1274,1,"\u04FB"],[1275,2],[1276,1,"\u04FD"],[1277,2],[1278,1,"\u04FF"],[1279,2],[1280,1,"\u0501"],[1281,2],[1282,1,"\u0503"],[1283,2],[1284,1,"\u0505"],[1285,2],[1286,1,"\u0507"],[1287,2],[1288,1,"\u0509"],[1289,2],[1290,1,"\u050B"],[1291,2],[1292,1,"\u050D"],[1293,2],[1294,1,"\u050F"],[1295,2],[1296,1,"\u0511"],[1297,2],[1298,1,"\u0513"],[1299,2],[1300,1,"\u0515"],[1301,2],[1302,1,"\u0517"],[1303,2],[1304,1,"\u0519"],[1305,2],[1306,1,"\u051B"],[1307,2],[1308,1,"\u051D"],[1309,2],[1310,1,"\u051F"],[1311,2],[1312,1,"\u0521"],[1313,2],[1314,1,"\u0523"],[1315,2],[1316,1,"\u0525"],[1317,2],[1318,1,"\u0527"],[1319,2],[1320,1,"\u0529"],[1321,2],[1322,1,"\u052B"],[1323,2],[1324,1,"\u052D"],[1325,2],[1326,1,"\u052F"],[1327,2],[1328,3],[1329,1,"\u0561"],[1330,1,"\u0562"],[1331,1,"\u0563"],[1332,1,"\u0564"],[1333,1,"\u0565"],[1334,1,"\u0566"],[1335,1,"\u0567"],[1336,1,"\u0568"],[1337,1,"\u0569"],[1338,1,"\u056A"],[1339,1,"\u056B"],[1340,1,"\u056C"],[1341,1,"\u056D"],[1342,1,"\u056E"],[1343,1,"\u056F"],[1344,1,"\u0570"],[1345,1,"\u0571"],[1346,1,"\u0572"],[1347,1,"\u0573"],[1348,1,"\u0574"],[1349,1,"\u0575"],[1350,1,"\u0576"],[1351,1,"\u0577"],[1352,1,"\u0578"],[1353,1,"\u0579"],[1354,1,"\u057A"],[1355,1,"\u057B"],[1356,1,"\u057C"],[1357,1,"\u057D"],[1358,1,"\u057E"],[1359,1,"\u057F"],[1360,1,"\u0580"],[1361,1,"\u0581"],[1362,1,"\u0582"],[1363,1,"\u0583"],[1364,1,"\u0584"],[1365,1,"\u0585"],[1366,1,"\u0586"],[[1367,1368],3],[1369,2],[[1370,1375],2],[1376,2],[[1377,1414],2],[1415,1,"\u0565\u0582"],[1416,2],[1417,2],[1418,2],[[1419,1420],3],[[1421,1422],2],[1423,2],[1424,3],[[1425,1441],2],[1442,2],[[1443,1455],2],[[1456,1465],2],[1466,2],[[1467,1469],2],[1470,2],[1471,2],[1472,2],[[1473,1474],2],[1475,2],[1476,2],[1477,2],[1478,2],[1479,2],[[1480,1487],3],[[1488,1514],2],[[1515,1518],3],[1519,2],[[1520,1524],2],[[1525,1535],3],[[1536,1539],3],[1540,3],[1541,3],[[1542,1546],2],[1547,2],[1548,2],[[1549,1551],2],[[1552,1557],2],[[1558,1562],2],[1563,2],[1564,3],[1565,2],[1566,2],[1567,2],[1568,2],[[1569,1594],2],[[1595,1599],2],[1600,2],[[1601,1618],2],[[1619,1621],2],[[1622,1624],2],[[1625,1630],2],[1631,2],[[1632,1641],2],[[1642,1645],2],[[1646,1647],2],[[1648,1652],2],[1653,1,"\u0627\u0674"],[1654,1,"\u0648\u0674"],[1655,1,"\u06C7\u0674"],[1656,1,"\u064A\u0674"],[[1657,1719],2],[[1720,1721],2],[[1722,1726],2],[1727,2],[[1728,1742],2],[1743,2],[[1744,1747],2],[1748,2],[[1749,1756],2],[1757,3],[1758,2],[[1759,1768],2],[1769,2],[[1770,1773],2],[[1774,1775],2],[[1776,1785],2],[[1786,1790],2],[1791,2],[[1792,1805],2],[1806,3],[1807,3],[[1808,1836],2],[[1837,1839],2],[[1840,1866],2],[[1867,1868],3],[[1869,1871],2],[[1872,1901],2],[[1902,1919],2],[[1920,1968],2],[1969,2],[[1970,1983],3],[[1984,2037],2],[[2038,2042],2],[[2043,2044],3],[2045,2],[[2046,2047],2],[[2048,2093],2],[[2094,2095],3],[[2096,2110],2],[2111,3],[[2112,2139],2],[[2140,2141],3],[2142,2],[2143,3],[[2144,2154],2],[[2155,2159],3],[[2160,2183],2],[2184,2],[[2185,2190],2],[2191,3],[[2192,2193],3],[[2194,2199],3],[[2200,2207],2],[2208,2],[2209,2],[[2210,2220],2],[[2221,2226],2],[[2227,2228],2],[2229,2],[[2230,2237],2],[[2238,2247],2],[[2248,2258],2],[2259,2],[[2260,2273],2],[2274,3],[2275,2],[[2276,2302],2],[2303,2],[2304,2],[[2305,2307],2],[2308,2],[[2309,2361],2],[[2362,2363],2],[[2364,2381],2],[2382,2],[2383,2],[[2384,2388],2],[2389,2],[[2390,2391],2],[2392,1,"\u0915\u093C"],[2393,1,"\u0916\u093C"],[2394,1,"\u0917\u093C"],[2395,1,"\u091C\u093C"],[2396,1,"\u0921\u093C"],[2397,1,"\u0922\u093C"],[2398,1,"\u092B\u093C"],[2399,1,"\u092F\u093C"],[[2400,2403],2],[[2404,2405],2],[[2406,2415],2],[2416,2],[[2417,2418],2],[[2419,2423],2],[2424,2],[[2425,2426],2],[[2427,2428],2],[2429,2],[[2430,2431],2],[2432,2],[[2433,2435],2],[2436,3],[[2437,2444],2],[[2445,2446],3],[[2447,2448],2],[[2449,2450],3],[[2451,2472],2],[2473,3],[[2474,2480],2],[2481,3],[2482,2],[[2483,2485],3],[[2486,2489],2],[[2490,2491],3],[2492,2],[2493,2],[[2494,2500],2],[[2501,2502],3],[[2503,2504],2],[[2505,2506],3],[[2507,2509],2],[2510,2],[[2511,2518],3],[2519,2],[[2520,2523],3],[2524,1,"\u09A1\u09BC"],[2525,1,"\u09A2\u09BC"],[2526,3],[2527,1,"\u09AF\u09BC"],[[2528,2531],2],[[2532,2533],3],[[2534,2545],2],[[2546,2554],2],[2555,2],[2556,2],[2557,2],[2558,2],[[2559,2560],3],[2561,2],[2562,2],[2563,2],[2564,3],[[2565,2570],2],[[2571,2574],3],[[2575,2576],2],[[2577,2578],3],[[2579,2600],2],[2601,3],[[2602,2608],2],[2609,3],[2610,2],[2611,1,"\u0A32\u0A3C"],[2612,3],[2613,2],[2614,1,"\u0A38\u0A3C"],[2615,3],[[2616,2617],2],[[2618,2619],3],[2620,2],[2621,3],[[2622,2626],2],[[2627,2630],3],[[2631,2632],2],[[2633,2634],3],[[2635,2637],2],[[2638,2640],3],[2641,2],[[2642,2648],3],[2649,1,"\u0A16\u0A3C"],[2650,1,"\u0A17\u0A3C"],[2651,1,"\u0A1C\u0A3C"],[2652,2],[2653,3],[2654,1,"\u0A2B\u0A3C"],[[2655,2661],3],[[2662,2676],2],[2677,2],[2678,2],[[2679,2688],3],[[2689,2691],2],[2692,3],[[2693,2699],2],[2700,2],[2701,2],[2702,3],[[2703,2705],2],[2706,3],[[2707,2728],2],[2729,3],[[2730,2736],2],[2737,3],[[2738,2739],2],[2740,3],[[2741,2745],2],[[2746,2747],3],[[2748,2757],2],[2758,3],[[2759,2761],2],[2762,3],[[2763,2765],2],[[2766,2767],3],[2768,2],[[2769,2783],3],[2784,2],[[2785,2787],2],[[2788,2789],3],[[2790,2799],2],[2800,2],[2801,2],[[2802,2808],3],[2809,2],[[2810,2815],2],[2816,3],[[2817,2819],2],[2820,3],[[2821,2828],2],[[2829,2830],3],[[2831,2832],2],[[2833,2834],3],[[2835,2856],2],[2857,3],[[2858,2864],2],[2865,3],[[2866,2867],2],[2868,3],[2869,2],[[2870,2873],2],[[2874,2875],3],[[2876,2883],2],[2884,2],[[2885,2886],3],[[2887,2888],2],[[2889,2890],3],[[2891,2893],2],[[2894,2900],3],[2901,2],[[2902,2903],2],[[2904,2907],3],[2908,1,"\u0B21\u0B3C"],[2909,1,"\u0B22\u0B3C"],[2910,3],[[2911,2913],2],[[2914,2915],2],[[2916,2917],3],[[2918,2927],2],[2928,2],[2929,2],[[2930,2935],2],[[2936,2945],3],[[2946,2947],2],[2948,3],[[2949,2954],2],[[2955,2957],3],[[2958,2960],2],[2961,3],[[2962,2965],2],[[2966,2968],3],[[2969,2970],2],[2971,3],[2972,2],[2973,3],[[2974,2975],2],[[2976,2978],3],[[2979,2980],2],[[2981,2983],3],[[2984,2986],2],[[2987,2989],3],[[2990,2997],2],[2998,2],[[2999,3001],2],[[3002,3005],3],[[3006,3010],2],[[3011,3013],3],[[3014,3016],2],[3017,3],[[3018,3021],2],[[3022,3023],3],[3024,2],[[3025,3030],3],[3031,2],[[3032,3045],3],[3046,2],[[3047,3055],2],[[3056,3058],2],[[3059,3066],2],[[3067,3071],3],[3072,2],[[3073,3075],2],[3076,2],[[3077,3084],2],[3085,3],[[3086,3088],2],[3089,3],[[3090,3112],2],[3113,3],[[3114,3123],2],[3124,2],[[3125,3129],2],[[3130,3131],3],[3132,2],[3133,2],[[3134,3140],2],[3141,3],[[3142,3144],2],[3145,3],[[3146,3149],2],[[3150,3156],3],[[3157,3158],2],[3159,3],[[3160,3161],2],[3162,2],[[3163,3164],3],[3165,2],[[3166,3167],3],[[3168,3169],2],[[3170,3171],2],[[3172,3173],3],[[3174,3183],2],[[3184,3190],3],[3191,2],[[3192,3199],2],[3200,2],[3201,2],[[3202,3203],2],[3204,2],[[3205,3212],2],[3213,3],[[3214,3216],2],[3217,3],[[3218,3240],2],[3241,3],[[3242,3251],2],[3252,3],[[3253,3257],2],[[3258,3259],3],[[3260,3261],2],[[3262,3268],2],[3269,3],[[3270,3272],2],[3273,3],[[3274,3277],2],[[3278,3284],3],[[3285,3286],2],[[3287,3292],3],[3293,2],[3294,2],[3295,3],[[3296,3297],2],[[3298,3299],2],[[3300,3301],3],[[3302,3311],2],[3312,3],[[3313,3314],2],[3315,2],[[3316,3327],3],[3328,2],[3329,2],[[3330,3331],2],[3332,2],[[3333,3340],2],[3341,3],[[3342,3344],2],[3345,3],[[3346,3368],2],[3369,2],[[3370,3385],2],[3386,2],[[3387,3388],2],[3389,2],[[3390,3395],2],[3396,2],[3397,3],[[3398,3400],2],[3401,3],[[3402,3405],2],[3406,2],[3407,2],[[3408,3411],3],[[3412,3414],2],[3415,2],[[3416,3422],2],[3423,2],[[3424,3425],2],[[3426,3427],2],[[3428,3429],3],[[3430,3439],2],[[3440,3445],2],[[3446,3448],2],[3449,2],[[3450,3455],2],[3456,3],[3457,2],[[3458,3459],2],[3460,3],[[3461,3478],2],[[3479,3481],3],[[3482,3505],2],[3506,3],[[3507,3515],2],[3516,3],[3517,2],[[3518,3519],3],[[3520,3526],2],[[3527,3529],3],[3530,2],[[3531,3534],3],[[3535,3540],2],[3541,3],[3542,2],[3543,3],[[3544,3551],2],[[3552,3557],3],[[3558,3567],2],[[3568,3569],3],[[3570,3571],2],[3572,2],[[3573,3584],3],[[3585,3634],2],[3635,1,"\u0E4D\u0E32"],[[3636,3642],2],[[3643,3646],3],[3647,2],[[3648,3662],2],[3663,2],[[3664,3673],2],[[3674,3675],2],[[3676,3712],3],[[3713,3714],2],[3715,3],[3716,2],[3717,3],[3718,2],[[3719,3720],2],[3721,2],[3722,2],[3723,3],[3724,2],[3725,2],[[3726,3731],2],[[3732,3735],2],[3736,2],[[3737,3743],2],[3744,2],[[3745,3747],2],[3748,3],[3749,2],[3750,3],[3751,2],[[3752,3753],2],[[3754,3755],2],[3756,2],[[3757,3762],2],[3763,1,"\u0ECD\u0EB2"],[[3764,3769],2],[3770,2],[[3771,3773],2],[[3774,3775],3],[[3776,3780],2],[3781,3],[3782,2],[3783,3],[[3784,3789],2],[3790,2],[3791,3],[[3792,3801],2],[[3802,3803],3],[3804,1,"\u0EAB\u0E99"],[3805,1,"\u0EAB\u0EA1"],[[3806,3807],2],[[3808,3839],3],[3840,2],[[3841,3850],2],[3851,2],[3852,1,"\u0F0B"],[[3853,3863],2],[[3864,3865],2],[[3866,3871],2],[[3872,3881],2],[[3882,3892],2],[3893,2],[3894,2],[3895,2],[3896,2],[3897,2],[[3898,3901],2],[[3902,3906],2],[3907,1,"\u0F42\u0FB7"],[[3908,3911],2],[3912,3],[[3913,3916],2],[3917,1,"\u0F4C\u0FB7"],[[3918,3921],2],[3922,1,"\u0F51\u0FB7"],[[3923,3926],2],[3927,1,"\u0F56\u0FB7"],[[3928,3931],2],[3932,1,"\u0F5B\u0FB7"],[[3933,3944],2],[3945,1,"\u0F40\u0FB5"],[3946,2],[[3947,3948],2],[[3949,3952],3],[[3953,3954],2],[3955,1,"\u0F71\u0F72"],[3956,2],[3957,1,"\u0F71\u0F74"],[3958,1,"\u0FB2\u0F80"],[3959,1,"\u0FB2\u0F71\u0F80"],[3960,1,"\u0FB3\u0F80"],[3961,1,"\u0FB3\u0F71\u0F80"],[[3962,3968],2],[3969,1,"\u0F71\u0F80"],[[3970,3972],2],[3973,2],[[3974,3979],2],[[3980,3983],2],[[3984,3986],2],[3987,1,"\u0F92\u0FB7"],[[3988,3989],2],[3990,2],[3991,2],[3992,3],[[3993,3996],2],[3997,1,"\u0F9C\u0FB7"],[[3998,4001],2],[4002,1,"\u0FA1\u0FB7"],[[4003,4006],2],[4007,1,"\u0FA6\u0FB7"],[[4008,4011],2],[4012,1,"\u0FAB\u0FB7"],[4013,2],[[4014,4016],2],[[4017,4023],2],[4024,2],[4025,1,"\u0F90\u0FB5"],[[4026,4028],2],[4029,3],[[4030,4037],2],[4038,2],[[4039,4044],2],[4045,3],[4046,2],[4047,2],[[4048,4049],2],[[4050,4052],2],[[4053,4056],2],[[4057,4058],2],[[4059,4095],3],[[4096,4129],2],[4130,2],[[4131,4135],2],[4136,2],[[4137,4138],2],[4139,2],[[4140,4146],2],[[4147,4149],2],[[4150,4153],2],[[4154,4159],2],[[4160,4169],2],[[4170,4175],2],[[4176,4185],2],[[4186,4249],2],[[4250,4253],2],[[4254,4255],2],[[4256,4293],3],[4294,3],[4295,1,"\u2D27"],[[4296,4300],3],[4301,1,"\u2D2D"],[[4302,4303],3],[[4304,4342],2],[[4343,4344],2],[[4345,4346],2],[4347,2],[4348,1,"\u10DC"],[[4349,4351],2],[[4352,4441],2],[[4442,4446],2],[[4447,4448],3],[[4449,4514],2],[[4515,4519],2],[[4520,4601],2],[[4602,4607],2],[[4608,4614],2],[4615,2],[[4616,4678],2],[4679,2],[4680,2],[4681,3],[[4682,4685],2],[[4686,4687],3],[[4688,4694],2],[4695,3],[4696,2],[4697,3],[[4698,4701],2],[[4702,4703],3],[[4704,4742],2],[4743,2],[4744,2],[4745,3],[[4746,4749],2],[[4750,4751],3],[[4752,4782],2],[4783,2],[4784,2],[4785,3],[[4786,4789],2],[[4790,4791],3],[[4792,4798],2],[4799,3],[4800,2],[4801,3],[[4802,4805],2],[[4806,4807],3],[[4808,4814],2],[4815,2],[[4816,4822],2],[4823,3],[[4824,4846],2],[4847,2],[[4848,4878],2],[4879,2],[4880,2],[4881,3],[[4882,4885],2],[[4886,4887],3],[[4888,4894],2],[4895,2],[[4896,4934],2],[4935,2],[[4936,4954],2],[[4955,4956],3],[[4957,4958],2],[4959,2],[4960,2],[[4961,4988],2],[[4989,4991],3],[[4992,5007],2],[[5008,5017],2],[[5018,5023],3],[[5024,5108],2],[5109,2],[[5110,5111],3],[5112,1,"\u13F0"],[5113,1,"\u13F1"],[5114,1,"\u13F2"],[5115,1,"\u13F3"],[5116,1,"\u13F4"],[5117,1,"\u13F5"],[[5118,5119],3],[5120,2],[[5121,5740],2],[[5741,5742],2],[[5743,5750],2],[[5751,5759],2],[5760,3],[[5761,5786],2],[[5787,5788],2],[[5789,5791],3],[[5792,5866],2],[[5867,5872],2],[[5873,5880],2],[[5881,5887],3],[[5888,5900],2],[5901,2],[[5902,5908],2],[5909,2],[[5910,5918],3],[5919,2],[[5920,5940],2],[[5941,5942],2],[[5943,5951],3],[[5952,5971],2],[[5972,5983],3],[[5984,5996],2],[5997,3],[[5998,6e3],2],[6001,3],[[6002,6003],2],[[6004,6015],3],[[6016,6067],2],[[6068,6069],3],[[6070,6099],2],[[6100,6102],2],[6103,2],[[6104,6107],2],[6108,2],[6109,2],[[6110,6111],3],[[6112,6121],2],[[6122,6127],3],[[6128,6137],2],[[6138,6143],3],[[6144,6149],2],[6150,3],[[6151,6154],2],[[6155,6157],7],[6158,3],[6159,7],[[6160,6169],2],[[6170,6175],3],[[6176,6263],2],[6264,2],[[6265,6271],3],[[6272,6313],2],[6314,2],[[6315,6319],3],[[6320,6389],2],[[6390,6399],3],[[6400,6428],2],[[6429,6430],2],[6431,3],[[6432,6443],2],[[6444,6447],3],[[6448,6459],2],[[6460,6463],3],[6464,2],[[6465,6467],3],[[6468,6469],2],[[6470,6509],2],[[6510,6511],3],[[6512,6516],2],[[6517,6527],3],[[6528,6569],2],[[6570,6571],2],[[6572,6575],3],[[6576,6601],2],[[6602,6607],3],[[6608,6617],2],[6618,2],[[6619,6621],3],[[6622,6623],2],[[6624,6655],2],[[6656,6683],2],[[6684,6685],3],[[6686,6687],2],[[6688,6750],2],[6751,3],[[6752,6780],2],[[6781,6782],3],[[6783,6793],2],[[6794,6799],3],[[6800,6809],2],[[6810,6815],3],[[6816,6822],2],[6823,2],[[6824,6829],2],[[6830,6831],3],[[6832,6845],2],[6846,2],[[6847,6848],2],[[6849,6862],2],[[6863,6911],3],[[6912,6987],2],[6988,2],[[6989,6991],3],[[6992,7001],2],[[7002,7018],2],[[7019,7027],2],[[7028,7036],2],[[7037,7038],2],[7039,3],[[7040,7082],2],[[7083,7085],2],[[7086,7097],2],[[7098,7103],2],[[7104,7155],2],[[7156,7163],3],[[7164,7167],2],[[7168,7223],2],[[7224,7226],3],[[7227,7231],2],[[7232,7241],2],[[7242,7244],3],[[7245,7293],2],[[7294,7295],2],[7296,1,"\u0432"],[7297,1,"\u0434"],[7298,1,"\u043E"],[7299,1,"\u0441"],[[7300,7301],1,"\u0442"],[7302,1,"\u044A"],[7303,1,"\u0463"],[7304,1,"\uA64B"],[[7305,7311],3],[7312,1,"\u10D0"],[7313,1,"\u10D1"],[7314,1,"\u10D2"],[7315,1,"\u10D3"],[7316,1,"\u10D4"],[7317,1,"\u10D5"],[7318,1,"\u10D6"],[7319,1,"\u10D7"],[7320,1,"\u10D8"],[7321,1,"\u10D9"],[7322,1,"\u10DA"],[7323,1,"\u10DB"],[7324,1,"\u10DC"],[7325,1,"\u10DD"],[7326,1,"\u10DE"],[7327,1,"\u10DF"],[7328,1,"\u10E0"],[7329,1,"\u10E1"],[7330,1,"\u10E2"],[7331,1,"\u10E3"],[7332,1,"\u10E4"],[7333,1,"\u10E5"],[7334,1,"\u10E6"],[7335,1,"\u10E7"],[7336,1,"\u10E8"],[7337,1,"\u10E9"],[7338,1,"\u10EA"],[7339,1,"\u10EB"],[7340,1,"\u10EC"],[7341,1,"\u10ED"],[7342,1,"\u10EE"],[7343,1,"\u10EF"],[7344,1,"\u10F0"],[7345,1,"\u10F1"],[7346,1,"\u10F2"],[7347,1,"\u10F3"],[7348,1,"\u10F4"],[7349,1,"\u10F5"],[7350,1,"\u10F6"],[7351,1,"\u10F7"],[7352,1,"\u10F8"],[7353,1,"\u10F9"],[7354,1,"\u10FA"],[[7355,7356],3],[7357,1,"\u10FD"],[7358,1,"\u10FE"],[7359,1,"\u10FF"],[[7360,7367],2],[[7368,7375],3],[[7376,7378],2],[7379,2],[[7380,7410],2],[[7411,7414],2],[7415,2],[[7416,7417],2],[7418,2],[[7419,7423],3],[[7424,7467],2],[7468,1,"a"],[7469,1,"\xE6"],[7470,1,"b"],[7471,2],[7472,1,"d"],[7473,1,"e"],[7474,1,"\u01DD"],[7475,1,"g"],[7476,1,"h"],[7477,1,"i"],[7478,1,"j"],[7479,1,"k"],[7480,1,"l"],[7481,1,"m"],[7482,1,"n"],[7483,2],[7484,1,"o"],[7485,1,"\u0223"],[7486,1,"p"],[7487,1,"r"],[7488,1,"t"],[7489,1,"u"],[7490,1,"w"],[7491,1,"a"],[7492,1,"\u0250"],[7493,1,"\u0251"],[7494,1,"\u1D02"],[7495,1,"b"],[7496,1,"d"],[7497,1,"e"],[7498,1,"\u0259"],[7499,1,"\u025B"],[7500,1,"\u025C"],[7501,1,"g"],[7502,2],[7503,1,"k"],[7504,1,"m"],[7505,1,"\u014B"],[7506,1,"o"],[7507,1,"\u0254"],[7508,1,"\u1D16"],[7509,1,"\u1D17"],[7510,1,"p"],[7511,1,"t"],[7512,1,"u"],[7513,1,"\u1D1D"],[7514,1,"\u026F"],[7515,1,"v"],[7516,1,"\u1D25"],[7517,1,"\u03B2"],[7518,1,"\u03B3"],[7519,1,"\u03B4"],[7520,1,"\u03C6"],[7521,1,"\u03C7"],[7522,1,"i"],[7523,1,"r"],[7524,1,"u"],[7525,1,"v"],[7526,1,"\u03B2"],[7527,1,"\u03B3"],[7528,1,"\u03C1"],[7529,1,"\u03C6"],[7530,1,"\u03C7"],[7531,2],[[7532,7543],2],[7544,1,"\u043D"],[[7545,7578],2],[7579,1,"\u0252"],[7580,1,"c"],[7581,1,"\u0255"],[7582,1,"\xF0"],[7583,1,"\u025C"],[7584,1,"f"],[7585,1,"\u025F"],[7586,1,"\u0261"],[7587,1,"\u0265"],[7588,1,"\u0268"],[7589,1,"\u0269"],[7590,1,"\u026A"],[7591,1,"\u1D7B"],[7592,1,"\u029D"],[7593,1,"\u026D"],[7594,1,"\u1D85"],[7595,1,"\u029F"],[7596,1,"\u0271"],[7597,1,"\u0270"],[7598,1,"\u0272"],[7599,1,"\u0273"],[7600,1,"\u0274"],[7601,1,"\u0275"],[7602,1,"\u0278"],[7603,1,"\u0282"],[7604,1,"\u0283"],[7605,1,"\u01AB"],[7606,1,"\u0289"],[7607,1,"\u028A"],[7608,1,"\u1D1C"],[7609,1,"\u028B"],[7610,1,"\u028C"],[7611,1,"z"],[7612,1,"\u0290"],[7613,1,"\u0291"],[7614,1,"\u0292"],[7615,1,"\u03B8"],[[7616,7619],2],[[7620,7626],2],[[7627,7654],2],[[7655,7669],2],[[7670,7673],2],[7674,2],[7675,2],[7676,2],[7677,2],[[7678,7679],2],[7680,1,"\u1E01"],[7681,2],[7682,1,"\u1E03"],[7683,2],[7684,1,"\u1E05"],[7685,2],[7686,1,"\u1E07"],[7687,2],[7688,1,"\u1E09"],[7689,2],[7690,1,"\u1E0B"],[7691,2],[7692,1,"\u1E0D"],[7693,2],[7694,1,"\u1E0F"],[7695,2],[7696,1,"\u1E11"],[7697,2],[7698,1,"\u1E13"],[7699,2],[7700,1,"\u1E15"],[7701,2],[7702,1,"\u1E17"],[7703,2],[7704,1,"\u1E19"],[7705,2],[7706,1,"\u1E1B"],[7707,2],[7708,1,"\u1E1D"],[7709,2],[7710,1,"\u1E1F"],[7711,2],[7712,1,"\u1E21"],[7713,2],[7714,1,"\u1E23"],[7715,2],[7716,1,"\u1E25"],[7717,2],[7718,1,"\u1E27"],[7719,2],[7720,1,"\u1E29"],[7721,2],[7722,1,"\u1E2B"],[7723,2],[7724,1,"\u1E2D"],[7725,2],[7726,1,"\u1E2F"],[7727,2],[7728,1,"\u1E31"],[7729,2],[7730,1,"\u1E33"],[7731,2],[7732,1,"\u1E35"],[7733,2],[7734,1,"\u1E37"],[7735,2],[7736,1,"\u1E39"],[7737,2],[7738,1,"\u1E3B"],[7739,2],[7740,1,"\u1E3D"],[7741,2],[7742,1,"\u1E3F"],[7743,2],[7744,1,"\u1E41"],[7745,2],[7746,1,"\u1E43"],[7747,2],[7748,1,"\u1E45"],[7749,2],[7750,1,"\u1E47"],[7751,2],[7752,1,"\u1E49"],[7753,2],[7754,1,"\u1E4B"],[7755,2],[7756,1,"\u1E4D"],[7757,2],[7758,1,"\u1E4F"],[7759,2],[7760,1,"\u1E51"],[7761,2],[7762,1,"\u1E53"],[7763,2],[7764,1,"\u1E55"],[7765,2],[7766,1,"\u1E57"],[7767,2],[7768,1,"\u1E59"],[7769,2],[7770,1,"\u1E5B"],[7771,2],[7772,1,"\u1E5D"],[7773,2],[7774,1,"\u1E5F"],[7775,2],[7776,1,"\u1E61"],[7777,2],[7778,1,"\u1E63"],[7779,2],[7780,1,"\u1E65"],[7781,2],[7782,1,"\u1E67"],[7783,2],[7784,1,"\u1E69"],[7785,2],[7786,1,"\u1E6B"],[7787,2],[7788,1,"\u1E6D"],[7789,2],[7790,1,"\u1E6F"],[7791,2],[7792,1,"\u1E71"],[7793,2],[7794,1,"\u1E73"],[7795,2],[7796,1,"\u1E75"],[7797,2],[7798,1,"\u1E77"],[7799,2],[7800,1,"\u1E79"],[7801,2],[7802,1,"\u1E7B"],[7803,2],[7804,1,"\u1E7D"],[7805,2],[7806,1,"\u1E7F"],[7807,2],[7808,1,"\u1E81"],[7809,2],[7810,1,"\u1E83"],[7811,2],[7812,1,"\u1E85"],[7813,2],[7814,1,"\u1E87"],[7815,2],[7816,1,"\u1E89"],[7817,2],[7818,1,"\u1E8B"],[7819,2],[7820,1,"\u1E8D"],[7821,2],[7822,1,"\u1E8F"],[7823,2],[7824,1,"\u1E91"],[7825,2],[7826,1,"\u1E93"],[7827,2],[7828,1,"\u1E95"],[[7829,7833],2],[7834,1,"a\u02BE"],[7835,1,"\u1E61"],[[7836,7837],2],[7838,1,"ss"],[7839,2],[7840,1,"\u1EA1"],[7841,2],[7842,1,"\u1EA3"],[7843,2],[7844,1,"\u1EA5"],[7845,2],[7846,1,"\u1EA7"],[7847,2],[7848,1,"\u1EA9"],[7849,2],[7850,1,"\u1EAB"],[7851,2],[7852,1,"\u1EAD"],[7853,2],[7854,1,"\u1EAF"],[7855,2],[7856,1,"\u1EB1"],[7857,2],[7858,1,"\u1EB3"],[7859,2],[7860,1,"\u1EB5"],[7861,2],[7862,1,"\u1EB7"],[7863,2],[7864,1,"\u1EB9"],[7865,2],[7866,1,"\u1EBB"],[7867,2],[7868,1,"\u1EBD"],[7869,2],[7870,1,"\u1EBF"],[7871,2],[7872,1,"\u1EC1"],[7873,2],[7874,1,"\u1EC3"],[7875,2],[7876,1,"\u1EC5"],[7877,2],[7878,1,"\u1EC7"],[7879,2],[7880,1,"\u1EC9"],[7881,2],[7882,1,"\u1ECB"],[7883,2],[7884,1,"\u1ECD"],[7885,2],[7886,1,"\u1ECF"],[7887,2],[7888,1,"\u1ED1"],[7889,2],[7890,1,"\u1ED3"],[7891,2],[7892,1,"\u1ED5"],[7893,2],[7894,1,"\u1ED7"],[7895,2],[7896,1,"\u1ED9"],[7897,2],[7898,1,"\u1EDB"],[7899,2],[7900,1,"\u1EDD"],[7901,2],[7902,1,"\u1EDF"],[7903,2],[7904,1,"\u1EE1"],[7905,2],[7906,1,"\u1EE3"],[7907,2],[7908,1,"\u1EE5"],[7909,2],[7910,1,"\u1EE7"],[7911,2],[7912,1,"\u1EE9"],[7913,2],[7914,1,"\u1EEB"],[7915,2],[7916,1,"\u1EED"],[7917,2],[7918,1,"\u1EEF"],[7919,2],[7920,1,"\u1EF1"],[7921,2],[7922,1,"\u1EF3"],[7923,2],[7924,1,"\u1EF5"],[7925,2],[7926,1,"\u1EF7"],[7927,2],[7928,1,"\u1EF9"],[7929,2],[7930,1,"\u1EFB"],[7931,2],[7932,1,"\u1EFD"],[7933,2],[7934,1,"\u1EFF"],[7935,2],[[7936,7943],2],[7944,1,"\u1F00"],[7945,1,"\u1F01"],[7946,1,"\u1F02"],[7947,1,"\u1F03"],[7948,1,"\u1F04"],[7949,1,"\u1F05"],[7950,1,"\u1F06"],[7951,1,"\u1F07"],[[7952,7957],2],[[7958,7959],3],[7960,1,"\u1F10"],[7961,1,"\u1F11"],[7962,1,"\u1F12"],[7963,1,"\u1F13"],[7964,1,"\u1F14"],[7965,1,"\u1F15"],[[7966,7967],3],[[7968,7975],2],[7976,1,"\u1F20"],[7977,1,"\u1F21"],[7978,1,"\u1F22"],[7979,1,"\u1F23"],[7980,1,"\u1F24"],[7981,1,"\u1F25"],[7982,1,"\u1F26"],[7983,1,"\u1F27"],[[7984,7991],2],[7992,1,"\u1F30"],[7993,1,"\u1F31"],[7994,1,"\u1F32"],[7995,1,"\u1F33"],[7996,1,"\u1F34"],[7997,1,"\u1F35"],[7998,1,"\u1F36"],[7999,1,"\u1F37"],[[8e3,8005],2],[[8006,8007],3],[8008,1,"\u1F40"],[8009,1,"\u1F41"],[8010,1,"\u1F42"],[8011,1,"\u1F43"],[8012,1,"\u1F44"],[8013,1,"\u1F45"],[[8014,8015],3],[[8016,8023],2],[8024,3],[8025,1,"\u1F51"],[8026,3],[8027,1,"\u1F53"],[8028,3],[8029,1,"\u1F55"],[8030,3],[8031,1,"\u1F57"],[[8032,8039],2],[8040,1,"\u1F60"],[8041,1,"\u1F61"],[8042,1,"\u1F62"],[8043,1,"\u1F63"],[8044,1,"\u1F64"],[8045,1,"\u1F65"],[8046,1,"\u1F66"],[8047,1,"\u1F67"],[8048,2],[8049,1,"\u03AC"],[8050,2],[8051,1,"\u03AD"],[8052,2],[8053,1,"\u03AE"],[8054,2],[8055,1,"\u03AF"],[8056,2],[8057,1,"\u03CC"],[8058,2],[8059,1,"\u03CD"],[8060,2],[8061,1,"\u03CE"],[[8062,8063],3],[8064,1,"\u1F00\u03B9"],[8065,1,"\u1F01\u03B9"],[8066,1,"\u1F02\u03B9"],[8067,1,"\u1F03\u03B9"],[8068,1,"\u1F04\u03B9"],[8069,1,"\u1F05\u03B9"],[8070,1,"\u1F06\u03B9"],[8071,1,"\u1F07\u03B9"],[8072,1,"\u1F00\u03B9"],[8073,1,"\u1F01\u03B9"],[8074,1,"\u1F02\u03B9"],[8075,1,"\u1F03\u03B9"],[8076,1,"\u1F04\u03B9"],[8077,1,"\u1F05\u03B9"],[8078,1,"\u1F06\u03B9"],[8079,1,"\u1F07\u03B9"],[8080,1,"\u1F20\u03B9"],[8081,1,"\u1F21\u03B9"],[8082,1,"\u1F22\u03B9"],[8083,1,"\u1F23\u03B9"],[8084,1,"\u1F24\u03B9"],[8085,1,"\u1F25\u03B9"],[8086,1,"\u1F26\u03B9"],[8087,1,"\u1F27\u03B9"],[8088,1,"\u1F20\u03B9"],[8089,1,"\u1F21\u03B9"],[8090,1,"\u1F22\u03B9"],[8091,1,"\u1F23\u03B9"],[8092,1,"\u1F24\u03B9"],[8093,1,"\u1F25\u03B9"],[8094,1,"\u1F26\u03B9"],[8095,1,"\u1F27\u03B9"],[8096,1,"\u1F60\u03B9"],[8097,1,"\u1F61\u03B9"],[8098,1,"\u1F62\u03B9"],[8099,1,"\u1F63\u03B9"],[8100,1,"\u1F64\u03B9"],[8101,1,"\u1F65\u03B9"],[8102,1,"\u1F66\u03B9"],[8103,1,"\u1F67\u03B9"],[8104,1,"\u1F60\u03B9"],[8105,1,"\u1F61\u03B9"],[8106,1,"\u1F62\u03B9"],[8107,1,"\u1F63\u03B9"],[8108,1,"\u1F64\u03B9"],[8109,1,"\u1F65\u03B9"],[8110,1,"\u1F66\u03B9"],[8111,1,"\u1F67\u03B9"],[[8112,8113],2],[8114,1,"\u1F70\u03B9"],[8115,1,"\u03B1\u03B9"],[8116,1,"\u03AC\u03B9"],[8117,3],[8118,2],[8119,1,"\u1FB6\u03B9"],[8120,1,"\u1FB0"],[8121,1,"\u1FB1"],[8122,1,"\u1F70"],[8123,1,"\u03AC"],[8124,1,"\u03B1\u03B9"],[8125,5," \u0313"],[8126,1,"\u03B9"],[8127,5," \u0313"],[8128,5," \u0342"],[8129,5," \u0308\u0342"],[8130,1,"\u1F74\u03B9"],[8131,1,"\u03B7\u03B9"],[8132,1,"\u03AE\u03B9"],[8133,3],[8134,2],[8135,1,"\u1FC6\u03B9"],[8136,1,"\u1F72"],[8137,1,"\u03AD"],[8138,1,"\u1F74"],[8139,1,"\u03AE"],[8140,1,"\u03B7\u03B9"],[8141,5," \u0313\u0300"],[8142,5," \u0313\u0301"],[8143,5," \u0313\u0342"],[[8144,8146],2],[8147,1,"\u0390"],[[8148,8149],3],[[8150,8151],2],[8152,1,"\u1FD0"],[8153,1,"\u1FD1"],[8154,1,"\u1F76"],[8155,1,"\u03AF"],[8156,3],[8157,5," \u0314\u0300"],[8158,5," \u0314\u0301"],[8159,5," \u0314\u0342"],[[8160,8162],2],[8163,1,"\u03B0"],[[8164,8167],2],[8168,1,"\u1FE0"],[8169,1,"\u1FE1"],[8170,1,"\u1F7A"],[8171,1,"\u03CD"],[8172,1,"\u1FE5"],[8173,5," \u0308\u0300"],[8174,5," \u0308\u0301"],[8175,5,"`"],[[8176,8177],3],[8178,1,"\u1F7C\u03B9"],[8179,1,"\u03C9\u03B9"],[8180,1,"\u03CE\u03B9"],[8181,3],[8182,2],[8183,1,"\u1FF6\u03B9"],[8184,1,"\u1F78"],[8185,1,"\u03CC"],[8186,1,"\u1F7C"],[8187,1,"\u03CE"],[8188,1,"\u03C9\u03B9"],[8189,5," \u0301"],[8190,5," \u0314"],[8191,3],[[8192,8202],5," "],[8203,7],[[8204,8205],6,""],[[8206,8207],3],[8208,2],[8209,1,"\u2010"],[[8210,8214],2],[8215,5," \u0333"],[[8216,8227],2],[[8228,8230],3],[8231,2],[[8232,8238],3],[8239,5," "],[[8240,8242],2],[8243,1,"\u2032\u2032"],[8244,1,"\u2032\u2032\u2032"],[8245,2],[8246,1,"\u2035\u2035"],[8247,1,"\u2035\u2035\u2035"],[[8248,8251],2],[8252,5,"!!"],[8253,2],[8254,5," \u0305"],[[8255,8262],2],[8263,5,"??"],[8264,5,"?!"],[8265,5,"!?"],[[8266,8269],2],[[8270,8274],2],[[8275,8276],2],[[8277,8278],2],[8279,1,"\u2032\u2032\u2032\u2032"],[[8280,8286],2],[8287,5," "],[8288,7],[[8289,8291],3],[8292,7],[8293,3],[[8294,8297],3],[[8298,8303],3],[8304,1,"0"],[8305,1,"i"],[[8306,8307],3],[8308,1,"4"],[8309,1,"5"],[8310,1,"6"],[8311,1,"7"],[8312,1,"8"],[8313,1,"9"],[8314,5,"+"],[8315,1,"\u2212"],[8316,5,"="],[8317,5,"("],[8318,5,")"],[8319,1,"n"],[8320,1,"0"],[8321,1,"1"],[8322,1,"2"],[8323,1,"3"],[8324,1,"4"],[8325,1,"5"],[8326,1,"6"],[8327,1,"7"],[8328,1,"8"],[8329,1,"9"],[8330,5,"+"],[8331,1,"\u2212"],[8332,5,"="],[8333,5,"("],[8334,5,")"],[8335,3],[8336,1,"a"],[8337,1,"e"],[8338,1,"o"],[8339,1,"x"],[8340,1,"\u0259"],[8341,1,"h"],[8342,1,"k"],[8343,1,"l"],[8344,1,"m"],[8345,1,"n"],[8346,1,"p"],[8347,1,"s"],[8348,1,"t"],[[8349,8351],3],[[8352,8359],2],[8360,1,"rs"],[[8361,8362],2],[8363,2],[8364,2],[[8365,8367],2],[[8368,8369],2],[[8370,8373],2],[[8374,8376],2],[8377,2],[8378,2],[[8379,8381],2],[8382,2],[8383,2],[8384,2],[[8385,8399],3],[[8400,8417],2],[[8418,8419],2],[[8420,8426],2],[8427,2],[[8428,8431],2],[8432,2],[[8433,8447],3],[8448,5,"a/c"],[8449,5,"a/s"],[8450,1,"c"],[8451,1,"\xB0c"],[8452,2],[8453,5,"c/o"],[8454,5,"c/u"],[8455,1,"\u025B"],[8456,2],[8457,1,"\xB0f"],[8458,1,"g"],[[8459,8462],1,"h"],[8463,1,"\u0127"],[[8464,8465],1,"i"],[[8466,8467],1,"l"],[8468,2],[8469,1,"n"],[8470,1,"no"],[[8471,8472],2],[8473,1,"p"],[8474,1,"q"],[[8475,8477],1,"r"],[[8478,8479],2],[8480,1,"sm"],[8481,1,"tel"],[8482,1,"tm"],[8483,2],[8484,1,"z"],[8485,2],[8486,1,"\u03C9"],[8487,2],[8488,1,"z"],[8489,2],[8490,1,"k"],[8491,1,"\xE5"],[8492,1,"b"],[8493,1,"c"],[8494,2],[[8495,8496],1,"e"],[8497,1,"f"],[8498,3],[8499,1,"m"],[8500,1,"o"],[8501,1,"\u05D0"],[8502,1,"\u05D1"],[8503,1,"\u05D2"],[8504,1,"\u05D3"],[8505,1,"i"],[8506,2],[8507,1,"fax"],[8508,1,"\u03C0"],[[8509,8510],1,"\u03B3"],[8511,1,"\u03C0"],[8512,1,"\u2211"],[[8513,8516],2],[[8517,8518],1,"d"],[8519,1,"e"],[8520,1,"i"],[8521,1,"j"],[[8522,8523],2],[8524,2],[8525,2],[8526,2],[8527,2],[8528,1,"1\u20447"],[8529,1,"1\u20449"],[8530,1,"1\u204410"],[8531,1,"1\u20443"],[8532,1,"2\u20443"],[8533,1,"1\u20445"],[8534,1,"2\u20445"],[8535,1,"3\u20445"],[8536,1,"4\u20445"],[8537,1,"1\u20446"],[8538,1,"5\u20446"],[8539,1,"1\u20448"],[8540,1,"3\u20448"],[8541,1,"5\u20448"],[8542,1,"7\u20448"],[8543,1,"1\u2044"],[8544,1,"i"],[8545,1,"ii"],[8546,1,"iii"],[8547,1,"iv"],[8548,1,"v"],[8549,1,"vi"],[8550,1,"vii"],[8551,1,"viii"],[8552,1,"ix"],[8553,1,"x"],[8554,1,"xi"],[8555,1,"xii"],[8556,1,"l"],[8557,1,"c"],[8558,1,"d"],[8559,1,"m"],[8560,1,"i"],[8561,1,"ii"],[8562,1,"iii"],[8563,1,"iv"],[8564,1,"v"],[8565,1,"vi"],[8566,1,"vii"],[8567,1,"viii"],[8568,1,"ix"],[8569,1,"x"],[8570,1,"xi"],[8571,1,"xii"],[8572,1,"l"],[8573,1,"c"],[8574,1,"d"],[8575,1,"m"],[[8576,8578],2],[8579,3],[8580,2],[[8581,8584],2],[8585,1,"0\u20443"],[[8586,8587],2],[[8588,8591],3],[[8592,8682],2],[[8683,8691],2],[[8692,8703],2],[[8704,8747],2],[8748,1,"\u222B\u222B"],[8749,1,"\u222B\u222B\u222B"],[8750,2],[8751,1,"\u222E\u222E"],[8752,1,"\u222E\u222E\u222E"],[[8753,8799],2],[8800,4],[[8801,8813],2],[[8814,8815],4],[[8816,8945],2],[[8946,8959],2],[8960,2],[8961,2],[[8962,9e3],2],[9001,1,"\u3008"],[9002,1,"\u3009"],[[9003,9082],2],[9083,2],[9084,2],[[9085,9114],2],[[9115,9166],2],[[9167,9168],2],[[9169,9179],2],[[9180,9191],2],[9192,2],[[9193,9203],2],[[9204,9210],2],[[9211,9214],2],[9215,2],[[9216,9252],2],[[9253,9254],2],[[9255,9279],3],[[9280,9290],2],[[9291,9311],3],[9312,1,"1"],[9313,1,"2"],[9314,1,"3"],[9315,1,"4"],[9316,1,"5"],[9317,1,"6"],[9318,1,"7"],[9319,1,"8"],[9320,1,"9"],[9321,1,"10"],[9322,1,"11"],[9323,1,"12"],[9324,1,"13"],[9325,1,"14"],[9326,1,"15"],[9327,1,"16"],[9328,1,"17"],[9329,1,"18"],[9330,1,"19"],[9331,1,"20"],[9332,5,"(1)"],[9333,5,"(2)"],[9334,5,"(3)"],[9335,5,"(4)"],[9336,5,"(5)"],[9337,5,"(6)"],[9338,5,"(7)"],[9339,5,"(8)"],[9340,5,"(9)"],[9341,5,"(10)"],[9342,5,"(11)"],[9343,5,"(12)"],[9344,5,"(13)"],[9345,5,"(14)"],[9346,5,"(15)"],[9347,5,"(16)"],[9348,5,"(17)"],[9349,5,"(18)"],[9350,5,"(19)"],[9351,5,"(20)"],[[9352,9371],3],[9372,5,"(a)"],[9373,5,"(b)"],[9374,5,"(c)"],[9375,5,"(d)"],[9376,5,"(e)"],[9377,5,"(f)"],[9378,5,"(g)"],[9379,5,"(h)"],[9380,5,"(i)"],[9381,5,"(j)"],[9382,5,"(k)"],[9383,5,"(l)"],[9384,5,"(m)"],[9385,5,"(n)"],[9386,5,"(o)"],[9387,5,"(p)"],[9388,5,"(q)"],[9389,5,"(r)"],[9390,5,"(s)"],[9391,5,"(t)"],[9392,5,"(u)"],[9393,5,"(v)"],[9394,5,"(w)"],[9395,5,"(x)"],[9396,5,"(y)"],[9397,5,"(z)"],[9398,1,"a"],[9399,1,"b"],[9400,1,"c"],[9401,1,"d"],[9402,1,"e"],[9403,1,"f"],[9404,1,"g"],[9405,1,"h"],[9406,1,"i"],[9407,1,"j"],[9408,1,"k"],[9409,1,"l"],[9410,1,"m"],[9411,1,"n"],[9412,1,"o"],[9413,1,"p"],[9414,1,"q"],[9415,1,"r"],[9416,1,"s"],[9417,1,"t"],[9418,1,"u"],[9419,1,"v"],[9420,1,"w"],[9421,1,"x"],[9422,1,"y"],[9423,1,"z"],[9424,1,"a"],[9425,1,"b"],[9426,1,"c"],[9427,1,"d"],[9428,1,"e"],[9429,1,"f"],[9430,1,"g"],[9431,1,"h"],[9432,1,"i"],[9433,1,"j"],[9434,1,"k"],[9435,1,"l"],[9436,1,"m"],[9437,1,"n"],[9438,1,"o"],[9439,1,"p"],[9440,1,"q"],[9441,1,"r"],[9442,1,"s"],[9443,1,"t"],[9444,1,"u"],[9445,1,"v"],[9446,1,"w"],[9447,1,"x"],[9448,1,"y"],[9449,1,"z"],[9450,1,"0"],[[9451,9470],2],[9471,2],[[9472,9621],2],[[9622,9631],2],[[9632,9711],2],[[9712,9719],2],[[9720,9727],2],[[9728,9747],2],[[9748,9749],2],[[9750,9751],2],[9752,2],[9753,2],[[9754,9839],2],[[9840,9841],2],[[9842,9853],2],[[9854,9855],2],[[9856,9865],2],[[9866,9873],2],[[9874,9884],2],[9885,2],[[9886,9887],2],[[9888,9889],2],[[9890,9905],2],[9906,2],[[9907,9916],2],[[9917,9919],2],[[9920,9923],2],[[9924,9933],2],[9934,2],[[9935,9953],2],[9954,2],[9955,2],[[9956,9959],2],[[9960,9983],2],[9984,2],[[9985,9988],2],[9989,2],[[9990,9993],2],[[9994,9995],2],[[9996,10023],2],[10024,2],[[10025,10059],2],[10060,2],[10061,2],[10062,2],[[10063,10066],2],[[10067,10069],2],[10070,2],[10071,2],[[10072,10078],2],[[10079,10080],2],[[10081,10087],2],[[10088,10101],2],[[10102,10132],2],[[10133,10135],2],[[10136,10159],2],[10160,2],[[10161,10174],2],[10175,2],[[10176,10182],2],[[10183,10186],2],[10187,2],[10188,2],[10189,2],[[10190,10191],2],[[10192,10219],2],[[10220,10223],2],[[10224,10239],2],[[10240,10495],2],[[10496,10763],2],[10764,1,"\u222B\u222B\u222B\u222B"],[[10765,10867],2],[10868,5,"::="],[10869,5,"=="],[10870,5,"==="],[[10871,10971],2],[10972,1,"\u2ADD\u0338"],[[10973,11007],2],[[11008,11021],2],[[11022,11027],2],[[11028,11034],2],[[11035,11039],2],[[11040,11043],2],[[11044,11084],2],[[11085,11087],2],[[11088,11092],2],[[11093,11097],2],[[11098,11123],2],[[11124,11125],3],[[11126,11157],2],[11158,3],[11159,2],[[11160,11193],2],[[11194,11196],2],[[11197,11208],2],[11209,2],[[11210,11217],2],[11218,2],[[11219,11243],2],[[11244,11247],2],[[11248,11262],2],[11263,2],[11264,1,"\u2C30"],[11265,1,"\u2C31"],[11266,1,"\u2C32"],[11267,1,"\u2C33"],[11268,1,"\u2C34"],[11269,1,"\u2C35"],[11270,1,"\u2C36"],[11271,1,"\u2C37"],[11272,1,"\u2C38"],[11273,1,"\u2C39"],[11274,1,"\u2C3A"],[11275,1,"\u2C3B"],[11276,1,"\u2C3C"],[11277,1,"\u2C3D"],[11278,1,"\u2C3E"],[11279,1,"\u2C3F"],[11280,1,"\u2C40"],[11281,1,"\u2C41"],[11282,1,"\u2C42"],[11283,1,"\u2C43"],[11284,1,"\u2C44"],[11285,1,"\u2C45"],[11286,1,"\u2C46"],[11287,1,"\u2C47"],[11288,1,"\u2C48"],[11289,1,"\u2C49"],[11290,1,"\u2C4A"],[11291,1,"\u2C4B"],[11292,1,"\u2C4C"],[11293,1,"\u2C4D"],[11294,1,"\u2C4E"],[11295,1,"\u2C4F"],[11296,1,"\u2C50"],[11297,1,"\u2C51"],[11298,1,"\u2C52"],[11299,1,"\u2C53"],[11300,1,"\u2C54"],[11301,1,"\u2C55"],[11302,1,"\u2C56"],[11303,1,"\u2C57"],[11304,1,"\u2C58"],[11305,1,"\u2C59"],[11306,1,"\u2C5A"],[11307,1,"\u2C5B"],[11308,1,"\u2C5C"],[11309,1,"\u2C5D"],[11310,1,"\u2C5E"],[11311,1,"\u2C5F"],[[11312,11358],2],[11359,2],[11360,1,"\u2C61"],[11361,2],[11362,1,"\u026B"],[11363,1,"\u1D7D"],[11364,1,"\u027D"],[[11365,11366],2],[11367,1,"\u2C68"],[11368,2],[11369,1,"\u2C6A"],[11370,2],[11371,1,"\u2C6C"],[11372,2],[11373,1,"\u0251"],[11374,1,"\u0271"],[11375,1,"\u0250"],[11376,1,"\u0252"],[11377,2],[11378,1,"\u2C73"],[11379,2],[11380,2],[11381,1,"\u2C76"],[[11382,11383],2],[[11384,11387],2],[11388,1,"j"],[11389,1,"v"],[11390,1,"\u023F"],[11391,1,"\u0240"],[11392,1,"\u2C81"],[11393,2],[11394,1,"\u2C83"],[11395,2],[11396,1,"\u2C85"],[11397,2],[11398,1,"\u2C87"],[11399,2],[11400,1,"\u2C89"],[11401,2],[11402,1,"\u2C8B"],[11403,2],[11404,1,"\u2C8D"],[11405,2],[11406,1,"\u2C8F"],[11407,2],[11408,1,"\u2C91"],[11409,2],[11410,1,"\u2C93"],[11411,2],[11412,1,"\u2C95"],[11413,2],[11414,1,"\u2C97"],[11415,2],[11416,1,"\u2C99"],[11417,2],[11418,1,"\u2C9B"],[11419,2],[11420,1,"\u2C9D"],[11421,2],[11422,1,"\u2C9F"],[11423,2],[11424,1,"\u2CA1"],[11425,2],[11426,1,"\u2CA3"],[11427,2],[11428,1,"\u2CA5"],[11429,2],[11430,1,"\u2CA7"],[11431,2],[11432,1,"\u2CA9"],[11433,2],[11434,1,"\u2CAB"],[11435,2],[11436,1,"\u2CAD"],[11437,2],[11438,1,"\u2CAF"],[11439,2],[11440,1,"\u2CB1"],[11441,2],[11442,1,"\u2CB3"],[11443,2],[11444,1,"\u2CB5"],[11445,2],[11446,1,"\u2CB7"],[11447,2],[11448,1,"\u2CB9"],[11449,2],[11450,1,"\u2CBB"],[11451,2],[11452,1,"\u2CBD"],[11453,2],[11454,1,"\u2CBF"],[11455,2],[11456,1,"\u2CC1"],[11457,2],[11458,1,"\u2CC3"],[11459,2],[11460,1,"\u2CC5"],[11461,2],[11462,1,"\u2CC7"],[11463,2],[11464,1,"\u2CC9"],[11465,2],[11466,1,"\u2CCB"],[11467,2],[11468,1,"\u2CCD"],[11469,2],[11470,1,"\u2CCF"],[11471,2],[11472,1,"\u2CD1"],[11473,2],[11474,1,"\u2CD3"],[11475,2],[11476,1,"\u2CD5"],[11477,2],[11478,1,"\u2CD7"],[11479,2],[11480,1,"\u2CD9"],[11481,2],[11482,1,"\u2CDB"],[11483,2],[11484,1,"\u2CDD"],[11485,2],[11486,1,"\u2CDF"],[11487,2],[11488,1,"\u2CE1"],[11489,2],[11490,1,"\u2CE3"],[[11491,11492],2],[[11493,11498],2],[11499,1,"\u2CEC"],[11500,2],[11501,1,"\u2CEE"],[[11502,11505],2],[11506,1,"\u2CF3"],[11507,2],[[11508,11512],3],[[11513,11519],2],[[11520,11557],2],[11558,3],[11559,2],[[11560,11564],3],[11565,2],[[11566,11567],3],[[11568,11621],2],[[11622,11623],2],[[11624,11630],3],[11631,1,"\u2D61"],[11632,2],[[11633,11646],3],[11647,2],[[11648,11670],2],[[11671,11679],3],[[11680,11686],2],[11687,3],[[11688,11694],2],[11695,3],[[11696,11702],2],[11703,3],[[11704,11710],2],[11711,3],[[11712,11718],2],[11719,3],[[11720,11726],2],[11727,3],[[11728,11734],2],[11735,3],[[11736,11742],2],[11743,3],[[11744,11775],2],[[11776,11799],2],[[11800,11803],2],[[11804,11805],2],[[11806,11822],2],[11823,2],[11824,2],[11825,2],[[11826,11835],2],[[11836,11842],2],[[11843,11844],2],[[11845,11849],2],[[11850,11854],2],[11855,2],[[11856,11858],2],[[11859,11869],2],[[11870,11903],3],[[11904,11929],2],[11930,3],[[11931,11934],2],[11935,1,"\u6BCD"],[[11936,12018],2],[12019,1,"\u9F9F"],[[12020,12031],3],[12032,1,"\u4E00"],[12033,1,"\u4E28"],[12034,1,"\u4E36"],[12035,1,"\u4E3F"],[12036,1,"\u4E59"],[12037,1,"\u4E85"],[12038,1,"\u4E8C"],[12039,1,"\u4EA0"],[12040,1,"\u4EBA"],[12041,1,"\u513F"],[12042,1,"\u5165"],[12043,1,"\u516B"],[12044,1,"\u5182"],[12045,1,"\u5196"],[12046,1,"\u51AB"],[12047,1,"\u51E0"],[12048,1,"\u51F5"],[12049,1,"\u5200"],[12050,1,"\u529B"],[12051,1,"\u52F9"],[12052,1,"\u5315"],[12053,1,"\u531A"],[12054,1,"\u5338"],[12055,1,"\u5341"],[12056,1,"\u535C"],[12057,1,"\u5369"],[12058,1,"\u5382"],[12059,1,"\u53B6"],[12060,1,"\u53C8"],[12061,1,"\u53E3"],[12062,1,"\u56D7"],[12063,1,"\u571F"],[12064,1,"\u58EB"],[12065,1,"\u5902"],[12066,1,"\u590A"],[12067,1,"\u5915"],[12068,1,"\u5927"],[12069,1,"\u5973"],[12070,1,"\u5B50"],[12071,1,"\u5B80"],[12072,1,"\u5BF8"],[12073,1,"\u5C0F"],[12074,1,"\u5C22"],[12075,1,"\u5C38"],[12076,1,"\u5C6E"],[12077,1,"\u5C71"],[12078,1,"\u5DDB"],[12079,1,"\u5DE5"],[12080,1,"\u5DF1"],[12081,1,"\u5DFE"],[12082,1,"\u5E72"],[12083,1,"\u5E7A"],[12084,1,"\u5E7F"],[12085,1,"\u5EF4"],[12086,1,"\u5EFE"],[12087,1,"\u5F0B"],[12088,1,"\u5F13"],[12089,1,"\u5F50"],[12090,1,"\u5F61"],[12091,1,"\u5F73"],[12092,1,"\u5FC3"],[12093,1,"\u6208"],[12094,1,"\u6236"],[12095,1,"\u624B"],[12096,1,"\u652F"],[12097,1,"\u6534"],[12098,1,"\u6587"],[12099,1,"\u6597"],[12100,1,"\u65A4"],[12101,1,"\u65B9"],[12102,1,"\u65E0"],[12103,1,"\u65E5"],[12104,1,"\u66F0"],[12105,1,"\u6708"],[12106,1,"\u6728"],[12107,1,"\u6B20"],[12108,1,"\u6B62"],[12109,1,"\u6B79"],[12110,1,"\u6BB3"],[12111,1,"\u6BCB"],[12112,1,"\u6BD4"],[12113,1,"\u6BDB"],[12114,1,"\u6C0F"],[12115,1,"\u6C14"],[12116,1,"\u6C34"],[12117,1,"\u706B"],[12118,1,"\u722A"],[12119,1,"\u7236"],[12120,1,"\u723B"],[12121,1,"\u723F"],[12122,1,"\u7247"],[12123,1,"\u7259"],[12124,1,"\u725B"],[12125,1,"\u72AC"],[12126,1,"\u7384"],[12127,1,"\u7389"],[12128,1,"\u74DC"],[12129,1,"\u74E6"],[12130,1,"\u7518"],[12131,1,"\u751F"],[12132,1,"\u7528"],[12133,1,"\u7530"],[12134,1,"\u758B"],[12135,1,"\u7592"],[12136,1,"\u7676"],[12137,1,"\u767D"],[12138,1,"\u76AE"],[12139,1,"\u76BF"],[12140,1,"\u76EE"],[12141,1,"\u77DB"],[12142,1,"\u77E2"],[12143,1,"\u77F3"],[12144,1,"\u793A"],[12145,1,"\u79B8"],[12146,1,"\u79BE"],[12147,1,"\u7A74"],[12148,1,"\u7ACB"],[12149,1,"\u7AF9"],[12150,1,"\u7C73"],[12151,1,"\u7CF8"],[12152,1,"\u7F36"],[12153,1,"\u7F51"],[12154,1,"\u7F8A"],[12155,1,"\u7FBD"],[12156,1,"\u8001"],[12157,1,"\u800C"],[12158,1,"\u8012"],[12159,1,"\u8033"],[12160,1,"\u807F"],[12161,1,"\u8089"],[12162,1,"\u81E3"],[12163,1,"\u81EA"],[12164,1,"\u81F3"],[12165,1,"\u81FC"],[12166,1,"\u820C"],[12167,1,"\u821B"],[12168,1,"\u821F"],[12169,1,"\u826E"],[12170,1,"\u8272"],[12171,1,"\u8278"],[12172,1,"\u864D"],[12173,1,"\u866B"],[12174,1,"\u8840"],[12175,1,"\u884C"],[12176,1,"\u8863"],[12177,1,"\u897E"],[12178,1,"\u898B"],[12179,1,"\u89D2"],[12180,1,"\u8A00"],[12181,1,"\u8C37"],[12182,1,"\u8C46"],[12183,1,"\u8C55"],[12184,1,"\u8C78"],[12185,1,"\u8C9D"],[12186,1,"\u8D64"],[12187,1,"\u8D70"],[12188,1,"\u8DB3"],[12189,1,"\u8EAB"],[12190,1,"\u8ECA"],[12191,1,"\u8F9B"],[12192,1,"\u8FB0"],[12193,1,"\u8FB5"],[12194,1,"\u9091"],[12195,1,"\u9149"],[12196,1,"\u91C6"],[12197,1,"\u91CC"],[12198,1,"\u91D1"],[12199,1,"\u9577"],[12200,1,"\u9580"],[12201,1,"\u961C"],[12202,1,"\u96B6"],[12203,1,"\u96B9"],[12204,1,"\u96E8"],[12205,1,"\u9751"],[12206,1,"\u975E"],[12207,1,"\u9762"],[12208,1,"\u9769"],[12209,1,"\u97CB"],[12210,1,"\u97ED"],[12211,1,"\u97F3"],[12212,1,"\u9801"],[12213,1,"\u98A8"],[12214,1,"\u98DB"],[12215,1,"\u98DF"],[12216,1,"\u9996"],[12217,1,"\u9999"],[12218,1,"\u99AC"],[12219,1,"\u9AA8"],[12220,1,"\u9AD8"],[12221,1,"\u9ADF"],[12222,1,"\u9B25"],[12223,1,"\u9B2F"],[12224,1,"\u9B32"],[12225,1,"\u9B3C"],[12226,1,"\u9B5A"],[12227,1,"\u9CE5"],[12228,1,"\u9E75"],[12229,1,"\u9E7F"],[12230,1,"\u9EA5"],[12231,1,"\u9EBB"],[12232,1,"\u9EC3"],[12233,1,"\u9ECD"],[12234,1,"\u9ED1"],[12235,1,"\u9EF9"],[12236,1,"\u9EFD"],[12237,1,"\u9F0E"],[12238,1,"\u9F13"],[12239,1,"\u9F20"],[12240,1,"\u9F3B"],[12241,1,"\u9F4A"],[12242,1,"\u9F52"],[12243,1,"\u9F8D"],[12244,1,"\u9F9C"],[12245,1,"\u9FA0"],[[12246,12271],3],[[12272,12283],3],[[12284,12287],3],[12288,5," "],[12289,2],[12290,1,"."],[[12291,12292],2],[[12293,12295],2],[[12296,12329],2],[[12330,12333],2],[[12334,12341],2],[12342,1,"\u3012"],[12343,2],[12344,1,"\u5341"],[12345,1,"\u5344"],[12346,1,"\u5345"],[12347,2],[12348,2],[12349,2],[12350,2],[12351,2],[12352,3],[[12353,12436],2],[[12437,12438],2],[[12439,12440],3],[[12441,12442],2],[12443,5," \u3099"],[12444,5," \u309A"],[[12445,12446],2],[12447,1,"\u3088\u308A"],[12448,2],[[12449,12542],2],[12543,1,"\u30B3\u30C8"],[[12544,12548],3],[[12549,12588],2],[12589,2],[12590,2],[12591,2],[12592,3],[12593,1,"\u1100"],[12594,1,"\u1101"],[12595,1,"\u11AA"],[12596,1,"\u1102"],[12597,1,"\u11AC"],[12598,1,"\u11AD"],[12599,1,"\u1103"],[12600,1,"\u1104"],[12601,1,"\u1105"],[12602,1,"\u11B0"],[12603,1,"\u11B1"],[12604,1,"\u11B2"],[12605,1,"\u11B3"],[12606,1,"\u11B4"],[12607,1,"\u11B5"],[12608,1,"\u111A"],[12609,1,"\u1106"],[12610,1,"\u1107"],[12611,1,"\u1108"],[12612,1,"\u1121"],[12613,1,"\u1109"],[12614,1,"\u110A"],[12615,1,"\u110B"],[12616,1,"\u110C"],[12617,1,"\u110D"],[12618,1,"\u110E"],[12619,1,"\u110F"],[12620,1,"\u1110"],[12621,1,"\u1111"],[12622,1,"\u1112"],[12623,1,"\u1161"],[12624,1,"\u1162"],[12625,1,"\u1163"],[12626,1,"\u1164"],[12627,1,"\u1165"],[12628,1,"\u1166"],[12629,1,"\u1167"],[12630,1,"\u1168"],[12631,1,"\u1169"],[12632,1,"\u116A"],[12633,1,"\u116B"],[12634,1,"\u116C"],[12635,1,"\u116D"],[12636,1,"\u116E"],[12637,1,"\u116F"],[12638,1,"\u1170"],[12639,1,"\u1171"],[12640,1,"\u1172"],[12641,1,"\u1173"],[12642,1,"\u1174"],[12643,1,"\u1175"],[12644,3],[12645,1,"\u1114"],[12646,1,"\u1115"],[12647,1,"\u11C7"],[12648,1,"\u11C8"],[12649,1,"\u11CC"],[12650,1,"\u11CE"],[12651,1,"\u11D3"],[12652,1,"\u11D7"],[12653,1,"\u11D9"],[12654,1,"\u111C"],[12655,1,"\u11DD"],[12656,1,"\u11DF"],[12657,1,"\u111D"],[12658,1,"\u111E"],[12659,1,"\u1120"],[12660,1,"\u1122"],[12661,1,"\u1123"],[12662,1,"\u1127"],[12663,1,"\u1129"],[12664,1,"\u112B"],[12665,1,"\u112C"],[12666,1,"\u112D"],[12667,1,"\u112E"],[12668,1,"\u112F"],[12669,1,"\u1132"],[12670,1,"\u1136"],[12671,1,"\u1140"],[12672,1,"\u1147"],[12673,1,"\u114C"],[12674,1,"\u11F1"],[12675,1,"\u11F2"],[12676,1,"\u1157"],[12677,1,"\u1158"],[12678,1,"\u1159"],[12679,1,"\u1184"],[12680,1,"\u1185"],[12681,1,"\u1188"],[12682,1,"\u1191"],[12683,1,"\u1192"],[12684,1,"\u1194"],[12685,1,"\u119E"],[12686,1,"\u11A1"],[12687,3],[[12688,12689],2],[12690,1,"\u4E00"],[12691,1,"\u4E8C"],[12692,1,"\u4E09"],[12693,1,"\u56DB"],[12694,1,"\u4E0A"],[12695,1,"\u4E2D"],[12696,1,"\u4E0B"],[12697,1,"\u7532"],[12698,1,"\u4E59"],[12699,1,"\u4E19"],[12700,1,"\u4E01"],[12701,1,"\u5929"],[12702,1,"\u5730"],[12703,1,"\u4EBA"],[[12704,12727],2],[[12728,12730],2],[[12731,12735],2],[[12736,12751],2],[[12752,12771],2],[[12772,12783],3],[[12784,12799],2],[12800,5,"(\u1100)"],[12801,5,"(\u1102)"],[12802,5,"(\u1103)"],[12803,5,"(\u1105)"],[12804,5,"(\u1106)"],[12805,5,"(\u1107)"],[12806,5,"(\u1109)"],[12807,5,"(\u110B)"],[12808,5,"(\u110C)"],[12809,5,"(\u110E)"],[12810,5,"(\u110F)"],[12811,5,"(\u1110)"],[12812,5,"(\u1111)"],[12813,5,"(\u1112)"],[12814,5,"(\uAC00)"],[12815,5,"(\uB098)"],[12816,5,"(\uB2E4)"],[12817,5,"(\uB77C)"],[12818,5,"(\uB9C8)"],[12819,5,"(\uBC14)"],[12820,5,"(\uC0AC)"],[12821,5,"(\uC544)"],[12822,5,"(\uC790)"],[12823,5,"(\uCC28)"],[12824,5,"(\uCE74)"],[12825,5,"(\uD0C0)"],[12826,5,"(\uD30C)"],[12827,5,"(\uD558)"],[12828,5,"(\uC8FC)"],[12829,5,"(\uC624\uC804)"],[12830,5,"(\uC624\uD6C4)"],[12831,3],[12832,5,"(\u4E00)"],[12833,5,"(\u4E8C)"],[12834,5,"(\u4E09)"],[12835,5,"(\u56DB)"],[12836,5,"(\u4E94)"],[12837,5,"(\u516D)"],[12838,5,"(\u4E03)"],[12839,5,"(\u516B)"],[12840,5,"(\u4E5D)"],[12841,5,"(\u5341)"],[12842,5,"(\u6708)"],[12843,5,"(\u706B)"],[12844,5,"(\u6C34)"],[12845,5,"(\u6728)"],[12846,5,"(\u91D1)"],[12847,5,"(\u571F)"],[12848,5,"(\u65E5)"],[12849,5,"(\u682A)"],[12850,5,"(\u6709)"],[12851,5,"(\u793E)"],[12852,5,"(\u540D)"],[12853,5,"(\u7279)"],[12854,5,"(\u8CA1)"],[12855,5,"(\u795D)"],[12856,5,"(\u52B4)"],[12857,5,"(\u4EE3)"],[12858,5,"(\u547C)"],[12859,5,"(\u5B66)"],[12860,5,"(\u76E3)"],[12861,5,"(\u4F01)"],[12862,5,"(\u8CC7)"],[12863,5,"(\u5354)"],[12864,5,"(\u796D)"],[12865,5,"(\u4F11)"],[12866,5,"(\u81EA)"],[12867,5,"(\u81F3)"],[12868,1,"\u554F"],[12869,1,"\u5E7C"],[12870,1,"\u6587"],[12871,1,"\u7B8F"],[[12872,12879],2],[12880,1,"pte"],[12881,1,"21"],[12882,1,"22"],[12883,1,"23"],[12884,1,"24"],[12885,1,"25"],[12886,1,"26"],[12887,1,"27"],[12888,1,"28"],[12889,1,"29"],[12890,1,"30"],[12891,1,"31"],[12892,1,"32"],[12893,1,"33"],[12894,1,"34"],[12895,1,"35"],[12896,1,"\u1100"],[12897,1,"\u1102"],[12898,1,"\u1103"],[12899,1,"\u1105"],[12900,1,"\u1106"],[12901,1,"\u1107"],[12902,1,"\u1109"],[12903,1,"\u110B"],[12904,1,"\u110C"],[12905,1,"\u110E"],[12906,1,"\u110F"],[12907,1,"\u1110"],[12908,1,"\u1111"],[12909,1,"\u1112"],[12910,1,"\uAC00"],[12911,1,"\uB098"],[12912,1,"\uB2E4"],[12913,1,"\uB77C"],[12914,1,"\uB9C8"],[12915,1,"\uBC14"],[12916,1,"\uC0AC"],[12917,1,"\uC544"],[12918,1,"\uC790"],[12919,1,"\uCC28"],[12920,1,"\uCE74"],[12921,1,"\uD0C0"],[12922,1,"\uD30C"],[12923,1,"\uD558"],[12924,1,"\uCC38\uACE0"],[12925,1,"\uC8FC\uC758"],[12926,1,"\uC6B0"],[12927,2],[12928,1,"\u4E00"],[12929,1,"\u4E8C"],[12930,1,"\u4E09"],[12931,1,"\u56DB"],[12932,1,"\u4E94"],[12933,1,"\u516D"],[12934,1,"\u4E03"],[12935,1,"\u516B"],[12936,1,"\u4E5D"],[12937,1,"\u5341"],[12938,1,"\u6708"],[12939,1,"\u706B"],[12940,1,"\u6C34"],[12941,1,"\u6728"],[12942,1,"\u91D1"],[12943,1,"\u571F"],[12944,1,"\u65E5"],[12945,1,"\u682A"],[12946,1,"\u6709"],[12947,1,"\u793E"],[12948,1,"\u540D"],[12949,1,"\u7279"],[12950,1,"\u8CA1"],[12951,1,"\u795D"],[12952,1,"\u52B4"],[12953,1,"\u79D8"],[12954,1,"\u7537"],[12955,1,"\u5973"],[12956,1,"\u9069"],[12957,1,"\u512A"],[12958,1,"\u5370"],[12959,1,"\u6CE8"],[12960,1,"\u9805"],[12961,1,"\u4F11"],[12962,1,"\u5199"],[12963,1,"\u6B63"],[12964,1,"\u4E0A"],[12965,1,"\u4E2D"],[12966,1,"\u4E0B"],[12967,1,"\u5DE6"],[12968,1,"\u53F3"],[12969,1,"\u533B"],[12970,1,"\u5B97"],[12971,1,"\u5B66"],[12972,1,"\u76E3"],[12973,1,"\u4F01"],[12974,1,"\u8CC7"],[12975,1,"\u5354"],[12976,1,"\u591C"],[12977,1,"36"],[12978,1,"37"],[12979,1,"38"],[12980,1,"39"],[12981,1,"40"],[12982,1,"41"],[12983,1,"42"],[12984,1,"43"],[12985,1,"44"],[12986,1,"45"],[12987,1,"46"],[12988,1,"47"],[12989,1,"48"],[12990,1,"49"],[12991,1,"50"],[12992,1,"1\u6708"],[12993,1,"2\u6708"],[12994,1,"3\u6708"],[12995,1,"4\u6708"],[12996,1,"5\u6708"],[12997,1,"6\u6708"],[12998,1,"7\u6708"],[12999,1,"8\u6708"],[13e3,1,"9\u6708"],[13001,1,"10\u6708"],[13002,1,"11\u6708"],[13003,1,"12\u6708"],[13004,1,"hg"],[13005,1,"erg"],[13006,1,"ev"],[13007,1,"ltd"],[13008,1,"\u30A2"],[13009,1,"\u30A4"],[13010,1,"\u30A6"],[13011,1,"\u30A8"],[13012,1,"\u30AA"],[13013,1,"\u30AB"],[13014,1,"\u30AD"],[13015,1,"\u30AF"],[13016,1,"\u30B1"],[13017,1,"\u30B3"],[13018,1,"\u30B5"],[13019,1,"\u30B7"],[13020,1,"\u30B9"],[13021,1,"\u30BB"],[13022,1,"\u30BD"],[13023,1,"\u30BF"],[13024,1,"\u30C1"],[13025,1,"\u30C4"],[13026,1,"\u30C6"],[13027,1,"\u30C8"],[13028,1,"\u30CA"],[13029,1,"\u30CB"],[13030,1,"\u30CC"],[13031,1,"\u30CD"],[13032,1,"\u30CE"],[13033,1,"\u30CF"],[13034,1,"\u30D2"],[13035,1,"\u30D5"],[13036,1,"\u30D8"],[13037,1,"\u30DB"],[13038,1,"\u30DE"],[13039,1,"\u30DF"],[13040,1,"\u30E0"],[13041,1,"\u30E1"],[13042,1,"\u30E2"],[13043,1,"\u30E4"],[13044,1,"\u30E6"],[13045,1,"\u30E8"],[13046,1,"\u30E9"],[13047,1,"\u30EA"],[13048,1,"\u30EB"],[13049,1,"\u30EC"],[13050,1,"\u30ED"],[13051,1,"\u30EF"],[13052,1,"\u30F0"],[13053,1,"\u30F1"],[13054,1,"\u30F2"],[13055,1,"\u4EE4\u548C"],[13056,1,"\u30A2\u30D1\u30FC\u30C8"],[13057,1,"\u30A2\u30EB\u30D5\u30A1"],[13058,1,"\u30A2\u30F3\u30DA\u30A2"],[13059,1,"\u30A2\u30FC\u30EB"],[13060,1,"\u30A4\u30CB\u30F3\u30B0"],[13061,1,"\u30A4\u30F3\u30C1"],[13062,1,"\u30A6\u30A9\u30F3"],[13063,1,"\u30A8\u30B9\u30AF\u30FC\u30C9"],[13064,1,"\u30A8\u30FC\u30AB\u30FC"],[13065,1,"\u30AA\u30F3\u30B9"],[13066,1,"\u30AA\u30FC\u30E0"],[13067,1,"\u30AB\u30A4\u30EA"],[13068,1,"\u30AB\u30E9\u30C3\u30C8"],[13069,1,"\u30AB\u30ED\u30EA\u30FC"],[13070,1,"\u30AC\u30ED\u30F3"],[13071,1,"\u30AC\u30F3\u30DE"],[13072,1,"\u30AE\u30AC"],[13073,1,"\u30AE\u30CB\u30FC"],[13074,1,"\u30AD\u30E5\u30EA\u30FC"],[13075,1,"\u30AE\u30EB\u30C0\u30FC"],[13076,1,"\u30AD\u30ED"],[13077,1,"\u30AD\u30ED\u30B0\u30E9\u30E0"],[13078,1,"\u30AD\u30ED\u30E1\u30FC\u30C8\u30EB"],[13079,1,"\u30AD\u30ED\u30EF\u30C3\u30C8"],[13080,1,"\u30B0\u30E9\u30E0"],[13081,1,"\u30B0\u30E9\u30E0\u30C8\u30F3"],[13082,1,"\u30AF\u30EB\u30BC\u30A4\u30ED"],[13083,1,"\u30AF\u30ED\u30FC\u30CD"],[13084,1,"\u30B1\u30FC\u30B9"],[13085,1,"\u30B3\u30EB\u30CA"],[13086,1,"\u30B3\u30FC\u30DD"],[13087,1,"\u30B5\u30A4\u30AF\u30EB"],[13088,1,"\u30B5\u30F3\u30C1\u30FC\u30E0"],[13089,1,"\u30B7\u30EA\u30F3\u30B0"],[13090,1,"\u30BB\u30F3\u30C1"],[13091,1,"\u30BB\u30F3\u30C8"],[13092,1,"\u30C0\u30FC\u30B9"],[13093,1,"\u30C7\u30B7"],[13094,1,"\u30C9\u30EB"],[13095,1,"\u30C8\u30F3"],[13096,1,"\u30CA\u30CE"],[13097,1,"\u30CE\u30C3\u30C8"],[13098,1,"\u30CF\u30A4\u30C4"],[13099,1,"\u30D1\u30FC\u30BB\u30F3\u30C8"],[13100,1,"\u30D1\u30FC\u30C4"],[13101,1,"\u30D0\u30FC\u30EC\u30EB"],[13102,1,"\u30D4\u30A2\u30B9\u30C8\u30EB"],[13103,1,"\u30D4\u30AF\u30EB"],[13104,1,"\u30D4\u30B3"],[13105,1,"\u30D3\u30EB"],[13106,1,"\u30D5\u30A1\u30E9\u30C3\u30C9"],[13107,1,"\u30D5\u30A3\u30FC\u30C8"],[13108,1,"\u30D6\u30C3\u30B7\u30A7\u30EB"],[13109,1,"\u30D5\u30E9\u30F3"],[13110,1,"\u30D8\u30AF\u30BF\u30FC\u30EB"],[13111,1,"\u30DA\u30BD"],[13112,1,"\u30DA\u30CB\u30D2"],[13113,1,"\u30D8\u30EB\u30C4"],[13114,1,"\u30DA\u30F3\u30B9"],[13115,1,"\u30DA\u30FC\u30B8"],[13116,1,"\u30D9\u30FC\u30BF"],[13117,1,"\u30DD\u30A4\u30F3\u30C8"],[13118,1,"\u30DC\u30EB\u30C8"],[13119,1,"\u30DB\u30F3"],[13120,1,"\u30DD\u30F3\u30C9"],[13121,1,"\u30DB\u30FC\u30EB"],[13122,1,"\u30DB\u30FC\u30F3"],[13123,1,"\u30DE\u30A4\u30AF\u30ED"],[13124,1,"\u30DE\u30A4\u30EB"],[13125,1,"\u30DE\u30C3\u30CF"],[13126,1,"\u30DE\u30EB\u30AF"],[13127,1,"\u30DE\u30F3\u30B7\u30E7\u30F3"],[13128,1,"\u30DF\u30AF\u30ED\u30F3"],[13129,1,"\u30DF\u30EA"],[13130,1,"\u30DF\u30EA\u30D0\u30FC\u30EB"],[13131,1,"\u30E1\u30AC"],[13132,1,"\u30E1\u30AC\u30C8\u30F3"],[13133,1,"\u30E1\u30FC\u30C8\u30EB"],[13134,1,"\u30E4\u30FC\u30C9"],[13135,1,"\u30E4\u30FC\u30EB"],[13136,1,"\u30E6\u30A2\u30F3"],[13137,1,"\u30EA\u30C3\u30C8\u30EB"],[13138,1,"\u30EA\u30E9"],[13139,1,"\u30EB\u30D4\u30FC"],[13140,1,"\u30EB\u30FC\u30D6\u30EB"],[13141,1,"\u30EC\u30E0"],[13142,1,"\u30EC\u30F3\u30C8\u30B2\u30F3"],[13143,1,"\u30EF\u30C3\u30C8"],[13144,1,"0\u70B9"],[13145,1,"1\u70B9"],[13146,1,"2\u70B9"],[13147,1,"3\u70B9"],[13148,1,"4\u70B9"],[13149,1,"5\u70B9"],[13150,1,"6\u70B9"],[13151,1,"7\u70B9"],[13152,1,"8\u70B9"],[13153,1,"9\u70B9"],[13154,1,"10\u70B9"],[13155,1,"11\u70B9"],[13156,1,"12\u70B9"],[13157,1,"13\u70B9"],[13158,1,"14\u70B9"],[13159,1,"15\u70B9"],[13160,1,"16\u70B9"],[13161,1,"17\u70B9"],[13162,1,"18\u70B9"],[13163,1,"19\u70B9"],[13164,1,"20\u70B9"],[13165,1,"21\u70B9"],[13166,1,"22\u70B9"],[13167,1,"23\u70B9"],[13168,1,"24\u70B9"],[13169,1,"hpa"],[13170,1,"da"],[13171,1,"au"],[13172,1,"bar"],[13173,1,"ov"],[13174,1,"pc"],[13175,1,"dm"],[13176,1,"dm2"],[13177,1,"dm3"],[13178,1,"iu"],[13179,1,"\u5E73\u6210"],[13180,1,"\u662D\u548C"],[13181,1,"\u5927\u6B63"],[13182,1,"\u660E\u6CBB"],[13183,1,"\u682A\u5F0F\u4F1A\u793E"],[13184,1,"pa"],[13185,1,"na"],[13186,1,"\u03BCa"],[13187,1,"ma"],[13188,1,"ka"],[13189,1,"kb"],[13190,1,"mb"],[13191,1,"gb"],[13192,1,"cal"],[13193,1,"kcal"],[13194,1,"pf"],[13195,1,"nf"],[13196,1,"\u03BCf"],[13197,1,"\u03BCg"],[13198,1,"mg"],[13199,1,"kg"],[13200,1,"hz"],[13201,1,"khz"],[13202,1,"mhz"],[13203,1,"ghz"],[13204,1,"thz"],[13205,1,"\u03BCl"],[13206,1,"ml"],[13207,1,"dl"],[13208,1,"kl"],[13209,1,"fm"],[13210,1,"nm"],[13211,1,"\u03BCm"],[13212,1,"mm"],[13213,1,"cm"],[13214,1,"km"],[13215,1,"mm2"],[13216,1,"cm2"],[13217,1,"m2"],[13218,1,"km2"],[13219,1,"mm3"],[13220,1,"cm3"],[13221,1,"m3"],[13222,1,"km3"],[13223,1,"m\u2215s"],[13224,1,"m\u2215s2"],[13225,1,"pa"],[13226,1,"kpa"],[13227,1,"mpa"],[13228,1,"gpa"],[13229,1,"rad"],[13230,1,"rad\u2215s"],[13231,1,"rad\u2215s2"],[13232,1,"ps"],[13233,1,"ns"],[13234,1,"\u03BCs"],[13235,1,"ms"],[13236,1,"pv"],[13237,1,"nv"],[13238,1,"\u03BCv"],[13239,1,"mv"],[13240,1,"kv"],[13241,1,"mv"],[13242,1,"pw"],[13243,1,"nw"],[13244,1,"\u03BCw"],[13245,1,"mw"],[13246,1,"kw"],[13247,1,"mw"],[13248,1,"k\u03C9"],[13249,1,"m\u03C9"],[13250,3],[13251,1,"bq"],[13252,1,"cc"],[13253,1,"cd"],[13254,1,"c\u2215kg"],[13255,3],[13256,1,"db"],[13257,1,"gy"],[13258,1,"ha"],[13259,1,"hp"],[13260,1,"in"],[13261,1,"kk"],[13262,1,"km"],[13263,1,"kt"],[13264,1,"lm"],[13265,1,"ln"],[13266,1,"log"],[13267,1,"lx"],[13268,1,"mb"],[13269,1,"mil"],[13270,1,"mol"],[13271,1,"ph"],[13272,3],[13273,1,"ppm"],[13274,1,"pr"],[13275,1,"sr"],[13276,1,"sv"],[13277,1,"wb"],[13278,1,"v\u2215m"],[13279,1,"a\u2215m"],[13280,1,"1\u65E5"],[13281,1,"2\u65E5"],[13282,1,"3\u65E5"],[13283,1,"4\u65E5"],[13284,1,"5\u65E5"],[13285,1,"6\u65E5"],[13286,1,"7\u65E5"],[13287,1,"8\u65E5"],[13288,1,"9\u65E5"],[13289,1,"10\u65E5"],[13290,1,"11\u65E5"],[13291,1,"12\u65E5"],[13292,1,"13\u65E5"],[13293,1,"14\u65E5"],[13294,1,"15\u65E5"],[13295,1,"16\u65E5"],[13296,1,"17\u65E5"],[13297,1,"18\u65E5"],[13298,1,"19\u65E5"],[13299,1,"20\u65E5"],[13300,1,"21\u65E5"],[13301,1,"22\u65E5"],[13302,1,"23\u65E5"],[13303,1,"24\u65E5"],[13304,1,"25\u65E5"],[13305,1,"26\u65E5"],[13306,1,"27\u65E5"],[13307,1,"28\u65E5"],[13308,1,"29\u65E5"],[13309,1,"30\u65E5"],[13310,1,"31\u65E5"],[13311,1,"gal"],[[13312,19893],2],[[19894,19903],2],[[19904,19967],2],[[19968,40869],2],[[40870,40891],2],[[40892,40899],2],[[40900,40907],2],[40908,2],[[40909,40917],2],[[40918,40938],2],[[40939,40943],2],[[40944,40956],2],[[40957,40959],2],[[40960,42124],2],[[42125,42127],3],[[42128,42145],2],[[42146,42147],2],[[42148,42163],2],[42164,2],[[42165,42176],2],[42177,2],[[42178,42180],2],[42181,2],[42182,2],[[42183,42191],3],[[42192,42237],2],[[42238,42239],2],[[42240,42508],2],[[42509,42511],2],[[42512,42539],2],[[42540,42559],3],[42560,1,"\uA641"],[42561,2],[42562,1,"\uA643"],[42563,2],[42564,1,"\uA645"],[42565,2],[42566,1,"\uA647"],[42567,2],[42568,1,"\uA649"],[42569,2],[42570,1,"\uA64B"],[42571,2],[42572,1,"\uA64D"],[42573,2],[42574,1,"\uA64F"],[42575,2],[42576,1,"\uA651"],[42577,2],[42578,1,"\uA653"],[42579,2],[42580,1,"\uA655"],[42581,2],[42582,1,"\uA657"],[42583,2],[42584,1,"\uA659"],[42585,2],[42586,1,"\uA65B"],[42587,2],[42588,1,"\uA65D"],[42589,2],[42590,1,"\uA65F"],[42591,2],[42592,1,"\uA661"],[42593,2],[42594,1,"\uA663"],[42595,2],[42596,1,"\uA665"],[42597,2],[42598,1,"\uA667"],[42599,2],[42600,1,"\uA669"],[42601,2],[42602,1,"\uA66B"],[42603,2],[42604,1,"\uA66D"],[[42605,42607],2],[[42608,42611],2],[[42612,42619],2],[[42620,42621],2],[42622,2],[42623,2],[42624,1,"\uA681"],[42625,2],[42626,1,"\uA683"],[42627,2],[42628,1,"\uA685"],[42629,2],[42630,1,"\uA687"],[42631,2],[42632,1,"\uA689"],[42633,2],[42634,1,"\uA68B"],[42635,2],[42636,1,"\uA68D"],[42637,2],[42638,1,"\uA68F"],[42639,2],[42640,1,"\uA691"],[42641,2],[42642,1,"\uA693"],[42643,2],[42644,1,"\uA695"],[42645,2],[42646,1,"\uA697"],[42647,2],[42648,1,"\uA699"],[42649,2],[42650,1,"\uA69B"],[42651,2],[42652,1,"\u044A"],[42653,1,"\u044C"],[42654,2],[42655,2],[[42656,42725],2],[[42726,42735],2],[[42736,42737],2],[[42738,42743],2],[[42744,42751],3],[[42752,42774],2],[[42775,42778],2],[[42779,42783],2],[[42784,42785],2],[42786,1,"\uA723"],[42787,2],[42788,1,"\uA725"],[42789,2],[42790,1,"\uA727"],[42791,2],[42792,1,"\uA729"],[42793,2],[42794,1,"\uA72B"],[42795,2],[42796,1,"\uA72D"],[42797,2],[42798,1,"\uA72F"],[[42799,42801],2],[42802,1,"\uA733"],[42803,2],[42804,1,"\uA735"],[42805,2],[42806,1,"\uA737"],[42807,2],[42808,1,"\uA739"],[42809,2],[42810,1,"\uA73B"],[42811,2],[42812,1,"\uA73D"],[42813,2],[42814,1,"\uA73F"],[42815,2],[42816,1,"\uA741"],[42817,2],[42818,1,"\uA743"],[42819,2],[42820,1,"\uA745"],[42821,2],[42822,1,"\uA747"],[42823,2],[42824,1,"\uA749"],[42825,2],[42826,1,"\uA74B"],[42827,2],[42828,1,"\uA74D"],[42829,2],[42830,1,"\uA74F"],[42831,2],[42832,1,"\uA751"],[42833,2],[42834,1,"\uA753"],[42835,2],[42836,1,"\uA755"],[42837,2],[42838,1,"\uA757"],[42839,2],[42840,1,"\uA759"],[42841,2],[42842,1,"\uA75B"],[42843,2],[42844,1,"\uA75D"],[42845,2],[42846,1,"\uA75F"],[42847,2],[42848,1,"\uA761"],[42849,2],[42850,1,"\uA763"],[42851,2],[42852,1,"\uA765"],[42853,2],[42854,1,"\uA767"],[42855,2],[42856,1,"\uA769"],[42857,2],[42858,1,"\uA76B"],[42859,2],[42860,1,"\uA76D"],[42861,2],[42862,1,"\uA76F"],[42863,2],[42864,1,"\uA76F"],[[42865,42872],2],[42873,1,"\uA77A"],[42874,2],[42875,1,"\uA77C"],[42876,2],[42877,1,"\u1D79"],[42878,1,"\uA77F"],[42879,2],[42880,1,"\uA781"],[42881,2],[42882,1,"\uA783"],[42883,2],[42884,1,"\uA785"],[42885,2],[42886,1,"\uA787"],[[42887,42888],2],[[42889,42890],2],[42891,1,"\uA78C"],[42892,2],[42893,1,"\u0265"],[42894,2],[42895,2],[42896,1,"\uA791"],[42897,2],[42898,1,"\uA793"],[42899,2],[[42900,42901],2],[42902,1,"\uA797"],[42903,2],[42904,1,"\uA799"],[42905,2],[42906,1,"\uA79B"],[42907,2],[42908,1,"\uA79D"],[42909,2],[42910,1,"\uA79F"],[42911,2],[42912,1,"\uA7A1"],[42913,2],[42914,1,"\uA7A3"],[42915,2],[42916,1,"\uA7A5"],[42917,2],[42918,1,"\uA7A7"],[42919,2],[42920,1,"\uA7A9"],[42921,2],[42922,1,"\u0266"],[42923,1,"\u025C"],[42924,1,"\u0261"],[42925,1,"\u026C"],[42926,1,"\u026A"],[42927,2],[42928,1,"\u029E"],[42929,1,"\u0287"],[42930,1,"\u029D"],[42931,1,"\uAB53"],[42932,1,"\uA7B5"],[42933,2],[42934,1,"\uA7B7"],[42935,2],[42936,1,"\uA7B9"],[42937,2],[42938,1,"\uA7BB"],[42939,2],[42940,1,"\uA7BD"],[42941,2],[42942,1,"\uA7BF"],[42943,2],[42944,1,"\uA7C1"],[42945,2],[42946,1,"\uA7C3"],[42947,2],[42948,1,"\uA794"],[42949,1,"\u0282"],[42950,1,"\u1D8E"],[42951,1,"\uA7C8"],[42952,2],[42953,1,"\uA7CA"],[42954,2],[[42955,42959],3],[42960,1,"\uA7D1"],[42961,2],[42962,3],[42963,2],[42964,3],[42965,2],[42966,1,"\uA7D7"],[42967,2],[42968,1,"\uA7D9"],[42969,2],[[42970,42993],3],[42994,1,"c"],[42995,1,"f"],[42996,1,"q"],[42997,1,"\uA7F6"],[42998,2],[42999,2],[43e3,1,"\u0127"],[43001,1,"\u0153"],[43002,2],[[43003,43007],2],[[43008,43047],2],[[43048,43051],2],[43052,2],[[43053,43055],3],[[43056,43065],2],[[43066,43071],3],[[43072,43123],2],[[43124,43127],2],[[43128,43135],3],[[43136,43204],2],[43205,2],[[43206,43213],3],[[43214,43215],2],[[43216,43225],2],[[43226,43231],3],[[43232,43255],2],[[43256,43258],2],[43259,2],[43260,2],[43261,2],[[43262,43263],2],[[43264,43309],2],[[43310,43311],2],[[43312,43347],2],[[43348,43358],3],[43359,2],[[43360,43388],2],[[43389,43391],3],[[43392,43456],2],[[43457,43469],2],[43470,3],[[43471,43481],2],[[43482,43485],3],[[43486,43487],2],[[43488,43518],2],[43519,3],[[43520,43574],2],[[43575,43583],3],[[43584,43597],2],[[43598,43599],3],[[43600,43609],2],[[43610,43611],3],[[43612,43615],2],[[43616,43638],2],[[43639,43641],2],[[43642,43643],2],[[43644,43647],2],[[43648,43714],2],[[43715,43738],3],[[43739,43741],2],[[43742,43743],2],[[43744,43759],2],[[43760,43761],2],[[43762,43766],2],[[43767,43776],3],[[43777,43782],2],[[43783,43784],3],[[43785,43790],2],[[43791,43792],3],[[43793,43798],2],[[43799,43807],3],[[43808,43814],2],[43815,3],[[43816,43822],2],[43823,3],[[43824,43866],2],[43867,2],[43868,1,"\uA727"],[43869,1,"\uAB37"],[43870,1,"\u026B"],[43871,1,"\uAB52"],[[43872,43875],2],[[43876,43877],2],[[43878,43879],2],[43880,2],[43881,1,"\u028D"],[[43882,43883],2],[[43884,43887],3],[43888,1,"\u13A0"],[43889,1,"\u13A1"],[43890,1,"\u13A2"],[43891,1,"\u13A3"],[43892,1,"\u13A4"],[43893,1,"\u13A5"],[43894,1,"\u13A6"],[43895,1,"\u13A7"],[43896,1,"\u13A8"],[43897,1,"\u13A9"],[43898,1,"\u13AA"],[43899,1,"\u13AB"],[43900,1,"\u13AC"],[43901,1,"\u13AD"],[43902,1,"\u13AE"],[43903,1,"\u13AF"],[43904,1,"\u13B0"],[43905,1,"\u13B1"],[43906,1,"\u13B2"],[43907,1,"\u13B3"],[43908,1,"\u13B4"],[43909,1,"\u13B5"],[43910,1,"\u13B6"],[43911,1,"\u13B7"],[43912,1,"\u13B8"],[43913,1,"\u13B9"],[43914,1,"\u13BA"],[43915,1,"\u13BB"],[43916,1,"\u13BC"],[43917,1,"\u13BD"],[43918,1,"\u13BE"],[43919,1,"\u13BF"],[43920,1,"\u13C0"],[43921,1,"\u13C1"],[43922,1,"\u13C2"],[43923,1,"\u13C3"],[43924,1,"\u13C4"],[43925,1,"\u13C5"],[43926,1,"\u13C6"],[43927,1,"\u13C7"],[43928,1,"\u13C8"],[43929,1,"\u13C9"],[43930,1,"\u13CA"],[43931,1,"\u13CB"],[43932,1,"\u13CC"],[43933,1,"\u13CD"],[43934,1,"\u13CE"],[43935,1,"\u13CF"],[43936,1,"\u13D0"],[43937,1,"\u13D1"],[43938,1,"\u13D2"],[43939,1,"\u13D3"],[43940,1,"\u13D4"],[43941,1,"\u13D5"],[43942,1,"\u13D6"],[43943,1,"\u13D7"],[43944,1,"\u13D8"],[43945,1,"\u13D9"],[43946,1,"\u13DA"],[43947,1,"\u13DB"],[43948,1,"\u13DC"],[43949,1,"\u13DD"],[43950,1,"\u13DE"],[43951,1,"\u13DF"],[43952,1,"\u13E0"],[43953,1,"\u13E1"],[43954,1,"\u13E2"],[43955,1,"\u13E3"],[43956,1,"\u13E4"],[43957,1,"\u13E5"],[43958,1,"\u13E6"],[43959,1,"\u13E7"],[43960,1,"\u13E8"],[43961,1,"\u13E9"],[43962,1,"\u13EA"],[43963,1,"\u13EB"],[43964,1,"\u13EC"],[43965,1,"\u13ED"],[43966,1,"\u13EE"],[43967,1,"\u13EF"],[[43968,44010],2],[44011,2],[[44012,44013],2],[[44014,44015],3],[[44016,44025],2],[[44026,44031],3],[[44032,55203],2],[[55204,55215],3],[[55216,55238],2],[[55239,55242],3],[[55243,55291],2],[[55292,55295],3],[[55296,57343],3],[[57344,63743],3],[63744,1,"\u8C48"],[63745,1,"\u66F4"],[63746,1,"\u8ECA"],[63747,1,"\u8CC8"],[63748,1,"\u6ED1"],[63749,1,"\u4E32"],[63750,1,"\u53E5"],[[63751,63752],1,"\u9F9C"],[63753,1,"\u5951"],[63754,1,"\u91D1"],[63755,1,"\u5587"],[63756,1,"\u5948"],[63757,1,"\u61F6"],[63758,1,"\u7669"],[63759,1,"\u7F85"],[63760,1,"\u863F"],[63761,1,"\u87BA"],[63762,1,"\u88F8"],[63763,1,"\u908F"],[63764,1,"\u6A02"],[63765,1,"\u6D1B"],[63766,1,"\u70D9"],[63767,1,"\u73DE"],[63768,1,"\u843D"],[63769,1,"\u916A"],[63770,1,"\u99F1"],[63771,1,"\u4E82"],[63772,1,"\u5375"],[63773,1,"\u6B04"],[63774,1,"\u721B"],[63775,1,"\u862D"],[63776,1,"\u9E1E"],[63777,1,"\u5D50"],[63778,1,"\u6FEB"],[63779,1,"\u85CD"],[63780,1,"\u8964"],[63781,1,"\u62C9"],[63782,1,"\u81D8"],[63783,1,"\u881F"],[63784,1,"\u5ECA"],[63785,1,"\u6717"],[63786,1,"\u6D6A"],[63787,1,"\u72FC"],[63788,1,"\u90CE"],[63789,1,"\u4F86"],[63790,1,"\u51B7"],[63791,1,"\u52DE"],[63792,1,"\u64C4"],[63793,1,"\u6AD3"],[63794,1,"\u7210"],[63795,1,"\u76E7"],[63796,1,"\u8001"],[63797,1,"\u8606"],[63798,1,"\u865C"],[63799,1,"\u8DEF"],[63800,1,"\u9732"],[63801,1,"\u9B6F"],[63802,1,"\u9DFA"],[63803,1,"\u788C"],[63804,1,"\u797F"],[63805,1,"\u7DA0"],[63806,1,"\u83C9"],[63807,1,"\u9304"],[63808,1,"\u9E7F"],[63809,1,"\u8AD6"],[63810,1,"\u58DF"],[63811,1,"\u5F04"],[63812,1,"\u7C60"],[63813,1,"\u807E"],[63814,1,"\u7262"],[63815,1,"\u78CA"],[63816,1,"\u8CC2"],[63817,1,"\u96F7"],[63818,1,"\u58D8"],[63819,1,"\u5C62"],[63820,1,"\u6A13"],[63821,1,"\u6DDA"],[63822,1,"\u6F0F"],[63823,1,"\u7D2F"],[63824,1,"\u7E37"],[63825,1,"\u964B"],[63826,1,"\u52D2"],[63827,1,"\u808B"],[63828,1,"\u51DC"],[63829,1,"\u51CC"],[63830,1,"\u7A1C"],[63831,1,"\u7DBE"],[63832,1,"\u83F1"],[63833,1,"\u9675"],[63834,1,"\u8B80"],[63835,1,"\u62CF"],[63836,1,"\u6A02"],[63837,1,"\u8AFE"],[63838,1,"\u4E39"],[63839,1,"\u5BE7"],[63840,1,"\u6012"],[63841,1,"\u7387"],[63842,1,"\u7570"],[63843,1,"\u5317"],[63844,1,"\u78FB"],[63845,1,"\u4FBF"],[63846,1,"\u5FA9"],[63847,1,"\u4E0D"],[63848,1,"\u6CCC"],[63849,1,"\u6578"],[63850,1,"\u7D22"],[63851,1,"\u53C3"],[63852,1,"\u585E"],[63853,1,"\u7701"],[63854,1,"\u8449"],[63855,1,"\u8AAA"],[63856,1,"\u6BBA"],[63857,1,"\u8FB0"],[63858,1,"\u6C88"],[63859,1,"\u62FE"],[63860,1,"\u82E5"],[63861,1,"\u63A0"],[63862,1,"\u7565"],[63863,1,"\u4EAE"],[63864,1,"\u5169"],[63865,1,"\u51C9"],[63866,1,"\u6881"],[63867,1,"\u7CE7"],[63868,1,"\u826F"],[63869,1,"\u8AD2"],[63870,1,"\u91CF"],[63871,1,"\u52F5"],[63872,1,"\u5442"],[63873,1,"\u5973"],[63874,1,"\u5EEC"],[63875,1,"\u65C5"],[63876,1,"\u6FFE"],[63877,1,"\u792A"],[63878,1,"\u95AD"],[63879,1,"\u9A6A"],[63880,1,"\u9E97"],[63881,1,"\u9ECE"],[63882,1,"\u529B"],[63883,1,"\u66C6"],[63884,1,"\u6B77"],[63885,1,"\u8F62"],[63886,1,"\u5E74"],[63887,1,"\u6190"],[63888,1,"\u6200"],[63889,1,"\u649A"],[63890,1,"\u6F23"],[63891,1,"\u7149"],[63892,1,"\u7489"],[63893,1,"\u79CA"],[63894,1,"\u7DF4"],[63895,1,"\u806F"],[63896,1,"\u8F26"],[63897,1,"\u84EE"],[63898,1,"\u9023"],[63899,1,"\u934A"],[63900,1,"\u5217"],[63901,1,"\u52A3"],[63902,1,"\u54BD"],[63903,1,"\u70C8"],[63904,1,"\u88C2"],[63905,1,"\u8AAA"],[63906,1,"\u5EC9"],[63907,1,"\u5FF5"],[63908,1,"\u637B"],[63909,1,"\u6BAE"],[63910,1,"\u7C3E"],[63911,1,"\u7375"],[63912,1,"\u4EE4"],[63913,1,"\u56F9"],[63914,1,"\u5BE7"],[63915,1,"\u5DBA"],[63916,1,"\u601C"],[63917,1,"\u73B2"],[63918,1,"\u7469"],[63919,1,"\u7F9A"],[63920,1,"\u8046"],[63921,1,"\u9234"],[63922,1,"\u96F6"],[63923,1,"\u9748"],[63924,1,"\u9818"],[63925,1,"\u4F8B"],[63926,1,"\u79AE"],[63927,1,"\u91B4"],[63928,1,"\u96B8"],[63929,1,"\u60E1"],[63930,1,"\u4E86"],[63931,1,"\u50DA"],[63932,1,"\u5BEE"],[63933,1,"\u5C3F"],[63934,1,"\u6599"],[63935,1,"\u6A02"],[63936,1,"\u71CE"],[63937,1,"\u7642"],[63938,1,"\u84FC"],[63939,1,"\u907C"],[63940,1,"\u9F8D"],[63941,1,"\u6688"],[63942,1,"\u962E"],[63943,1,"\u5289"],[63944,1,"\u677B"],[63945,1,"\u67F3"],[63946,1,"\u6D41"],[63947,1,"\u6E9C"],[63948,1,"\u7409"],[63949,1,"\u7559"],[63950,1,"\u786B"],[63951,1,"\u7D10"],[63952,1,"\u985E"],[63953,1,"\u516D"],[63954,1,"\u622E"],[63955,1,"\u9678"],[63956,1,"\u502B"],[63957,1,"\u5D19"],[63958,1,"\u6DEA"],[63959,1,"\u8F2A"],[63960,1,"\u5F8B"],[63961,1,"\u6144"],[63962,1,"\u6817"],[63963,1,"\u7387"],[63964,1,"\u9686"],[63965,1,"\u5229"],[63966,1,"\u540F"],[63967,1,"\u5C65"],[63968,1,"\u6613"],[63969,1,"\u674E"],[63970,1,"\u68A8"],[63971,1,"\u6CE5"],[63972,1,"\u7406"],[63973,1,"\u75E2"],[63974,1,"\u7F79"],[63975,1,"\u88CF"],[63976,1,"\u88E1"],[63977,1,"\u91CC"],[63978,1,"\u96E2"],[63979,1,"\u533F"],[63980,1,"\u6EBA"],[63981,1,"\u541D"],[63982,1,"\u71D0"],[63983,1,"\u7498"],[63984,1,"\u85FA"],[63985,1,"\u96A3"],[63986,1,"\u9C57"],[63987,1,"\u9E9F"],[63988,1,"\u6797"],[63989,1,"\u6DCB"],[63990,1,"\u81E8"],[63991,1,"\u7ACB"],[63992,1,"\u7B20"],[63993,1,"\u7C92"],[63994,1,"\u72C0"],[63995,1,"\u7099"],[63996,1,"\u8B58"],[63997,1,"\u4EC0"],[63998,1,"\u8336"],[63999,1,"\u523A"],[64e3,1,"\u5207"],[64001,1,"\u5EA6"],[64002,1,"\u62D3"],[64003,1,"\u7CD6"],[64004,1,"\u5B85"],[64005,1,"\u6D1E"],[64006,1,"\u66B4"],[64007,1,"\u8F3B"],[64008,1,"\u884C"],[64009,1,"\u964D"],[64010,1,"\u898B"],[64011,1,"\u5ED3"],[64012,1,"\u5140"],[64013,1,"\u55C0"],[[64014,64015],2],[64016,1,"\u585A"],[64017,2],[64018,1,"\u6674"],[[64019,64020],2],[64021,1,"\u51DE"],[64022,1,"\u732A"],[64023,1,"\u76CA"],[64024,1,"\u793C"],[64025,1,"\u795E"],[64026,1,"\u7965"],[64027,1,"\u798F"],[64028,1,"\u9756"],[64029,1,"\u7CBE"],[64030,1,"\u7FBD"],[64031,2],[64032,1,"\u8612"],[64033,2],[64034,1,"\u8AF8"],[[64035,64036],2],[64037,1,"\u9038"],[64038,1,"\u90FD"],[[64039,64041],2],[64042,1,"\u98EF"],[64043,1,"\u98FC"],[64044,1,"\u9928"],[64045,1,"\u9DB4"],[64046,1,"\u90DE"],[64047,1,"\u96B7"],[64048,1,"\u4FAE"],[64049,1,"\u50E7"],[64050,1,"\u514D"],[64051,1,"\u52C9"],[64052,1,"\u52E4"],[64053,1,"\u5351"],[64054,1,"\u559D"],[64055,1,"\u5606"],[64056,1,"\u5668"],[64057,1,"\u5840"],[64058,1,"\u58A8"],[64059,1,"\u5C64"],[64060,1,"\u5C6E"],[64061,1,"\u6094"],[64062,1,"\u6168"],[64063,1,"\u618E"],[64064,1,"\u61F2"],[64065,1,"\u654F"],[64066,1,"\u65E2"],[64067,1,"\u6691"],[64068,1,"\u6885"],[64069,1,"\u6D77"],[64070,1,"\u6E1A"],[64071,1,"\u6F22"],[64072,1,"\u716E"],[64073,1,"\u722B"],[64074,1,"\u7422"],[64075,1,"\u7891"],[64076,1,"\u793E"],[64077,1,"\u7949"],[64078,1,"\u7948"],[64079,1,"\u7950"],[64080,1,"\u7956"],[64081,1,"\u795D"],[64082,1,"\u798D"],[64083,1,"\u798E"],[64084,1,"\u7A40"],[64085,1,"\u7A81"],[64086,1,"\u7BC0"],[64087,1,"\u7DF4"],[64088,1,"\u7E09"],[64089,1,"\u7E41"],[64090,1,"\u7F72"],[64091,1,"\u8005"],[64092,1,"\u81ED"],[[64093,64094],1,"\u8279"],[64095,1,"\u8457"],[64096,1,"\u8910"],[64097,1,"\u8996"],[64098,1,"\u8B01"],[64099,1,"\u8B39"],[64100,1,"\u8CD3"],[64101,1,"\u8D08"],[64102,1,"\u8FB6"],[64103,1,"\u9038"],[64104,1,"\u96E3"],[64105,1,"\u97FF"],[64106,1,"\u983B"],[64107,1,"\u6075"],[64108,1,"\u{242EE}"],[64109,1,"\u8218"],[[64110,64111],3],[64112,1,"\u4E26"],[64113,1,"\u51B5"],[64114,1,"\u5168"],[64115,1,"\u4F80"],[64116,1,"\u5145"],[64117,1,"\u5180"],[64118,1,"\u52C7"],[64119,1,"\u52FA"],[64120,1,"\u559D"],[64121,1,"\u5555"],[64122,1,"\u5599"],[64123,1,"\u55E2"],[64124,1,"\u585A"],[64125,1,"\u58B3"],[64126,1,"\u5944"],[64127,1,"\u5954"],[64128,1,"\u5A62"],[64129,1,"\u5B28"],[64130,1,"\u5ED2"],[64131,1,"\u5ED9"],[64132,1,"\u5F69"],[64133,1,"\u5FAD"],[64134,1,"\u60D8"],[64135,1,"\u614E"],[64136,1,"\u6108"],[64137,1,"\u618E"],[64138,1,"\u6160"],[64139,1,"\u61F2"],[64140,1,"\u6234"],[64141,1,"\u63C4"],[64142,1,"\u641C"],[64143,1,"\u6452"],[64144,1,"\u6556"],[64145,1,"\u6674"],[64146,1,"\u6717"],[64147,1,"\u671B"],[64148,1,"\u6756"],[64149,1,"\u6B79"],[64150,1,"\u6BBA"],[64151,1,"\u6D41"],[64152,1,"\u6EDB"],[64153,1,"\u6ECB"],[64154,1,"\u6F22"],[64155,1,"\u701E"],[64156,1,"\u716E"],[64157,1,"\u77A7"],[64158,1,"\u7235"],[64159,1,"\u72AF"],[64160,1,"\u732A"],[64161,1,"\u7471"],[64162,1,"\u7506"],[64163,1,"\u753B"],[64164,1,"\u761D"],[64165,1,"\u761F"],[64166,1,"\u76CA"],[64167,1,"\u76DB"],[64168,1,"\u76F4"],[64169,1,"\u774A"],[64170,1,"\u7740"],[64171,1,"\u78CC"],[64172,1,"\u7AB1"],[64173,1,"\u7BC0"],[64174,1,"\u7C7B"],[64175,1,"\u7D5B"],[64176,1,"\u7DF4"],[64177,1,"\u7F3E"],[64178,1,"\u8005"],[64179,1,"\u8352"],[64180,1,"\u83EF"],[64181,1,"\u8779"],[64182,1,"\u8941"],[64183,1,"\u8986"],[64184,1,"\u8996"],[64185,1,"\u8ABF"],[64186,1,"\u8AF8"],[64187,1,"\u8ACB"],[64188,1,"\u8B01"],[64189,1,"\u8AFE"],[64190,1,"\u8AED"],[64191,1,"\u8B39"],[64192,1,"\u8B8A"],[64193,1,"\u8D08"],[64194,1,"\u8F38"],[64195,1,"\u9072"],[64196,1,"\u9199"],[64197,1,"\u9276"],[64198,1,"\u967C"],[64199,1,"\u96E3"],[64200,1,"\u9756"],[64201,1,"\u97DB"],[64202,1,"\u97FF"],[64203,1,"\u980B"],[64204,1,"\u983B"],[64205,1,"\u9B12"],[64206,1,"\u9F9C"],[64207,1,"\u{2284A}"],[64208,1,"\u{22844}"],[64209,1,"\u{233D5}"],[64210,1,"\u3B9D"],[64211,1,"\u4018"],[64212,1,"\u4039"],[64213,1,"\u{25249}"],[64214,1,"\u{25CD0}"],[64215,1,"\u{27ED3}"],[64216,1,"\u9F43"],[64217,1,"\u9F8E"],[[64218,64255],3],[64256,1,"ff"],[64257,1,"fi"],[64258,1,"fl"],[64259,1,"ffi"],[64260,1,"ffl"],[[64261,64262],1,"st"],[[64263,64274],3],[64275,1,"\u0574\u0576"],[64276,1,"\u0574\u0565"],[64277,1,"\u0574\u056B"],[64278,1,"\u057E\u0576"],[64279,1,"\u0574\u056D"],[[64280,64284],3],[64285,1,"\u05D9\u05B4"],[64286,2],[64287,1,"\u05F2\u05B7"],[64288,1,"\u05E2"],[64289,1,"\u05D0"],[64290,1,"\u05D3"],[64291,1,"\u05D4"],[64292,1,"\u05DB"],[64293,1,"\u05DC"],[64294,1,"\u05DD"],[64295,1,"\u05E8"],[64296,1,"\u05EA"],[64297,5,"+"],[64298,1,"\u05E9\u05C1"],[64299,1,"\u05E9\u05C2"],[64300,1,"\u05E9\u05BC\u05C1"],[64301,1,"\u05E9\u05BC\u05C2"],[64302,1,"\u05D0\u05B7"],[64303,1,"\u05D0\u05B8"],[64304,1,"\u05D0\u05BC"],[64305,1,"\u05D1\u05BC"],[64306,1,"\u05D2\u05BC"],[64307,1,"\u05D3\u05BC"],[64308,1,"\u05D4\u05BC"],[64309,1,"\u05D5\u05BC"],[64310,1,"\u05D6\u05BC"],[64311,3],[64312,1,"\u05D8\u05BC"],[64313,1,"\u05D9\u05BC"],[64314,1,"\u05DA\u05BC"],[64315,1,"\u05DB\u05BC"],[64316,1,"\u05DC\u05BC"],[64317,3],[64318,1,"\u05DE\u05BC"],[64319,3],[64320,1,"\u05E0\u05BC"],[64321,1,"\u05E1\u05BC"],[64322,3],[64323,1,"\u05E3\u05BC"],[64324,1,"\u05E4\u05BC"],[64325,3],[64326,1,"\u05E6\u05BC"],[64327,1,"\u05E7\u05BC"],[64328,1,"\u05E8\u05BC"],[64329,1,"\u05E9\u05BC"],[64330,1,"\u05EA\u05BC"],[64331,1,"\u05D5\u05B9"],[64332,1,"\u05D1\u05BF"],[64333,1,"\u05DB\u05BF"],[64334,1,"\u05E4\u05BF"],[64335,1,"\u05D0\u05DC"],[[64336,64337],1,"\u0671"],[[64338,64341],1,"\u067B"],[[64342,64345],1,"\u067E"],[[64346,64349],1,"\u0680"],[[64350,64353],1,"\u067A"],[[64354,64357],1,"\u067F"],[[64358,64361],1,"\u0679"],[[64362,64365],1,"\u06A4"],[[64366,64369],1,"\u06A6"],[[64370,64373],1,"\u0684"],[[64374,64377],1,"\u0683"],[[64378,64381],1,"\u0686"],[[64382,64385],1,"\u0687"],[[64386,64387],1,"\u068D"],[[64388,64389],1,"\u068C"],[[64390,64391],1,"\u068E"],[[64392,64393],1,"\u0688"],[[64394,64395],1,"\u0698"],[[64396,64397],1,"\u0691"],[[64398,64401],1,"\u06A9"],[[64402,64405],1,"\u06AF"],[[64406,64409],1,"\u06B3"],[[64410,64413],1,"\u06B1"],[[64414,64415],1,"\u06BA"],[[64416,64419],1,"\u06BB"],[[64420,64421],1,"\u06C0"],[[64422,64425],1,"\u06C1"],[[64426,64429],1,"\u06BE"],[[64430,64431],1,"\u06D2"],[[64432,64433],1,"\u06D3"],[[64434,64449],2],[64450,2],[[64451,64466],3],[[64467,64470],1,"\u06AD"],[[64471,64472],1,"\u06C7"],[[64473,64474],1,"\u06C6"],[[64475,64476],1,"\u06C8"],[64477,1,"\u06C7\u0674"],[[64478,64479],1,"\u06CB"],[[64480,64481],1,"\u06C5"],[[64482,64483],1,"\u06C9"],[[64484,64487],1,"\u06D0"],[[64488,64489],1,"\u0649"],[[64490,64491],1,"\u0626\u0627"],[[64492,64493],1,"\u0626\u06D5"],[[64494,64495],1,"\u0626\u0648"],[[64496,64497],1,"\u0626\u06C7"],[[64498,64499],1,"\u0626\u06C6"],[[64500,64501],1,"\u0626\u06C8"],[[64502,64504],1,"\u0626\u06D0"],[[64505,64507],1,"\u0626\u0649"],[[64508,64511],1,"\u06CC"],[64512,1,"\u0626\u062C"],[64513,1,"\u0626\u062D"],[64514,1,"\u0626\u0645"],[64515,1,"\u0626\u0649"],[64516,1,"\u0626\u064A"],[64517,1,"\u0628\u062C"],[64518,1,"\u0628\u062D"],[64519,1,"\u0628\u062E"],[64520,1,"\u0628\u0645"],[64521,1,"\u0628\u0649"],[64522,1,"\u0628\u064A"],[64523,1,"\u062A\u062C"],[64524,1,"\u062A\u062D"],[64525,1,"\u062A\u062E"],[64526,1,"\u062A\u0645"],[64527,1,"\u062A\u0649"],[64528,1,"\u062A\u064A"],[64529,1,"\u062B\u062C"],[64530,1,"\u062B\u0645"],[64531,1,"\u062B\u0649"],[64532,1,"\u062B\u064A"],[64533,1,"\u062C\u062D"],[64534,1,"\u062C\u0645"],[64535,1,"\u062D\u062C"],[64536,1,"\u062D\u0645"],[64537,1,"\u062E\u062C"],[64538,1,"\u062E\u062D"],[64539,1,"\u062E\u0645"],[64540,1,"\u0633\u062C"],[64541,1,"\u0633\u062D"],[64542,1,"\u0633\u062E"],[64543,1,"\u0633\u0645"],[64544,1,"\u0635\u062D"],[64545,1,"\u0635\u0645"],[64546,1,"\u0636\u062C"],[64547,1,"\u0636\u062D"],[64548,1,"\u0636\u062E"],[64549,1,"\u0636\u0645"],[64550,1,"\u0637\u062D"],[64551,1,"\u0637\u0645"],[64552,1,"\u0638\u0645"],[64553,1,"\u0639\u062C"],[64554,1,"\u0639\u0645"],[64555,1,"\u063A\u062C"],[64556,1,"\u063A\u0645"],[64557,1,"\u0641\u062C"],[64558,1,"\u0641\u062D"],[64559,1,"\u0641\u062E"],[64560,1,"\u0641\u0645"],[64561,1,"\u0641\u0649"],[64562,1,"\u0641\u064A"],[64563,1,"\u0642\u062D"],[64564,1,"\u0642\u0645"],[64565,1,"\u0642\u0649"],[64566,1,"\u0642\u064A"],[64567,1,"\u0643\u0627"],[64568,1,"\u0643\u062C"],[64569,1,"\u0643\u062D"],[64570,1,"\u0643\u062E"],[64571,1,"\u0643\u0644"],[64572,1,"\u0643\u0645"],[64573,1,"\u0643\u0649"],[64574,1,"\u0643\u064A"],[64575,1,"\u0644\u062C"],[64576,1,"\u0644\u062D"],[64577,1,"\u0644\u062E"],[64578,1,"\u0644\u0645"],[64579,1,"\u0644\u0649"],[64580,1,"\u0644\u064A"],[64581,1,"\u0645\u062C"],[64582,1,"\u0645\u062D"],[64583,1,"\u0645\u062E"],[64584,1,"\u0645\u0645"],[64585,1,"\u0645\u0649"],[64586,1,"\u0645\u064A"],[64587,1,"\u0646\u062C"],[64588,1,"\u0646\u062D"],[64589,1,"\u0646\u062E"],[64590,1,"\u0646\u0645"],[64591,1,"\u0646\u0649"],[64592,1,"\u0646\u064A"],[64593,1,"\u0647\u062C"],[64594,1,"\u0647\u0645"],[64595,1,"\u0647\u0649"],[64596,1,"\u0647\u064A"],[64597,1,"\u064A\u062C"],[64598,1,"\u064A\u062D"],[64599,1,"\u064A\u062E"],[64600,1,"\u064A\u0645"],[64601,1,"\u064A\u0649"],[64602,1,"\u064A\u064A"],[64603,1,"\u0630\u0670"],[64604,1,"\u0631\u0670"],[64605,1,"\u0649\u0670"],[64606,5," \u064C\u0651"],[64607,5," \u064D\u0651"],[64608,5," \u064E\u0651"],[64609,5," \u064F\u0651"],[64610,5," \u0650\u0651"],[64611,5," \u0651\u0670"],[64612,1,"\u0626\u0631"],[64613,1,"\u0626\u0632"],[64614,1,"\u0626\u0645"],[64615,1,"\u0626\u0646"],[64616,1,"\u0626\u0649"],[64617,1,"\u0626\u064A"],[64618,1,"\u0628\u0631"],[64619,1,"\u0628\u0632"],[64620,1,"\u0628\u0645"],[64621,1,"\u0628\u0646"],[64622,1,"\u0628\u0649"],[64623,1,"\u0628\u064A"],[64624,1,"\u062A\u0631"],[64625,1,"\u062A\u0632"],[64626,1,"\u062A\u0645"],[64627,1,"\u062A\u0646"],[64628,1,"\u062A\u0649"],[64629,1,"\u062A\u064A"],[64630,1,"\u062B\u0631"],[64631,1,"\u062B\u0632"],[64632,1,"\u062B\u0645"],[64633,1,"\u062B\u0646"],[64634,1,"\u062B\u0649"],[64635,1,"\u062B\u064A"],[64636,1,"\u0641\u0649"],[64637,1,"\u0641\u064A"],[64638,1,"\u0642\u0649"],[64639,1,"\u0642\u064A"],[64640,1,"\u0643\u0627"],[64641,1,"\u0643\u0644"],[64642,1,"\u0643\u0645"],[64643,1,"\u0643\u0649"],[64644,1,"\u0643\u064A"],[64645,1,"\u0644\u0645"],[64646,1,"\u0644\u0649"],[64647,1,"\u0644\u064A"],[64648,1,"\u0645\u0627"],[64649,1,"\u0645\u0645"],[64650,1,"\u0646\u0631"],[64651,1,"\u0646\u0632"],[64652,1,"\u0646\u0645"],[64653,1,"\u0646\u0646"],[64654,1,"\u0646\u0649"],[64655,1,"\u0646\u064A"],[64656,1,"\u0649\u0670"],[64657,1,"\u064A\u0631"],[64658,1,"\u064A\u0632"],[64659,1,"\u064A\u0645"],[64660,1,"\u064A\u0646"],[64661,1,"\u064A\u0649"],[64662,1,"\u064A\u064A"],[64663,1,"\u0626\u062C"],[64664,1,"\u0626\u062D"],[64665,1,"\u0626\u062E"],[64666,1,"\u0626\u0645"],[64667,1,"\u0626\u0647"],[64668,1,"\u0628\u062C"],[64669,1,"\u0628\u062D"],[64670,1,"\u0628\u062E"],[64671,1,"\u0628\u0645"],[64672,1,"\u0628\u0647"],[64673,1,"\u062A\u062C"],[64674,1,"\u062A\u062D"],[64675,1,"\u062A\u062E"],[64676,1,"\u062A\u0645"],[64677,1,"\u062A\u0647"],[64678,1,"\u062B\u0645"],[64679,1,"\u062C\u062D"],[64680,1,"\u062C\u0645"],[64681,1,"\u062D\u062C"],[64682,1,"\u062D\u0645"],[64683,1,"\u062E\u062C"],[64684,1,"\u062E\u0645"],[64685,1,"\u0633\u062C"],[64686,1,"\u0633\u062D"],[64687,1,"\u0633\u062E"],[64688,1,"\u0633\u0645"],[64689,1,"\u0635\u062D"],[64690,1,"\u0635\u062E"],[64691,1,"\u0635\u0645"],[64692,1,"\u0636\u062C"],[64693,1,"\u0636\u062D"],[64694,1,"\u0636\u062E"],[64695,1,"\u0636\u0645"],[64696,1,"\u0637\u062D"],[64697,1,"\u0638\u0645"],[64698,1,"\u0639\u062C"],[64699,1,"\u0639\u0645"],[64700,1,"\u063A\u062C"],[64701,1,"\u063A\u0645"],[64702,1,"\u0641\u062C"],[64703,1,"\u0641\u062D"],[64704,1,"\u0641\u062E"],[64705,1,"\u0641\u0645"],[64706,1,"\u0642\u062D"],[64707,1,"\u0642\u0645"],[64708,1,"\u0643\u062C"],[64709,1,"\u0643\u062D"],[64710,1,"\u0643\u062E"],[64711,1,"\u0643\u0644"],[64712,1,"\u0643\u0645"],[64713,1,"\u0644\u062C"],[64714,1,"\u0644\u062D"],[64715,1,"\u0644\u062E"],[64716,1,"\u0644\u0645"],[64717,1,"\u0644\u0647"],[64718,1,"\u0645\u062C"],[64719,1,"\u0645\u062D"],[64720,1,"\u0645\u062E"],[64721,1,"\u0645\u0645"],[64722,1,"\u0646\u062C"],[64723,1,"\u0646\u062D"],[64724,1,"\u0646\u062E"],[64725,1,"\u0646\u0645"],[64726,1,"\u0646\u0647"],[64727,1,"\u0647\u062C"],[64728,1,"\u0647\u0645"],[64729,1,"\u0647\u0670"],[64730,1,"\u064A\u062C"],[64731,1,"\u064A\u062D"],[64732,1,"\u064A\u062E"],[64733,1,"\u064A\u0645"],[64734,1,"\u064A\u0647"],[64735,1,"\u0626\u0645"],[64736,1,"\u0626\u0647"],[64737,1,"\u0628\u0645"],[64738,1,"\u0628\u0647"],[64739,1,"\u062A\u0645"],[64740,1,"\u062A\u0647"],[64741,1,"\u062B\u0645"],[64742,1,"\u062B\u0647"],[64743,1,"\u0633\u0645"],[64744,1,"\u0633\u0647"],[64745,1,"\u0634\u0645"],[64746,1,"\u0634\u0647"],[64747,1,"\u0643\u0644"],[64748,1,"\u0643\u0645"],[64749,1,"\u0644\u0645"],[64750,1,"\u0646\u0645"],[64751,1,"\u0646\u0647"],[64752,1,"\u064A\u0645"],[64753,1,"\u064A\u0647"],[64754,1,"\u0640\u064E\u0651"],[64755,1,"\u0640\u064F\u0651"],[64756,1,"\u0640\u0650\u0651"],[64757,1,"\u0637\u0649"],[64758,1,"\u0637\u064A"],[64759,1,"\u0639\u0649"],[64760,1,"\u0639\u064A"],[64761,1,"\u063A\u0649"],[64762,1,"\u063A\u064A"],[64763,1,"\u0633\u0649"],[64764,1,"\u0633\u064A"],[64765,1,"\u0634\u0649"],[64766,1,"\u0634\u064A"],[64767,1,"\u062D\u0649"],[64768,1,"\u062D\u064A"],[64769,1,"\u062C\u0649"],[64770,1,"\u062C\u064A"],[64771,1,"\u062E\u0649"],[64772,1,"\u062E\u064A"],[64773,1,"\u0635\u0649"],[64774,1,"\u0635\u064A"],[64775,1,"\u0636\u0649"],[64776,1,"\u0636\u064A"],[64777,1,"\u0634\u062C"],[64778,1,"\u0634\u062D"],[64779,1,"\u0634\u062E"],[64780,1,"\u0634\u0645"],[64781,1,"\u0634\u0631"],[64782,1,"\u0633\u0631"],[64783,1,"\u0635\u0631"],[64784,1,"\u0636\u0631"],[64785,1,"\u0637\u0649"],[64786,1,"\u0637\u064A"],[64787,1,"\u0639\u0649"],[64788,1,"\u0639\u064A"],[64789,1,"\u063A\u0649"],[64790,1,"\u063A\u064A"],[64791,1,"\u0633\u0649"],[64792,1,"\u0633\u064A"],[64793,1,"\u0634\u0649"],[64794,1,"\u0634\u064A"],[64795,1,"\u062D\u0649"],[64796,1,"\u062D\u064A"],[64797,1,"\u062C\u0649"],[64798,1,"\u062C\u064A"],[64799,1,"\u062E\u0649"],[64800,1,"\u062E\u064A"],[64801,1,"\u0635\u0649"],[64802,1,"\u0635\u064A"],[64803,1,"\u0636\u0649"],[64804,1,"\u0636\u064A"],[64805,1,"\u0634\u062C"],[64806,1,"\u0634\u062D"],[64807,1,"\u0634\u062E"],[64808,1,"\u0634\u0645"],[64809,1,"\u0634\u0631"],[64810,1,"\u0633\u0631"],[64811,1,"\u0635\u0631"],[64812,1,"\u0636\u0631"],[64813,1,"\u0634\u062C"],[64814,1,"\u0634\u062D"],[64815,1,"\u0634\u062E"],[64816,1,"\u0634\u0645"],[64817,1,"\u0633\u0647"],[64818,1,"\u0634\u0647"],[64819,1,"\u0637\u0645"],[64820,1,"\u0633\u062C"],[64821,1,"\u0633\u062D"],[64822,1,"\u0633\u062E"],[64823,1,"\u0634\u062C"],[64824,1,"\u0634\u062D"],[64825,1,"\u0634\u062E"],[64826,1,"\u0637\u0645"],[64827,1,"\u0638\u0645"],[[64828,64829],1,"\u0627\u064B"],[[64830,64831],2],[[64832,64847],2],[64848,1,"\u062A\u062C\u0645"],[[64849,64850],1,"\u062A\u062D\u062C"],[64851,1,"\u062A\u062D\u0645"],[64852,1,"\u062A\u062E\u0645"],[64853,1,"\u062A\u0645\u062C"],[64854,1,"\u062A\u0645\u062D"],[64855,1,"\u062A\u0645\u062E"],[[64856,64857],1,"\u062C\u0645\u062D"],[64858,1,"\u062D\u0645\u064A"],[64859,1,"\u062D\u0645\u0649"],[64860,1,"\u0633\u062D\u062C"],[64861,1,"\u0633\u062C\u062D"],[64862,1,"\u0633\u062C\u0649"],[[64863,64864],1,"\u0633\u0645\u062D"],[64865,1,"\u0633\u0645\u062C"],[[64866,64867],1,"\u0633\u0645\u0645"],[[64868,64869],1,"\u0635\u062D\u062D"],[64870,1,"\u0635\u0645\u0645"],[[64871,64872],1,"\u0634\u062D\u0645"],[64873,1,"\u0634\u062C\u064A"],[[64874,64875],1,"\u0634\u0645\u062E"],[[64876,64877],1,"\u0634\u0645\u0645"],[64878,1,"\u0636\u062D\u0649"],[[64879,64880],1,"\u0636\u062E\u0645"],[[64881,64882],1,"\u0637\u0645\u062D"],[64883,1,"\u0637\u0645\u0645"],[64884,1,"\u0637\u0645\u064A"],[64885,1,"\u0639\u062C\u0645"],[[64886,64887],1,"\u0639\u0645\u0645"],[64888,1,"\u0639\u0645\u0649"],[64889,1,"\u063A\u0645\u0645"],[64890,1,"\u063A\u0645\u064A"],[64891,1,"\u063A\u0645\u0649"],[[64892,64893],1,"\u0641\u062E\u0645"],[64894,1,"\u0642\u0645\u062D"],[64895,1,"\u0642\u0645\u0645"],[64896,1,"\u0644\u062D\u0645"],[64897,1,"\u0644\u062D\u064A"],[64898,1,"\u0644\u062D\u0649"],[[64899,64900],1,"\u0644\u062C\u062C"],[[64901,64902],1,"\u0644\u062E\u0645"],[[64903,64904],1,"\u0644\u0645\u062D"],[64905,1,"\u0645\u062D\u062C"],[64906,1,"\u0645\u062D\u0645"],[64907,1,"\u0645\u062D\u064A"],[64908,1,"\u0645\u062C\u062D"],[64909,1,"\u0645\u062C\u0645"],[64910,1,"\u0645\u062E\u062C"],[64911,1,"\u0645\u062E\u0645"],[[64912,64913],3],[64914,1,"\u0645\u062C\u062E"],[64915,1,"\u0647\u0645\u062C"],[64916,1,"\u0647\u0645\u0645"],[64917,1,"\u0646\u062D\u0645"],[64918,1,"\u0646\u062D\u0649"],[[64919,64920],1,"\u0646\u062C\u0645"],[64921,1,"\u0646\u062C\u0649"],[64922,1,"\u0646\u0645\u064A"],[64923,1,"\u0646\u0645\u0649"],[[64924,64925],1,"\u064A\u0645\u0645"],[64926,1,"\u0628\u062E\u064A"],[64927,1,"\u062A\u062C\u064A"],[64928,1,"\u062A\u062C\u0649"],[64929,1,"\u062A\u062E\u064A"],[64930,1,"\u062A\u062E\u0649"],[64931,1,"\u062A\u0645\u064A"],[64932,1,"\u062A\u0645\u0649"],[64933,1,"\u062C\u0645\u064A"],[64934,1,"\u062C\u062D\u0649"],[64935,1,"\u062C\u0645\u0649"],[64936,1,"\u0633\u062E\u0649"],[64937,1,"\u0635\u062D\u064A"],[64938,1,"\u0634\u062D\u064A"],[64939,1,"\u0636\u062D\u064A"],[64940,1,"\u0644\u062C\u064A"],[64941,1,"\u0644\u0645\u064A"],[64942,1,"\u064A\u062D\u064A"],[64943,1,"\u064A\u062C\u064A"],[64944,1,"\u064A\u0645\u064A"],[64945,1,"\u0645\u0645\u064A"],[64946,1,"\u0642\u0645\u064A"],[64947,1,"\u0646\u062D\u064A"],[64948,1,"\u0642\u0645\u062D"],[64949,1,"\u0644\u062D\u0645"],[64950,1,"\u0639\u0645\u064A"],[64951,1,"\u0643\u0645\u064A"],[64952,1,"\u0646\u062C\u062D"],[64953,1,"\u0645\u062E\u064A"],[64954,1,"\u0644\u062C\u0645"],[64955,1,"\u0643\u0645\u0645"],[64956,1,"\u0644\u062C\u0645"],[64957,1,"\u0646\u062C\u062D"],[64958,1,"\u062C\u062D\u064A"],[64959,1,"\u062D\u062C\u064A"],[64960,1,"\u0645\u062C\u064A"],[64961,1,"\u0641\u0645\u064A"],[64962,1,"\u0628\u062D\u064A"],[64963,1,"\u0643\u0645\u0645"],[64964,1,"\u0639\u062C\u0645"],[64965,1,"\u0635\u0645\u0645"],[64966,1,"\u0633\u062E\u064A"],[64967,1,"\u0646\u062C\u064A"],[[64968,64974],3],[64975,2],[[64976,65007],3],[65008,1,"\u0635\u0644\u06D2"],[65009,1,"\u0642\u0644\u06D2"],[65010,1,"\u0627\u0644\u0644\u0647"],[65011,1,"\u0627\u0643\u0628\u0631"],[65012,1,"\u0645\u062D\u0645\u062F"],[65013,1,"\u0635\u0644\u0639\u0645"],[65014,1,"\u0631\u0633\u0648\u0644"],[65015,1,"\u0639\u0644\u064A\u0647"],[65016,1,"\u0648\u0633\u0644\u0645"],[65017,1,"\u0635\u0644\u0649"],[65018,5,"\u0635\u0644\u0649 \u0627\u0644\u0644\u0647 \u0639\u0644\u064A\u0647 \u0648\u0633\u0644\u0645"],[65019,5,"\u062C\u0644 \u062C\u0644\u0627\u0644\u0647"],[65020,1,"\u0631\u06CC\u0627\u0644"],[65021,2],[[65022,65023],2],[[65024,65039],7],[65040,5,","],[65041,1,"\u3001"],[65042,3],[65043,5,":"],[65044,5,";"],[65045,5,"!"],[65046,5,"?"],[65047,1,"\u3016"],[65048,1,"\u3017"],[65049,3],[[65050,65055],3],[[65056,65059],2],[[65060,65062],2],[[65063,65069],2],[[65070,65071],2],[65072,3],[65073,1,"\u2014"],[65074,1,"\u2013"],[[65075,65076],5,"_"],[65077,5,"("],[65078,5,")"],[65079,5,"{"],[65080,5,"}"],[65081,1,"\u3014"],[65082,1,"\u3015"],[65083,1,"\u3010"],[65084,1,"\u3011"],[65085,1,"\u300A"],[65086,1,"\u300B"],[65087,1,"\u3008"],[65088,1,"\u3009"],[65089,1,"\u300C"],[65090,1,"\u300D"],[65091,1,"\u300E"],[65092,1,"\u300F"],[[65093,65094],2],[65095,5,"["],[65096,5,"]"],[[65097,65100],5," \u0305"],[[65101,65103],5,"_"],[65104,5,","],[65105,1,"\u3001"],[65106,3],[65107,3],[65108,5,";"],[65109,5,":"],[65110,5,"?"],[65111,5,"!"],[65112,1,"\u2014"],[65113,5,"("],[65114,5,")"],[65115,5,"{"],[65116,5,"}"],[65117,1,"\u3014"],[65118,1,"\u3015"],[65119,5,"#"],[65120,5,"&"],[65121,5,"*"],[65122,5,"+"],[65123,1,"-"],[65124,5,"<"],[65125,5,">"],[65126,5,"="],[65127,3],[65128,5,"\\"],[65129,5,"$"],[65130,5,"%"],[65131,5,"@"],[[65132,65135],3],[65136,5," \u064B"],[65137,1,"\u0640\u064B"],[65138,5," \u064C"],[65139,2],[65140,5," \u064D"],[65141,3],[65142,5," \u064E"],[65143,1,"\u0640\u064E"],[65144,5," \u064F"],[65145,1,"\u0640\u064F"],[65146,5," \u0650"],[65147,1,"\u0640\u0650"],[65148,5," \u0651"],[65149,1,"\u0640\u0651"],[65150,5," \u0652"],[65151,1,"\u0640\u0652"],[65152,1,"\u0621"],[[65153,65154],1,"\u0622"],[[65155,65156],1,"\u0623"],[[65157,65158],1,"\u0624"],[[65159,65160],1,"\u0625"],[[65161,65164],1,"\u0626"],[[65165,65166],1,"\u0627"],[[65167,65170],1,"\u0628"],[[65171,65172],1,"\u0629"],[[65173,65176],1,"\u062A"],[[65177,65180],1,"\u062B"],[[65181,65184],1,"\u062C"],[[65185,65188],1,"\u062D"],[[65189,65192],1,"\u062E"],[[65193,65194],1,"\u062F"],[[65195,65196],1,"\u0630"],[[65197,65198],1,"\u0631"],[[65199,65200],1,"\u0632"],[[65201,65204],1,"\u0633"],[[65205,65208],1,"\u0634"],[[65209,65212],1,"\u0635"],[[65213,65216],1,"\u0636"],[[65217,65220],1,"\u0637"],[[65221,65224],1,"\u0638"],[[65225,65228],1,"\u0639"],[[65229,65232],1,"\u063A"],[[65233,65236],1,"\u0641"],[[65237,65240],1,"\u0642"],[[65241,65244],1,"\u0643"],[[65245,65248],1,"\u0644"],[[65249,65252],1,"\u0645"],[[65253,65256],1,"\u0646"],[[65257,65260],1,"\u0647"],[[65261,65262],1,"\u0648"],[[65263,65264],1,"\u0649"],[[65265,65268],1,"\u064A"],[[65269,65270],1,"\u0644\u0622"],[[65271,65272],1,"\u0644\u0623"],[[65273,65274],1,"\u0644\u0625"],[[65275,65276],1,"\u0644\u0627"],[[65277,65278],3],[65279,7],[65280,3],[65281,5,"!"],[65282,5,'"'],[65283,5,"#"],[65284,5,"$"],[65285,5,"%"],[65286,5,"&"],[65287,5,"'"],[65288,5,"("],[65289,5,")"],[65290,5,"*"],[65291,5,"+"],[65292,5,","],[65293,1,"-"],[65294,1,"."],[65295,5,"/"],[65296,1,"0"],[65297,1,"1"],[65298,1,"2"],[65299,1,"3"],[65300,1,"4"],[65301,1,"5"],[65302,1,"6"],[65303,1,"7"],[65304,1,"8"],[65305,1,"9"],[65306,5,":"],[65307,5,";"],[65308,5,"<"],[65309,5,"="],[65310,5,">"],[65311,5,"?"],[65312,5,"@"],[65313,1,"a"],[65314,1,"b"],[65315,1,"c"],[65316,1,"d"],[65317,1,"e"],[65318,1,"f"],[65319,1,"g"],[65320,1,"h"],[65321,1,"i"],[65322,1,"j"],[65323,1,"k"],[65324,1,"l"],[65325,1,"m"],[65326,1,"n"],[65327,1,"o"],[65328,1,"p"],[65329,1,"q"],[65330,1,"r"],[65331,1,"s"],[65332,1,"t"],[65333,1,"u"],[65334,1,"v"],[65335,1,"w"],[65336,1,"x"],[65337,1,"y"],[65338,1,"z"],[65339,5,"["],[65340,5,"\\"],[65341,5,"]"],[65342,5,"^"],[65343,5,"_"],[65344,5,"`"],[65345,1,"a"],[65346,1,"b"],[65347,1,"c"],[65348,1,"d"],[65349,1,"e"],[65350,1,"f"],[65351,1,"g"],[65352,1,"h"],[65353,1,"i"],[65354,1,"j"],[65355,1,"k"],[65356,1,"l"],[65357,1,"m"],[65358,1,"n"],[65359,1,"o"],[65360,1,"p"],[65361,1,"q"],[65362,1,"r"],[65363,1,"s"],[65364,1,"t"],[65365,1,"u"],[65366,1,"v"],[65367,1,"w"],[65368,1,"x"],[65369,1,"y"],[65370,1,"z"],[65371,5,"{"],[65372,5,"|"],[65373,5,"}"],[65374,5,"~"],[65375,1,"\u2985"],[65376,1,"\u2986"],[65377,1,"."],[65378,1,"\u300C"],[65379,1,"\u300D"],[65380,1,"\u3001"],[65381,1,"\u30FB"],[65382,1,"\u30F2"],[65383,1,"\u30A1"],[65384,1,"\u30A3"],[65385,1,"\u30A5"],[65386,1,"\u30A7"],[65387,1,"\u30A9"],[65388,1,"\u30E3"],[65389,1,"\u30E5"],[65390,1,"\u30E7"],[65391,1,"\u30C3"],[65392,1,"\u30FC"],[65393,1,"\u30A2"],[65394,1,"\u30A4"],[65395,1,"\u30A6"],[65396,1,"\u30A8"],[65397,1,"\u30AA"],[65398,1,"\u30AB"],[65399,1,"\u30AD"],[65400,1,"\u30AF"],[65401,1,"\u30B1"],[65402,1,"\u30B3"],[65403,1,"\u30B5"],[65404,1,"\u30B7"],[65405,1,"\u30B9"],[65406,1,"\u30BB"],[65407,1,"\u30BD"],[65408,1,"\u30BF"],[65409,1,"\u30C1"],[65410,1,"\u30C4"],[65411,1,"\u30C6"],[65412,1,"\u30C8"],[65413,1,"\u30CA"],[65414,1,"\u30CB"],[65415,1,"\u30CC"],[65416,1,"\u30CD"],[65417,1,"\u30CE"],[65418,1,"\u30CF"],[65419,1,"\u30D2"],[65420,1,"\u30D5"],[65421,1,"\u30D8"],[65422,1,"\u30DB"],[65423,1,"\u30DE"],[65424,1,"\u30DF"],[65425,1,"\u30E0"],[65426,1,"\u30E1"],[65427,1,"\u30E2"],[65428,1,"\u30E4"],[65429,1,"\u30E6"],[65430,1,"\u30E8"],[65431,1,"\u30E9"],[65432,1,"\u30EA"],[65433,1,"\u30EB"],[65434,1,"\u30EC"],[65435,1,"\u30ED"],[65436,1,"\u30EF"],[65437,1,"\u30F3"],[65438,1,"\u3099"],[65439,1,"\u309A"],[65440,3],[65441,1,"\u1100"],[65442,1,"\u1101"],[65443,1,"\u11AA"],[65444,1,"\u1102"],[65445,1,"\u11AC"],[65446,1,"\u11AD"],[65447,1,"\u1103"],[65448,1,"\u1104"],[65449,1,"\u1105"],[65450,1,"\u11B0"],[65451,1,"\u11B1"],[65452,1,"\u11B2"],[65453,1,"\u11B3"],[65454,1,"\u11B4"],[65455,1,"\u11B5"],[65456,1,"\u111A"],[65457,1,"\u1106"],[65458,1,"\u1107"],[65459,1,"\u1108"],[65460,1,"\u1121"],[65461,1,"\u1109"],[65462,1,"\u110A"],[65463,1,"\u110B"],[65464,1,"\u110C"],[65465,1,"\u110D"],[65466,1,"\u110E"],[65467,1,"\u110F"],[65468,1,"\u1110"],[65469,1,"\u1111"],[65470,1,"\u1112"],[[65471,65473],3],[65474,1,"\u1161"],[65475,1,"\u1162"],[65476,1,"\u1163"],[65477,1,"\u1164"],[65478,1,"\u1165"],[65479,1,"\u1166"],[[65480,65481],3],[65482,1,"\u1167"],[65483,1,"\u1168"],[65484,1,"\u1169"],[65485,1,"\u116A"],[65486,1,"\u116B"],[65487,1,"\u116C"],[[65488,65489],3],[65490,1,"\u116D"],[65491,1,"\u116E"],[65492,1,"\u116F"],[65493,1,"\u1170"],[65494,1,"\u1171"],[65495,1,"\u1172"],[[65496,65497],3],[65498,1,"\u1173"],[65499,1,"\u1174"],[65500,1,"\u1175"],[[65501,65503],3],[65504,1,"\xA2"],[65505,1,"\xA3"],[65506,1,"\xAC"],[65507,5," \u0304"],[65508,1,"\xA6"],[65509,1,"\xA5"],[65510,1,"\u20A9"],[65511,3],[65512,1,"\u2502"],[65513,1,"\u2190"],[65514,1,"\u2191"],[65515,1,"\u2192"],[65516,1,"\u2193"],[65517,1,"\u25A0"],[65518,1,"\u25CB"],[[65519,65528],3],[[65529,65531],3],[65532,3],[65533,3],[[65534,65535],3],[[65536,65547],2],[65548,3],[[65549,65574],2],[65575,3],[[65576,65594],2],[65595,3],[[65596,65597],2],[65598,3],[[65599,65613],2],[[65614,65615],3],[[65616,65629],2],[[65630,65663],3],[[65664,65786],2],[[65787,65791],3],[[65792,65794],2],[[65795,65798],3],[[65799,65843],2],[[65844,65846],3],[[65847,65855],2],[[65856,65930],2],[[65931,65932],2],[[65933,65934],2],[65935,3],[[65936,65947],2],[65948,2],[[65949,65951],3],[65952,2],[[65953,65999],3],[[66e3,66044],2],[66045,2],[[66046,66175],3],[[66176,66204],2],[[66205,66207],3],[[66208,66256],2],[[66257,66271],3],[66272,2],[[66273,66299],2],[[66300,66303],3],[[66304,66334],2],[66335,2],[[66336,66339],2],[[66340,66348],3],[[66349,66351],2],[[66352,66368],2],[66369,2],[[66370,66377],2],[66378,2],[[66379,66383],3],[[66384,66426],2],[[66427,66431],3],[[66432,66461],2],[66462,3],[66463,2],[[66464,66499],2],[[66500,66503],3],[[66504,66511],2],[[66512,66517],2],[[66518,66559],3],[66560,1,"\u{10428}"],[66561,1,"\u{10429}"],[66562,1,"\u{1042A}"],[66563,1,"\u{1042B}"],[66564,1,"\u{1042C}"],[66565,1,"\u{1042D}"],[66566,1,"\u{1042E}"],[66567,1,"\u{1042F}"],[66568,1,"\u{10430}"],[66569,1,"\u{10431}"],[66570,1,"\u{10432}"],[66571,1,"\u{10433}"],[66572,1,"\u{10434}"],[66573,1,"\u{10435}"],[66574,1,"\u{10436}"],[66575,1,"\u{10437}"],[66576,1,"\u{10438}"],[66577,1,"\u{10439}"],[66578,1,"\u{1043A}"],[66579,1,"\u{1043B}"],[66580,1,"\u{1043C}"],[66581,1,"\u{1043D}"],[66582,1,"\u{1043E}"],[66583,1,"\u{1043F}"],[66584,1,"\u{10440}"],[66585,1,"\u{10441}"],[66586,1,"\u{10442}"],[66587,1,"\u{10443}"],[66588,1,"\u{10444}"],[66589,1,"\u{10445}"],[66590,1,"\u{10446}"],[66591,1,"\u{10447}"],[66592,1,"\u{10448}"],[66593,1,"\u{10449}"],[66594,1,"\u{1044A}"],[66595,1,"\u{1044B}"],[66596,1,"\u{1044C}"],[66597,1,"\u{1044D}"],[66598,1,"\u{1044E}"],[66599,1,"\u{1044F}"],[[66600,66637],2],[[66638,66717],2],[[66718,66719],3],[[66720,66729],2],[[66730,66735],3],[66736,1,"\u{104D8}"],[66737,1,"\u{104D9}"],[66738,1,"\u{104DA}"],[66739,1,"\u{104DB}"],[66740,1,"\u{104DC}"],[66741,1,"\u{104DD}"],[66742,1,"\u{104DE}"],[66743,1,"\u{104DF}"],[66744,1,"\u{104E0}"],[66745,1,"\u{104E1}"],[66746,1,"\u{104E2}"],[66747,1,"\u{104E3}"],[66748,1,"\u{104E4}"],[66749,1,"\u{104E5}"],[66750,1,"\u{104E6}"],[66751,1,"\u{104E7}"],[66752,1,"\u{104E8}"],[66753,1,"\u{104E9}"],[66754,1,"\u{104EA}"],[66755,1,"\u{104EB}"],[66756,1,"\u{104EC}"],[66757,1,"\u{104ED}"],[66758,1,"\u{104EE}"],[66759,1,"\u{104EF}"],[66760,1,"\u{104F0}"],[66761,1,"\u{104F1}"],[66762,1,"\u{104F2}"],[66763,1,"\u{104F3}"],[66764,1,"\u{104F4}"],[66765,1,"\u{104F5}"],[66766,1,"\u{104F6}"],[66767,1,"\u{104F7}"],[66768,1,"\u{104F8}"],[66769,1,"\u{104F9}"],[66770,1,"\u{104FA}"],[66771,1,"\u{104FB}"],[[66772,66775],3],[[66776,66811],2],[[66812,66815],3],[[66816,66855],2],[[66856,66863],3],[[66864,66915],2],[[66916,66926],3],[66927,2],[66928,1,"\u{10597}"],[66929,1,"\u{10598}"],[66930,1,"\u{10599}"],[66931,1,"\u{1059A}"],[66932,1,"\u{1059B}"],[66933,1,"\u{1059C}"],[66934,1,"\u{1059D}"],[66935,1,"\u{1059E}"],[66936,1,"\u{1059F}"],[66937,1,"\u{105A0}"],[66938,1,"\u{105A1}"],[66939,3],[66940,1,"\u{105A3}"],[66941,1,"\u{105A4}"],[66942,1,"\u{105A5}"],[66943,1,"\u{105A6}"],[66944,1,"\u{105A7}"],[66945,1,"\u{105A8}"],[66946,1,"\u{105A9}"],[66947,1,"\u{105AA}"],[66948,1,"\u{105AB}"],[66949,1,"\u{105AC}"],[66950,1,"\u{105AD}"],[66951,1,"\u{105AE}"],[66952,1,"\u{105AF}"],[66953,1,"\u{105B0}"],[66954,1,"\u{105B1}"],[66955,3],[66956,1,"\u{105B3}"],[66957,1,"\u{105B4}"],[66958,1,"\u{105B5}"],[66959,1,"\u{105B6}"],[66960,1,"\u{105B7}"],[66961,1,"\u{105B8}"],[66962,1,"\u{105B9}"],[66963,3],[66964,1,"\u{105BB}"],[66965,1,"\u{105BC}"],[66966,3],[[66967,66977],2],[66978,3],[[66979,66993],2],[66994,3],[[66995,67001],2],[67002,3],[[67003,67004],2],[[67005,67071],3],[[67072,67382],2],[[67383,67391],3],[[67392,67413],2],[[67414,67423],3],[[67424,67431],2],[[67432,67455],3],[67456,2],[67457,1,"\u02D0"],[67458,1,"\u02D1"],[67459,1,"\xE6"],[67460,1,"\u0299"],[67461,1,"\u0253"],[67462,3],[67463,1,"\u02A3"],[67464,1,"\uAB66"],[67465,1,"\u02A5"],[67466,1,"\u02A4"],[67467,1,"\u0256"],[67468,1,"\u0257"],[67469,1,"\u1D91"],[67470,1,"\u0258"],[67471,1,"\u025E"],[67472,1,"\u02A9"],[67473,1,"\u0264"],[67474,1,"\u0262"],[67475,1,"\u0260"],[67476,1,"\u029B"],[67477,1,"\u0127"],[67478,1,"\u029C"],[67479,1,"\u0267"],[67480,1,"\u0284"],[67481,1,"\u02AA"],[67482,1,"\u02AB"],[67483,1,"\u026C"],[67484,1,"\u{1DF04}"],[67485,1,"\uA78E"],[67486,1,"\u026E"],[67487,1,"\u{1DF05}"],[67488,1,"\u028E"],[67489,1,"\u{1DF06}"],[67490,1,"\xF8"],[67491,1,"\u0276"],[67492,1,"\u0277"],[67493,1,"q"],[67494,1,"\u027A"],[67495,1,"\u{1DF08}"],[67496,1,"\u027D"],[67497,1,"\u027E"],[67498,1,"\u0280"],[67499,1,"\u02A8"],[67500,1,"\u02A6"],[67501,1,"\uAB67"],[67502,1,"\u02A7"],[67503,1,"\u0288"],[67504,1,"\u2C71"],[67505,3],[67506,1,"\u028F"],[67507,1,"\u02A1"],[67508,1,"\u02A2"],[67509,1,"\u0298"],[67510,1,"\u01C0"],[67511,1,"\u01C1"],[67512,1,"\u01C2"],[67513,1,"\u{1DF0A}"],[67514,1,"\u{1DF1E}"],[[67515,67583],3],[[67584,67589],2],[[67590,67591],3],[67592,2],[67593,3],[[67594,67637],2],[67638,3],[[67639,67640],2],[[67641,67643],3],[67644,2],[[67645,67646],3],[67647,2],[[67648,67669],2],[67670,3],[[67671,67679],2],[[67680,67702],2],[[67703,67711],2],[[67712,67742],2],[[67743,67750],3],[[67751,67759],2],[[67760,67807],3],[[67808,67826],2],[67827,3],[[67828,67829],2],[[67830,67834],3],[[67835,67839],2],[[67840,67861],2],[[67862,67865],2],[[67866,67867],2],[[67868,67870],3],[67871,2],[[67872,67897],2],[[67898,67902],3],[67903,2],[[67904,67967],3],[[67968,68023],2],[[68024,68027],3],[[68028,68029],2],[[68030,68031],2],[[68032,68047],2],[[68048,68049],3],[[68050,68095],2],[[68096,68099],2],[68100,3],[[68101,68102],2],[[68103,68107],3],[[68108,68115],2],[68116,3],[[68117,68119],2],[68120,3],[[68121,68147],2],[[68148,68149],2],[[68150,68151],3],[[68152,68154],2],[[68155,68158],3],[68159,2],[[68160,68167],2],[68168,2],[[68169,68175],3],[[68176,68184],2],[[68185,68191],3],[[68192,68220],2],[[68221,68223],2],[[68224,68252],2],[[68253,68255],2],[[68256,68287],3],[[68288,68295],2],[68296,2],[[68297,68326],2],[[68327,68330],3],[[68331,68342],2],[[68343,68351],3],[[68352,68405],2],[[68406,68408],3],[[68409,68415],2],[[68416,68437],2],[[68438,68439],3],[[68440,68447],2],[[68448,68466],2],[[68467,68471],3],[[68472,68479],2],[[68480,68497],2],[[68498,68504],3],[[68505,68508],2],[[68509,68520],3],[[68521,68527],2],[[68528,68607],3],[[68608,68680],2],[[68681,68735],3],[68736,1,"\u{10CC0}"],[68737,1,"\u{10CC1}"],[68738,1,"\u{10CC2}"],[68739,1,"\u{10CC3}"],[68740,1,"\u{10CC4}"],[68741,1,"\u{10CC5}"],[68742,1,"\u{10CC6}"],[68743,1,"\u{10CC7}"],[68744,1,"\u{10CC8}"],[68745,1,"\u{10CC9}"],[68746,1,"\u{10CCA}"],[68747,1,"\u{10CCB}"],[68748,1,"\u{10CCC}"],[68749,1,"\u{10CCD}"],[68750,1,"\u{10CCE}"],[68751,1,"\u{10CCF}"],[68752,1,"\u{10CD0}"],[68753,1,"\u{10CD1}"],[68754,1,"\u{10CD2}"],[68755,1,"\u{10CD3}"],[68756,1,"\u{10CD4}"],[68757,1,"\u{10CD5}"],[68758,1,"\u{10CD6}"],[68759,1,"\u{10CD7}"],[68760,1,"\u{10CD8}"],[68761,1,"\u{10CD9}"],[68762,1,"\u{10CDA}"],[68763,1,"\u{10CDB}"],[68764,1,"\u{10CDC}"],[68765,1,"\u{10CDD}"],[68766,1,"\u{10CDE}"],[68767,1,"\u{10CDF}"],[68768,1,"\u{10CE0}"],[68769,1,"\u{10CE1}"],[68770,1,"\u{10CE2}"],[68771,1,"\u{10CE3}"],[68772,1,"\u{10CE4}"],[68773,1,"\u{10CE5}"],[68774,1,"\u{10CE6}"],[68775,1,"\u{10CE7}"],[68776,1,"\u{10CE8}"],[68777,1,"\u{10CE9}"],[68778,1,"\u{10CEA}"],[68779,1,"\u{10CEB}"],[68780,1,"\u{10CEC}"],[68781,1,"\u{10CED}"],[68782,1,"\u{10CEE}"],[68783,1,"\u{10CEF}"],[68784,1,"\u{10CF0}"],[68785,1,"\u{10CF1}"],[68786,1,"\u{10CF2}"],[[68787,68799],3],[[68800,68850],2],[[68851,68857],3],[[68858,68863],2],[[68864,68903],2],[[68904,68911],3],[[68912,68921],2],[[68922,69215],3],[[69216,69246],2],[69247,3],[[69248,69289],2],[69290,3],[[69291,69292],2],[69293,2],[[69294,69295],3],[[69296,69297],2],[[69298,69372],3],[[69373,69375],2],[[69376,69404],2],[[69405,69414],2],[69415,2],[[69416,69423],3],[[69424,69456],2],[[69457,69465],2],[[69466,69487],3],[[69488,69509],2],[[69510,69513],2],[[69514,69551],3],[[69552,69572],2],[[69573,69579],2],[[69580,69599],3],[[69600,69622],2],[[69623,69631],3],[[69632,69702],2],[[69703,69709],2],[[69710,69713],3],[[69714,69733],2],[[69734,69743],2],[[69744,69749],2],[[69750,69758],3],[69759,2],[[69760,69818],2],[[69819,69820],2],[69821,3],[[69822,69825],2],[69826,2],[[69827,69836],3],[69837,3],[[69838,69839],3],[[69840,69864],2],[[69865,69871],3],[[69872,69881],2],[[69882,69887],3],[[69888,69940],2],[69941,3],[[69942,69951],2],[[69952,69955],2],[[69956,69958],2],[69959,2],[[69960,69967],3],[[69968,70003],2],[[70004,70005],2],[70006,2],[[70007,70015],3],[[70016,70084],2],[[70085,70088],2],[[70089,70092],2],[70093,2],[[70094,70095],2],[[70096,70105],2],[70106,2],[70107,2],[70108,2],[[70109,70111],2],[70112,3],[[70113,70132],2],[[70133,70143],3],[[70144,70161],2],[70162,3],[[70163,70199],2],[[70200,70205],2],[70206,2],[[70207,70209],2],[[70210,70271],3],[[70272,70278],2],[70279,3],[70280,2],[70281,3],[[70282,70285],2],[70286,3],[[70287,70301],2],[70302,3],[[70303,70312],2],[70313,2],[[70314,70319],3],[[70320,70378],2],[[70379,70383],3],[[70384,70393],2],[[70394,70399],3],[70400,2],[[70401,70403],2],[70404,3],[[70405,70412],2],[[70413,70414],3],[[70415,70416],2],[[70417,70418],3],[[70419,70440],2],[70441,3],[[70442,70448],2],[70449,3],[[70450,70451],2],[70452,3],[[70453,70457],2],[70458,3],[70459,2],[[70460,70468],2],[[70469,70470],3],[[70471,70472],2],[[70473,70474],3],[[70475,70477],2],[[70478,70479],3],[70480,2],[[70481,70486],3],[70487,2],[[70488,70492],3],[[70493,70499],2],[[70500,70501],3],[[70502,70508],2],[[70509,70511],3],[[70512,70516],2],[[70517,70655],3],[[70656,70730],2],[[70731,70735],2],[[70736,70745],2],[70746,2],[70747,2],[70748,3],[70749,2],[70750,2],[70751,2],[[70752,70753],2],[[70754,70783],3],[[70784,70853],2],[70854,2],[70855,2],[[70856,70863],3],[[70864,70873],2],[[70874,71039],3],[[71040,71093],2],[[71094,71095],3],[[71096,71104],2],[[71105,71113],2],[[71114,71127],2],[[71128,71133],2],[[71134,71167],3],[[71168,71232],2],[[71233,71235],2],[71236,2],[[71237,71247],3],[[71248,71257],2],[[71258,71263],3],[[71264,71276],2],[[71277,71295],3],[[71296,71351],2],[71352,2],[71353,2],[[71354,71359],3],[[71360,71369],2],[[71370,71423],3],[[71424,71449],2],[71450,2],[[71451,71452],3],[[71453,71467],2],[[71468,71471],3],[[71472,71481],2],[[71482,71487],2],[[71488,71494],2],[[71495,71679],3],[[71680,71738],2],[71739,2],[[71740,71839],3],[71840,1,"\u{118C0}"],[71841,1,"\u{118C1}"],[71842,1,"\u{118C2}"],[71843,1,"\u{118C3}"],[71844,1,"\u{118C4}"],[71845,1,"\u{118C5}"],[71846,1,"\u{118C6}"],[71847,1,"\u{118C7}"],[71848,1,"\u{118C8}"],[71849,1,"\u{118C9}"],[71850,1,"\u{118CA}"],[71851,1,"\u{118CB}"],[71852,1,"\u{118CC}"],[71853,1,"\u{118CD}"],[71854,1,"\u{118CE}"],[71855,1,"\u{118CF}"],[71856,1,"\u{118D0}"],[71857,1,"\u{118D1}"],[71858,1,"\u{118D2}"],[71859,1,"\u{118D3}"],[71860,1,"\u{118D4}"],[71861,1,"\u{118D5}"],[71862,1,"\u{118D6}"],[71863,1,"\u{118D7}"],[71864,1,"\u{118D8}"],[71865,1,"\u{118D9}"],[71866,1,"\u{118DA}"],[71867,1,"\u{118DB}"],[71868,1,"\u{118DC}"],[71869,1,"\u{118DD}"],[71870,1,"\u{118DE}"],[71871,1,"\u{118DF}"],[[71872,71913],2],[[71914,71922],2],[[71923,71934],3],[71935,2],[[71936,71942],2],[[71943,71944],3],[71945,2],[[71946,71947],3],[[71948,71955],2],[71956,3],[[71957,71958],2],[71959,3],[[71960,71989],2],[71990,3],[[71991,71992],2],[[71993,71994],3],[[71995,72003],2],[[72004,72006],2],[[72007,72015],3],[[72016,72025],2],[[72026,72095],3],[[72096,72103],2],[[72104,72105],3],[[72106,72151],2],[[72152,72153],3],[[72154,72161],2],[72162,2],[[72163,72164],2],[[72165,72191],3],[[72192,72254],2],[[72255,72262],2],[72263,2],[[72264,72271],3],[[72272,72323],2],[[72324,72325],2],[[72326,72345],2],[[72346,72348],2],[72349,2],[[72350,72354],2],[[72355,72367],3],[[72368,72383],2],[[72384,72440],2],[[72441,72447],3],[[72448,72457],2],[[72458,72703],3],[[72704,72712],2],[72713,3],[[72714,72758],2],[72759,3],[[72760,72768],2],[[72769,72773],2],[[72774,72783],3],[[72784,72793],2],[[72794,72812],2],[[72813,72815],3],[[72816,72817],2],[[72818,72847],2],[[72848,72849],3],[[72850,72871],2],[72872,3],[[72873,72886],2],[[72887,72959],3],[[72960,72966],2],[72967,3],[[72968,72969],2],[72970,3],[[72971,73014],2],[[73015,73017],3],[73018,2],[73019,3],[[73020,73021],2],[73022,3],[[73023,73031],2],[[73032,73039],3],[[73040,73049],2],[[73050,73055],3],[[73056,73061],2],[73062,3],[[73063,73064],2],[73065,3],[[73066,73102],2],[73103,3],[[73104,73105],2],[73106,3],[[73107,73112],2],[[73113,73119],3],[[73120,73129],2],[[73130,73439],3],[[73440,73462],2],[[73463,73464],2],[[73465,73471],3],[[73472,73488],2],[73489,3],[[73490,73530],2],[[73531,73533],3],[[73534,73538],2],[[73539,73551],2],[[73552,73561],2],[[73562,73647],3],[73648,2],[[73649,73663],3],[[73664,73713],2],[[73714,73726],3],[73727,2],[[73728,74606],2],[[74607,74648],2],[74649,2],[[74650,74751],3],[[74752,74850],2],[[74851,74862],2],[74863,3],[[74864,74867],2],[74868,2],[[74869,74879],3],[[74880,75075],2],[[75076,77711],3],[[77712,77808],2],[[77809,77810],2],[[77811,77823],3],[[77824,78894],2],[78895,2],[[78896,78904],3],[[78905,78911],3],[[78912,78933],2],[[78934,82943],3],[[82944,83526],2],[[83527,92159],3],[[92160,92728],2],[[92729,92735],3],[[92736,92766],2],[92767,3],[[92768,92777],2],[[92778,92781],3],[[92782,92783],2],[[92784,92862],2],[92863,3],[[92864,92873],2],[[92874,92879],3],[[92880,92909],2],[[92910,92911],3],[[92912,92916],2],[92917,2],[[92918,92927],3],[[92928,92982],2],[[92983,92991],2],[[92992,92995],2],[[92996,92997],2],[[92998,93007],3],[[93008,93017],2],[93018,3],[[93019,93025],2],[93026,3],[[93027,93047],2],[[93048,93052],3],[[93053,93071],2],[[93072,93759],3],[93760,1,"\u{16E60}"],[93761,1,"\u{16E61}"],[93762,1,"\u{16E62}"],[93763,1,"\u{16E63}"],[93764,1,"\u{16E64}"],[93765,1,"\u{16E65}"],[93766,1,"\u{16E66}"],[93767,1,"\u{16E67}"],[93768,1,"\u{16E68}"],[93769,1,"\u{16E69}"],[93770,1,"\u{16E6A}"],[93771,1,"\u{16E6B}"],[93772,1,"\u{16E6C}"],[93773,1,"\u{16E6D}"],[93774,1,"\u{16E6E}"],[93775,1,"\u{16E6F}"],[93776,1,"\u{16E70}"],[93777,1,"\u{16E71}"],[93778,1,"\u{16E72}"],[93779,1,"\u{16E73}"],[93780,1,"\u{16E74}"],[93781,1,"\u{16E75}"],[93782,1,"\u{16E76}"],[93783,1,"\u{16E77}"],[93784,1,"\u{16E78}"],[93785,1,"\u{16E79}"],[93786,1,"\u{16E7A}"],[93787,1,"\u{16E7B}"],[93788,1,"\u{16E7C}"],[93789,1,"\u{16E7D}"],[93790,1,"\u{16E7E}"],[93791,1,"\u{16E7F}"],[[93792,93823],2],[[93824,93850],2],[[93851,93951],3],[[93952,94020],2],[[94021,94026],2],[[94027,94030],3],[94031,2],[[94032,94078],2],[[94079,94087],2],[[94088,94094],3],[[94095,94111],2],[[94112,94175],3],[94176,2],[94177,2],[94178,2],[94179,2],[94180,2],[[94181,94191],3],[[94192,94193],2],[[94194,94207],3],[[94208,100332],2],[[100333,100337],2],[[100338,100343],2],[[100344,100351],3],[[100352,101106],2],[[101107,101589],2],[[101590,101631],3],[[101632,101640],2],[[101641,110575],3],[[110576,110579],2],[110580,3],[[110581,110587],2],[110588,3],[[110589,110590],2],[110591,3],[[110592,110593],2],[[110594,110878],2],[[110879,110882],2],[[110883,110897],3],[110898,2],[[110899,110927],3],[[110928,110930],2],[[110931,110932],3],[110933,2],[[110934,110947],3],[[110948,110951],2],[[110952,110959],3],[[110960,111355],2],[[111356,113663],3],[[113664,113770],2],[[113771,113775],3],[[113776,113788],2],[[113789,113791],3],[[113792,113800],2],[[113801,113807],3],[[113808,113817],2],[[113818,113819],3],[113820,2],[[113821,113822],2],[113823,2],[[113824,113827],7],[[113828,118527],3],[[118528,118573],2],[[118574,118575],3],[[118576,118598],2],[[118599,118607],3],[[118608,118723],2],[[118724,118783],3],[[118784,119029],2],[[119030,119039],3],[[119040,119078],2],[[119079,119080],3],[119081,2],[[119082,119133],2],[119134,1,"\u{1D157}\u{1D165}"],[119135,1,"\u{1D158}\u{1D165}"],[119136,1,"\u{1D158}\u{1D165}\u{1D16E}"],[119137,1,"\u{1D158}\u{1D165}\u{1D16F}"],[119138,1,"\u{1D158}\u{1D165}\u{1D170}"],[119139,1,"\u{1D158}\u{1D165}\u{1D171}"],[119140,1,"\u{1D158}\u{1D165}\u{1D172}"],[[119141,119154],2],[[119155,119162],3],[[119163,119226],2],[119227,1,"\u{1D1B9}\u{1D165}"],[119228,1,"\u{1D1BA}\u{1D165}"],[119229,1,"\u{1D1B9}\u{1D165}\u{1D16E}"],[119230,1,"\u{1D1BA}\u{1D165}\u{1D16E}"],[119231,1,"\u{1D1B9}\u{1D165}\u{1D16F}"],[119232,1,"\u{1D1BA}\u{1D165}\u{1D16F}"],[[119233,119261],2],[[119262,119272],2],[[119273,119274],2],[[119275,119295],3],[[119296,119365],2],[[119366,119487],3],[[119488,119507],2],[[119508,119519],3],[[119520,119539],2],[[119540,119551],3],[[119552,119638],2],[[119639,119647],3],[[119648,119665],2],[[119666,119672],2],[[119673,119807],3],[119808,1,"a"],[119809,1,"b"],[119810,1,"c"],[119811,1,"d"],[119812,1,"e"],[119813,1,"f"],[119814,1,"g"],[119815,1,"h"],[119816,1,"i"],[119817,1,"j"],[119818,1,"k"],[119819,1,"l"],[119820,1,"m"],[119821,1,"n"],[119822,1,"o"],[119823,1,"p"],[119824,1,"q"],[119825,1,"r"],[119826,1,"s"],[119827,1,"t"],[119828,1,"u"],[119829,1,"v"],[119830,1,"w"],[119831,1,"x"],[119832,1,"y"],[119833,1,"z"],[119834,1,"a"],[119835,1,"b"],[119836,1,"c"],[119837,1,"d"],[119838,1,"e"],[119839,1,"f"],[119840,1,"g"],[119841,1,"h"],[119842,1,"i"],[119843,1,"j"],[119844,1,"k"],[119845,1,"l"],[119846,1,"m"],[119847,1,"n"],[119848,1,"o"],[119849,1,"p"],[119850,1,"q"],[119851,1,"r"],[119852,1,"s"],[119853,1,"t"],[119854,1,"u"],[119855,1,"v"],[119856,1,"w"],[119857,1,"x"],[119858,1,"y"],[119859,1,"z"],[119860,1,"a"],[119861,1,"b"],[119862,1,"c"],[119863,1,"d"],[119864,1,"e"],[119865,1,"f"],[119866,1,"g"],[119867,1,"h"],[119868,1,"i"],[119869,1,"j"],[119870,1,"k"],[119871,1,"l"],[119872,1,"m"],[119873,1,"n"],[119874,1,"o"],[119875,1,"p"],[119876,1,"q"],[119877,1,"r"],[119878,1,"s"],[119879,1,"t"],[119880,1,"u"],[119881,1,"v"],[119882,1,"w"],[119883,1,"x"],[119884,1,"y"],[119885,1,"z"],[119886,1,"a"],[119887,1,"b"],[119888,1,"c"],[119889,1,"d"],[119890,1,"e"],[119891,1,"f"],[119892,1,"g"],[119893,3],[119894,1,"i"],[119895,1,"j"],[119896,1,"k"],[119897,1,"l"],[119898,1,"m"],[119899,1,"n"],[119900,1,"o"],[119901,1,"p"],[119902,1,"q"],[119903,1,"r"],[119904,1,"s"],[119905,1,"t"],[119906,1,"u"],[119907,1,"v"],[119908,1,"w"],[119909,1,"x"],[119910,1,"y"],[119911,1,"z"],[119912,1,"a"],[119913,1,"b"],[119914,1,"c"],[119915,1,"d"],[119916,1,"e"],[119917,1,"f"],[119918,1,"g"],[119919,1,"h"],[119920,1,"i"],[119921,1,"j"],[119922,1,"k"],[119923,1,"l"],[119924,1,"m"],[119925,1,"n"],[119926,1,"o"],[119927,1,"p"],[119928,1,"q"],[119929,1,"r"],[119930,1,"s"],[119931,1,"t"],[119932,1,"u"],[119933,1,"v"],[119934,1,"w"],[119935,1,"x"],[119936,1,"y"],[119937,1,"z"],[119938,1,"a"],[119939,1,"b"],[119940,1,"c"],[119941,1,"d"],[119942,1,"e"],[119943,1,"f"],[119944,1,"g"],[119945,1,"h"],[119946,1,"i"],[119947,1,"j"],[119948,1,"k"],[119949,1,"l"],[119950,1,"m"],[119951,1,"n"],[119952,1,"o"],[119953,1,"p"],[119954,1,"q"],[119955,1,"r"],[119956,1,"s"],[119957,1,"t"],[119958,1,"u"],[119959,1,"v"],[119960,1,"w"],[119961,1,"x"],[119962,1,"y"],[119963,1,"z"],[119964,1,"a"],[119965,3],[119966,1,"c"],[119967,1,"d"],[[119968,119969],3],[119970,1,"g"],[[119971,119972],3],[119973,1,"j"],[119974,1,"k"],[[119975,119976],3],[119977,1,"n"],[119978,1,"o"],[119979,1,"p"],[119980,1,"q"],[119981,3],[119982,1,"s"],[119983,1,"t"],[119984,1,"u"],[119985,1,"v"],[119986,1,"w"],[119987,1,"x"],[119988,1,"y"],[119989,1,"z"],[119990,1,"a"],[119991,1,"b"],[119992,1,"c"],[119993,1,"d"],[119994,3],[119995,1,"f"],[119996,3],[119997,1,"h"],[119998,1,"i"],[119999,1,"j"],[12e4,1,"k"],[120001,1,"l"],[120002,1,"m"],[120003,1,"n"],[120004,3],[120005,1,"p"],[120006,1,"q"],[120007,1,"r"],[120008,1,"s"],[120009,1,"t"],[120010,1,"u"],[120011,1,"v"],[120012,1,"w"],[120013,1,"x"],[120014,1,"y"],[120015,1,"z"],[120016,1,"a"],[120017,1,"b"],[120018,1,"c"],[120019,1,"d"],[120020,1,"e"],[120021,1,"f"],[120022,1,"g"],[120023,1,"h"],[120024,1,"i"],[120025,1,"j"],[120026,1,"k"],[120027,1,"l"],[120028,1,"m"],[120029,1,"n"],[120030,1,"o"],[120031,1,"p"],[120032,1,"q"],[120033,1,"r"],[120034,1,"s"],[120035,1,"t"],[120036,1,"u"],[120037,1,"v"],[120038,1,"w"],[120039,1,"x"],[120040,1,"y"],[120041,1,"z"],[120042,1,"a"],[120043,1,"b"],[120044,1,"c"],[120045,1,"d"],[120046,1,"e"],[120047,1,"f"],[120048,1,"g"],[120049,1,"h"],[120050,1,"i"],[120051,1,"j"],[120052,1,"k"],[120053,1,"l"],[120054,1,"m"],[120055,1,"n"],[120056,1,"o"],[120057,1,"p"],[120058,1,"q"],[120059,1,"r"],[120060,1,"s"],[120061,1,"t"],[120062,1,"u"],[120063,1,"v"],[120064,1,"w"],[120065,1,"x"],[120066,1,"y"],[120067,1,"z"],[120068,1,"a"],[120069,1,"b"],[120070,3],[120071,1,"d"],[120072,1,"e"],[120073,1,"f"],[120074,1,"g"],[[120075,120076],3],[120077,1,"j"],[120078,1,"k"],[120079,1,"l"],[120080,1,"m"],[120081,1,"n"],[120082,1,"o"],[120083,1,"p"],[120084,1,"q"],[120085,3],[120086,1,"s"],[120087,1,"t"],[120088,1,"u"],[120089,1,"v"],[120090,1,"w"],[120091,1,"x"],[120092,1,"y"],[120093,3],[120094,1,"a"],[120095,1,"b"],[120096,1,"c"],[120097,1,"d"],[120098,1,"e"],[120099,1,"f"],[120100,1,"g"],[120101,1,"h"],[120102,1,"i"],[120103,1,"j"],[120104,1,"k"],[120105,1,"l"],[120106,1,"m"],[120107,1,"n"],[120108,1,"o"],[120109,1,"p"],[120110,1,"q"],[120111,1,"r"],[120112,1,"s"],[120113,1,"t"],[120114,1,"u"],[120115,1,"v"],[120116,1,"w"],[120117,1,"x"],[120118,1,"y"],[120119,1,"z"],[120120,1,"a"],[120121,1,"b"],[120122,3],[120123,1,"d"],[120124,1,"e"],[120125,1,"f"],[120126,1,"g"],[120127,3],[120128,1,"i"],[120129,1,"j"],[120130,1,"k"],[120131,1,"l"],[120132,1,"m"],[120133,3],[120134,1,"o"],[[120135,120137],3],[120138,1,"s"],[120139,1,"t"],[120140,1,"u"],[120141,1,"v"],[120142,1,"w"],[120143,1,"x"],[120144,1,"y"],[120145,3],[120146,1,"a"],[120147,1,"b"],[120148,1,"c"],[120149,1,"d"],[120150,1,"e"],[120151,1,"f"],[120152,1,"g"],[120153,1,"h"],[120154,1,"i"],[120155,1,"j"],[120156,1,"k"],[120157,1,"l"],[120158,1,"m"],[120159,1,"n"],[120160,1,"o"],[120161,1,"p"],[120162,1,"q"],[120163,1,"r"],[120164,1,"s"],[120165,1,"t"],[120166,1,"u"],[120167,1,"v"],[120168,1,"w"],[120169,1,"x"],[120170,1,"y"],[120171,1,"z"],[120172,1,"a"],[120173,1,"b"],[120174,1,"c"],[120175,1,"d"],[120176,1,"e"],[120177,1,"f"],[120178,1,"g"],[120179,1,"h"],[120180,1,"i"],[120181,1,"j"],[120182,1,"k"],[120183,1,"l"],[120184,1,"m"],[120185,1,"n"],[120186,1,"o"],[120187,1,"p"],[120188,1,"q"],[120189,1,"r"],[120190,1,"s"],[120191,1,"t"],[120192,1,"u"],[120193,1,"v"],[120194,1,"w"],[120195,1,"x"],[120196,1,"y"],[120197,1,"z"],[120198,1,"a"],[120199,1,"b"],[120200,1,"c"],[120201,1,"d"],[120202,1,"e"],[120203,1,"f"],[120204,1,"g"],[120205,1,"h"],[120206,1,"i"],[120207,1,"j"],[120208,1,"k"],[120209,1,"l"],[120210,1,"m"],[120211,1,"n"],[120212,1,"o"],[120213,1,"p"],[120214,1,"q"],[120215,1,"r"],[120216,1,"s"],[120217,1,"t"],[120218,1,"u"],[120219,1,"v"],[120220,1,"w"],[120221,1,"x"],[120222,1,"y"],[120223,1,"z"],[120224,1,"a"],[120225,1,"b"],[120226,1,"c"],[120227,1,"d"],[120228,1,"e"],[120229,1,"f"],[120230,1,"g"],[120231,1,"h"],[120232,1,"i"],[120233,1,"j"],[120234,1,"k"],[120235,1,"l"],[120236,1,"m"],[120237,1,"n"],[120238,1,"o"],[120239,1,"p"],[120240,1,"q"],[120241,1,"r"],[120242,1,"s"],[120243,1,"t"],[120244,1,"u"],[120245,1,"v"],[120246,1,"w"],[120247,1,"x"],[120248,1,"y"],[120249,1,"z"],[120250,1,"a"],[120251,1,"b"],[120252,1,"c"],[120253,1,"d"],[120254,1,"e"],[120255,1,"f"],[120256,1,"g"],[120257,1,"h"],[120258,1,"i"],[120259,1,"j"],[120260,1,"k"],[120261,1,"l"],[120262,1,"m"],[120263,1,"n"],[120264,1,"o"],[120265,1,"p"],[120266,1,"q"],[120267,1,"r"],[120268,1,"s"],[120269,1,"t"],[120270,1,"u"],[120271,1,"v"],[120272,1,"w"],[120273,1,"x"],[120274,1,"y"],[120275,1,"z"],[120276,1,"a"],[120277,1,"b"],[120278,1,"c"],[120279,1,"d"],[120280,1,"e"],[120281,1,"f"],[120282,1,"g"],[120283,1,"h"],[120284,1,"i"],[120285,1,"j"],[120286,1,"k"],[120287,1,"l"],[120288,1,"m"],[120289,1,"n"],[120290,1,"o"],[120291,1,"p"],[120292,1,"q"],[120293,1,"r"],[120294,1,"s"],[120295,1,"t"],[120296,1,"u"],[120297,1,"v"],[120298,1,"w"],[120299,1,"x"],[120300,1,"y"],[120301,1,"z"],[120302,1,"a"],[120303,1,"b"],[120304,1,"c"],[120305,1,"d"],[120306,1,"e"],[120307,1,"f"],[120308,1,"g"],[120309,1,"h"],[120310,1,"i"],[120311,1,"j"],[120312,1,"k"],[120313,1,"l"],[120314,1,"m"],[120315,1,"n"],[120316,1,"o"],[120317,1,"p"],[120318,1,"q"],[120319,1,"r"],[120320,1,"s"],[120321,1,"t"],[120322,1,"u"],[120323,1,"v"],[120324,1,"w"],[120325,1,"x"],[120326,1,"y"],[120327,1,"z"],[120328,1,"a"],[120329,1,"b"],[120330,1,"c"],[120331,1,"d"],[120332,1,"e"],[120333,1,"f"],[120334,1,"g"],[120335,1,"h"],[120336,1,"i"],[120337,1,"j"],[120338,1,"k"],[120339,1,"l"],[120340,1,"m"],[120341,1,"n"],[120342,1,"o"],[120343,1,"p"],[120344,1,"q"],[120345,1,"r"],[120346,1,"s"],[120347,1,"t"],[120348,1,"u"],[120349,1,"v"],[120350,1,"w"],[120351,1,"x"],[120352,1,"y"],[120353,1,"z"],[120354,1,"a"],[120355,1,"b"],[120356,1,"c"],[120357,1,"d"],[120358,1,"e"],[120359,1,"f"],[120360,1,"g"],[120361,1,"h"],[120362,1,"i"],[120363,1,"j"],[120364,1,"k"],[120365,1,"l"],[120366,1,"m"],[120367,1,"n"],[120368,1,"o"],[120369,1,"p"],[120370,1,"q"],[120371,1,"r"],[120372,1,"s"],[120373,1,"t"],[120374,1,"u"],[120375,1,"v"],[120376,1,"w"],[120377,1,"x"],[120378,1,"y"],[120379,1,"z"],[120380,1,"a"],[120381,1,"b"],[120382,1,"c"],[120383,1,"d"],[120384,1,"e"],[120385,1,"f"],[120386,1,"g"],[120387,1,"h"],[120388,1,"i"],[120389,1,"j"],[120390,1,"k"],[120391,1,"l"],[120392,1,"m"],[120393,1,"n"],[120394,1,"o"],[120395,1,"p"],[120396,1,"q"],[120397,1,"r"],[120398,1,"s"],[120399,1,"t"],[120400,1,"u"],[120401,1,"v"],[120402,1,"w"],[120403,1,"x"],[120404,1,"y"],[120405,1,"z"],[120406,1,"a"],[120407,1,"b"],[120408,1,"c"],[120409,1,"d"],[120410,1,"e"],[120411,1,"f"],[120412,1,"g"],[120413,1,"h"],[120414,1,"i"],[120415,1,"j"],[120416,1,"k"],[120417,1,"l"],[120418,1,"m"],[120419,1,"n"],[120420,1,"o"],[120421,1,"p"],[120422,1,"q"],[120423,1,"r"],[120424,1,"s"],[120425,1,"t"],[120426,1,"u"],[120427,1,"v"],[120428,1,"w"],[120429,1,"x"],[120430,1,"y"],[120431,1,"z"],[120432,1,"a"],[120433,1,"b"],[120434,1,"c"],[120435,1,"d"],[120436,1,"e"],[120437,1,"f"],[120438,1,"g"],[120439,1,"h"],[120440,1,"i"],[120441,1,"j"],[120442,1,"k"],[120443,1,"l"],[120444,1,"m"],[120445,1,"n"],[120446,1,"o"],[120447,1,"p"],[120448,1,"q"],[120449,1,"r"],[120450,1,"s"],[120451,1,"t"],[120452,1,"u"],[120453,1,"v"],[120454,1,"w"],[120455,1,"x"],[120456,1,"y"],[120457,1,"z"],[120458,1,"a"],[120459,1,"b"],[120460,1,"c"],[120461,1,"d"],[120462,1,"e"],[120463,1,"f"],[120464,1,"g"],[120465,1,"h"],[120466,1,"i"],[120467,1,"j"],[120468,1,"k"],[120469,1,"l"],[120470,1,"m"],[120471,1,"n"],[120472,1,"o"],[120473,1,"p"],[120474,1,"q"],[120475,1,"r"],[120476,1,"s"],[120477,1,"t"],[120478,1,"u"],[120479,1,"v"],[120480,1,"w"],[120481,1,"x"],[120482,1,"y"],[120483,1,"z"],[120484,1,"\u0131"],[120485,1,"\u0237"],[[120486,120487],3],[120488,1,"\u03B1"],[120489,1,"\u03B2"],[120490,1,"\u03B3"],[120491,1,"\u03B4"],[120492,1,"\u03B5"],[120493,1,"\u03B6"],[120494,1,"\u03B7"],[120495,1,"\u03B8"],[120496,1,"\u03B9"],[120497,1,"\u03BA"],[120498,1,"\u03BB"],[120499,1,"\u03BC"],[120500,1,"\u03BD"],[120501,1,"\u03BE"],[120502,1,"\u03BF"],[120503,1,"\u03C0"],[120504,1,"\u03C1"],[120505,1,"\u03B8"],[120506,1,"\u03C3"],[120507,1,"\u03C4"],[120508,1,"\u03C5"],[120509,1,"\u03C6"],[120510,1,"\u03C7"],[120511,1,"\u03C8"],[120512,1,"\u03C9"],[120513,1,"\u2207"],[120514,1,"\u03B1"],[120515,1,"\u03B2"],[120516,1,"\u03B3"],[120517,1,"\u03B4"],[120518,1,"\u03B5"],[120519,1,"\u03B6"],[120520,1,"\u03B7"],[120521,1,"\u03B8"],[120522,1,"\u03B9"],[120523,1,"\u03BA"],[120524,1,"\u03BB"],[120525,1,"\u03BC"],[120526,1,"\u03BD"],[120527,1,"\u03BE"],[120528,1,"\u03BF"],[120529,1,"\u03C0"],[120530,1,"\u03C1"],[[120531,120532],1,"\u03C3"],[120533,1,"\u03C4"],[120534,1,"\u03C5"],[120535,1,"\u03C6"],[120536,1,"\u03C7"],[120537,1,"\u03C8"],[120538,1,"\u03C9"],[120539,1,"\u2202"],[120540,1,"\u03B5"],[120541,1,"\u03B8"],[120542,1,"\u03BA"],[120543,1,"\u03C6"],[120544,1,"\u03C1"],[120545,1,"\u03C0"],[120546,1,"\u03B1"],[120547,1,"\u03B2"],[120548,1,"\u03B3"],[120549,1,"\u03B4"],[120550,1,"\u03B5"],[120551,1,"\u03B6"],[120552,1,"\u03B7"],[120553,1,"\u03B8"],[120554,1,"\u03B9"],[120555,1,"\u03BA"],[120556,1,"\u03BB"],[120557,1,"\u03BC"],[120558,1,"\u03BD"],[120559,1,"\u03BE"],[120560,1,"\u03BF"],[120561,1,"\u03C0"],[120562,1,"\u03C1"],[120563,1,"\u03B8"],[120564,1,"\u03C3"],[120565,1,"\u03C4"],[120566,1,"\u03C5"],[120567,1,"\u03C6"],[120568,1,"\u03C7"],[120569,1,"\u03C8"],[120570,1,"\u03C9"],[120571,1,"\u2207"],[120572,1,"\u03B1"],[120573,1,"\u03B2"],[120574,1,"\u03B3"],[120575,1,"\u03B4"],[120576,1,"\u03B5"],[120577,1,"\u03B6"],[120578,1,"\u03B7"],[120579,1,"\u03B8"],[120580,1,"\u03B9"],[120581,1,"\u03BA"],[120582,1,"\u03BB"],[120583,1,"\u03BC"],[120584,1,"\u03BD"],[120585,1,"\u03BE"],[120586,1,"\u03BF"],[120587,1,"\u03C0"],[120588,1,"\u03C1"],[[120589,120590],1,"\u03C3"],[120591,1,"\u03C4"],[120592,1,"\u03C5"],[120593,1,"\u03C6"],[120594,1,"\u03C7"],[120595,1,"\u03C8"],[120596,1,"\u03C9"],[120597,1,"\u2202"],[120598,1,"\u03B5"],[120599,1,"\u03B8"],[120600,1,"\u03BA"],[120601,1,"\u03C6"],[120602,1,"\u03C1"],[120603,1,"\u03C0"],[120604,1,"\u03B1"],[120605,1,"\u03B2"],[120606,1,"\u03B3"],[120607,1,"\u03B4"],[120608,1,"\u03B5"],[120609,1,"\u03B6"],[120610,1,"\u03B7"],[120611,1,"\u03B8"],[120612,1,"\u03B9"],[120613,1,"\u03BA"],[120614,1,"\u03BB"],[120615,1,"\u03BC"],[120616,1,"\u03BD"],[120617,1,"\u03BE"],[120618,1,"\u03BF"],[120619,1,"\u03C0"],[120620,1,"\u03C1"],[120621,1,"\u03B8"],[120622,1,"\u03C3"],[120623,1,"\u03C4"],[120624,1,"\u03C5"],[120625,1,"\u03C6"],[120626,1,"\u03C7"],[120627,1,"\u03C8"],[120628,1,"\u03C9"],[120629,1,"\u2207"],[120630,1,"\u03B1"],[120631,1,"\u03B2"],[120632,1,"\u03B3"],[120633,1,"\u03B4"],[120634,1,"\u03B5"],[120635,1,"\u03B6"],[120636,1,"\u03B7"],[120637,1,"\u03B8"],[120638,1,"\u03B9"],[120639,1,"\u03BA"],[120640,1,"\u03BB"],[120641,1,"\u03BC"],[120642,1,"\u03BD"],[120643,1,"\u03BE"],[120644,1,"\u03BF"],[120645,1,"\u03C0"],[120646,1,"\u03C1"],[[120647,120648],1,"\u03C3"],[120649,1,"\u03C4"],[120650,1,"\u03C5"],[120651,1,"\u03C6"],[120652,1,"\u03C7"],[120653,1,"\u03C8"],[120654,1,"\u03C9"],[120655,1,"\u2202"],[120656,1,"\u03B5"],[120657,1,"\u03B8"],[120658,1,"\u03BA"],[120659,1,"\u03C6"],[120660,1,"\u03C1"],[120661,1,"\u03C0"],[120662,1,"\u03B1"],[120663,1,"\u03B2"],[120664,1,"\u03B3"],[120665,1,"\u03B4"],[120666,1,"\u03B5"],[120667,1,"\u03B6"],[120668,1,"\u03B7"],[120669,1,"\u03B8"],[120670,1,"\u03B9"],[120671,1,"\u03BA"],[120672,1,"\u03BB"],[120673,1,"\u03BC"],[120674,1,"\u03BD"],[120675,1,"\u03BE"],[120676,1,"\u03BF"],[120677,1,"\u03C0"],[120678,1,"\u03C1"],[120679,1,"\u03B8"],[120680,1,"\u03C3"],[120681,1,"\u03C4"],[120682,1,"\u03C5"],[120683,1,"\u03C6"],[120684,1,"\u03C7"],[120685,1,"\u03C8"],[120686,1,"\u03C9"],[120687,1,"\u2207"],[120688,1,"\u03B1"],[120689,1,"\u03B2"],[120690,1,"\u03B3"],[120691,1,"\u03B4"],[120692,1,"\u03B5"],[120693,1,"\u03B6"],[120694,1,"\u03B7"],[120695,1,"\u03B8"],[120696,1,"\u03B9"],[120697,1,"\u03BA"],[120698,1,"\u03BB"],[120699,1,"\u03BC"],[120700,1,"\u03BD"],[120701,1,"\u03BE"],[120702,1,"\u03BF"],[120703,1,"\u03C0"],[120704,1,"\u03C1"],[[120705,120706],1,"\u03C3"],[120707,1,"\u03C4"],[120708,1,"\u03C5"],[120709,1,"\u03C6"],[120710,1,"\u03C7"],[120711,1,"\u03C8"],[120712,1,"\u03C9"],[120713,1,"\u2202"],[120714,1,"\u03B5"],[120715,1,"\u03B8"],[120716,1,"\u03BA"],[120717,1,"\u03C6"],[120718,1,"\u03C1"],[120719,1,"\u03C0"],[120720,1,"\u03B1"],[120721,1,"\u03B2"],[120722,1,"\u03B3"],[120723,1,"\u03B4"],[120724,1,"\u03B5"],[120725,1,"\u03B6"],[120726,1,"\u03B7"],[120727,1,"\u03B8"],[120728,1,"\u03B9"],[120729,1,"\u03BA"],[120730,1,"\u03BB"],[120731,1,"\u03BC"],[120732,1,"\u03BD"],[120733,1,"\u03BE"],[120734,1,"\u03BF"],[120735,1,"\u03C0"],[120736,1,"\u03C1"],[120737,1,"\u03B8"],[120738,1,"\u03C3"],[120739,1,"\u03C4"],[120740,1,"\u03C5"],[120741,1,"\u03C6"],[120742,1,"\u03C7"],[120743,1,"\u03C8"],[120744,1,"\u03C9"],[120745,1,"\u2207"],[120746,1,"\u03B1"],[120747,1,"\u03B2"],[120748,1,"\u03B3"],[120749,1,"\u03B4"],[120750,1,"\u03B5"],[120751,1,"\u03B6"],[120752,1,"\u03B7"],[120753,1,"\u03B8"],[120754,1,"\u03B9"],[120755,1,"\u03BA"],[120756,1,"\u03BB"],[120757,1,"\u03BC"],[120758,1,"\u03BD"],[120759,1,"\u03BE"],[120760,1,"\u03BF"],[120761,1,"\u03C0"],[120762,1,"\u03C1"],[[120763,120764],1,"\u03C3"],[120765,1,"\u03C4"],[120766,1,"\u03C5"],[120767,1,"\u03C6"],[120768,1,"\u03C7"],[120769,1,"\u03C8"],[120770,1,"\u03C9"],[120771,1,"\u2202"],[120772,1,"\u03B5"],[120773,1,"\u03B8"],[120774,1,"\u03BA"],[120775,1,"\u03C6"],[120776,1,"\u03C1"],[120777,1,"\u03C0"],[[120778,120779],1,"\u03DD"],[[120780,120781],3],[120782,1,"0"],[120783,1,"1"],[120784,1,"2"],[120785,1,"3"],[120786,1,"4"],[120787,1,"5"],[120788,1,"6"],[120789,1,"7"],[120790,1,"8"],[120791,1,"9"],[120792,1,"0"],[120793,1,"1"],[120794,1,"2"],[120795,1,"3"],[120796,1,"4"],[120797,1,"5"],[120798,1,"6"],[120799,1,"7"],[120800,1,"8"],[120801,1,"9"],[120802,1,"0"],[120803,1,"1"],[120804,1,"2"],[120805,1,"3"],[120806,1,"4"],[120807,1,"5"],[120808,1,"6"],[120809,1,"7"],[120810,1,"8"],[120811,1,"9"],[120812,1,"0"],[120813,1,"1"],[120814,1,"2"],[120815,1,"3"],[120816,1,"4"],[120817,1,"5"],[120818,1,"6"],[120819,1,"7"],[120820,1,"8"],[120821,1,"9"],[120822,1,"0"],[120823,1,"1"],[120824,1,"2"],[120825,1,"3"],[120826,1,"4"],[120827,1,"5"],[120828,1,"6"],[120829,1,"7"],[120830,1,"8"],[120831,1,"9"],[[120832,121343],2],[[121344,121398],2],[[121399,121402],2],[[121403,121452],2],[[121453,121460],2],[121461,2],[[121462,121475],2],[121476,2],[[121477,121483],2],[[121484,121498],3],[[121499,121503],2],[121504,3],[[121505,121519],2],[[121520,122623],3],[[122624,122654],2],[[122655,122660],3],[[122661,122666],2],[[122667,122879],3],[[122880,122886],2],[122887,3],[[122888,122904],2],[[122905,122906],3],[[122907,122913],2],[122914,3],[[122915,122916],2],[122917,3],[[122918,122922],2],[[122923,122927],3],[122928,1,"\u0430"],[122929,1,"\u0431"],[122930,1,"\u0432"],[122931,1,"\u0433"],[122932,1,"\u0434"],[122933,1,"\u0435"],[122934,1,"\u0436"],[122935,1,"\u0437"],[122936,1,"\u0438"],[122937,1,"\u043A"],[122938,1,"\u043B"],[122939,1,"\u043C"],[122940,1,"\u043E"],[122941,1,"\u043F"],[122942,1,"\u0440"],[122943,1,"\u0441"],[122944,1,"\u0442"],[122945,1,"\u0443"],[122946,1,"\u0444"],[122947,1,"\u0445"],[122948,1,"\u0446"],[122949,1,"\u0447"],[122950,1,"\u0448"],[122951,1,"\u044B"],[122952,1,"\u044D"],[122953,1,"\u044E"],[122954,1,"\uA689"],[122955,1,"\u04D9"],[122956,1,"\u0456"],[122957,1,"\u0458"],[122958,1,"\u04E9"],[122959,1,"\u04AF"],[122960,1,"\u04CF"],[122961,1,"\u0430"],[122962,1,"\u0431"],[122963,1,"\u0432"],[122964,1,"\u0433"],[122965,1,"\u0434"],[122966,1,"\u0435"],[122967,1,"\u0436"],[122968,1,"\u0437"],[122969,1,"\u0438"],[122970,1,"\u043A"],[122971,1,"\u043B"],[122972,1,"\u043E"],[122973,1,"\u043F"],[122974,1,"\u0441"],[122975,1,"\u0443"],[122976,1,"\u0444"],[122977,1,"\u0445"],[122978,1,"\u0446"],[122979,1,"\u0447"],[122980,1,"\u0448"],[122981,1,"\u044A"],[122982,1,"\u044B"],[122983,1,"\u0491"],[122984,1,"\u0456"],[122985,1,"\u0455"],[122986,1,"\u045F"],[122987,1,"\u04AB"],[122988,1,"\uA651"],[122989,1,"\u04B1"],[[122990,123022],3],[123023,2],[[123024,123135],3],[[123136,123180],2],[[123181,123183],3],[[123184,123197],2],[[123198,123199],3],[[123200,123209],2],[[123210,123213],3],[123214,2],[123215,2],[[123216,123535],3],[[123536,123566],2],[[123567,123583],3],[[123584,123641],2],[[123642,123646],3],[123647,2],[[123648,124111],3],[[124112,124153],2],[[124154,124895],3],[[124896,124902],2],[124903,3],[[124904,124907],2],[124908,3],[[124909,124910],2],[124911,3],[[124912,124926],2],[124927,3],[[124928,125124],2],[[125125,125126],3],[[125127,125135],2],[[125136,125142],2],[[125143,125183],3],[125184,1,"\u{1E922}"],[125185,1,"\u{1E923}"],[125186,1,"\u{1E924}"],[125187,1,"\u{1E925}"],[125188,1,"\u{1E926}"],[125189,1,"\u{1E927}"],[125190,1,"\u{1E928}"],[125191,1,"\u{1E929}"],[125192,1,"\u{1E92A}"],[125193,1,"\u{1E92B}"],[125194,1,"\u{1E92C}"],[125195,1,"\u{1E92D}"],[125196,1,"\u{1E92E}"],[125197,1,"\u{1E92F}"],[125198,1,"\u{1E930}"],[125199,1,"\u{1E931}"],[125200,1,"\u{1E932}"],[125201,1,"\u{1E933}"],[125202,1,"\u{1E934}"],[125203,1,"\u{1E935}"],[125204,1,"\u{1E936}"],[125205,1,"\u{1E937}"],[125206,1,"\u{1E938}"],[125207,1,"\u{1E939}"],[125208,1,"\u{1E93A}"],[125209,1,"\u{1E93B}"],[125210,1,"\u{1E93C}"],[125211,1,"\u{1E93D}"],[125212,1,"\u{1E93E}"],[125213,1,"\u{1E93F}"],[125214,1,"\u{1E940}"],[125215,1,"\u{1E941}"],[125216,1,"\u{1E942}"],[125217,1,"\u{1E943}"],[[125218,125258],2],[125259,2],[[125260,125263],3],[[125264,125273],2],[[125274,125277],3],[[125278,125279],2],[[125280,126064],3],[[126065,126132],2],[[126133,126208],3],[[126209,126269],2],[[126270,126463],3],[126464,1,"\u0627"],[126465,1,"\u0628"],[126466,1,"\u062C"],[126467,1,"\u062F"],[126468,3],[126469,1,"\u0648"],[126470,1,"\u0632"],[126471,1,"\u062D"],[126472,1,"\u0637"],[126473,1,"\u064A"],[126474,1,"\u0643"],[126475,1,"\u0644"],[126476,1,"\u0645"],[126477,1,"\u0646"],[126478,1,"\u0633"],[126479,1,"\u0639"],[126480,1,"\u0641"],[126481,1,"\u0635"],[126482,1,"\u0642"],[126483,1,"\u0631"],[126484,1,"\u0634"],[126485,1,"\u062A"],[126486,1,"\u062B"],[126487,1,"\u062E"],[126488,1,"\u0630"],[126489,1,"\u0636"],[126490,1,"\u0638"],[126491,1,"\u063A"],[126492,1,"\u066E"],[126493,1,"\u06BA"],[126494,1,"\u06A1"],[126495,1,"\u066F"],[126496,3],[126497,1,"\u0628"],[126498,1,"\u062C"],[126499,3],[126500,1,"\u0647"],[[126501,126502],3],[126503,1,"\u062D"],[126504,3],[126505,1,"\u064A"],[126506,1,"\u0643"],[126507,1,"\u0644"],[126508,1,"\u0645"],[126509,1,"\u0646"],[126510,1,"\u0633"],[126511,1,"\u0639"],[126512,1,"\u0641"],[126513,1,"\u0635"],[126514,1,"\u0642"],[126515,3],[126516,1,"\u0634"],[126517,1,"\u062A"],[126518,1,"\u062B"],[126519,1,"\u062E"],[126520,3],[126521,1,"\u0636"],[126522,3],[126523,1,"\u063A"],[[126524,126529],3],[126530,1,"\u062C"],[[126531,126534],3],[126535,1,"\u062D"],[126536,3],[126537,1,"\u064A"],[126538,3],[126539,1,"\u0644"],[126540,3],[126541,1,"\u0646"],[126542,1,"\u0633"],[126543,1,"\u0639"],[126544,3],[126545,1,"\u0635"],[126546,1,"\u0642"],[126547,3],[126548,1,"\u0634"],[[126549,126550],3],[126551,1,"\u062E"],[126552,3],[126553,1,"\u0636"],[126554,3],[126555,1,"\u063A"],[126556,3],[126557,1,"\u06BA"],[126558,3],[126559,1,"\u066F"],[126560,3],[126561,1,"\u0628"],[126562,1,"\u062C"],[126563,3],[126564,1,"\u0647"],[[126565,126566],3],[126567,1,"\u062D"],[126568,1,"\u0637"],[126569,1,"\u064A"],[126570,1,"\u0643"],[126571,3],[126572,1,"\u0645"],[126573,1,"\u0646"],[126574,1,"\u0633"],[126575,1,"\u0639"],[126576,1,"\u0641"],[126577,1,"\u0635"],[126578,1,"\u0642"],[126579,3],[126580,1,"\u0634"],[126581,1,"\u062A"],[126582,1,"\u062B"],[126583,1,"\u062E"],[126584,3],[126585,1,"\u0636"],[126586,1,"\u0638"],[126587,1,"\u063A"],[126588,1,"\u066E"],[126589,3],[126590,1,"\u06A1"],[126591,3],[126592,1,"\u0627"],[126593,1,"\u0628"],[126594,1,"\u062C"],[126595,1,"\u062F"],[126596,1,"\u0647"],[126597,1,"\u0648"],[126598,1,"\u0632"],[126599,1,"\u062D"],[126600,1,"\u0637"],[126601,1,"\u064A"],[126602,3],[126603,1,"\u0644"],[126604,1,"\u0645"],[126605,1,"\u0646"],[126606,1,"\u0633"],[126607,1,"\u0639"],[126608,1,"\u0641"],[126609,1,"\u0635"],[126610,1,"\u0642"],[126611,1,"\u0631"],[126612,1,"\u0634"],[126613,1,"\u062A"],[126614,1,"\u062B"],[126615,1,"\u062E"],[126616,1,"\u0630"],[126617,1,"\u0636"],[126618,1,"\u0638"],[126619,1,"\u063A"],[[126620,126624],3],[126625,1,"\u0628"],[126626,1,"\u062C"],[126627,1,"\u062F"],[126628,3],[126629,1,"\u0648"],[126630,1,"\u0632"],[126631,1,"\u062D"],[126632,1,"\u0637"],[126633,1,"\u064A"],[126634,3],[126635,1,"\u0644"],[126636,1,"\u0645"],[126637,1,"\u0646"],[126638,1,"\u0633"],[126639,1,"\u0639"],[126640,1,"\u0641"],[126641,1,"\u0635"],[126642,1,"\u0642"],[126643,1,"\u0631"],[126644,1,"\u0634"],[126645,1,"\u062A"],[126646,1,"\u062B"],[126647,1,"\u062E"],[126648,1,"\u0630"],[126649,1,"\u0636"],[126650,1,"\u0638"],[126651,1,"\u063A"],[[126652,126703],3],[[126704,126705],2],[[126706,126975],3],[[126976,127019],2],[[127020,127023],3],[[127024,127123],2],[[127124,127135],3],[[127136,127150],2],[[127151,127152],3],[[127153,127166],2],[127167,2],[127168,3],[[127169,127183],2],[127184,3],[[127185,127199],2],[[127200,127221],2],[[127222,127231],3],[127232,3],[127233,5,"0,"],[127234,5,"1,"],[127235,5,"2,"],[127236,5,"3,"],[127237,5,"4,"],[127238,5,"5,"],[127239,5,"6,"],[127240,5,"7,"],[127241,5,"8,"],[127242,5,"9,"],[[127243,127244],2],[[127245,127247],2],[127248,5,"(a)"],[127249,5,"(b)"],[127250,5,"(c)"],[127251,5,"(d)"],[127252,5,"(e)"],[127253,5,"(f)"],[127254,5,"(g)"],[127255,5,"(h)"],[127256,5,"(i)"],[127257,5,"(j)"],[127258,5,"(k)"],[127259,5,"(l)"],[127260,5,"(m)"],[127261,5,"(n)"],[127262,5,"(o)"],[127263,5,"(p)"],[127264,5,"(q)"],[127265,5,"(r)"],[127266,5,"(s)"],[127267,5,"(t)"],[127268,5,"(u)"],[127269,5,"(v)"],[127270,5,"(w)"],[127271,5,"(x)"],[127272,5,"(y)"],[127273,5,"(z)"],[127274,1,"\u3014s\u3015"],[127275,1,"c"],[127276,1,"r"],[127277,1,"cd"],[127278,1,"wz"],[127279,2],[127280,1,"a"],[127281,1,"b"],[127282,1,"c"],[127283,1,"d"],[127284,1,"e"],[127285,1,"f"],[127286,1,"g"],[127287,1,"h"],[127288,1,"i"],[127289,1,"j"],[127290,1,"k"],[127291,1,"l"],[127292,1,"m"],[127293,1,"n"],[127294,1,"o"],[127295,1,"p"],[127296,1,"q"],[127297,1,"r"],[127298,1,"s"],[127299,1,"t"],[127300,1,"u"],[127301,1,"v"],[127302,1,"w"],[127303,1,"x"],[127304,1,"y"],[127305,1,"z"],[127306,1,"hv"],[127307,1,"mv"],[127308,1,"sd"],[127309,1,"ss"],[127310,1,"ppv"],[127311,1,"wc"],[[127312,127318],2],[127319,2],[[127320,127326],2],[127327,2],[[127328,127337],2],[127338,1,"mc"],[127339,1,"md"],[127340,1,"mr"],[[127341,127343],2],[[127344,127352],2],[127353,2],[127354,2],[[127355,127356],2],[[127357,127358],2],[127359,2],[[127360,127369],2],[[127370,127373],2],[[127374,127375],2],[127376,1,"dj"],[[127377,127386],2],[[127387,127404],2],[127405,2],[[127406,127461],3],[[127462,127487],2],[127488,1,"\u307B\u304B"],[127489,1,"\u30B3\u30B3"],[127490,1,"\u30B5"],[[127491,127503],3],[127504,1,"\u624B"],[127505,1,"\u5B57"],[127506,1,"\u53CC"],[127507,1,"\u30C7"],[127508,1,"\u4E8C"],[127509,1,"\u591A"],[127510,1,"\u89E3"],[127511,1,"\u5929"],[127512,1,"\u4EA4"],[127513,1,"\u6620"],[127514,1,"\u7121"],[127515,1,"\u6599"],[127516,1,"\u524D"],[127517,1,"\u5F8C"],[127518,1,"\u518D"],[127519,1,"\u65B0"],[127520,1,"\u521D"],[127521,1,"\u7D42"],[127522,1,"\u751F"],[127523,1,"\u8CA9"],[127524,1,"\u58F0"],[127525,1,"\u5439"],[127526,1,"\u6F14"],[127527,1,"\u6295"],[127528,1,"\u6355"],[127529,1,"\u4E00"],[127530,1,"\u4E09"],[127531,1,"\u904A"],[127532,1,"\u5DE6"],[127533,1,"\u4E2D"],[127534,1,"\u53F3"],[127535,1,"\u6307"],[127536,1,"\u8D70"],[127537,1,"\u6253"],[127538,1,"\u7981"],[127539,1,"\u7A7A"],[127540,1,"\u5408"],[127541,1,"\u6E80"],[127542,1,"\u6709"],[127543,1,"\u6708"],[127544,1,"\u7533"],[127545,1,"\u5272"],[127546,1,"\u55B6"],[127547,1,"\u914D"],[[127548,127551],3],[127552,1,"\u3014\u672C\u3015"],[127553,1,"\u3014\u4E09\u3015"],[127554,1,"\u3014\u4E8C\u3015"],[127555,1,"\u3014\u5B89\u3015"],[127556,1,"\u3014\u70B9\u3015"],[127557,1,"\u3014\u6253\u3015"],[127558,1,"\u3014\u76D7\u3015"],[127559,1,"\u3014\u52DD\u3015"],[127560,1,"\u3014\u6557\u3015"],[[127561,127567],3],[127568,1,"\u5F97"],[127569,1,"\u53EF"],[[127570,127583],3],[[127584,127589],2],[[127590,127743],3],[[127744,127776],2],[[127777,127788],2],[[127789,127791],2],[[127792,127797],2],[127798,2],[[127799,127868],2],[127869,2],[[127870,127871],2],[[127872,127891],2],[[127892,127903],2],[[127904,127940],2],[127941,2],[[127942,127946],2],[[127947,127950],2],[[127951,127955],2],[[127956,127967],2],[[127968,127984],2],[[127985,127991],2],[[127992,127999],2],[[128e3,128062],2],[128063,2],[128064,2],[128065,2],[[128066,128247],2],[128248,2],[[128249,128252],2],[[128253,128254],2],[128255,2],[[128256,128317],2],[[128318,128319],2],[[128320,128323],2],[[128324,128330],2],[[128331,128335],2],[[128336,128359],2],[[128360,128377],2],[128378,2],[[128379,128419],2],[128420,2],[[128421,128506],2],[[128507,128511],2],[128512,2],[[128513,128528],2],[128529,2],[[128530,128532],2],[128533,2],[128534,2],[128535,2],[128536,2],[128537,2],[128538,2],[128539,2],[[128540,128542],2],[128543,2],[[128544,128549],2],[[128550,128551],2],[[128552,128555],2],[128556,2],[128557,2],[[128558,128559],2],[[128560,128563],2],[128564,2],[[128565,128576],2],[[128577,128578],2],[[128579,128580],2],[[128581,128591],2],[[128592,128639],2],[[128640,128709],2],[[128710,128719],2],[128720,2],[[128721,128722],2],[[128723,128724],2],[128725,2],[[128726,128727],2],[[128728,128731],3],[128732,2],[[128733,128735],2],[[128736,128748],2],[[128749,128751],3],[[128752,128755],2],[[128756,128758],2],[[128759,128760],2],[128761,2],[128762,2],[[128763,128764],2],[[128765,128767],3],[[128768,128883],2],[[128884,128886],2],[[128887,128890],3],[[128891,128895],2],[[128896,128980],2],[[128981,128984],2],[128985,2],[[128986,128991],3],[[128992,129003],2],[[129004,129007],3],[129008,2],[[129009,129023],3],[[129024,129035],2],[[129036,129039],3],[[129040,129095],2],[[129096,129103],3],[[129104,129113],2],[[129114,129119],3],[[129120,129159],2],[[129160,129167],3],[[129168,129197],2],[[129198,129199],3],[[129200,129201],2],[[129202,129279],3],[[129280,129291],2],[129292,2],[[129293,129295],2],[[129296,129304],2],[[129305,129310],2],[129311,2],[[129312,129319],2],[[129320,129327],2],[129328,2],[[129329,129330],2],[[129331,129342],2],[129343,2],[[129344,129355],2],[129356,2],[[129357,129359],2],[[129360,129374],2],[[129375,129387],2],[[129388,129392],2],[129393,2],[129394,2],[[129395,129398],2],[[129399,129400],2],[129401,2],[129402,2],[129403,2],[[129404,129407],2],[[129408,129412],2],[[129413,129425],2],[[129426,129431],2],[[129432,129442],2],[[129443,129444],2],[[129445,129450],2],[[129451,129453],2],[[129454,129455],2],[[129456,129465],2],[[129466,129471],2],[129472,2],[[129473,129474],2],[[129475,129482],2],[129483,2],[129484,2],[[129485,129487],2],[[129488,129510],2],[[129511,129535],2],[[129536,129619],2],[[129620,129631],3],[[129632,129645],2],[[129646,129647],3],[[129648,129651],2],[129652,2],[[129653,129655],2],[[129656,129658],2],[[129659,129660],2],[[129661,129663],3],[[129664,129666],2],[[129667,129670],2],[[129671,129672],2],[[129673,129679],3],[[129680,129685],2],[[129686,129704],2],[[129705,129708],2],[[129709,129711],2],[[129712,129718],2],[[129719,129722],2],[[129723,129725],2],[129726,3],[129727,2],[[129728,129730],2],[[129731,129733],2],[[129734,129741],3],[[129742,129743],2],[[129744,129750],2],[[129751,129753],2],[[129754,129755],2],[[129756,129759],3],[[129760,129767],2],[129768,2],[[129769,129775],3],[[129776,129782],2],[[129783,129784],2],[[129785,129791],3],[[129792,129938],2],[129939,3],[[129940,129994],2],[[129995,130031],3],[130032,1,"0"],[130033,1,"1"],[130034,1,"2"],[130035,1,"3"],[130036,1,"4"],[130037,1,"5"],[130038,1,"6"],[130039,1,"7"],[130040,1,"8"],[130041,1,"9"],[[130042,131069],3],[[131070,131071],3],[[131072,173782],2],[[173783,173789],2],[[173790,173791],2],[[173792,173823],3],[[173824,177972],2],[[177973,177976],2],[177977,2],[[177978,177983],3],[[177984,178205],2],[[178206,178207],3],[[178208,183969],2],[[183970,183983],3],[[183984,191456],2],[[191457,194559],3],[194560,1,"\u4E3D"],[194561,1,"\u4E38"],[194562,1,"\u4E41"],[194563,1,"\u{20122}"],[194564,1,"\u4F60"],[194565,1,"\u4FAE"],[194566,1,"\u4FBB"],[194567,1,"\u5002"],[194568,1,"\u507A"],[194569,1,"\u5099"],[194570,1,"\u50E7"],[194571,1,"\u50CF"],[194572,1,"\u349E"],[194573,1,"\u{2063A}"],[194574,1,"\u514D"],[194575,1,"\u5154"],[194576,1,"\u5164"],[194577,1,"\u5177"],[194578,1,"\u{2051C}"],[194579,1,"\u34B9"],[194580,1,"\u5167"],[194581,1,"\u518D"],[194582,1,"\u{2054B}"],[194583,1,"\u5197"],[194584,1,"\u51A4"],[194585,1,"\u4ECC"],[194586,1,"\u51AC"],[194587,1,"\u51B5"],[194588,1,"\u{291DF}"],[194589,1,"\u51F5"],[194590,1,"\u5203"],[194591,1,"\u34DF"],[194592,1,"\u523B"],[194593,1,"\u5246"],[194594,1,"\u5272"],[194595,1,"\u5277"],[194596,1,"\u3515"],[194597,1,"\u52C7"],[194598,1,"\u52C9"],[194599,1,"\u52E4"],[194600,1,"\u52FA"],[194601,1,"\u5305"],[194602,1,"\u5306"],[194603,1,"\u5317"],[194604,1,"\u5349"],[194605,1,"\u5351"],[194606,1,"\u535A"],[194607,1,"\u5373"],[194608,1,"\u537D"],[[194609,194611],1,"\u537F"],[194612,1,"\u{20A2C}"],[194613,1,"\u7070"],[194614,1,"\u53CA"],[194615,1,"\u53DF"],[194616,1,"\u{20B63}"],[194617,1,"\u53EB"],[194618,1,"\u53F1"],[194619,1,"\u5406"],[194620,1,"\u549E"],[194621,1,"\u5438"],[194622,1,"\u5448"],[194623,1,"\u5468"],[194624,1,"\u54A2"],[194625,1,"\u54F6"],[194626,1,"\u5510"],[194627,1,"\u5553"],[194628,1,"\u5563"],[[194629,194630],1,"\u5584"],[194631,1,"\u5599"],[194632,1,"\u55AB"],[194633,1,"\u55B3"],[194634,1,"\u55C2"],[194635,1,"\u5716"],[194636,1,"\u5606"],[194637,1,"\u5717"],[194638,1,"\u5651"],[194639,1,"\u5674"],[194640,1,"\u5207"],[194641,1,"\u58EE"],[194642,1,"\u57CE"],[194643,1,"\u57F4"],[194644,1,"\u580D"],[194645,1,"\u578B"],[194646,1,"\u5832"],[194647,1,"\u5831"],[194648,1,"\u58AC"],[194649,1,"\u{214E4}"],[194650,1,"\u58F2"],[194651,1,"\u58F7"],[194652,1,"\u5906"],[194653,1,"\u591A"],[194654,1,"\u5922"],[194655,1,"\u5962"],[194656,1,"\u{216A8}"],[194657,1,"\u{216EA}"],[194658,1,"\u59EC"],[194659,1,"\u5A1B"],[194660,1,"\u5A27"],[194661,1,"\u59D8"],[194662,1,"\u5A66"],[194663,1,"\u36EE"],[194664,3],[194665,1,"\u5B08"],[[194666,194667],1,"\u5B3E"],[194668,1,"\u{219C8}"],[194669,1,"\u5BC3"],[194670,1,"\u5BD8"],[194671,1,"\u5BE7"],[194672,1,"\u5BF3"],[194673,1,"\u{21B18}"],[194674,1,"\u5BFF"],[194675,1,"\u5C06"],[194676,3],[194677,1,"\u5C22"],[194678,1,"\u3781"],[194679,1,"\u5C60"],[194680,1,"\u5C6E"],[194681,1,"\u5CC0"],[194682,1,"\u5C8D"],[194683,1,"\u{21DE4}"],[194684,1,"\u5D43"],[194685,1,"\u{21DE6}"],[194686,1,"\u5D6E"],[194687,1,"\u5D6B"],[194688,1,"\u5D7C"],[194689,1,"\u5DE1"],[194690,1,"\u5DE2"],[194691,1,"\u382F"],[194692,1,"\u5DFD"],[194693,1,"\u5E28"],[194694,1,"\u5E3D"],[194695,1,"\u5E69"],[194696,1,"\u3862"],[194697,1,"\u{22183}"],[194698,1,"\u387C"],[194699,1,"\u5EB0"],[194700,1,"\u5EB3"],[194701,1,"\u5EB6"],[194702,1,"\u5ECA"],[194703,1,"\u{2A392}"],[194704,1,"\u5EFE"],[[194705,194706],1,"\u{22331}"],[194707,1,"\u8201"],[[194708,194709],1,"\u5F22"],[194710,1,"\u38C7"],[194711,1,"\u{232B8}"],[194712,1,"\u{261DA}"],[194713,1,"\u5F62"],[194714,1,"\u5F6B"],[194715,1,"\u38E3"],[194716,1,"\u5F9A"],[194717,1,"\u5FCD"],[194718,1,"\u5FD7"],[194719,1,"\u5FF9"],[194720,1,"\u6081"],[194721,1,"\u393A"],[194722,1,"\u391C"],[194723,1,"\u6094"],[194724,1,"\u{226D4}"],[194725,1,"\u60C7"],[194726,1,"\u6148"],[194727,1,"\u614C"],[194728,1,"\u614E"],[194729,1,"\u614C"],[194730,1,"\u617A"],[194731,1,"\u618E"],[194732,1,"\u61B2"],[194733,1,"\u61A4"],[194734,1,"\u61AF"],[194735,1,"\u61DE"],[194736,1,"\u61F2"],[194737,1,"\u61F6"],[194738,1,"\u6210"],[194739,1,"\u621B"],[194740,1,"\u625D"],[194741,1,"\u62B1"],[194742,1,"\u62D4"],[194743,1,"\u6350"],[194744,1,"\u{22B0C}"],[194745,1,"\u633D"],[194746,1,"\u62FC"],[194747,1,"\u6368"],[194748,1,"\u6383"],[194749,1,"\u63E4"],[194750,1,"\u{22BF1}"],[194751,1,"\u6422"],[194752,1,"\u63C5"],[194753,1,"\u63A9"],[194754,1,"\u3A2E"],[194755,1,"\u6469"],[194756,1,"\u647E"],[194757,1,"\u649D"],[194758,1,"\u6477"],[194759,1,"\u3A6C"],[194760,1,"\u654F"],[194761,1,"\u656C"],[194762,1,"\u{2300A}"],[194763,1,"\u65E3"],[194764,1,"\u66F8"],[194765,1,"\u6649"],[194766,1,"\u3B19"],[194767,1,"\u6691"],[194768,1,"\u3B08"],[194769,1,"\u3AE4"],[194770,1,"\u5192"],[194771,1,"\u5195"],[194772,1,"\u6700"],[194773,1,"\u669C"],[194774,1,"\u80AD"],[194775,1,"\u43D9"],[194776,1,"\u6717"],[194777,1,"\u671B"],[194778,1,"\u6721"],[194779,1,"\u675E"],[194780,1,"\u6753"],[194781,1,"\u{233C3}"],[194782,1,"\u3B49"],[194783,1,"\u67FA"],[194784,1,"\u6785"],[194785,1,"\u6852"],[194786,1,"\u6885"],[194787,1,"\u{2346D}"],[194788,1,"\u688E"],[194789,1,"\u681F"],[194790,1,"\u6914"],[194791,1,"\u3B9D"],[194792,1,"\u6942"],[194793,1,"\u69A3"],[194794,1,"\u69EA"],[194795,1,"\u6AA8"],[194796,1,"\u{236A3}"],[194797,1,"\u6ADB"],[194798,1,"\u3C18"],[194799,1,"\u6B21"],[194800,1,"\u{238A7}"],[194801,1,"\u6B54"],[194802,1,"\u3C4E"],[194803,1,"\u6B72"],[194804,1,"\u6B9F"],[194805,1,"\u6BBA"],[194806,1,"\u6BBB"],[194807,1,"\u{23A8D}"],[194808,1,"\u{21D0B}"],[194809,1,"\u{23AFA}"],[194810,1,"\u6C4E"],[194811,1,"\u{23CBC}"],[194812,1,"\u6CBF"],[194813,1,"\u6CCD"],[194814,1,"\u6C67"],[194815,1,"\u6D16"],[194816,1,"\u6D3E"],[194817,1,"\u6D77"],[194818,1,"\u6D41"],[194819,1,"\u6D69"],[194820,1,"\u6D78"],[194821,1,"\u6D85"],[194822,1,"\u{23D1E}"],[194823,1,"\u6D34"],[194824,1,"\u6E2F"],[194825,1,"\u6E6E"],[194826,1,"\u3D33"],[194827,1,"\u6ECB"],[194828,1,"\u6EC7"],[194829,1,"\u{23ED1}"],[194830,1,"\u6DF9"],[194831,1,"\u6F6E"],[194832,1,"\u{23F5E}"],[194833,1,"\u{23F8E}"],[194834,1,"\u6FC6"],[194835,1,"\u7039"],[194836,1,"\u701E"],[194837,1,"\u701B"],[194838,1,"\u3D96"],[194839,1,"\u704A"],[194840,1,"\u707D"],[194841,1,"\u7077"],[194842,1,"\u70AD"],[194843,1,"\u{20525}"],[194844,1,"\u7145"],[194845,1,"\u{24263}"],[194846,1,"\u719C"],[194847,3],[194848,1,"\u7228"],[194849,1,"\u7235"],[194850,1,"\u7250"],[194851,1,"\u{24608}"],[194852,1,"\u7280"],[194853,1,"\u7295"],[194854,1,"\u{24735}"],[194855,1,"\u{24814}"],[194856,1,"\u737A"],[194857,1,"\u738B"],[194858,1,"\u3EAC"],[194859,1,"\u73A5"],[[194860,194861],1,"\u3EB8"],[194862,1,"\u7447"],[194863,1,"\u745C"],[194864,1,"\u7471"],[194865,1,"\u7485"],[194866,1,"\u74CA"],[194867,1,"\u3F1B"],[194868,1,"\u7524"],[194869,1,"\u{24C36}"],[194870,1,"\u753E"],[194871,1,"\u{24C92}"],[194872,1,"\u7570"],[194873,1,"\u{2219F}"],[194874,1,"\u7610"],[194875,1,"\u{24FA1}"],[194876,1,"\u{24FB8}"],[194877,1,"\u{25044}"],[194878,1,"\u3FFC"],[194879,1,"\u4008"],[194880,1,"\u76F4"],[194881,1,"\u{250F3}"],[194882,1,"\u{250F2}"],[194883,1,"\u{25119}"],[194884,1,"\u{25133}"],[194885,1,"\u771E"],[[194886,194887],1,"\u771F"],[194888,1,"\u774A"],[194889,1,"\u4039"],[194890,1,"\u778B"],[194891,1,"\u4046"],[194892,1,"\u4096"],[194893,1,"\u{2541D}"],[194894,1,"\u784E"],[194895,1,"\u788C"],[194896,1,"\u78CC"],[194897,1,"\u40E3"],[194898,1,"\u{25626}"],[194899,1,"\u7956"],[194900,1,"\u{2569A}"],[194901,1,"\u{256C5}"],[194902,1,"\u798F"],[194903,1,"\u79EB"],[194904,1,"\u412F"],[194905,1,"\u7A40"],[194906,1,"\u7A4A"],[194907,1,"\u7A4F"],[194908,1,"\u{2597C}"],[[194909,194910],1,"\u{25AA7}"],[194911,3],[194912,1,"\u4202"],[194913,1,"\u{25BAB}"],[194914,1,"\u7BC6"],[194915,1,"\u7BC9"],[194916,1,"\u4227"],[194917,1,"\u{25C80}"],[194918,1,"\u7CD2"],[194919,1,"\u42A0"],[194920,1,"\u7CE8"],[194921,1,"\u7CE3"],[194922,1,"\u7D00"],[194923,1,"\u{25F86}"],[194924,1,"\u7D63"],[194925,1,"\u4301"],[194926,1,"\u7DC7"],[194927,1,"\u7E02"],[194928,1,"\u7E45"],[194929,1,"\u4334"],[194930,1,"\u{26228}"],[194931,1,"\u{26247}"],[194932,1,"\u4359"],[194933,1,"\u{262D9}"],[194934,1,"\u7F7A"],[194935,1,"\u{2633E}"],[194936,1,"\u7F95"],[194937,1,"\u7FFA"],[194938,1,"\u8005"],[194939,1,"\u{264DA}"],[194940,1,"\u{26523}"],[194941,1,"\u8060"],[194942,1,"\u{265A8}"],[194943,1,"\u8070"],[194944,1,"\u{2335F}"],[194945,1,"\u43D5"],[194946,1,"\u80B2"],[194947,1,"\u8103"],[194948,1,"\u440B"],[194949,1,"\u813E"],[194950,1,"\u5AB5"],[194951,1,"\u{267A7}"],[194952,1,"\u{267B5}"],[194953,1,"\u{23393}"],[194954,1,"\u{2339C}"],[194955,1,"\u8201"],[194956,1,"\u8204"],[194957,1,"\u8F9E"],[194958,1,"\u446B"],[194959,1,"\u8291"],[194960,1,"\u828B"],[194961,1,"\u829D"],[194962,1,"\u52B3"],[194963,1,"\u82B1"],[194964,1,"\u82B3"],[194965,1,"\u82BD"],[194966,1,"\u82E6"],[194967,1,"\u{26B3C}"],[194968,1,"\u82E5"],[194969,1,"\u831D"],[194970,1,"\u8363"],[194971,1,"\u83AD"],[194972,1,"\u8323"],[194973,1,"\u83BD"],[194974,1,"\u83E7"],[194975,1,"\u8457"],[194976,1,"\u8353"],[194977,1,"\u83CA"],[194978,1,"\u83CC"],[194979,1,"\u83DC"],[194980,1,"\u{26C36}"],[194981,1,"\u{26D6B}"],[194982,1,"\u{26CD5}"],[194983,1,"\u452B"],[194984,1,"\u84F1"],[194985,1,"\u84F3"],[194986,1,"\u8516"],[194987,1,"\u{273CA}"],[194988,1,"\u8564"],[194989,1,"\u{26F2C}"],[194990,1,"\u455D"],[194991,1,"\u4561"],[194992,1,"\u{26FB1}"],[194993,1,"\u{270D2}"],[194994,1,"\u456B"],[194995,1,"\u8650"],[194996,1,"\u865C"],[194997,1,"\u8667"],[194998,1,"\u8669"],[194999,1,"\u86A9"],[195e3,1,"\u8688"],[195001,1,"\u870E"],[195002,1,"\u86E2"],[195003,1,"\u8779"],[195004,1,"\u8728"],[195005,1,"\u876B"],[195006,1,"\u8786"],[195007,3],[195008,1,"\u87E1"],[195009,1,"\u8801"],[195010,1,"\u45F9"],[195011,1,"\u8860"],[195012,1,"\u8863"],[195013,1,"\u{27667}"],[195014,1,"\u88D7"],[195015,1,"\u88DE"],[195016,1,"\u4635"],[195017,1,"\u88FA"],[195018,1,"\u34BB"],[195019,1,"\u{278AE}"],[195020,1,"\u{27966}"],[195021,1,"\u46BE"],[195022,1,"\u46C7"],[195023,1,"\u8AA0"],[195024,1,"\u8AED"],[195025,1,"\u8B8A"],[195026,1,"\u8C55"],[195027,1,"\u{27CA8}"],[195028,1,"\u8CAB"],[195029,1,"\u8CC1"],[195030,1,"\u8D1B"],[195031,1,"\u8D77"],[195032,1,"\u{27F2F}"],[195033,1,"\u{20804}"],[195034,1,"\u8DCB"],[195035,1,"\u8DBC"],[195036,1,"\u8DF0"],[195037,1,"\u{208DE}"],[195038,1,"\u8ED4"],[195039,1,"\u8F38"],[195040,1,"\u{285D2}"],[195041,1,"\u{285ED}"],[195042,1,"\u9094"],[195043,1,"\u90F1"],[195044,1,"\u9111"],[195045,1,"\u{2872E}"],[195046,1,"\u911B"],[195047,1,"\u9238"],[195048,1,"\u92D7"],[195049,1,"\u92D8"],[195050,1,"\u927C"],[195051,1,"\u93F9"],[195052,1,"\u9415"],[195053,1,"\u{28BFA}"],[195054,1,"\u958B"],[195055,1,"\u4995"],[195056,1,"\u95B7"],[195057,1,"\u{28D77}"],[195058,1,"\u49E6"],[195059,1,"\u96C3"],[195060,1,"\u5DB2"],[195061,1,"\u9723"],[195062,1,"\u{29145}"],[195063,1,"\u{2921A}"],[195064,1,"\u4A6E"],[195065,1,"\u4A76"],[195066,1,"\u97E0"],[195067,1,"\u{2940A}"],[195068,1,"\u4AB2"],[195069,1,"\u{29496}"],[[195070,195071],1,"\u980B"],[195072,1,"\u9829"],[195073,1,"\u{295B6}"],[195074,1,"\u98E2"],[195075,1,"\u4B33"],[195076,1,"\u9929"],[195077,1,"\u99A7"],[195078,1,"\u99C2"],[195079,1,"\u99FE"],[195080,1,"\u4BCE"],[195081,1,"\u{29B30}"],[195082,1,"\u9B12"],[195083,1,"\u9C40"],[195084,1,"\u9CFD"],[195085,1,"\u4CCE"],[195086,1,"\u4CED"],[195087,1,"\u9D67"],[195088,1,"\u{2A0CE}"],[195089,1,"\u4CF8"],[195090,1,"\u{2A105}"],[195091,1,"\u{2A20E}"],[195092,1,"\u{2A291}"],[195093,1,"\u9EBB"],[195094,1,"\u4D56"],[195095,1,"\u9EF9"],[195096,1,"\u9EFE"],[195097,1,"\u9F05"],[195098,1,"\u9F0F"],[195099,1,"\u9F16"],[195100,1,"\u9F3B"],[195101,1,"\u{2A600}"],[[195102,196605],3],[[196606,196607],3],[[196608,201546],2],[[201547,201551],3],[[201552,205743],2],[[205744,262141],3],[[262142,262143],3],[[262144,327677],3],[[327678,327679],3],[[327680,393213],3],[[393214,393215],3],[[393216,458749],3],[[458750,458751],3],[[458752,524285],3],[[524286,524287],3],[[524288,589821],3],[[589822,589823],3],[[589824,655357],3],[[655358,655359],3],[[655360,720893],3],[[720894,720895],3],[[720896,786429],3],[[786430,786431],3],[[786432,851965],3],[[851966,851967],3],[[851968,917501],3],[[917502,917503],3],[917504,3],[917505,3],[[917506,917535],3],[[917536,917631],3],[[917632,917759],3],[[917760,917999],7],[[918e3,983037],3],[[983038,983039],3],[[983040,1048573],3],[[1048574,1048575],3],[[1048576,1114109],3],[[1114110,1114111],3]]});var D4=m((dN,w4)=>{"use strict";w4.exports.STATUS_MAPPING={mapped:1,valid:2,disallowed:3,disallowed_STD3_valid:4,disallowed_STD3_mapped:5,deviation:6,ignored:7}});var F4=m((fN,T4)=>{"use strict";var th=(C4(),d7(g4)),jt=S4(),_4=O4(),{STATUS_MAPPING:it}=D4();function bS(t){return/[^\x00-\x7F]/u.test(t)}function B4(t,{useSTD3ASCIIRules:e}){let r=0,n=_4.length-1;for(;r<=n;){let s=Math.floor((r+n)/2),o=_4[s],i=Array.isArray(o[0])?o[0][0]:o[0],u=Array.isArray(o[0])?o[0][1]:o[0];if(i<=t&&u>=t)return e&&(o[1]===it.disallowed_STD3_valid||o[1]===it.disallowed_STD3_mapped)?[it.disallowed,...o.slice(2)]:o[1]===it.disallowed_STD3_valid?[it.valid,...o.slice(2)]:o[1]===it.disallowed_STD3_mapped?[it.mapped,...o.slice(2)]:o.slice(1);i>t?n=s-1:r=s+1}return null}function TS(t,{useSTD3ASCIIRules:e,processingOption:r}){let n=!1,s="";for(let o of t){let[i,u]=B4(o.codePointAt(0),{useSTD3ASCIIRules:e});switch(i){case it.disallowed:n=!0,s+=o;break;case it.ignored:break;case it.mapped:s+=u;break;case it.deviation:r==="transitional"?s+=u:s+=o;break;case it.valid:s+=o;break}}return{string:s,error:n}}function FS(t,{checkHyphens:e,checkBidi:r,checkJoiners:n,processingOption:s,useSTD3ASCIIRules:o}){if(t.normalize("NFC")!==t)return!1;let i=Array.from(t);if(e&&(i[2]==="-"&&i[3]==="-"||t.startsWith("-")||t.endsWith("-"))||t.includes(".")||i.length>0&&jt.combiningMarks.test(i[0]))return!1;for(let u of i){let[a]=B4(u.codePointAt(0),{useSTD3ASCIIRules:o});if(s==="transitional"&&a!==it.valid||s==="nontransitional"&&a!==it.valid&&a!==it.deviation)return!1}if(n){let u=0;for(let[a,c]of i.entries())if(c==="\u200C"||c==="\u200D"){if(a>0){if(jt.combiningClassVirama.test(i[a-1]))continue;if(c==="\u200C"){let l=i.indexOf("\u200C",a+1),h=l<0?i.slice(u):i.slice(u,l);if(jt.validZWNJ.test(h.join(""))){u=a+1;continue}}}return!1}}if(r&&i.length>0){let u;if(jt.bidiS1LTR.test(i[0]))u=!1;else if(jt.bidiS1RTL.test(i[0]))u=!0;else return!1;if(u){if(!jt.bidiS2.test(t)||!jt.bidiS3.test(t)||jt.bidiS4EN.test(t)&&jt.bidiS4AN.test(t))return!1}else if(!jt.bidiS5.test(t)||!jt.bidiS6.test(t))return!1}return!0}function NS(t){let e=t.map(r=>{if(r.startsWith("xn--"))try{return th.decode(r.substring(4))}catch{return""}return r}).join(".");return jt.bidiDomain.test(e)}function b4(t,e){let{processingOption:r}=e,{string:n,error:s}=TS(t,e);n=n.normalize("NFC");let o=n.split("."),i=NS(o);for(let[u,a]of o.entries()){let c=a,l=r;if(c.startsWith("xn--")){try{c=th.decode(c.substring(4)),o[u]=c}catch{s=!0;continue}l="nontransitional"}if(s)continue;FS(c,{...e,processingOption:l,checkBidi:e.checkBidi&&i})||(s=!0)}return{string:o.join("."),error:s}}function RS(t,{checkHyphens:e=!1,checkBidi:r=!1,checkJoiners:n=!1,useSTD3ASCIIRules:s=!1,processingOption:o="nontransitional",verifyDNSLength:i=!1}={}){if(o!=="transitional"&&o!=="nontransitional")throw new RangeError("processingOption must be either transitional or nontransitional");let u=b4(t,{processingOption:o,checkHyphens:e,checkBidi:r,checkJoiners:n,useSTD3ASCIIRules:s}),a=u.string.split(".");if(a=a.map(c=>{if(bS(c))try{return`xn--${th.encode(c)}`}catch{u.error=!0}return c}),i){let c=a.join(".").length;(c>253||c===0)&&(u.error=!0);for(let l=0;l<a.length;++l)if(a[l].length>63||a[l].length===0){u.error=!0;break}}return u.error?null:a.join(".")}function MS(t,{checkHyphens:e=!1,checkBidi:r=!1,checkJoiners:n=!1,useSTD3ASCIIRules:s=!1,processingOption:o="nontransitional"}={}){let i=b4(t,{processingOption:o,checkHyphens:e,checkBidi:r,checkJoiners:n,useSTD3ASCIIRules:s});return{domain:i.string,error:i.error}}T4.exports={toASCII:RS,toUnicode:MS}});var nh=m((pN,R4)=>{"use strict";function rh(t){return t>=48&&t<=57}function N4(t){return t>=65&&t<=90||t>=97&&t<=122}function IS(t){return N4(t)||rh(t)}function vS(t){return rh(t)||t>=65&&t<=70||t>=97&&t<=102}R4.exports={isASCIIDigit:rh,isASCIIAlpha:N4,isASCIIAlphanumeric:IS,isASCIIHex:vS}});var Ca=m((mN,M4)=>{"use strict";var PS=new TextEncoder,LS=new TextDecoder("utf-8",{ignoreBOM:!0});function xS(t){return PS.encode(t)}function kS(t){return LS.decode(t)}M4.exports={utf8Encode:xS,utf8DecodeWithoutBOM:kS}});var ya=m((EN,q4)=>{"use strict";var{isASCIIHex:I4}=nh(),{utf8Encode:v4}=Ca();function Q(t){return t.codePointAt(0)}function qS(t){let e=t.toString(16).toUpperCase();return e.length===1&&(e=`0${e}`),`%${e}`}function P4(t){let e=new Uint8Array(t.byteLength),r=0;for(let n=0;n<t.byteLength;++n){let s=t[n];if(s!==37)e[r++]=s;else if(s===37&&(!I4(t[n+1])||!I4(t[n+2])))e[r++]=s;else{let o=parseInt(String.fromCodePoint(t[n+1],t[n+2]),16);e[r++]=o,n+=2}}return e.slice(0,r)}function US(t){let e=v4(t);return P4(e)}function sh(t){return t<=31||t>126}var jS=new Set([Q(" "),Q('"'),Q("<"),Q(">"),Q("`")]);function zS(t){return sh(t)||jS.has(t)}var WS=new Set([Q(" "),Q('"'),Q("#"),Q("<"),Q(">")]);function oh(t){return sh(t)||WS.has(t)}function VS(t){return oh(t)||t===Q("'")}var $S=new Set([Q("?"),Q("`"),Q("{"),Q("}")]);function L4(t){return oh(t)||$S.has(t)}var GS=new Set([Q("/"),Q(":"),Q(";"),Q("="),Q("@"),Q("["),Q("\\"),Q("]"),Q("^"),Q("|")]);function x4(t){return L4(t)||GS.has(t)}var HS=new Set([Q("$"),Q("%"),Q("&"),Q("+"),Q(",")]);function KS(t){return x4(t)||HS.has(t)}var YS=new Set([Q("!"),Q("'"),Q("("),Q(")"),Q("~")]);function XS(t){return KS(t)||YS.has(t)}function k4(t,e){let r=v4(t),n="";for(let s of r)e(s)?n+=qS(s):n+=String.fromCharCode(s);return n}function JS(t,e){return k4(String.fromCodePoint(t),e)}function QS(t,e,r=!1){let n="";for(let s of t)r&&s===" "?n+="+":n+=k4(s,e);return n}q4.exports={isC0ControlPercentEncode:sh,isFragmentPercentEncode:zS,isQueryPercentEncode:oh,isSpecialQueryPercentEncode:VS,isPathPercentEncode:L4,isUserinfoPercentEncode:x4,isURLEncodedPercentEncode:XS,percentDecodeString:US,percentDecodeBytes:P4,utf8PercentEncodeString:QS,utf8PercentEncodeCodePoint:JS}});var hh=m((AN,ut)=>{"use strict";var ZS=F4(),He=nh(),{utf8DecodeWithoutBOM:eO}=Ca(),{percentDecodeString:tO,utf8PercentEncodeCodePoint:Oa,utf8PercentEncodeString:wa,isC0ControlPercentEncode:W4,isFragmentPercentEncode:rO,isQueryPercentEncode:nO,isSpecialQueryPercentEncode:sO,isPathPercentEncode:oO,isUserinfoPercentEncode:ah}=ya();function w(t){return t.codePointAt(0)}var V4={ftp:21,file:null,http:80,https:443,ws:80,wss:443},j=Symbol("failure");function U4(t){return[...t].length}function j4(t,e){let r=t[e];return isNaN(r)?void 0:String.fromCodePoint(r)}function z4(t){return t==="."||t.toLowerCase()==="%2e"}function iO(t){return t=t.toLowerCase(),t===".."||t==="%2e."||t===".%2e"||t==="%2e%2e"}function uO(t,e){return He.isASCIIAlpha(t)&&(e===w(":")||e===w("|"))}function $4(t){return t.length===2&&He.isASCIIAlpha(t.codePointAt(0))&&(t[1]===":"||t[1]==="|")}function aO(t){return t.length===2&&He.isASCIIAlpha(t.codePointAt(0))&&t[1]===":"}function G4(t){return t.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|<|>|\?|@|\[|\\|\]|\^|\|/u)!==-1}function cO(t){return G4(t)||t.search(/[\u0000-\u001F]|%|\u007F/u)!==-1}function Sa(t){return V4[t]!==void 0}function Ge(t){return Sa(t.scheme)}function ih(t){return!Sa(t.scheme)}function H4(t){return V4[t]}function K4(t){if(t==="")return j;let e=10;if(t.length>=2&&t.charAt(0)==="0"&&t.charAt(1).toLowerCase()==="x"?(t=t.substring(2),e=16):t.length>=2&&t.charAt(0)==="0"&&(t=t.substring(1),e=8),t==="")return 0;let r=/[^0-7]/u;return e===10&&(r=/[^0-9]/u),e===16&&(r=/[^0-9A-Fa-f]/u),r.test(t)?j:parseInt(t,e)}function lO(t){let e=t.split(".");if(e[e.length-1]===""&&e.length>1&&e.pop(),e.length>4)return j;let r=[];for(let o of e){let i=K4(o);if(i===j)return j;r.push(i)}for(let o=0;o<r.length-1;++o)if(r[o]>255)return j;if(r[r.length-1]>=256**(5-r.length))return j;let n=r.pop(),s=0;for(let o of r)n+=o*256**(3-s),++s;return n}function hO(t){let e="",r=t;for(let n=1;n<=4;++n)e=String(r%256)+e,n!==4&&(e=`.${e}`),r=Math.floor(r/256);return e}function dO(t){let e=[0,0,0,0,0,0,0,0],r=0,n=null,s=0;if(t=Array.from(t,o=>o.codePointAt(0)),t[s]===w(":")){if(t[s+1]!==w(":"))return j;s+=2,++r,n=r}for(;s<t.length;){if(r===8)return j;if(t[s]===w(":")){if(n!==null)return j;++s,++r,n=r;continue}let o=0,i=0;for(;i<4&&He.isASCIIHex(t[s]);)o=o*16+parseInt(j4(t,s),16),++s,++i;if(t[s]===w(".")){if(i===0||(s-=i,r>6))return j;let u=0;for(;t[s]!==void 0;){let a=null;if(u>0)if(t[s]===w(".")&&u<4)++s;else return j;if(!He.isASCIIDigit(t[s]))return j;for(;He.isASCIIDigit(t[s]);){let c=parseInt(j4(t,s));if(a===null)a=c;else{if(a===0)return j;a=a*10+c}if(a>255)return j;++s}e[r]=e[r]*256+a,++u,(u===2||u===4)&&++r}if(u!==4)return j;break}else if(t[s]===w(":")){if(++s,t[s]===void 0)return j}else if(t[s]!==void 0)return j;e[r]=o,++r}if(n!==null){let o=r-n;for(r=7;r!==0&&o>0;){let i=e[n+o-1];e[n+o-1]=e[r],e[r]=i,--r,--o}}else if(n===null&&r!==8)return j;return e}function fO(t){let e="",r=EO(t),n=!1;for(let s=0;s<=7;++s)if(!(n&&t[s]===0)){if(n&&(n=!1),r===s){e+=s===0?"::":":",n=!0;continue}e+=t[s].toString(16),s!==7&&(e+=":")}return e}function uh(t,e=!1){if(t[0]==="[")return t[t.length-1]!=="]"?j:dO(t.substring(1,t.length-1));if(e)return mO(t);let r=eO(tO(t)),n=AO(r);return n===j||cO(n)?j:pO(n)?lO(n):n}function pO(t){let e=t.split(".");if(e[e.length-1]===""){if(e.length===1)return!1;e.pop()}let r=e[e.length-1];return!!(K4(r)!==j||/^[0-9]+$/u.test(r))}function mO(t){return G4(t)?j:wa(t,W4)}function EO(t){let e=null,r=1,n=null,s=0;for(let o=0;o<t.length;++o)t[o]!==0?(s>r&&(e=n,r=s),n=null,s=0):(n===null&&(n=o),++s);return s>r?n:e}function ch(t){return typeof t=="number"?hO(t):t instanceof Array?`[${fO(t)}]`:t}function AO(t,e=!1){let r=ZS.toASCII(t,{checkBidi:!0,checkHyphens:!1,checkJoiners:!0,useSTD3ASCIIRules:e,verifyDNSLength:e});return r===null||r===""?j:r}function gO(t){return t.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/ug,"")}function CO(t){return t.replace(/\u0009|\u000A|\u000D/ug,"")}function Y4(t){let{path:e}=t;e.length!==0&&(t.scheme==="file"&&e.length===1&&SO(e[0])||e.pop())}function X4(t){return t.username!==""||t.password!==""}function yO(t){return t.host===null||t.host===""||t.scheme==="file"}function D1(t){return typeof t.path=="string"}function SO(t){return/^[A-Za-z]:$/u.test(t)}function we(t,e,r,n,s){if(this.pointer=0,this.input=t,this.base=e||null,this.encodingOverride=r||"utf-8",this.stateOverride=s,this.url=n,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null};let i=gO(this.input);i!==this.input&&(this.parseError=!0),this.input=i}let o=CO(this.input);for(o!==this.input&&(this.parseError=!0),this.input=o,this.state=s||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=Array.from(this.input,i=>i.codePointAt(0));this.pointer<=this.input.length;++this.pointer){let i=this.input[this.pointer],u=isNaN(i)?void 0:String.fromCodePoint(i),a=this[`parse ${this.state}`](i,u);if(a){if(a===j){this.failure=!0;break}}else break}}we.prototype["parse scheme start"]=function(e,r){if(He.isASCIIAlpha(e))this.buffer+=r.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,j;return!0};we.prototype["parse scheme"]=function(e,r){if(He.isASCIIAlphanumeric(e)||e===w("+")||e===w("-")||e===w("."))this.buffer+=r.toLowerCase();else if(e===w(":")){if(this.stateOverride&&(Ge(this.url)&&!Sa(this.buffer)||!Ge(this.url)&&Sa(this.buffer)||(X4(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&this.url.host===""))return!1;if(this.url.scheme=this.buffer,this.stateOverride)return this.url.port===H4(this.url.scheme)&&(this.url.port=null),!1;this.buffer="",this.url.scheme==="file"?((this.input[this.pointer+1]!==w("/")||this.input[this.pointer+2]!==w("/"))&&(this.parseError=!0),this.state="file"):Ge(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":Ge(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===w("/")?(this.state="path or authority",++this.pointer):(this.url.path="",this.state="opaque path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,j;return!0};we.prototype["parse no scheme"]=function(e){return this.base===null||D1(this.base)&&e!==w("#")?j:(D1(this.base)&&e===w("#")?(this.url.scheme=this.base.scheme,this.url.path=this.base.path,this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};we.prototype["parse special relative or authority"]=function(e){return e===w("/")&&this.input[this.pointer+1]===w("/")?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};we.prototype["parse path or authority"]=function(e){return e===w("/")?this.state="authority":(this.state="path",--this.pointer),!0};we.prototype["parse relative"]=function(e){return this.url.scheme=this.base.scheme,e===w("/")?this.state="relative slash":Ge(this.url)&&e===w("\\")?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,e===w("?")?(this.url.query="",this.state="query"):e===w("#")?(this.url.fragment="",this.state="fragment"):isNaN(e)||(this.url.query=null,this.url.path.pop(),this.state="path",--this.pointer)),!0};we.prototype["parse relative slash"]=function(e){return Ge(this.url)&&(e===w("/")||e===w("\\"))?(e===w("\\")&&(this.parseError=!0),this.state="special authority ignore slashes"):e===w("/")?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};we.prototype["parse special authority slashes"]=function(e){return e===w("/")&&this.input[this.pointer+1]===w("/")?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};we.prototype["parse special authority ignore slashes"]=function(e){return e!==w("/")&&e!==w("\\")?(this.state="authority",--this.pointer):this.parseError=!0,!0};we.prototype["parse authority"]=function(e,r){if(e===w("@")){this.parseError=!0,this.atFlag&&(this.buffer=`%40${this.buffer}`),this.atFlag=!0;let n=U4(this.buffer);for(let s=0;s<n;++s){let o=this.buffer.codePointAt(s);if(o===w(":")&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}let i=Oa(o,ah);this.passwordTokenSeenFlag?this.url.password+=i:this.url.username+=i}this.buffer=""}else if(isNaN(e)||e===w("/")||e===w("?")||e===w("#")||Ge(this.url)&&e===w("\\")){if(this.atFlag&&this.buffer==="")return this.parseError=!0,j;this.pointer-=U4(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=r;return!0};we.prototype["parse hostname"]=we.prototype["parse host"]=function(e,r){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(e===w(":")&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,j;if(this.stateOverride==="hostname")return!1;let n=uh(this.buffer,ih(this.url));if(n===j)return j;this.url.host=n,this.buffer="",this.state="port"}else if(isNaN(e)||e===w("/")||e===w("?")||e===w("#")||Ge(this.url)&&e===w("\\")){if(--this.pointer,Ge(this.url)&&this.buffer==="")return this.parseError=!0,j;if(this.stateOverride&&this.buffer===""&&(X4(this.url)||this.url.port!==null))return this.parseError=!0,!1;let n=uh(this.buffer,ih(this.url));if(n===j)return j;if(this.url.host=n,this.buffer="",this.state="path start",this.stateOverride)return!1}else e===w("[")?this.arrFlag=!0:e===w("]")&&(this.arrFlag=!1),this.buffer+=r;return!0};we.prototype["parse port"]=function(e,r){if(He.isASCIIDigit(e))this.buffer+=r;else if(isNaN(e)||e===w("/")||e===w("?")||e===w("#")||Ge(this.url)&&e===w("\\")||this.stateOverride){if(this.buffer!==""){let n=parseInt(this.buffer);if(n>2**16-1)return this.parseError=!0,j;this.url.port=n===H4(this.url.scheme)?null:n,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,j;return!0};var OO=new Set([w("/"),w("\\"),w("?"),w("#")]);function J4(t,e){let r=t.length-e;return r>=2&&uO(t[e],t[e+1])&&(r===2||OO.has(t[e+2]))}we.prototype["parse file"]=function(e){return this.url.scheme="file",this.url.host="",e===w("/")||e===w("\\")?(e===w("\\")&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,e===w("?")?(this.url.query="",this.state="query"):e===w("#")?(this.url.fragment="",this.state="fragment"):isNaN(e)||(this.url.query=null,J4(this.input,this.pointer)?(this.parseError=!0,this.url.path=[]):Y4(this.url),this.state="path",--this.pointer)):(this.state="path",--this.pointer),!0};we.prototype["parse file slash"]=function(e){return e===w("/")||e===w("\\")?(e===w("\\")&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(!J4(this.input,this.pointer)&&aO(this.base.path[0])&&this.url.path.push(this.base.path[0]),this.url.host=this.base.host),this.state="path",--this.pointer),!0};we.prototype["parse file host"]=function(e,r){if(isNaN(e)||e===w("/")||e===w("\\")||e===w("?")||e===w("#"))if(--this.pointer,!this.stateOverride&&$4(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let n=uh(this.buffer,ih(this.url));if(n===j)return j;if(n==="localhost"&&(n=""),this.url.host=n,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=r;return!0};we.prototype["parse path start"]=function(e){return Ge(this.url)?(e===w("\\")&&(this.parseError=!0),this.state="path",e!==w("/")&&e!==w("\\")&&--this.pointer):!this.stateOverride&&e===w("?")?(this.url.query="",this.state="query"):!this.stateOverride&&e===w("#")?(this.url.fragment="",this.state="fragment"):e!==void 0?(this.state="path",e!==w("/")&&--this.pointer):this.stateOverride&&this.url.host===null&&this.url.path.push(""),!0};we.prototype["parse path"]=function(e){return isNaN(e)||e===w("/")||Ge(this.url)&&e===w("\\")||!this.stateOverride&&(e===w("?")||e===w("#"))?(Ge(this.url)&&e===w("\\")&&(this.parseError=!0),iO(this.buffer)?(Y4(this.url),e!==w("/")&&!(Ge(this.url)&&e===w("\\"))&&this.url.path.push("")):z4(this.buffer)&&e!==w("/")&&!(Ge(this.url)&&e===w("\\"))?this.url.path.push(""):z4(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&$4(this.buffer)&&(this.buffer=`${this.buffer[0]}:`),this.url.path.push(this.buffer)),this.buffer="",e===w("?")&&(this.url.query="",this.state="query"),e===w("#")&&(this.url.fragment="",this.state="fragment")):(e===w("%")&&(!He.isASCIIHex(this.input[this.pointer+1])||!He.isASCIIHex(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=Oa(e,oO)),!0};we.prototype["parse opaque path"]=function(e){return e===w("?")?(this.url.query="",this.state="query"):e===w("#")?(this.url.fragment="",this.state="fragment"):(!isNaN(e)&&e!==w("%")&&(this.parseError=!0),e===w("%")&&(!He.isASCIIHex(this.input[this.pointer+1])||!He.isASCIIHex(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(e)||(this.url.path+=Oa(e,W4))),!0};we.prototype["parse query"]=function(e,r){if((!Ge(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8"),!this.stateOverride&&e===w("#")||isNaN(e)){let n=Ge(this.url)?sO:nO;this.url.query+=wa(this.buffer,n),this.buffer="",e===w("#")&&(this.url.fragment="",this.state="fragment")}else isNaN(e)||(e===w("%")&&(!He.isASCIIHex(this.input[this.pointer+1])||!He.isASCIIHex(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=r);return!0};we.prototype["parse fragment"]=function(e){return isNaN(e)||(e===w("%")&&(!He.isASCIIHex(this.input[this.pointer+1])||!He.isASCIIHex(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=Oa(e,rO)),!0};function wO(t,e){let r=`${t.scheme}:`;return t.host!==null&&(r+="//",(t.username!==""||t.password!=="")&&(r+=t.username,t.password!==""&&(r+=`:${t.password}`),r+="@"),r+=ch(t.host),t.port!==null&&(r+=`:${t.port}`)),t.host===null&&!D1(t)&&t.path.length>1&&t.path[0]===""&&(r+="/."),r+=lh(t),t.query!==null&&(r+=`?${t.query}`),!e&&t.fragment!==null&&(r+=`#${t.fragment}`),r}function DO(t){let e=`${t.scheme}://`;return e+=ch(t.host),t.port!==null&&(e+=`:${t.port}`),e}function lh(t){if(D1(t))return t.path;let e="";for(let r of t.path)e+=`/${r}`;return e}ut.exports.serializeURL=wO;ut.exports.serializePath=lh;ut.exports.serializeURLOrigin=function(t){switch(t.scheme){case"blob":{let e=ut.exports.parseURL(lh(t));return e===null||e.scheme!=="http"&&e.scheme!=="https"?"null":ut.exports.serializeURLOrigin(e)}case"ftp":case"http":case"https":case"ws":case"wss":return DO({scheme:t.scheme,host:t.host,port:t.port});case"file":return"null";default:return"null"}};ut.exports.basicURLParse=function(t,e){e===void 0&&(e={});let r=new we(t,e.baseURL,e.encodingOverride,e.url,e.stateOverride);return r.failure?null:r.url};ut.exports.setTheUsername=function(t,e){t.username=wa(e,ah)};ut.exports.setThePassword=function(t,e){t.password=wa(e,ah)};ut.exports.serializeHost=ch;ut.exports.cannotHaveAUsernamePasswordPort=yO;ut.exports.hasAnOpaquePath=D1;ut.exports.serializeInteger=function(t){return String(t)};ut.exports.parseURL=function(t,e){return e===void 0&&(e={}),ut.exports.basicURLParse(t,{baseURL:e.baseURL,encodingOverride:e.encodingOverride})}});var dh=m((gN,sm)=>{"use strict";var{utf8Encode:_O,utf8DecodeWithoutBOM:Q4}=Ca(),{percentDecodeBytes:Z4,utf8PercentEncodeString:em,isURLEncodedPercentEncode:tm}=ya();function rm(t){return t.codePointAt(0)}function BO(t){let e=FO(t,rm("&")),r=[];for(let n of e){if(n.length===0)continue;let s,o,i=n.indexOf(rm("="));i>=0?(s=n.slice(0,i),o=n.slice(i+1)):(s=n,o=new Uint8Array(0)),s=nm(s,43,32),o=nm(o,43,32);let u=Q4(Z4(s)),a=Q4(Z4(o));r.push([u,a])}return r}function bO(t){return BO(_O(t))}function TO(t,e=void 0){let r="utf-8";e!==void 0&&(r=e);let n="";for(let[s,o]of t.entries()){let i=em(o[0],tm,!0),u=o[1];o.length>2&&o[2]!==void 0&&(o[2]==="hidden"&&i==="_charset_"?u=r:o[2]==="file"&&(u=u.name)),u=em(u,tm,!0),s!==0&&(n+="&"),n+=`${i}=${u}`}return n}function FO(t,e){let r=[],n=0,s=t.indexOf(e);for(;s>=0;)r.push(t.slice(n,s)),n=s+1,s=t.indexOf(e,n);return n!==t.length&&r.push(t.slice(n)),r}function nm(t,e,r){let n=t.indexOf(e);for(;n>=0;)t[n]=r,n=t.indexOf(e,n+1);return t}sm.exports={parseUrlencodedString:bO,serializeUrlencoded:TO}});var um=m(im=>{"use strict";var om=Ea(),Da=ga();im.convert=(t,e,{context:r="The provided value"}={})=>{if(typeof e!="function")throw new t.TypeError(r+" is not a function");function n(...s){let o=Da.tryWrapperForImpl(this),i;for(let u=0;u<s.length;u++)s[u]=Da.tryWrapperForImpl(s[u]);return i=Reflect.apply(e,o,s),i=om.any(i,{context:r,globals:t}),i}return n.construct=(...s)=>{for(let i=0;i<s.length;i++)s[i]=Da.tryWrapperForImpl(s[i]);let o=Reflect.construct(e,s);return o=om.any(o,{context:r,globals:t}),o},n[Da.wrapperSymbol]=e,n.objectReference=e,n}});var cm=m(am=>{"use strict";var fh=dh();am.implementation=class{constructor(e,r,{doNotStripQMark:n=!1}){let s=r[0];if(this._list=[],this._url=null,!n&&typeof s=="string"&&s[0]==="?"&&(s=s.slice(1)),Array.isArray(s))for(let o of s){if(o.length!==2)throw new TypeError("Failed to construct 'URLSearchParams': parameter 1 sequence's element does not contain exactly two elements.");this._list.push([o[0],o[1]])}else if(typeof s=="object"&&Object.getPrototypeOf(s)===null)for(let o of Object.keys(s)){let i=s[o];this._list.push([o,i])}else this._list=fh.parseUrlencodedString(s)}_updateSteps(){if(this._url!==null){let e=fh.serializeUrlencoded(this._list);e===""&&(e=null),this._url._url.query=e,e===null&&this._url._potentiallyStripTrailingSpacesFromAnOpaquePath()}}get size(){return this._list.length}append(e,r){this._list.push([e,r]),this._updateSteps()}delete(e,r){let n=0;for(;n<this._list.length;)this._list[n][0]===e&&(r===void 0||this._list[n][1]===r)?this._list.splice(n,1):n++;this._updateSteps()}get(e){for(let r of this._list)if(r[0]===e)return r[1];return null}getAll(e){let r=[];for(let n of this._list)n[0]===e&&r.push(n[1]);return r}has(e,r){for(let n of this._list)if(n[0]===e&&(r===void 0||n[1]===r))return!0;return!1}set(e,r){let n=!1,s=0;for(;s<this._list.length;)this._list[s][0]===e?n?this._list.splice(s,1):(n=!0,this._list[s][1]=r,s++):s++;n||this._list.push([e,r]),this._updateSteps()}sort(){this._list.sort((e,r)=>e[0]<r[0]?-1:e[0]>r[0]?1:0),this._updateSteps()}[Symbol.iterator](){return this._list[Symbol.iterator]()}toString(){return fh.serializeUrlencoded(this._list)}}});var ph=m(te=>{"use strict";var pt=Ea(),fe=ga(),NO=um(),lm=fe.newObjectInRealm,Te=fe.implSymbol,dm=fe.ctorRegistrySymbol,hm="URLSearchParams";te.is=t=>fe.isObject(t)&&fe.hasOwn(t,Te)&&t[Te]instanceof Rn.implementation;te.isImpl=t=>fe.isObject(t)&&t instanceof Rn.implementation;te.convert=(t,e,{context:r="The provided value"}={})=>{if(te.is(e))return fe.implForWrapper(e);throw new t.TypeError(`${r} is not of type 'URLSearchParams'.`)};te.createDefaultIterator=(t,e,r)=>{let s=t[dm]["URLSearchParams Iterator"],o=Object.create(s);return Object.defineProperty(o,fe.iterInternalSymbol,{value:{target:e,kind:r,index:0},configurable:!0}),o};function fm(t,e){let r;return e!==void 0&&(r=e.prototype),fe.isObject(r)||(r=t[dm].URLSearchParams.prototype),Object.create(r)}te.create=(t,e,r)=>{let n=fm(t);return te.setup(n,t,e,r)};te.createImpl=(t,e,r)=>{let n=te.create(t,e,r);return fe.implForWrapper(n)};te._internalSetup=(t,e)=>{};te.setup=(t,e,r=[],n={})=>(n.wrapper=t,te._internalSetup(t,e),Object.defineProperty(t,Te,{value:new Rn.implementation(e,r,n),configurable:!0}),t[Te][fe.wrapperSymbol]=t,Rn.init&&Rn.init(t[Te]),t);te.new=(t,e)=>{let r=fm(t,e);return te._internalSetup(r,t),Object.defineProperty(r,Te,{value:Object.create(Rn.implementation.prototype),configurable:!0}),r[Te][fe.wrapperSymbol]=r,Rn.init&&Rn.init(r[Te]),r[Te]};var RO=new Set(["Window","Worker"]);te.install=(t,e)=>{if(!e.some(s=>RO.has(s)))return;let r=fe.initCtorRegistry(t);class n{constructor(){let o=[];{let i=arguments[0];if(i!==void 0)if(fe.isObject(i))if(i[Symbol.iterator]!==void 0)if(fe.isObject(i)){let u=[],a=i;for(let c of a){if(fe.isObject(c)){let l=[],h=c;for(let f of h)f=pt.USVString(f,{context:"Failed to construct 'URLSearchParams': parameter 1 sequence's element's element",globals:t}),l.push(f);c=l}else throw new t.TypeError("Failed to construct 'URLSearchParams': parameter 1 sequence's element is not an iterable object.");u.push(c)}i=u}else throw new t.TypeError("Failed to construct 'URLSearchParams': parameter 1 sequence is not an iterable object.");else if(fe.isObject(i)){let u=Object.create(null);for(let a of Reflect.ownKeys(i)){let c=Object.getOwnPropertyDescriptor(i,a);if(c&&c.enumerable){let l=a;l=pt.USVString(l,{context:"Failed to construct 'URLSearchParams': parameter 1 record's key",globals:t});let h=i[a];h=pt.USVString(h,{context:"Failed to construct 'URLSearchParams': parameter 1 record's value",globals:t}),u[l]=h}}i=u}else throw new t.TypeError("Failed to construct 'URLSearchParams': parameter 1 record is not an object.");else i=pt.USVString(i,{context:"Failed to construct 'URLSearchParams': parameter 1",globals:t});else i="";o.push(i)}return te.setup(Object.create(new.target.prototype),t,o)}append(o,i){let u=this!==null&&this!==void 0?this:t;if(!te.is(u))throw new t.TypeError("'append' called on an object that is not a valid instance of URLSearchParams.");if(arguments.length<2)throw new t.TypeError(`Failed to execute 'append' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`);let a=[];{let c=arguments[0];c=pt.USVString(c,{context:"Failed to execute 'append' on 'URLSearchParams': parameter 1",globals:t}),a.push(c)}{let c=arguments[1];c=pt.USVString(c,{context:"Failed to execute 'append' on 'URLSearchParams': parameter 2",globals:t}),a.push(c)}return fe.tryWrapperForImpl(u[Te].append(...a))}delete(o){let i=this!==null&&this!==void 0?this:t;if(!te.is(i))throw new t.TypeError("'delete' called on an object that is not a valid instance of URLSearchParams.");if(arguments.length<1)throw new t.TypeError(`Failed to execute 'delete' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`);let u=[];{let a=arguments[0];a=pt.USVString(a,{context:"Failed to execute 'delete' on 'URLSearchParams': parameter 1",globals:t}),u.push(a)}{let a=arguments[1];a!==void 0&&(a=pt.USVString(a,{context:"Failed to execute 'delete' on 'URLSearchParams': parameter 2",globals:t})),u.push(a)}return fe.tryWrapperForImpl(i[Te].delete(...u))}get(o){let i=this!==null&&this!==void 0?this:t;if(!te.is(i))throw new t.TypeError("'get' called on an object that is not a valid instance of URLSearchParams.");if(arguments.length<1)throw new t.TypeError(`Failed to execute 'get' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`);let u=[];{let a=arguments[0];a=pt.USVString(a,{context:"Failed to execute 'get' on 'URLSearchParams': parameter 1",globals:t}),u.push(a)}return i[Te].get(...u)}getAll(o){let i=this!==null&&this!==void 0?this:t;if(!te.is(i))throw new t.TypeError("'getAll' called on an object that is not a valid instance of URLSearchParams.");if(arguments.length<1)throw new t.TypeError(`Failed to execute 'getAll' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`);let u=[];{let a=arguments[0];a=pt.USVString(a,{context:"Failed to execute 'getAll' on 'URLSearchParams': parameter 1",globals:t}),u.push(a)}return fe.tryWrapperForImpl(i[Te].getAll(...u))}has(o){let i=this!==null&&this!==void 0?this:t;if(!te.is(i))throw new t.TypeError("'has' called on an object that is not a valid instance of URLSearchParams.");if(arguments.length<1)throw new t.TypeError(`Failed to execute 'has' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`);let u=[];{let a=arguments[0];a=pt.USVString(a,{context:"Failed to execute 'has' on 'URLSearchParams': parameter 1",globals:t}),u.push(a)}{let a=arguments[1];a!==void 0&&(a=pt.USVString(a,{context:"Failed to execute 'has' on 'URLSearchParams': parameter 2",globals:t})),u.push(a)}return i[Te].has(...u)}set(o,i){let u=this!==null&&this!==void 0?this:t;if(!te.is(u))throw new t.TypeError("'set' called on an object that is not a valid instance of URLSearchParams.");if(arguments.length<2)throw new t.TypeError(`Failed to execute 'set' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`);let a=[];{let c=arguments[0];c=pt.USVString(c,{context:"Failed to execute 'set' on 'URLSearchParams': parameter 1",globals:t}),a.push(c)}{let c=arguments[1];c=pt.USVString(c,{context:"Failed to execute 'set' on 'URLSearchParams': parameter 2",globals:t}),a.push(c)}return fe.tryWrapperForImpl(u[Te].set(...a))}sort(){let o=this!==null&&this!==void 0?this:t;if(!te.is(o))throw new t.TypeError("'sort' called on an object that is not a valid instance of URLSearchParams.");return fe.tryWrapperForImpl(o[Te].sort())}toString(){let o=this!==null&&this!==void 0?this:t;if(!te.is(o))throw new t.TypeError("'toString' called on an object that is not a valid instance of URLSearchParams.");return o[Te].toString()}keys(){if(!te.is(this))throw new t.TypeError("'keys' called on an object that is not a valid instance of URLSearchParams.");return te.createDefaultIterator(t,this,"key")}values(){if(!te.is(this))throw new t.TypeError("'values' called on an object that is not a valid instance of URLSearchParams.");return te.createDefaultIterator(t,this,"value")}entries(){if(!te.is(this))throw new t.TypeError("'entries' called on an object that is not a valid instance of URLSearchParams.");return te.createDefaultIterator(t,this,"key+value")}forEach(o){if(!te.is(this))throw new t.TypeError("'forEach' called on an object that is not a valid instance of URLSearchParams.");if(arguments.length<1)throw new t.TypeError("Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present.");o=NO.convert(t,o,{context:"Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1"});let i=arguments[1],u=Array.from(this[Te]),a=0;for(;a<u.length;){let[c,l]=u[a].map(fe.tryWrapperForImpl);o.call(i,l,c,this),u=Array.from(this[Te]),a++}}get size(){let o=this!==null&&this!==void 0?this:t;if(!te.is(o))throw new t.TypeError("'get size' called on an object that is not a valid instance of URLSearchParams.");return o[Te].size}}Object.defineProperties(n.prototype,{append:{enumerable:!0},delete:{enumerable:!0},get:{enumerable:!0},getAll:{enumerable:!0},has:{enumerable:!0},set:{enumerable:!0},sort:{enumerable:!0},toString:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0},forEach:{enumerable:!0},size:{enumerable:!0},[Symbol.toStringTag]:{value:"URLSearchParams",configurable:!0},[Symbol.iterator]:{value:n.prototype.entries,configurable:!0,writable:!0}}),r[hm]=n,r["URLSearchParams Iterator"]=Object.create(r["%IteratorPrototype%"],{[Symbol.toStringTag]:{configurable:!0,value:"URLSearchParams Iterator"}}),fe.define(r["URLSearchParams Iterator"],{next(){let s=this&&this[fe.iterInternalSymbol];if(!s)throw new t.TypeError("next() called on a value that is not a URLSearchParams iterator object");let{target:o,kind:i,index:u}=s,a=Array.from(o[Te]),c=a.length;if(u>=c)return lm(t,{value:void 0,done:!0});let l=a[u];return s.index=u+1,lm(t,fe.iteratorResult(l.map(fe.tryWrapperForImpl),i))}}),Object.defineProperty(t,hm,{configurable:!0,writable:!0,value:n})};var Rn=cm()});var Em=m(mm=>{"use strict";var le=hh(),pm=dh(),MO=ph();mm.implementation=class{constructor(e,r){let n=r[0],s=r[1],o=null;if(s!==void 0&&(o=le.basicURLParse(s),o===null))throw new TypeError(`Invalid base URL: ${s}`);let i=le.basicURLParse(n,{baseURL:o});if(i===null)throw new TypeError(`Invalid URL: ${n}`);let u=i.query!==null?i.query:"";this._url=i,this._query=MO.createImpl(e,[u],{doNotStripQMark:!0}),this._query._url=this}static canParse(e,r){let n=null;return!(r!==void 0&&(n=le.basicURLParse(r),n===null)||le.basicURLParse(e,{baseURL:n})===null)}get href(){return le.serializeURL(this._url)}set href(e){let r=le.basicURLParse(e);if(r===null)throw new TypeError(`Invalid URL: ${e}`);this._url=r,this._query._list.splice(0);let{query:n}=r;n!==null&&(this._query._list=pm.parseUrlencodedString(n))}get origin(){return le.serializeURLOrigin(this._url)}get protocol(){return`${this._url.scheme}:`}set protocol(e){le.basicURLParse(`${e}:`,{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){le.cannotHaveAUsernamePasswordPort(this._url)||le.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){le.cannotHaveAUsernamePasswordPort(this._url)||le.setThePassword(this._url,e)}get host(){let e=this._url;return e.host===null?"":e.port===null?le.serializeHost(e.host):`${le.serializeHost(e.host)}:${le.serializeInteger(e.port)}`}set host(e){le.hasAnOpaquePath(this._url)||le.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":le.serializeHost(this._url.host)}set hostname(e){le.hasAnOpaquePath(this._url)||le.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":le.serializeInteger(this._url.port)}set port(e){le.cannotHaveAUsernamePasswordPort(this._url)||(e===""?this._url.port=null:le.basicURLParse(e,{url:this._url,stateOverride:"port"}))}get pathname(){return le.serializePath(this._url)}set pathname(e){le.hasAnOpaquePath(this._url)||(this._url.path=[],le.basicURLParse(e,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":`?${this._url.query}`}set search(e){let r=this._url;if(e===""){r.query=null,this._query._list=[],this._potentiallyStripTrailingSpacesFromAnOpaquePath();return}let n=e[0]==="?"?e.substring(1):e;r.query="",le.basicURLParse(n,{url:r,stateOverride:"query"}),this._query._list=pm.parseUrlencodedString(n)}get searchParams(){return this._query}get hash(){return this._url.fragment===null||this._url.fragment===""?"":`#${this._url.fragment}`}set hash(e){if(e===""){this._url.fragment=null,this._potentiallyStripTrailingSpacesFromAnOpaquePath();return}let r=e[0]==="#"?e.substring(1):e;this._url.fragment="",le.basicURLParse(r,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}_potentiallyStripTrailingSpacesFromAnOpaquePath(){le.hasAnOpaquePath(this._url)&&this._url.fragment===null&&this._url.query===null&&(this._url.path=this._url.path.replace(/\u0020+$/u,""))}}});var Cm=m(G=>{"use strict";var mt=Ea(),Rt=ga(),re=Rt.implSymbol,IO=Rt.ctorRegistrySymbol,Am="URL";G.is=t=>Rt.isObject(t)&&Rt.hasOwn(t,re)&&t[re]instanceof $r.implementation;G.isImpl=t=>Rt.isObject(t)&&t instanceof $r.implementation;G.convert=(t,e,{context:r="The provided value"}={})=>{if(G.is(e))return Rt.implForWrapper(e);throw new t.TypeError(`${r} is not of type 'URL'.`)};function gm(t,e){let r;return e!==void 0&&(r=e.prototype),Rt.isObject(r)||(r=t[IO].URL.prototype),Object.create(r)}G.create=(t,e,r)=>{let n=gm(t);return G.setup(n,t,e,r)};G.createImpl=(t,e,r)=>{let n=G.create(t,e,r);return Rt.implForWrapper(n)};G._internalSetup=(t,e)=>{};G.setup=(t,e,r=[],n={})=>(n.wrapper=t,G._internalSetup(t,e),Object.defineProperty(t,re,{value:new $r.implementation(e,r,n),configurable:!0}),t[re][Rt.wrapperSymbol]=t,$r.init&&$r.init(t[re]),t);G.new=(t,e)=>{let r=gm(t,e);return G._internalSetup(r,t),Object.defineProperty(r,re,{value:Object.create($r.implementation.prototype),configurable:!0}),r[re][Rt.wrapperSymbol]=r,$r.init&&$r.init(r[re]),r[re]};var vO=new Set(["Window","Worker"]);G.install=(t,e)=>{if(!e.some(s=>vO.has(s)))return;let r=Rt.initCtorRegistry(t);class n{constructor(o){if(arguments.length<1)throw new t.TypeError(`Failed to construct 'URL': 1 argument required, but only ${arguments.length} present.`);let i=[];{let u=arguments[0];u=mt.USVString(u,{context:"Failed to construct 'URL': parameter 1",globals:t}),i.push(u)}{let u=arguments[1];u!==void 0&&(u=mt.USVString(u,{context:"Failed to construct 'URL': parameter 2",globals:t})),i.push(u)}return G.setup(Object.create(new.target.prototype),t,i)}toJSON(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'toJSON' called on an object that is not a valid instance of URL.");return o[re].toJSON()}get href(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get href' called on an object that is not a valid instance of URL.");return o[re].href}set href(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set href' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'href' property on 'URL': The provided value",globals:t}),i[re].href=o}toString(){let o=this;if(!G.is(o))throw new t.TypeError("'toString' called on an object that is not a valid instance of URL.");return o[re].href}get origin(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get origin' called on an object that is not a valid instance of URL.");return o[re].origin}get protocol(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get protocol' called on an object that is not a valid instance of URL.");return o[re].protocol}set protocol(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set protocol' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'protocol' property on 'URL': The provided value",globals:t}),i[re].protocol=o}get username(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get username' called on an object that is not a valid instance of URL.");return o[re].username}set username(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set username' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'username' property on 'URL': The provided value",globals:t}),i[re].username=o}get password(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get password' called on an object that is not a valid instance of URL.");return o[re].password}set password(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set password' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'password' property on 'URL': The provided value",globals:t}),i[re].password=o}get host(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get host' called on an object that is not a valid instance of URL.");return o[re].host}set host(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set host' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'host' property on 'URL': The provided value",globals:t}),i[re].host=o}get hostname(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get hostname' called on an object that is not a valid instance of URL.");return o[re].hostname}set hostname(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set hostname' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'hostname' property on 'URL': The provided value",globals:t}),i[re].hostname=o}get port(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get port' called on an object that is not a valid instance of URL.");return o[re].port}set port(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set port' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'port' property on 'URL': The provided value",globals:t}),i[re].port=o}get pathname(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get pathname' called on an object that is not a valid instance of URL.");return o[re].pathname}set pathname(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set pathname' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'pathname' property on 'URL': The provided value",globals:t}),i[re].pathname=o}get search(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get search' called on an object that is not a valid instance of URL.");return o[re].search}set search(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set search' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'search' property on 'URL': The provided value",globals:t}),i[re].search=o}get searchParams(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get searchParams' called on an object that is not a valid instance of URL.");return Rt.getSameObject(this,"searchParams",()=>Rt.tryWrapperForImpl(o[re].searchParams))}get hash(){let o=this!==null&&this!==void 0?this:t;if(!G.is(o))throw new t.TypeError("'get hash' called on an object that is not a valid instance of URL.");return o[re].hash}set hash(o){let i=this!==null&&this!==void 0?this:t;if(!G.is(i))throw new t.TypeError("'set hash' called on an object that is not a valid instance of URL.");o=mt.USVString(o,{context:"Failed to set the 'hash' property on 'URL': The provided value",globals:t}),i[re].hash=o}static canParse(o){if(arguments.length<1)throw new t.TypeError(`Failed to execute 'canParse' on 'URL': 1 argument required, but only ${arguments.length} present.`);let i=[];{let u=arguments[0];u=mt.USVString(u,{context:"Failed to execute 'canParse' on 'URL': parameter 1",globals:t}),i.push(u)}{let u=arguments[1];u!==void 0&&(u=mt.USVString(u,{context:"Failed to execute 'canParse' on 'URL': parameter 2",globals:t})),i.push(u)}return $r.implementation.canParse(...i)}}Object.defineProperties(n.prototype,{toJSON:{enumerable:!0},href:{enumerable:!0},toString:{enumerable:!0},origin:{enumerable:!0},protocol:{enumerable:!0},username:{enumerable:!0},password:{enumerable:!0},host:{enumerable:!0},hostname:{enumerable:!0},port:{enumerable:!0},pathname:{enumerable:!0},search:{enumerable:!0},searchParams:{enumerable:!0},hash:{enumerable:!0},[Symbol.toStringTag]:{value:"URL",configurable:!0}}),Object.defineProperties(n,{canParse:{enumerable:!0}}),r[Am]=n,Object.defineProperty(t,Am,{configurable:!0,writable:!0,value:n}),e.includes("Window")&&Object.defineProperty(t,"webkitURL",{configurable:!0,writable:!0,value:n})};var $r=Em()});var ym=m(mh=>{"use strict";var PO=Cm(),LO=ph();mh.URL=PO;mh.URLSearchParams=LO});var Om=m(rt=>{"use strict";var{URL:xO,URLSearchParams:kO}=ym(),sr=hh(),Sm=ya(),_a={Array,Object,Promise,String,TypeError};xO.install(_a,["Window"]);kO.install(_a,["Window"]);rt.URL=_a.URL;rt.URLSearchParams=_a.URLSearchParams;rt.parseURL=sr.parseURL;rt.basicURLParse=sr.basicURLParse;rt.serializeURL=sr.serializeURL;rt.serializePath=sr.serializePath;rt.serializeHost=sr.serializeHost;rt.serializeInteger=sr.serializeInteger;rt.serializeURLOrigin=sr.serializeURLOrigin;rt.setTheUsername=sr.setTheUsername;rt.setThePassword=sr.setThePassword;rt.cannotHaveAUsernamePasswordPort=sr.cannotHaveAUsernamePasswordPort;rt.hasAnOpaquePath=sr.hasAnOpaquePath;rt.percentDecodeString=Sm.percentDecodeString;rt.percentDecodeBytes=Sm.percentDecodeBytes});var Dm=m(zt=>{"use strict";var qO=zt&&zt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),UO=zt&&zt.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),jO=zt&&zt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&qO(e,t,r);return UO(e,t),e};Object.defineProperty(zt,"__esModule",{value:!0});zt.redactConnectionString=zt.redactValidConnectionString=void 0;var wm=jO(Eh());function zO(t,e){var r,n;let s=t.clone(),o=(r=e?.replacementString)!==null&&r!==void 0?r:"_credentials_",i=(n=e?.redactUsernames)!==null&&n!==void 0?n:!0;if((s.username||s.password)&&i?(s.username=o,s.password=""):s.password&&(s.password=o),s.searchParams.has("authMechanismProperties")){let u=new wm.CommaAndColonSeparatedRecord(s.searchParams.get("authMechanismProperties"));u.get("AWS_SESSION_TOKEN")&&(u.set("AWS_SESSION_TOKEN",o),s.searchParams.set("authMechanismProperties",u.toString()))}return s.searchParams.has("tlsCertificateKeyFilePassword")&&s.searchParams.set("tlsCertificateKeyFilePassword",o),s.searchParams.has("proxyUsername")&&i&&s.searchParams.set("proxyUsername",o),s.searchParams.has("proxyPassword")&&s.searchParams.set("proxyPassword",o),s}zt.redactValidConnectionString=zO;function WO(t,e){var r,n;let s=(r=e?.replacementString)!==null&&r!==void 0?r:"<credentials>",o=(n=e?.redactUsernames)!==null&&n!==void 0?n:!0,i;try{i=new wm.default(t)}catch{}if(i)return e={...e,replacementString:"___credentials___"},i.redact(e).toString().replace(/___credentials___/g,s);let u=s,a=[c=>c.replace(o?/(\/\/)(.*)(@)/g:/(\/\/[^@]*:)(.*)(@)/g,`$1${u}$3`),c=>c.replace(/(AWS_SESSION_TOKEN(:|%3A))([^,&]+)/gi,`$1${u}`),c=>c.replace(/(tlsCertificateKeyFilePassword=)([^&]+)/gi,`$1${u}`),c=>o?c.replace(/(proxyUsername=)([^&]+)/gi,`$1${u}`):c,c=>c.replace(/(proxyPassword=)([^&]+)/gi,`$1${u}`)];for(let c of a)t=c(t);return t}zt.redactConnectionString=WO});var Eh=m(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.CommaAndColonSeparatedRecord=Gr.ConnectionString=Gr.redactConnectionString=void 0;var VO=Om(),_m=Dm();Object.defineProperty(Gr,"redactConnectionString",{enumerable:!0,get:function(){return _m.redactConnectionString}});var _1="__this_is_a_placeholder__";function $O(t){return t.startsWith("mongodb://")||t.startsWith("mongodb+srv://")}var GO=/^(?<protocol>[^/]+):\/\/(?:(?<username>[^:@]*)(?::(?<password>[^@]*))?@)?(?<hosts>(?!:)[^/?@]*)(?<rest>.*)/,Ba=class extends Map{delete(e){return super.delete(this._normalizeKey(e))}get(e){return super.get(this._normalizeKey(e))}has(e){return super.has(this._normalizeKey(e))}set(e,r){return super.set(this._normalizeKey(e),r)}_normalizeKey(e){e=`${e}`;for(let r of this.keys())if(r.toLowerCase()===e.toLowerCase()){e=r;break}return e}};function HO(t){return class extends t{append(r,n){return super.append(this._normalizeKey(r),n)}delete(r){return super.delete(this._normalizeKey(r))}get(r){return super.get(this._normalizeKey(r))}getAll(r){return super.getAll(this._normalizeKey(r))}has(r){return super.has(this._normalizeKey(r))}set(r,n){return super.set(this._normalizeKey(r),n)}keys(){return super.keys()}values(){return super.values()}entries(){return super.entries()}[Symbol.iterator](){return super[Symbol.iterator]()}_normalizeKey(r){return Ba.prototype._normalizeKey.call(this,r)}}}var Ah=class extends VO.URL{},or=class extends Error{get name(){return"MongoParseError"}},ba=class t extends Ah{constructor(e,r={}){var n;let{looseValidation:s}=r;if(!s&&!$O(e))throw new or('Invalid scheme, expected connection string to start with "mongodb://" or "mongodb+srv://"');let o=e.match(GO);if(!o)throw new or(`Invalid connection string "${e}"`);let{protocol:i,username:u,password:a,hosts:c,rest:l}=(n=o.groups)!==null&&n!==void 0?n:{};if(!s){if(!i||!c)throw new or(`Protocol and host list are required in "${e}"`);try{decodeURIComponent(u??""),decodeURIComponent(a??"")}catch(S){throw new or(S.message)}let f=/[:/?#[\]@]/gi;if(u?.match(f))throw new or(`Username contains unescaped characters ${u}`);if(!u||!a){let S=e.replace(`${i}://`,"");if(S.startsWith("@")||S.startsWith(":"))throw new or("URI contained empty userinfo section")}if(a?.match(f))throw new or("Password contains unescaped characters")}let h="";typeof u=="string"&&(h+=u),typeof a=="string"&&(h+=`:${a}`),h&&(h+="@");try{super(`${i.toLowerCase()}://${h}${_1}${l}`)}catch(f){throw s&&new t(e,{...r,looseValidation:!1}),typeof f.message=="string"&&(f.message=f.message.replace(_1,c)),f}if(this._hosts=c.split(","),!s){if(this.isSRV&&this.hosts.length!==1)throw new or("mongodb+srv URI cannot have multiple service names");if(this.isSRV&&this.hosts.some(f=>f.includes(":")))throw new or("mongodb+srv URI cannot have port number")}this.pathname||(this.pathname="/"),Object.setPrototypeOf(this.searchParams,HO(this.searchParams.constructor).prototype)}get host(){return _1}set host(e){throw new Error("No single host for connection string")}get hostname(){return _1}set hostname(e){throw new Error("No single host for connection string")}get port(){return""}set port(e){throw new Error("No single host for connection string")}get href(){return this.toString()}set href(e){throw new Error("Cannot set href for connection strings")}get isSRV(){return this.protocol.includes("srv")}get hosts(){return this._hosts}set hosts(e){this._hosts=e}toString(){return super.toString().replace(_1,this.hosts.join(","))}clone(){return new t(this.toString(),{looseValidation:!0})}redact(e){return(0,_m.redactValidConnectionString)(this,e)}typedSearchParams(){return this.searchParams}[Symbol.for("nodejs.util.inspect.custom")](){let{href:e,origin:r,protocol:n,username:s,password:o,hosts:i,pathname:u,search:a,searchParams:c,hash:l}=this;return{href:e,origin:r,protocol:n,username:s,password:o,hosts:i,pathname:u,search:a,searchParams:c,hash:l}}};Gr.ConnectionString=ba;var gh=class extends Ba{constructor(e){super();for(let r of(e??"").split(",")){if(!r)continue;let n=r.indexOf(":");n===-1?this.set(r,""):this.set(r.slice(0,n),r.slice(n+1))}}toString(){return[...this].map(e=>e.join(":")).join(",")}};Gr.CommaAndColonSeparatedRecord=gh;Gr.default=ba});var Bm=m((RN,KO)=>{KO.exports={name:"mongodb",version:"6.8.0",description:"The official MongoDB driver for Node.js",main:"lib/index.js",files:["lib","src","etc/prepare.js","mongodb.d.ts","tsconfig.json"],types:"mongodb.d.ts",repository:{type:"git",url:"git@github.com:mongodb/node-mongodb-native.git"},keywords:["mongodb","driver","official"],author:{name:"The MongoDB NodeJS Team",email:"dbx-node@mongodb.com"},dependencies:{"@mongodb-js/saslprep":"^1.1.5",bson:"^6.7.0","mongodb-connection-string-url":"^3.0.0"},peerDependencies:{"@aws-sdk/credential-providers":"^3.188.0","@mongodb-js/zstd":"^1.1.0","gcp-metadata":"^5.2.0",kerberos:"^2.0.1","mongodb-client-encryption":">=6.0.0 <7",snappy:"^7.2.2",socks:"^2.7.1"},peerDependenciesMeta:{"@aws-sdk/credential-providers":{optional:!0},"@mongodb-js/zstd":{optional:!0},kerberos:{optional:!0},snappy:{optional:!0},"mongodb-client-encryption":{optional:!0},"gcp-metadata":{optional:!0},socks:{optional:!0}},devDependencies:{"@aws-sdk/credential-providers":"^3.515.0","@iarna/toml":"^2.2.5","@istanbuljs/nyc-config-typescript":"^1.0.2","@microsoft/api-extractor":"^7.43.1","@microsoft/tsdoc-config":"^0.16.2","@mongodb-js/zstd":"^1.2.0","@types/chai":"^4.3.14","@types/chai-subset":"^1.3.5","@types/express":"^4.17.21","@types/kerberos":"^1.1.5","@types/mocha":"^10.0.6","@types/node":"^20.12.7","@types/saslprep":"^1.0.3","@types/semver":"^7.5.8","@types/sinon":"^17.0.3","@types/sinon-chai":"^3.2.12","@types/whatwg-url":"^11.0.4","@typescript-eslint/eslint-plugin":"^5.62.0","@typescript-eslint/parser":"^5.62.0",chai:"^4.4.1","chai-subset":"^1.6.0",chalk:"^4.1.2",eslint:"^8.56.0","eslint-config-prettier":"^8.10.0","eslint-plugin-github":"^4.10.2","eslint-plugin-import":"^2.29.1","eslint-plugin-mocha":"^10.4.1","eslint-plugin-prettier":"^4.2.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-tsdoc":"^0.2.17","eslint-plugin-unused-imports":"^2.0.0",express:"^4.19.2","gcp-metadata":"^5.3.0","js-yaml":"^4.1.0",mocha:"^10.4.0","mocha-sinon":"^2.1.2","mongodb-client-encryption":"^6.0.1","mongodb-legacy":"^6.0.1",nyc:"^15.1.0",prettier:"^2.8.8",semver:"^7.6.0",sinon:"^17.0.1","sinon-chai":"^3.7.0",snappy:"^7.2.2",socks:"^2.8.1","source-map-support":"^0.5.21","ts-node":"^10.9.2",tsd:"^0.31.0",typescript:"5.0","typescript-cached-transpile":"^0.0.6","v8-heapsnapshot":"^1.3.1",yargs:"^17.7.2"},license:"Apache-2.0",engines:{node:">=16.20.1"},bugs:{url:"https://jira.mongodb.org/projects/NODE/issues/"},homepage:"https://github.com/mongodb/node-mongodb-native",scripts:{"build:evergreen":"node .evergreen/generate_evergreen_tasks.js","build:ts":"node ./node_modules/typescript/bin/tsc","build:dts":"npm run build:ts && api-extractor run && node etc/clean_definition_files.cjs && eslint mongodb.d.ts --fix","build:docs":"./etc/docs/build.ts","build:typedoc":"typedoc","build:nightly":"node ./.github/scripts/nightly.mjs","check:bench":"node test/benchmarks/driverBench","check:coverage":"nyc npm run test:all","check:integration-coverage":"nyc npm run check:test","check:lambda":"mocha --config test/mocha_lambda.json test/integration/node-specific/examples/handler.test.js","check:lambda:aws":"mocha --config test/mocha_lambda.json test/integration/node-specific/examples/aws_handler.test.js","check:lint":"npm run build:dts && npm run check:dts && npm run check:eslint && npm run check:tsd","check:eslint":"eslint -v && eslint --max-warnings=0 --ext '.js,.ts' src test","check:tsd":"tsd --version && tsd","check:dependencies":"mocha test/action/dependency.test.ts","check:dts":"node ./node_modules/typescript/bin/tsc --noEmit mongodb.d.ts && tsd","check:search-indexes":"nyc mocha --config test/mocha_mongodb.json test/manual/search-index-management.prose.test.ts","check:test":"mocha --config test/mocha_mongodb.json test/integration","check:unit":"mocha test/unit","check:ts":"node ./node_modules/typescript/bin/tsc -v && node ./node_modules/typescript/bin/tsc --noEmit","check:atlas":"mocha --config test/manual/mocharc.json test/manual/atlas_connectivity.test.ts","check:drivers-atlas-testing":"mocha --config test/mocha_mongodb.json test/atlas/drivers_atlas_testing.test.ts","check:adl":"mocha --config test/mocha_mongodb.json test/manual/atlas-data-lake-testing","check:aws":"nyc mocha --config test/mocha_mongodb.json test/integration/auth/mongodb_aws.test.ts","check:oidc-auth":"mocha --config test/mocha_mongodb.json test/integration/auth/auth.spec.test.ts","check:oidc-test":"mocha --config test/mocha_mongodb.json test/integration/auth/mongodb_oidc.prose.test.ts","check:oidc-azure":"mocha --config test/mocha_mongodb.json test/integration/auth/mongodb_oidc_azure.prose.05.test.ts","check:oidc-gcp":"mocha --config test/mocha_mongodb.json test/integration/auth/mongodb_oidc_gcp.prose.06.test.ts","check:ocsp":"mocha --config test/manual/mocharc.json test/manual/ocsp_support.test.js","check:kerberos":"nyc mocha --config test/manual/mocharc.json test/manual/kerberos.test.ts","check:tls":"mocha --config test/manual/mocharc.json test/manual/tls_support.test.ts","check:ldap":"nyc mocha --config test/manual/mocharc.json test/manual/ldap.test.js","check:socks5":"mocha --config test/manual/mocharc.json test/manual/socks5.test.ts","check:csfle":"mocha --config test/mocha_mongodb.json test/integration/client-side-encryption","check:snappy":"mocha test/unit/assorted/snappy.test.js","check:x509":"mocha test/manual/x509_auth.test.ts","fix:eslint":"npm run check:eslint -- --fix",prepare:"node etc/prepare.js","preview:docs":"ts-node etc/docs/preview.ts",test:"npm run check:lint && npm run test:all","test:all":"npm run check:unit && npm run check:test","update:docs":"npm run build:docs -- --yes"},tsd:{directory:"test/types",compilerOptions:{strict:!0,target:"esnext",module:"commonjs",moduleResolution:"node"}}}});var Ch=m(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.getFAASEnv=_r.addContainerMetadata=_r.makeClientMetadata=_r.LimitedSizeDocument=void 0;var B1=x("os"),b1=x("process"),uo=ne(),bm=_(),YO=R(),Tm=Bm().version,T1=class{constructor(e){this.maxSize=e,this.document=new Map,this.documentSize=5}ifItFitsItSits(e,r){let n=uo.BSON.serialize(new Map().set(e,r)).byteLength-5;return n+this.documentSize>this.maxSize?!1:(this.documentSize+=n,this.document.set(e,r),!0)}toObject(){return uo.BSON.deserialize(uo.BSON.serialize(this.document),{promoteLongs:!1,promoteBuffers:!1,promoteValues:!1,useBigInt64:!1})}};_r.LimitedSizeDocument=T1;function XO(t){let e=new T1(512),{appName:r=""}=t;if(r.length>0){let l=Buffer.byteLength(r,"utf8")<=128?t.appName:Buffer.from(r,"utf8").subarray(0,128).toString("utf8");e.ifItFitsItSits("application",{name:l})}let{name:n="",version:s="",platform:o=""}=t.driverInfo,i={name:n.length>0?`nodejs|${n}`:"nodejs",version:s.length>0?`${Tm}|${s}`:Tm};if(!e.ifItFitsItSits("driver",i))throw new bm.MongoInvalidArgumentError("Unable to include driverInfo name and version, metadata cannot exceed 512 bytes");let u=ZO();if(o.length>0&&(u=`${u}|${o}`),!e.ifItFitsItSits("platform",u))throw new bm.MongoInvalidArgumentError("Unable to include driverInfo platform, metadata cannot exceed 512 bytes");let a=new Map().set("name",b1.platform).set("architecture",b1.arch).set("version",B1.release()).set("type",B1.type());if(!e.ifItFitsItSits("os",a)){for(let l of a.keys())if(a.delete(l),a.size===0||e.ifItFitsItSits("os",a))break}let c=Nm();if(c!=null&&!e.ifItFitsItSits("env",c)){for(let l of c.keys())if(c.delete(l),c.size===0||e.ifItFitsItSits("env",c))break}return e.toObject()}_r.makeClientMetadata=XO;var Fm;async function JO(){let t={};Fm??=(0,YO.fileIsAccessible)("/.dockerenv");let e=await Fm,{KUBERNETES_SERVICE_HOST:r=""}=b1.env,n=r.length>0;return e&&(t.runtime="docker"),n&&(t.orchestrator="kubernetes"),t}async function QO(t){let e=await JO();if(Object.keys(e).length===0)return t;let r=new T1(512),n={...t?.env,container:e};for(let[s,o]of Object.entries(t))s!=="env"?r.ifItFitsItSits(s,o):r.ifItFitsItSits("env",n)||r.ifItFitsItSits("env",o);return"env"in t||r.ifItFitsItSits("env",n),r.toObject()}_r.addContainerMetadata=QO;function Nm(){let{AWS_EXECUTION_ENV:t="",AWS_LAMBDA_RUNTIME_API:e="",FUNCTIONS_WORKER_RUNTIME:r="",K_SERVICE:n="",FUNCTION_NAME:s="",VERCEL:o="",AWS_LAMBDA_FUNCTION_MEMORY_SIZE:i="",AWS_REGION:u="",FUNCTION_MEMORY_MB:a="",FUNCTION_REGION:c="",FUNCTION_TIMEOUT_SEC:l="",VERCEL_REGION:h=""}=b1.env,f=t.startsWith("AWS_Lambda_")||e.length>0,S=r.length>0,y=n.length>0||s.length>0,F=o.length>0,I=new Map;return F&&!(S||y)?(h.length>0&&I.set("region",h),I.set("name","vercel"),I):f&&!(S||y||F)?(u.length>0&&I.set("region",u),i.length>0&&Number.isInteger(+i)&&I.set("memory_mb",new uo.Int32(i)),I.set("name","aws.lambda"),I):S&&!(y||f||F)?(I.set("name","azure.func"),I):y&&!(S||f||F)?(c.length>0&&I.set("region",c),a.length>0&&Number.isInteger(+a)&&I.set("memory_mb",new uo.Int32(a)),l.length>0&&Number.isInteger(+l)&&I.set("timeout_sec",new uo.Int32(l)),I.set("name","gcp.func"),I):null}_r.getFAASEnv=Nm;function ZO(){return"Deno"in globalThis?`Deno v${typeof Deno?.version?.deno=="string"?Deno?.version?.deno:"0.0.0-unknown"}, ${B1.endianness()}`:"Bun"in globalThis?`Bun v${typeof Bun?.version=="string"?Bun?.version:"0.0.0-unknown"}, ${B1.endianness()}`:`Node.js ${b1.version}, ${B1.endianness()}`}});var Na=m(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.OpCompressedRequest=Wt.OpMsgResponse=Wt.OpMsgRequest=Wt.OpReply=Wt.OpQueryRequest=void 0;var Ta=ne(),F1=_(),yh=N1(),ao=Qn(),co=0,ew=2,tw=4,rw=8,nw=16,sw=32,ow=64,iw=128,uw=1,aw=2,cw=4,lw=8,Oh=class t{constructor(e,r,n){this.databaseName=e,this.query=r;let s=`${e}.$cmd`;if(typeof e!="string")throw new F1.MongoRuntimeError("Database name must be a string for a query");if(r==null)throw new F1.MongoRuntimeError("A query document must be specified for query");if(s.indexOf("\0")!==-1)throw new F1.MongoRuntimeError("Namespace cannot contain a null character");this.ns=s,this.numberToSkip=n.numberToSkip||0,this.numberToReturn=n.numberToReturn||0,this.returnFieldSelector=n.returnFieldSelector||void 0,this.requestId=n.requestId??t.getRequestId(),this.pre32Limit=n.pre32Limit,this.serializeFunctions=typeof n.serializeFunctions=="boolean"?n.serializeFunctions:!1,this.ignoreUndefined=typeof n.ignoreUndefined=="boolean"?n.ignoreUndefined:!1,this.maxBsonSize=n.maxBsonSize||1024*1024*16,this.checkKeys=typeof n.checkKeys=="boolean"?n.checkKeys:!1,this.batchSize=this.numberToReturn,this.tailable=!1,this.secondaryOk=typeof n.secondaryOk=="boolean"?n.secondaryOk:!1,this.oplogReplay=!1,this.noCursorTimeout=!1,this.awaitData=!1,this.exhaust=!1,this.partial=!1}incRequestId(){this.requestId=co++}nextRequestId(){return co+1}static getRequestId(){return++co}toBin(){let e=[],r=null,n=0;this.tailable&&(n|=ew),this.secondaryOk&&(n|=tw),this.oplogReplay&&(n|=rw),this.noCursorTimeout&&(n|=nw),this.awaitData&&(n|=sw),this.exhaust&&(n|=ow),this.partial&&(n|=iw),this.batchSize!==this.numberToReturn&&(this.numberToReturn=this.batchSize);let s=Buffer.alloc(4*4+4+Buffer.byteLength(this.ns)+1+4+4);e.push(s);let o=Ta.serialize(this.query,{checkKeys:this.checkKeys,serializeFunctions:this.serializeFunctions,ignoreUndefined:this.ignoreUndefined});e.push(o),this.returnFieldSelector&&Object.keys(this.returnFieldSelector).length>0&&(r=Ta.serialize(this.returnFieldSelector,{checkKeys:this.checkKeys,serializeFunctions:this.serializeFunctions,ignoreUndefined:this.ignoreUndefined}),e.push(r));let i=s.length+o.length+(r?r.length:0),u=4;return s[3]=i>>24&255,s[2]=i>>16&255,s[1]=i>>8&255,s[0]=i&255,s[u+3]=this.requestId>>24&255,s[u+2]=this.requestId>>16&255,s[u+1]=this.requestId>>8&255,s[u]=this.requestId&255,u=u+4,s[u+3]=0,s[u+2]=0,s[u+1]=0,s[u]=0,u=u+4,s[u+3]=ao.OP_QUERY>>24&255,s[u+2]=ao.OP_QUERY>>16&255,s[u+1]=ao.OP_QUERY>>8&255,s[u]=ao.OP_QUERY&255,u=u+4,s[u+3]=n>>24&255,s[u+2]=n>>16&255,s[u+1]=n>>8&255,s[u]=n&255,u=u+4,u=u+s.write(this.ns,u,"utf8")+1,s[u-1]=0,s[u+3]=this.numberToSkip>>24&255,s[u+2]=this.numberToSkip>>16&255,s[u+1]=this.numberToSkip>>8&255,s[u]=this.numberToSkip&255,u=u+4,s[u+3]=this.numberToReturn>>24&255,s[u+2]=this.numberToReturn>>16&255,s[u+1]=this.numberToReturn>>8&255,s[u]=this.numberToReturn&255,u=u+4,e}};Wt.OpQueryRequest=Oh;var wh=class{constructor(e,r,n,s){this.index=0,this.sections=[],this.moreToCome=!1,this.parsed=!1,this.raw=e,this.data=n,this.opts=s??{useBigInt64:!1,promoteLongs:!0,promoteValues:!0,promoteBuffers:!1,bsonRegExp:!1},this.length=r.length,this.requestId=r.requestId,this.responseTo=r.responseTo,this.opCode=r.opCode,this.fromCompressed=r.fromCompressed,this.useBigInt64=typeof this.opts.useBigInt64=="boolean"?this.opts.useBigInt64:!1,this.promoteLongs=typeof this.opts.promoteLongs=="boolean"?this.opts.promoteLongs:!0,this.promoteValues=typeof this.opts.promoteValues=="boolean"?this.opts.promoteValues:!0,this.promoteBuffers=typeof this.opts.promoteBuffers=="boolean"?this.opts.promoteBuffers:!1,this.bsonRegExp=typeof this.opts.bsonRegExp=="boolean"?this.opts.bsonRegExp:!1}isParsed(){return this.parsed}parse(){if(this.parsed)return this.sections[0];if(this.index=20,this.responseFlags=this.data.readInt32LE(0),this.cursorId=new Ta.Long(this.data.readInt32LE(4),this.data.readInt32LE(8)),this.startingFrom=this.data.readInt32LE(12),this.numberReturned=this.data.readInt32LE(16),this.numberReturned<0||this.numberReturned>2**32-1)throw new RangeError(`OP_REPLY numberReturned is an invalid array length ${this.numberReturned}`);this.cursorNotFound=(this.responseFlags&uw)!==0,this.queryFailure=(this.responseFlags&aw)!==0,this.shardConfigStale=(this.responseFlags&cw)!==0,this.awaitCapable=(this.responseFlags&lw)!==0;for(let e=0;e<this.numberReturned;e++){let r=this.data[this.index]|this.data[this.index+1]<<8|this.data[this.index+2]<<16|this.data[this.index+3]<<24,n=this.data.subarray(this.index,this.index+r);this.sections.push(n),this.index=this.index+r}return this.parsed=!0,this.sections[0]}};Wt.OpReply=wh;var Mm=1,Im=2,vm=65536,Fa=class t{constructor(e,r,n){if(this.databaseName=e,this.command=r,this.options=n,r==null)throw new F1.MongoInvalidArgumentError("Query document must be specified for query");this.command.$db=e,this.options=n??{},this.requestId=n.requestId?n.requestId:t.getRequestId(),this.serializeFunctions=typeof n.serializeFunctions=="boolean"?n.serializeFunctions:!1,this.ignoreUndefined=typeof n.ignoreUndefined=="boolean"?n.ignoreUndefined:!1,this.checkKeys=typeof n.checkKeys=="boolean"?n.checkKeys:!1,this.maxBsonSize=n.maxBsonSize||1024*1024*16,this.checksumPresent=!1,this.moreToCome=n.moreToCome||!1,this.exhaustAllowed=typeof n.exhaustAllowed=="boolean"?n.exhaustAllowed:!1}toBin(){let e=[],r=0;this.checksumPresent&&(r|=Mm),this.moreToCome&&(r|=Im),this.exhaustAllowed&&(r|=vm);let n=Buffer.alloc(4*4+4);e.push(n);let s=n.length,o=this.command;return s+=this.makeDocumentSegment(e,o),n.writeInt32LE(s,0),n.writeInt32LE(this.requestId,4),n.writeInt32LE(0,8),n.writeInt32LE(ao.OP_MSG,12),n.writeUInt32LE(r,16),e}makeDocumentSegment(e,r){let n=Buffer.alloc(1);n[0]=0;let s=this.serializeBson(r);return e.push(n),e.push(s),n.length+s.length}serializeBson(e){return Ta.serialize(e,{checkKeys:this.checkKeys,serializeFunctions:this.serializeFunctions,ignoreUndefined:this.ignoreUndefined})}static getRequestId(){return co=co+1&2147483647,co}};Wt.OpMsgRequest=Fa;var Dh=class{constructor(e,r,n,s){this.index=0,this.sections=[],this.parsed=!1,this.raw=e,this.data=n,this.opts=s??{useBigInt64:!1,promoteLongs:!0,promoteValues:!0,promoteBuffers:!1,bsonRegExp:!1},this.length=r.length,this.requestId=r.requestId,this.responseTo=r.responseTo,this.opCode=r.opCode,this.fromCompressed=r.fromCompressed,this.responseFlags=n.readInt32LE(0),this.checksumPresent=(this.responseFlags&Mm)!==0,this.moreToCome=(this.responseFlags&Im)!==0,this.exhaustAllowed=(this.responseFlags&vm)!==0,this.useBigInt64=typeof this.opts.useBigInt64=="boolean"?this.opts.useBigInt64:!1,this.promoteLongs=typeof this.opts.promoteLongs=="boolean"?this.opts.promoteLongs:!0,this.promoteValues=typeof this.opts.promoteValues=="boolean"?this.opts.promoteValues:!0,this.promoteBuffers=typeof this.opts.promoteBuffers=="boolean"?this.opts.promoteBuffers:!1,this.bsonRegExp=typeof this.opts.bsonRegExp=="boolean"?this.opts.bsonRegExp:!1}isParsed(){return this.parsed}parse(){if(this.parsed)return this.sections[0];for(this.index=4;this.index<this.data.length;){let e=this.data.readUInt8(this.index++);if(e===0){let r=this.data.readUInt32LE(this.index),n=this.data.subarray(this.index,this.index+r);this.sections.push(n),this.index+=r}else if(e===1)throw new F1.MongoRuntimeError("OP_MSG Payload Type 1 detected unsupported protocol")}return this.parsed=!0,this.sections[0]}};Wt.OpMsgResponse=Dh;var Sh=16,Rm=9,_h=class{constructor(e,r){this.command=e,this.options=r}static canCompress(e){let r=e instanceof Fa?e.command:e.query,n=Object.keys(r)[0];return!yh.uncompressibleCommands.has(n)}async toBin(){let e=Buffer.concat(this.command.toBin()),r=e.slice(Sh),n=e.readInt32LE(12),s=await(0,yh.compress)(this.options,r),o=Buffer.alloc(Sh);o.writeInt32LE(Sh+Rm+s.length,0),o.writeInt32LE(this.command.requestId,4),o.writeInt32LE(0,8),o.writeInt32LE(ao.OP_COMPRESSED,12);let i=Buffer.alloc(Rm);return i.writeInt32LE(n,0),i.writeInt32LE(r.length,4),i.writeUInt8(yh.Compressor[this.options.agreedCompressor],8),[o,i,s]}};Wt.OpCompressedRequest=_h});var N1=m(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.decompressResponse=Fe.compressCommand=Fe.decompress=Fe.compress=Fe.uncompressibleCommands=Fe.Compressor=void 0;var Pm=x("util"),Ra=x("zlib"),hw=Be(),Lm=nr(),bh=_(),lo=Na(),Bh=Qn();Fe.Compressor=Object.freeze({none:0,snappy:1,zlib:2,zstd:3});Fe.uncompressibleCommands=new Set([hw.LEGACY_HELLO_COMMAND,"saslStart","saslContinue","getnonce","authenticate","createUser","updateUser","copydbSaslStart","copydbgetnonce","copydb"]);var dw=3,fw=(0,Pm.promisify)(Ra.inflate.bind(Ra)),pw=(0,Pm.promisify)(Ra.deflate.bind(Ra)),Mn,hs=null;function xm(){if(hs==null){let t=(0,Lm.getSnappy)();if("kModuleError"in t)throw t.kModuleError;hs=t}return hs}async function mw(t,e){let r={};switch(t.agreedCompressor){case"snappy":return hs??=xm(),await hs.compress(e);case"zstd":{if(qm(),"kModuleError"in Mn)throw Mn.kModuleError;return await Mn.compress(e,dw)}case"zlib":return t.zlibCompressionLevel&&(r.level=t.zlibCompressionLevel),await pw(e,r);default:throw new bh.MongoInvalidArgumentError(`Unknown compressor ${t.agreedCompressor} failed to compress`)}}Fe.compress=mw;async function km(t,e){if(t!==Fe.Compressor.snappy&&t!==Fe.Compressor.zstd&&t!==Fe.Compressor.zlib&&t!==Fe.Compressor.none)throw new bh.MongoDecompressionError(`Server sent message compressed using an unsupported compressor. (Received compressor ID ${t})`);switch(t){case Fe.Compressor.snappy:return hs??=xm(),await hs.uncompress(e,{asBuffer:!0});case Fe.Compressor.zstd:{if(qm(),"kModuleError"in Mn)throw Mn.kModuleError;return await Mn.decompress(e)}case Fe.Compressor.zlib:return await fw(e);default:return e}}Fe.decompress=km;function qm(){Mn||(Mn=(0,Lm.getZstdLibrary)())}var R1=16;async function Ew(t,e){let n=await(e.agreedCompressor==="none"||!lo.OpCompressedRequest.canCompress(t)?t:new lo.OpCompressedRequest(t,{agreedCompressor:e.agreedCompressor??"none",zlibCompressionLevel:e.zlibCompressionLevel??0})).toBin();return Buffer.concat(n)}Fe.compressCommand=Ew;async function Aw(t){let e={length:t.readInt32LE(0),requestId:t.readInt32LE(4),responseTo:t.readInt32LE(8),opCode:t.readInt32LE(12)};if(e.opCode!==Bh.OP_COMPRESSED){let u=e.opCode===Bh.OP_MSG?lo.OpMsgResponse:lo.OpReply,a=t.subarray(R1);return new u(t,e,a)}let r={...e,fromCompressed:!0,opCode:t.readInt32LE(R1),length:t.readInt32LE(R1+4)},n=t[R1+8],s=t.slice(R1+9),o=r.opCode===Bh.OP_MSG?lo.OpMsgResponse:lo.OpReply,i=await km(n,s);if(i.length!==r.length)throw new bh.MongoDecompressionError("Message body and message header must be the same length");return new o(t,r,i)}Fe.decompressResponse=Aw});var Fh=m(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.hmacSha256Hook=Se.hmacSha512Hook=Se.aes256CtrDecryptHook=Se.aes256CtrEncryptHook=Se.aes256CbcDecryptHook=Se.aes256CbcEncryptHook=Se.signRsaSha256Hook=Se.makeHmacHook=Se.sha256Hook=Se.randomHook=Se.makeAES256Hook=void 0;var M1=x("crypto");function I1(t,e){return function(r,n,s,o){let i;try{let u=M1[t](e,r,n);u.setAutoPadding(!1),i=u.update(s);let a=u.final();a.length>0&&(i=Buffer.concat([i,a]))}catch(u){return u}return i.copy(o),i.length}}Se.makeAES256Hook=I1;function gw(t,e){try{M1.randomFillSync(t,0,e)}catch(r){return r}return e}Se.randomHook=gw;function Cw(t,e){let r;try{r=M1.createHash("sha256").update(t).digest()}catch(n){return n}return r.copy(e),r.length}Se.sha256Hook=Cw;function Th(t){return(e,r,n)=>{let s;try{s=M1.createHmac(t,e).update(r).digest()}catch(o){return o}return s.copy(n),s.length}}Se.makeHmacHook=Th;function yw(t,e,r){let n;try{let s=M1.createSign("sha256WithRSAEncryption"),o=Buffer.from(`-----BEGIN PRIVATE KEY-----
9
- ${t.toString("base64")}
10
- -----END PRIVATE KEY-----
11
- `);n=s.update(e).end().sign(o)}catch(s){return s}return n.copy(r),n.length}Se.signRsaSha256Hook=yw;Se.aes256CbcEncryptHook=I1("createCipheriv","aes-256-cbc");Se.aes256CbcDecryptHook=I1("createDecipheriv","aes-256-cbc");Se.aes256CtrEncryptHook=I1("createCipheriv","aes-256-ctr");Se.aes256CtrDecryptHook=I1("createDecipheriv","aes-256-ctr");Se.hmacSha512Hook=Th("sha512");Se.hmacSha256Hook=Th("sha256")});var ho=m(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.MongoCryptKMSRequestNetworkTimeoutError=Et.MongoCryptAzureKMSRequestError=Et.MongoCryptCreateEncryptedCollectionError=Et.MongoCryptCreateDataKeyError=Et.MongoCryptInvalidArgumentError=Et.MongoCryptError=void 0;var Sw=_(),In=class extends Sw.MongoError{constructor(e,r={}){super(e,r)}get name(){return"MongoCryptError"}};Et.MongoCryptError=In;var Nh=class extends In{constructor(e){super(e)}get name(){return"MongoCryptInvalidArgumentError"}};Et.MongoCryptInvalidArgumentError=Nh;var Rh=class extends In{constructor(e,{cause:r}){super(`Unable to complete creating data keys: ${r.message}`,{cause:r}),this.encryptedFields=e}get name(){return"MongoCryptCreateDataKeyError"}};Et.MongoCryptCreateDataKeyError=Rh;var Mh=class extends In{constructor(e,{cause:r}){super(`Unable to create collection: ${r.message}`,{cause:r}),this.encryptedFields=e}get name(){return"MongoCryptCreateEncryptedCollectionError"}};Et.MongoCryptCreateEncryptedCollectionError=Mh;var Ih=class extends In{constructor(e,r){super(e),this.body=r}get name(){return"MongoCryptAzureKMSRequestError"}};Et.MongoCryptAzureKMSRequestError=Ih;var vh=class extends In{get name(){return"MongoCryptKMSRequestNetworkTimeoutError"}};Et.MongoCryptKMSRequestNetworkTimeoutError=vh});var Um=m(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.MongocryptdManager=void 0;var Ow=_(),Ma=class t{constructor(e={}){this.uri=typeof e.mongocryptdURI=="string"&&e.mongocryptdURI.length>0?e.mongocryptdURI:t.DEFAULT_MONGOCRYPTD_URI,this.bypassSpawn=!!e.mongocryptdBypassSpawn,this.spawnPath=e.mongocryptdSpawnPath||"",this.spawnArgs=[],Array.isArray(e.mongocryptdSpawnArgs)&&(this.spawnArgs=this.spawnArgs.concat(e.mongocryptdSpawnArgs)),this.spawnArgs.filter(r=>typeof r=="string").every(r=>r.indexOf("--idleShutdownTimeoutSecs")<0)&&this.spawnArgs.push("--idleShutdownTimeoutSecs","60")}async spawn(){let e=this.spawnPath||"mongocryptd",{spawn:r}=x("child_process");this._child=r(e,this.spawnArgs,{stdio:"ignore",detached:!0}),this._child.on("error",()=>{}),this._child.unref()}async withRespawn(e){try{return await e()}catch(n){if(!(n instanceof Ow.MongoNetworkTimeoutError&&!this.bypassSpawn))throw n}return await this.spawn(),await e()}};Ma.DEFAULT_MONGOCRYPTD_URI="mongodb://localhost:27020";Ia.MongocryptdManager=Ma});var kh=m(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.LegacyAWSTemporaryCredentialProvider=vn.AWSSDKCredentialProvider=vn.AWSTemporaryCredentialProvider=void 0;var ww=nr(),Dw=_(),va=R(),_w="http://169.254.170.2",Ph="http://169.254.169.254",jm="/latest/meta-data/iam/security-credentials",Hr=class t{static get awsSDK(){return t._awsSDK??=(0,ww.getAwsCredentialProvider)(),t._awsSDK}static get isAWSSDKInstalled(){return!("kModuleError"in t.awsSDK)}};vn.AWSTemporaryCredentialProvider=Hr;var Lh=class extends Hr{get provider(){if("kModuleError"in Hr.awsSDK)throw Hr.awsSDK.kModuleError;if(this._provider)return this._provider;let{AWS_STS_REGIONAL_ENDPOINTS:e="",AWS_REGION:r=""}=process.env;e=e.toLowerCase(),r=r.toLowerCase();let n=r.length!==0&&e.length!==0,o=e==="regional"||e==="legacy"&&!new Set(["ap-northeast-1","ap-south-1","ap-southeast-1","ap-southeast-2","aws-global","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]).has(r);return this._provider=n&&o?Hr.awsSDK.fromNodeProviderChain({clientConfig:{region:r}}):Hr.awsSDK.fromNodeProviderChain(),this._provider}async getCredentials(){try{let e=await this.provider();return{AccessKeyId:e.accessKeyId,SecretAccessKey:e.secretAccessKey,Token:e.sessionToken,Expiration:e.expiration}}catch(e){throw new Dw.MongoAWSError(e.message,{cause:e})}}};vn.AWSSDKCredentialProvider=Lh;var xh=class extends Hr{async getCredentials(){if(process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI)return await(0,va.request)(`${_w}${process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI}`);let e=await(0,va.request)(`${Ph}/latest/api/token`,{method:"PUT",json:!1,headers:{"X-aws-ec2-metadata-token-ttl-seconds":30}}),r=await(0,va.request)(`${Ph}/${jm}`,{json:!1,headers:{"X-aws-ec2-metadata-token":e}});return await(0,va.request)(`${Ph}/${jm}/${r}`,{headers:{"X-aws-ec2-metadata-token":e}})}};vn.LegacyAWSTemporaryCredentialProvider=xh});var zm=m(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.loadAWSCredentials=void 0;var Bw=kh();async function bw(t){let e=new Bw.AWSSDKCredentialProvider,{SecretAccessKey:r="",AccessKeyId:n="",Token:s}=await e.getCredentials(),o={secretAccessKey:r,accessKeyId:n};return s!=null&&(o.sessionToken=s),{...t,aws:o}}Pa.loadAWSCredentials=bw});var qh=m(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.loadAzureCredentials=Ue.fetchAzureKMSToken=Ue.prepareRequest=Ue.addAzureParams=Ue.tokenCache=Ue.AzureCredentialCache=Ue.AZURE_BASE_URL=void 0;var Tw=_(),Fw=R(),fo=ho(),Nw=6e3;Ue.AZURE_BASE_URL="http://169.254.169.254/metadata/identity/oauth2/token?";var La=class{constructor(){this.cachedToken=null}async getToken(){return(this.cachedToken==null||this.needsRefresh(this.cachedToken))&&(this.cachedToken=await this._getToken()),{accessToken:this.cachedToken.accessToken}}needsRefresh(e){return e.expiresOnTimestamp-Date.now()<=Nw}resetCache(){this.cachedToken=null}_getToken(){return $m()}};Ue.AzureCredentialCache=La;Ue.tokenCache=new La;async function Rw(t){let{status:e,body:r}=t,n=(()=>{try{return JSON.parse(r)}catch{throw new fo.MongoCryptAzureKMSRequestError("Malformed JSON body in GET request.")}})();if(e!==200)throw new fo.MongoCryptAzureKMSRequestError("Unable to complete request.",n);if(!n.access_token)throw new fo.MongoCryptAzureKMSRequestError("Malformed response body - missing field `access_token`.");if(!n.expires_in)throw new fo.MongoCryptAzureKMSRequestError("Malformed response body - missing field `expires_in`.");let s=Number(n.expires_in)*1e3;if(Number.isNaN(s))throw new fo.MongoCryptAzureKMSRequestError("Malformed response body - unable to parse int from `expires_in` field.");return{accessToken:n.access_token,expiresOnTimestamp:Date.now()+s}}function Wm(t,e,r){return t.searchParams.append("api-version","2018-02-01"),t.searchParams.append("resource",e),r&&t.searchParams.append("client_id",r),t}Ue.addAzureParams=Wm;function Vm(t){let e=new URL(t.url?.toString()??Ue.AZURE_BASE_URL);return Wm(e,"https://vault.azure.net"),{headers:{...t.headers,"Content-Type":"application/json",Metadata:!0},url:e}}Ue.prepareRequest=Vm;async function $m(t={}){let{headers:e,url:r}=Vm(t);try{let n=await(0,Fw.get)(r,{headers:e});return await Rw(n)}catch(n){throw n instanceof Tw.MongoNetworkTimeoutError?new fo.MongoCryptAzureKMSRequestError(`[Azure KMS] ${n.message}`):n}}Ue.fetchAzureKMSToken=$m;async function Mw(t){let e=await Ue.tokenCache.getToken();return{...t,azure:e}}Ue.loadAzureCredentials=Mw});var Gm=m(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.loadGCPCredentials=void 0;var Iw=nr();async function vw(t){let e=(0,Iw.getGcpMetadata)();if("kModuleError"in e)return t;let{access_token:r}=await e.instance({property:"service-accounts/default/token"});return{...t,gcp:{accessToken:r}}}xa.loadGCPCredentials=vw});var Uh=m(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.refreshKMSCredentials=po.isEmptyCredentials=void 0;var Pw=zm(),Lw=qh(),xw=Gm();function ka(t,e){let r=e[t];return r==null?!1:typeof r=="object"&&Object.keys(r).length===0}po.isEmptyCredentials=ka;async function kw(t){let e=t;return ka("aws",t)&&(e=await(0,Pw.loadAWSCredentials)(e)),ka("gcp",t)&&(e=await(0,xw.loadGCPCredentials)(e)),ka("azure",t)&&(e=await(0,Lw.loadAzureCredentials)(e)),e}po.refreshKMSCredentials=kw});var zh=m(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.StateMachine=void 0;var Hm=x("fs/promises"),qw=x("net"),Uw=x("tls"),Kr=ne(),jw=nr(),mo=R(),Yr=ho(),v1=null;function zw(){if(v1==null){let t=(0,jw.getSocks)();if("kModuleError"in t)throw t.kModuleError;v1=t}return v1}var qa=0,Ym=1,Xm=2,Jm=3,Qm=7,Zm=4,eE=5,tE=6,Ww=443,Vw=new Map([[qa,"MONGOCRYPT_CTX_ERROR"],[Ym,"MONGOCRYPT_CTX_NEED_MONGO_COLLINFO"],[Xm,"MONGOCRYPT_CTX_NEED_MONGO_MARKINGS"],[Jm,"MONGOCRYPT_CTX_NEED_MONGO_KEYS"],[Qm,"MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS"],[Zm,"MONGOCRYPT_CTX_NEED_KMS"],[eE,"MONGOCRYPT_CTX_READY"],[tE,"MONGOCRYPT_CTX_DONE"]]),$w=["tlsInsecure","tlsAllowInvalidCertificates","tlsAllowInvalidHostnames","tlsDisableOCSPEndpointCheck","tlsDisableCertificateRevocationCheck"];function Km(t){process.env.MONGODB_CRYPT_DEBUG&&console.error(t)}var Gw,jh=class{constructor(e,r=(0,Kr.pluckBSONSerializeOptions)(e)){this.options=e,this.bsonOptions=r}async execute(e,r){let n=e._keyVaultNamespace,s=e._keyVaultClient,o=e._metaDataClient,i=e._mongocryptdClient,u=e._mongocryptdManager,a=null;for(;r.state!==tE&&r.state!==qa;)switch(Km(`[context#${r.id}] ${Vw.get(r.state)||r.state}`),r.state){case Ym:{let c=(0,Kr.deserialize)(r.nextMongoOperation());if(!o)throw new Yr.MongoCryptError("unreachable state machine state: entered MONGOCRYPT_CTX_NEED_MONGO_COLLINFO but metadata client is undefined");let l=await this.fetchCollectionInfo(o,r.ns,c);l&&r.addMongoOperationResponse(l),r.finishMongoOperation();break}case Xm:{let c=r.nextMongoOperation();if(!i)throw new Yr.MongoCryptError("unreachable state machine state: entered MONGOCRYPT_CTX_NEED_MONGO_MARKINGS but mongocryptdClient is undefined");let l=u?await u.withRespawn(this.markCommand.bind(this,i,r.ns,c)):await this.markCommand(i,r.ns,c);r.addMongoOperationResponse(l),r.finishMongoOperation();break}case Jm:{let c=r.nextMongoOperation(),l=await this.fetchKeys(s,n,c);l.length===0&&(a=Gw??=(0,Kr.serialize)({v:[]}));for await(let h of l)r.addMongoOperationResponse((0,Kr.serialize)(h));r.finishMongoOperation();break}case Qm:{let c=await e.askForKMSCredentials();r.provideKMSProviders((0,Kr.serialize)(c));break}case Zm:{let c=Array.from(this.requests(r));await Promise.all(c),r.finishKMSRequests();break}case eE:{let c=r.finalize();if(r.state===qa){let l=r.status.message||"Finalization error";throw new Yr.MongoCryptError(l)}a=c;break}default:throw new Yr.MongoCryptError(`Unknown state: ${r.state}`)}if(r.state===qa||a==null){let c=r.status.message;throw c||Km("unidentifiable error in MongoCrypt - received an error status from `libmongocrypt` but received no error message."),new Yr.MongoCryptError(c??"unidentifiable error in MongoCrypt - received an error status from `libmongocrypt` but received no error message.")}return a}async kmsRequest(e){let r=e.endpoint.split(":"),n=r[1]!=null?Number.parseInt(r[1],10):Ww,s={host:r[0],servername:r[0],port:n},o=e.message,i=new mo.BufferPool,u=new qw.Socket,a;function c(){for(let D of[a,u])D&&(D.removeAllListeners(),D.destroy())}function l(){return new Yr.MongoCryptError("KMS request timed out")}function h(D){return new Yr.MongoCryptError("KMS request failed",{cause:D})}function f(){return new Yr.MongoCryptError("KMS request closed")}let S=this.options.tlsOptions;if(S){let D=e.kmsProvider,T=S[D];if(T){let J=this.validateTlsOptions(D,T);if(J)throw J;try{await this.setTlsOptions(T,s)}catch(B){throw h(B)}}}let{promise:y,reject:F,resolve:I}=(0,mo.promiseWithResolvers)();u.once("timeout",()=>F(l())).once("error",D=>F(h(D))).once("close",()=>F(f())).once("connect",()=>I());try{if(this.options.proxyOptions&&this.options.proxyOptions.proxyHost){u.connect({host:this.options.proxyOptions.proxyHost,port:this.options.proxyOptions.proxyPort||1080}),await y;try{v1??=zw(),s.socket=(await v1.SocksClient.createConnection({existing_socket:u,command:"connect",destination:{host:s.host,port:s.port},proxy:{host:"iLoveJavaScript",port:0,type:5,userId:this.options.proxyOptions.proxyUsername,password:this.options.proxyOptions.proxyPassword}})).socket}catch(B){throw h(B)}}a=Uw.connect(s,()=>{a.write(o)});let{promise:D,reject:T,resolve:J}=(0,mo.promiseWithResolvers)();a.once("timeout",()=>T(l())).once("error",B=>T(h(B))).once("close",()=>T(f())).on("data",B=>{for(i.append(B);e.bytesNeeded>0&&i.length;){let ge=Math.min(e.bytesNeeded,i.length);e.addResponse(i.read(ge))}e.bytesNeeded<=0&&J()}),await D}finally{c()}}*requests(e){for(let r=e.nextKMSRequest();r!=null;r=e.nextKMSRequest())yield this.kmsRequest(r)}validateTlsOptions(e,r){let n=Object.keys(r);for(let s of $w)if(n.includes(s))return new Yr.MongoCryptError(`Insecure TLS options prohibited for ${e}: ${s}`)}async setTlsOptions(e,r){if(e.tlsCertificateKeyFile){let n=await Hm.readFile(e.tlsCertificateKeyFile);r.cert=r.key=n}e.tlsCAFile&&(r.ca=await Hm.readFile(e.tlsCAFile)),e.tlsCertificateKeyFilePassword&&(r.passphrase=e.tlsCertificateKeyFilePassword)}async fetchCollectionInfo(e,r,n){let{db:s}=mo.MongoDBCollectionNamespace.fromString(r),o=await e.db(s).listCollections(n,{promoteLongs:!1,promoteValues:!1}).toArray();return o.length>0?(0,Kr.serialize)(o[0]):null}async markCommand(e,r,n){let s={promoteLongs:!1,promoteValues:!1},{db:o}=mo.MongoDBCollectionNamespace.fromString(r),i=(0,Kr.deserialize)(n,s),u=await e.db(o).command(i,s);return(0,Kr.serialize)(u,this.bsonOptions)}fetchKeys(e,r,n){let{db:s,collection:o}=mo.MongoDBCollectionNamespace.fromString(r);return e.db(s).collection(o,{readConcern:{level:"majority"}}).find((0,Kr.deserialize)(n)).toArray()}};Ua.StateMachine=jh});var $h=m(Eo=>{"use strict";var nE;Object.defineProperty(Eo,"__esModule",{value:!0});Eo.AutoEncrypter=Eo.AutoEncryptionLoggerLevel=void 0;var P1=ne(),Hw=Be(),Kw=nr(),Wh=_(),Yw=ds(),Xw=R(),Jw=Fh(),Qw=ho(),Zw=Um(),eD=Uh(),rE=zh();Eo.AutoEncryptionLoggerLevel=Object.freeze({FatalError:0,Error:1,Warning:2,Info:3,Trace:4});var Vh=class t{static getMongoCrypt(){let e=(0,Kw.getMongoDBClientEncryption)();if("kModuleError"in e)throw e.kModuleError;return e.MongoCrypt}constructor(e,r){this[nE]=!1,this._client=e,this._bypassEncryption=r.bypassAutoEncryption===!0,this._keyVaultNamespace=r.keyVaultNamespace||"admin.datakeys",this._keyVaultClient=r.keyVaultClient||e,this._metaDataClient=r.metadataClient||e,this._proxyOptions=r.proxyOptions||{},this._tlsOptions=r.tlsOptions||{},this._kmsProviders=r.kmsProviders||{};let n={cryptoCallbacks:Jw};r.schemaMap&&(n.schemaMap=Buffer.isBuffer(r.schemaMap)?r.schemaMap:(0,P1.serialize)(r.schemaMap)),r.encryptedFieldsMap&&(n.encryptedFieldsMap=Buffer.isBuffer(r.encryptedFieldsMap)?r.encryptedFieldsMap:(0,P1.serialize)(r.encryptedFieldsMap)),n.kmsProviders=Buffer.isBuffer(this._kmsProviders)?this._kmsProviders:(0,P1.serialize)(this._kmsProviders),r.options?.logger&&(n.logger=r.options.logger),r.extraOptions&&r.extraOptions.cryptSharedLibPath&&(n.cryptSharedLibPath=r.extraOptions.cryptSharedLibPath),r.bypassQueryAnalysis&&(n.bypassQueryAnalysis=r.bypassQueryAnalysis),this._bypassMongocryptdAndCryptShared=this._bypassEncryption||!!r.bypassQueryAnalysis,r.extraOptions&&r.extraOptions.cryptSharedLibSearchPaths?n.cryptSharedLibSearchPaths=r.extraOptions.cryptSharedLibSearchPaths:this._bypassMongocryptdAndCryptShared||(n.cryptSharedLibSearchPaths=["$SYSTEM"]);let s=t.getMongoCrypt();if(this._mongocrypt=new s(n),this._contextCounter=0,r.extraOptions&&r.extraOptions.cryptSharedLibRequired&&!this.cryptSharedLibVersionInfo)throw new Qw.MongoCryptInvalidArgumentError("`cryptSharedLibRequired` set but no crypt_shared library loaded");if(!this._bypassMongocryptdAndCryptShared&&!this.cryptSharedLibVersionInfo){this._mongocryptdManager=new Zw.MongocryptdManager(r.extraOptions);let o={serverSelectionTimeoutMS:1e4};(r.extraOptions==null||typeof r.extraOptions.mongocryptdURI!="string")&&(o.family=4),this._mongocryptdClient=new Yw.MongoClient(this._mongocryptdManager.uri,o)}}async init(){if(!(this._bypassMongocryptdAndCryptShared||this.cryptSharedLibVersionInfo)){if(!this._mongocryptdManager)throw new Wh.MongoRuntimeError("Reached impossible state: mongocryptdManager is undefined when neither bypassSpawn nor the shared lib are specified.");if(!this._mongocryptdClient)throw new Wh.MongoRuntimeError("Reached impossible state: mongocryptdClient is undefined when neither bypassSpawn nor the shared lib are specified.");this._mongocryptdManager.bypassSpawn||await this._mongocryptdManager.spawn();try{return await this._mongocryptdClient.connect()}catch(e){let{message:r}=e;throw r&&(r.match(/timed out after/)||r.match(/ENOTFOUND/))?new Wh.MongoRuntimeError("Unable to connect to `mongocryptd`, please make sure it is running or in your PATH for auto-spawn",{cause:e}):e}}}async teardown(e){await this._mongocryptdClient?.close(e)}async encrypt(e,r,n={}){if(this._bypassEncryption)return r;let s=Buffer.isBuffer(r)?r:(0,P1.serialize)(r,n),o=this._mongocrypt.makeEncryptionContext(Xw.MongoDBCollectionNamespace.fromString(e).db,s);o.id=this._contextCounter++,o.ns=e,o.document=r;let i=new rE.StateMachine({promoteValues:!1,promoteLongs:!1,proxyOptions:this._proxyOptions,tlsOptions:this._tlsOptions});return(0,P1.deserialize)(await i.execute(this,o),{promoteValues:!1,promoteLongs:!1})}async decrypt(e,r={}){let n=this._mongocrypt.makeDecryptionContext(e);return n.id=this._contextCounter++,await new rE.StateMachine({...r,proxyOptions:this._proxyOptions,tlsOptions:this._tlsOptions}).execute(this,n)}async askForKMSCredentials(){return await(0,eD.refreshKMSCredentials)(this._kmsProviders)}get cryptSharedLibVersionInfo(){return this._mongocrypt.cryptSharedLibVersionInfo}static get libmongocryptVersion(){return t.getMongoCrypt().libmongocryptVersion}};Eo.AutoEncrypter=Vh;nE=Hw.kDecorateResult});var oE=m(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.Encrypter=void 0;var tD=x("util"),rD=$h(),nD=Be(),sD=nr(),sE=_(),oD=ds(),L1=Symbol("internalClient"),Gh=class{constructor(e,r,n){if(typeof n.autoEncryption!="object")throw new sE.MongoInvalidArgumentError('Option "autoEncryption" must be specified');this[L1]=null,this.bypassAutoEncryption=!!n.autoEncryption.bypassAutoEncryption,this.needsConnecting=!1,n.maxPoolSize===0&&n.autoEncryption.keyVaultClient==null?n.autoEncryption.keyVaultClient=e:n.autoEncryption.keyVaultClient==null&&(n.autoEncryption.keyVaultClient=this.getInternalClient(e,r,n)),this.bypassAutoEncryption?n.autoEncryption.metadataClient=void 0:n.maxPoolSize===0?n.autoEncryption.metadataClient=e:n.autoEncryption.metadataClient=this.getInternalClient(e,r,n),n.proxyHost&&(n.autoEncryption.proxyOptions={proxyHost:n.proxyHost,proxyPort:n.proxyPort,proxyUsername:n.proxyUsername,proxyPassword:n.proxyPassword}),this.autoEncrypter=new rD.AutoEncrypter(e,n.autoEncryption)}getInternalClient(e,r,n){let s=this[L1];if(s==null){let o={};for(let i of[...Object.getOwnPropertyNames(n),...Object.getOwnPropertySymbols(n)])["autoEncryption","minPoolSize","servers","caseTranslate","dbName"].includes(i)||Reflect.set(o,i,Reflect.get(n,i));o.minPoolSize=0,s=new oD.MongoClient(r,o),this[L1]=s;for(let i of nD.MONGO_CLIENT_EVENTS)for(let u of e.listeners(i))s.on(i,u);e.on("newListener",(i,u)=>{s?.on(i,u)}),this.needsConnecting=!0}return s}async connectInternalClient(){let e=this[L1];this.needsConnecting&&e!=null&&(this.needsConnecting=!1,await e.connect())}closeCallback(e,r,n){(0,tD.callbackify)(this.close.bind(this))(e,r,n)}async close(e,r){let n;try{await this.autoEncrypter.teardown(r)}catch(o){n=o}let s=this[L1];if(s!=null&&e!==s)return await s.close(r);if(n!=null)throw n}static checkForMongoCrypt(){let e=(0,sD.getMongoDBClientEncryption)();if("kModuleError"in e)throw new sE.MongoMissingDependencyError("Auto-encryption requested, but the module is not installed. Please add `mongodb-client-encryption` as a dependency of your project",{cause:e.kModuleError,dependencyName:"mongodb-client-encryption"})}};ja.Encrypter=Gh});var ed=m(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.SENSITIVE_COMMANDS=Vt.CommandFailedEvent=Vt.CommandSucceededEvent=Vt.CommandStartedEvent=void 0;var x1=Be(),ir=R(),aE=Na(),Hh=class{constructor(e,r,n){this.name=x1.COMMAND_STARTED;let s=Qh(r),o=Xh(s),{address:i,connectionId:u,serviceId:a}=Zh(e);Vt.SENSITIVE_COMMANDS.has(o)&&(this.commandObj={},this.commandObj[o]=!0),this.address=i,this.connectionId=u,this.serviceId=a,this.requestId=r.requestId,this.databaseName=r.databaseName,this.commandName=o,this.command=Jh(o,s,s),this.serverConnectionId=n}get hasServiceId(){return!!this.serviceId}};Vt.CommandStartedEvent=Hh;var Kh=class{constructor(e,r,n,s,o){this.name=x1.COMMAND_SUCCEEDED;let i=Qh(r),u=Xh(i),{address:a,connectionId:c,serviceId:l}=Zh(e);this.address=a,this.connectionId=c,this.serviceId=l,this.requestId=r.requestId,this.commandName=u,this.duration=(0,ir.calculateDurationInMs)(s),this.reply=Jh(u,i,lD(r,n)),this.serverConnectionId=o}get hasServiceId(){return!!this.serviceId}};Vt.CommandSucceededEvent=Kh;var Yh=class{constructor(e,r,n,s,o){this.name=x1.COMMAND_FAILED;let i=Qh(r),u=Xh(i),{address:a,connectionId:c,serviceId:l}=Zh(e);this.address=a,this.connectionId=c,this.serviceId=l,this.requestId=r.requestId,this.commandName=u,this.duration=(0,ir.calculateDurationInMs)(s),this.failure=Jh(u,i,n),this.serverConnectionId=o}get hasServiceId(){return!!this.serviceId}};Vt.CommandFailedEvent=Yh;Vt.SENSITIVE_COMMANDS=new Set(["authenticate","saslStart","saslContinue","getnonce","createUser","updateUser","copydbgetnonce","copydbsaslstart","copydb"]);var iD=new Set(["hello",x1.LEGACY_HELLO_COMMAND,x1.LEGACY_HELLO_COMMAND_CAMEL_CASE]),Xh=t=>Object.keys(t)[0],uD=t=>t.ns,aD=t=>t.ns.split(".")[1],Jh=(t,e,r)=>Vt.SENSITIVE_COMMANDS.has(t)||iD.has(t)&&e.speculativeAuthenticate?{}:r,iE={$query:"filter",$orderby:"sort",$hint:"hint",$comment:"comment",$maxScan:"maxScan",$max:"max",$min:"min",$returnKey:"returnKey",$showDiskLoc:"showRecordId",$maxTimeMS:"maxTimeMS",$snapshot:"snapshot"},uE={numberToSkip:"skip",numberToReturn:"batchSize",returnFieldSelector:"projection"},cD=["tailable","oplogReplay","noCursorTimeout","awaitData","partial","exhaust"];function Qh(t){if(t instanceof aE.OpMsgRequest)return(0,ir.deepCopy)(t.command);if(t.query?.$query){let n;return t.ns==="admin.$cmd"?n=Object.assign({},t.query.$query):(n={find:aD(t)},Object.keys(iE).forEach(s=>{t.query[s]!=null&&(n[iE[s]]=(0,ir.deepCopy)(t.query[s]))})),Object.keys(uE).forEach(s=>{let o=s;t[o]!=null&&(n[uE[o]]=(0,ir.deepCopy)(t[o]))}),cD.forEach(s=>{t[s]&&(n[s]=t[s])}),t.pre32Limit!=null&&(n.limit=t.pre32Limit),t.query.$explain?{explain:n}:n}let e={},r={};if(t.query){for(let n in t.query)e[n]=(0,ir.deepCopy)(t.query[n]);r.query=e}for(let n in t)n!=="query"&&(r[n]=(0,ir.deepCopy)(t[n]));return t.query?e:r}function lD(t,e){return e&&(t instanceof aE.OpMsgRequest?(0,ir.deepCopy)(e.result?e.result:e):t.query&&t.query.$query!=null?{ok:1,cursor:{id:(0,ir.deepCopy)(e.cursorId),ns:uD(t),firstBatch:(0,ir.deepCopy)(e.documents)}}:(0,ir.deepCopy)(e.result?e.result:e))}function Zh(t){let e;return"id"in t&&(e=t.id),{address:t.address,serviceId:t.serviceId,connectionId:e}}});var cE=m(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.StreamDescription=void 0;var hD=ne(),dD=wt(),fD=p1(),pD=["minWireVersion","maxWireVersion","maxBsonObjectSize","maxMessageSizeBytes","maxWriteBatchSize","logicalSessionTimeoutMinutes"],td=class{constructor(e,r){this.hello=null,this.address=e,this.type=dD.ServerType.Unknown,this.minWireVersion=void 0,this.maxWireVersion=void 0,this.maxBsonObjectSize=16777216,this.maxMessageSizeBytes=48e6,this.maxWriteBatchSize=1e5,this.logicalSessionTimeoutMinutes=r?.logicalSessionTimeoutMinutes,this.loadBalanced=!!r?.loadBalanced,this.compressors=r&&r.compressors&&Array.isArray(r.compressors)?r.compressors:[],this.serverConnectionId=null}receiveResponse(e){if(e!=null){this.hello=e,this.type=(0,fD.parseServerType)(e),"connectionId"in e?this.serverConnectionId=this.parseServerConnectionID(e.connectionId):this.serverConnectionId=null;for(let r of pD)e[r]!=null&&(this[r]=e[r]),"__nodejs_mock_server__"in e&&(this.__nodejs_mock_server__=e.__nodejs_mock_server__);e.compression&&(this.compressor=this.compressors.filter(r=>e.compression?.includes(r))[0])}}parseServerConnectionID(e){return hD.Long.isLong(e)?e.toBigInt():BigInt(e)}};za.StreamDescription=td});var lE=m(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.onData=void 0;var rd=R();function mD(t){let e=new rd.List,r=new rd.List,n=null,s=!1,o={next(){let c=e.shift();if(c!=null)return Promise.resolve({value:c,done:!1});if(n!=null){let S=Promise.reject(n);return n=null,S}if(s)return a();let{promise:l,resolve:h,reject:f}=(0,rd.promiseWithResolvers)();return r.push({resolve:h,reject:f}),l},return(){return a()},throw(c){return u(c),Promise.resolve({value:void 0,done:!0})},[Symbol.asyncIterator](){return this}};return t.on("data",i),t.on("error",u),o;function i(c){let l=r.shift();l!=null?l.resolve({value:c,done:!1}):e.push(c)}function u(c){let l=r.shift();l!=null?l.reject(c):n=c,a()}function a(){t.off("data",i),t.off("error",u),s=!0;let c={value:void 0,done:s};for(let l of r)l.resolve(c);return Promise.resolve(c)}}Wa.onData=mD});var Ha=m(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.CryptoConnection=br.SizedMessageTransform=br.Connection=br.hasSessionSupport=void 0;var ED=x("stream"),fE=x("timers"),AD=ne(),Pn=Be(),Br=_(),hE=os(),gD=bt(),CD=xe(),yD=wt(),dE=E1(),$t=R(),nd=ed(),Va=Na(),SD=cE(),OD=N1(),wD=lE(),$a=Cr(),sd=Jl();function DD(t){return t.description.logicalSessionTimeoutMinutes!=null}br.hasSessionSupport=DD;function _D(t,e){if(e.proxyHost)return e.hostAddress.toString();let{remoteAddress:r,remotePort:n}=t;return typeof r=="string"&&typeof n=="number"?$t.HostAddress.fromHostPort(r,n).toString():(0,$t.uuidV4)().toString("hex")}var ur=class t extends gD.TypedEventEmitter{constructor(e,r){super(),this.lastHelloMS=-1,this.helloOk=!1,this.delayedTimeoutId=null,this.closed=!1,this.clusterTime=null,this.error=null,this.dataEvents=null,this.socket=e,this.id=r.id,this.address=_D(e,r),this.socketTimeoutMS=r.socketTimeoutMS??0,this.monitorCommands=r.monitorCommands,this.serverApi=r.serverApi,this.mongoLogger=r.mongoLogger,this.established=!1,this.description=new SD.StreamDescription(this.address,r),this.generation=r.generation,this.lastUseTime=(0,$t.now)(),this.messageStream=this.socket.on("error",this.onError.bind(this)).pipe(new Ga({connection:this})).on("error",this.onError.bind(this)),this.socket.on("close",this.onClose.bind(this)),this.socket.on("timeout",this.onTimeout.bind(this))}get hello(){return this.description.hello}set hello(e){this.description.receiveResponse(e),Object.freeze(this.description)}get serviceId(){return this.hello?.serviceId}get loadBalanced(){return this.description.loadBalanced}get idleTime(){return(0,$t.calculateDurationInMs)(this.lastUseTime)}get hasSessionSupport(){return this.description.logicalSessionTimeoutMinutes!=null}get supportsOpMsg(){return this.description!=null&&(0,$t.maxWireVersion)(this)>=6&&!this.description.__nodejs_mock_server__}get shouldEmitAndLogCommand(){return(this.monitorCommands||this.established&&!this.authContext?.reauthenticating&&this.mongoLogger?.willLog(hE.MongoLoggableComponent.COMMAND,hE.SeverityLevel.DEBUG))??!1}markAvailable(){this.lastUseTime=(0,$t.now)()}onError(e){this.cleanup(e)}onClose(){let e=`connection ${this.id} to ${this.address} closed`;this.cleanup(new Br.MongoNetworkError(e))}onTimeout(){this.delayedTimeoutId=(0,fE.setTimeout)(()=>{let e=`connection ${this.id} to ${this.address} timed out`,r=this.hello==null;this.cleanup(new Br.MongoNetworkTimeoutError(e,{beforeHandshake:r}))},1).unref()}destroy(){if(this.closed)return;this.removeAllListeners(t.PINNED),this.removeAllListeners(t.UNPINNED);let e=`connection ${this.id} to ${this.address} closed`;this.cleanup(new Br.MongoNetworkError(e))}cleanup(e){this.closed||(this.socket.destroy(),this.error=e,this.dataEvents?.throw(e).then(void 0,$t.squashError),this.closed=!0,this.emit(t.CLOSE))}prepareCommand(e,r,n){let s={...r},o=(0,sd.getReadPreference)(n),i=n?.session,u=this.clusterTime;if(this.serverApi){let{version:l,strict:h,deprecationErrors:f}=this.serverApi;s.apiVersion=l,h!=null&&(s.apiStrict=h),f!=null&&(s.apiDeprecationErrors=f)}if(this.hasSessionSupport&&i){i.clusterTime&&u&&i.clusterTime.clusterTime.greaterThan(u.clusterTime)&&(u=i.clusterTime);let l=(0,dE.applySession)(i,s,n);if(l)throw l}else if(i?.explicit)throw new Br.MongoCompatibilityError("Current topology does not support sessions");u&&(s.$clusterTime=u),this.description.type!==yD.ServerType.Standalone&&(!(0,sd.isSharded)(this)&&!this.description.loadBalanced&&this.supportsOpMsg&&n.directConnection===!0&&o?.mode==="primary"?s.$readPreference=CD.ReadPreference.primaryPreferred.toJSON():(0,sd.isSharded)(this)&&!this.supportsOpMsg&&o?.mode!=="primary"?s={$query:s,$readPreference:o.toJSON()}:o?.mode!=="primary"&&(s.$readPreference=o.toJSON()));let a={numberToSkip:0,numberToReturn:-1,checkKeys:!1,secondaryOk:o.secondaryOk(),...n};return this.supportsOpMsg?new Va.OpMsgRequest(e,s,a):new Va.OpQueryRequest(e,s,a)}async*sendWire(e,r,n){this.throwIfAborted(),typeof r.socketTimeoutMS=="number"?this.socket.setTimeout(r.socketTimeoutMS):this.socketTimeoutMS!==0&&this.socket.setTimeout(this.socketTimeoutMS);try{if(await this.writeCommand(e,{agreedCompressor:this.description.compressor??"none",zlibCompressionLevel:this.description.zlibCompressionLevel}),r.noResponse){yield $a.MongoDBResponse.empty;return}this.throwIfAborted();for await(let s of this.readMany()){this.socket.setTimeout(0);let o=s.parse();yield(n??$a.MongoDBResponse).make(o),this.throwIfAborted(),typeof r.socketTimeoutMS=="number"?this.socket.setTimeout(r.socketTimeoutMS):this.socketTimeoutMS!==0&&this.socket.setTimeout(this.socketTimeoutMS)}}finally{this.socket.setTimeout(0)}}async*sendCommand(e,r,n,s){let o=this.prepareCommand(e.db,r,n),i=0;this.shouldEmitAndLogCommand&&(i=(0,$t.now)(),this.emitAndLogCommand(this.monitorCommands,t.COMMAND_STARTED,o.databaseName,this.established,new nd.CommandStartedEvent(this,o,this.description.serverConnectionId)));let u=n.documentsReturnedIn==null||!n.raw?n:{...n,raw:!1,fieldsAsRaw:{[n.documentsReturnedIn]:!0}},a,c;try{this.throwIfAborted();for await(a of this.sendWire(o,n,s)){if(c=void 0,n.session!=null&&(0,dE.updateSessionFromResponse)(n.session,a),a.$clusterTime&&(this.clusterTime=a.$clusterTime,this.emit(t.CLUSTER_TIME_RECEIVED,a.$clusterTime)),a.ok===0)throw new Br.MongoServerError(c??=a.toObject(u));this.shouldEmitAndLogCommand&&this.emitAndLogCommand(this.monitorCommands,t.COMMAND_SUCCEEDED,o.databaseName,this.established,new nd.CommandSucceededEvent(this,o,n.noResponse?void 0:c??=a.toObject(u),i,this.description.serverConnectionId)),s==null?yield c??=a.toObject(u):yield a,this.throwIfAborted()}}catch(l){throw this.shouldEmitAndLogCommand&&this.emitAndLogCommand(this.monitorCommands,t.COMMAND_FAILED,o.databaseName,this.established,new nd.CommandFailedEvent(this,o,l,i,this.description.serverConnectionId)),l}}async command(e,r,n={},s){this.throwIfAborted();for await(let o of this.sendCommand(e,r,n,s))return o;throw new Br.MongoUnexpectedServerResponseError("Unable to get response from server")}exhaustCommand(e,r,n,s){(async()=>{this.throwIfAborted();for await(let i of this.sendCommand(e,r,n))s(void 0,i),this.throwIfAborted();throw new Br.MongoUnexpectedServerResponseError("Server ended moreToCome unexpectedly")})().then(void 0,s)}throwIfAborted(){if(this.error)throw this.error}async writeCommand(e,r){let n=r.agreedCompressor==="none"||!Va.OpCompressedRequest.canCompress(e)?e:new Va.OpCompressedRequest(e,{agreedCompressor:r.agreedCompressor??"none",zlibCompressionLevel:r.zlibCompressionLevel??0}),s=Buffer.concat(await n.toBin());if(!this.socket.write(s))return await(0,$t.once)(this.socket,"drain")}async*readMany(){try{this.dataEvents=(0,wD.onData)(this.messageStream);for await(let e of this.dataEvents){let r=await(0,OD.decompressResponse)(e);if(yield r,!r.moreToCome)return}}finally{this.dataEvents=null,this.throwIfAborted()}}};ur.COMMAND_STARTED=Pn.COMMAND_STARTED;ur.COMMAND_SUCCEEDED=Pn.COMMAND_SUCCEEDED;ur.COMMAND_FAILED=Pn.COMMAND_FAILED;ur.CLUSTER_TIME_RECEIVED=Pn.CLUSTER_TIME_RECEIVED;ur.CLOSE=Pn.CLOSE;ur.PINNED=Pn.PINNED;ur.UNPINNED=Pn.UNPINNED;br.Connection=ur;var Ga=class extends ED.Transform{constructor({connection:e}){super({objectMode:!1}),this.bufferPool=new $t.BufferPool,this.connection=e}_transform(e,r,n){this.connection.delayedTimeoutId!=null&&((0,fE.clearTimeout)(this.connection.delayedTimeoutId),this.connection.delayedTimeoutId=null),this.bufferPool.append(e);let s=this.bufferPool.getInt32();if(s==null)return n();if(s<0)return n(new Br.MongoParseError(`Invalid message size: ${s}, too small`));if(s>this.bufferPool.length)return n();let o=this.bufferPool.read(s);return n(null,o)}};br.SizedMessageTransform=Ga;var od=class extends ur{constructor(e,r){super(e,r),this.autoEncrypter=r.autoEncrypter}async command(e,r,n,s){let{autoEncrypter:o}=this;if(!o)throw new Br.MongoMissingDependencyError("No AutoEncrypter available for encryption",{dependencyName:"n/a"});let i=(0,$t.maxWireVersion)(this);if(i===0)return await super.command(e,r,n,s);if(i<8)throw new Br.MongoCompatibilityError("Auto-encryption requires a minimum MongoDB version of 4.2");let u=r.find||r.findAndModify?r.sort:null,a=r.createIndexes?r.indexes.map(S=>S.key):null,c=await o.encrypt(e.toString(),r,n);if(u!=null&&(r.find||r.findAndModify)&&(c.sort=u),a!=null&&r.createIndexes)for(let[S,y]of a.entries())c.indexes[S].key=y;let l=await super.command(e,c,n,s??$a.MongoDBResponse),h=await o.decrypt(l.toBytes(),n),f=s?.make(h)??(0,AD.deserialize)(h,n);return o[Pn.kDecorateResult]&&(s==null?(0,$t.decorateDecryptionResult)(f,l.toObject(),!0):f instanceof $a.CursorResponse&&(f.encryptedResponse=l)),f}};br.CryptoConnection=od});var ad=m(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.makeSocket=je.LEGAL_TCP_SOCKET_OPTIONS=je.LEGAL_TLS_SOCKET_OPTIONS=je.prepareHandshakeDocument=je.performInitialHandshake=je.makeConnection=je.connect=void 0;var mE=x("net"),BD=x("tls"),EE=Be(),bD=nr(),Me=_(),id=R(),TD=Vr(),Ka=wr(),pE=Ha(),Ao=Qn();async function FD(t){let e=null;try{let r=await Ya(t);return e=AE(t,r),await gE(e,t),e}catch(r){throw e?.destroy(),r}}je.connect=FD;function AE(t,e){let r=t.connectionType??pE.Connection;return t.autoEncrypter&&(r=pE.CryptoConnection),new r(e,t)}je.makeConnection=AE;function ND(t,e){let r=Number(t.maxWireVersion),n=Number(t.minWireVersion),s=!Number.isNaN(r)&&r>=Ao.MIN_SUPPORTED_WIRE_VERSION,o=!Number.isNaN(n)&&n<=Ao.MAX_SUPPORTED_WIRE_VERSION;if(s){if(o)return null;let u=`Server at ${e.hostAddress} reports minimum wire version ${JSON.stringify(t.minWireVersion)}, but this version of the Node.js Driver requires at most ${Ao.MAX_SUPPORTED_WIRE_VERSION} (MongoDB ${Ao.MAX_SUPPORTED_SERVER_VERSION})`;return new Me.MongoCompatibilityError(u)}let i=`Server at ${e.hostAddress} reports maximum wire version ${JSON.stringify(t.maxWireVersion)??0}, but this version of the Node.js Driver requires at least ${Ao.MIN_SUPPORTED_WIRE_VERSION} (MongoDB ${Ao.MIN_SUPPORTED_SERVER_VERSION})`;return new Me.MongoCompatibilityError(i)}async function gE(t,e){let r=e.credentials;if(r&&r.mechanism!==Ka.AuthMechanism.MONGODB_DEFAULT&&!e.authProviders.getOrCreateProvider(r.mechanism,r.mechanismProperties))throw new Me.MongoInvalidArgumentError(`AuthMechanism '${r.mechanism}' not supported`);let n=new TD.AuthContext(t,r,e);t.authContext=n;let s=await CE(n),o={...e,raw:!1};typeof e.connectTimeoutMS=="number"&&(o.socketTimeoutMS=e.connectTimeoutMS);let i=new Date().getTime(),u=await t.command((0,id.ns)("admin.$cmd"),s,o);"isWritablePrimary"in u||(u.isWritablePrimary=u[EE.LEGACY_HELLO_COMMAND]),u.helloOk&&(t.helloOk=!0);let a=ND(u,e);if(a)throw a;if(e.loadBalanced&&!u.serviceId)throw new Me.MongoCompatibilityError("Driver attempted to initialize in load balancing mode, but the server does not support this mode.");if(t.hello=u,t.lastHelloMS=new Date().getTime()-i,!u.arbiterOnly&&r){n.response=u;let c=r.resolveAuthMechanism(u),l=e.authProviders.getOrCreateProvider(c.mechanism,c.mechanismProperties);if(!l)throw new Me.MongoInvalidArgumentError(`No AuthProvider for ${c.mechanism} defined.`);try{await l.auth(n)}catch(h){throw h instanceof Me.MongoError&&(h.addErrorLabel(Me.MongoErrorLabel.HandshakeError),(0,Me.needsRetryableWriteLabel)(h,u.maxWireVersion)&&h.addErrorLabel(Me.MongoErrorLabel.RetryableWriteError)),h}}t.established=!0}je.performInitialHandshake=gE;async function CE(t){let e=t.options,r=e.compressors?e.compressors:[],{serverApi:n}=t.connection,s=await e.extendedMetadata,o={[n?.version||e.loadBalanced===!0?"hello":EE.LEGACY_HELLO_COMMAND]:1,helloOk:!0,client:s,compression:r};e.loadBalanced===!0&&(o.loadBalanced=!0);let i=t.credentials;if(i){if(i.mechanism===Ka.AuthMechanism.MONGODB_DEFAULT&&i.username){o.saslSupportedMechs=`${i.source}.${i.username}`;let a=t.options.authProviders.getOrCreateProvider(Ka.AuthMechanism.MONGODB_SCRAM_SHA256,i.mechanismProperties);if(!a)throw new Me.MongoInvalidArgumentError(`No AuthProvider for ${Ka.AuthMechanism.MONGODB_SCRAM_SHA256} defined.`);return await a.prepare(o,t)}let u=t.options.authProviders.getOrCreateProvider(i.mechanism,i.mechanismProperties);if(!u)throw new Me.MongoInvalidArgumentError(`No AuthProvider for ${i.mechanism} defined.`);return await u.prepare(o,t)}return o}je.prepareHandshakeDocument=CE;je.LEGAL_TLS_SOCKET_OPTIONS=["ALPNProtocols","ca","cert","checkServerIdentity","ciphers","crl","ecdhCurve","key","minDHSize","passphrase","pfx","rejectUnauthorized","secureContext","secureProtocol","servername","session"];je.LEGAL_TCP_SOCKET_OPTIONS=["family","hints","localAddress","localPort","lookup"];function ud(t){let e=t.hostAddress;if(!e)throw new Me.MongoInvalidArgumentError('Option "hostAddress" is required');let r={};for(let n of je.LEGAL_TCP_SOCKET_OPTIONS)t[n]!=null&&(r[n]=t[n]);if(typeof e.socketPath=="string")return r.path=e.socketPath,r;if(typeof e.host=="string")return r.host=e.host,r.port=e.port,r;throw new Me.MongoRuntimeError(`Unexpected HostAddress ${JSON.stringify(e)}`)}function RD(t){let e=ud(t);for(let r of je.LEGAL_TLS_SOCKET_OPTIONS)t[r]!=null&&(e[r]=t[r]);return t.existingSocket&&(e.socket=t.existingSocket),e.servername==null&&e.host&&!mE.isIP(e.host)&&(e.servername=e.host),e}async function Ya(t){let e=t.tls??!1,r=t.noDelay??!0,n=t.connectTimeoutMS??3e4,s=t.existingSocket,o;if(t.proxyHost!=null)return await ID({...t,connectTimeoutMS:n});if(e){let l=BD.connect(RD(t));typeof l.disableRenegotiation=="function"&&l.disableRenegotiation(),o=l}else s?o=s:o=mE.createConnection(ud(t));o.setKeepAlive(!0,3e5),o.setTimeout(n),o.setNoDelay(r);let i=null,{promise:u,resolve:a,reject:c}=(0,id.promiseWithResolvers)();if(s)a(o);else{let l=e?"secureConnect":"connect";o.once(l,()=>a(o)).once("error",h=>c(k1("error",h))).once("timeout",()=>c(k1("timeout"))).once("close",()=>c(k1("close"))),t.cancellationToken!=null&&(i=()=>c(k1("cancel")),t.cancellationToken.once("cancel",i))}try{return o=await u,o}catch(l){throw o.destroy(),l}finally{o.setTimeout(0),o.removeAllListeners(),i!=null&&t.cancellationToken?.removeListener("cancel",i)}}je.makeSocket=Ya;var q1=null;function MD(){if(q1==null){let t=(0,bD.getSocks)();if("kModuleError"in t)throw t.kModuleError;q1=t}return q1}async function ID(t){let e=id.HostAddress.fromHostPort(t.proxyHost??"",t.proxyPort??1080),r=await Ya({...t,hostAddress:e,tls:!1,proxyHost:void 0}),n=ud(t);if(typeof n.host!="string"||typeof n.port!="number")throw new Me.MongoInvalidArgumentError("Can only make Socks5 connections to TCP hosts");q1??=MD();try{let{socket:s}=await q1.SocksClient.createConnection({existing_socket:r,timeout:t.connectTimeoutMS,command:"connect",destination:{host:n.host,port:n.port},proxy:{host:"iLoveJavaScript",port:0,type:5,userId:t.proxyUsername||void 0,password:t.proxyPassword||void 0}});return await Ya({...t,existingSocket:s,proxyHost:void 0})}catch(s){throw k1("error",s)}}function k1(t,e){switch(t){case"error":return new Me.MongoNetworkError(Me.MongoError.buildErrorMessage(e),{cause:e});case"timeout":return new Me.MongoNetworkTimeoutError("connection timed out");case"close":return new Me.MongoNetworkError("connection closed");case"cancel":return new Me.MongoNetworkError("connection establishment was cancelled");default:return new Me.MongoNetworkError("unknown network error")}}});var Xa=m(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.ServerHeartbeatFailedEvent=Ie.ServerHeartbeatSucceededEvent=Ie.ServerHeartbeatStartedEvent=Ie.TopologyClosedEvent=Ie.TopologyOpeningEvent=Ie.TopologyDescriptionChangedEvent=Ie.ServerClosedEvent=Ie.ServerOpeningEvent=Ie.ServerDescriptionChangedEvent=void 0;var Xr=Be(),cd=class{constructor(e,r,n,s){this.name=Xr.SERVER_DESCRIPTION_CHANGED,this.topologyId=e,this.address=r,this.previousDescription=n,this.newDescription=s}};Ie.ServerDescriptionChangedEvent=cd;var ld=class{constructor(e,r){this.name=Xr.SERVER_OPENING,this.topologyId=e,this.address=r}};Ie.ServerOpeningEvent=ld;var hd=class{constructor(e,r){this.name=Xr.SERVER_CLOSED,this.topologyId=e,this.address=r}};Ie.ServerClosedEvent=hd;var dd=class{constructor(e,r,n){this.name=Xr.TOPOLOGY_DESCRIPTION_CHANGED,this.topologyId=e,this.previousDescription=r,this.newDescription=n}};Ie.TopologyDescriptionChangedEvent=dd;var fd=class{constructor(e){this.name=Xr.TOPOLOGY_OPENING,this.topologyId=e}};Ie.TopologyOpeningEvent=fd;var pd=class{constructor(e){this.name=Xr.TOPOLOGY_CLOSED,this.topologyId=e}};Ie.TopologyClosedEvent=pd;var md=class{constructor(e,r){this.name=Xr.SERVER_HEARTBEAT_STARTED,this.connectionId=e,this.awaited=r}};Ie.ServerHeartbeatStartedEvent=md;var Ed=class{constructor(e,r,n,s){this.name=Xr.SERVER_HEARTBEAT_SUCCEEDED,this.connectionId=e,this.duration=r,this.reply=n??{},this.awaited=s}};Ie.ServerHeartbeatSucceededEvent=Ed;var Ad=class{constructor(e,r,n,s){this.name=Xr.SERVER_HEARTBEAT_FAILED,this.connectionId=e,this.duration=r,this.failure=n,this.awaited=s}};Ie.ServerHeartbeatFailedEvent=Ad});var U1=m(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.Timeout=go.TimeoutError=void 0;var yE=x("timers"),vD=_(),PD=R(),Ja=class extends Error{get name(){return"TimeoutError"}constructor(e,r){super(e,r)}static is(e){return e!=null&&typeof e=="object"&&"name"in e&&e.name==="TimeoutError"}};go.TimeoutError=Ja;var gd=class t extends Promise{get[Symbol.toStringTag](){return"MongoDBTimeout"}constructor(e=()=>null,r,n=!1){let s;if(r<0)throw new vD.MongoInvalidArgumentError("Cannot create a Timeout with a negative duration");super((o,i)=>{s=i,e(PD.noop,i)}),this.ended=null,this.timedOut=!1,this.duration=r,this.start=Math.trunc(performance.now()),this.duration>0&&(this.id=(0,yE.setTimeout)(()=>{this.ended=Math.trunc(performance.now()),this.timedOut=!0,s(new Ja(`Expired after ${r}ms`))},this.duration),typeof this.id.unref=="function"&&n&&this.id.unref())}clear(){(0,yE.clearTimeout)(this.id),this.id=void 0}static expires(e,r){return new t(void 0,e,r)}static is(e){return typeof e=="object"&&e!=null&&Symbol.toStringTag in e&&e[Symbol.toStringTag]==="MongoDBTimeout"&&"then"in e&&typeof e.then=="function"}};go.Timeout=gd});var Nd=m(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.ConnectionPoolClearedEvent=Ae.ConnectionCheckedInEvent=Ae.ConnectionCheckedOutEvent=Ae.ConnectionCheckOutFailedEvent=Ae.ConnectionCheckOutStartedEvent=Ae.ConnectionClosedEvent=Ae.ConnectionReadyEvent=Ae.ConnectionCreatedEvent=Ae.ConnectionPoolClosedEvent=Ae.ConnectionPoolReadyEvent=Ae.ConnectionPoolCreatedEvent=Ae.ConnectionPoolMonitoringEvent=void 0;var ar=Be(),At=class{constructor(e){this.time=new Date,this.address=e.address}};Ae.ConnectionPoolMonitoringEvent=At;var Cd=class extends At{constructor(e){super(e),this.name=ar.CONNECTION_POOL_CREATED;let{maxConnecting:r,maxPoolSize:n,minPoolSize:s,maxIdleTimeMS:o,waitQueueTimeoutMS:i}=e.options;this.options={maxConnecting:r,maxPoolSize:n,minPoolSize:s,maxIdleTimeMS:o,waitQueueTimeoutMS:i}}};Ae.ConnectionPoolCreatedEvent=Cd;var yd=class extends At{constructor(e){super(e),this.name=ar.CONNECTION_POOL_READY}};Ae.ConnectionPoolReadyEvent=yd;var Sd=class extends At{constructor(e){super(e),this.name=ar.CONNECTION_POOL_CLOSED}};Ae.ConnectionPoolClosedEvent=Sd;var Od=class extends At{constructor(e,r){super(e),this.name=ar.CONNECTION_CREATED,this.connectionId=r.id}};Ae.ConnectionCreatedEvent=Od;var wd=class extends At{constructor(e,r){super(e),this.name=ar.CONNECTION_READY,this.connectionId=r.id}};Ae.ConnectionReadyEvent=wd;var Dd=class extends At{constructor(e,r,n,s){super(e),this.name=ar.CONNECTION_CLOSED,this.connectionId=r.id,this.reason=n,this.serviceId=r.serviceId,this.error=s??null}};Ae.ConnectionClosedEvent=Dd;var _d=class extends At{constructor(e){super(e),this.name=ar.CONNECTION_CHECK_OUT_STARTED}};Ae.ConnectionCheckOutStartedEvent=_d;var Bd=class extends At{constructor(e,r,n){super(e),this.name=ar.CONNECTION_CHECK_OUT_FAILED,this.reason=r,this.error=n}};Ae.ConnectionCheckOutFailedEvent=Bd;var bd=class extends At{constructor(e,r){super(e),this.name=ar.CONNECTION_CHECKED_OUT,this.connectionId=r.id}};Ae.ConnectionCheckedOutEvent=bd;var Td=class extends At{constructor(e,r){super(e),this.name=ar.CONNECTION_CHECKED_IN,this.connectionId=r.id}};Ae.ConnectionCheckedInEvent=Td;var Fd=class extends At{constructor(e,r={}){super(e),this.name=ar.CONNECTION_POOL_CLEARED,this.serviceId=r.serviceId,this.interruptInUseConnections=r.interruptInUseConnections}};Ae.ConnectionPoolClearedEvent=Fd});var vd=m(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.WaitQueueTimeoutError=Tr.PoolClearedOnNetworkError=Tr.PoolClearedError=Tr.PoolClosedError=void 0;var Qa=_(),Rd=class extends Qa.MongoDriverError{constructor(e){super("Attempted to check out a connection from closed connection pool"),this.address=e.address}get name(){return"MongoPoolClosedError"}};Tr.PoolClosedError=Rd;var Za=class extends Qa.MongoNetworkError{constructor(e,r){let n=r||`Connection pool for ${e.address} was cleared because another operation failed with: "${e.serverError?.message}"`;super(n,e.serverError?{cause:e.serverError}:void 0),this.address=e.address,this.addErrorLabel(Qa.MongoErrorLabel.PoolRequstedRetry)}get name(){return"MongoPoolClearedError"}};Tr.PoolClearedError=Za;var Md=class extends Za{constructor(e){super(e,`Connection to ${e.address} interrupted due to server monitor timeout`)}get name(){return"PoolClearedOnNetworkError"}};Tr.PoolClearedOnNetworkError=Md;var Id=class extends Qa.MongoDriverError{constructor(e,r){super(e),this.address=r}get name(){return"MongoWaitQueueTimeoutError"}};Tr.WaitQueueTimeoutError=Id});var DE=m(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.ConnectionPool=Ye.PoolState=void 0;var Co=x("timers"),Gt=Be(),Jr=_(),SE=bt(),OE=U1(),ec=R(),LD=ad(),tc=Ha(),Ke=Nd(),yo=vd(),xD=$l(),So=Symbol("server"),Qr=Symbol("connections"),Oo=Symbol("pending"),Ln=Symbol("checkedOut"),fs=Symbol("minPoolSizeTimer"),wo=Symbol("generation"),wE=Symbol("serviceGenerations"),rc=Symbol("connectionCounter"),nc=Symbol("cancellationToken"),Zr=Symbol("waitQueue"),sc=Symbol("cancelled"),oc=Symbol("metrics"),ic=Symbol("processingWaitQueue"),cr=Symbol("poolState");Ye.PoolState=Object.freeze({paused:"paused",ready:"ready",closed:"closed"});var gt=class t extends SE.TypedEventEmitter{constructor(e,r){if(super(),this.options=Object.freeze({connectionType:tc.Connection,...r,maxPoolSize:r.maxPoolSize??100,minPoolSize:r.minPoolSize??0,maxConnecting:r.maxConnecting??2,maxIdleTimeMS:r.maxIdleTimeMS??0,waitQueueTimeoutMS:r.waitQueueTimeoutMS??0,minPoolSizeCheckFrequencyMS:r.minPoolSizeCheckFrequencyMS??100,autoEncrypter:r.autoEncrypter}),this.options.minPoolSize>this.options.maxPoolSize)throw new Jr.MongoInvalidArgumentError("Connection pool minimum size must not be greater than maximum pool size");this[cr]=Ye.PoolState.paused,this[So]=e,this[Qr]=new ec.List,this[Oo]=0,this[Ln]=new Set,this[fs]=void 0,this[wo]=0,this[wE]=new Map,this[rc]=(0,ec.makeCounter)(1),this[nc]=new SE.CancellationToken,this[nc].setMaxListeners(1/0),this[Zr]=new ec.List,this[oc]=new xD.ConnectionPoolMetrics,this[ic]=!1,this.mongoLogger=this[So].topology.client?.mongoLogger,this.component="connection",process.nextTick(()=>{this.emitAndLog(t.CONNECTION_POOL_CREATED,new Ke.ConnectionPoolCreatedEvent(this))})}get address(){return this.options.hostAddress.toString()}get closed(){return this[cr]===Ye.PoolState.closed}get generation(){return this[wo]}get totalConnectionCount(){return this.availableConnectionCount+this.pendingConnectionCount+this.currentCheckedOutCount}get availableConnectionCount(){return this[Qr].length}get pendingConnectionCount(){return this[Oo]}get currentCheckedOutCount(){return this[Ln].size}get waitQueueSize(){return this[Zr].length}get loadBalanced(){return this.options.loadBalanced}get serviceGenerations(){return this[wE]}get serverError(){return this[So].description.error}get checkedOutConnections(){return this[Ln]}waitQueueErrorMetrics(){return this[oc].info(this.options.maxPoolSize)}ready(){this[cr]===Ye.PoolState.paused&&(this[cr]=Ye.PoolState.ready,this.emitAndLog(t.CONNECTION_POOL_READY,new Ke.ConnectionPoolReadyEvent(this)),(0,Co.clearTimeout)(this[fs]),this.ensureMinPoolSize())}async checkOut(){this.emitAndLog(t.CONNECTION_CHECK_OUT_STARTED,new Ke.ConnectionCheckOutStartedEvent(this));let e=this.options.waitQueueTimeoutMS,{promise:r,resolve:n,reject:s}=(0,ec.promiseWithResolvers)(),o=OE.Timeout.expires(e),i={resolve:n,reject:s,timeout:o};this[Zr].push(i),process.nextTick(()=>this.processWaitQueue());try{return await Promise.race([r,i.timeout])}catch(u){throw OE.TimeoutError.is(u)?(i[sc]=!0,i.timeout.clear(),this.emitAndLog(t.CONNECTION_CHECK_OUT_FAILED,new Ke.ConnectionCheckOutFailedEvent(this,"timeout")),new yo.WaitQueueTimeoutError(this.loadBalanced?this.waitQueueErrorMetrics():"Timed out while checking out a connection from connection pool",this.address)):u}}checkIn(e){if(!this[Ln].has(e))return;let r=this.closed,n=this.connectionIsStale(e),s=!!(r||n||e.closed);if(s||(e.markAvailable(),this[Qr].unshift(e)),this[Ln].delete(e),this.emitAndLog(t.CONNECTION_CHECKED_IN,new Ke.ConnectionCheckedInEvent(this,e)),s){let o=e.closed?"error":r?"poolClosed":"stale";this.destroyConnection(e,o)}process.nextTick(()=>this.processWaitQueue())}clear(e={}){if(this.closed)return;if(this.loadBalanced){let{serviceId:o}=e;if(!o)throw new Jr.MongoRuntimeError("ConnectionPool.clear() called in load balanced mode with no serviceId.");let i=o.toHexString(),u=this.serviceGenerations.get(i);if(u==null)throw new Jr.MongoRuntimeError("Service generations are required in load balancer mode.");this.serviceGenerations.set(i,u+1),this.emitAndLog(t.CONNECTION_POOL_CLEARED,new Ke.ConnectionPoolClearedEvent(this,{serviceId:o}));return}let r=e.interruptInUseConnections??!1,n=this[wo];this[wo]+=1;let s=this[cr]===Ye.PoolState.paused;this[cr]=Ye.PoolState.paused,this.clearMinPoolSizeTimer(),s||this.emitAndLog(t.CONNECTION_POOL_CLEARED,new Ke.ConnectionPoolClearedEvent(this,{interruptInUseConnections:r})),r&&process.nextTick(()=>this.interruptInUseConnections(n)),this.processWaitQueue()}interruptInUseConnections(e){for(let r of this[Ln])r.generation<=e&&(r.onError(new yo.PoolClearedOnNetworkError(this)),this.checkIn(r))}close(){if(!this.closed){this[nc].emit("cancel"),typeof this[rc].return=="function"&&this[rc].return(void 0),this[cr]=Ye.PoolState.closed,this.clearMinPoolSizeTimer(),this.processWaitQueue();for(let e of this[Qr])this.emitAndLog(t.CONNECTION_CLOSED,new Ke.ConnectionClosedEvent(this,e,"poolClosed")),e.destroy();this[Qr].clear(),this.emitAndLog(t.CONNECTION_POOL_CLOSED,new Ke.ConnectionPoolClosedEvent(this))}}async reauthenticate(e){let r=e.authContext;if(!r)throw new Jr.MongoRuntimeError("No auth context found on connection.");let n=r.credentials;if(!n)throw new Jr.MongoMissingCredentialsError("Connection is missing credentials when asked to reauthenticate");let s=n.resolveAuthMechanism(e.hello),o=this[So].topology.client.s.authProviders.getOrCreateProvider(s.mechanism,s.mechanismProperties);if(!o)throw new Jr.MongoMissingCredentialsError(`Reauthenticate failed due to no auth provider for ${n.mechanism}`);await o.reauth(r)}clearMinPoolSizeTimer(){let e=this[fs];e&&(0,Co.clearTimeout)(e)}destroyConnection(e,r){this.emitAndLog(t.CONNECTION_CLOSED,new Ke.ConnectionClosedEvent(this,e,r)),e.destroy()}connectionIsStale(e){let r=e.serviceId;if(this.loadBalanced&&r){let n=r.toHexString(),s=this.serviceGenerations.get(n);return e.generation!==s}return e.generation!==this[wo]}connectionIsIdle(e){return!!(this.options.maxIdleTimeMS&&e.idleTime>this.options.maxIdleTimeMS)}destroyConnectionIfPerished(e){let r=this.connectionIsStale(e),n=this.connectionIsIdle(e);if(!r&&!n&&!e.closed)return!1;let s=e.closed?"error":r?"stale":"idle";return this.destroyConnection(e,s),!0}createConnection(e){let r={...this.options,id:this[rc].next().value,generation:this[wo],cancellationToken:this[nc],mongoLogger:this.mongoLogger,authProviders:this[So].topology.client.s.authProviders};this[Oo]++,this.emitAndLog(t.CONNECTION_CREATED,new Ke.ConnectionCreatedEvent(this,{id:r.id})),(0,LD.connect)(r).then(n=>{if(this[cr]!==Ye.PoolState.ready){this[Oo]--,n.destroy(),e(this.closed?new yo.PoolClosedError(this):new yo.PoolClearedError(this));return}for(let s of[...Gt.APM_EVENTS,tc.Connection.CLUSTER_TIME_RECEIVED])n.on(s,o=>this.emit(s,o));if(this.loadBalanced){n.on(tc.Connection.PINNED,o=>this[oc].markPinned(o)),n.on(tc.Connection.UNPINNED,o=>this[oc].markUnpinned(o));let s=n.serviceId;if(s){let o,i=s.toHexString();(o=this.serviceGenerations.get(i))?n.generation=o:(this.serviceGenerations.set(i,0),n.generation=0)}}n.markAvailable(),this.emitAndLog(t.CONNECTION_READY,new Ke.ConnectionReadyEvent(this,n)),this[Oo]--,e(void 0,n)},n=>{this[Oo]--,this.emitAndLog(t.CONNECTION_CLOSED,new Ke.ConnectionClosedEvent(this,{id:r.id,serviceId:void 0},"error",n)),(n instanceof Jr.MongoNetworkError||n instanceof Jr.MongoServerError)&&(n.connectionGeneration=r.generation),e(n??new Jr.MongoRuntimeError("Connection creation failed without error"))})}ensureMinPoolSize(){let e=this.options.minPoolSize;this[cr]!==Ye.PoolState.ready||e===0||(this[Qr].prune(r=>this.destroyConnectionIfPerished(r)),this.totalConnectionCount<e&&this.pendingConnectionCount<this.options.maxConnecting?this.createConnection((r,n)=>{r&&this[So].handleError(r),!r&&n&&(this[Qr].push(n),process.nextTick(()=>this.processWaitQueue())),this[cr]===Ye.PoolState.ready&&((0,Co.clearTimeout)(this[fs]),this[fs]=(0,Co.setTimeout)(()=>this.ensureMinPoolSize(),this.options.minPoolSizeCheckFrequencyMS))}):((0,Co.clearTimeout)(this[fs]),this[fs]=(0,Co.setTimeout)(()=>this.ensureMinPoolSize(),this.options.minPoolSizeCheckFrequencyMS)))}processWaitQueue(){if(this[ic])return;for(this[ic]=!0;this.waitQueueSize;){let n=this[Zr].first();if(!n){this[Zr].shift();continue}if(n[sc]){this[Zr].shift();continue}if(this[cr]!==Ye.PoolState.ready){let o=this.closed?"poolClosed":"connectionError",i=this.closed?new yo.PoolClosedError(this):new yo.PoolClearedError(this);this.emitAndLog(t.CONNECTION_CHECK_OUT_FAILED,new Ke.ConnectionCheckOutFailedEvent(this,o,i)),n.timeout.clear(),this[Zr].shift(),n.reject(i);continue}if(!this.availableConnectionCount)break;let s=this[Qr].shift();if(!s)break;this.destroyConnectionIfPerished(s)||(this[Ln].add(s),this.emitAndLog(t.CONNECTION_CHECKED_OUT,new Ke.ConnectionCheckedOutEvent(this,s)),n.timeout.clear(),this[Zr].shift(),n.resolve(s))}let{maxPoolSize:e,maxConnecting:r}=this.options;for(;this.waitQueueSize>0&&this.pendingConnectionCount<r&&(e===0||this.totalConnectionCount<e);){let n=this[Zr].shift();!n||n[sc]||this.createConnection((s,o)=>{n[sc]?!s&&o&&this[Qr].push(o):(s?(this.emitAndLog(t.CONNECTION_CHECK_OUT_FAILED,new Ke.ConnectionCheckOutFailedEvent(this,"connectionError",s)),n.reject(s)):o&&(this[Ln].add(o),this.emitAndLog(t.CONNECTION_CHECKED_OUT,new Ke.ConnectionCheckedOutEvent(this,o)),n.resolve(o)),n.timeout.clear()),process.nextTick(()=>this.processWaitQueue())})}this[ic]=!1}};gt.CONNECTION_POOL_CREATED=Gt.CONNECTION_POOL_CREATED;gt.CONNECTION_POOL_CLOSED=Gt.CONNECTION_POOL_CLOSED;gt.CONNECTION_POOL_CLEARED=Gt.CONNECTION_POOL_CLEARED;gt.CONNECTION_POOL_READY=Gt.CONNECTION_POOL_READY;gt.CONNECTION_CREATED=Gt.CONNECTION_CREATED;gt.CONNECTION_READY=Gt.CONNECTION_READY;gt.CONNECTION_CLOSED=Gt.CONNECTION_CLOSED;gt.CONNECTION_CHECK_OUT_STARTED=Gt.CONNECTION_CHECK_OUT_STARTED;gt.CONNECTION_CHECK_OUT_FAILED=Gt.CONNECTION_CHECK_OUT_FAILED;gt.CONNECTION_CHECKED_OUT=Gt.CONNECTION_CHECKED_OUT;gt.CONNECTION_CHECKED_IN=Gt.CONNECTION_CHECKED_IN;Ye.ConnectionPool=gt});var qd=m(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.Server=void 0;var kD=Ha(),qD=DE(),UD=vd(),Fr=Be(),ye=_(),jD=bt(),xd=Zl(),uc=R(),_E=ot(),pe=wt(),zD=Ud(),kd=p1(),j1=(0,uc.makeStateMachine)({[pe.STATE_CLOSED]:[pe.STATE_CLOSED,pe.STATE_CONNECTING],[pe.STATE_CONNECTING]:[pe.STATE_CONNECTING,pe.STATE_CLOSING,pe.STATE_CONNECTED,pe.STATE_CLOSED],[pe.STATE_CONNECTED]:[pe.STATE_CONNECTED,pe.STATE_CLOSING,pe.STATE_CLOSED],[pe.STATE_CLOSING]:[pe.STATE_CLOSING,pe.STATE_CLOSED]}),lr=class t extends jD.TypedEventEmitter{constructor(e,r,n){super(),this.serverApi=n.serverApi;let s={hostAddress:r.hostAddress,...n};this.topology=e,this.pool=new qD.ConnectionPool(this,s),this.s={description:r,options:n,state:pe.STATE_CLOSED,operationCount:0};for(let o of[...Fr.CMAP_EVENTS,...Fr.APM_EVENTS])this.pool.on(o,i=>this.emit(o,i));if(this.pool.on(kD.Connection.CLUSTER_TIME_RECEIVED,o=>{this.clusterTime=o}),this.loadBalanced){this.monitor=null;return}this.monitor=new zD.Monitor(this,this.s.options);for(let o of Fr.HEARTBEAT_EVENTS)this.monitor.on(o,i=>this.emit(o,i));this.monitor.on("resetServer",o=>Pd(this,o)),this.monitor.on(t.SERVER_HEARTBEAT_SUCCEEDED,o=>{this.emit(t.DESCRIPTION_RECEIVED,new kd.ServerDescription(this.description.hostAddress,o.reply,{roundTripTime:this.monitor?.roundTripTime,minRoundTripTime:this.monitor?.minRoundTripTime})),this.s.state===pe.STATE_CONNECTING&&(j1(this,pe.STATE_CONNECTED),this.emit(t.CONNECT,this))})}get clusterTime(){return this.topology.clusterTime}set clusterTime(e){this.topology.clusterTime=e}get description(){return this.s.description}get name(){return this.s.description.address}get autoEncrypter(){if(this.s.options&&this.s.options.autoEncrypter)return this.s.options.autoEncrypter}get loadBalanced(){return this.topology.description.type===pe.TopologyType.LoadBalanced}connect(){this.s.state===pe.STATE_CLOSED&&(j1(this,pe.STATE_CONNECTING),this.loadBalanced?(j1(this,pe.STATE_CONNECTED),this.emit(t.CONNECT,this)):this.monitor?.connect())}destroy(){this.s.state!==pe.STATE_CLOSED&&(j1(this,pe.STATE_CLOSING),this.loadBalanced||this.monitor?.close(),this.pool.close(),j1(this,pe.STATE_CLOSED),this.emit("closed"))}requestCheck(){this.loadBalanced||this.monitor?.requestCheck()}async command(e,r,n,s){if(e.db==null||typeof e=="string")throw new ye.MongoInvalidArgumentError("Namespace must not be a string");if(this.s.state===pe.STATE_CLOSING||this.s.state===pe.STATE_CLOSED)throw new ye.MongoServerClosedError;let o=Object.assign({},n,{wireProtocolCommand:!1,directConnection:this.topology.s.options.directConnection});o.omitReadPreference&&delete o.readPreference;let i=o.session,u=i?.pinnedConnection;if(this.incrementOperationCount(),u==null)try{u=await this.pool.checkOut(),this.loadBalanced&&WD(r,i)&&i?.pin(u)}catch(a){throw this.decrementOperationCount(),a instanceof UD.PoolClearedError||this.handleError(a),a}try{try{let a=await u.command(e,r,o,s);return(0,_E.throwIfWriteConcernError)(a),a}catch(a){throw this.decorateCommandError(u,r,o,a)}}catch(a){if(a instanceof ye.MongoError&&a.code===ye.MONGODB_ERROR_CODES.Reauthenticate){await this.pool.reauthenticate(u);try{let c=await u.command(e,r,o,s);return(0,_E.throwIfWriteConcernError)(c),c}catch(c){throw this.decorateCommandError(u,r,o,c)}}else throw a}finally{this.decrementOperationCount(),i?.pinnedConnection!==u&&this.pool.checkIn(u)}}handleError(e,r){if(!(e instanceof ye.MongoError)||e.connectionGeneration&&e.connectionGeneration<this.pool.generation)return;let s=e instanceof ye.MongoNetworkError&&!(e instanceof ye.MongoNetworkTimeoutError),o=(0,ye.isNetworkErrorBeforeHandshake)(e),i=e.hasErrorLabel(ye.MongoErrorLabel.HandshakeError);if(s||o||i)this.loadBalanced?r&&this.pool.clear({serviceId:r.serviceId}):(e.addErrorLabel(ye.MongoErrorLabel.ResetPool),Pd(this,e));else if((0,ye.isSDAMUnrecoverableError)(e)&&$D(this,e)){let u=(0,uc.maxWireVersion)(this)<=7||(0,ye.isNodeShuttingDownError)(e);this.loadBalanced&&r&&u&&this.pool.clear({serviceId:r.serviceId}),this.loadBalanced||(u&&e.addErrorLabel(ye.MongoErrorLabel.ResetPool),Pd(this,e),process.nextTick(()=>this.requestCheck()))}}decorateCommandError(e,r,n,s){if(typeof s!="object"||s==null||!("name"in s))throw new ye.MongoRuntimeError("An unexpected error type: "+typeof s);if(s.name==="AbortError"&&"cause"in s&&s.cause instanceof ye.MongoError&&(s=s.cause),!(s instanceof ye.MongoError)||VD(this.pool,e))return s;let o=n?.session;return s instanceof ye.MongoNetworkError?(o&&!o.hasEnded&&o.serverSession&&(o.serverSession.isDirty=!0),Ld(o,r)&&!s.hasErrorLabel(ye.MongoErrorLabel.TransientTransactionError)&&s.addErrorLabel(ye.MongoErrorLabel.TransientTransactionError),(BE(this.topology)||(0,xd.isTransactionCommand)(r))&&(0,uc.supportsRetryableWrites)(this)&&!Ld(o,r)&&s.addErrorLabel(ye.MongoErrorLabel.RetryableWriteError)):(BE(this.topology)||(0,xd.isTransactionCommand)(r))&&(0,ye.needsRetryableWriteLabel)(s,(0,uc.maxWireVersion)(this))&&!Ld(o,r)&&s.addErrorLabel(ye.MongoErrorLabel.RetryableWriteError),o&&o.isPinned&&s.hasErrorLabel(ye.MongoErrorLabel.TransientTransactionError)&&o.unpin({force:!0}),this.handleError(s,e),s}decrementOperationCount(){return this.s.operationCount-=1}incrementOperationCount(){return this.s.operationCount+=1}};lr.SERVER_HEARTBEAT_STARTED=Fr.SERVER_HEARTBEAT_STARTED;lr.SERVER_HEARTBEAT_SUCCEEDED=Fr.SERVER_HEARTBEAT_SUCCEEDED;lr.SERVER_HEARTBEAT_FAILED=Fr.SERVER_HEARTBEAT_FAILED;lr.CONNECT=Fr.CONNECT;lr.DESCRIPTION_RECEIVED=Fr.DESCRIPTION_RECEIVED;lr.CLOSED=Fr.CLOSED;lr.ENDED=Fr.ENDED;ac.Server=lr;function Pd(t,e){t.loadBalanced||(e instanceof ye.MongoNetworkError&&!(e instanceof ye.MongoNetworkTimeoutError)&&t.monitor?.reset(),t.emit(lr.DESCRIPTION_RECEIVED,new kd.ServerDescription(t.description.hostAddress,void 0,{error:e})))}function WD(t,e){return e?e.inTransaction()||e.transaction.isCommitted&&"commitTransaction"in t||"aggregate"in t||"find"in t||"getMore"in t||"listCollections"in t||"listIndexes"in t:!1}function VD(t,e){return e.serviceId?e.generation!==t.serviceGenerations.get(e.serviceId.toHexString()):e.generation!==t.generation}function $D(t,e){let r=e.topologyVersion,n=t.description.topologyVersion;return(0,kd.compareTopologyVersion)(n,r)<0}function Ld(t,e){return t&&t.inTransaction()&&!(0,xd.isTransactionCommand)(e)}function BE(t){return t.s.options.retryWrites!==!1}});var Ud=m(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.RTTSampler=Ct.MonitorInterval=Ct.RTTPinger=Ct.Monitor=Ct.ServerMonitoringMode=void 0;var xn=x("timers"),bE=ne(),cc=ad(),GD=Ch(),jd=Be(),Do=_(),HD=os(),TE=bt(),nt=R(),Xe=wt(),z1=Xa(),W1=qd(),Nr=Symbol("server"),Rr=Symbol("monitorId"),bo=Symbol("cancellationToken"),_o="idle",ps="monitoring",Bo=(0,nt.makeStateMachine)({[Xe.STATE_CLOSING]:[Xe.STATE_CLOSING,_o,Xe.STATE_CLOSED],[Xe.STATE_CLOSED]:[Xe.STATE_CLOSED,ps],[_o]:[_o,ps,Xe.STATE_CLOSING],[ps]:[ps,_o,Xe.STATE_CLOSING]}),KD=new Set([Xe.STATE_CLOSING,Xe.STATE_CLOSED,ps]);function V1(t){return t.s.state===Xe.STATE_CLOSED||t.s.state===Xe.STATE_CLOSING}Ct.ServerMonitoringMode=Object.freeze({auto:"auto",poll:"poll",stream:"stream"});var zd=class extends TE.TypedEventEmitter{constructor(e,r){super(),this.component=HD.MongoLoggableComponent.TOPOLOGY,this[Nr]=e,this.connection=null,this[bo]=new TE.CancellationToken,this[bo].setMaxListeners(1/0),this[Rr]=void 0,this.s={state:Xe.STATE_CLOSED},this.address=e.description.address,this.options=Object.freeze({connectTimeoutMS:r.connectTimeoutMS??1e4,heartbeatFrequencyMS:r.heartbeatFrequencyMS??1e4,minHeartbeatFrequencyMS:r.minHeartbeatFrequencyMS??500,serverMonitoringMode:r.serverMonitoringMode}),this.isRunningInFaasEnv=(0,GD.getFAASEnv)()!=null,this.mongoLogger=this[Nr].topology.client?.mongoLogger,this.rttSampler=new hc(10);let n=this[bo],s={id:"<monitor>",generation:e.pool.generation,cancellationToken:n,hostAddress:e.description.hostAddress,...r,raw:!1,useBigInt64:!1,promoteLongs:!0,promoteValues:!0,promoteBuffers:!0};delete s.credentials,s.autoEncrypter&&delete s.autoEncrypter,this.connectOptions=Object.freeze(s)}connect(){if(this.s.state!==Xe.STATE_CLOSED)return;let e=this.options.heartbeatFrequencyMS,r=this.options.minHeartbeatFrequencyMS;this[Rr]=new $1(NE(this),{heartbeatFrequencyMS:e,minHeartbeatFrequencyMS:r,immediate:!0})}requestCheck(){KD.has(this.s.state)||this[Rr]?.wake()}reset(){let e=this[Nr].description.topologyVersion;if(V1(this)||e==null)return;Bo(this,Xe.STATE_CLOSING),FE(this),Bo(this,_o);let r=this.options.heartbeatFrequencyMS,n=this.options.minHeartbeatFrequencyMS;this[Rr]=new $1(NE(this),{heartbeatFrequencyMS:r,minHeartbeatFrequencyMS:n})}close(){V1(this)||(Bo(this,Xe.STATE_CLOSING),FE(this),this.emit("close"),Bo(this,Xe.STATE_CLOSED))}get roundTripTime(){return this.rttSampler.average()}get minRoundTripTime(){return this.rttSampler.min()}get latestRtt(){return this.rttSampler.last}addRttSample(e){this.rttSampler.addSample(e)}clearRttSamples(){this.rttSampler.clear()}};Ct.Monitor=zd;function FE(t){t[Rr]?.stop(),t[Rr]=void 0,t.rttPinger?.close(),t.rttPinger=void 0,t[bo].emit("cancel"),t.connection?.destroy(),t.connection=null,t.clearRttSamples()}function Wd(t,e){if(e==null)return!1;let r=t.options.serverMonitoringMode;return r===Ct.ServerMonitoringMode.poll?!1:r===Ct.ServerMonitoringMode.stream?!0:!t.isRunningInFaasEnv}function YD(t,e){let r,n,s=t[Nr].description.topologyVersion,o=Wd(t,s);t.emitAndLogHeartbeat(W1.Server.SERVER_HEARTBEAT_STARTED,t[Nr].topology.s.id,void 0,new z1.ServerHeartbeatStartedEvent(t.address,o));function i(c){t.connection?.destroy(),t.connection=null,t.emitAndLogHeartbeat(W1.Server.SERVER_HEARTBEAT_FAILED,t[Nr].topology.s.id,void 0,new z1.ServerHeartbeatFailedEvent(t.address,(0,nt.calculateDurationInMs)(r),c,n));let l=c instanceof Do.MongoError?c:new Do.MongoError(Do.MongoError.buildErrorMessage(c),{cause:c});l.addErrorLabel(Do.MongoErrorLabel.ResetPool),l instanceof Do.MongoNetworkTimeoutError&&l.addErrorLabel(Do.MongoErrorLabel.InterruptInUseConnections),t.emit("resetServer",l),e(c)}function u(c){"isWritablePrimary"in c||(c.isWritablePrimary=c[jd.LEGACY_HELLO_COMMAND]);let l=o&&t.rttPinger?t.rttPinger.latestRtt??(0,nt.calculateDurationInMs)(r):(0,nt.calculateDurationInMs)(r);t.addRttSample(l),t.emitAndLogHeartbeat(W1.Server.SERVER_HEARTBEAT_SUCCEEDED,t[Nr].topology.s.id,c.connectionId,new z1.ServerHeartbeatSucceededEvent(t.address,l,c,o)),o?(t.emitAndLogHeartbeat(W1.Server.SERVER_HEARTBEAT_STARTED,t[Nr].topology.s.id,void 0,new z1.ServerHeartbeatStartedEvent(t.address,!0)),r=(0,nt.now)()):(t.rttPinger?.close(),t.rttPinger=void 0,e(void 0,c))}let{connection:a}=t;if(a&&!a.closed){let{serverApi:c,helloOk:l}=a,h=t.options.connectTimeoutMS,f=t.options.heartbeatFrequencyMS,S={[c?.version||l?"hello":jd.LEGACY_HELLO_COMMAND]:1,...o&&s?{maxAwaitTimeMS:f,topologyVersion:XD(s)}:{}},y=o?{socketTimeoutMS:h?h+f:0,exhaustAllowed:!0}:{socketTimeoutMS:h};if(o&&t.rttPinger==null&&(t.rttPinger=new lc(t)),r=(0,nt.now)(),o)return n=!0,a.exhaustCommand((0,nt.ns)("admin.$cmd"),S,y,(F,I)=>F?i(F):u(I));n=!1,a.command((0,nt.ns)("admin.$cmd"),S,y).then(u,i);return}(async()=>{let c=await(0,cc.makeSocket)(t.connectOptions),l=(0,cc.makeConnection)(t.connectOptions,c);r=(0,nt.now)();try{return await(0,cc.performInitialHandshake)(l,t.connectOptions),l}catch(h){throw l.destroy(),h}})().then(c=>{if(V1(t)){c.destroy();return}let l=(0,nt.calculateDurationInMs)(r);t.addRttSample(l),t.connection=c,t.emitAndLogHeartbeat(W1.Server.SERVER_HEARTBEAT_SUCCEEDED,t[Nr].topology.s.id,c.hello?.connectionId,new z1.ServerHeartbeatSucceededEvent(t.address,l,c.hello,Wd(t,c.hello?.topologyVersion))),e(void 0,c.hello)},c=>{t.connection=null,n=!1,i(c)})}function NE(t){return e=>{if(t.s.state===ps){process.nextTick(e);return}Bo(t,ps);function r(){V1(t)||Bo(t,_o),e()}YD(t,(n,s)=>{if(n&&t[Nr].description.type===Xe.ServerType.Unknown)return r();Wd(t,s?.topologyVersion)&&(0,xn.setTimeout)(()=>{V1(t)||t[Rr]?.wake()},0),r()})}}function XD(t){return{processId:t.processId,counter:bE.Long.isLong(t.counter)?t.counter:bE.Long.fromNumber(t.counter)}}var lc=class{constructor(e){this.connection=void 0,this[bo]=e[bo],this.closed=!1,this.monitor=e,this.latestRtt=e.latestRtt??void 0;let r=e.options.heartbeatFrequencyMS;this[Rr]=(0,xn.setTimeout)(()=>this.measureRoundTripTime(),r)}get roundTripTime(){return this.monitor.roundTripTime}get minRoundTripTime(){return this.monitor.minRoundTripTime}close(){this.closed=!0,(0,xn.clearTimeout)(this[Rr]),this.connection?.destroy(),this.connection=void 0}measureAndReschedule(e,r){if(this.closed){r?.destroy();return}this.connection==null&&(this.connection=r),this.latestRtt=(0,nt.calculateDurationInMs)(e),this[Rr]=(0,xn.setTimeout)(()=>this.measureRoundTripTime(),this.monitor.options.heartbeatFrequencyMS)}measureRoundTripTime(){let e=(0,nt.now)();if(this.closed)return;let r=this.connection;if(r==null){(0,cc.connect)(this.monitor.connectOptions).then(s=>{this.measureAndReschedule(e,s)},()=>{this.connection=void 0});return}let n=r.serverApi?.version||r.helloOk?"hello":jd.LEGACY_HELLO_COMMAND;r.command((0,nt.ns)("admin.$cmd"),{[n]:1},void 0).then(()=>this.measureAndReschedule(e),()=>{this.connection?.destroy(),this.connection=void 0})}};Ct.RTTPinger=lc;var $1=class{constructor(e,r={}){this.isExpeditedCallToFnScheduled=!1,this.stopped=!1,this.isExecutionInProgress=!1,this.hasExecutedOnce=!1,this._executeAndReschedule=()=>{this.stopped||(this.timerId&&(0,xn.clearTimeout)(this.timerId),this.isExpeditedCallToFnScheduled=!1,this.isExecutionInProgress=!0,this.fn(()=>{this.lastExecutionEnded=(0,nt.now)(),this.isExecutionInProgress=!1,this._reschedule(this.heartbeatFrequencyMS)}))},this.fn=e,this.lastExecutionEnded=-1/0,this.heartbeatFrequencyMS=r.heartbeatFrequencyMS??1e3,this.minHeartbeatFrequencyMS=r.minHeartbeatFrequencyMS??500,r.immediate?this._executeAndReschedule():this._reschedule(void 0)}wake(){let r=(0,nt.now)()-this.lastExecutionEnded;if(r<0)return this._executeAndReschedule();if(!this.isExecutionInProgress&&!this.isExpeditedCallToFnScheduled){if(r<this.minHeartbeatFrequencyMS){this.isExpeditedCallToFnScheduled=!0,this._reschedule(this.minHeartbeatFrequencyMS-r);return}this._executeAndReschedule()}}stop(){this.stopped=!0,this.timerId&&((0,xn.clearTimeout)(this.timerId),this.timerId=void 0),this.lastExecutionEnded=-1/0,this.isExpeditedCallToFnScheduled=!1}toString(){return JSON.stringify(this)}toJSON(){let e=(0,nt.now)(),r=e-this.lastExecutionEnded;return{timerId:this.timerId!=null?"set":"cleared",lastCallTime:this.lastExecutionEnded,isExpeditedCheckScheduled:this.isExpeditedCallToFnScheduled,stopped:this.stopped,heartbeatFrequencyMS:this.heartbeatFrequencyMS,minHeartbeatFrequencyMS:this.minHeartbeatFrequencyMS,currentTime:e,timeSinceLastCall:r}}_reschedule(e){this.stopped||(this.timerId&&(0,xn.clearTimeout)(this.timerId),this.timerId=(0,xn.setTimeout)(this._executeAndReschedule,e||this.heartbeatFrequencyMS))}};Ct.MonitorInterval=$1;var hc=class{constructor(e=10){this.rttSamples=new Float64Array(e),this.length=0,this.writeIndex=0}addSample(e){this.rttSamples[this.writeIndex++]=e,this.length<this.rttSamples.length&&this.length++,this.writeIndex%=this.rttSamples.length}min(){if(this.length<2)return 0;let e=this.rttSamples[0];for(let r=1;r<this.length;r++)this.rttSamples[r]<e&&(e=this.rttSamples[r]);return e}average(){if(this.length===0)return 0;let e=0;for(let r=0;r<this.length;r++)e+=this.rttSamples[r];return e/this.length}get last(){return this.length===0?null:this.rttSamples[this.writeIndex===0?this.length-1:this.writeIndex-1]}clear(){this.length=0,this.writeIndex=0}};Ct.RTTSampler=hc});var Yd=m(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.FEATURE_FLAGS=ze.DEFAULT_OPTIONS=ze.OPTIONS=ze.parseOptions=ze.resolveSRVRecord=void 0;var RE=x("dns"),JD=Eh(),QD=x("url"),To=pa(),Mr=wr(),ME=Ch(),IE=N1(),vE=oE(),M=_(),dc=ds(),Gd=os(),Vd=Pt(),kn=xe(),ZD=Ud(),Je=R(),en=ot(),$d=["authSource","replicaSet","loadBalanced"],e_="loadBalanced option only supported with a single host in the URI",t_="loadBalanced option not supported with a replicaSet option",r_="loadBalanced option not supported when directConnection is provided";async function n_(t){if(typeof t.srvHost!="string")throw new M.MongoAPIError('Option "srvHost" must not be empty');if(t.srvHost.split(".").length<3)throw new M.MongoAPIError("URI must include hostname, domain name, and tld");let e=t.srvHost,r=RE.promises.resolveTxt(e);r.then(void 0,Je.squashError);let n=await RE.promises.resolveSrv(`_${t.srvServiceName}._tcp.${e}`);if(n.length===0)throw new M.MongoAPIError("No addresses found at host");for(let{name:h}of n)if(!(0,Je.matchesParentDomain)(h,e))throw new M.MongoAPIError("Server record does not share hostname with parent URI");let s=n.map(h=>Je.HostAddress.fromString(`${h.name}:${h.port??27017}`));Hd(s,t,!0);let o;try{o=await r}catch(h){if(h.code!=="ENODATA"&&h.code!=="ENOTFOUND")throw h;return s}if(o.length>1)throw new M.MongoParseError("Multiple text records not allowed");let i=new QD.URLSearchParams(o[0].join(""));if([...i.keys()].some(h=>!$d.includes(h)))throw new M.MongoParseError(`Text record may only set any of: ${$d.join(", ")}`);if($d.some(h=>i.get(h)===""))throw new M.MongoParseError("Cannot have empty URI params in DNS TXT Record");let a=i.get("authSource")??void 0,c=i.get("replicaSet")??void 0,l=i.get("loadBalanced")??void 0;if(!t.userSpecifiedAuthSource&&a&&t.credentials&&!Mr.AUTH_MECHS_AUTH_SRC_EXTERNAL.has(t.credentials.mechanism)&&(t.credentials=To.MongoCredentials.merge(t.credentials,{source:a})),!t.userSpecifiedReplicaSet&&c&&(t.replicaSet=c),l==="true"&&(t.loadBalanced=!0),t.replicaSet&&t.srvMaxHosts>0)throw new M.MongoParseError("Cannot combine replicaSet option with srvMaxHosts");return Hd(s,t,!0),s}ze.resolveSRVRecord=n_;function s_(t){if(!t)return;let e=(r,n)=>{if(t.has(r)&&t.has(n))throw new M.MongoAPIError(`The '${r}' option cannot be used with the '${n}' option`)};e("tlsInsecure","tlsAllowInvalidCertificates"),e("tlsInsecure","tlsAllowInvalidHostnames"),e("tlsInsecure","tlsDisableCertificateRevocationCheck"),e("tlsInsecure","tlsDisableOCSPEndpointCheck"),e("tlsAllowInvalidCertificates","tlsDisableCertificateRevocationCheck"),e("tlsAllowInvalidCertificates","tlsDisableOCSPEndpointCheck"),e("tlsDisableCertificateRevocationCheck","tlsDisableOCSPEndpointCheck")}function tn(t,e){if(typeof e=="boolean")return e;switch(e){case"true":return!0;case"false":return!1;default:throw new M.MongoParseError(`${t} must be either "true" or "false"`)}}function Kd(t,e){let r=(0,Je.parseInteger)(e);if(r!=null)return r;throw new M.MongoParseError(`Expected ${t} to be stringified int value, got: ${e}`)}function G1(t,e){let r=Kd(t,e);if(r<0)throw new M.MongoParseError(`${t} can only be a positive int value, got: ${e}`);return r}function*PE(t){if(t==="")return;let e=t.split(",");for(let r of e){let[n,s]=r.split(/:(.*)/);if(s==null)throw new M.MongoParseError("Cannot have undefined values in key value pairs");yield[n,s]}}var Fo=class extends Map{constructor(e=[]){super(e.map(([r,n])=>[r.toLowerCase(),n]))}has(e){return super.has(e.toLowerCase())}get(e){return super.get(e.toLowerCase())}set(e,r){return super.set(e.toLowerCase(),r)}delete(e){return super.delete(e.toLowerCase())}};function o_(t,e=void 0,r={}){if(e!=null&&!(e instanceof dc.MongoClient)&&(r=e,e=void 0),r.useBigInt64&&typeof r.promoteLongs=="boolean"&&!r.promoteLongs)throw new M.MongoAPIError("Must request either bigint or Long for int64 deserialization");if(r.useBigInt64&&typeof r.promoteValues=="boolean"&&!r.promoteValues)throw new M.MongoAPIError("Must request either bigint or Long for int64 deserialization");let n=new JD.default(t),{hosts:s,isSRV:o}=n,i=Object.create(null);for(let D of Object.getOwnPropertySymbols(r))ze.FEATURE_FLAGS.has(D)&&(i[D]=r[D]);i.hosts=o?[]:s.map(Je.HostAddress.fromString);let u=new Fo;if(n.pathname!=="/"&&n.pathname!==""){let D=decodeURIComponent(n.pathname[0]==="/"?n.pathname.slice(1):n.pathname);D&&u.set("dbName",[D])}if(n.username!==""){let D={username:decodeURIComponent(n.username)};typeof n.password=="string"&&(D.password=decodeURIComponent(n.password)),u.set("auth",[D])}for(let D of n.searchParams.keys()){let T=n.searchParams.getAll(D),J=/readPreferenceTags/i.test(D);if(!J&&T.length>1)throw new M.MongoInvalidArgumentError(`URI option "${D}" cannot appear more than once in the connection string`);if(!J&&T.includes(""))throw new M.MongoAPIError(`URI option "${D}" cannot be specified with no value`);u.has(D)||u.set(D,T)}let a=new Fo(Object.entries(r).filter(([,D])=>D!=null));if(u.has("serverApi"))throw new M.MongoParseError("URI cannot contain `serverApi`, it can only be passed to the client");let c=u.get("authMechanismProperties");if(c){for(let D of c)if(/(^|,)ALLOWED_HOSTS:/.test(D))throw new M.MongoParseError("Auth mechanism property ALLOWED_HOSTS is not allowed in the connection string.")}if(a.has("loadBalanced"))throw new M.MongoParseError("loadBalanced is only a valid option in the URI");let l=new Fo,h=new Set([...u.keys(),...a.keys()]);for(let D of h){let T=[],J=a.get(D);J!=null&&T.push(J);let B=u.get(D)??[];T.push(...B),l.set(D,T)}if(l.has("tls")||l.has("ssl")){let D=(l.get("tls")||[]).concat(l.get("ssl")||[]).map(tn.bind(null,"tls/ssl"));if(new Set(D).size!==1)throw new M.MongoParseError("All values of tls/ssl must be the same.")}s_(l);let f=(0,Je.setDifference)(h,Array.from(Object.keys(ze.OPTIONS)).map(D=>D.toLowerCase()));if(f.size!==0){let D=f.size>1?"options":"option",T=f.size>1?"are":"is";throw new M.MongoParseError(`${D} ${Array.from(f).join(", ")} ${T} not supported`)}for(let[D,T]of Object.entries(ze.OPTIONS)){let J=l.get(D);if(!J||J.length===0)ze.DEFAULT_OPTIONS.has(D)&&LE(i,D,T,[ze.DEFAULT_OPTIONS.get(D)]);else{let{deprecated:B}=T;if(B){let ge=typeof B=="string"?`: ${B}`:"";(0,Je.emitWarning)(`${D} is a deprecated option${ge}`)}LE(i,D,T,J)}}if(i.credentials){let D=i.credentials.mechanism===Mr.AuthMechanism.MONGODB_GSSAPI,T=i.credentials.mechanism===Mr.AuthMechanism.MONGODB_X509,J=i.credentials.mechanism===Mr.AuthMechanism.MONGODB_AWS,B=i.credentials.mechanism===Mr.AuthMechanism.MONGODB_OIDC;if((D||T)&&l.has("authSource")&&i.credentials.source!=="$external")throw new M.MongoParseError(`authMechanism ${i.credentials.mechanism} requires an authSource of '$external'`);if(!(D||T||J||B)&&i.dbName&&!l.has("authSource")&&(i.credentials=To.MongoCredentials.merge(i.credentials,{source:i.dbName})),J&&i.credentials.username&&!i.credentials.password)throw new M.MongoMissingCredentialsError(`When using ${i.credentials.mechanism} password must be set when a username is specified`);i.credentials.validate(),i.credentials.password===""&&i.credentials.username===""&&i.credentials.mechanism===Mr.AuthMechanism.MONGODB_DEFAULT&&Object.keys(i.credentials.mechanismProperties).length===0&&delete i.credentials}if(i.dbName||(i.dbName="test"),Hd(s,i,o),e&&i.autoEncryption&&(vE.Encrypter.checkForMongoCrypt(),i.encrypter=new vE.Encrypter(e,t,r),i.autoEncrypter=i.encrypter.autoEncrypter),i.userSpecifiedAuthSource=a.has("authSource")||u.has("authSource"),i.userSpecifiedReplicaSet=a.has("replicaSet")||u.has("replicaSet"),o){if(i.srvHost=s[0],i.directConnection)throw new M.MongoAPIError("SRV URI does not support directConnection");if(i.srvMaxHosts>0&&typeof i.replicaSet=="string")throw new M.MongoParseError("Cannot use srvMaxHosts option with replicaSet");let D=!a.has("tls")&&!u.has("tls"),T=!a.has("ssl")&&!u.has("ssl");D&&T&&(i.tls=!0)}else if(u.has("srvMaxHosts")||a.has("srvMaxHosts")||u.has("srvServiceName")||a.has("srvServiceName"))throw new M.MongoParseError("Cannot use srvMaxHosts or srvServiceName with a non-srv connection string");if(i.directConnection&&i.hosts.length!==1)throw new M.MongoParseError("directConnection option requires exactly one host");if(!i.proxyHost&&(i.proxyPort||i.proxyUsername||i.proxyPassword))throw new M.MongoParseError("Must specify proxyHost if other proxy options are passed");if(i.proxyUsername&&!i.proxyPassword||!i.proxyUsername&&i.proxyPassword)throw new M.MongoParseError("Can only specify both of proxy username/password or neither");if(["proxyHost","proxyPort","proxyUsername","proxyPassword"].map(D=>u.get(D)??[]).some(D=>D.length>1))throw new M.MongoParseError("Proxy options cannot be specified multiple times in the connection string");let y=Symbol.for("@@mdb.enableMongoLogger");i[y]=i[y]??!1;let F={},I={};return i[y]&&(F={MONGODB_LOG_COMMAND:process.env.MONGODB_LOG_COMMAND,MONGODB_LOG_TOPOLOGY:process.env.MONGODB_LOG_TOPOLOGY,MONGODB_LOG_SERVER_SELECTION:process.env.MONGODB_LOG_SERVER_SELECTION,MONGODB_LOG_CONNECTION:process.env.MONGODB_LOG_CONNECTION,MONGODB_LOG_CLIENT:process.env.MONGODB_LOG_CLIENT,MONGODB_LOG_ALL:process.env.MONGODB_LOG_ALL,MONGODB_LOG_MAX_DOCUMENT_LENGTH:process.env.MONGODB_LOG_MAX_DOCUMENT_LENGTH,MONGODB_LOG_PATH:process.env.MONGODB_LOG_PATH,...i[Symbol.for("@@mdb.internalLoggerConfig")]},I={mongodbLogPath:i.mongodbLogPath,mongodbLogComponentSeverities:i.mongodbLogComponentSeverities,mongodbLogMaxDocumentLength:i.mongodbLogMaxDocumentLength}),i.mongoLoggerOptions=Gd.MongoLogger.resolveOptions(F,I),i.metadata=(0,ME.makeClientMetadata)(i),i.extendedMetadata=(0,ME.addContainerMetadata)(i.metadata).then(void 0,Je.squashError),i}ze.parseOptions=o_;function Hd(t,e,r){if(e.loadBalanced){if(t.length>1)throw new M.MongoParseError(e_);if(e.replicaSet)throw new M.MongoParseError(t_);if(e.directConnection)throw new M.MongoParseError(r_);if(r&&e.srvMaxHosts>0)throw new M.MongoParseError("Cannot limit srv hosts with loadBalanced enabled")}}function LE(t,e,r,n){let{target:s,type:o,transform:i}=r,u=s??e;switch(o){case"boolean":t[u]=tn(u,n[0]);break;case"int":t[u]=Kd(u,n[0]);break;case"uint":t[u]=G1(u,n[0]);break;case"string":if(n[0]==null)break;t[u]=String(n[0]);break;case"record":if(!(0,Je.isRecord)(n[0]))throw new M.MongoParseError(`${u} must be an object`);t[u]=n[0];break;case"any":t[u]=n[0];break;default:{if(!i)throw new M.MongoParseError("Descriptors missing a type must define a transform");let a=i({name:u,options:t,values:n});t[u]=a;break}}}ze.OPTIONS={appName:{type:"string"},auth:{target:"credentials",transform({name:t,options:e,values:[r]}){if(!(0,Je.isRecord)(r,["username","password"]))throw new M.MongoParseError(`${t} must be an object with 'username' and 'password' properties`);return To.MongoCredentials.merge(e.credentials,{username:r.username,password:r.password})}},authMechanism:{target:"credentials",transform({options:t,values:[e]}){let r=Object.values(Mr.AuthMechanism),[n]=r.filter(i=>i.match(RegExp(String.raw`\b${e}\b`,"i")));if(!n)throw new M.MongoParseError(`authMechanism one of ${r}, got ${e}`);let s=t.credentials?.source;(n===Mr.AuthMechanism.MONGODB_PLAIN||Mr.AUTH_MECHS_AUTH_SRC_EXTERNAL.has(n))&&(s="$external");let o=t.credentials?.password;return n===Mr.AuthMechanism.MONGODB_X509&&o===""&&(o=void 0),To.MongoCredentials.merge(t.credentials,{mechanism:n,source:s,password:o})}},authMechanismProperties:{target:"credentials",transform({options:t,values:e}){let r=Object.create(null);for(let n of e)if(typeof n=="string")for(let[s,o]of PE(n))try{r[s]=tn(s,o)}catch{r[s]=o}else{if(!(0,Je.isRecord)(n))throw new M.MongoParseError("AuthMechanismProperties must be an object");r={...n}}return To.MongoCredentials.merge(t.credentials,{mechanismProperties:r})}},authSource:{target:"credentials",transform({options:t,values:[e]}){let r=String(e);return To.MongoCredentials.merge(t.credentials,{source:r})}},autoEncryption:{type:"record"},bsonRegExp:{type:"boolean"},serverApi:{target:"serverApi",transform({values:[t]}){let e=typeof t=="string"?{version:t}:t,r=e&&e.version;if(!r)throw new M.MongoParseError(`Invalid \`serverApi\` property; must specify a version from the following enum: ["${Object.values(dc.ServerApiVersion).join('", "')}"]`);if(!Object.values(dc.ServerApiVersion).some(n=>n===r))throw new M.MongoParseError(`Invalid server API version=${r}; must be in the following enum: ["${Object.values(dc.ServerApiVersion).join('", "')}"]`);return e}},checkKeys:{type:"boolean"},compressors:{default:"none",target:"compressors",transform({values:t}){let e=new Set;for(let r of t){let n=typeof r=="string"?r.split(","):r;if(!Array.isArray(n))throw new M.MongoInvalidArgumentError("compressors must be an array or a comma-delimited list of strings");for(let s of n)if(Object.keys(IE.Compressor).includes(String(s)))e.add(String(s));else throw new M.MongoInvalidArgumentError(`${s} is not a valid compression mechanism. Must be one of: ${Object.keys(IE.Compressor)}.`)}return[...e]}},connectTimeoutMS:{default:3e4,type:"uint"},dbName:{type:"string"},directConnection:{default:!1,type:"boolean"},driverInfo:{default:{},type:"record"},enableUtf8Validation:{type:"boolean",default:!0},family:{transform({name:t,values:[e]}){let r=Kd(t,e);if(r===4||r===6)return r;throw new M.MongoParseError(`Option 'family' must be 4 or 6 got ${r}.`)}},fieldsAsRaw:{type:"record"},forceServerObjectId:{default:!1,type:"boolean"},fsync:{deprecated:"Please use journal instead",target:"writeConcern",transform({name:t,options:e,values:[r]}){let n=en.WriteConcern.fromOptions({writeConcern:{...e.writeConcern,fsync:tn(t,r)}});if(!n)throw new M.MongoParseError(`Unable to make a writeConcern from fsync=${r}`);return n}},heartbeatFrequencyMS:{default:1e4,type:"uint"},ignoreUndefined:{type:"boolean"},j:{deprecated:"Please use journal instead",target:"writeConcern",transform({name:t,options:e,values:[r]}){let n=en.WriteConcern.fromOptions({writeConcern:{...e.writeConcern,journal:tn(t,r)}});if(!n)throw new M.MongoParseError(`Unable to make a writeConcern from journal=${r}`);return n}},journal:{target:"writeConcern",transform({name:t,options:e,values:[r]}){let n=en.WriteConcern.fromOptions({writeConcern:{...e.writeConcern,journal:tn(t,r)}});if(!n)throw new M.MongoParseError(`Unable to make a writeConcern from journal=${r}`);return n}},loadBalanced:{default:!1,type:"boolean"},localThresholdMS:{default:15,type:"uint"},maxConnecting:{default:2,transform({name:t,values:[e]}){let r=G1(t,e);if(r===0)throw new M.MongoInvalidArgumentError("maxConnecting must be > 0 if specified");return r}},maxIdleTimeMS:{default:0,type:"uint"},maxPoolSize:{default:100,type:"uint"},maxStalenessSeconds:{target:"readPreference",transform({name:t,options:e,values:[r]}){let n=G1(t,r);return e.readPreference?kn.ReadPreference.fromOptions({readPreference:{...e.readPreference,maxStalenessSeconds:n}}):new kn.ReadPreference("secondary",void 0,{maxStalenessSeconds:n})}},minInternalBufferSize:{type:"uint"},minPoolSize:{default:0,type:"uint"},minHeartbeatFrequencyMS:{default:500,type:"uint"},monitorCommands:{default:!1,type:"boolean"},name:{target:"driverInfo",transform({values:[t],options:e}){return{...e.driverInfo,name:String(t)}}},noDelay:{default:!0,type:"boolean"},pkFactory:{default:Je.DEFAULT_PK_FACTORY,transform({values:[t]}){if((0,Je.isRecord)(t,["createPk"])&&typeof t.createPk=="function")return t;throw new M.MongoParseError(`Option pkFactory must be an object with a createPk function, got ${t}`)}},promoteBuffers:{type:"boolean"},promoteLongs:{type:"boolean"},promoteValues:{type:"boolean"},useBigInt64:{type:"boolean"},proxyHost:{type:"string"},proxyPassword:{type:"string"},proxyPort:{type:"uint"},proxyUsername:{type:"string"},raw:{default:!1,type:"boolean"},readConcern:{transform({values:[t],options:e}){if(t instanceof Vd.ReadConcern||(0,Je.isRecord)(t,["level"]))return Vd.ReadConcern.fromOptions({...e.readConcern,...t});throw new M.MongoParseError(`ReadConcern must be an object, got ${JSON.stringify(t)}`)}},readConcernLevel:{target:"readConcern",transform({values:[t],options:e}){return Vd.ReadConcern.fromOptions({...e.readConcern,level:t})}},readPreference:{default:kn.ReadPreference.primary,transform({values:[t],options:e}){if(t instanceof kn.ReadPreference)return kn.ReadPreference.fromOptions({readPreference:{...e.readPreference,...t},...t});if((0,Je.isRecord)(t,["mode"])){let r=kn.ReadPreference.fromOptions({readPreference:{...e.readPreference,...t},...t});if(r)return r;throw new M.MongoParseError(`Cannot make read preference from ${JSON.stringify(t)}`)}if(typeof t=="string"){let r={hedge:e.readPreference?.hedge,maxStalenessSeconds:e.readPreference?.maxStalenessSeconds};return new kn.ReadPreference(t,e.readPreference?.tags,r)}throw new M.MongoParseError(`Unknown ReadPreference value: ${t}`)}},readPreferenceTags:{target:"readPreference",transform({values:t,options:e}){let r=Array.isArray(t[0])?t[0]:t,n=[];for(let s of r){let o=Object.create(null);if(typeof s=="string")for(let[i,u]of PE(s))o[i]=u;if((0,Je.isRecord)(s))for(let[i,u]of Object.entries(s))o[i]=u;n.push(o)}return kn.ReadPreference.fromOptions({readPreference:e.readPreference,readPreferenceTags:n})}},replicaSet:{type:"string"},retryReads:{default:!0,type:"boolean"},retryWrites:{default:!0,type:"boolean"},serializeFunctions:{type:"boolean"},serverMonitoringMode:{default:"auto",transform({values:[t]}){if(!Object.values(ZD.ServerMonitoringMode).includes(t))throw new M.MongoParseError("serverMonitoringMode must be one of `auto`, `poll`, or `stream`");return t}},serverSelectionTimeoutMS:{default:3e4,type:"uint"},servername:{type:"string"},socketTimeoutMS:{default:0,type:"uint"},srvMaxHosts:{type:"uint",default:0},srvServiceName:{type:"string",default:"mongodb"},ssl:{target:"tls",type:"boolean"},timeoutMS:{type:"uint"},tls:{type:"boolean"},tlsAllowInvalidCertificates:{target:"rejectUnauthorized",transform({name:t,values:[e]}){return!tn(t,e)}},tlsAllowInvalidHostnames:{target:"checkServerIdentity",transform({name:t,values:[e]}){return tn(t,e)?()=>{}:void 0}},tlsCAFile:{type:"string"},tlsCRLFile:{type:"string"},tlsCertificateKeyFile:{type:"string"},tlsCertificateKeyFilePassword:{target:"passphrase",type:"any"},tlsInsecure:{transform({name:t,options:e,values:[r]}){let n=tn(t,r);return n?(e.checkServerIdentity=()=>{},e.rejectUnauthorized=!1):(e.checkServerIdentity=e.tlsAllowInvalidHostnames?()=>{}:void 0,e.rejectUnauthorized=!e.tlsAllowInvalidCertificates),n}},w:{target:"writeConcern",transform({values:[t],options:e}){return en.WriteConcern.fromOptions({writeConcern:{...e.writeConcern,w:t}})}},waitQueueTimeoutMS:{default:0,type:"uint"},writeConcern:{target:"writeConcern",transform({values:[t],options:e}){if((0,Je.isRecord)(t)||t instanceof en.WriteConcern)return en.WriteConcern.fromOptions({writeConcern:{...e.writeConcern,...t}});if(t==="majority"||typeof t=="number")return en.WriteConcern.fromOptions({writeConcern:{...e.writeConcern,w:t}});throw new M.MongoParseError(`Invalid WriteConcern cannot parse: ${JSON.stringify(t)}`)}},wtimeout:{deprecated:"Please use wtimeoutMS instead",target:"writeConcern",transform({values:[t],options:e}){let r=en.WriteConcern.fromOptions({writeConcern:{...e.writeConcern,wtimeout:G1("wtimeout",t)}});if(r)return r;throw new M.MongoParseError("Cannot make WriteConcern from wtimeout")}},wtimeoutMS:{target:"writeConcern",transform({values:[t],options:e}){let r=en.WriteConcern.fromOptions({writeConcern:{...e.writeConcern,wtimeoutMS:G1("wtimeoutMS",t)}});if(r)return r;throw new M.MongoParseError("Cannot make WriteConcern from wtimeout")}},zlibCompressionLevel:{default:0,type:"int"},connectionType:{type:"any"},srvPoller:{type:"any"},minDHSize:{type:"any"},pskCallback:{type:"any"},secureContext:{type:"any"},enableTrace:{type:"any"},requestCert:{type:"any"},rejectUnauthorized:{type:"any"},checkServerIdentity:{type:"any"},ALPNProtocols:{type:"any"},SNICallback:{type:"any"},session:{type:"any"},requestOCSP:{type:"any"},localAddress:{type:"any"},localPort:{type:"any"},hints:{type:"any"},lookup:{type:"any"},ca:{type:"any"},cert:{type:"any"},ciphers:{type:"any"},crl:{type:"any"},ecdhCurve:{type:"any"},key:{type:"any"},passphrase:{type:"any"},pfx:{type:"any"},secureProtocol:{type:"any"},index:{type:"any"},useNewUrlParser:{type:"boolean",deprecated:"useNewUrlParser has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version"},useUnifiedTopology:{type:"boolean",deprecated:"useUnifiedTopology has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version"},mongodbLogPath:{transform({values:[t]}){if(!(typeof t=="string"&&["stderr","stdout"].includes(t)||t&&typeof t=="object"&&"write"in t&&typeof t.write=="function"))throw new M.MongoAPIError("Option 'mongodbLogPath' must be of type 'stderr' | 'stdout' | MongoDBLogWritable");return t}},mongodbLogComponentSeverities:{transform({values:[t]}){if(typeof t!="object"||!t)throw new M.MongoAPIError("Option 'mongodbLogComponentSeverities' must be a non-null object");for(let[e,r]of Object.entries(t)){if(typeof r!="string"||typeof e!="string")throw new M.MongoAPIError("User input for option 'mongodbLogComponentSeverities' object cannot include a non-string key or value");if(!Object.values(Gd.MongoLoggableComponent).some(n=>n===e)&&e!=="default")throw new M.MongoAPIError(`User input for option 'mongodbLogComponentSeverities' contains invalid key: ${e}`);if(!Object.values(Gd.SeverityLevel).some(n=>n===r))throw new M.MongoAPIError(`Option 'mongodbLogComponentSeverities' does not support ${r} as a value for ${e}`)}return t}},mongodbLogMaxDocumentLength:{type:"uint"}};ze.DEFAULT_OPTIONS=new Fo(Object.entries(ze.OPTIONS).filter(([,t])=>t.default!=null).map(([t,e])=>[t,e.default]));ze.FEATURE_FLAGS=new Set([Symbol.for("@@mdb.skipPingOnConnect"),Symbol.for("@@mdb.enableMongoLogger"),Symbol.for("@@mdb.internalLoggerConfig")])});var qE=m(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.MongoCR=void 0;var xE=x("crypto"),i_=_(),kE=R(),u_=Vr(),Xd=class extends u_.AuthProvider{async auth(e){let{connection:r,credentials:n}=e;if(!n)throw new i_.MongoMissingCredentialsError("AuthContext must provide credentials.");let{username:s,password:o,source:i}=n,{nonce:u}=await r.command((0,kE.ns)(`${i}.$cmd`),{getnonce:1},void 0),a=xE.createHash("md5").update(`${s}:mongo:${o}`,"utf8").digest("hex"),c=xE.createHash("md5").update(`${u}${s}${a}`,"utf8").digest("hex"),l={authenticate:1,user:s,nonce:u,key:c};await r.command((0,kE.ns)(`${i}.$cmd`),l,void 0)}};fc.MongoCR=Xd});var UE=m(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.MongoDBAWS=void 0;var Jd=ne(),Qd=nr(),Ro=_(),No=R(),a_=Vr(),Zd=kh(),c_=pa(),l_=wr(),h_=110,ef={useBigInt64:!1,promoteLongs:!0,promoteValues:!0,promoteBuffers:!1,bsonRegExp:!1},tf=class extends a_.AuthProvider{constructor(){super(),this.credentialFetcher=Zd.AWSTemporaryCredentialProvider.isAWSSDKInstalled?new Zd.AWSSDKCredentialProvider:new Zd.LegacyAWSTemporaryCredentialProvider}async auth(e){let{connection:r}=e;if(!e.credentials)throw new Ro.MongoMissingCredentialsError("AuthContext must provide credentials.");if("kModuleError"in Qd.aws4)throw Qd.aws4.kModuleError;let{sign:n}=Qd.aws4;if((0,No.maxWireVersion)(r)<9)throw new Ro.MongoCompatibilityError("MONGODB-AWS authentication requires MongoDB version 4.4 or later");e.credentials.username||(e.credentials=await d_(e.credentials,this.credentialFetcher));let{credentials:s}=e,o=s.username,i=s.password,u=s.mechanismProperties.AWS_SESSION_TOKEN,a=o&&i&&u?{accessKeyId:o,secretAccessKey:i,sessionToken:u}:o&&i?{accessKeyId:o,secretAccessKey:i}:void 0,c=s.source,l=await(0,No.randomBytes)(32),h={saslStart:1,mechanism:"MONGODB-AWS",payload:Jd.serialize({r:l,p:h_},ef)},f=await r.command((0,No.ns)(`${c}.$cmd`),h,void 0),S=Jd.deserialize(f.payload.buffer,ef),y=S.h,F=S.s.buffer;if(F.length!==64)throw new Ro.MongoRuntimeError(`Invalid server nonce length ${F.length}, expected 64`);if(!No.ByteUtils.equals(F.subarray(0,l.byteLength),l))throw new Ro.MongoRuntimeError("Server nonce does not begin with client nonce");if(y.length<1||y.length>255||y.indexOf("..")!==-1)throw new Ro.MongoRuntimeError(`Server returned an invalid host: "${y}"`);let I="Action=GetCallerIdentity&Version=2011-06-15",D=n({method:"POST",host:y,region:f_(S.h),service:"sts",headers:{"Content-Type":"application/x-www-form-urlencoded","Content-Length":I.length,"X-MongoDB-Server-Nonce":No.ByteUtils.toBase64(F),"X-MongoDB-GS2-CB-Flag":"n"},path:"/",body:I},a),T={a:D.headers.Authorization,d:D.headers["X-Amz-Date"]};u&&(T.t=u);let J={saslContinue:1,conversationId:1,payload:Jd.serialize(T,ef)};await r.command((0,No.ns)(`${c}.$cmd`),J,void 0)}};pc.MongoDBAWS=tf;async function d_(t,e){function r(s){if(!s.AccessKeyId||!s.SecretAccessKey)throw new Ro.MongoMissingCredentialsError("Could not obtain temporary MONGODB-AWS credentials");return new c_.MongoCredentials({username:s.AccessKeyId,password:s.SecretAccessKey,source:t.source,mechanism:l_.AuthMechanism.MONGODB_AWS,mechanismProperties:{AWS_SESSION_TOKEN:s.Token}})}let n=await e.getCredentials();return r(n)}function f_(t){let e=t.split(".");return e.length===1||e[1]==="amazonaws"?"us-east-1":e[1]}});var rf=m(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.startCommandDocument=Io.finishCommandDocument=void 0;var Mo=Jo(),jE=wr();function p_(t,e){return e!=null?{saslContinue:1,conversationId:e,payload:new Mo.Binary(Mo.BSON.serialize({jwt:t}))}:{saslStart:1,mechanism:jE.AuthMechanism.MONGODB_OIDC,payload:new Mo.Binary(Mo.BSON.serialize({jwt:t}))}}Io.finishCommandDocument=p_;function m_(t){let e={};return t.username&&(e.n=t.username),{saslStart:1,autoAuthorize:1,mechanism:jE.AuthMechanism.MONGODB_OIDC,payload:new Mo.Binary(Mo.BSON.serialize(e))}}Io.startCommandDocument=m_});var Ec=m(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.MachineWorkflow=void 0;var E_=x("timers/promises"),A_=R(),zE=rf(),nf=100,sf=class{constructor(e){this.cache=e,this.callback=this.withLock(this.getToken.bind(this)),this.lastExecutionTime=Date.now()-nf}async execute(e,r){let n=await this.getTokenFromCacheOrEnv(e,r),s=(0,zE.finishCommandDocument)(n);await e.command((0,A_.ns)(r.source),s,void 0)}async reauthenticate(e,r){this.cache.hasAccessToken&&(e.accessToken===this.cache.getAccessToken()?(this.cache.removeAccessToken(),delete e.accessToken):e.accessToken=this.cache.getAccessToken()),await this.execute(e,r)}async speculativeAuth(e,r){if(!this.cache.hasAccessToken)return{};let n=await this.getTokenFromCacheOrEnv(e,r),s=(0,zE.finishCommandDocument)(n);return s.db=r.source,{speculativeAuthenticate:s}}async getTokenFromCacheOrEnv(e,r){if(this.cache.hasAccessToken)return this.cache.getAccessToken();{let n=await this.callback(r);return this.cache.put({accessToken:n.access_token,expiresInSeconds:n.expires_in}),e.accessToken=n.access_token,n.access_token}}withLock(e){let r=Promise.resolve();return async n=>(await r,r=r.catch(()=>null).then(async()=>{let s=Date.now()-this.lastExecutionTime;return s<=nf&&await(0,E_.setTimeout)(nf-s),this.lastExecutionTime=Date.now(),await e(n)}),await r)}};mc.MachineWorkflow=sf});var VE=m(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.AzureMachineWorkflow=void 0;var WE=qh(),of=_(),g_=R(),C_=Ec(),y_=Object.freeze({Metadata:"true",Accept:"application/json"}),S_="Azure endpoint did not return a value with only access_token and expires_in properties",O_="TOKEN_RESOURCE must be set in the auth mechanism properties when ENVIRONMENT is azure.",uf=class extends C_.MachineWorkflow{constructor(e){super(e)}async getToken(e){let r=e?.mechanismProperties.TOKEN_RESOURCE,n=e?.username;if(!r)throw new of.MongoAzureError(O_);let s=await w_(r,n);if(!D_(s))throw new of.MongoAzureError(S_);return s}};Ac.AzureMachineWorkflow=uf;async function w_(t,e){let r=new URL(WE.AZURE_BASE_URL);(0,WE.addAzureParams)(r,t,e);let n=await(0,g_.get)(r,{headers:y_});if(n.status!==200)throw new of.MongoAzureError(`Status code ${n.status} returned from the Azure endpoint. Response body: ${n.body}`);let s=JSON.parse(n.body);return{access_token:s.access_token,expires_in:Number(s.expires_in)}}function D_(t){return t==null||typeof t!="object"?!1:"access_token"in t&&typeof t.access_token=="string"&&"expires_in"in t&&typeof t.expires_in=="number"}});var GE=m(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.GCPMachineWorkflow=void 0;var $E=_(),__=R(),B_=Ec(),b_="http://metadata/computeMetadata/v1/instance/service-accounts/default/identity",T_=Object.freeze({"Metadata-Flavor":"Google"}),F_="TOKEN_RESOURCE must be set in the auth mechanism properties when ENVIRONMENT is gcp.",af=class extends B_.MachineWorkflow{constructor(e){super(e)}async getToken(e){let r=e?.mechanismProperties.TOKEN_RESOURCE;if(!r)throw new $E.MongoGCPError(F_);return await N_(r)}};gc.GCPMachineWorkflow=af;async function N_(t){let e=new URL(b_);e.searchParams.append("audience",t);let r=await(0,__.get)(e,{headers:T_});if(r.status!==200)throw new $E.MongoGCPError(`Status code ${r.status} returned from the GCP endpoint. Response body: ${r.body}`);return{access_token:r.body}}});var lf=m(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.TokenCache=void 0;var R_=_(),H1=class extends R_.MongoDriverError{},cf=class{get hasAccessToken(){return!!this.accessToken}get hasRefreshToken(){return!!this.refreshToken}get hasIdpInfo(){return!!this.idpInfo}getAccessToken(){if(!this.accessToken)throw new H1("Attempted to get an access token when none exists.");return this.accessToken}getRefreshToken(){if(!this.refreshToken)throw new H1("Attempted to get a refresh token when none exists.");return this.refreshToken}getIdpInfo(){if(!this.idpInfo)throw new H1("Attempted to get IDP information when none exists.");return this.idpInfo}put(e,r){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expiresInSeconds=e.expiresInSeconds,r&&(this.idpInfo=r)}removeAccessToken(){this.accessToken=void 0}removeRefreshToken(){this.refreshToken=void 0}};Cc.TokenCache=cf});var HE=m(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.TokenMachineWorkflow=void 0;var M_=x("fs"),I_=_(),v_=Ec(),P_="OIDC_TOKEN_FILE must be set in the environment.",hf=class extends v_.MachineWorkflow{constructor(e){super(e)}async getToken(){let e=process.env.OIDC_TOKEN_FILE;if(!e)throw new I_.MongoAWSError(P_);return{access_token:await M_.promises.readFile(e,"utf8")}}};yc.TokenMachineWorkflow=hf});var Sc=m(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.MongoDBOIDC=hr.OIDC_WORKFLOWS=hr.OIDC_VERSION=void 0;var YE=_(),L_=Vr(),x_=VE(),k_=GE(),ff=lf(),q_=HE(),U_="AuthContext must provide credentials.";hr.OIDC_VERSION=1;hr.OIDC_WORKFLOWS=new Map;hr.OIDC_WORKFLOWS.set("test",()=>new q_.TokenMachineWorkflow(new ff.TokenCache));hr.OIDC_WORKFLOWS.set("azure",()=>new x_.AzureMachineWorkflow(new ff.TokenCache));hr.OIDC_WORKFLOWS.set("gcp",()=>new k_.GCPMachineWorkflow(new ff.TokenCache));var df=class extends L_.AuthProvider{constructor(e){if(super(),!e)throw new YE.MongoInvalidArgumentError("No workflow provided to the OIDC auth provider.");this.workflow=e}async auth(e){let{connection:r,reauthenticating:n,response:s}=e;if(s?.speculativeAuthenticate?.done)return;let o=KE(e);n?await this.workflow.reauthenticate(r,o):await this.workflow.execute(r,o,s)}async prepare(e,r){let{connection:n}=r,s=KE(r),o=await this.workflow.speculativeAuth(n,s);return{...e,...o}}};hr.MongoDBOIDC=df;function KE(t){let{credentials:e}=t;if(!e)throw new YE.MongoMissingCredentialsError(U_);return e}});var Af=m(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.CallbackWorkflow=qn.AUTOMATED_TIMEOUT_MS=qn.HUMAN_TIMEOUT_MS=void 0;var j_=x("timers/promises"),z_=_(),XE=R(),pf=rf();qn.HUMAN_TIMEOUT_MS=3e5;qn.AUTOMATED_TIMEOUT_MS=6e4;var W_=["accessToken","expiresInSeconds","refreshToken"],V_="User provided OIDC callbacks must return a valid object with an accessToken.",mf=100,Ef=class{constructor(e,r){this.cache=e,this.callback=this.withLock(r),this.lastExecutionTime=Date.now()-mf}async speculativeAuth(e,r){if(this.cache.hasAccessToken){let n=this.cache.getAccessToken();e.accessToken=n;let s=(0,pf.finishCommandDocument)(n);return s.db=r.source,{speculativeAuthenticate:s}}return{}}async reauthenticate(e,r){this.cache.hasAccessToken&&(e.accessToken===this.cache.getAccessToken()?(this.cache.removeAccessToken(),delete e.accessToken):e.accessToken=this.cache.getAccessToken()),await this.execute(e,r)}async startAuthentication(e,r,n){let s;return n?.speculativeAuthenticate?s=n.speculativeAuthenticate:s=await e.command((0,XE.ns)(r.source),(0,pf.startCommandDocument)(r),void 0),s}async finishAuthentication(e,r,n,s){await e.command((0,XE.ns)(r.source),(0,pf.finishCommandDocument)(n,s),void 0)}async executeAndValidateCallback(e){let r=await this.callback(e);if($_(r))throw new z_.MongoMissingCredentialsError(V_);return r}withLock(e){let r=Promise.resolve();return async n=>(await r,r=r.catch(()=>null).then(async()=>{let s=Date.now()-this.lastExecutionTime;return s<=mf&&await(0,j_.setTimeout)(mf-s,{signal:n.timeoutContext}),this.lastExecutionTime=Date.now(),await e(n)}),await r)}};qn.CallbackWorkflow=Ef;function $_(t){return t==null||typeof t!="object"||!("accessToken"in t)?!0:!Object.getOwnPropertyNames(t).every(e=>W_.includes(e))}});var QE=m(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.AutomatedCallbackWorkflow=void 0;var gf=_(),JE=U1(),G_=Sc(),Cf=Af(),yf=class extends Cf.CallbackWorkflow{constructor(e,r){super(e,r)}async execute(e,r){if(this.cache.hasAccessToken){let s=this.cache.getAccessToken();try{return await this.finishAuthentication(e,r,s)}catch(o){if(o instanceof gf.MongoError&&o.code===gf.MONGODB_ERROR_CODES.AuthenticationFailed)return this.cache.removeAccessToken(),await this.execute(e,r);throw o}}let n=await this.fetchAccessToken(r);this.cache.put(n),e.accessToken=n.accessToken,await this.finishAuthentication(e,r,n.accessToken)}async fetchAccessToken(e){let r=new AbortController,n={timeoutContext:r.signal,version:G_.OIDC_VERSION};e.username&&(n.username=e.username);let s=JE.Timeout.expires(Cf.AUTOMATED_TIMEOUT_MS);try{return await Promise.race([this.executeAndValidateCallback(n),s])}catch(o){throw JE.TimeoutError.is(o)?(r.abort(),new gf.MongoOIDCError(`OIDC callback timed out after ${Cf.AUTOMATED_TIMEOUT_MS}ms.`)):o}finally{s.clear()}}};Oc.AutomatedCallbackWorkflow=yf});var e9=m(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.HumanCallbackWorkflow=void 0;var H_=Jo(),K1=_(),ZE=U1(),K_=Sc(),Sf=Af(),Of=class extends Sf.CallbackWorkflow{constructor(e,r){super(e,r)}async execute(e,r){if(this.cache.hasAccessToken){let u=this.cache.getAccessToken();e.accessToken=u;try{return await this.finishAuthentication(e,r,u)}catch(a){if(a instanceof K1.MongoError&&a.code===K1.MONGODB_ERROR_CODES.AuthenticationFailed)return this.cache.removeAccessToken(),delete e.accessToken,await this.execute(e,r);throw a}}if(this.cache.hasRefreshToken){let u=this.cache.getRefreshToken(),a=await this.fetchAccessToken(this.cache.getIdpInfo(),r,u);this.cache.put(a),e.accessToken=a.accessToken;try{return await this.finishAuthentication(e,r,a.accessToken)}catch(c){if(c instanceof K1.MongoError&&c.code===K1.MONGODB_ERROR_CODES.AuthenticationFailed)return this.cache.removeRefreshToken(),delete e.accessToken,await this.execute(e,r);throw c}}let n=await this.startAuthentication(e,r),s=n.conversationId,o=H_.BSON.deserialize(n.payload.buffer),i=await this.fetchAccessToken(o,r);return this.cache.put(i,o),e.accessToken=i.accessToken,await this.finishAuthentication(e,r,i.accessToken,s)}async fetchAccessToken(e,r,n){let s=new AbortController,o={timeoutContext:s.signal,version:K_.OIDC_VERSION,idpInfo:e};r.username&&(o.username=r.username),n&&(o.refreshToken=n);let i=ZE.Timeout.expires(Sf.HUMAN_TIMEOUT_MS);try{return await Promise.race([this.executeAndValidateCallback(o),i])}catch(u){throw ZE.TimeoutError.is(u)?(s.abort(),new K1.MongoOIDCError(`OIDC callback timed out after ${Sf.HUMAN_TIMEOUT_MS}ms.`)):u}finally{i.clear()}}};wc.HumanCallbackWorkflow=Of});var t9=m(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.Plain=void 0;var Y_=ne(),X_=_(),J_=R(),Q_=Vr(),wf=class extends Q_.AuthProvider{async auth(e){let{connection:r,credentials:n}=e;if(!n)throw new X_.MongoMissingCredentialsError("AuthContext must provide credentials.");let{username:s,password:o}=n,u={saslStart:1,mechanism:"PLAIN",payload:new Y_.Binary(Buffer.from(`\0${s}\0${o}`)),autoAuthorize:1};await r.command((0,J_.ns)("$external.$cmd"),u,void 0)}};Dc.Plain=wf});var o9=m((gR,s9)=>{"use strict";var r9=t=>t.codePointAt(0),Z_=t=>t[0],eB=t=>t[t.length-1];function n9(t){let e=[],r=t.length;for(let n=0;n<r;n+=1){let s=t.charCodeAt(n);if(s>=55296&&s<=56319&&r>n+1){let o=t.charCodeAt(n+1);if(o>=56320&&o<=57343){e.push((s-55296)*1024+o-56320+65536),n+=1;continue}}e.push(s)}return e}function Y1({unassigned_code_points:t,commonly_mapped_to_nothing:e,non_ASCII_space_characters:r,prohibited_characters:n,bidirectional_r_al:s,bidirectional_l:o},i,u={}){let a=r,c=e;if(typeof i!="string")throw new TypeError("Expected string.");if(i.length===0)return"";let l=n9(i).map(T=>a.get(T)?32:T).filter(T=>!c.get(T)),h=String.fromCodePoint.apply(null,l).normalize("NFKC"),f=n9(h);if(f.some(T=>n.get(T)))throw new Error("Prohibited character, see https://tools.ietf.org/html/rfc4013#section-2.3");if(u.allowUnassigned!==!0&&f.some(J=>t.get(J)))throw new Error("Unassigned code point, see https://tools.ietf.org/html/rfc4013#section-2.5");let y=f.some(T=>s.get(T)),F=f.some(T=>o.get(T));if(y&&F)throw new Error("String must not contain RandALCat and LCat at the same time, see https://tools.ietf.org/html/rfc3454#section-6");let I=s.get(r9(Z_(h))),D=s.get(r9(eB(h)));if(y&&!(I&&D))throw new Error("Bidirectional RandALCat character must be the first and the last character of the string, see https://tools.ietf.org/html/rfc3454#section-6");return h}Y1.saslprep=Y1;Y1.default=Y1;s9.exports=Y1});var a9=m((CR,u9)=>{u9.exports=rn;function rn(t,e){if(!(this instanceof rn))return new rn(t,e);this.length=0,this.updates=[],this.path=new Uint16Array(4),this.pages=new Array(32768),this.maxPages=this.pages.length,this.level=0,this.pageSize=t||1024,this.deduplicate=e?e.deduplicate:null,this.zeros=this.deduplicate?_c(this.deduplicate.length):null}rn.prototype.updated=function(t){for(;this.deduplicate&&t.buffer[t.deduplicate]===this.deduplicate[t.deduplicate];)if(t.deduplicate++,t.deduplicate===this.deduplicate.length){t.deduplicate=0,t.buffer.equals&&t.buffer.equals(this.deduplicate)&&(t.buffer=this.deduplicate);break}t.updated||!this.updates||(t.updated=!0,this.updates.push(t))};rn.prototype.lastUpdate=function(){if(!this.updates||!this.updates.length)return null;var t=this.updates.pop();return t.updated=!1,t};rn.prototype._array=function(t,e){if(t>=this.maxPages){if(e)return;tB(this,t)}sB(t,this.path);for(var r=this.pages,n=this.level;n>0;n--){var s=this.path[n],o=r[s];if(!o){if(e)return;o=r[s]=new Array(32768)}r=o}return r};rn.prototype.get=function(t,e){var r=this._array(t,e),n=this.path[0],s=r&&r[n];return!s&&!e&&(s=r[n]=new i9(t,_c(this.pageSize)),t>=this.length&&(this.length=t+1)),s&&s.buffer===this.deduplicate&&this.deduplicate&&!e&&(s.buffer=nB(s.buffer),s.deduplicate=0),s};rn.prototype.set=function(t,e){var r=this._array(t,!1),n=this.path[0];if(t>=this.length&&(this.length=t+1),!e||this.zeros&&e.equals&&e.equals(this.zeros)){r[n]=void 0;return}this.deduplicate&&e.equals&&e.equals(this.deduplicate)&&(e=this.deduplicate);var s=r[n],o=rB(e,this.pageSize);s?s.buffer=o:r[n]=new i9(t,o)};rn.prototype.toBuffer=function(){for(var t=new Array(this.length),e=_c(this.pageSize),r=0;r<t.length;)for(var n=this._array(r,!0),s=0;s<32768&&r<t.length;s++)t[r++]=n&&n[s]?n[s].buffer:e;return Buffer.concat(t)};function tB(t,e){for(;t.maxPages<e;){var r=t.pages;t.pages=new Array(32768),t.pages[0]=r,t.level++,t.maxPages*=32768}}function rB(t,e){if(t.length===e)return t;if(t.length>e)return t.slice(0,e);var r=_c(e);return t.copy(r),r}function _c(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e}function nB(t){var e=Buffer.allocUnsafe?Buffer.allocUnsafe(t.length):new Buffer(t.length);return t.copy(e),e}function i9(t,e){this.offset=t*e.length,this.buffer=e,this.updated=!1,this.deduplicate=0}function sB(t,e){t=(t-(e[0]=t&32767))/32768,t=(t-(e[1]=t&32767))/32768,e[3]=(t-(e[2]=t&32767))/32768&32767}});var l9=m((yR,c9)=>{var oB=a9();c9.exports=Un;function Un(t){if(!(this instanceof Un))return new Un(t);if(t||(t={}),Buffer.isBuffer(t)&&(t={buffer:t}),this.pageOffset=t.pageOffset||0,this.pageSize=t.pageSize||1024,this.pages=t.pages||oB(this.pageSize),this.byteLength=this.pages.length*this.pageSize,this.length=8*this.byteLength,!uB(this.pageSize))throw new Error("The page size should be a power of two");if(this._trackUpdates=!!t.trackUpdates,this._pageMask=this.pageSize-1,t.buffer){for(var e=0;e<t.buffer.length;e+=this.pageSize)this.pages.set(e/this.pageSize,t.buffer.slice(e,e+this.pageSize));this.byteLength=t.buffer.length,this.length=8*this.byteLength}}Un.prototype.get=function(t){var e=t&7,r=(t-e)/8;return!!(this.getByte(r)&128>>e)};Un.prototype.getByte=function(t){var e=t&this._pageMask,r=(t-e)/this.pageSize,n=this.pages.get(r,!0);return n?n.buffer[e+this.pageOffset]:0};Un.prototype.set=function(t,e){var r=t&7,n=(t-r)/8,s=this.getByte(n);return this.setByte(n,e?s|128>>r:s&(255^128>>r))};Un.prototype.toBuffer=function(){for(var t=iB(this.pages.length*this.pageSize),e=0;e<this.pages.length;e++){var r=this.pages.get(e,!0),n=e*this.pageSize;r&&r.buffer.copy(t,n,this.pageOffset,this.pageOffset+this.pageSize)}return t};Un.prototype.setByte=function(t,e){var r=t&this._pageMask,n=(t-r)/this.pageSize,s=this.pages.get(n,!1);return r+=this.pageOffset,s.buffer[r]===e?!1:(s.buffer[r]=e,t>=this.byteLength&&(this.byteLength=t+1,this.length=this.byteLength*8),this._trackUpdates&&this.pages.updated(s),!0)};function iB(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e}function uB(t){return!(t&t-1)}});var h9=m(vo=>{"use strict";var aB=vo&&vo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vo,"__esModule",{value:!0});vo.createMemoryCodePoints=void 0;var cB=aB(l9());function lB(t){let e=0;function r(){let c=t.readUInt32BE(e);e+=4;let l=t.slice(e,e+c);return e+=c,(0,cB.default)({buffer:l})}let n=r(),s=r(),o=r(),i=r(),u=r(),a=r();return{unassigned_code_points:n,commonly_mapped_to_nothing:s,non_ASCII_space_characters:o,prohibited_characters:i,bidirectional_r_al:u,bidirectional_l:a}}vo.createMemoryCodePoints=lB});var d9=m(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});var hB=x("zlib");Df.default=(0,hB.gunzipSync)(Buffer.from("H4sIAAAAAAACA+3dTYgcaRkA4LemO9Mhxm0FITnE9Cwr4jHgwgZ22B6YywqCJ0HQg5CL4sGTuOjCtGSF4CkHEW856MlTQHD3EJnWkU0Owh5VxE3LHlYQdNxd2U6mU59UV/d09fw4M2EySSXPAzNdP1/9fX/99bzVNZEN4jisRDulVFnQmLxm1aXF9Id/2/xMxNJ4XZlg576yuYlGt9gupV6xoFf8jhu9YvulVrFlp5XSx+lfvYhORGPXvqIRWSxERKtIm8bKFd10WNfKDS5Fo9jJWrq2+M2IlW+8uHgl/+BsROfPF4v5L7148Ur68Sha6dqZpYiVVy8tvLCWXo80Sf/lS89dGX2wHGvpzoXVn75/YWH5wmqe8uika82ViJXTy83Ve2k5Urozm38wm4/ls6t5uT6yfsTSJ7J3T0VKt8c5ExEXI8aFkH729c3eT+7EC6ca8cVULZUiYacX0R5PNWNxlh9L1y90q5kyzrpyy+9WcvOV6URntqw7La9sNVstXyczWVaWYbaaTYqzOHpr7pyiNT3/YzKuT63Z/FqKZlFTiuXtFM2vVOtIq7jiyKJbWZaOWD0euz0yoV2Z7kY0xq2x0YhfzVpmM5px9nTEH7JZ0ot5u39p0ma75Z472/s/H+2yr2inYyuq7fMvJivH2rM72N/Z3lyL31F2b1ya1P0zn816k2KP6JU9UzseucdQH5YqVeH/lFajSN2udg+TLJ9rksNxlvV2lki19rXKI43TPLejFu4ov7k3nMbhyhfY3Xb37f8BAGCf0eMTOH5szf154KmnNgKcnLb+Fzi2AfXktbN7fJelwTAiO/W5uQ2KINXRYu+znqo/WTAdLadURHmy3qciazd3bra4T3w16/f7t7Ms9U5gfJu10955sx1r3vmhBAAAAAAAgId20J1iZbDowNvIjuH427Gr5l/eiC+8OplZON8sVjx/qr9y+Pj+YRItT+NqAM+kkZs3AAAAAID6yfx1FwCAI97/dCh1/ub6SA0AAAAAAAAAgNoT/wcAAAAAAACA+hP/BwAAAAAAAID6E/8HAAAAAAAAgPoT/wcAAAAAAACA+hP/BwAAAAAAAID6E/8HAAAAAAAAgPoT/wcAAAAAAACA+hP/BwAAAAAAAID6E/8HAAAAAAAAgPoT/wcAAAAAAACA+hutp5SiQpYAAAAAAAAAQO2MIpZiT804flnAE2fhwjOeAZXr76kOAAAAAAAA8FjNf4N/l0NE3U/vuVQskLpSd4/Yh2xu9xTu0tFeeNYsLI2f/VMdNxTzj6Je9E/+6pp6Nn3awW3A54goe4Bss6v+PGsjQGMAAAAAAOBp5XEgwH6e7J7rwEQHRb/XvAMAAAAAAAA8yzoDeQDwVGjIAgAAAAAAAACoPfF/AAAAAAAAAKg/8X8AAAAAAAAAqD/xfwAAAAAAAACoP/F/AAAAAAAAAKg/8X8AAAAAAAAAqD/xfwAAAAAAAACoP/F/AAAAAAAAAKg/8X8AAAAAAAAAqD/xfwAAAAAAAACoP/F/AAAAAAAAAKg/8X8AAAAAAAAAqL/GSkSkClkCAAAAAAAAALXTSAAAAAAAAABA3Y1kAQAAAAAAAADUX8RSXZ9dsHC9+M8Fg2Ex/em1lAZpEBGttcrVjZqLEa+k0XpKw9mG4zWx4ukPUMhkAQAAAAAAABzBqbSe3//rXOS9HxGdo4TqR2XkutCdBu+LaPZw/lBbO7cbHnh2C7N7AIo4evEznllqLqWUp/LnYOtpM2bnOH66wI1+9GO4sOuISwv/TOlumu56FDv3NZhc4mR9v7zYIrafr40j/Cccvj9Xns3t3mu99E7qxUv3bqS0/ouNH/08++RGemfQ+nsx/5uNXsQPGulynPvv3ZTW37zd+1ovrqaYpP/122X6Xpx779Z3zr/3YOPKW1lkaRDf31pPaf3j/msRsVGkL+d/f+/m4sJsPm1cfSsr16e8m9Ldj/KsnyIuR3nXw83Is3EhxLd/2V773ks3m/cj/THKUummdP9qKhIOImuOU0Xjwb3y+oqt735rpTetVbF9n8R4x9crRfO77TKqVOZpDclv5bfK18lMnk+q0K18UpxF/RrGXE0Zxtqx3tWSj+vxbL4XaasfKb0dRbtLW73JsfPGg177H+OmGKlfvS1msllt7JEJm9XOJqXR+Fkfo1H66uy5H1v3Xx5+uJmGLw9jro2u7Loj4PnuR6+f+e3d261+eazNhzrL7X83MohoHpS4PddV8ki1it61//pw1g7z6p1U/26Nm2llST57B5rUvuG0XqSU/rPd7jYrqWcbd+beJQ77BgPMDwn37/8BAGCf0eMTOH4cPlufv9VGgJOzqf8Fjm1APXkd7B7f5dF57GPMaWy/MTvjvNvtXj6h8W2+GXvnzXaseeeHEgAAAAAAAB7aQXeKlcGiadBoEOeLb2dtpGOL2MyOtf391a3P/zD96c3JzIP3t4oV797vrh8+vn+YRL5bBuj/AQAAAABqJvfHXQAAHkX82zfXAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeAgkAAAAAAAAAqLuRLAAAAAAAAACA2hv9D1iu/VAYaAYA","base64"))});var m9=m((_f,p9)=>{"use strict";var f9=_f&&_f.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},dB=f9(o9()),fB=h9(),pB=f9(d9()),mB=(0,fB.createMemoryCodePoints)(pB.default);function X1(t,e){return(0,dB.default)(mB,t,e)}X1.saslprep=X1;X1.default=X1;p9.exports=X1});var O9=m(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.ScramSHA256=Po.ScramSHA1=void 0;var EB=m9(),ms=x("crypto"),Bf=ne(),dr=_(),Tc=R(),AB=Vr(),E9=wr(),Fc=class extends AB.AuthProvider{constructor(e){super(),this.cryptoMethod=e||"sha1"}async prepare(e,r){let n=this.cryptoMethod,s=r.credentials;if(!s)throw new dr.MongoMissingCredentialsError("AuthContext must provide credentials.");let o=await(0,Tc.randomBytes)(24);return r.nonce=o,{...e,speculativeAuthenticate:{...y9(n,s,o),db:s.source}}}async auth(e){let{reauthenticating:r,response:n}=e;return n?.speculativeAuthenticate&&!r?await S9(this.cryptoMethod,n.speculativeAuthenticate,e):await gB(this.cryptoMethod,e)}};function g9(t){return t.replace("=","=3D").replace(",","=2C")}function C9(t,e){return Buffer.concat([Buffer.from("n=","utf8"),Buffer.from(t,"utf8"),Buffer.from(",r=","utf8"),Buffer.from(e.toString("base64"),"utf8")])}function y9(t,e,r){let n=g9(e.username);return{saslStart:1,mechanism:t==="sha1"?E9.AuthMechanism.MONGODB_SCRAM_SHA1:E9.AuthMechanism.MONGODB_SCRAM_SHA256,payload:new Bf.Binary(Buffer.concat([Buffer.from("n,,","utf8"),C9(n,r)])),autoAuthorize:1,options:{skipEmptyExchange:!0}}}async function gB(t,e){let{connection:r,credentials:n}=e;if(!n)throw new dr.MongoMissingCredentialsError("AuthContext must provide credentials.");if(!e.nonce)throw new dr.MongoInvalidArgumentError("AuthContext must contain a valid nonce property");let s=e.nonce,o=n.source,i=y9(t,n,s),u=await r.command((0,Tc.ns)(`${o}.$cmd`),i,void 0);await S9(t,u,e)}async function S9(t,e,r){let n=r.connection,s=r.credentials;if(!s)throw new dr.MongoMissingCredentialsError("AuthContext must provide credentials.");if(!r.nonce)throw new dr.MongoInvalidArgumentError("Unable to continue SCRAM without valid nonce");let o=r.nonce,i=s.source,u=g9(s.username),a=s.password,c=t==="sha256"?(0,EB.saslprep)(a):CB(u,a),l=Buffer.isBuffer(e.payload)?new Bf.Binary(e.payload):e.payload,h=A9(l),f=parseInt(h.i,10);if(f&&f<4096)throw new dr.MongoRuntimeError(`Server returned an invalid iteration count ${f}`);let S=h.s,y=h.r;if(y.startsWith("nonce"))throw new dr.MongoRuntimeError(`Server returned an invalid nonce: ${y}`);let F=`c=biws,r=${y}`,I=DB(c,Buffer.from(S,"base64"),f,t),D=Bc(t,I,"Client Key"),T=Bc(t,I,"Server Key"),J=SB(t,D),B=[C9(u,o),l.toString("utf8"),F].join(","),ge=Bc(t,J,B),z=`p=${yB(D,ge)}`,L=[F,z].join(","),Ne=Bc(t,T,B),W={saslContinue:1,conversationId:e.conversationId,payload:new Bf.Binary(Buffer.from(L))},N=await n.command((0,Tc.ns)(`${i}.$cmd`),W,void 0),O=A9(N.payload);if(!_B(Buffer.from(O.v,"base64"),Ne))throw new dr.MongoRuntimeError("Server returned an invalid signature");if(N.done!==!1)return;let P={saslContinue:1,conversationId:N.conversationId,payload:Buffer.alloc(0)};await n.command((0,Tc.ns)(`${i}.$cmd`),P,void 0)}function A9(t){let e=t.toString("utf8"),r={},n=e.split(",");for(let s=0;s<n.length;s++){let o=(n[s].match(/^([^=]*)=(.*)$/)??[]).slice(1);r[o[0]]=o[1]}return r}function CB(t,e){if(typeof t!="string")throw new dr.MongoInvalidArgumentError("Username must be a string");if(typeof e!="string")throw new dr.MongoInvalidArgumentError("Password must be a string");if(e.length===0)throw new dr.MongoInvalidArgumentError("Password cannot be empty");let r;try{r=ms.createHash("md5")}catch(n){throw ms.getFips()?new Error("Auth mechanism SCRAM-SHA-1 is not supported in FIPS mode"):n}return r.update(`${t}:mongo:${e}`,"utf8"),r.digest("hex")}function yB(t,e){Buffer.isBuffer(t)||(t=Buffer.from(t)),Buffer.isBuffer(e)||(e=Buffer.from(e));let r=Math.max(t.length,e.length),n=[];for(let s=0;s<r;s+=1)n.push(t[s]^e[s]);return Buffer.from(n).toString("base64")}function SB(t,e){return ms.createHash(t).update(e).digest()}function Bc(t,e,r){return ms.createHmac(t,e).update(r).digest()}var bc={},bf=0;function OB(){bc={},bf=0}var wB={sha256:32,sha1:20};function DB(t,e,r,n){let s=[t,e.toString("base64"),r].join("_");if(bc[s]!=null)return bc[s];let o=ms.pbkdf2Sync(t,e,r,wB[n],n);return bf>=200&&OB(),bc[s]=o,bf+=1,o}function _B(t,e){if(t.length!==e.length)return!1;if(typeof ms.timingSafeEqual=="function")return ms.timingSafeEqual(t,e);let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}var Tf=class extends Fc{constructor(){super("sha1")}};Po.ScramSHA1=Tf;var Ff=class extends Fc{constructor(){super("sha256")}};Po.ScramSHA256=Ff});var _9=m(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.X509=void 0;var w9=_(),BB=R(),bB=Vr(),Nf=class extends bB.AuthProvider{async prepare(e,r){let{credentials:n}=r;if(!n)throw new w9.MongoMissingCredentialsError("AuthContext must provide credentials.");return{...e,speculativeAuthenticate:D9(n)}}async auth(e){let r=e.connection,n=e.credentials;if(!n)throw new w9.MongoMissingCredentialsError("AuthContext must provide credentials.");e.response?.speculativeAuthenticate||await r.command((0,BB.ns)("$external.$cmd"),D9(n),void 0)}};Nc.X509=Nf;function D9(t){let e={authenticate:1,mechanism:"MONGODB-X509"};return t.username&&(e.user=t.username),e}});var Mf=m(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.MongoClientAuthProviders=void 0;var TB=fa(),FB=qE(),NB=UE(),F9=Sc(),RB=QE(),MB=e9(),B9=lf(),IB=t9(),nn=wr(),b9=O9(),vB=_9(),T9=_(),PB=new Map([[nn.AuthMechanism.MONGODB_AWS,()=>new NB.MongoDBAWS],[nn.AuthMechanism.MONGODB_CR,()=>new FB.MongoCR],[nn.AuthMechanism.MONGODB_GSSAPI,()=>new TB.GSSAPI],[nn.AuthMechanism.MONGODB_OIDC,t=>new F9.MongoDBOIDC(t)],[nn.AuthMechanism.MONGODB_PLAIN,()=>new IB.Plain],[nn.AuthMechanism.MONGODB_SCRAM_SHA1,()=>new b9.ScramSHA1],[nn.AuthMechanism.MONGODB_SCRAM_SHA256,()=>new b9.ScramSHA256],[nn.AuthMechanism.MONGODB_X509,()=>new vB.X509]]),Rf=class{constructor(){this.existingProviders=new Map}getOrCreateProvider(e,r){let n=this.existingProviders.get(e);if(n)return n;let s=PB.get(e);if(!s)throw new T9.MongoInvalidArgumentError(`authMechanism ${e} not supported`);let o;return e===nn.AuthMechanism.MONGODB_OIDC?o=s(this.getWorkflow(r)):o=s(),this.existingProviders.set(e,o),o}getWorkflow(e){if(e.OIDC_HUMAN_CALLBACK)return new MB.HumanCallbackWorkflow(new B9.TokenCache,e.OIDC_HUMAN_CALLBACK);if(e.OIDC_CALLBACK)return new RB.AutomatedCallbackWorkflow(new B9.TokenCache,e.OIDC_CALLBACK);{let r=e.ENVIRONMENT,n=F9.OIDC_WORKFLOWS.get(r)?.();if(!n)throw new T9.MongoInvalidArgumentError(`Could not load workflow for environment ${e.ENVIRONMENT}`);return n}}};Rc.MongoClientAuthProviders=Rf});var xf=m(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.WaitingForSuitableServerEvent=Ht.ServerSelectionSucceededEvent=Ht.ServerSelectionFailedEvent=Ht.ServerSelectionStartedEvent=Ht.ServerSelectionEvent=void 0;var LB=R(),Mc=Be(),Es=class{constructor(e,r,n){this.selector=e,this.operation=n,this.topologyDescription=r}};Ht.ServerSelectionEvent=Es;var If=class extends Es{constructor(e,r,n){super(e,r,n),this.name=Mc.SERVER_SELECTION_STARTED,this.message="Server selection started"}};Ht.ServerSelectionStartedEvent=If;var vf=class extends Es{constructor(e,r,n,s){super(e,r,s),this.name=Mc.SERVER_SELECTION_FAILED,this.message="Server selection failed",this.failure=n}};Ht.ServerSelectionFailedEvent=vf;var Pf=class extends Es{constructor(e,r,n,s){super(e,r,s),this.name=Mc.SERVER_SELECTION_SUCCEEDED,this.message="Server selection succeeded";let{host:o,port:i}=LB.HostAddress.fromString(n).toHostPort();this.serverHost=o,this.serverPort=i}};Ht.ServerSelectionSucceededEvent=Pf;var Lf=class extends Es{constructor(e,r,n,s){super(e,r,s),this.name=Mc.WAITING_FOR_SUITABLE_SERVER,this.message="Waiting for suitable server to become available",this.remainingTimeMS=n}};Ht.WaitingForSuitableServerEvent=Lf});var Uf=m(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.SrvPoller=Lo.SrvPollingEvent=void 0;var xB=x("dns"),kf=x("timers"),kB=_(),qB=bt(),qf=R(),Ic=class{constructor(e){this.srvRecords=e}hostnames(){return new Set(this.srvRecords.map(e=>qf.HostAddress.fromSrvRecord(e).toString()))}};Lo.SrvPollingEvent=Ic;var vc=class t extends qB.TypedEventEmitter{constructor(e){if(super(),!e||!e.srvHost)throw new kB.MongoRuntimeError("Options for SrvPoller must exist and include srvHost");this.srvHost=e.srvHost,this.srvMaxHosts=e.srvMaxHosts??0,this.srvServiceName=e.srvServiceName??"mongodb",this.rescanSrvIntervalMS=6e4,this.heartbeatFrequencyMS=e.heartbeatFrequencyMS??1e4,this.haMode=!1,this.generation=0,this._timeout=void 0}get srvAddress(){return`_${this.srvServiceName}._tcp.${this.srvHost}`}get intervalMS(){return this.haMode?this.heartbeatFrequencyMS:this.rescanSrvIntervalMS}start(){this._timeout||this.schedule()}stop(){this._timeout&&((0,kf.clearTimeout)(this._timeout),this.generation+=1,this._timeout=void 0)}schedule(){this._timeout&&(0,kf.clearTimeout)(this._timeout),this._timeout=(0,kf.setTimeout)(()=>{this._poll().then(void 0,qf.squashError)},this.intervalMS)}success(e){this.haMode=!1,this.schedule(),this.emit(t.SRV_RECORD_DISCOVERY,new Ic(e))}failure(){this.haMode=!0,this.schedule()}async _poll(){let e=this.generation,r;try{r=await xB.promises.resolveSrv(this.srvAddress)}catch{this.failure();return}if(e!==this.generation)return;let n=[];for(let s of r)(0,qf.matchesParentDomain)(s.name,this.srvHost)&&n.push(s);if(!n.length){this.failure();return}this.success(n)}};vc.SRV_RECORD_DISCOVERY="srvRecordDiscovery";Lo.SrvPoller=vc});var q9=m(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.ServerCapabilities=xo.Topology=void 0;var N9=Yd(),yt=Be(),on=_(),Oe=os(),UB=bt(),J1=xe(),R9=U1(),Kt=R(),$=wt(),jn=Xa(),M9=qd(),zf=p1(),jf=r1(),zn=xf(),Pc=Uf(),I9=Yl(),jB=0,Q1=(0,Kt.makeStateMachine)({[$.STATE_CLOSED]:[$.STATE_CLOSED,$.STATE_CONNECTING],[$.STATE_CONNECTING]:[$.STATE_CONNECTING,$.STATE_CLOSING,$.STATE_CONNECTED,$.STATE_CLOSED],[$.STATE_CONNECTED]:[$.STATE_CONNECTED,$.STATE_CLOSING,$.STATE_CLOSED],[$.STATE_CLOSING]:[$.STATE_CLOSING,$.STATE_CLOSED]}),Wf=Symbol("cancelled"),sn=Symbol("waitQueue"),st=class t extends UB.TypedEventEmitter{constructor(e,r,n){super(),this.client=e,n=n??{hosts:[Kt.HostAddress.fromString("localhost:27017")],...Object.fromEntries(N9.DEFAULT_OPTIONS.entries()),...Object.fromEntries(N9.FEATURE_FLAGS.entries())},typeof r=="string"?r=[Kt.HostAddress.fromString(r)]:Array.isArray(r)||(r=[r]);let s=[];for(let c of r)if(typeof c=="string")s.push(Kt.HostAddress.fromString(c));else if(c instanceof Kt.HostAddress)s.push(c);else throw new on.MongoRuntimeError(`Topology cannot be constructed from ${JSON.stringify(c)}`);let o=zB(n),i=jB++,u=n.srvMaxHosts==null||n.srvMaxHosts===0||n.srvMaxHosts>=s.length?s:(0,Kt.shuffle)(s,n.srvMaxHosts),a=new Map;for(let c of u)a.set(c.toString(),new zf.ServerDescription(c));this[sn]=new Kt.List,this.s={id:i,options:n,seedlist:s,state:$.STATE_CLOSED,description:new I9.TopologyDescription(o,a,n.replicaSet,void 0,void 0,void 0,n),serverSelectionTimeoutMS:n.serverSelectionTimeoutMS,heartbeatFrequencyMS:n.heartbeatFrequencyMS,minHeartbeatFrequencyMS:n.minHeartbeatFrequencyMS,servers:new Map,credentials:n?.credentials,clusterTime:void 0,connectionTimers:new Set,detectShardedTopology:c=>this.detectShardedTopology(c),detectSrvRecords:c=>this.detectSrvRecords(c)},this.mongoLogger=e.mongoLogger,this.component="topology",n.srvHost&&!n.loadBalanced&&(this.s.srvPoller=n.srvPoller??new Pc.SrvPoller({heartbeatFrequencyMS:this.s.heartbeatFrequencyMS,srvHost:n.srvHost,srvMaxHosts:n.srvMaxHosts,srvServiceName:n.srvServiceName}),this.on(t.TOPOLOGY_DESCRIPTION_CHANGED,this.s.detectShardedTopology)),this.connectionLock=void 0}detectShardedTopology(e){let r=e.previousDescription.type,n=e.newDescription.type,s=r!==$.TopologyType.Sharded&&n===$.TopologyType.Sharded,i=!!this.s.srvPoller?.listeners(Pc.SrvPoller.SRV_RECORD_DISCOVERY)?.includes(this.s.detectSrvRecords);s&&!i&&(this.s.srvPoller?.on(Pc.SrvPoller.SRV_RECORD_DISCOVERY,this.s.detectSrvRecords),this.s.srvPoller?.start())}detectSrvRecords(e){let r=this.s.description;this.s.description=this.s.description.updateFromSrvPollingEvent(e,this.s.options.srvMaxHosts),this.s.description!==r&&(v9(this),this.emitAndLog(t.TOPOLOGY_DESCRIPTION_CHANGED,new jn.TopologyDescriptionChangedEvent(this.s.id,r,this.s.description)))}get description(){return this.s.description}get loadBalanced(){return this.s.options.loadBalanced}get serverApi(){return this.s.options.serverApi}get capabilities(){return new Lc(this.lastHello())}async connect(e){this.connectionLock??=this._connect(e);try{return await this.connectionLock,this}finally{this.connectionLock=void 0}return this}async _connect(e){if(e=e??{},this.s.state===$.STATE_CONNECTED)return this;Q1(this,$.STATE_CONNECTING),this.emitAndLog(t.TOPOLOGY_OPENING,new jn.TopologyOpeningEvent(this.s.id)),this.emitAndLog(t.TOPOLOGY_DESCRIPTION_CHANGED,new jn.TopologyDescriptionChangedEvent(this.s.id,new I9.TopologyDescription($.TopologyType.Unknown),this.s.description));let r=Array.from(this.s.description.servers.values());if(this.s.servers=new Map(r.map(o=>[o.address,x9(this,o)])),this.s.options.loadBalanced)for(let o of r){let i=new zf.ServerDescription(o.hostAddress,void 0,{loadBalanced:this.s.options.loadBalanced});this.serverUpdateHandler(i)}let n=e.readPreference??J1.ReadPreference.primary,s={operationName:"ping",...e};try{let o=await this.selectServer((0,jf.readPreferenceServerSelector)(n),s);return!(this.s.options[Symbol.for("@@mdb.skipPingOnConnect")]===!0)&&o&&this.s.credentials?(await o.command((0,Kt.ns)("admin.$cmd"),{ping:1},{}),Q1(this,$.STATE_CONNECTED),this.emit(t.OPEN,this),this.emit(t.CONNECT,this),this):(Q1(this,$.STATE_CONNECTED),this.emit(t.OPEN,this),this.emit(t.CONNECT,this),this)}catch(o){throw this.close(),o}}close(){if(!(this.s.state===$.STATE_CLOSED||this.s.state===$.STATE_CLOSING)){for(let e of this.s.servers.values())L9(e,this);this.s.servers.clear(),Q1(this,$.STATE_CLOSING),k9(this[sn],new on.MongoTopologyClosedError),(0,$.drainTimerQueue)(this.s.connectionTimers),this.s.srvPoller&&(this.s.srvPoller.stop(),this.s.srvPoller.removeListener(Pc.SrvPoller.SRV_RECORD_DISCOVERY,this.s.detectSrvRecords)),this.removeListener(t.TOPOLOGY_DESCRIPTION_CHANGED,this.s.detectShardedTopology),Q1(this,$.STATE_CLOSED),this.emitAndLog(t.TOPOLOGY_CLOSED,new jn.TopologyClosedEvent(this.s.id))}}async selectServer(e,r){let n;if(typeof e!="function")if(typeof e=="string")n=(0,jf.readPreferenceServerSelector)(J1.ReadPreference.fromString(e));else{let f;e instanceof J1.ReadPreference?f=e:(J1.ReadPreference.translate(r),f=r.readPreference||J1.ReadPreference.primary),n=(0,jf.readPreferenceServerSelector)(f)}else n=e;r={serverSelectionTimeoutMS:this.s.serverSelectionTimeoutMS,...r},this.client.mongoLogger?.willLog(Oe.MongoLoggableComponent.SERVER_SELECTION,Oe.SeverityLevel.DEBUG)&&this.client.mongoLogger?.debug(Oe.MongoLoggableComponent.SERVER_SELECTION,new zn.ServerSelectionStartedEvent(e,this.description,r.operationName));let s=this.description.type===$.TopologyType.Sharded,o=r.session,i=o&&o.transaction;if(s&&i&&i.server)return this.client.mongoLogger?.willLog(Oe.MongoLoggableComponent.SERVER_SELECTION,Oe.SeverityLevel.DEBUG)&&this.client.mongoLogger?.debug(Oe.MongoLoggableComponent.SERVER_SELECTION,new zn.ServerSelectionSucceededEvent(e,this.description,i.server.pool.address,r.operationName)),i.server;let{promise:u,resolve:a,reject:c}=(0,Kt.promiseWithResolvers)(),l=R9.Timeout.expires(r.serverSelectionTimeoutMS??0),h={serverSelector:n,topologyDescription:this.description,mongoLogger:this.client.mongoLogger,transaction:i,resolve:a,reject:c,timeout:l,startTime:(0,Kt.now)(),operationName:r.operationName,waitingLogged:!1,previousServer:r.previousServer};this[sn].push(h),P9(this);try{return await Promise.race([u,h.timeout])}catch(f){if(R9.TimeoutError.is(f)){h[Wf]=!0,l.clear();let S=new on.MongoServerSelectionError(`Server selection timed out after ${r.serverSelectionTimeoutMS} ms`,this.description);throw this.client.mongoLogger?.willLog(Oe.MongoLoggableComponent.SERVER_SELECTION,Oe.SeverityLevel.DEBUG)&&this.client.mongoLogger?.debug(Oe.MongoLoggableComponent.SERVER_SELECTION,new zn.ServerSelectionFailedEvent(e,this.description,S,r.operationName)),S}throw f}}serverUpdateHandler(e){if(!this.s.description.hasServer(e.address)||WB(this.s.description,e))return;let r=this.s.description,n=this.s.description.servers.get(e.address);if(!n)return;let s=e.$clusterTime;s&&(0,$._advanceClusterTime)(this,s);let o=n&&n.equals(e);if(this.s.description=this.s.description.update(e),this.s.description.compatibilityError){this.emit(t.ERROR,new on.MongoCompatibilityError(this.s.description.compatibilityError));return}if(!o){let i=this.s.description.servers.get(e.address);i&&this.emit(t.SERVER_DESCRIPTION_CHANGED,new jn.ServerDescriptionChangedEvent(this.s.id,e.address,n,i))}v9(this,e),this[sn].length>0&&P9(this),o||this.emitAndLog(t.TOPOLOGY_DESCRIPTION_CHANGED,new jn.TopologyDescriptionChangedEvent(this.s.id,r,this.s.description))}auth(e,r){typeof e=="function"&&(r=e,e=void 0),typeof r=="function"&&r(void 0,!0)}get clientMetadata(){return this.s.options.metadata}isConnected(){return this.s.state===$.STATE_CONNECTED}isDestroyed(){return this.s.state===$.STATE_CLOSED}lastHello(){let e=Array.from(this.description.servers.values());return e.length===0?{}:e.filter(s=>s.type!==$.ServerType.Unknown)[0]||{maxWireVersion:this.description.commonWireVersion}}get commonWireVersion(){return this.description.commonWireVersion}get logicalSessionTimeoutMinutes(){return this.description.logicalSessionTimeoutMinutes}get clusterTime(){return this.s.clusterTime}set clusterTime(e){this.s.clusterTime=e}};st.SERVER_OPENING=yt.SERVER_OPENING;st.SERVER_CLOSED=yt.SERVER_CLOSED;st.SERVER_DESCRIPTION_CHANGED=yt.SERVER_DESCRIPTION_CHANGED;st.TOPOLOGY_OPENING=yt.TOPOLOGY_OPENING;st.TOPOLOGY_CLOSED=yt.TOPOLOGY_CLOSED;st.TOPOLOGY_DESCRIPTION_CHANGED=yt.TOPOLOGY_DESCRIPTION_CHANGED;st.ERROR=yt.ERROR;st.OPEN=yt.OPEN;st.CONNECT=yt.CONNECT;st.CLOSE=yt.CLOSE;st.TIMEOUT=yt.TIMEOUT;xo.Topology=st;function L9(t,e){for(let r of yt.LOCAL_SERVER_EVENTS)t.removeAllListeners(r);t.destroy(),e.emitAndLog(st.SERVER_CLOSED,new jn.ServerClosedEvent(e.s.id,t.description.address));for(let r of yt.SERVER_RELAY_EVENTS)t.removeAllListeners(r)}function zB(t){return t?.directConnection?$.TopologyType.Single:t?.replicaSet?$.TopologyType.ReplicaSetNoPrimary:t?.loadBalanced?$.TopologyType.LoadBalanced:$.TopologyType.Unknown}function x9(t,e){t.emitAndLog(st.SERVER_OPENING,new jn.ServerOpeningEvent(t.s.id,e.address));let r=new M9.Server(t,e,t.s.options);for(let n of yt.SERVER_RELAY_EVENTS)r.on(n,s=>t.emit(n,s));return r.on(M9.Server.DESCRIPTION_RECEIVED,n=>t.serverUpdateHandler(n)),r.connect(),r}function v9(t,e){if(e&&t.s.servers.has(e.address)){let r=t.s.servers.get(e.address);if(r){if(r.s.description=e,e.error instanceof on.MongoError&&e.error.hasErrorLabel(on.MongoErrorLabel.ResetPool)){let n=e.error.hasErrorLabel(on.MongoErrorLabel.InterruptInUseConnections);r.pool.clear({interruptInUseConnections:n})}else if(e.error==null){let n=t.s.description.type;(e.isDataBearing||e.type!==$.ServerType.Unknown&&n===$.TopologyType.Single)&&r.pool.ready()}}}for(let r of t.description.servers.values())if(!t.s.servers.has(r.address)){let n=x9(t,r);t.s.servers.set(r.address,n)}for(let r of t.s.servers){let n=r[0];if(t.description.hasServer(n)||!t.s.servers.has(n))continue;let s=t.s.servers.get(n);t.s.servers.delete(n),s&&L9(s,t)}}function k9(t,e){for(;t.length;){let r=t.shift();r&&(r.timeout.clear(),r[Wf]||(r.mongoLogger?.willLog(Oe.MongoLoggableComponent.SERVER_SELECTION,Oe.SeverityLevel.DEBUG)&&r.mongoLogger?.debug(Oe.MongoLoggableComponent.SERVER_SELECTION,new zn.ServerSelectionFailedEvent(r.serverSelector,r.topologyDescription,e,r.operationName)),r.reject(e)))}}function P9(t){if(t.s.state===$.STATE_CLOSED){k9(t[sn],new on.MongoTopologyClosedError);return}let e=t.description.type===$.TopologyType.Sharded,r=Array.from(t.description.servers.values()),n=t[sn].length;for(let s=0;s<n;++s){let o=t[sn].shift();if(!o||o[Wf])continue;let i;try{let c=o.serverSelector,l=o.previousServer;i=c?c(t.description,r,l?[l]:[]):r}catch(c){o.timeout.clear(),t.client.mongoLogger?.willLog(Oe.MongoLoggableComponent.SERVER_SELECTION,Oe.SeverityLevel.DEBUG)&&t.client.mongoLogger?.debug(Oe.MongoLoggableComponent.SERVER_SELECTION,new zn.ServerSelectionFailedEvent(o.serverSelector,t.description,c,o.operationName)),o.reject(c);continue}let u;if(i.length===0){o.waitingLogged||(t.client.mongoLogger?.willLog(Oe.MongoLoggableComponent.SERVER_SELECTION,Oe.SeverityLevel.INFORMATIONAL)&&t.client.mongoLogger?.info(Oe.MongoLoggableComponent.SERVER_SELECTION,new zn.WaitingForSuitableServerEvent(o.serverSelector,t.description,t.s.serverSelectionTimeoutMS!==0?t.s.serverSelectionTimeoutMS-((0,Kt.now)()-o.startTime):-1,o.operationName)),o.waitingLogged=!0),t[sn].push(o);continue}else if(i.length===1)u=t.s.servers.get(i[0].address);else{let c=(0,Kt.shuffle)(i,2),l=t.s.servers.get(c[0].address),h=t.s.servers.get(c[1].address);u=l&&h&&l.s.operationCount<h.s.operationCount?l:h}if(!u){let c=new on.MongoServerSelectionError("server selection returned a server description but the server was not found in the topology",t.description);t.client.mongoLogger?.willLog(Oe.MongoLoggableComponent.SERVER_SELECTION,Oe.SeverityLevel.DEBUG)&&t.client.mongoLogger?.debug(Oe.MongoLoggableComponent.SERVER_SELECTION,new zn.ServerSelectionFailedEvent(o.serverSelector,t.description,c,o.operationName)),o.reject(c);return}let a=o.transaction;e&&a&&a.isActive&&u&&a.pinServer(u),o.timeout.clear(),t.client.mongoLogger?.willLog(Oe.MongoLoggableComponent.SERVER_SELECTION,Oe.SeverityLevel.DEBUG)&&t.client.mongoLogger?.debug(Oe.MongoLoggableComponent.SERVER_SELECTION,new zn.ServerSelectionSucceededEvent(o.serverSelector,o.topologyDescription,u.pool.address,o.operationName)),o.resolve(u)}if(t[sn].length>0)for(let[,s]of t.s.servers)process.nextTick(function(){return s.requestCheck()})}function WB(t,e){let n=t.servers.get(e.address)?.topologyVersion;return(0,zf.compareTopologyVersion)(n,e.topologyVersion)>0}var Lc=class{constructor(e){this.minWireVersion=e.minWireVersion||0,this.maxWireVersion=e.maxWireVersion||0}get hasAggregationCursor(){return this.maxWireVersion>=1}get hasWriteCommands(){return this.maxWireVersion>=2}get hasTextSearch(){return this.minWireVersion>=0}get hasAuthCommands(){return this.maxWireVersion>=1}get hasListCollectionsCommand(){return this.maxWireVersion>=3}get hasListIndexesCommand(){return this.maxWireVersion>=3}get supportsSnapshotReads(){return this.maxWireVersion>=13}get commandsTakeWriteConcern(){return this.maxWireVersion>=5}get commandsTakeCollation(){return this.maxWireVersion>=5}};xo.ServerCapabilities=Lc});var ds=m(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.MongoClient=ko.ServerApiVersion=void 0;var Vf=x("fs"),VB=ne(),$B=Zs(),GB=pa(),HB=wr(),U9=Yd(),KB=Be(),YB=da(),j9=_(),XB=Mf(),z9=os(),JB=bt(),QB=ht(),ZB=Ps(),W9=xe(),eb=r1(),V9=q9(),$9=E1(),at=R();ko.ServerApiVersion=Object.freeze({v1:"1"});var De=Symbol("options"),$f=class extends JB.TypedEventEmitter{constructor(e,r){super(),this[De]=(0,U9.parseOptions)(e,this,r);let n=Object.values(this[De].mongoLoggerOptions.componentSeverities).some(o=>o!==z9.SeverityLevel.OFF);this.mongoLogger=n?new z9.MongoLogger(this[De].mongoLoggerOptions):void 0;let s=this;this.s={url:e,bsonOptions:(0,VB.resolveBSONOptions)(this[De]),namespace:(0,at.ns)("admin"),hasBeenClosed:!1,sessionPool:new $9.ServerSessionPool(this),activeSessions:new Set,authProviders:new XB.MongoClientAuthProviders,get options(){return s[De]},get readConcern(){return s[De].readConcern},get writeConcern(){return s[De].writeConcern},get readPreference(){return s[De].readPreference},get isMongoClient(){return!0}},this.checkForNonGenuineHosts()}checkForNonGenuineHosts(){let e=this[De].hosts.filter(o=>(0,at.isHostMatch)(at.DOCUMENT_DB_CHECK,o.host)),r=(0,at.isHostMatch)(at.DOCUMENT_DB_CHECK,this[De].srvHost),n=this[De].hosts.filter(o=>(0,at.isHostMatch)(at.COSMOS_DB_CHECK,o.host)),s=(0,at.isHostMatch)(at.COSMOS_DB_CHECK,this[De].srvHost);e.length!==0||r?this.mongoLogger?.info("client",at.DOCUMENT_DB_MSG):(n.length!==0||s)&&this.mongoLogger?.info("client",at.COSMOS_DB_MSG)}get options(){return Object.freeze({...this[De]})}get serverApi(){return this[De].serverApi&&Object.freeze({...this[De].serverApi})}get monitorCommands(){return this[De].monitorCommands}set monitorCommands(e){this[De].monitorCommands=e}get autoEncrypter(){return this[De].autoEncrypter}get readConcern(){return this.s.readConcern}get writeConcern(){return this.s.writeConcern}get readPreference(){return this.s.readPreference}get bsonOptions(){return this.s.bsonOptions}async connect(){if(this.connectionLock)return await this.connectionLock;try{this.connectionLock=this._connect(),await this.connectionLock}finally{this.connectionLock=void 0}return this}async _connect(){if(this.topology&&this.topology.isConnected())return this;let e=this[De];if(e.tls&&(typeof e.tlsCAFile=="string"&&(e.ca??=await Vf.promises.readFile(e.tlsCAFile)),typeof e.tlsCRLFile=="string"&&(e.crl??=await Vf.promises.readFile(e.tlsCRLFile)),typeof e.tlsCertificateKeyFile=="string"&&(!e.key||!e.cert))){let n=await Vf.promises.readFile(e.tlsCertificateKeyFile);e.key??=n,e.cert??=n}if(typeof e.srvHost=="string"){let n=await(0,U9.resolveSRVRecord)(e);for(let[s,o]of n.entries())e.hosts[s]=o}if(e.credentials?.mechanism===HB.AuthMechanism.MONGODB_OIDC){let n=e.credentials?.mechanismProperties?.ALLOWED_HOSTS||GB.DEFAULT_ALLOWED_HOSTS;if(!!!e.credentials?.mechanismProperties?.ENVIRONMENT){for(let o of e.hosts)if(!(0,at.hostMatchesWildcards)(o.toHostPort().host,n))throw new j9.MongoInvalidArgumentError(`Host '${o}' is not valid for OIDC authentication with ALLOWED_HOSTS of '${n.join(",")}'`)}}this.topology=new V9.Topology(this,e.hosts,e),this.topology.once(V9.Topology.OPEN,()=>this.emit("open",this));for(let n of KB.MONGO_CLIENT_EVENTS)this.topology.on(n,(...s)=>this.emit(n,...s));let r=async()=>{try{await this.topology?.connect(e)}catch(n){throw this.topology?.close(),n}};return this.autoEncrypter?(await this.autoEncrypter?.init(),await r(),await e.encrypter.connectInternalClient()):await r(),this}async close(e=!1){Object.defineProperty(this.s,"hasBeenClosed",{value:!0,enumerable:!0,configurable:!1,writable:!1});let r=Array.from(this.s.activeSessions,c=>c.endSession());if(this.s.activeSessions.clear(),await Promise.all(r),this.topology==null)return;let n=(0,eb.readPreferenceServerSelector)(W9.ReadPreference.primaryPreferred),s=this.topology.description,o=Array.from(s.servers.values());if(n(s,o).length!==0){let c=Array.from(this.s.sessionPool.sessions,({id:l})=>l);if(c.length!==0)try{await(0,QB.executeOperation)(this,new ZB.RunAdminCommandOperation({endSessions:c},{readPreference:W9.ReadPreference.primaryPreferred,noResponse:!0}))}catch(l){(0,at.squashError)(l)}}let u=this.topology;this.topology=void 0,u.close();let{encrypter:a}=this[De];a&&await a.close(this,e)}db(e,r){r=r??{},e||(e=this.options.dbName);let n=Object.assign({},this[De],r);return new YB.Db(this,e,n)}static async connect(e,r){return await new this(e,r).connect()}startSession(e){let r=new $9.ClientSession(this,this.s.sessionPool,{explicit:!0,...e},this[De]);return this.s.activeSessions.add(r),r.once("ended",()=>{this.s.activeSessions.delete(r)}),r}async withSession(e,r){let n={owner:Symbol(),...typeof e=="object"?e:{}},s=typeof e=="function"?e:r;if(s==null)throw new j9.MongoInvalidArgumentError("Missing required callback parameter");let o=this.startSession(n);try{return await s(o)}finally{try{await o.endSession()}catch(i){(0,at.squashError)(i)}}}watch(e=[],r={}){return Array.isArray(e)||(r=e,e=[]),new $B.ChangeStream(this,e,(0,at.resolveOptions)(this,r))}};ko.MongoClient=$f});var Zs=m(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.ChangeStream=void 0;var tb=cs(),mr=Be(),rb=v2(),nb=da(),fr=_(),sb=ds(),ob=bt(),pr=R(),qo=Symbol("cursorStream"),Uo=Symbol("closed"),Z1=Symbol("mode"),ib=["resumeAfter","startAfter","startAtOperationTime","fullDocument","fullDocumentBeforeChange","showExpandedEvents"],As={COLLECTION:Symbol("Collection"),DATABASE:Symbol("Database"),CLUSTER:Symbol("Cluster")},ub=[mr.RESUME_TOKEN_CHANGED,mr.END,mr.CLOSE],ab="A change stream document has been received that lacks a resume token (_id).",xc="ChangeStream is closed",Er=class t extends ob.TypedEventEmitter{constructor(e,r=[],n={}){if(super(),this.pipeline=r,this.options={...n},delete this.options.writeConcern,e instanceof tb.Collection)this.type=As.COLLECTION;else if(e instanceof nb.Db)this.type=As.DATABASE;else if(e instanceof sb.MongoClient)this.type=As.CLUSTER;else throw new fr.MongoChangeStreamError("Parent provided to ChangeStream constructor must be an instance of Collection, Db, or MongoClient");this.parent=e,this.namespace=e.s.namespace,!this.options.readPreference&&e.readPreference&&(this.options.readPreference=e.readPreference),this.cursor=this._createChangeStreamCursor(n),this[Uo]=!1,this[Z1]=!1,this.on("newListener",s=>{s==="change"&&this.cursor&&this.listenerCount("change")===0&&this._streamEvents(this.cursor)}),this.on("removeListener",s=>{s==="change"&&this.listenerCount("change")===0&&this.cursor&&this[qo]?.removeAllListeners("data")})}get cursorStream(){return this[qo]}get resumeToken(){return this.cursor?.resumeToken}async hasNext(){for(this._setIsIterator();;)try{return await this.cursor.hasNext()}catch(e){try{await this._processErrorIteratorMode(e)}catch(r){try{await this.close()}catch(n){(0,pr.squashError)(n)}throw r}}}async next(){for(this._setIsIterator();;)try{let e=await this.cursor.next();return this._processChange(e??null)}catch(e){try{await this._processErrorIteratorMode(e)}catch(r){try{await this.close()}catch(n){(0,pr.squashError)(n)}throw r}}}async tryNext(){for(this._setIsIterator();;)try{return await this.cursor.tryNext()??null}catch(e){try{await this._processErrorIteratorMode(e)}catch(r){try{await this.close()}catch(n){(0,pr.squashError)(n)}throw r}}}async*[Symbol.asyncIterator](){if(!this.closed)try{for(;;)yield await this.next()}finally{try{await this.close()}catch(e){(0,pr.squashError)(e)}}}get closed(){return this[Uo]||this.cursor.closed}async close(){this[Uo]=!0;let e=this.cursor;try{await e.close()}finally{this._endStream()}}stream(e){if(this.closed)throw new fr.MongoChangeStreamError(xc);return this.streamOptions=e,this.cursor.stream(e)}_setIsEmitter(){if(this[Z1]==="iterator")throw new fr.MongoAPIError("ChangeStream cannot be used as an EventEmitter after being used as an iterator");this[Z1]="emitter"}_setIsIterator(){if(this[Z1]==="emitter")throw new fr.MongoAPIError("ChangeStream cannot be used as an iterator after being used as an EventEmitter");this[Z1]="iterator"}_createChangeStreamCursor(e){let r=(0,pr.filterOptions)(e,ib);this.type===As.CLUSTER&&(r.allChangesForCluster=!0);let n=[{$changeStream:r},...this.pipeline],s=this.type===As.CLUSTER?this.parent:this.type===As.DATABASE?this.parent.client:this.type===As.COLLECTION?this.parent.client:null;if(s==null)throw new fr.MongoRuntimeError(`Changestream type should only be one of cluster, database, collection. Found ${this.type.toString()}`);let o=new rb.ChangeStreamCursor(s,this.namespace,n,e);for(let i of ub)o.on(i,u=>this.emit(i,u));return this.listenerCount(t.CHANGE)>0&&this._streamEvents(o),o}_closeEmitterModeWithError(e){this.emit(t.ERROR,e),this.close().then(void 0,pr.squashError)}_streamEvents(e){this._setIsEmitter();let r=this[qo]??e.stream();this[qo]=r,r.on("data",n=>{try{let s=this._processChange(n);this.emit(t.CHANGE,s)}catch(s){this.emit(t.ERROR,s)}}),r.on("error",n=>this._processErrorStreamMode(n))}_endStream(){let e=this[qo];e&&(["data","close","end","error"].forEach(r=>e.removeAllListeners(r)),e.destroy()),this[qo]=void 0}_processChange(e){if(this[Uo])throw new fr.MongoAPIError(xc);if(e==null)throw new fr.MongoRuntimeError(xc);if(e&&!e._id)throw new fr.MongoChangeStreamError(ab);return this.cursor.cacheResumeToken(e._id),this.options.startAtOperationTime=void 0,e}_processErrorStreamMode(e){this[Uo]||((0,fr.isResumableError)(e,this.cursor.maxWireVersion)?(this._endStream(),this.cursor.close().then(void 0,pr.squashError),(0,pr.getTopology)(this.parent).selectServer(this.cursor.readPreference,{operationName:"reconnect topology in change stream"}).then(()=>{this.cursor=this._createChangeStreamCursor(this.cursor.resumeOptions)},()=>this._closeEmitterModeWithError(e))):this._closeEmitterModeWithError(e))}async _processErrorIteratorMode(e){if(this[Uo])throw new fr.MongoAPIError(xc);if(!(0,fr.isResumableError)(e,this.cursor.maxWireVersion)){try{await this.close()}catch(n){(0,pr.squashError)(n)}throw e}try{await this.cursor.close()}catch(n){(0,pr.squashError)(n)}let r=(0,pr.getTopology)(this.parent);try{await r.selectServer(this.cursor.readPreference,{operationName:"reconnect topology in change stream"}),this.cursor=this._createChangeStreamCursor(this.cursor.resumeOptions)}catch{throw await this.close(),e}}};Er.RESPONSE=mr.RESPONSE;Er.MORE=mr.MORE;Er.INIT=mr.INIT;Er.CLOSE=mr.CLOSE;Er.CHANGE=mr.CHANGE;Er.END=mr.END;Er.ERROR=mr.ERROR;Er.RESUME_TOKEN_CHANGED=mr.RESUME_TOKEN_CHANGED;kc.ChangeStream=Er});var Gf=m(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.GridFSBucketReadStream=void 0;var cb=x("stream"),Mt=_(),ei=class extends cb.Readable{constructor(e,r,n,s,o){super({emitClose:!0}),this.s={bytesToTrim:0,bytesToSkip:0,bytesRead:0,chunks:e,expected:0,files:r,filter:s,init:!1,expectedEnd:0,options:{start:0,end:0,...o},readPreference:n}}_read(){this.destroyed||db(this,()=>lb(this))}start(e=0){return G9(this),this.s.options.start=e,this}end(e=0){return G9(this),this.s.options.end=e,this}async abort(){this.push(null),this.destroy(),await this.s.cursor?.close()}};ei.FILE="file";qc.GridFSBucketReadStream=ei;function G9(t){if(t.s.init)throw new Mt.MongoGridFSStreamError("Options cannot be changed after the stream is initialized")}function lb(t){if(t.destroyed||!t.s.cursor||!t.s.file)return;let e=r=>{if(t.destroyed)return;if(!r){t.push(null),t.s.cursor?.close().then(void 0,h=>t.destroy(h));return}if(!t.s.file)return;let n=t.s.file.length-t.s.bytesRead,s=t.s.expected++,o=Math.min(t.s.file.chunkSize,n);if(r.n>s)return t.destroy(new Mt.MongoGridFSChunkError(`ChunkIsMissing: Got unexpected n: ${r.n}, expected: ${s}`));if(r.n<s)return t.destroy(new Mt.MongoGridFSChunkError(`ExtraChunk: Got unexpected n: ${r.n}, expected: ${s}`));let i=Buffer.isBuffer(r.data)?r.data:r.data.buffer;if(i.byteLength!==o)return n<=0?t.destroy(new Mt.MongoGridFSChunkError(`ExtraChunk: Got unexpected n: ${r.n}, expected file length ${t.s.file.length} bytes but already read ${t.s.bytesRead} bytes`)):t.destroy(new Mt.MongoGridFSChunkError(`ChunkIsWrongSize: Got unexpected length: ${i.byteLength}, expected: ${o}`));if(t.s.bytesRead+=i.byteLength,i.byteLength===0)return t.push(null);let u=null,a=null;t.s.bytesToSkip!=null&&(u=t.s.bytesToSkip,t.s.bytesToSkip=0);let c=s===t.s.expectedEnd-1,l=t.s.options.end-t.s.bytesToSkip;c&&t.s.bytesToTrim!=null?a=t.s.file.chunkSize-t.s.bytesToTrim:t.s.options.end&&l<r.data.byteLength&&(a=l),(u!=null||a!=null)&&(i=i.slice(u||0,a||i.byteLength)),t.push(i)};t.s.cursor.next().then(e,r=>{t.destroyed||t.destroy(r)})}function hb(t){let e={};t.s.readPreference&&(e.readPreference=t.s.readPreference),t.s.options&&t.s.options.sort&&(e.sort=t.s.options.sort),t.s.options&&t.s.options.skip&&(e.skip=t.s.options.skip);let r=n=>{if(t.destroyed)return;if(!n){let i=`FileNotFound: file ${t.s.filter._id?t.s.filter._id.toString():t.s.filter.filename} was not found`,u=new Mt.MongoRuntimeError(i);return u.code="ENOENT",t.destroy(u)}if(n.length<=0){t.push(null);return}if(t.destroyed){t.destroy();return}try{t.s.bytesToSkip=fb(t,n,t.s.options)}catch(o){return t.destroy(o)}let s={files_id:n._id};if(t.s.options&&t.s.options.start!=null){let o=Math.floor(t.s.options.start/n.chunkSize);o>0&&(s.n={$gte:o})}t.s.cursor=t.s.chunks.find(s).sort({n:1}),t.s.readPreference&&t.s.cursor.withReadPreference(t.s.readPreference),t.s.expectedEnd=Math.ceil(n.length/n.chunkSize),t.s.file=n;try{t.s.bytesToTrim=pb(t,n,t.s.cursor,t.s.options)}catch(o){return t.destroy(o)}t.emit(ei.FILE,n)};t.s.files.findOne(t.s.filter,e).then(r,n=>{t.destroyed||t.destroy(n)})}function db(t,e){if(t.s.file)return e();t.s.init||(hb(t),t.s.init=!0),t.once("file",()=>{e()})}function fb(t,e,r){if(r&&r.start!=null){if(r.start>e.length)throw new Mt.MongoInvalidArgumentError(`Stream start (${r.start}) must not be more than the length of the file (${e.length})`);if(r.start<0)throw new Mt.MongoInvalidArgumentError(`Stream start (${r.start}) must not be negative`);if(r.end!=null&&r.end<r.start)throw new Mt.MongoInvalidArgumentError(`Stream start (${r.start}) must not be greater than stream end (${r.end})`);return t.s.bytesRead=Math.floor(r.start/e.chunkSize)*e.chunkSize,t.s.expected=Math.floor(r.start/e.chunkSize),r.start-t.s.bytesRead}throw new Mt.MongoInvalidArgumentError("Start option must be defined")}function pb(t,e,r,n){if(n&&n.end!=null){if(n.end>e.length)throw new Mt.MongoInvalidArgumentError(`Stream end (${n.end}) must not be more than the length of the file (${e.length})`);if(n.start==null||n.start<0)throw new Mt.MongoInvalidArgumentError(`Stream end (${n.end}) must not be negative`);let s=n.start!=null?Math.floor(n.start/e.chunkSize):0;return r.limit(Math.ceil(n.end/e.chunkSize)-s),t.s.expectedEnd=Math.ceil(n.end/e.chunkSize),Math.ceil(n.end/e.chunkSize)*e.chunkSize-n.end}throw new Mt.MongoInvalidArgumentError("End option must be defined")}});var Xf=m(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.GridFSBucketWriteStream=void 0;var mb=x("stream"),H9=ne(),gs=_(),Eb=R(),Ab=ot(),Hf=class extends mb.Writable{constructor(e,r,n){super(),this.gridFSFile=null,n=n??{},this.bucket=e,this.chunks=e.s._chunksCollection,this.filename=r,this.files=e.s._filesCollection,this.options=n,this.writeConcern=Ab.WriteConcern.fromOptions(n)||e.s.options.writeConcern,this.done=!1,this.id=n.id?n.id:new H9.ObjectId,this.chunkSizeBytes=n.chunkSizeBytes||this.bucket.s.options.chunkSizeBytes,this.bufToStore=Buffer.alloc(this.chunkSizeBytes),this.length=0,this.n=0,this.pos=0,this.state={streamEnd:!1,outstandingRequests:0,errored:!1,aborted:!1},this.bucket.s.calledOpenUploadStream||(this.bucket.s.calledOpenUploadStream=!0,Cb(this).then(()=>{this.bucket.s.checkedIndexes=!0,this.bucket.emit("index")},Eb.squashError))}_construct(e){if(this.bucket.s.checkedIndexes)return process.nextTick(e);this.bucket.once("index",e)}_write(e,r,n){Sb(this,e,r,n)}_final(e){if(this.state.streamEnd)return process.nextTick(e);this.state.streamEnd=!0,Ob(this,e)}async abort(){if(this.state.streamEnd)throw new gs.MongoAPIError("Cannot abort a stream that has already completed");if(this.state.aborted)throw new gs.MongoAPIError("Cannot call abort() on a stream twice");this.state.aborted=!0,await this.chunks.deleteMany({files_id:this.id})}};jc.GridFSBucketWriteStream=Hf;function Yf(t,e,r){if(t.state.errored){process.nextTick(r);return}t.state.errored=!0,process.nextTick(r,e)}function K9(t,e,r){return{_id:new H9.ObjectId,files_id:t,n:e,data:r}}async function gb(t){let e={files_id:1,n:1},r;try{r=await t.chunks.listIndexes().toArray()}catch(s){if(s instanceof gs.MongoError&&s.code===gs.MONGODB_ERROR_CODES.NamespaceNotFound)r=[];else throw s}!!r.find(s=>Object.keys(s.key).length===2&&s.key.files_id===1&&s.key.n===1)||await t.chunks.createIndex(e,{...t.writeConcern,background:!0,unique:!0})}function Kf(t,e){if(t.done)return process.nextTick(e);if(t.state.streamEnd&&t.state.outstandingRequests===0&&!t.state.errored){t.done=!0;let r=yb(t.id,t.length,t.chunkSizeBytes,t.filename,t.options.contentType,t.options.aliases,t.options.metadata);if(Uc(t,e))return;t.files.insertOne(r,{writeConcern:t.writeConcern}).then(()=>{t.gridFSFile=r,e()},n=>Yf(t,n,e));return}process.nextTick(e)}async function Cb(t){if(await t.files.findOne({},{projection:{_id:1}})!=null)return;let r={filename:1,uploadDate:1},n;try{n=await t.files.listIndexes().toArray()}catch(o){if(o instanceof gs.MongoError&&o.code===gs.MONGODB_ERROR_CODES.NamespaceNotFound)n=[];else throw o}!!n.find(o=>Object.keys(o.key).length===2&&o.key.filename===1&&o.key.uploadDate===1)||await t.files.createIndex(r,{background:!1}),await gb(t)}function yb(t,e,r,n,s,o,i){let u={_id:t,length:e,chunkSize:r,uploadDate:new Date,filename:n};return s&&(u.contentType=s),o&&(u.aliases=o),i&&(u.metadata=i),u}function Sb(t,e,r,n){if(Uc(t,n))return;let s=Buffer.isBuffer(e)?e:Buffer.from(e,r);if(t.length+=s.length,t.pos+s.length<t.chunkSizeBytes){s.copy(t.bufToStore,t.pos),t.pos+=s.length,process.nextTick(n);return}let o=s.length,i=t.chunkSizeBytes-t.pos,u=Math.min(i,s.length),a=0;for(;o>0;){let c=s.length-o;s.copy(t.bufToStore,t.pos,c,c+u),t.pos+=u,i-=u;let l;if(i===0){if(l=K9(t.id,t.n,Buffer.from(t.bufToStore)),++t.state.outstandingRequests,++a,Uc(t,n))return;t.chunks.insertOne(l,{writeConcern:t.writeConcern}).then(()=>{--t.state.outstandingRequests,--a,a||Kf(t,n)},h=>Yf(t,h,n)),i=t.chunkSizeBytes,t.pos=0,++t.n}o-=u,u=Math.min(i,o)}}function Ob(t,e){if(t.pos===0)return Kf(t,e);++t.state.outstandingRequests;let r=Buffer.alloc(t.pos);t.bufToStore.copy(r,0,0,t.pos);let n=K9(t.id,t.n,r);Uc(t,e)||t.chunks.insertOne(n,{writeConcern:t.writeConcern}).then(()=>{--t.state.outstandingRequests,Kf(t,e)},s=>Yf(t,s,e))}function Uc(t,e){return t.state.aborted?(process.nextTick(e,new gs.MongoAPIError("Stream has been aborted")),!0):!1}});var Q9=m(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.GridFSBucket=void 0;var Y9=_(),wb=bt(),Db=ot(),X9=Gf(),J9=Xf(),_b={bucketName:"fs",chunkSizeBytes:255*1024},zc=class extends wb.TypedEventEmitter{constructor(e,r){super(),this.setMaxListeners(0);let n={..._b,...r,writeConcern:Db.WriteConcern.fromOptions(r)};this.s={db:e,options:n,_chunksCollection:e.collection(n.bucketName+".chunks"),_filesCollection:e.collection(n.bucketName+".files"),checkedIndexes:!1,calledOpenUploadStream:!1}}openUploadStream(e,r){return new J9.GridFSBucketWriteStream(this,e,r)}openUploadStreamWithId(e,r,n){return new J9.GridFSBucketWriteStream(this,r,{...n,id:e})}openDownloadStream(e,r){return new X9.GridFSBucketReadStream(this.s._chunksCollection,this.s._filesCollection,this.s.options.readPreference,{_id:e},r)}async delete(e){let{deletedCount:r}=await this.s._filesCollection.deleteOne({_id:e});if(await this.s._chunksCollection.deleteMany({files_id:e}),r===0)throw new Y9.MongoRuntimeError(`File not found for id ${e}`)}find(e={},r={}){return this.s._filesCollection.find(e,r)}openDownloadStreamByName(e,r){let n={uploadDate:-1},s;return r&&r.revision!=null&&(r.revision>=0?(n={uploadDate:1},s=r.revision):s=-r.revision-1),new X9.GridFSBucketReadStream(this.s._chunksCollection,this.s._filesCollection,this.s.options.readPreference,{filename:e},{...r,sort:n,skip:s})}async rename(e,r){let n={_id:e},s={$set:{filename:r}},{matchedCount:o}=await this.s._filesCollection.updateOne(n,s);if(o===0)throw new Y9.MongoRuntimeError(`File with id ${e} not found`)}async drop(){await this.s._filesCollection.drop(),await this.s._chunksCollection.drop()}};zc.INDEX="index";Wc.GridFSBucket=zc});var Z9=m($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.ClientEncryption=void 0;var St=ne(),Bb=nr(),Wn=R(),bb=Fh(),Cs=ho(),Tb=Uh(),Vc=zh(),Jf=class t{static getMongoCrypt(){let e=(0,Bb.getMongoDBClientEncryption)();if("kModuleError"in e)throw e.kModuleError;return e.MongoCrypt}constructor(e,r){if(this._client=e,this._proxyOptions=r.proxyOptions??{},this._tlsOptions=r.tlsOptions??{},this._kmsProviders=r.kmsProviders||{},r.keyVaultNamespace==null)throw new Cs.MongoCryptInvalidArgumentError("Missing required option `keyVaultNamespace`");let n={...r,cryptoCallbacks:bb,kmsProviders:Buffer.isBuffer(this._kmsProviders)?this._kmsProviders:(0,St.serialize)(this._kmsProviders)};this._keyVaultNamespace=r.keyVaultNamespace,this._keyVaultClient=r.keyVaultClient||e;let s=t.getMongoCrypt();this._mongoCrypt=new s(n)}async createDataKey(e,r={}){if(r.keyAltNames&&!Array.isArray(r.keyAltNames))throw new Cs.MongoCryptInvalidArgumentError(`Option "keyAltNames" must be an array of strings, but was of type ${typeof r.keyAltNames}.`);let n;r.keyAltNames&&r.keyAltNames.length>0&&(n=r.keyAltNames.map((f,S)=>{if(typeof f!="string")throw new Cs.MongoCryptInvalidArgumentError(`Option "keyAltNames" must be an array of strings, but item at index ${S} was of type ${typeof f}`);return(0,St.serialize)({keyAltName:f})}));let s;r.keyMaterial&&(s=(0,St.serialize)({keyMaterial:r.keyMaterial}));let o=(0,St.serialize)({provider:e,...r.masterKey}),i=this._mongoCrypt.makeDataKeyContext(o,{keyAltNames:n,keyMaterial:s}),u=new Vc.StateMachine({proxyOptions:this._proxyOptions,tlsOptions:this._tlsOptions}),a=(0,St.deserialize)(await u.execute(this,i)),{db:c,collection:l}=Wn.MongoDBCollectionNamespace.fromString(this._keyVaultNamespace),{insertedId:h}=await this._keyVaultClient.db(c).collection(l).insertOne(a,{writeConcern:{w:"majority"}});return h}async rewrapManyDataKey(e,r){let n;if(r){let f=Object.assign({provider:r.provider},r.masterKey);n=(0,St.serialize)(f)}let s=(0,St.serialize)(e),o=this._mongoCrypt.makeRewrapManyDataKeyContext(s,n),i=new Vc.StateMachine({proxyOptions:this._proxyOptions,tlsOptions:this._tlsOptions}),{v:u}=(0,St.deserialize)(await i.execute(this,o));if(u.length===0)return{};let{db:a,collection:c}=Wn.MongoDBCollectionNamespace.fromString(this._keyVaultNamespace),l=u.map(f=>({updateOne:{filter:{_id:f._id},update:{$set:{masterKey:f.masterKey,keyMaterial:f.keyMaterial},$currentDate:{updateDate:!0}}}}));return{bulkWriteResult:await this._keyVaultClient.db(a).collection(c).bulkWrite(l,{writeConcern:{w:"majority"}})}}async deleteKey(e){let{db:r,collection:n}=Wn.MongoDBCollectionNamespace.fromString(this._keyVaultNamespace);return await this._keyVaultClient.db(r).collection(n).deleteOne({_id:e},{writeConcern:{w:"majority"}})}getKeys(){let{db:e,collection:r}=Wn.MongoDBCollectionNamespace.fromString(this._keyVaultNamespace);return this._keyVaultClient.db(e).collection(r).find({},{readConcern:{level:"majority"}})}async getKey(e){let{db:r,collection:n}=Wn.MongoDBCollectionNamespace.fromString(this._keyVaultNamespace);return await this._keyVaultClient.db(r).collection(n).findOne({_id:e},{readConcern:{level:"majority"}})}async getKeyByAltName(e){let{db:r,collection:n}=Wn.MongoDBCollectionNamespace.fromString(this._keyVaultNamespace);return await this._keyVaultClient.db(r).collection(n).findOne({keyAltNames:e},{readConcern:{level:"majority"}})}async addKeyAltName(e,r){let{db:n,collection:s}=Wn.MongoDBCollectionNamespace.fromString(this._keyVaultNamespace);return await this._keyVaultClient.db(n).collection(s).findOneAndUpdate({_id:e},{$addToSet:{keyAltNames:r}},{writeConcern:{w:"majority"},returnDocument:"before"})}async removeKeyAltName(e,r){let{db:n,collection:s}=Wn.MongoDBCollectionNamespace.fromString(this._keyVaultNamespace),o=[{$set:{keyAltNames:{$cond:[{$eq:["$keyAltNames",[r]]},"$$REMOVE",{$filter:{input:"$keyAltNames",cond:{$ne:["$$this",r]}}}]}}}];return await this._keyVaultClient.db(n).collection(s).findOneAndUpdate({_id:e},o,{writeConcern:{w:"majority"},returnDocument:"before"})}async createEncryptedCollection(e,r,n){let{provider:s,masterKey:o,createCollectionOptions:{encryptedFields:{...i},...u}}=n;if(Array.isArray(i.fields)){let a=i.fields.map(async h=>h==null||typeof h!="object"||h.keyId!=null?h:{...h,keyId:await this.createDataKey(s,{masterKey:o})}),c=await Promise.allSettled(a);i.fields=c.map((h,f)=>h.status==="fulfilled"?h.value:i.fields[f]);let l=c.find(h=>h.status==="rejected");if(l!=null)throw new Cs.MongoCryptCreateDataKeyError(i,{cause:l.reason})}try{return{collection:await e.createCollection(r,{...u,encryptedFields:i}),encryptedFields:i}}catch(a){throw new Cs.MongoCryptCreateEncryptedCollectionError(i,{cause:a})}}async encrypt(e,r){return await this._encrypt(e,!1,r)}async encryptExpression(e,r){return await this._encrypt(e,!0,r)}async decrypt(e){let r=(0,St.serialize)({v:e}),n=this._mongoCrypt.makeExplicitDecryptionContext(r),s=new Vc.StateMachine({proxyOptions:this._proxyOptions,tlsOptions:this._tlsOptions}),{v:o}=(0,St.deserialize)(await s.execute(this,n));return o}async askForKMSCredentials(){return await(0,Tb.refreshKMSCredentials)(this._kmsProviders)}static get libmongocryptVersion(){return t.getMongoCrypt().libmongocryptVersion}async _encrypt(e,r,n){let{algorithm:s,keyId:o,keyAltName:i,contentionFactor:u,queryType:a,rangeOptions:c}=n,l={expressionMode:r,algorithm:s};if(o&&(l.keyId=o.buffer),i){if(o)throw new Cs.MongoCryptInvalidArgumentError('"options" cannot contain both "keyId" and "keyAltName"');if(typeof i!="string")throw new Cs.MongoCryptInvalidArgumentError(`"options.keyAltName" must be of type string, but was of type ${typeof i}`);l.keyAltName=(0,St.serialize)({keyAltName:i})}(typeof u=="number"||typeof u=="bigint")&&(l.contentionFactor=u),typeof a=="string"&&(l.queryType=a),typeof c=="object"&&(l.rangeOptions=(0,St.serialize)(c));let h=(0,St.serialize)({v:e}),f=new Vc.StateMachine({proxyOptions:this._proxyOptions,tlsOptions:this._tlsOptions}),S=this._mongoCrypt.makeExplicitEncryptionContext(h,l),{v:y}=(0,St.deserialize)(await f.execute(this,S));return y}};$c.ClientEncryption=Jf});var ri=m(d=>{"use strict";Object.defineProperty(d,"__esModule",{value:!0});d.MongoTopologyClosedError=d.MongoTailableCursorError=d.MongoSystemError=d.MongoServerSelectionError=d.MongoServerError=d.MongoServerClosedError=d.MongoRuntimeError=d.MongoParseError=d.MongoOIDCError=d.MongoNotConnectedError=d.MongoNetworkTimeoutError=d.MongoNetworkError=d.MongoMissingDependencyError=d.MongoMissingCredentialsError=d.MongoKerberosError=d.MongoInvalidArgumentError=d.MongoGridFSStreamError=d.MongoGridFSChunkError=d.MongoGCPError=d.MongoExpiredSessionError=d.MongoError=d.MongoDriverError=d.MongoDecompressionError=d.MongoCursorInUseError=d.MongoCursorExhaustedError=d.MongoCompatibilityError=d.MongoChangeStreamError=d.MongoBatchReExecutionError=d.MongoAzureError=d.MongoAWSError=d.MongoAPIError=d.ChangeStreamCursor=d.ClientEncryption=d.MongoBulkWriteError=d.UUID=d.Timestamp=d.ObjectId=d.MinKey=d.MaxKey=d.Long=d.Int32=d.Double=d.Decimal128=d.DBRef=d.Code=d.BSONType=d.BSONSymbol=d.BSONRegExp=d.Binary=d.BSON=void 0;d.ConnectionPoolCreatedEvent=d.ConnectionPoolClosedEvent=d.ConnectionPoolClearedEvent=d.ConnectionCreatedEvent=d.ConnectionClosedEvent=d.ConnectionCheckOutStartedEvent=d.ConnectionCheckOutFailedEvent=d.ConnectionCheckedOutEvent=d.ConnectionCheckedInEvent=d.CommandSucceededEvent=d.CommandStartedEvent=d.CommandFailedEvent=d.WriteConcern=d.ReadPreference=d.ReadConcern=d.TopologyType=d.ServerType=d.ReadPreferenceMode=d.ReadConcernLevel=d.ProfilingLevel=d.ReturnDocument=d.ServerApiVersion=d.ExplainVerbosity=d.MongoErrorLabel=d.CURSOR_FLAGS=d.Compressor=d.AuthMechanism=d.GSSAPICanonicalizationValue=d.AutoEncryptionLoggerLevel=d.BatchType=d.UnorderedBulkOperation=d.OrderedBulkOperation=d.MongoClient=d.ListIndexesCursor=d.ListCollectionsCursor=d.GridFSBucketWriteStream=d.GridFSBucketReadStream=d.GridFSBucket=d.FindCursor=d.Db=d.Collection=d.ClientSession=d.ChangeStream=d.CancellationToken=d.AggregationCursor=d.Admin=d.AbstractCursor=d.MongoWriteConcernError=d.MongoUnexpectedServerResponseError=d.MongoTransactionError=void 0;d.MongoClientAuthProviders=d.MongoCryptKMSRequestNetworkTimeoutError=d.MongoCryptInvalidArgumentError=d.MongoCryptError=d.MongoCryptCreateEncryptedCollectionError=d.MongoCryptCreateDataKeyError=d.MongoCryptAzureKMSRequestError=d.SrvPollingEvent=d.WaitingForSuitableServerEvent=d.ServerSelectionSucceededEvent=d.ServerSelectionStartedEvent=d.ServerSelectionFailedEvent=d.ServerSelectionEvent=d.TopologyOpeningEvent=d.TopologyDescriptionChangedEvent=d.TopologyClosedEvent=d.ServerOpeningEvent=d.ServerHeartbeatSucceededEvent=d.ServerHeartbeatStartedEvent=d.ServerHeartbeatFailedEvent=d.ServerDescriptionChangedEvent=d.ServerClosedEvent=d.ConnectionReadyEvent=d.ConnectionPoolReadyEvent=d.ConnectionPoolMonitoringEvent=void 0;var Fb=yl();Object.defineProperty(d,"Admin",{enumerable:!0,get:function(){return Fb.Admin}});var Nb=Ml();Object.defineProperty(d,"OrderedBulkOperation",{enumerable:!0,get:function(){return Nb.OrderedBulkOperation}});var Rb=vl();Object.defineProperty(d,"UnorderedBulkOperation",{enumerable:!0,get:function(){return Rb.UnorderedBulkOperation}});var Mb=Zs();Object.defineProperty(d,"ChangeStream",{enumerable:!0,get:function(){return Mb.ChangeStream}});var Ib=cs();Object.defineProperty(d,"Collection",{enumerable:!0,get:function(){return Ib.Collection}});var vb=zr();Object.defineProperty(d,"AbstractCursor",{enumerable:!0,get:function(){return vb.AbstractCursor}});var Pb=A1();Object.defineProperty(d,"AggregationCursor",{enumerable:!0,get:function(){return Pb.AggregationCursor}});var Lb=l2();Object.defineProperty(d,"FindCursor",{enumerable:!0,get:function(){return Lb.FindCursor}});var xb=L2();Object.defineProperty(d,"ListCollectionsCursor",{enumerable:!0,get:function(){return xb.ListCollectionsCursor}});var kb=p2();Object.defineProperty(d,"ListIndexesCursor",{enumerable:!0,get:function(){return kb.ListIndexesCursor}});var qb=da();Object.defineProperty(d,"Db",{enumerable:!0,get:function(){return qb.Db}});var Ub=Q9();Object.defineProperty(d,"GridFSBucket",{enumerable:!0,get:function(){return Ub.GridFSBucket}});var jb=Gf();Object.defineProperty(d,"GridFSBucketReadStream",{enumerable:!0,get:function(){return jb.GridFSBucketReadStream}});var zb=Xf();Object.defineProperty(d,"GridFSBucketWriteStream",{enumerable:!0,get:function(){return zb.GridFSBucketWriteStream}});var Wb=ds();Object.defineProperty(d,"MongoClient",{enumerable:!0,get:function(){return Wb.MongoClient}});var Vb=bt();Object.defineProperty(d,"CancellationToken",{enumerable:!0,get:function(){return Vb.CancellationToken}});var $b=E1();Object.defineProperty(d,"ClientSession",{enumerable:!0,get:function(){return $b.ClientSession}});var Gb=ne();Object.defineProperty(d,"BSON",{enumerable:!0,get:function(){return Gb.BSON}});var ct=ne();Object.defineProperty(d,"Binary",{enumerable:!0,get:function(){return ct.Binary}});Object.defineProperty(d,"BSONRegExp",{enumerable:!0,get:function(){return ct.BSONRegExp}});Object.defineProperty(d,"BSONSymbol",{enumerable:!0,get:function(){return ct.BSONSymbol}});Object.defineProperty(d,"BSONType",{enumerable:!0,get:function(){return ct.BSONType}});Object.defineProperty(d,"Code",{enumerable:!0,get:function(){return ct.Code}});Object.defineProperty(d,"DBRef",{enumerable:!0,get:function(){return ct.DBRef}});Object.defineProperty(d,"Decimal128",{enumerable:!0,get:function(){return ct.Decimal128}});Object.defineProperty(d,"Double",{enumerable:!0,get:function(){return ct.Double}});Object.defineProperty(d,"Int32",{enumerable:!0,get:function(){return ct.Int32}});Object.defineProperty(d,"Long",{enumerable:!0,get:function(){return ct.Long}});Object.defineProperty(d,"MaxKey",{enumerable:!0,get:function(){return ct.MaxKey}});Object.defineProperty(d,"MinKey",{enumerable:!0,get:function(){return ct.MinKey}});Object.defineProperty(d,"ObjectId",{enumerable:!0,get:function(){return ct.ObjectId}});Object.defineProperty(d,"Timestamp",{enumerable:!0,get:function(){return ct.Timestamp}});Object.defineProperty(d,"UUID",{enumerable:!0,get:function(){return ct.UUID}});var Hb=d1();Object.defineProperty(d,"MongoBulkWriteError",{enumerable:!0,get:function(){return Hb.MongoBulkWriteError}});var Kb=Z9();Object.defineProperty(d,"ClientEncryption",{enumerable:!0,get:function(){return Kb.ClientEncryption}});var Yb=v2();Object.defineProperty(d,"ChangeStreamCursor",{enumerable:!0,get:function(){return Yb.ChangeStreamCursor}});var Z=_();Object.defineProperty(d,"MongoAPIError",{enumerable:!0,get:function(){return Z.MongoAPIError}});Object.defineProperty(d,"MongoAWSError",{enumerable:!0,get:function(){return Z.MongoAWSError}});Object.defineProperty(d,"MongoAzureError",{enumerable:!0,get:function(){return Z.MongoAzureError}});Object.defineProperty(d,"MongoBatchReExecutionError",{enumerable:!0,get:function(){return Z.MongoBatchReExecutionError}});Object.defineProperty(d,"MongoChangeStreamError",{enumerable:!0,get:function(){return Z.MongoChangeStreamError}});Object.defineProperty(d,"MongoCompatibilityError",{enumerable:!0,get:function(){return Z.MongoCompatibilityError}});Object.defineProperty(d,"MongoCursorExhaustedError",{enumerable:!0,get:function(){return Z.MongoCursorExhaustedError}});Object.defineProperty(d,"MongoCursorInUseError",{enumerable:!0,get:function(){return Z.MongoCursorInUseError}});Object.defineProperty(d,"MongoDecompressionError",{enumerable:!0,get:function(){return Z.MongoDecompressionError}});Object.defineProperty(d,"MongoDriverError",{enumerable:!0,get:function(){return Z.MongoDriverError}});Object.defineProperty(d,"MongoError",{enumerable:!0,get:function(){return Z.MongoError}});Object.defineProperty(d,"MongoExpiredSessionError",{enumerable:!0,get:function(){return Z.MongoExpiredSessionError}});Object.defineProperty(d,"MongoGCPError",{enumerable:!0,get:function(){return Z.MongoGCPError}});Object.defineProperty(d,"MongoGridFSChunkError",{enumerable:!0,get:function(){return Z.MongoGridFSChunkError}});Object.defineProperty(d,"MongoGridFSStreamError",{enumerable:!0,get:function(){return Z.MongoGridFSStreamError}});Object.defineProperty(d,"MongoInvalidArgumentError",{enumerable:!0,get:function(){return Z.MongoInvalidArgumentError}});Object.defineProperty(d,"MongoKerberosError",{enumerable:!0,get:function(){return Z.MongoKerberosError}});Object.defineProperty(d,"MongoMissingCredentialsError",{enumerable:!0,get:function(){return Z.MongoMissingCredentialsError}});Object.defineProperty(d,"MongoMissingDependencyError",{enumerable:!0,get:function(){return Z.MongoMissingDependencyError}});Object.defineProperty(d,"MongoNetworkError",{enumerable:!0,get:function(){return Z.MongoNetworkError}});Object.defineProperty(d,"MongoNetworkTimeoutError",{enumerable:!0,get:function(){return Z.MongoNetworkTimeoutError}});Object.defineProperty(d,"MongoNotConnectedError",{enumerable:!0,get:function(){return Z.MongoNotConnectedError}});Object.defineProperty(d,"MongoOIDCError",{enumerable:!0,get:function(){return Z.MongoOIDCError}});Object.defineProperty(d,"MongoParseError",{enumerable:!0,get:function(){return Z.MongoParseError}});Object.defineProperty(d,"MongoRuntimeError",{enumerable:!0,get:function(){return Z.MongoRuntimeError}});Object.defineProperty(d,"MongoServerClosedError",{enumerable:!0,get:function(){return Z.MongoServerClosedError}});Object.defineProperty(d,"MongoServerError",{enumerable:!0,get:function(){return Z.MongoServerError}});Object.defineProperty(d,"MongoServerSelectionError",{enumerable:!0,get:function(){return Z.MongoServerSelectionError}});Object.defineProperty(d,"MongoSystemError",{enumerable:!0,get:function(){return Z.MongoSystemError}});Object.defineProperty(d,"MongoTailableCursorError",{enumerable:!0,get:function(){return Z.MongoTailableCursorError}});Object.defineProperty(d,"MongoTopologyClosedError",{enumerable:!0,get:function(){return Z.MongoTopologyClosedError}});Object.defineProperty(d,"MongoTransactionError",{enumerable:!0,get:function(){return Z.MongoTransactionError}});Object.defineProperty(d,"MongoUnexpectedServerResponseError",{enumerable:!0,get:function(){return Z.MongoUnexpectedServerResponseError}});Object.defineProperty(d,"MongoWriteConcernError",{enumerable:!0,get:function(){return Z.MongoWriteConcernError}});var Xb=d1();Object.defineProperty(d,"BatchType",{enumerable:!0,get:function(){return Xb.BatchType}});var Jb=$h();Object.defineProperty(d,"AutoEncryptionLoggerLevel",{enumerable:!0,get:function(){return Jb.AutoEncryptionLoggerLevel}});var Qb=fa();Object.defineProperty(d,"GSSAPICanonicalizationValue",{enumerable:!0,get:function(){return Qb.GSSAPICanonicalizationValue}});var Zb=wr();Object.defineProperty(d,"AuthMechanism",{enumerable:!0,get:function(){return Zb.AuthMechanism}});var eT=N1();Object.defineProperty(d,"Compressor",{enumerable:!0,get:function(){return eT.Compressor}});var tT=zr();Object.defineProperty(d,"CURSOR_FLAGS",{enumerable:!0,get:function(){return tT.CURSOR_FLAGS}});var rT=_();Object.defineProperty(d,"MongoErrorLabel",{enumerable:!0,get:function(){return rT.MongoErrorLabel}});var nT=hl();Object.defineProperty(d,"ExplainVerbosity",{enumerable:!0,get:function(){return nT.ExplainVerbosity}});var sT=ds();Object.defineProperty(d,"ServerApiVersion",{enumerable:!0,get:function(){return sT.ServerApiVersion}});var oT=y2();Object.defineProperty(d,"ReturnDocument",{enumerable:!0,get:function(){return oT.ReturnDocument}});var iT=j2();Object.defineProperty(d,"ProfilingLevel",{enumerable:!0,get:function(){return iT.ProfilingLevel}});var uT=Pt();Object.defineProperty(d,"ReadConcernLevel",{enumerable:!0,get:function(){return uT.ReadConcernLevel}});var aT=xe();Object.defineProperty(d,"ReadPreferenceMode",{enumerable:!0,get:function(){return aT.ReadPreferenceMode}});var e7=wt();Object.defineProperty(d,"ServerType",{enumerable:!0,get:function(){return e7.ServerType}});Object.defineProperty(d,"TopologyType",{enumerable:!0,get:function(){return e7.TopologyType}});var cT=Pt();Object.defineProperty(d,"ReadConcern",{enumerable:!0,get:function(){return cT.ReadConcern}});var lT=xe();Object.defineProperty(d,"ReadPreference",{enumerable:!0,get:function(){return lT.ReadPreference}});var hT=ot();Object.defineProperty(d,"WriteConcern",{enumerable:!0,get:function(){return hT.WriteConcern}});var Qf=ed();Object.defineProperty(d,"CommandFailedEvent",{enumerable:!0,get:function(){return Qf.CommandFailedEvent}});Object.defineProperty(d,"CommandStartedEvent",{enumerable:!0,get:function(){return Qf.CommandStartedEvent}});Object.defineProperty(d,"CommandSucceededEvent",{enumerable:!0,get:function(){return Qf.CommandSucceededEvent}});var Yt=Nd();Object.defineProperty(d,"ConnectionCheckedInEvent",{enumerable:!0,get:function(){return Yt.ConnectionCheckedInEvent}});Object.defineProperty(d,"ConnectionCheckedOutEvent",{enumerable:!0,get:function(){return Yt.ConnectionCheckedOutEvent}});Object.defineProperty(d,"ConnectionCheckOutFailedEvent",{enumerable:!0,get:function(){return Yt.ConnectionCheckOutFailedEvent}});Object.defineProperty(d,"ConnectionCheckOutStartedEvent",{enumerable:!0,get:function(){return Yt.ConnectionCheckOutStartedEvent}});Object.defineProperty(d,"ConnectionClosedEvent",{enumerable:!0,get:function(){return Yt.ConnectionClosedEvent}});Object.defineProperty(d,"ConnectionCreatedEvent",{enumerable:!0,get:function(){return Yt.ConnectionCreatedEvent}});Object.defineProperty(d,"ConnectionPoolClearedEvent",{enumerable:!0,get:function(){return Yt.ConnectionPoolClearedEvent}});Object.defineProperty(d,"ConnectionPoolClosedEvent",{enumerable:!0,get:function(){return Yt.ConnectionPoolClosedEvent}});Object.defineProperty(d,"ConnectionPoolCreatedEvent",{enumerable:!0,get:function(){return Yt.ConnectionPoolCreatedEvent}});Object.defineProperty(d,"ConnectionPoolMonitoringEvent",{enumerable:!0,get:function(){return Yt.ConnectionPoolMonitoringEvent}});Object.defineProperty(d,"ConnectionPoolReadyEvent",{enumerable:!0,get:function(){return Yt.ConnectionPoolReadyEvent}});Object.defineProperty(d,"ConnectionReadyEvent",{enumerable:!0,get:function(){return Yt.ConnectionReadyEvent}});var un=Xa();Object.defineProperty(d,"ServerClosedEvent",{enumerable:!0,get:function(){return un.ServerClosedEvent}});Object.defineProperty(d,"ServerDescriptionChangedEvent",{enumerable:!0,get:function(){return un.ServerDescriptionChangedEvent}});Object.defineProperty(d,"ServerHeartbeatFailedEvent",{enumerable:!0,get:function(){return un.ServerHeartbeatFailedEvent}});Object.defineProperty(d,"ServerHeartbeatStartedEvent",{enumerable:!0,get:function(){return un.ServerHeartbeatStartedEvent}});Object.defineProperty(d,"ServerHeartbeatSucceededEvent",{enumerable:!0,get:function(){return un.ServerHeartbeatSucceededEvent}});Object.defineProperty(d,"ServerOpeningEvent",{enumerable:!0,get:function(){return un.ServerOpeningEvent}});Object.defineProperty(d,"TopologyClosedEvent",{enumerable:!0,get:function(){return un.TopologyClosedEvent}});Object.defineProperty(d,"TopologyDescriptionChangedEvent",{enumerable:!0,get:function(){return un.TopologyDescriptionChangedEvent}});Object.defineProperty(d,"TopologyOpeningEvent",{enumerable:!0,get:function(){return un.TopologyOpeningEvent}});var ti=xf();Object.defineProperty(d,"ServerSelectionEvent",{enumerable:!0,get:function(){return ti.ServerSelectionEvent}});Object.defineProperty(d,"ServerSelectionFailedEvent",{enumerable:!0,get:function(){return ti.ServerSelectionFailedEvent}});Object.defineProperty(d,"ServerSelectionStartedEvent",{enumerable:!0,get:function(){return ti.ServerSelectionStartedEvent}});Object.defineProperty(d,"ServerSelectionSucceededEvent",{enumerable:!0,get:function(){return ti.ServerSelectionSucceededEvent}});Object.defineProperty(d,"WaitingForSuitableServerEvent",{enumerable:!0,get:function(){return ti.WaitingForSuitableServerEvent}});var dT=Uf();Object.defineProperty(d,"SrvPollingEvent",{enumerable:!0,get:function(){return dT.SrvPollingEvent}});var jo=ho();Object.defineProperty(d,"MongoCryptAzureKMSRequestError",{enumerable:!0,get:function(){return jo.MongoCryptAzureKMSRequestError}});Object.defineProperty(d,"MongoCryptCreateDataKeyError",{enumerable:!0,get:function(){return jo.MongoCryptCreateDataKeyError}});Object.defineProperty(d,"MongoCryptCreateEncryptedCollectionError",{enumerable:!0,get:function(){return jo.MongoCryptCreateEncryptedCollectionError}});Object.defineProperty(d,"MongoCryptError",{enumerable:!0,get:function(){return jo.MongoCryptError}});Object.defineProperty(d,"MongoCryptInvalidArgumentError",{enumerable:!0,get:function(){return jo.MongoCryptInvalidArgumentError}});Object.defineProperty(d,"MongoCryptKMSRequestNetworkTimeoutError",{enumerable:!0,get:function(){return jo.MongoCryptKMSRequestNetworkTimeoutError}});var fT=Mf();Object.defineProperty(d,"MongoClientAuthProviders",{enumerable:!0,get:function(){return fT.MongoClientAuthProviders}})});import f7 from"sift";var ys=globalThis.__insite_publications??=new Map,Ss=class{constructor(e,r){this.name=e,r&&Object.assign(this,r),ys.set(e,this)}name;onSubscribe;onUnsubscribe;type="object";subscriptions=new Set;fetchSubscription(e,...r){return this.fetch?.(...e.args)}subscribe(e){this.subscriptions.add(e),this.onSubscribe?.(e)}changed(e){for(let r of this.subscriptions)r.changed(e)}unsubscribe(e){this.onUnsubscribe?.(e),this.subscriptions.delete(e)}static publications=ys};var Os=class{constructor(e,r,n,s,o){let i=ys.get(e);i?(this.publication=i,this.args=r,this.handler=n,o||(this.publication.subscribe(this),s&&this.changed(null))):process.env.NODE_ENV==="development"&&console.error("Unknown publication",e)}publication;args;handler;async changed(e){this.handler(await this.publication.fetchSubscription(this,e),e)}cancel(){this.publication?.unsubscribe(this)}renew(){return this.publication?.unsubscribe(this),this.publication?.subscribe(this),this.changed(null)}};var cn=class extends Os{constructor(e,r,n,s){super(e,r,n,s,!0),this.publication&&(this.publication.subscribe(this),s&&this.changed(null))}ids=new Set;query=null;projection=null;isProjectionInclusive=!1;fields=null;sort=null;match;async changed(e){this.handler([await this.publication.fetchSubscription(this,e)])}updates=[];flushTimeout;flushUpdates=()=>{this.updates.length&&(this.handler(this.updates),this.updates=[])};collectionChangeListener=async e=>{!Hc.has(e)&&"documentKey"in e&&(this.ids.has(e.documentKey._id)?e.operationType!=="update"||!this.fields||e.updateDescription.updatedFields&&Object.keys(e.updateDescription.updatedFields).some(r=>this.fields.has(r)):"fullDocument"in e&&this.match(e.fullDocument))&&(clearTimeout(this.flushTimeout),this.updates.push(await this.publication.fetchSubscription(this,e)),this.flushTimeout=setTimeout(this.flushUpdates,1))}};function zo(t,e,r=!0,n=!0){if(e)if(r){let s={};for(let o in e){let i=e[o];s[o]=typeof i=="object"?Array.isArray(t[o])?t[o].map(u=>zo(u,i,!0,!1)):zo(t[o],i,!0,!1):t[o]}return n&&e._id===0&&delete s._id,s}else{let s={...t};for(let o in e){let i=e[o];typeof i=="object"?s[o]=Array.isArray(t[o])?t[o].map(u=>zo(u,i,!1,!1)):zo(t[o],i,!1,!1):delete s[o]}return s}return t}var Hc=new WeakSet,ii=class extends Ss{constructor(e,r,n,s){super(r),this.collection=e,this.queryProps=n,this.transform=s}type="map";collection;queryProps;transform;skip(e){Hc.add(e)}makeQueryProps(e){let{query:r=null,projection:n=null,sort:s=null,triggers:o}=(typeof this.queryProps=="function"?this.queryProps(...e):this.queryProps)||{},i=!1,u=null;if(n){for(let a in n)if(i=!!n[a],a!=="_id")break;i&&(u=new Set([...Object.keys(r??{}),...Object.keys(n),...o??[]]),u.delete("_id"),n._id!==0&&(n._id=1))}return{query:r,projection:n,isProjectionInclusive:i,fields:u,sort:s,args:e}}async fetchSubscription(e,r){if(e instanceof cn&&e.query){if(r&&"documentKey"in r){let o=r.documentKey._id;if(r.operationType==="insert"||r.operationType!=="delete"&&e.match(r.fullDocument)){let i=zo(r.fullDocument,e.projection,e.isProjectionInclusive);return this.transform?.(i,e.args),e.ids.has(o)?["u",i,"updateDescription"in r&&r.updateDescription.updatedFields&&Object.keys(r.updateDescription.updatedFields)]:(e.ids.add(o),["c",i])}return e.ids.delete(o),["d",o]}let n=this.collection.find(e.query);e.projection&&n.project(e.projection),e.sort&&n.sort(e.sort);let s=await n.toArray();if(e.ids)if(e.ids.clear(),this.transform)for(let o of s)e.ids.add(o._id),this.transform(o,e.args);else for(let o of s)e.ids.add(o._id);else if(this.transform)for(let o of s)this.transform(o,e.args);return["i",s,e.sort]}return null}changed(e){return Promise.all([...this.subscriptions].map(r=>r.changed(e)))}onSubscribe=e=>{e instanceof cn&&(Object.assign(e,this.makeQueryProps(e.args)),e.query&&(e.match=f7(e.query),this.collection.changeListeners.add(e.collectionChangeListener)))};flushInitial(){return Promise.all([...this.subscriptions].map(async e=>{let r=await this.fetchSubscription(e,null);e.handler([r]),e.updates=[]}))}onUnsubscribe=e=>{e instanceof cn&&e.query&&this.collection.changeListeners.delete(e.collectionChangeListener)}};var ui=class extends ii{constructor(e,...r){super(e,...r)}};var ai=class extends cn{constructor(...e){super(...e)}};var Wo=class extends Ss{constructor(...e){super(...e)}};var ci=class extends Os{constructor(...e){super(...e)}};var lt={};Zf(lt,{connect:()=>AT,newObjectIdString:()=>gT});var t7=oi(ri(),1),r7=oi(ri(),1),n7=oi(ri(),1);Xt(lt,oi(ri(),1));function pT(t){process.env.NODE_ENV==="development"&&console.log("Change stream change",this.parent.collectionName,t);for(let e of this.parent.changeListeners)e(t)}function mT(t){console.error(`\u{1F33F}\u2757\uFE0F Mongo ${this.parent.collectionName} Change Stream:
12
- `,t.stack)}var ET=class extends Map{constructor(t){super(),this.db=t}db;async ensure(t,e={}){let{db:r}=this,n=this.get(t);return n||((await r.listCollections({name:t},{nameOnly:!0}).toArray()).length?n=r.collection(t):(n=await r.createCollection(t,{...e.jsonSchema&&{validator:{$jsonSchema:e.jsonSchema}},...e.blockCompressor&&{storageEngine:{wiredTiger:{configString:`block_compressor=${e.blockCompressor}`}}}}),delete e.jsonSchema,delete e.blockCompressor),this.set(t,n),this[t]=n,e.watch!==!1&&(n.changeListeners=new Set,n.changeStream=n.watch(void 0,{fullDocument:e.fullDocument===!1?void 0:"updateLookup"}).on("change",pT).on("error",mT))),e.jsonSchema&&await r.command({collMod:t,...e.jsonSchema&&{validator:{$jsonSchema:e.jsonSchema}}}),n}};async function AT({url:t,name:e,...r}){/localhost/.test(t)&&(t=t.replace(/localhost/,"127.0.0.1"));let n=new t7.MongoClient(t,{maxPoolSize:100,...r});try{await n.connect(),console.info("\u{1F33F} Mongo Client connected to",t.replace(/(?<=\/\/)[^:]+?:[^@]+@/,"").replace(/[/?][^/]*$/,""))}catch(i){console.error("\u{1F33F}\u2757\uFE0F Mongo Client connection: ",i)}n.on("close",()=>console.error("\u{1F33F}\u2757\uFE0F Mongo DB socket closed")).on("error",i=>console.error("\u{1F33F}\u2757\uFE0F Mongo DB:",i)).on("parseError",i=>console.error("\u{1F33F}\u2757\uFE0F Mongo DB parse:",i)).on("reconnect",()=>console.info("\u{1F33F} Mongo DB reconnected")).on("timeout",()=>console.error("\u{1F33F}\u2757\uFE0F Mongo DB timeout"));let s=n.db(e),o=new ET(s);return{client:n,db:s,collections:o}}r7.Collection.prototype.ensureIndexes=async function(t){try{for(let e of t)await this.createIndex(...e)}catch{}};function gT(){return new n7.ObjectId().toString()}var Gc=class extends Map{subscribe=this.set;renew(){return Promise.all([...this.values()].map(e=>e.renew()))}cancel(e){this.get(e)?.cancel(),this.delete(e)}};var CT=["object","map"];function yT(t){return t.type==="map"}function ST(t){return t[0]instanceof lt.Collection}var s7=class{constructor(e,r){e.on("client-connect",this.handleClientConnect),e.on("client-session",this.handleClientSession),e.on("client-message:s-s",this.handleClientSubscribe),e.on("client-message:s-u",this.handleClientUnsubscribe),e.on("client-close",this.handleClientClose),e.on("should-renew-subscriptions",this.renewSubscriptionsFor),Object.assign(e,{publish:r?function(...s){return ST(s)?new ui(...s):new Wo(...s)}:function(...n){return new Wo(...n)}})}wsSubscriptionMap=new WeakMap;renewSubscriptionsFor(e){for(let r of e)this.wsSubscriptionMap.get(r)?.renew()}handleClientConnect(e){this.wsSubscriptionMap.set(e,new Gc)}handleClientSession(e){this.wsSubscriptionMap.get(e)?.renew()}handleClientSubscribe(e,r,n,s,o,i){if(CT.includes(r)){let u=ys.get(n);if(u?.type===r){let a=l=>e.sendMessage("s-c",s,l),c;yT(u)?c=new ai(n,[e,...o],a,i):c=new ci(n,[e,...o],a,i),this.wsSubscriptionMap.get(e)?.subscribe(s,c)}}}handleClientUnsubscribe(e,r){this.wsSubscriptionMap.get(e)?.cancel(r)}handleClientClose(e){for(let r of this.wsSubscriptionMap.get(e)?.values()??[])r.cancel()}};export{ui as CollectionMapPublication,ai as CollectionMapSubscriptionHandle,Wo as Publication,ci as SubscriptionHandle,s7 as SubscriptionHandler};
1
+ import w from"sift";var l=globalThis.__insite_publications??=new Map,u=class{constructor(e,t){this.name=e,t&&Object.assign(this,t),l.set(e,this)}name;onSubscribe;onUnsubscribe;type="object";subscriptions=new Set;fetchSubscription(e,...t){return this.fetch?.(...e.args)}subscribe(e){this.subscriptions.add(e),this.onSubscribe?.(e)}changed(e){for(let t of this.subscriptions)t.changed(e)}unsubscribe(e){this.onUnsubscribe?.(e),this.subscriptions.delete(e)}static publications=l};var p=class{constructor(e,t,o,n,i){let r=l.get(e);r?(this.publication=r,this.args=t,this.handler=o,i||(this.publication.subscribe(this),n&&this.changed(null))):process.env.NODE_ENV==="development"&&console.error("Unknown publication",e)}publication;args;handler;async changed(e){this.handler(await this.publication.fetchSubscription(this,e),e)}cancel(){this.publication?.unsubscribe(this)}renew(){return this.publication?.unsubscribe(this),this.publication?.subscribe(this),this.changed(null)}};var a=class extends p{constructor(e,t,o,n){super(e,t,o,n,!0),this.publication&&(this.publication.subscribe(this),n&&this.changed(null))}ids=new Set;query=null;projection=null;isProjectionInclusive=!1;fields=null;sort=null;match;async changed(e){this.handler([await this.publication.fetchSubscription(this,e)])}updates=[];flushTimeout;flushUpdates=()=>{this.updates.length&&(this.handler(this.updates),this.updates=[])};collectionChangeListener=async e=>{!y.has(e)&&"documentKey"in e&&(this.ids.has(e.documentKey._id)?e.operationType!=="update"||!this.fields||e.updateDescription.updatedFields&&Object.keys(e.updateDescription.updatedFields).some(t=>this.fields.has(t)):"fullDocument"in e&&this.match(e.fullDocument))&&(clearTimeout(this.flushTimeout),this.updates.push(await this.publication.fetchSubscription(this,e)),this.flushTimeout=setTimeout(this.flushUpdates,1))}};function m(s,e,t=!0,o=!0){if(e)if(t){let n={};for(let i in e){let r=e[i];n[i]=typeof r=="object"?Array.isArray(s[i])?s[i].map(c=>m(c,r,!0,!1)):m(s[i],r,!0,!1):s[i]}return o&&e._id===0&&delete n._id,n}else{let n={...s};for(let i in e){let r=e[i];typeof r=="object"?n[i]=Array.isArray(s[i])?s[i].map(c=>m(c,r,!1,!1)):m(s[i],r,!1,!1):delete n[i]}return n}return s}var y=new WeakSet,h=class extends u{constructor(e,t,o,n){super(t),this.collection=e,this.queryProps=o,this.transform=n}type="map";collection;queryProps;transform;skip(e){y.add(e)}makeQueryProps(e){let{query:t=null,projection:o=null,sort:n=null,triggers:i}=(typeof this.queryProps=="function"?this.queryProps(...e):this.queryProps)||{},r=!1,c=null;if(o){for(let S in o)if(r=!!o[S],S!=="_id")break;r&&(c=new Set([...Object.keys(t??{}),...Object.keys(o),...i??[]]),c.delete("_id"),o._id!==0&&(o._id=1))}return{query:t,projection:o,isProjectionInclusive:r,fields:c,sort:n,args:e}}async fetchSubscription(e,t){if(e instanceof a&&e.query){if(t&&"documentKey"in t){let i=t.documentKey._id;if(t.operationType==="insert"||t.operationType!=="delete"&&e.match(t.fullDocument)){let r=m(t.fullDocument,e.projection,e.isProjectionInclusive);return this.transform?.(r,e.args),e.ids.has(i)?["u",r,"updateDescription"in t&&t.updateDescription.updatedFields&&Object.keys(t.updateDescription.updatedFields)]:(e.ids.add(i),["c",r])}return e.ids.delete(i),["d",i]}let o=this.collection.find(e.query);e.projection&&o.project(e.projection),e.sort&&o.sort(e.sort);let n=await o.toArray();if(e.ids)if(e.ids.clear(),this.transform)for(let i of n)e.ids.add(i._id),this.transform(i,e.args);else for(let i of n)e.ids.add(i._id);else if(this.transform)for(let i of n)this.transform(i,e.args);return["i",n,e.sort]}return null}changed(e){return Promise.all([...this.subscriptions].map(t=>t.changed(e)))}onSubscribe=e=>{e instanceof a&&(Object.assign(e,this.makeQueryProps(e.args)),e.query&&(e.match=w(e.query),this.collection.changeListeners.add(e.collectionChangeListener)))};flushInitial(){return Promise.all([...this.subscriptions].map(async e=>{let t=await this.fetchSubscription(e,null);e.handler([t]),e.updates=[]}))}onUnsubscribe=e=>{e instanceof a&&e.query&&this.collection.changeListeners.delete(e.collectionChangeListener)}};var d=class extends h{constructor(e,...t){super(e,...t)}};var f=class extends a{constructor(...e){super(...e)}};var b=class extends u{constructor(...e){super(...e)}};var A=class extends p{constructor(...e){super(...e)}};import{Collection as x}from"insite-db";var g=class extends Map{subscribe=this.set;renew(){return Promise.all([...this.values()].map(e=>e.renew()))}cancel(e){this.get(e)?.cancel(),this.delete(e)}};var k=["object","map"];function j(s){return s.type==="map"}function v(s){return s[0]instanceof x}var P=class{constructor(e,t){e.on("client-connect",this.handleClientConnect),e.on("client-session",this.handleClientSession),e.on("client-message:s-s",this.handleClientSubscribe),e.on("client-message:s-u",this.handleClientUnsubscribe),e.on("client-close",this.handleClientClose),e.on("should-renew-subscriptions",this.renewSubscriptionsFor),Object.assign(e,{publish:t?function(...n){return v(n)?new d(...n):new b(...n)}:function(...o){return new b(...o)}})}wsSubscriptionMap=new WeakMap;renewSubscriptionsFor=e=>{for(let t of e)this.wsSubscriptionMap.get(t)?.renew()};handleClientConnect=e=>this.wsSubscriptionMap.set(e,new g);handleClientSession=e=>this.wsSubscriptionMap.get(e)?.renew();handleClientSubscribe=(e,t,o,n,i,r)=>{if(k.includes(t)){let c=l.get(o);if(c?.type===t){let S=C=>e.sendMessage("s-c",n,C),D;j(c)?D=new f(o,[e,...i],S,r):D=new A(o,[e,...i],S,r),this.wsSubscriptionMap.get(e)?.subscribe(n,D)}}};handleClientUnsubscribe=(e,t)=>this.wsSubscriptionMap.get(e)?.cancel(t);handleClientClose=e=>{for(let t of this.wsSubscriptionMap.get(e)?.values()??[])t.cancel()}};export{d as CollectionMapPublication,f as CollectionMapSubscriptionHandle,b as Publication,A as SubscriptionHandle,P as SubscriptionHandler};
13
2
  //# sourceMappingURL=index.js.map