@loaders.gl/flatgeobuf 3.0.13 → 3.0.14
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/dist.es5.min.js +1 -1
- package/dist/dist.es5.min.js.map +1 -1
- package/dist/dist.min.js +1 -1
- package/dist/dist.min.js.map +1 -1
- package/dist/es5/bundle.js +2 -2
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/flatgeobuf-loader.js +3 -3
- package/dist/es5/flatgeobuf-loader.js.map +1 -1
- package/dist/es5/index.js +43 -7
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/parse-flatgeobuf.js +6 -5
- package/dist/es5/lib/parse-flatgeobuf.js.map +1 -1
- package/dist/esm/flatgeobuf-loader.js +1 -1
- package/dist/flatgeobuf-worker.js +1 -1
- package/dist/flatgeobuf-worker.js.map +1 -1
- package/package.json +3 -3
package/dist/dist.es5.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/bundle.ts","webpack:///(webpack)/buildin/global.js","webpack:///./src/index.ts","webpack:///./src/flatgeobuf-loader.ts","webpack:///./src/lib/parse-flatgeobuf.ts","webpack:////Users/kbarron/github/mapping/loaders.gl/node_modules/flatgeobuf/dist/flatgeobuf-geojson.min.js","webpack:////Users/kbarron/github/mapping/loaders.gl/node_modules/flatgeobuf/node_modules/web-streams-polyfill/dist/ponyfill.mjs"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","moduleExports","require","_global","window","global","loaders","assign","g","this","Function","e","FlatGeobufLoader","FlatGeobufWorkerLoader","parse","arrayBuffer","options","parseSync","parseFlatGeobuf","parseInBatchesFromStream","parseFlatGeobufInBatches","binary","_typecheckFlatGeobufLoader","id","version","worker","extensions","mimeTypes","category","flatgeobuf","input","byteLength","arr","Uint8Array","deserialize","features","stream","deserializeStream","type","Byte","UByte","Bool","Short","UShort","Int","UInt","Long","ULong","Float","Double","String","Json","DateTime","Binary","geometryType","columns","featuresCount","a","b","u","h","UTF8_BYTES","UTF16_STRING","int32","Int32Array","float32","Float32Array","buffer","float64","Float64Array","isLittleEndian","Uint16Array","low","high","ZERO","toFloat64","equals","Builder","bb","ByteBuffer","allocate","space","minalign","vtable","vtable_in_use","isNested","object_start","vtables","vector_num_elems","force_defaults","clear","capacity","forceDefaults","dataBuffer","asUint8Array","bytes","subarray","position","offset","prep","growByteBuffer","pad","writeInt8","writeInt16","writeInt32","writeInt64","writeFloat32","writeFloat64","addInt8","addInt16","addInt32","addInt64","addFloat32","addFloat64","addFieldInt8","slot","addFieldInt16","addFieldInt32","addFieldInt64","addFieldFloat32","addFieldFloat64","addFieldOffset","addOffset","addFieldStruct","nested","Error","notNested","setPosition","set","SIZEOF_INT","startObject","endObject","SIZEOF_SHORT","length","readInt16","push","finish","SIZE_PREFIX_LENGTH","FILE_IDENTIFIER_LENGTH","charCodeAt","finishSizePrefixed","requiredField","readInt32","startVector","endVector","createString","createLong","bytes_","position_","readInt8","readUint8","readUint16","readUint32","readInt64","readUint64","readFloat32","readFloat64","writeUint8","writeUint16","writeUint32","writeUint64","getBufferIdentifier","fromCharCode","__offset","__union","bb_pos","__string","Encoding","__indirect","__vector","__vector_len","__has_identifier","Unknown","Point","LineString","Polygon","MultiPoint","MultiLineString","MultiPolygon","GeometryCollection","CircularString","CompoundCurve","CurvePolygon","MultiCurve","MultiSurface","Curve","Surface","PolyhedralSurface","TIN","Triangle","f","__init","start","addName","addType","end","Uint32Array","byteOffset","addEnds","addXy","addZ","addM","addT","addTm","addParts","addGeometry","addProperties","addColumns","addOrg","addCode","addDescription","addWkt","_","addEnvelope","addGeometryType","addHasZ","addHasM","addHasT","addHasTM","addFeaturesCount","addIndexNodeSize","addCrs","y","reduce","Array","isArray","concat","v","I","coordinates","map","geometries","xy","ends","parts","B","partsLength","xyArray","from","slice","w","endsArray","F","geometry","propertiesArray","DataView","propertiesLength","getUint16","getUint8","getInt8","getInt16","getInt32","getUint32","Number","getBigInt64","getBigUint64","getFloat64","TextDecoder","decode","properties","E","asyncIterator","iterator","TypeError","S","wrapped","U","Promise","resolve","then","done","reject","next","arg","_invoke","return","T","apply","arguments","L","throw","P","O","N","_source","_array","_index","V","Math","min","max","ceil","C","reverse","A","x","minX","minY","maxX","maxY","pop","sort","read","cancel","k","M","G","every","getRoot","columnsLength","indexNodeSize","async","D","H","keys","Set","add","createColumnsVector","Z","setUint16","setUint8","setInt16","setInt32","setUint32","setBigInt64","BigInt","setBigUint64","setFloat64","TextEncoder","encode","createPropertiesVector","createPartsVector","createXyVector","createEndsVector","j","z","fetch","headers","Range","ReadableStream","getReader","R","serialize","SymbolPolyfill","description","noop","NumberIsNaN","isNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","args","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","method","undefined","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","ValidateAndNormalizeHighWaterMark","highWaterMark","RangeError","MakeSizeAlgorithmFromSizeFunction","size","chunk","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","executor","reason","PerformPromiseThen","promise","onFulfilled","onRejected","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","configurable","element","oldBack","newBack","QUEUE_MAX_ARRAY_SIZE","shift","oldFront","newFront","oldCursor","newCursor","forEach","callback","node","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","obj","ReadableStreamReaderGenericInitialize","reader","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseResolve","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","result","_preventCancel","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","ResetQueue","setPrototypeOf","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","controller","WritableStreamDefaultController","writeAlgorithm","closeAlgorithm","abortAlgorithm","SetUpWritableStreamDefaultController","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","close","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","state","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerAdvanceQueueIfNeeded","WritableStreamDealWithRejection","error","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","writeRequest","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseResolve","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultControllerGetDesiredSize","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","write","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","releasedError","chunkSize","_strategySizeAlgorithm","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","WritableStreamDefaultControllerGetChunkSize","WritableStreamAddWriteRequest","writeRecord","enqueueE","_controlledWritableStream","WritableStreamDefaultControllerGetBackpressure","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","startAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamMarkCloseRequestInFlight","sinkClosePromise","WritableStreamFinishInFlightClose","WritableStreamFinishInFlightCloseWithError","WritableStreamDefaultControllerProcessClose","WritableStreamMarkFirstWriteRequestInFlight","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamDefaultControllerProcessWrite","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","ctor","DOMException$1","isDOMExceptionConstructor","message","captureStackTrace","constructor","writable","ReadableStreamPipeTo","source","dest","preventClose","preventAbort","preventCancel","signal","shuttingDown","currentWrite","action","actions","shutdownWithAction","all","addEventListener","isOrBecomesErrored","shutdown","WritableStreamDefaultWriterCloseWithErrorPropagation","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","resolveLoop","rejectLoop","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAlgorithm","_pullAgain","ReadableStreamError","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","NumberIsInteger","isInteger","isFinite","floor","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespondInternal","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","firstDescriptor","_pendingPullIntos","bytesFilled","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","byobRequest","request","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerClose","transferredBuffer","ReadableByteStreamControllerEnqueueChunkToQueue","transferredView","ReadableStreamHasBYOBReader","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerEnqueue","entry","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","_readIntoRequests","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","destOffset","src","srcOffset","queue","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerRespondInClosedState","remainderSize","remainder","ReadableByteStreamControllerRespondInReadableState","descriptor","ReadableByteStreamControllerClearPendingPullIntos","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","SetUpReadableByteStreamController","ReadableStreamAddReadIntoRequest","readIntoRequest","IsReadableStreamBYOBReader","ReadableStreamBYOBReader","byobReaderBrandCheckException","BYTES_PER_ELEMENT","ReadableByteStreamControllerPullInto","ReadableStreamBYOBReaderRead","underlyingSource","InitializeReadableStream","SetUpReadableStreamDefaultControllerFromUnderlyingSource","streamBrandCheckException$1","AcquireReadableStreamBYOBReader","pipeThrough","_b","readable","_c","Boolean","pipeTo","tee","branches","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","CreateReadableStream","compositeReason","cancelResult","ReadableStreamTee","getIterator","AcquireReadableStreamAsyncIterator","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","startPromise","_writable","CreateWritableStream","_transformStreamController","_backpressureChangePromise","TransformStreamDefaultControllerPerformTransform","TransformStreamDefaultSinkWriteAlgorithm","_readable","flushPromise","_flushAlgorithm","TransformStreamDefaultControllerClearAlgorithms","readableController","TransformStreamError","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamSetBackpressure","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise_resolve","InitializeTransformStream","TransformStreamDefaultController","transformAlgorithm","TransformStreamDefaultControllerEnqueue","transformResultE","transformMethod","transform","flushAlgorithm","_controlledTransformStream","_transformAlgorithm","SetUpTransformStreamDefaultController","SetUpTransformStreamDefaultControllerFromTransformer","startResult","IsTransformStream","streamBrandCheckException$2","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","terminate","TransformStreamDefaultControllerTerminate","ReadableStreamDefaultControllerHasBackpressure"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,4CCjFrD,IAAMC,EAAgBC,EAAQ,GACxBC,EAA4B,oBAAXC,OAAyBC,EAASD,OACzDD,EAAQG,QAAUH,EAAQG,SAAW,GACrCtC,EAAOD,QAAUY,OAAO4B,OAAOJ,EAAQG,QAASL,K,+BCJhD,IAAIO,EAGJA,EAAI,WACH,OAAOC,KADJ,GAIJ,IAECD,EAAIA,GAAK,IAAIE,SAAS,cAAb,GACR,MAAOC,GAEc,iBAAXP,SAAqBI,EAAIJ,QAOrCpC,EAAOD,QAAUyC,G,sdClBjB,WACA,E,ybAAA,O,+6BAIO,I,EAEA,EAFMI,EAAmB,EAAH,KACxBC,oBADwB,IAE3BC,O,EAAK,yBAAE,WAAOC,EAAaC,GAApB,0GAAgC,aAAgBD,EAAaC,IAA7D,0CAAF,E,8KAAA,+CACLC,UAAWC,UACXC,yBAA0BC,2BAC1BC,QAAQ,I,qBAGH,IAAMC,EAA+CV,E,qKCV5D,IAEaA,EAAmB,CAC9BW,GAAI,aACJ/C,KAAM,aACNR,OAAQ,aACRwD,QANc,SAOdC,QAAQ,EACRC,WAAY,CAAC,OACbC,UAAW,CAAC,4BACZC,SAAU,WACVZ,QAAS,CACPa,WAAY,K,qBAIT,IAAMP,EAAqCV,E,wHCXnC,SAAyBkB,EAAOd,GAC7C,GAAyB,IAArBc,EAAMC,WACR,MAAO,GAGT,IAAMC,EAAM,IAAIC,WAAWH,GAE3B,OADmB,IAAAI,aAAYF,GAAxBG,U,2BAUF,SAAkCC,EAAQpB,GAE/C,OADiB,IAAAqB,mBAAkBD,IAzBrC,Y,iBCDkQ,SAAUjD,EAAEwB,GAAG,aAAa,MAAM5B,EAAE,YAAYI,EAAEwB,GAAGF,KAAKjC,KAAKW,EAAEsB,KAAK6B,KAAK3B,GAAG,IAAI1C,GAAG,SAASkB,GAAGA,EAAEA,EAAEoD,KAAK,GAAG,OAAOpD,EAAEA,EAAEqD,MAAM,GAAG,QAAQrD,EAAEA,EAAEsD,KAAK,GAAG,OAAOtD,EAAEA,EAAEuD,MAAM,GAAG,QAAQvD,EAAEA,EAAEwD,OAAO,GAAG,SAASxD,EAAEA,EAAEyD,IAAI,GAAG,MAAMzD,EAAEA,EAAE0D,KAAK,GAAG,OAAO1D,EAAEA,EAAE2D,KAAK,GAAG,OAAO3D,EAAEA,EAAE4D,MAAM,GAAG,QAAQ5D,EAAEA,EAAE6D,MAAM,GAAG,QAAQ7D,EAAEA,EAAE8D,OAAO,IAAI,SAAS9D,EAAEA,EAAE+D,OAAO,IAAI,SAAS/D,EAAEA,EAAEgE,KAAK,IAAI,OAAOhE,EAAEA,EAAEiE,SAAS,IAAI,WAAWjE,EAAEA,EAAEkE,OAAO,IAAI,SAAnU,CAA6UpF,IAAIA,EAAE,KAAK,IAAIyB,EAAEzB,EAAE,MAAM+B,EAAE,YAAYb,EAAEwB,EAAE5B,GAAG0B,KAAK6C,aAAanE,EAAEsB,KAAK8C,QAAQ5C,EAAEF,KAAK+C,cAAczE,GAAG,IAAIL,EAAE+E,EAAEC,EAAEC,EAAEC,EAAE,CAAG,aAAe,EAAE,WAAa,EAAE,uBAAyB,EAAE,mBAAqB,EAAE,SAAW,CAACC,WAAW,EAAEC,aAAa,IAAGF,EAAEG,MAAM,IAAIC,WAAW,GAAGJ,EAAEK,QAAQ,IAAIC,aAAaN,EAAEG,MAAMI,QAAQP,EAAEQ,QAAQ,IAAIC,aAAaT,EAAEG,MAAMI,QAAQP,EAAEU,eAAe,IAAI,IAAIC,YAAY,IAAItC,WAAW,CAAC,EAAE,IAAIkC,QAAQ,GAAGP,EAAEd,KAAK,SAAS3D,EAAEwB,GAAGF,KAAK+D,IAAI,EAAErF,EAAEsB,KAAKgE,KAAK,EAAE9D,GAAGiD,EAAEd,KAAKvD,OAAO,SAASJ,EAAEwB,GAAG,OAAO,GAAGxB,GAAG,GAAGwB,EAAEiD,EAAEd,KAAK4B,KAAK,IAAId,EAAEd,KAAK3D,EAAEwB,IAAIiD,EAAEd,KAAKjD,UAAU8E,UAAU,WAAW,OAAOlE,KAAK+D,MAAM,GAAG,WAAW/D,KAAKgE,MAAMb,EAAEd,KAAKjD,UAAU+E,OAAO,SAASzF,GAAG,OAAOsB,KAAK+D,KAAKrF,EAAEqF,KAAK/D,KAAKgE,MAAMtF,EAAEsF,MAAMb,EAAEd,KAAK4B,KAAK,IAAId,EAAEd,KAAK,EAAE,GAAGc,EAAEiB,QAAQ,SAAS1F,GAAG,GAAGA,EAAEwB,EAAExB,OAAO,IAAIwB,EAAE,KAAKF,KAAKqE,GAAGlB,EAAEmB,WAAWC,SAASrE,GAAGF,KAAKwE,MAAMtE,EAAEF,KAAKyE,SAAS,EAAEzE,KAAK0E,OAAO,KAAK1E,KAAK2E,cAAc,EAAE3E,KAAK4E,UAAS,EAAG5E,KAAK6E,aAAa,EAAE7E,KAAK8E,QAAQ,GAAG9E,KAAK+E,iBAAiB,EAAE/E,KAAKgF,gBAAe,GAAI7B,EAAEiB,QAAQhF,UAAU6F,MAAM,WAAWjF,KAAKqE,GAAGY,QAAQjF,KAAKwE,MAAMxE,KAAKqE,GAAGa,WAAWlF,KAAKyE,SAAS,EAAEzE,KAAK0E,OAAO,KAAK1E,KAAK2E,cAAc,EAAE3E,KAAK4E,UAAS,EAAG5E,KAAK6E,aAAa,EAAE7E,KAAK8E,QAAQ,GAAG9E,KAAK+E,iBAAiB,EAAE/E,KAAKgF,gBAAe,GAAI7B,EAAEiB,QAAQhF,UAAU+F,cAAc,SAASzG,GAAGsB,KAAKgF,eAAetG,GAAGyE,EAAEiB,QAAQhF,UAAUgG,WAAW,WAAW,OAAOpF,KAAKqE,IAAIlB,EAAEiB,QAAQhF,UAAUiG,aAAa,WAAW,OAAOrF,KAAKqE,GAAGiB,QAAQC,SAASvF,KAAKqE,GAAGmB,WAAWxF,KAAKqE,GAAGmB,WAAWxF,KAAKyF,WAAWtC,EAAEiB,QAAQhF,UAAUsG,KAAK,SAAShH,EAAEwB,GAAGxB,EAAEsB,KAAKyE,WAAWzE,KAAKyE,SAAS/F,GAAG,IAAI,IAAIJ,EAAE,IAAI0B,KAAKqE,GAAGa,WAAWlF,KAAKwE,MAAMtE,GAAGxB,EAAE,EAAEsB,KAAKwE,MAAMlG,EAAEI,EAAEwB,GAAG,CAAC,IAAI1C,EAAEwC,KAAKqE,GAAGa,WAAWlF,KAAKqE,GAAGlB,EAAEiB,QAAQuB,eAAe3F,KAAKqE,IAAIrE,KAAKwE,OAAOxE,KAAKqE,GAAGa,WAAW1H,EAAEwC,KAAK4F,IAAItH,IAAI6E,EAAEiB,QAAQhF,UAAUwG,IAAI,SAASlH,GAAG,IAAI,IAAIwB,EAAE,EAAEA,EAAExB,EAAEwB,IAAIF,KAAKqE,GAAGwB,YAAY7F,KAAKwE,MAAM,IAAIrB,EAAEiB,QAAQhF,UAAUyG,UAAU,SAASnH,GAAGsB,KAAKqE,GAAGwB,UAAU7F,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU0G,WAAW,SAASpH,GAAGsB,KAAKqE,GAAGyB,WAAW9F,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU2G,WAAW,SAASrH,GAAGsB,KAAKqE,GAAG0B,WAAW/F,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU4G,WAAW,SAAStH,GAAGsB,KAAKqE,GAAG2B,WAAWhG,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU6G,aAAa,SAASvH,GAAGsB,KAAKqE,GAAG4B,aAAajG,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU8G,aAAa,SAASxH,GAAGsB,KAAKqE,GAAG6B,aAAalG,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU+G,QAAQ,SAASzH,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAK6F,UAAUnH,IAAIyE,EAAEiB,QAAQhF,UAAUgH,SAAS,SAAS1H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAK8F,WAAWpH,IAAIyE,EAAEiB,QAAQhF,UAAUiH,SAAS,SAAS3H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAK+F,WAAWrH,IAAIyE,EAAEiB,QAAQhF,UAAUkH,SAAS,SAAS5H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAKgG,WAAWtH,IAAIyE,EAAEiB,QAAQhF,UAAUmH,WAAW,SAAS7H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAKiG,aAAavH,IAAIyE,EAAEiB,QAAQhF,UAAUoH,WAAW,SAAS9H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAKkG,aAAaxH,IAAIyE,EAAEiB,QAAQhF,UAAUqH,aAAa,SAAS/H,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKmG,QAAQjG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAUuH,cAAc,SAASjI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKoG,SAASlG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAUwH,cAAc,SAASlI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKqG,SAASnG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAUyH,cAAc,SAASnI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,EAAEiE,OAAO7F,KAAK0B,KAAKsG,SAASpG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU0H,gBAAgB,SAASpI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKuG,WAAWrG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU2H,gBAAgB,SAASrI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKwG,WAAWtG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU4H,eAAe,SAAStI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKiH,UAAU/G,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU8H,eAAe,SAASxI,EAAEwB,EAAE5B,GAAG4B,GAAG5B,IAAI0B,KAAKmH,OAAOjH,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU+H,OAAO,SAASzI,GAAG,GAAGA,GAAGsB,KAAKyF,SAAS,MAAM,IAAI2B,MAAM,mDAAmDjE,EAAEiB,QAAQhF,UAAUiI,UAAU,WAAW,GAAGrH,KAAK4E,SAAS,MAAM,IAAIwC,MAAM,0DAA0DjE,EAAEiB,QAAQhF,UAAUsH,KAAK,SAAShI,GAAGsB,KAAK0E,OAAOhG,GAAGsB,KAAKyF,UAAUtC,EAAEiB,QAAQhF,UAAUqG,OAAO,WAAW,OAAOzF,KAAKqE,GAAGa,WAAWlF,KAAKwE,OAAOrB,EAAEiB,QAAQuB,eAAe,SAASjH,GAAG,IAAIwB,EAAExB,EAAEwG,WAAW,GAAG,WAAWhF,EAAE,MAAM,IAAIkH,MAAM,uDAAuD,IAAI9I,EAAE4B,GAAG,EAAE1C,EAAE2F,EAAEmB,WAAWC,SAASjG,GAAG,OAAOd,EAAE8J,YAAYhJ,EAAE4B,GAAG1C,EAAE8H,QAAQiC,IAAI7I,EAAE4G,QAAQhH,EAAE4B,GAAG1C,GAAG2F,EAAEiB,QAAQhF,UAAU6H,UAAU,SAASvI,GAAGsB,KAAK0F,KAAKvC,EAAEqE,WAAW,GAAGxH,KAAK+F,WAAW/F,KAAKyF,SAAS/G,EAAEyE,EAAEqE,aAAarE,EAAEiB,QAAQhF,UAAUqI,YAAY,SAAS/I,GAAGsB,KAAKqH,YAAY,MAAMrH,KAAK0E,SAAS1E,KAAK0E,OAAO,IAAI1E,KAAK2E,cAAcjG,EAAE,IAAI,IAAIwB,EAAE,EAAEA,EAAExB,EAAEwB,IAAIF,KAAK0E,OAAOxE,GAAG,EAAEF,KAAK4E,UAAS,EAAG5E,KAAK6E,aAAa7E,KAAKyF,UAAUtC,EAAEiB,QAAQhF,UAAUsI,UAAU,WAAW,GAAG,MAAM1H,KAAK0E,SAAS1E,KAAK4E,SAAS,MAAM,IAAIwC,MAAM,qDAAqDpH,KAAKqG,SAAS,GAAG,IAAI,IAAI3H,EAAEsB,KAAKyF,SAASvF,EAAEF,KAAK2E,cAAc,EAAEzE,GAAG,GAAG,GAAGF,KAAK0E,OAAOxE,GAAGA,KAAK,IAAI,IAAI5B,EAAE4B,EAAE,EAAEA,GAAG,EAAEA,IAAIF,KAAKoG,SAAS,GAAGpG,KAAK0E,OAAOxE,GAAGxB,EAAEsB,KAAK0E,OAAOxE,GAAG,GAAGF,KAAKoG,SAAS1H,EAAEsB,KAAK6E,cAAc,IAAIrH,GAAGc,EAAE,GAAG6E,EAAEwE,aAAa3H,KAAKoG,SAAS5I,GAAG,IAAIyB,EAAE,EAAEM,EAAES,KAAKwE,MAAM9F,EAAE,IAAIwB,EAAE,EAAEA,EAAEF,KAAK8E,QAAQ8C,OAAO1H,IAAI,CAAC,IAAIjC,EAAE+B,KAAKqE,GAAGa,WAAWlF,KAAK8E,QAAQ5E,GAAG,GAAG1C,GAAGwC,KAAKqE,GAAGwD,UAAU5J,GAAG,CAAC,IAAI,IAAI+E,EAAEG,EAAEwE,aAAa3E,EAAExF,EAAEwF,GAAGG,EAAEwE,aAAa,GAAG3H,KAAKqE,GAAGwD,UAAUtI,EAAEyD,IAAIhD,KAAKqE,GAAGwD,UAAU5J,EAAE+E,GAAG,SAAStE,EAAEO,EAAEe,KAAK8E,QAAQ5E,GAAG,OAAO,OAAOjB,GAAGe,KAAKwE,MAAMxE,KAAKqE,GAAGa,WAAWxG,EAAEsB,KAAKqE,GAAG0B,WAAW/F,KAAKwE,MAAMvF,EAAEP,KAAKsB,KAAK8E,QAAQgD,KAAK9H,KAAKyF,UAAUzF,KAAKqE,GAAG0B,WAAW/F,KAAKqE,GAAGa,WAAWxG,EAAEsB,KAAKyF,SAAS/G,IAAIsB,KAAK4E,UAAS,EAAGlG,GAAGyE,EAAEiB,QAAQhF,UAAU2I,OAAO,SAASrJ,EAAEwB,EAAE5B,GAAG,IAAId,EAAEc,EAAE6E,EAAE6E,mBAAmB,EAAE,GAAG9H,EAAE,CAAC,IAAIjB,EAAEiB,EAAE,GAAGF,KAAK0F,KAAK1F,KAAKyE,SAAStB,EAAEqE,WAAWrE,EAAE8E,uBAAuBzK,GAAGyB,EAAE2I,QAAQzE,EAAE8E,uBAAuB,MAAM,IAAIb,MAAM,+CAA+CjE,EAAE8E,wBAAwB,IAAI,IAAI1I,EAAE4D,EAAE8E,uBAAuB,EAAE1I,GAAG,EAAEA,IAAIS,KAAK6F,UAAU5G,EAAEiJ,WAAW3I,IAAIS,KAAK0F,KAAK1F,KAAKyE,SAAStB,EAAEqE,WAAWhK,GAAGwC,KAAKiH,UAAUvI,GAAGlB,GAAGwC,KAAKqG,SAASrG,KAAKqE,GAAGa,WAAWlF,KAAKwE,OAAOxE,KAAKqE,GAAGiD,YAAYtH,KAAKwE,QAAQrB,EAAEiB,QAAQhF,UAAU+I,mBAAmB,SAASzJ,EAAEwB,GAAGF,KAAK+H,OAAOrJ,EAAEwB,GAAE,IAAKiD,EAAEiB,QAAQhF,UAAUgJ,cAAc,SAAS1J,EAAEwB,GAAG,IAAI5B,EAAE0B,KAAKqE,GAAGa,WAAWxG,EAAElB,EAAEc,EAAE0B,KAAKqE,GAAGgE,UAAU/J,GAAG,GAAK,GAAG0B,KAAKqE,GAAGwD,UAAUrK,EAAE0C,GAAI,MAAM,IAAIkH,MAAM,sBAAsBlH,EAAE,iBAAiBiD,EAAEiB,QAAQhF,UAAUkJ,YAAY,SAAS5J,EAAEwB,EAAE5B,GAAG0B,KAAKqH,YAAYrH,KAAK+E,iBAAiB7E,EAAEF,KAAK0F,KAAKvC,EAAEqE,WAAW9I,EAAEwB,GAAGF,KAAK0F,KAAKpH,EAAEI,EAAEwB,IAAIiD,EAAEiB,QAAQhF,UAAUmJ,UAAU,WAAW,OAAOvI,KAAK+F,WAAW/F,KAAK+E,kBAAkB/E,KAAKyF,UAAUtC,EAAEiB,QAAQhF,UAAUoJ,aAAa,SAAS9J,GAAG,GAAGA,aAAa8C,WAAW,IAAItB,EAAExB,MAAM,CAACwB,EAAE,GAAG,IAAI,IAAI5B,EAAE,EAAEA,EAAEI,EAAEkJ,QAAQ,CAAC,IAAIpK,EAAEyB,EAAEP,EAAEwJ,WAAW5J,MAA0Bd,EAAlByB,EAAE,OAAOA,GAAG,MAAQA,GAAUA,GAAG,IAAIP,EAAEwJ,WAAW5J,MAAM,UAAW,IAAI4B,EAAE4H,KAAKtK,IAAIA,EAAE,KAAK0C,EAAE4H,KAAKtK,GAAG,EAAE,GAAG,MAAMA,EAAE,MAAM0C,EAAE4H,KAAKtK,GAAG,GAAG,GAAG,KAAK0C,EAAE4H,KAAKtK,GAAG,GAAG,EAAE,IAAIA,GAAG,GAAG,GAAG,KAAK0C,EAAE4H,KAAKtK,GAAG,EAAE,GAAG,MAAM0C,EAAE4H,KAAK,GAAGtK,EAAE,OAAOwC,KAAKmG,QAAQ,GAAGnG,KAAKsI,YAAY,EAAEpI,EAAE0H,OAAO,GAAG5H,KAAKqE,GAAGiD,YAAYtH,KAAKwE,OAAOtE,EAAE0H,QAAQtJ,EAAE,EAAE,IAAI,IAAIiB,EAAES,KAAKwE,MAAMvG,EAAE+B,KAAKqE,GAAGiB,QAAQhH,EAAE4B,EAAE0H,OAAOtJ,IAAIL,EAAEsB,KAAKW,EAAE5B,GAAG,OAAO0B,KAAKuI,aAAapF,EAAEiB,QAAQhF,UAAUqJ,WAAW,SAAS/J,EAAEwB,GAAG,OAAOiD,EAAEd,KAAKvD,OAAOJ,EAAEwB,IAAIiD,EAAEmB,WAAW,SAAS5F,GAAGsB,KAAK0I,OAAOhK,EAAEsB,KAAK2I,UAAU,GAAGxF,EAAEmB,WAAWC,SAAS,SAAS7F,GAAG,OAAO,IAAIyE,EAAEmB,WAAW,IAAI9C,WAAW9C,KAAKyE,EAAEmB,WAAWlF,UAAU6F,MAAM,WAAWjF,KAAK2I,UAAU,GAAGxF,EAAEmB,WAAWlF,UAAUkG,MAAM,WAAW,OAAOtF,KAAK0I,QAAQvF,EAAEmB,WAAWlF,UAAUoG,SAAS,WAAW,OAAOxF,KAAK2I,WAAWxF,EAAEmB,WAAWlF,UAAUkI,YAAY,SAAS5I,GAAGsB,KAAK2I,UAAUjK,GAAGyE,EAAEmB,WAAWlF,UAAU8F,SAAS,WAAW,OAAOlF,KAAK0I,OAAOd,QAAQzE,EAAEmB,WAAWlF,UAAUwJ,SAAS,SAASlK,GAAG,OAAOsB,KAAK6I,UAAUnK,IAAI,IAAI,IAAIyE,EAAEmB,WAAWlF,UAAUyJ,UAAU,SAASnK,GAAG,OAAOsB,KAAK0I,OAAOhK,IAAIyE,EAAEmB,WAAWlF,UAAUyI,UAAU,SAASnJ,GAAG,OAAOsB,KAAK8I,WAAWpK,IAAI,IAAI,IAAIyE,EAAEmB,WAAWlF,UAAU0J,WAAW,SAASpK,GAAG,OAAOsB,KAAK0I,OAAOhK,GAAGsB,KAAK0I,OAAOhK,EAAE,IAAI,GAAGyE,EAAEmB,WAAWlF,UAAUiJ,UAAU,SAAS3J,GAAG,OAAOsB,KAAK0I,OAAOhK,GAAGsB,KAAK0I,OAAOhK,EAAE,IAAI,EAAEsB,KAAK0I,OAAOhK,EAAE,IAAI,GAAGsB,KAAK0I,OAAOhK,EAAE,IAAI,IAAIyE,EAAEmB,WAAWlF,UAAU2J,WAAW,SAASrK,GAAG,OAAOsB,KAAKqI,UAAU3J,KAAK,GAAGyE,EAAEmB,WAAWlF,UAAU4J,UAAU,SAAStK,GAAG,OAAO,IAAIyE,EAAEd,KAAKrC,KAAKqI,UAAU3J,GAAGsB,KAAKqI,UAAU3J,EAAE,KAAKyE,EAAEmB,WAAWlF,UAAU6J,WAAW,SAASvK,GAAG,OAAO,IAAIyE,EAAEd,KAAKrC,KAAK+I,WAAWrK,GAAGsB,KAAK+I,WAAWrK,EAAE,KAAKyE,EAAEmB,WAAWlF,UAAU8J,YAAY,SAASxK,GAAG,OAAOyE,EAAEG,MAAM,GAAGtD,KAAKqI,UAAU3J,GAAGyE,EAAEK,QAAQ,IAAIL,EAAEmB,WAAWlF,UAAU+J,YAAY,SAASzK,GAAG,OAAOyE,EAAEG,MAAMH,EAAEU,eAAe,EAAE,GAAG7D,KAAKqI,UAAU3J,GAAGyE,EAAEG,MAAMH,EAAEU,eAAe,EAAE,GAAG7D,KAAKqI,UAAU3J,EAAE,GAAGyE,EAAEQ,QAAQ,IAAIR,EAAEmB,WAAWlF,UAAUyG,UAAU,SAASnH,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,GAAGiD,EAAEmB,WAAWlF,UAAUgK,WAAW,SAAS1K,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,GAAGiD,EAAEmB,WAAWlF,UAAU0G,WAAW,SAASpH,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,GAAGiD,EAAEmB,WAAWlF,UAAUiK,YAAY,SAAS3K,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,GAAGiD,EAAEmB,WAAWlF,UAAU2G,WAAW,SAASrH,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,GAAGF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,IAAIiD,EAAEmB,WAAWlF,UAAUkK,YAAY,SAAS5K,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,GAAGF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,IAAIiD,EAAEmB,WAAWlF,UAAU4G,WAAW,SAAStH,EAAEwB,GAAGF,KAAK+F,WAAWrH,EAAEwB,EAAE6D,KAAK/D,KAAK+F,WAAWrH,EAAE,EAAEwB,EAAE8D,OAAOb,EAAEmB,WAAWlF,UAAUmK,YAAY,SAAS7K,EAAEwB,GAAGF,KAAKsJ,YAAY5K,EAAEwB,EAAE6D,KAAK/D,KAAKsJ,YAAY5K,EAAE,EAAEwB,EAAE8D,OAAOb,EAAEmB,WAAWlF,UAAU6G,aAAa,SAASvH,EAAEwB,GAAGiD,EAAEK,QAAQ,GAAGtD,EAAEF,KAAK+F,WAAWrH,EAAEyE,EAAEG,MAAM,KAAKH,EAAEmB,WAAWlF,UAAU8G,aAAa,SAASxH,EAAEwB,GAAGiD,EAAEQ,QAAQ,GAAGzD,EAAEF,KAAK+F,WAAWrH,EAAEyE,EAAEG,MAAMH,EAAEU,eAAe,EAAE,IAAI7D,KAAK+F,WAAWrH,EAAE,EAAEyE,EAAEG,MAAMH,EAAEU,eAAe,EAAE,KAAKV,EAAEmB,WAAWlF,UAAUoK,oBAAoB,WAAW,GAAGxJ,KAAK0I,OAAOd,OAAO5H,KAAK2I,UAAUxF,EAAEqE,WAAWrE,EAAE8E,uBAAuB,MAAM,IAAIb,MAAM,kEAAkE,IAAI,IAAI1I,EAAE,GAAGwB,EAAE,EAAEA,EAAEiD,EAAE8E,uBAAuB/H,IAAIxB,GAAG+D,OAAOgH,aAAazJ,KAAK4I,SAAS5I,KAAK2I,UAAUxF,EAAEqE,WAAWtH,IAAI,OAAOxB,GAAGyE,EAAEmB,WAAWlF,UAAUsK,SAAS,SAAShL,EAAEwB,GAAG,IAAI5B,EAAEI,EAAEsB,KAAKqI,UAAU3J,GAAG,OAAOwB,EAAEF,KAAK6H,UAAUvJ,GAAG0B,KAAK6H,UAAUvJ,EAAE4B,GAAG,GAAGiD,EAAEmB,WAAWlF,UAAUuK,QAAQ,SAASjL,EAAEwB,GAAG,OAAOxB,EAAEkL,OAAO1J,EAAEF,KAAKqI,UAAUnI,GAAGxB,EAAE2F,GAAGrE,KAAKtB,GAAGyE,EAAEmB,WAAWlF,UAAUyK,SAAS,SAASnL,EAAEwB,GAAGxB,GAAGsB,KAAKqI,UAAU3J,GAAG,IAAIJ,EAAE0B,KAAKqI,UAAU3J,GAAGlB,EAAE,GAAGyB,EAAE,EAAE,GAAGP,GAAGyE,EAAEqE,WAAWtH,IAAIiD,EAAE2G,SAAS1G,WAAW,OAAOpD,KAAK0I,OAAOnD,SAAS7G,EAAEA,EAAEJ,GAAG,KAAKW,EAAEX,GAAG,CAAC,IAAIiB,EAAEtB,EAAE+B,KAAK6I,UAAUnK,EAAEO,KAAK,GAAGhB,EAAE,IAAIsB,EAAEtB,MAAM,CAAC,IAAI+E,EAAEhD,KAAK6I,UAAUnK,EAAEO,KAAK,GAAGhB,EAAE,IAAIsB,GAAG,GAAGtB,IAAI,EAAE,GAAG+E,MAAM,CAAC,IAAIC,EAAEjD,KAAK6I,UAAUnK,EAAEO,KAAcM,EAANtB,EAAE,KAAO,GAAGA,IAAI,IAAI,GAAG+E,IAAI,EAAE,GAAGC,GAAU,EAAEhF,IAAI,IAAI,GAAG+E,IAAI,IAAI,GAAGC,IAAI,EAAE,GAAGjD,KAAK6I,UAAUnK,EAAEO,MAAMM,EAAE,MAAM/B,GAAGiF,OAAOgH,aAAalK,IAAIA,GAAG,MAAM/B,GAAGiF,OAAOgH,aAAa,OAAOlK,GAAG,IAAI,OAAO,KAAKA,KAAK,OAAO/B,GAAG2F,EAAEmB,WAAWlF,UAAU2K,WAAW,SAASrL,GAAG,OAAOA,EAAEsB,KAAKqI,UAAU3J,IAAIyE,EAAEmB,WAAWlF,UAAU4K,SAAS,SAAStL,GAAG,OAAOA,EAAEsB,KAAKqI,UAAU3J,GAAGyE,EAAEqE,YAAYrE,EAAEmB,WAAWlF,UAAU6K,aAAa,SAASvL,GAAG,OAAOsB,KAAKqI,UAAU3J,EAAEsB,KAAKqI,UAAU3J,KAAKyE,EAAEmB,WAAWlF,UAAU8K,iBAAiB,SAASxL,GAAG,GAAGA,EAAEkJ,QAAQzE,EAAE8E,uBAAuB,MAAM,IAAIb,MAAM,+CAA+CjE,EAAE8E,wBAAwB,IAAI,IAAI/H,EAAE,EAAEA,EAAEiD,EAAE8E,uBAAuB/H,IAAI,GAAGxB,EAAEwJ,WAAWhI,IAAIF,KAAK4I,SAAS5I,KAAK2I,UAAUxF,EAAEqE,WAAWtH,GAAG,OAAM,EAAG,OAAM,GAAIiD,EAAEmB,WAAWlF,UAAUqJ,WAAW,SAAS/J,EAAEwB,GAAG,OAAOiD,EAAEd,KAAKvD,OAAOJ,EAAEwB,IAAI,SAASxB,GAAGA,EAAEA,EAAEyL,QAAQ,GAAG,UAAUzL,EAAEA,EAAE0L,MAAM,GAAG,QAAQ1L,EAAEA,EAAE2L,WAAW,GAAG,aAAa3L,EAAEA,EAAE4L,QAAQ,GAAG,UAAU5L,EAAEA,EAAE6L,WAAW,GAAG,aAAa7L,EAAEA,EAAE8L,gBAAgB,GAAG,kBAAkB9L,EAAEA,EAAE+L,aAAa,GAAG,eAAe/L,EAAEA,EAAEgM,mBAAmB,GAAG,qBAAqBhM,EAAEA,EAAEiM,eAAe,GAAG,iBAAiBjM,EAAEA,EAAEkM,cAAc,GAAG,gBAAgBlM,EAAEA,EAAEmM,aAAa,IAAI,eAAenM,EAAEA,EAAEoM,WAAW,IAAI,aAAapM,EAAEA,EAAEqM,aAAa,IAAI,eAAerM,EAAEA,EAAEsM,MAAM,IAAI,QAAQtM,EAAEA,EAAEuM,QAAQ,IAAI,UAAUvM,EAAEA,EAAEwM,kBAAkB,IAAI,oBAAoBxM,EAAEA,EAAEyM,IAAI,IAAI,MAAMzM,EAAEA,EAAE0M,SAAS,IAAI,WAAjkB,CAA6kBnN,IAAIA,EAAE,KAAK,SAASS,GAAGA,EAAEA,EAAEoD,KAAK,GAAG,OAAOpD,EAAEA,EAAEqD,MAAM,GAAG,QAAQrD,EAAEA,EAAEsD,KAAK,GAAG,OAAOtD,EAAEA,EAAEuD,MAAM,GAAG,QAAQvD,EAAEA,EAAEwD,OAAO,GAAG,SAASxD,EAAEA,EAAEyD,IAAI,GAAG,MAAMzD,EAAEA,EAAE0D,KAAK,GAAG,OAAO1D,EAAEA,EAAE2D,KAAK,GAAG,OAAO3D,EAAEA,EAAE4D,MAAM,GAAG,QAAQ5D,EAAEA,EAAE6D,MAAM,GAAG,QAAQ7D,EAAEA,EAAE8D,OAAO,IAAI,SAAS9D,EAAEA,EAAE+D,OAAO,IAAI,SAAS/D,EAAEA,EAAEgE,KAAK,IAAI,OAAOhE,EAAEA,EAAEiE,SAAS,IAAI,WAAWjE,EAAEA,EAAEkE,OAAO,IAAI,SAAnU,CAA6UI,IAAIA,EAAE,KAAK,MAAMqI,EAAE,cAAcrL,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAImL,GAAGC,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAImL,GAAGC,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAGwE,UAAU7I,KAAK4J,OAAOlL,GAAGsE,EAAElB,KAAK,aAAapD,GAAGA,EAAE+I,YAAY,GAAG,eAAe/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,EAAEvG,EAAE8C,EAAElB,MAAM,WAAWpD,GAAG,IAAIwB,EAAExB,EAAEgJ,YAAY,OAAOhJ,EAAE0J,cAAclI,EAAE,GAAGA,EAAE,cAAcxB,EAAEwB,EAAE5B,GAAG,OAAO+M,EAAEE,MAAM7M,GAAG2M,EAAEG,QAAQ9M,EAAEwB,GAAGmL,EAAEI,QAAQ/M,EAAEJ,GAAG+M,EAAEK,IAAIhN,IAAI,MAAMb,EAAE,cAAcmC,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIrC,GAAGyN,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIrC,GAAGyN,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAG0E,WAAW/I,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,aAAa,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,YAAY,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAIiN,YAAY3L,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,GAAGA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,WAAW,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,UAAU,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,EAAEA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,UAAU,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,SAAS,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,EAAEA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,UAAU,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,SAAS,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,EAAEA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,UAAU,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,SAAS,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,GAAGA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAG4E,WAAWjJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAGsB,KAAKqE,GAAGoE,WAAW,EAAE,GAAG,WAAW,IAAI/J,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAGwE,UAAU7I,KAAK4J,OAAOlL,GAAGT,EAAEkM,QAAQ,MAAMzL,EAAEwB,GAAG,IAAI5B,EAAE0B,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOtL,GAAG4B,GAAG,IAAIrC,GAAGyN,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOtL,GAAG,EAAEI,GAAGsB,KAAKqE,IAAI,KAAK,cAAc,IAAI3F,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,aAAaA,GAAGA,EAAE+I,YAAY,GAAG,eAAe/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,wBAAwBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE2H,SAASnG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,uBAAuB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,aAAaxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,sBAAsBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,qBAAqB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,YAAYxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,qBAAqBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,oBAAoB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,YAAYxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,qBAAqBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,oBAAoB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,YAAYxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,qBAAqBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,oBAAoB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,aAAaxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,sBAAsBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE4H,SAASpG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,qBAAqB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,EAAEvG,EAAEjC,EAAEkM,SAAS,gBAAgBzL,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,yBAAyBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAEuI,UAAU/G,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,wBAAwB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,WAAWxB,GAAG,OAAOA,EAAEgJ,YAAY,cAAchJ,EAAEwB,EAAE5B,EAAEd,EAAEyB,EAAEM,EAAEtB,EAAE+E,EAAEC,GAAG,OAAOpF,EAAE0N,MAAM7M,GAAGb,EAAEgO,QAAQnN,EAAEwB,GAAGrC,EAAEiO,MAAMpN,EAAEJ,GAAGT,EAAEkO,KAAKrN,EAAElB,GAAGK,EAAEmO,KAAKtN,EAAEO,GAAGpB,EAAEoO,KAAKvN,EAAEa,GAAG1B,EAAEqO,MAAMxN,EAAET,GAAGJ,EAAE4N,QAAQ/M,EAAEsE,GAAGnF,EAAEsO,SAASzN,EAAEuE,GAAGpF,EAAE6N,IAAIhN,IAAI,MAAMZ,EAAE,cAAckC,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIpC,GAAGwN,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIpC,GAAGwN,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,SAASA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,GAAGxB,GAAG,IAAIb,GAAGyN,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAK4J,OAAO1J,GAAGF,KAAKqE,IAAI,KAAK,WAAW3F,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwE,UAAU7I,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAGxB,GAAG,EAAE,mBAAmB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,kBAAkB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAI8C,WAAWxB,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,QAAQA,EAAEwB,GAAG,IAAI5B,EAAE0B,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOtL,GAAG4B,GAAG,IAAImL,GAAGC,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOtL,GAAG,EAAEI,GAAGsB,KAAKqE,IAAI,KAAK,gBAAgB,IAAI3F,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,aAAaA,GAAGA,EAAE+I,YAAY,GAAG,mBAAmB/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,qBAAqBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,8BAA8BxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAEyH,QAAQjG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,6BAA6B7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,kBAAkBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,2BAA2BxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAEuI,UAAU/G,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,0BAA0B7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,WAAWxB,GAAG,OAAOA,EAAEgJ,YAAY,oBAAoBhJ,EAAEwB,GAAGxB,EAAEqJ,OAAO7H,GAAG,gCAAgCxB,EAAEwB,GAAGxB,EAAEqJ,OAAO7H,OAAE,GAAO,GAAI,cAAcxB,EAAEwB,EAAE5B,EAAEd,GAAG,OAAOM,EAAEyN,MAAM7M,GAAGZ,EAAEsO,YAAY1N,EAAEwB,GAAGpC,EAAEuO,cAAc3N,EAAEJ,GAAGR,EAAEwO,WAAW5N,EAAElB,GAAGM,EAAE4N,IAAIhN,KAAK,SAASA,GAAGA,EAAEA,EAAEyL,QAAQ,GAAG,UAAUzL,EAAEA,EAAE0L,MAAM,GAAG,QAAQ1L,EAAEA,EAAE2L,WAAW,GAAG,aAAa3L,EAAEA,EAAE4L,QAAQ,GAAG,UAAU5L,EAAEA,EAAE6L,WAAW,GAAG,aAAa7L,EAAEA,EAAE8L,gBAAgB,GAAG,kBAAkB9L,EAAEA,EAAE+L,aAAa,GAAG,eAAe/L,EAAEA,EAAEgM,mBAAmB,GAAG,qBAAqBhM,EAAEA,EAAEiM,eAAe,GAAG,iBAAiBjM,EAAEA,EAAEkM,cAAc,GAAG,gBAAgBlM,EAAEA,EAAEmM,aAAa,IAAI,eAAenM,EAAEA,EAAEoM,WAAW,IAAI,aAAapM,EAAEA,EAAEqM,aAAa,IAAI,eAAerM,EAAEA,EAAEsM,MAAM,IAAI,QAAQtM,EAAEA,EAAEuM,QAAQ,IAAI,UAAUvM,EAAEA,EAAEwM,kBAAkB,IAAI,oBAAoBxM,EAAEA,EAAEyM,IAAI,IAAI,MAAMzM,EAAEA,EAAE0M,SAAS,IAAI,WAAjkB,CAA6kBnI,IAAIA,EAAE,KAAK,SAASvE,GAAGA,EAAEA,EAAEoD,KAAK,GAAG,OAAOpD,EAAEA,EAAEqD,MAAM,GAAG,QAAQrD,EAAEA,EAAEsD,KAAK,GAAG,OAAOtD,EAAEA,EAAEuD,MAAM,GAAG,QAAQvD,EAAEA,EAAEwD,OAAO,GAAG,SAASxD,EAAEA,EAAEyD,IAAI,GAAG,MAAMzD,EAAEA,EAAE0D,KAAK,GAAG,OAAO1D,EAAEA,EAAE2D,KAAK,GAAG,OAAO3D,EAAEA,EAAE4D,MAAM,GAAG,QAAQ5D,EAAEA,EAAE6D,MAAM,GAAG,QAAQ7D,EAAEA,EAAE8D,OAAO,IAAI,SAAS9D,EAAEA,EAAE+D,OAAO,IAAI,SAAS/D,EAAEA,EAAEgE,KAAK,IAAI,OAAOhE,EAAEA,EAAEiE,SAAS,IAAI,WAAWjE,EAAEA,EAAEkE,OAAO,IAAI,SAAnU,CAA6UM,IAAIA,EAAE,KAAK,MAAMzF,EAAE,cAAcuC,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIzC,GAAG6N,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIzC,GAAG6N,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAGwE,UAAU7I,KAAK4J,OAAOlL,GAAGwE,EAAEpB,KAAK,aAAapD,GAAGA,EAAE+I,YAAY,GAAG,eAAe/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,EAAEvG,EAAEgD,EAAEpB,MAAM,WAAWpD,GAAG,IAAIwB,EAAExB,EAAEgJ,YAAY,OAAOhJ,EAAE0J,cAAclI,EAAE,GAAGA,EAAE,cAAcxB,EAAEwB,EAAE5B,GAAG,OAAOb,EAAE8N,MAAM7M,GAAGjB,EAAE+N,QAAQ9M,EAAEwB,GAAGzC,EAAEgO,QAAQ/M,EAAEJ,GAAGb,EAAEiO,IAAIhN,IAAI,MAAMY,EAAE,cAAcU,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIZ,GAAGgM,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIZ,GAAGgM,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,IAAIA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAGgE,UAAUrI,KAAK4J,OAAOlL,GAAG,EAAE,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,YAAYA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,IAAIA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,aAAaA,GAAGA,EAAE+I,YAAY,GAAG,cAAc/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAEkI,cAAc,EAAE1G,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,sBAAsBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,cAAcxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,WAAWxB,GAAG,OAAOA,EAAEgJ,YAAY,cAAchJ,EAAEwB,EAAE5B,EAAEd,EAAEyB,EAAEM,GAAG,OAAOD,EAAEiM,MAAM7M,GAAGY,EAAEiN,OAAO7N,EAAEwB,GAAGZ,EAAEkN,QAAQ9N,EAAEJ,GAAGgB,EAAEkM,QAAQ9M,EAAElB,GAAG8B,EAAEmN,eAAe/N,EAAEO,GAAGK,EAAEoN,OAAOhO,EAAEa,GAAGD,EAAEoM,IAAIhN,IAAI,MAAMiO,EAAE,cAAc3M,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIyM,GAAGrB,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIyM,GAAGrB,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,SAASA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,iBAAiB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,gBAAgB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,eAAe,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAGwE,UAAU7I,KAAK4J,OAAOlL,GAAGuE,EAAEkH,QAAQ,OAAO,IAAIzL,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,QAAQlL,KAAKsB,KAAKqE,GAAGuE,SAAS5I,KAAK4J,OAAOlL,GAAG,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,QAAQlL,KAAKsB,KAAKqE,GAAGuE,SAAS5I,KAAK4J,OAAOlL,GAAG,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,QAAQlL,KAAKsB,KAAKqE,GAAGuE,SAAS5I,KAAK4J,OAAOlL,GAAG,QAAQ,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,QAAQlL,KAAKsB,KAAKqE,GAAGuE,SAAS5I,KAAK4J,OAAOlL,GAAG,QAAQA,EAAEwB,GAAG,IAAI5B,EAAE0B,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOtL,GAAG4B,GAAG,IAAIzC,GAAG6N,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOtL,GAAG,EAAEI,GAAGsB,KAAKqE,IAAI,KAAK,gBAAgB,IAAI3F,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,gBAAgB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4E,WAAWjJ,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAGoE,WAAW,EAAE,GAAG,gBAAgB,IAAI/J,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAGyE,WAAW9I,KAAK4J,OAAOlL,GAAG,GAAG,IAAIA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,GAAGxB,GAAG,IAAIY,GAAGgM,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAK4J,OAAO1J,GAAGF,KAAKqE,IAAI,KAAK,aAAa3F,GAAGA,EAAE+I,YAAY,IAAI,eAAe/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,mBAAmBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,4BAA4BxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,2BAA2B7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,uBAAuBxB,EAAEwB,GAAGxB,EAAE+H,aAAa,EAAEvG,EAAE+C,EAAEkH,SAAS,eAAezL,EAAEwB,GAAGxB,EAAE+H,aAAa,GAAGvG,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,GAAGvG,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,GAAGvG,EAAE,GAAG,gBAAgBxB,EAAEwB,GAAGxB,EAAE+H,aAAa,GAAGvG,EAAE,GAAG,kBAAkBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,2BAA2BxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAEuI,UAAU/G,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,0BAA0B7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,wBAAwBxB,EAAEwB,GAAGxB,EAAEmI,cAAc,EAAE3G,EAAExB,EAAE+J,WAAW,EAAE,IAAI,wBAAwB/J,EAAEwB,GAAGxB,EAAEiI,cAAc,EAAEzG,EAAE,IAAI,cAAcxB,EAAEwB,GAAGxB,EAAEsI,eAAe,GAAG9G,EAAE,GAAG,WAAWxB,GAAG,OAAOA,EAAEgJ,YAAY,oBAAoBhJ,EAAEwB,GAAGxB,EAAEqJ,OAAO7H,GAAG,gCAAgCxB,EAAEwB,GAAGxB,EAAEqJ,OAAO7H,OAAE,GAAO,GAAI,cAAcxB,EAAEwB,EAAE5B,EAAEd,EAAEyB,EAAEM,EAAEtB,EAAE+E,EAAEC,EAAEC,EAAEC,EAAEkI,GAAG,OAAOsB,EAAEpB,MAAM7M,GAAGiO,EAAEnB,QAAQ9M,EAAEwB,GAAGyM,EAAEC,YAAYlO,EAAEJ,GAAGqO,EAAEE,gBAAgBnO,EAAElB,GAAGmP,EAAEG,QAAQpO,EAAEO,GAAG0N,EAAEI,QAAQrO,EAAEa,GAAGoN,EAAEK,QAAQtO,EAAET,GAAG0O,EAAEM,SAASvO,EAAEsE,GAAG2J,EAAEL,WAAW5N,EAAEuE,GAAG0J,EAAEO,iBAAiBxO,EAAEwE,GAAGyJ,EAAEQ,iBAAiBzO,EAAEyE,GAAGwJ,EAAES,OAAO1O,EAAE2M,GAAGsB,EAAEjB,IAAIhN,IAAI,SAAS2O,EAAE3O,GAAG,OAAOA,EAAE4O,OAAO,CAAC5O,EAAEwB,IAAIqN,MAAMC,QAAQtN,GAAGxB,EAAE+O,OAAOJ,EAAEnN,IAAIxB,EAAE+O,OAAOvN,GAAG,IAAI,SAASH,EAAErB,GAAG,MAAMwB,EAAE,GAAG,IAAI,IAAI5B,EAAE,EAAEA,EAAEI,EAAEkJ,OAAOtJ,GAAG,EAAE4B,EAAE4H,KAAK,CAACpJ,EAAEJ,GAAGI,EAAEJ,EAAE,KAAK,OAAO4B,EAAE,SAASwN,EAAEhP,GAAG,OAAOuE,EAAEvE,GAAG,SAASiP,EAAEjP,GAAG,MAAMwB,EAAExB,EAAEkP,YAAY,IAAItP,EAAE,KAAKd,EAAE,KAAKyB,EAAE,KAAKM,EAAEmO,EAAEhP,EAAEmD,MAAM5D,EAAE,EAAE,OAAOS,EAAEmD,MAAM,IAAI,QAAQvD,EAAE4B,EAAE,MAAM,IAAI,aAAa,IAAI,aAAa5B,EAAE+O,EAAEnN,GAAG,MAAM,IAAI,kBAAkB,IAAI,UAAU,MAAMX,EAAEW,EAAE5B,EAAE+O,EAAE9N,GAAGA,EAAEqI,OAAO,IAAIpK,EAAE+B,EAAEsO,IAAInP,GAAGT,GAAGS,EAAEkJ,SAAS,MAAM,IAAI,eAAe3I,EAAEiB,EAAE2N,IAAInP,IAAG,CAAEmD,KAAK,UAAU+L,YAAYlP,KAAKmP,IAAIF,GAAG,MAAM,IAAI,qBAAqB1O,EAAEP,EAAEoP,WAAWD,IAAIF,GAAG,MAAM,CAACI,GAAGzP,EAAE0P,KAAKxQ,EAAEqE,KAAKtC,EAAE0O,MAAMhP,GAAwH,SAASiP,EAAExP,EAAEwB,GAAG,GAAGA,GAAG+C,EAAEyH,mBAAmB,CAAC,MAAMpM,EAAE,GAAG,IAAI,IAAI4B,EAAE,EAAEA,EAAExB,EAAEyP,cAAcjO,IAAI,CAAC,MAAM1C,EAAEkB,EAAEuP,MAAM/N,GAAGjB,EAAEzB,EAAEqE,OAAOvD,EAAEwJ,KAAKoG,EAAE1Q,EAAEyB,IAAI,MAAM,CAAC4C,KAAKoB,EAAE/C,GAAG4N,WAAWxP,GAAG,GAAG4B,GAAG+C,EAAEwH,aAAa,CAAC,MAAMnM,EAAE,GAAG,IAAI,IAAI4B,EAAE,EAAEA,EAAExB,EAAEyP,cAAcjO,IAAI,CAAC,MAAM1C,EAAEkB,EAAEuP,MAAM/N,GAAG5B,EAAEwJ,KAAKoG,EAAE1Q,EAAEyF,EAAEqH,UAAU,MAAM,CAACzI,KAAKoB,EAAE/C,GAAG0N,YAAYtP,EAAEuP,IAAInP,GAAGA,EAAEkP,cAAc,MAAMtP,EAAE,SAASI,EAAEwB,GAAG,MAAM5B,EAAEI,EAAE0P,UAAU,OAAOlO,GAAG,KAAK+C,EAAEmH,MAAM,OAAOmD,MAAMc,KAAK/P,GAAG,KAAK2E,EAAEsH,WAAW,KAAKtH,EAAEoH,WAAW,OAAOtK,EAAEzB,GAAG,KAAK2E,EAAEuH,gBAAgB,KAAKvH,EAAEqH,QAAQ,OAA3mB,SAAW5L,EAAEwB,GAAG,IAAIA,GAAG,IAAIA,EAAE0H,OAAO,MAAM,CAAC7H,EAAErB,IAAI,IAAIJ,EAAE,EAAE,OAAOiP,MAAMc,KAAKnO,GAAG2N,IAAI3N,GAAGxB,EAAE4P,MAAMhQ,EAAEA,EAAE4B,GAAG,IAAI2N,IAAInP,GAAGqB,EAAErB,IAAigB6P,CAAEjQ,EAAEI,EAAE8P,cAAjL,CAAgM9P,EAAEwB,GAAG,MAAM,CAAC2B,KAAKoB,EAAE/C,GAAG0N,YAAYtP,GAAgvC,SAASmQ,EAAE/P,EAAEwB,GAAG,MAAM5B,EAAE4B,EAAE4C,QAAQ,IAAItF,EAAEA,EAAE0Q,EAAExP,EAAEgQ,WAAWxO,EAAE2C,cAAc,MAAMtD,EAAE,SAASb,EAAEwB,GAAG,IAAIA,GAAG,IAAIA,EAAE0H,OAAO,OAAO,MAAMtJ,EAAEI,EAAEiQ,kBAAkBnR,EAAE,IAAIoR,SAAStQ,EAAEoF,OAAOpF,EAAEsN,YAAYrM,EAAEb,EAAEmQ,mBAAmB,IAAI5Q,EAAE,EAAE,MAAM+E,EAAE,GAAG,KAAK/E,EAAEsB,GAAG,CAAC,MAAMb,EAAElB,EAAEsR,UAAU7Q,GAAE,GAAIA,GAAG,EAAE,MAAMsB,EAAEW,EAAExB,GAAG,OAAOa,EAAEsC,MAAM,KAAK5C,EAAE+C,KAAKgB,EAAEzD,EAAExB,QAAQP,EAAEuR,SAAS9Q,GAAGA,GAAG,EAAE,MAAM,KAAKgB,EAAE6C,KAAKkB,EAAEzD,EAAExB,MAAMP,EAAEwR,QAAQ/Q,GAAGA,GAAG,EAAE,MAAM,KAAKgB,EAAE8C,MAAMiB,EAAEzD,EAAExB,MAAMP,EAAEuR,SAAS9Q,GAAGA,GAAG,EAAE,MAAM,KAAKgB,EAAEgD,MAAMe,EAAEzD,EAAExB,MAAMP,EAAEyR,SAAShR,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAEiD,OAAOc,EAAEzD,EAAExB,MAAMP,EAAEsR,UAAU7Q,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAEkD,IAAIa,EAAEzD,EAAExB,MAAMP,EAAE0R,SAASjR,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAEmD,KAAKY,EAAEzD,EAAExB,MAAMP,EAAE2R,UAAUlR,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAEoD,KAAKW,EAAEzD,EAAExB,MAAMqR,OAAO5R,EAAE6R,YAAYpR,GAAE,IAAKA,GAAG,EAAE,MAAM,KAAKgB,EAAEqD,MAAMU,EAAEzD,EAAExB,MAAMqR,OAAO5R,EAAE8R,aAAarR,GAAE,IAAKA,GAAG,EAAE,MAAM,KAAKgB,EAAEuD,OAAOQ,EAAEzD,EAAExB,MAAMP,EAAE+R,WAAWtR,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAE0D,SAAS,KAAK1D,EAAEwD,OAAO,CAAC,MAAM/D,EAAElB,EAAE2R,UAAUlR,GAAE,GAAIA,GAAG,EAAE,MAAMiC,EAAE,IAAIsP,YAAYxM,EAAEzD,EAAExB,MAAMmC,EAAEuP,OAAOnR,EAAEiH,SAAStH,EAAEA,EAAES,IAAIT,GAAGS,EAAE,MAAM,QAAQ,MAAM,IAAI0I,MAAM,gBAAgB7H,EAAEsC,OAAO,OAAOmB,EAAv6B,CAA06BtE,EAAEJ,GAAGL,EAAE,CAAC4D,KAAK,UAAU6M,SAASlR,GAAG,OAAO+B,IAAItB,EAAEyR,WAAWnQ,GAAGtB,EAAE,SAAS0R,EAAEjR,GAAG,IAAIwB,EAAE,GAAG,oBAAoB3B,OAAO,CAAC,GAAGA,OAAOqR,eAAe,OAAO1P,EAAExB,EAAEH,OAAOqR,gBAAgB,OAAO1P,EAAEvC,KAAKe,GAAG,GAAGH,OAAOsR,UAAU,OAAO3P,EAAExB,EAAEH,OAAOsR,WAAW,OAAO3P,EAAEvC,KAAKe,GAAG,MAAM,IAAIoR,UAAU,gCAAgC,SAASC,EAAErR,GAAGsB,KAAKgQ,QAAQtR,EAAE,SAASuR,EAAEvR,GAAG,IAAIwB,EAAE5B,EAAE,SAASd,EAAE0C,EAAE5B,GAAG,IAAI,IAAIiB,EAAEb,EAAEwB,GAAG5B,GAAGL,EAAEsB,EAAEd,MAAMuE,EAAE/E,aAAa8R,EAAEG,QAAQC,QAAQnN,EAAE/E,EAAE+R,QAAQ/R,GAAGmS,MAAK,SAAU1R,GAAGsE,EAAExF,EAAE,WAAW0C,EAAE,SAAS,OAAOxB,GAAGO,EAAEM,EAAE8Q,KAAK,SAAS,SAAS3R,MAAK,SAAUA,GAAGlB,EAAE,QAAQkB,MAAM,MAAMA,GAAGO,EAAE,QAAQP,IAAI,SAASO,EAAEP,EAAEO,GAAG,OAAOP,GAAG,IAAI,SAASwB,EAAEiQ,QAAQ,CAAC1R,MAAMQ,EAAEoR,MAAK,IAAK,MAAM,IAAI,QAAQnQ,EAAEoQ,OAAOrR,GAAG,MAAM,QAAQiB,EAAEiQ,QAAQ,CAAC1R,MAAMQ,EAAEoR,MAAK,KAAMnQ,EAAEA,EAAEqQ,MAAM/S,EAAE0C,EAAEnB,IAAImB,EAAEsQ,KAAKlS,EAAE,KAAK0B,KAAKyQ,QAAQ,SAAS/R,EAAEO,GAAG,OAAO,IAAIiR,SAAQ,SAAU3Q,EAAEtB,GAAG,IAAI+E,EAAE,CAACjE,IAAIL,EAAE8R,IAAIvR,EAAEkR,QAAQ5Q,EAAE+Q,OAAOrS,EAAEsS,KAAK,MAAMjS,EAAEA,EAAEA,EAAEiS,KAAKvN,GAAG9C,EAAE5B,EAAE0E,EAAExF,EAAEkB,EAAEO,QAAQ,mBAAmBP,EAAEgS,SAAS1Q,KAAK0Q,YAAO,GAAQ,SAASC,EAAEjS,GAAG,OAAO,WAAW,OAAO,IAAIuR,EAAEvR,EAAEkS,MAAM5Q,KAAK6Q,aAAa,SAASC,EAAEpS,GAAG,OAAO,IAAIqR,EAAErR,GAAG,mBAAmBH,QAAQA,OAAOqR,gBAAgBK,EAAE7Q,UAAUb,OAAOqR,eAAe,WAAW,OAAO5P,OAAOiQ,EAAE7Q,UAAUmR,KAAK,SAAS7R,GAAG,OAAOsB,KAAKyQ,QAAQ,OAAO/R,IAAIuR,EAAE7Q,UAAU2R,MAAM,SAASrS,GAAG,OAAOsB,KAAKyQ,QAAQ,QAAQ/R,IAAIuR,EAAE7Q,UAAUsR,OAAO,SAAShS,GAAG,OAAOsB,KAAKyQ,QAAQ,SAAS/R,IAAI,IAAIsS,EAAE,IAAIxP,WAAW,GAAG,SAASyP,EAAEvS,EAAEwB,GAAG,IAAIxB,EAAEkJ,OAAO,OAAO1H,EAAE,IAAIA,EAAE0H,OAAO,OAAOlJ,EAAE,IAAIJ,EAAE,IAAIkD,WAAW9C,EAAEkJ,OAAO1H,EAAE0H,QAAQ,OAAOtJ,EAAEiJ,IAAI7I,GAAGJ,EAAEiJ,IAAIrH,EAAExB,EAAEkJ,QAAQtJ,EAAE,SAAS4S,EAAExS,GAAGsB,KAAKmR,QAAQzS,EAAEsB,KAAKoR,OAAOJ,EAAEhR,KAAKqR,OAAO,EAAi1B,SAASC,EAAE5S,EAAEwB,GAAGA,EAAEqR,KAAKC,IAAID,KAAKE,KAAKvR,EAAE,GAAG,OAAO,IAAI5B,EAAEI,EAAElB,EAAEc,EAAE,GAAGA,EAAEiT,KAAKG,KAAKpT,EAAE4B,GAAG1C,GAAGc,QAAQ,IAAIA,GAAG,OAAO,GAAGd,EAAE,SAASmU,EAAEjT,EAAEwB,GAAG,GAAGA,EAAE,EAAE,MAAM,IAAIkH,MAAM,gCAAgC,GAAG,IAAI1I,EAAE,MAAM,IAAI0I,MAAM,0CAA0C,IAAI9I,EAAEI,EAAElB,EAAEc,EAAE,MAAMW,EAAE,CAACX,GAAG,GAAGA,EAAEiT,KAAKG,KAAKpT,EAAE4B,GAAG1C,GAAGc,EAAEW,EAAE6I,KAAKxJ,SAAS,IAAIA,GAAG,MAAMiB,EAAE,GAAGjB,EAAEd,EAAE,IAAI,IAAIkB,KAAKO,EAAEM,EAAEuI,KAAKxJ,EAAEI,GAAGJ,GAAGI,EAAEa,EAAEqS,UAAU3S,EAAE2S,UAAU,MAAM3T,EAAE,GAAG,IAAI,IAAIS,EAAE,EAAEA,EAAEO,EAAE2I,OAAOlJ,IAAIT,EAAE6J,KAAK,CAACvI,EAAEb,GAAGa,EAAEb,GAAGO,EAAEP,KAAK,OAAOT,EAAE2T,UAAU3T,EAAE,SAAS4T,EAAEnT,EAAEwB,EAAE5B,EAAEd,GAAG,OAAOsU,EAAElB,MAAM5Q,KAAK6Q,WAAW,SAASiB,IAAI,OAAOA,EAAEnB,GAAE,UAAWjS,EAAEwB,EAAE5B,EAAEd,GAAG,MAAMuU,KAAK9S,EAAE+S,KAAKzS,EAAE0S,KAAKhU,EAAEiU,KAAKlP,GAAG1E,EAAE2E,EAAE0O,EAAEjT,EAAEwB,KAAKgD,EAAEC,IAAIF,EAAEoI,EAAE,GAAG,IAAIA,EAAEvD,KAAK,CAAC,EAAE7E,EAAE2E,OAAO,IAAI,IAAIyD,EAAEzD,QAAQ,CAAC,MAAMtJ,EAAET,GAAGwN,EAAE8G,MAAMrU,EAAEQ,GAAG6E,EAAEzE,GAAG,CAACjB,GAAGwF,EAAEpF,GAAGyB,EAAEiS,KAAKC,IAAIlT,EAAE4B,EAAEzC,GAAGkP,EAAErN,EAAEhB,EAAE+O,QAAQyD,EAAEtT,EAAE,GAAGc,EAAE,GAAGqO,IAAI5M,EAAE,IAAI6D,aAAayJ,GAAGK,EAAE,IAAI/B,YAAY0B,GAAG,IAAI,IAAI3O,EAAEJ,EAAEI,EAAEY,EAAEZ,IAAI,CAAC,MAAMwB,EAAE,GAAGxB,EAAEJ,GAAG,GAAGL,EAAE8B,EAAEG,EAAE,GAAG,SAAS,GAAG8C,EAAEjD,EAAEG,EAAE,GAAG,SAAS,GAAGjB,EAAEc,EAAEG,EAAE,GAAG,SAAS,GAAGX,EAAEQ,EAAEG,EAAE,GAAG,SAAS,MAAM1C,EAAEkQ,EAAE,GAAGxN,GAAG,IAAIpC,OAAO,CAACN,EAAEkB,EAAEwE,GAAGmI,EAAEvD,KAAK,CAACtK,EAAEK,EAAE,IAAIwN,EAAE+G,KAAK,CAAC1T,EAAEwB,IAAIA,EAAE,GAAGxB,EAAE,SAASkS,MAAM5Q,KAAK6Q,WAAv0DK,EAAE9R,UAAUiT,KAAK,WAAW,IAAI3T,EAAEsB,KAAKE,EAAExB,EAAE0S,OAAO7L,SAAS7G,EAAE2S,QAAQ,OAAO3S,EAAEyS,QAAQkB,OAAOjC,MAAK,SAAU9R,GAAG,OAAOI,EAAE0S,OAAOJ,EAAEtS,EAAE2S,OAAO,EAAE/S,EAAE+R,KAAKnQ,EAAE0H,OAAO,EAAE,CAACyI,MAAK,EAAG5R,MAAMyB,GAAG,CAACmQ,MAAK,EAAG5R,WAAM,GAAQ,CAAC4R,MAAK,EAAG5R,MAAMwS,EAAE/Q,EAAE5B,EAAEG,YAAYyS,EAAE9R,UAAUkP,MAAM,SAAS5P,GAAG,IAAIA,GAAG,GAAG,EAAE,MAAM,IAAI0I,MAAM,kBAAkB,IAAIlH,EAAEF,KAAK1B,EAAE0B,KAAKoR,OAAOxJ,OAAO5H,KAAKqR,OAAO,GAAGrR,KAAKqR,OAAO3S,GAAGsB,KAAKoR,OAAOxJ,OAAO,OAAOsI,QAAQC,QAAQnQ,KAAKoR,OAAO7L,SAASvF,KAAKqR,OAAOrR,KAAKqR,QAAQ3S,IAAI,IAAIlB,EAAE,IAAIgE,WAAW9C,GAAG,OAAOlB,EAAE+J,IAAIvH,KAAKoR,OAAO7L,SAASvF,KAAKqR,SAAS,SAASpS,IAAI,OAAOiB,EAAEiR,QAAQkB,OAAOjC,MAAK,SAAU7Q,GAAG,OAAOA,EAAE8Q,MAAMnQ,EAAEkR,OAAOJ,EAAE9Q,EAAEmR,OAAO,EAAE/S,EAAE,EAAEd,EAAE+H,SAAS,EAAEjH,GAAG,MAAMA,EAAEiB,EAAEd,MAAMmJ,QAAQlJ,GAAGwB,EAAEkR,OAAO7R,EAAEd,MAAMyB,EAAEmR,OAAO3S,EAAEJ,EAAEd,EAAE+J,IAAIhI,EAAEd,MAAM8G,SAAS,EAAE7G,EAAEJ,GAAGA,GAAGd,IAAIA,EAAE+J,IAAIhI,EAAEd,MAAMH,GAAGA,GAAGiB,EAAEd,MAAMmJ,OAAO3I,QAAjP,IAA6PiS,EAAE9R,UAAUkT,OAAO,WAAW,OAAOtS,KAAKmR,QAAQmB,UAA6gC,MAAMC,EAAE,IAAI/Q,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAuK,SAASgR,EAAE9T,EAAEwB,EAAE5B,EAAEd,GAAG,OAAOiV,EAAE7B,MAAM5Q,KAAK6Q,WAAW,SAAS4B,IAAI,OAAOA,EAAE9B,GAAE,UAAWjS,EAAEwB,EAAE1C,EAAEyB,GAAG,IAAIhB,EAAE,EAAE+E,EAAE,IAAIxB,iBAAiBsP,EAAEpS,EAAE,KAAK,GAAGT,GAAG,GAAG+E,EAAE0P,MAAM,CAAChU,EAAEwB,IAAIqS,EAAErS,KAAKxB,GAAG,MAAM,IAAI0I,MAAM,yBAAyBpE,EAAE,IAAIxB,iBAAiBsP,EAAEpS,EAAE,KAAKT,GAAG,EAAE,IAAIgF,EAAE,IAAIE,EAAEmB,WAAWtB,GAAG,MAAME,EAAED,EAAE8F,WAAW,GAAG/F,EAAE,IAAIxB,iBAAiBsP,EAAEpS,EAAEwE,KAAKjF,GAAGiF,EAAED,EAAE,IAAIE,EAAEmB,WAAWtB,GAAG,MAAMqI,EAAEsB,EAAEgG,QAAQ1P,GAAGpF,EAAEwN,EAAEtI,gBAAgBmB,YAAYpG,EAAE,GAAG,IAAI,IAAIY,EAAE,EAAEA,EAAE2M,EAAEuH,gBAAgBlU,IAAI,CAAC,MAAMwB,EAAEmL,EAAEvI,QAAQpE,GAAGZ,EAAEgK,KAAK,IAAIxJ,EAAE4B,EAAEnC,OAAOmC,EAAE2B,SAAS,MAAMpE,EAAE,IAAI8B,EAAE8L,EAAExI,eAAe/E,EAAED,GAAGyB,EAAE+L,EAAEwH,gBAAgB,GAAGvT,EAAE,EAAE,CAAC,MAAMhB,EAAEgT,EAAEzT,EAAEyB,GAAG,GAAG9B,EAAE,CAAC,MAAM+B,EAAEuT,MAAMxU,EAAEd,WAAW0C,EAAEjC,EAAEK,SAASI,EAAElB,IAAIwF,EAAE,GAAG,IAAIqK,EAAEtN,GAAE,EAAG2N,GAAE,EAAG,IAAI,IAAI,IAAIC,EAAEY,EAAEL,EAAEyB,EAAEkC,EAAEhU,EAAEyB,EAAE9B,EAAE+B,IAAIQ,GAAG4N,QAAQmD,EAAE5C,EAAEqC,SAASF,KAAK9B,QAAQuC,EAAEnD,EAAElP,QAAQsB,EAAEA,GAAE,EAAG,CAAC,IAAIrB,GAAG6P,EAAEvL,EAAE8E,KAAKpJ,IAAI,MAAMA,GAAGgP,GAAE,EAAGL,EAAE3O,EAAE,QAAQ,IAAIqB,GAAG,MAAMmO,EAAEwC,eAAeI,EAAE5C,EAAEwC,WAAW,QAAQ,GAAGhD,EAAE,MAAML,GAAGpP,GAAGK,EAAE,IAAIV,EAAE6Q,GAAE,EAAGsB,GAAE,EAAG,IAAI,IAAI,IAAIE,EAAEU,EAAEK,EAAErB,EAAE3M,GAAGyL,GAAGwB,QAAQa,EAAEE,EAAET,SAASF,KAAKM,QAAQG,EAAEb,EAAExR,QAAQgQ,EAAEA,GAAE,EAAG,CAAC,IAAInQ,EAAEqS,QAAQG,EAAE5Q,EAAEjC,EAAEK,UAAUyU,EAAErU,EAAEjB,EAAEwB,IAAI,MAAMP,GAAGqR,GAAE,EAAGnS,EAAEc,EAAE,QAAQ,IAAI+P,GAAG,MAAMuC,EAAEN,eAAeI,EAAEE,EAAEN,WAAW,QAAQ,GAAGX,EAAE,MAAMnS,GAAG,OAAOsC,QAAQ4Q,EAAE5Q,EAAEjC,EAAEK,UAAUwS,EAAEpS,EAAEJ,IAAIL,GAAGK,EAAE,IAAI2S,EAAE,KAAKA,QAAQH,EAAEiC,EAAErU,EAAEjB,EAAEwB,WAAWgS,MAAML,MAAM5Q,KAAK6Q,WAAWiC,eAAeC,EAAErU,EAAEwB,EAAE5B,GAAG,IAAId,EAAE,IAAIgE,iBAAiB9C,EAAE,IAAI,GAAG,IAAIlB,EAAE8D,WAAW,OAAO,KAAK,IAAIrC,EAAE,IAAIkE,EAAEmB,WAAW9G,GAAG,MAAM+B,EAAEN,EAAE8J,WAAW,GAAGvL,EAAE,IAAIgE,iBAAiB9C,EAAEa,IAAI,MAAMtB,EAAE,IAAIuD,WAAWjC,EAAE,GAAG,OAAOtB,EAAEsJ,IAAI/J,EAAE,GAAGyB,EAAE,IAAIkE,EAAEmB,WAAWrG,GAAGgB,EAAEqI,YAAY,GAAGhJ,EAAER,EAAE6U,QAAQ1T,GAAGiB,GAA6d,SAAS8S,EAAEtU,GAAG,MAAMwB,EAAE,SAASxB,GAAG,MAAMwB,EAAExB,EAAEgD,SAAS,GAAGlE,EAAE0C,EAAEwP,WAAW,IAAIzR,EAAE,KAAKT,IAAIS,EAAEC,OAAO+U,KAAKzV,GAAGqQ,IAAInP,GAAG,IAAIJ,EAAEI,EAAE,SAASA,GAAG,GAAG,kBAAkBA,EAAE,OAAOO,EAAE+C,KAAK,GAAG,iBAAiBtD,EAAE,OAAOA,EAAE,GAAG,EAAEO,EAAEkD,IAAIlD,EAAEuD,OAAO,GAAG,iBAAiB9D,EAAE,OAAOO,EAAEwD,OAAO,GAAG,OAAO/D,EAAE,OAAOO,EAAEwD,OAAO,MAAM,IAAI2E,MAAM,wBAAwB1I,OAA9M,CAAsNlB,EAAEkB,OAAO,MAAMsE,EAAE,IAAIkQ,IAAI,IAAI,MAAM5U,KAAKI,EAAEgD,SAASsB,EAAEmQ,IAAIjT,EAAEwO,SAAS7M,MAAM,OAAO,IAAItC,EAAEmO,EAAExN,EAAEwO,SAAS7M,MAAM5D,EAAES,EAAEgD,SAASkG,QAA7a,CAAsblJ,GAAGlB,EAAz6B,SAAWkB,GAAG,MAAMwB,EAAE,IAAIiD,EAAEiB,QAAQ,GAAG,IAAI9F,EAAE,KAAKI,EAAEoE,UAAUxE,EAAEqO,EAAEyG,oBAAoBlT,EAAExB,EAAEoE,QAAQ+K,IAAInP,GAAG,SAASA,EAAEwB,GAAG,MAAM5B,EAAEI,EAAE8J,aAAatI,EAAEnC,MAAM,OAAON,EAAE8N,MAAM7M,GAAGjB,EAAE+N,QAAQ9M,EAAEJ,GAAGb,EAAEgO,QAAQ/M,EAAEwB,EAAE2B,MAAMpE,EAAEiO,IAAIhN,GAAxG,CAA4GwB,EAAExB,MAAM,MAAMlB,EAAE0C,EAAEsI,aAAa,MAAMmE,EAAEpB,MAAMrL,GAAGyM,EAAEO,iBAAiBhN,EAAE,IAAIiD,EAAEd,KAAK3D,EAAEqE,cAAc,IAAI4J,EAAEE,gBAAgB3M,EAAExB,EAAEmE,cAAc8J,EAAEQ,iBAAiBjN,EAAE,GAAG5B,GAAGqO,EAAEL,WAAWpM,EAAE5B,GAAGqO,EAAEnB,QAAQtL,EAAE1C,GAAG,MAAMyB,EAAE0N,EAAEjB,IAAIxL,GAAG,OAAOA,EAAEiI,mBAAmBlJ,GAAGiB,EAAEmF,eAAgegO,CAAEnT,GAAGjC,EAAES,EAAEgD,SAASmM,IAAInP,GAArrQ,SAAWA,EAAEwB,GAAG,MAAM5B,EAAE4B,EAAE4C,QAAQtF,EAAE,IAAI2F,EAAEiB,QAAQ,GAAG7E,EAAE,IAAIiC,WAAW,KAAK,IAAIvD,EAAE,EAAE,GAAGK,EAAE,CAAC,MAAM4B,EAAE,IAAI0O,SAASrP,EAAEmE,QAAQ,IAAI,IAAIlG,EAAE,EAAEA,EAAEc,EAAEsJ,OAAOpK,IAAI,CAAC,MAAMwF,EAAE1E,EAAEd,GAAGyF,EAAEvE,EAAEgR,WAAW1M,EAAEjF,MAAM,GAAG,OAAOkF,EAAE,OAAO/C,EAAEoT,UAAUrV,EAAET,GAAE,GAAIS,GAAG,EAAE+E,EAAEnB,MAAM,KAAK5C,EAAE+C,KAAK9B,EAAEqT,SAAStV,EAAEgF,GAAGhF,GAAG,EAAE,MAAM,KAAKgB,EAAEgD,MAAM/B,EAAEsT,SAASvV,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEiD,OAAOhC,EAAEoT,UAAUrV,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEkD,IAAIjC,EAAEuT,SAASxV,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEmD,KAAKlC,EAAEwT,UAAUzV,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEoD,KAAKnC,EAAEyT,YAAY1V,EAAE2V,OAAO3Q,IAAG,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEoD,KAAKnC,EAAE2T,aAAa5V,EAAE2V,OAAO3Q,IAAG,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEuD,OAAOtC,EAAE4T,WAAW7V,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEwD,OAAO,MAAM/D,EAAEuE,EAAE3E,GAAE,IAAKyV,aAAaC,OAAOtV,GAAGwB,EAAEwT,UAAUzV,EAAEK,EAAEsJ,QAAO,GAAI3J,GAAG,EAAEsB,EAAEgI,IAAIjJ,EAAEL,GAAGA,GAAGK,EAAEsJ,OAAO,MAAM,QAAQ,MAAM,IAAIR,MAAM,kBAAkB,IAAIpE,EAAE,KAAK/E,EAAE,IAAI+E,EAAElF,EAAEmW,uBAAuBzW,EAAE+B,EAAE+O,MAAM,EAAErQ,KAAK,MAAMgF,EAAE,SAASvE,EAAEwB,EAAE5B,GAAG,MAAMyP,GAAGvQ,EAAEwQ,KAAK/O,EAAEgP,MAAM1O,EAAEsC,KAAK5D,GAAGK,EAAE,GAAGiB,EAAE,CAAC,MAAMjB,EAAEiB,EAAEsO,IAAIvP,GAAGI,EAAEwB,EAAE5B,IAAId,EAAEK,EAAEqW,kBAAkBhU,EAAE5B,GAAG,OAAOT,EAAE0N,MAAMrL,GAAGrC,EAAEsO,SAASjM,EAAE1C,GAAGK,EAAE6N,IAAIxL,GAAG,MAAM8C,EAAEnF,EAAEsW,eAAejU,EAAE1C,GAAG,IAAIyF,EAAE,KAAK,OAAOhE,IAAIgE,EAAEpF,EAAEuW,iBAAiBlU,EAAEjB,IAAIpB,EAAE0N,MAAMrL,GAAG+C,GAAGpF,EAAEgO,QAAQ3L,EAAE+C,GAAGpF,EAAEiO,MAAM5L,EAAE8C,GAAGnF,EAAE4N,QAAQvL,EAAEjC,GAAGJ,EAAE6N,IAAIxL,GAAvS,CAA2S1C,EAAEmQ,EAAEjP,EAAEgQ,WAAW5Q,EAAEyN,MAAM/N,GAAGM,EAAEsO,YAAY5O,EAAEyF,GAAGD,GAAGlF,EAAEuO,cAAc7O,EAAEwF,GAAG,MAAME,EAAEpF,EAAE4N,IAAIlO,GAAG,OAAOA,EAAE2K,mBAAmBjF,GAAG1F,EAAE6H,eAA09NzH,CAAEc,EAAEwB,IAAI8C,EAAE/E,EAAE4P,IAAInP,GAAGA,EAAEkJ,QAAQ0F,OAAO,CAAC5O,EAAEwB,IAAIxB,EAAEwB,GAAG+C,EAAE,IAAIzB,WAAW+Q,EAAE3K,OAAOpK,EAAEoK,OAAO5E,GAAGC,EAAEsE,IAAI/J,EAAE+U,EAAE3K,QAAQ,IAAI1E,EAAEqP,EAAE3K,OAAOpK,EAAEoK,OAAO,IAAI,MAAMlJ,KAAKT,EAAEgF,EAAEsE,IAAI7I,EAAEwE,GAAGA,GAAGxE,EAAEkJ,OAAO,OAAO3E,EAAEsE,IAAIgL,GAAGtP,EAAE,SAASoR,EAAE3V,GAAG,MAAM,CAACmD,KAAK,oBAAoBH,SAAS,SAAShD,EAAEwB,GAAG,IAAIxB,EAAE6G,SAAS,EAAE,GAAGmN,MAAM,CAAChU,EAAEwB,IAAIqS,EAAErS,KAAKxB,GAAG,MAAM,IAAI0I,MAAM,yBAAyB,MAAM5J,EAAE,IAAI2F,EAAEmB,WAAW5F,GAAGO,EAAEzB,EAAEuL,WAAWwJ,EAAE3K,QAAQpK,EAAE8J,YAAYiL,EAAE3K,OAAO,GAAG,MAAM3J,EAAE0O,EAAEgG,QAAQnV,GAAGwF,EAAE/E,EAAE8E,gBAAgBmB,YAAYjB,EAAE,GAAG,IAAI,IAAIvE,EAAE,EAAEA,EAAET,EAAE2U,gBAAgBlU,IAAI,CAAC,MAAMwB,EAAEjC,EAAE6E,QAAQpE,GAAGuE,EAAE6E,KAAK,IAAIxJ,EAAE4B,EAAEnC,OAAOmC,EAAE2B,SAAS,MAAMqB,EAAE,IAAI3D,EAAEtB,EAAE4E,eAAeI,EAAE,GAAG,IAAIoI,EAAEkH,EAAE3K,OAAO,EAAE3I,EAAE,MAAMpB,EAAEI,EAAE4U,gBAAgBhV,EAAE,IAAIwN,GAAGiG,EAAEtO,EAAEnF,IAAI,MAAMJ,EAAE,GAAG,KAAK4N,EAAE7N,EAAE0H,YAAY,CAAC,MAAMxG,EAAElB,EAAEuL,WAAWsC,GAAG7N,EAAE8J,YAAY+D,EAAE,GAAG,MAAM/M,EAAER,EAAE6U,QAAQnV,GAAGC,EAAEqK,KAAK5H,EAAE5B,EAAE4E,IAAImI,GAAG,EAAE3M,EAAE,OAAOjB,EAAtiB,CAAyiBiB,EAAE,CAACA,EAAEwB,IAAIuO,EAAE/P,EAAEwB,KAAK,SAASoU,EAAE5V,EAAEwB,GAAG,OAAO,SAASxB,EAAEwB,EAAE5B,GAAG,IAAId,EAAE,EAAE,OAAOgV,EAAEM,UAAU,MAAMxU,QAAQiW,MAAM7V,EAAE,CAAC8V,QAAQ,CAACC,MAAM,SAASjX,KAAKA,EAAE0C,EAAE,OAAO,OAAO1C,GAAG0C,QAAQ5B,EAAEgC,eAAewS,UAAUtV,EAAEkB,GAAGwB,EAAU,CAACxB,EAAEwB,IAAIuO,EAAE/P,EAAEwB,IAAjL,CAAkKxB,EAAEwB,GAAiBxB,EAAE+C,YAAY,SAAS/C,EAAEJ,GAAG,OAAOI,aAAa8C,WAAW6S,EAAE3V,GAAGA,aAAawB,EAAEwU,eAAhnH,SAAWhW,EAAEwB,GAAG,MAAM5B,EAAE,mBAAmBd,EAAEkB,GAAG4P,MAAM9Q,EAAE,IAAI0T,EAAE,mBAAmB1T,EAAE6U,KAAK7U,EAAEA,EAAEmX,aAAa,IAAInX,EAAE,OAAOgV,EAAEM,eAAexU,EAAEgQ,MAAM5P,QAAG,OAAO,EAAOwB,GAA+9G0U,CAAElW,EAAE,CAACA,EAAEwB,IAAIuO,EAAE/P,EAAEwB,IAAIoU,EAAE5V,EAAEJ,IAAII,EAAEmW,UAAU,SAASnW,GAAG,OAAOsU,EAAEtU,IAAIR,OAAOC,eAAeO,EAAE,aAAa,CAACD,OAAM,IAA/+oCyB,CAAE5C,EAAQ,EAAQ,K,6BCAtF,yQAIA,IAAIwX,EAAmC,mBAAXvW,QAAoD,iBAApBA,OAAOsR,SAC/DtR,OACA,SAAUwW,GAAe,MAAO,UAAYA,EAAc,KAG9D,SAASC,KAMT,IAAIC,EAAc7F,OAAO8F,OAAS,SAAUpD,GAExC,OAAOA,GAAMA,GAGbqD,EAAkCH,EAEtC,SAASI,EAAatD,GAClB,MAAqB,iBAANA,GAAwB,OAANA,GAA4B,mBAANA,EAE3D,SAASuD,EAAoBC,GAGzB,OAAOA,EAAShH,QAKpB,SAASiH,EAA0B7H,GAC/B,OAA+B,IAQnC,SAA6BA,GACzB,GAAiB,iBAANA,EACP,OAAO,EAEX,GAAIuH,EAAYvH,GACZ,OAAO,EAEX,GAAIA,EAAI,EACJ,OAAO,EAEX,OAAO,EAlBH8H,CAAoB9H,IAGpBA,IAAM+H,IAiBd,SAASC,EAAKjH,EAAG6C,EAAGqE,GAChB,GAAiB,mBAANlH,EACP,MAAM,IAAIqB,UAAU,8BAExB,OAAO7P,SAASb,UAAUwR,MAAMjT,KAAK8Q,EAAG6C,EAAGqE,GAE/C,SAASC,EAAoCC,EAAkBC,EAAYC,EAAcC,GACrF,IAAIC,EAASJ,EAAiBC,GAC9B,QAAeI,IAAXD,EAAsB,CACtB,GAAsB,mBAAXA,EACP,MAAM,IAAInG,UAAUmG,EAAS,oBAEjC,OAAQF,GACJ,KAAK,EACD,OAAO,WACH,OAAOI,EAAYF,EAAQJ,EAAkBG,IAGrD,KAAK,EACD,OAAO,SAAUxF,GACb,IAAI4F,EAAW,CAAC5F,GAAK/C,OAAOuI,GAC5B,OAAOG,EAAYF,EAAQJ,EAAkBO,KAK7D,OAAO,WAAc,OAAOC,OAAoBH,IAEpD,SAASI,EAAarF,EAAGD,EAAG2E,GACxB,IAAIM,EAAShF,EAAED,GACf,QAAekF,IAAXD,EAGJ,OAAOP,EAAKO,EAAQhF,EAAG0E,GAE3B,SAASQ,EAAY1H,EAAG6C,EAAGqE,GACvB,IACI,OAAOU,EAAoBX,EAAKjH,EAAG6C,EAAGqE,IAE1C,MAAOlX,GACH,OAAO8X,EAAoB9X,IAWnC,SAAS+X,EAAkCC,GAEvC,GADAA,EAAgBrH,OAAOqH,GACnBxB,EAAYwB,IAAkBA,EAAgB,EAC9C,MAAM,IAAIC,WAAW,iFAEzB,OAAOD,EAEX,SAASE,EAAkCC,GACvC,QAAaV,IAATU,EACA,OAAO,WAAc,OAAO,GAEhC,GAAoB,mBAATA,EACP,MAAM,IAAI9G,UAAU,0DAExB,OAAO,SAAU+G,GAAS,OAAOD,EAAKC,IAE1C,IAAIC,EAAkB5G,QAClB6G,EAAsB7G,QAAQ9Q,UAAUgR,KACxC4G,EAAyB9G,QAAQC,QAAQnR,KAAK8X,GAC9CG,EAAwB/G,QAAQI,OAAOtR,KAAK8X,GAChD,SAASI,EAAWC,GAChB,OAAO,IAAIL,EAAgBK,GAE/B,SAASd,EAAoB5X,GACzB,OAAOuY,EAAuBvY,GAElC,SAAS8X,EAAoBa,GACzB,OAAOH,EAAsBG,GAEjC,SAASC,EAAmBC,EAASC,EAAaC,GAG9C,OAAOT,EAAoBpZ,KAAK2Z,EAASC,EAAaC,GAE1D,SAASC,EAAYH,EAASC,EAAaC,GACvCH,EAAmBA,EAAmBC,EAASC,EAAaC,QAAatB,EAAWf,GAExF,SAASuC,EAAgBJ,EAASC,GAC9BE,EAAYH,EAASC,GAEzB,SAASI,EAAcL,EAASE,GAC5BC,EAAYH,OAASpB,EAAWsB,GAEpC,SAASI,EAAqBN,EAASO,EAAoBC,GACvD,OAAOT,EAAmBC,EAASO,EAAoBC,GAE3D,SAASC,EAA0BT,GAC/BD,EAAmBC,OAASpB,EAAWf,GAK3C,IAOI6C,EAA6B,WAC7B,SAASA,IACLhY,KAAKiY,QAAU,EACfjY,KAAKkY,MAAQ,EAEblY,KAAKmY,OAAS,CACVC,UAAW,GACXC,WAAOnC,GAEXlW,KAAKsY,MAAQtY,KAAKmY,OAIlBnY,KAAKiY,QAAU,EAEfjY,KAAKkY,MAAQ,EAsFjB,OApFAha,OAAOC,eAAe6Z,EAAY5Y,UAAW,SAAU,CACnDf,IAAK,WACD,OAAO2B,KAAKkY,OAEhB9Z,YAAY,EACZma,cAAc,IAMlBP,EAAY5Y,UAAU0I,KAAO,SAAU0Q,GACnC,IAAIC,EAAUzY,KAAKsY,MACfI,EAAUD,EACmBE,QAA7BF,EAAQL,UAAUxQ,SAClB8Q,EAAU,CACNN,UAAW,GACXC,WAAOnC,IAKfuC,EAAQL,UAAUtQ,KAAK0Q,GACnBE,IAAYD,IACZzY,KAAKsY,MAAQI,EACbD,EAAQJ,MAAQK,KAElB1Y,KAAKkY,OAIXF,EAAY5Y,UAAUwZ,MAAQ,WAC1B,IAAIC,EAAW7Y,KAAKmY,OAChBW,EAAWD,EACXE,EAAY/Y,KAAKiY,QACjBe,EAAYD,EAAY,EACxBzD,EAAWuD,EAAST,UACpBI,EAAUlD,EAASyD,GAavB,OA1EmB,QA8DfC,IACAF,EAAWD,EAASR,MACpBW,EAAY,KAGdhZ,KAAKkY,MACPlY,KAAKiY,QAAUe,EACXH,IAAaC,IACb9Y,KAAKmY,OAASW,GAGlBxD,EAASyD,QAAa7C,EACfsC,GAUXR,EAAY5Y,UAAU6Z,QAAU,SAAUC,GAItC,IAHA,IAAI1b,EAAIwC,KAAKiY,QACTkB,EAAOnZ,KAAKmY,OACZ7C,EAAW6D,EAAKf,YACb5a,IAAM8X,EAAS1N,aAAyBsO,IAAfiD,EAAKd,OAC7B7a,IAAM8X,EAAS1N,SAGfpK,EAAI,EACoB,KAFxB8X,GADA6D,EAAOA,EAAKd,OACID,WAEHxQ,UAIjBsR,EAAS5D,EAAS9X,MAChBA,GAKVwa,EAAY5Y,UAAUga,KAAO,WACzB,IAAIC,EAAQrZ,KAAKmY,OACbmB,EAAStZ,KAAKiY,QAClB,OAAOoB,EAAMjB,UAAUkB,IAEpBtB,EArGqB,GAwGhC,SAASuB,EAA+B9a,EAAO4R,EAAMmJ,GACjD,IAAIpa,EAAY,MACM,IAAlBoa,IACApa,EAAYlB,OAAOkB,WAEvB,IAAIqa,EAAMvb,OAAOY,OAAOM,GAGxB,OAFAqa,EAAIhb,MAAQA,EACZgb,EAAIpJ,KAAOA,EACJoJ,EAEX,SAASC,EAAsCC,EAAQhY,GACnDgY,EAAOC,gBAAiB,EACxBD,EAAOE,qBAAuBlY,EAC9BA,EAAOmY,QAAUH,EACK,aAAlBhY,EAAOoY,OACPC,EAAqCL,GAEd,WAAlBhY,EAAOoY,OAsCpB,SAAwDJ,GACpDK,EAAqCL,GACrCM,EAAkCN,GAvC9BO,CAA+CP,GAG/CQ,EAA+CR,EAAQhY,EAAOyY,cAKtE,SAASC,EAAkCV,EAAQvC,GAE/C,OAAOkD,GADMX,EAAOE,qBACgBzC,GAExC,SAASmD,EAAmCZ,GACG,aAAvCA,EAAOE,qBAAqBE,OAC5BS,EAAiCb,EAAQ,IAAI7J,UAAU,qFAiC/D,SAAmD6J,EAAQvC,GACvD+C,EAA+CR,EAAQvC,GA/BnDqD,CAA0Cd,EAAQ,IAAI7J,UAAU,qFAEpE6J,EAAOE,qBAAqBC,aAAU5D,EACtCyD,EAAOE,0BAAuB3D,EAGlC,SAASwE,EAAoB3c,GACzB,OAAO,IAAI+R,UAAU,UAAY/R,EAAO,qCAG5C,SAASic,EAAqCL,GAC1CA,EAAOgB,eAAiBzD,GAAW,SAAU/G,EAASG,GAClDqJ,EAAOiB,uBAAyBzK,EAChCwJ,EAAOkB,sBAAwBvK,KAGvC,SAAS6J,EAA+CR,EAAQvC,GAC5D4C,EAAqCL,GACrCa,EAAiCb,EAAQvC,GAM7C,SAASoD,EAAiCb,EAAQvC,GAC9CW,EAA0B4B,EAAOgB,gBACjChB,EAAOkB,sBAAsBzD,GAC7BuC,EAAOiB,4BAAyB1E,EAChCyD,EAAOkB,2BAAwB3E,EAKnC,SAAS+D,EAAkCN,GACvCA,EAAOiB,4BAAuB1E,GAC9ByD,EAAOiB,4BAAyB1E,EAChCyD,EAAOkB,2BAAwB3E,EAGnC,IAAI4E,EAAchG,EAAe,mBAC7BiG,EAAYjG,EAAe,iBAG/B,SAASkG,EAAmCrZ,EAAQ6X,QAC1B,IAAlBA,IAA4BA,GAAgB,GAChD,IAAIG,EAAS,IAAIsB,EAA4BtZ,GAE7C,OADAgY,EAAOC,eAAiBJ,EACjBG,EAGX,SAASuB,EAA6BvZ,GAQlC,OAPcuV,GAAW,SAAU/G,EAASG,GACxC,IAAI6K,EAAc,CACdC,SAAUjL,EACVkL,QAAS/K,GAEb3O,EAAOmY,QAAQwB,cAAcxT,KAAKqT,MAI1C,SAASI,EAAiC5Z,EAAQkV,EAAOxG,GACrD,IAAIsJ,EAAShY,EAAOmY,QACFH,EAAO2B,cAAc1C,QAC3BwC,SAAS7B,EAA+B1C,EAAOxG,EAAMsJ,EAAOC,iBAE5E,SAAS4B,EAAiC7Z,GACtC,OAAOA,EAAOmY,QAAQwB,cAAc1T,OAExC,SAAS6T,EAA+B9Z,GACpC,IAAIgY,EAAShY,EAAOmY,QACpB,YAAe5D,IAAXyD,KAGC+B,EAA8B/B,GAKvC,IAgFIgC,EACAC,EAjFAX,EAA6C,WAC7C,SAASA,EAA4BtZ,GACjC,IAAiC,IAA7Bka,GAAiBla,GACjB,MAAM,IAAImO,UAAU,sFAExB,IAAuC,IAAnCgM,GAAuBna,GACvB,MAAM,IAAImO,UAAU,+EAExB4J,EAAsC1Z,KAAM2B,GAC5C3B,KAAKsb,cAAgB,IAAItD,EA0C7B,OAxCA9Z,OAAOC,eAAe8c,EAA4B7b,UAAW,SAAU,CACnEf,IAAK,WACD,OAAKqd,EAA8B1b,MAG5BA,KAAK2a,eAFDpE,EAAoBwF,EAAiC,YAIpE3d,YAAY,EACZma,cAAc,IAElB0C,EAA4B7b,UAAUkT,OAAS,SAAU8E,GACrD,OAAKsE,EAA8B1b,WAGDkW,IAA9BlW,KAAK6Z,qBACEtD,EAAoBmE,EAAoB,WAE5CL,EAAkCra,KAAMoX,GALpCb,EAAoBwF,EAAiC,YAOpEd,EAA4B7b,UAAUiT,KAAO,WACzC,OAAKqJ,EAA8B1b,WAGDkW,IAA9BlW,KAAK6Z,qBACEtD,EAAoBmE,EAAoB,cAE5CsB,EAAgChc,MAL5BuW,EAAoBwF,EAAiC,UAOpEd,EAA4B7b,UAAU6c,YAAc,WAChD,IAAKP,EAA8B1b,MAC/B,MAAM+b,EAAiC,eAE3C,QAAkC7F,IAA9BlW,KAAK6Z,qBAAT,CAGA,GAAI7Z,KAAKsb,cAAc1T,OAAS,EAC5B,MAAM,IAAIkI,UAAU,uFAExByK,EAAmCva,QAEhCib,EAnDqC,GAsDhD,SAASS,EAA8B5J,GACnC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,iBAKjD,SAASkK,EAAgCrC,GACrC,IAAIhY,EAASgY,EAAOE,qBAEpB,OADAlY,EAAOua,YAAa,EACE,WAAlBva,EAAOoY,OACA1D,EAAoBkD,OAA+BrD,GAAW,EAAMyD,EAAOC,iBAEhE,YAAlBjY,EAAOoY,OACAxD,EAAoB5U,EAAOyY,cAE/BzY,EAAOwa,0BAA0BpB,KAG5C,SAASgB,EAAiChe,GACtC,OAAO,IAAI+R,UAAU,yCAA2C/R,EAAO,sDAM/B,iBAAjC+W,EAAelF,iBAGI+L,EAAK,IAGxB7G,EAAelF,eAAiB,WAC/B,OAAO5P,MAJf4b,EAMID,EACJzd,OAAOC,eAAeyd,EAAwB9G,EAAelF,cAAe,CAAExR,YAAY,KAI9F,IAAIge,EAAuC,CACvC7L,KAAM,WACF,IAA4C,IAAxC8L,EAA8Brc,MAC9B,OAAOuW,EAAoB+F,GAAuC,SAEtE,IAAI3C,EAAS3Z,KAAKuc,qBAClB,YAAoCrG,IAAhCyD,EAAOE,qBACAtD,EAAoBmE,EAAoB,YAE5C9C,EAAqBoE,EAAgCrC,IAAS,SAAU6C,GAC3E,IAAInM,EAAOmM,EAAOnM,KAKlB,OAJIA,GACAkK,EAAmCZ,GAGhCJ,EADKiD,EAAO/d,MAC0B4R,GAAM,OAG3DK,OAAQ,SAAUjS,GACd,IAA4C,IAAxC4d,EAA8Brc,MAC9B,OAAOuW,EAAoB+F,GAAuC,SAEtE,IAAI3C,EAAS3Z,KAAKuc,qBAClB,QAAoCrG,IAAhCyD,EAAOE,qBACP,OAAOtD,EAAoBmE,EAAoB,qBAEnD,GAAIf,EAAO2B,cAAc1T,OAAS,EAC9B,OAAO2O,EAAoB,IAAIzG,UAAU,wFAE7C,IAA4B,IAAxB9P,KAAKyc,eAA0B,CAC/B,IAAID,EAASnC,EAAkCV,EAAQlb,GAEvD,OADA8b,EAAmCZ,GAC5B/B,EAAqB4E,GAAQ,WAAc,OAAOjD,EAA+B9a,GAAO,GAAM,MAGzG,OADA8b,EAAmCZ,GAC5BtD,EAAoBkD,EAA+B9a,GAAO,GAAM,MAiB/E,SAAS4d,EAA8BvK,GACnC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,wBAMjD,SAASwK,GAAuCve,GAC5C,OAAO,IAAI+R,UAAU,+BAAiC/R,EAAO,qDAGjE,SAAS2e,GAAaC,GAClB,IAAIC,EAAOD,EAAUE,OAAOjE,QAK5B,OAJA+D,EAAUG,iBAAmBF,EAAKhG,KAC9B+F,EAAUG,gBAAkB,IAC5BH,EAAUG,gBAAkB,GAEzBF,EAAKne,MAEhB,SAASse,GAAqBJ,EAAWle,EAAOmY,GAE5C,IAAKrB,EADLqB,EAAOxH,OAAOwH,IAEV,MAAM,IAAIF,WAAW,wDAEzBiG,EAAUE,OAAO/U,KAAK,CAAErJ,MAAOA,EAAOmY,KAAMA,IAC5C+F,EAAUG,iBAAmBlG,EAMjC,SAASoG,GAAWL,GAChBA,EAAUE,OAAS,IAAI7E,EACvB2E,EAAUG,gBAAkB,OAlDD5G,IAA3B0F,GACA1d,OAAO+e,eAAeb,EAAsCR,GAEhE1d,OAAOC,eAAeie,EAAsC,OAAQ,CAAEhe,YAAY,IAClFF,OAAOC,eAAeie,EAAsC,SAAU,CAAEhe,YAAY,IAiDpF,IAAI8e,GAAapI,EAAe,kBAC5BqI,GAAarI,EAAe,kBAC5BsI,GAAgC,WAChC,SAASA,EAAeC,EAAgBC,QACb,IAAnBD,IAA6BA,EAAiB,SACjC,IAAbC,IAAuBA,EAAW,IACtCC,GAAyBvd,MACzB,IAAI4W,EAAO0G,EAAS1G,KAChBH,EAAgB6G,EAAS7G,cAE7B,QAAaP,IADFmH,EAAexb,KAEtB,MAAM,IAAI6U,WAAW,6BAEzB,IAAI8G,EAAgB7G,EAAkCC,QAChCV,IAAlBO,IACAA,EAAgB,GAmiB5B,SAAgE9U,EAAQ0b,EAAgB5G,EAAe+G,GACnG,IAAIC,EAAavf,OAAOY,OAAO4e,GAAgCte,WAI/D,IAAIue,EAAiB/H,EAAoCyH,EAAgB,QAAS,EAAG,CAACI,IAClFG,EAAiBhI,EAAoCyH,EAAgB,QAAS,EAAG,IACjFQ,EAAiBjI,EAAoCyH,EAAgB,QAAS,EAAG,IACrFS,GAAqCnc,EAAQ8b,GAN7C,WACI,OAAOnH,EAAa+G,EAAgB,QAAS,CAACI,MAKuBE,EAAgBC,EAAgBC,EAAgBpH,EAAe+G,GAxiBpIO,CAAuD/d,KAAMqd,EAD7D5G,EAAgBD,EAAkCC,GAC0C+G,GAuChG,OArCAtf,OAAOC,eAAeif,EAAehe,UAAW,SAAU,CACtDf,IAAK,WACD,IAA+B,IAA3B2f,GAAiBhe,MACjB,MAAMie,GAA0B,UAEpC,OAAOC,GAAuBle,OAElC5B,YAAY,EACZma,cAAc,IAElB6E,EAAehe,UAAU+e,MAAQ,SAAU/G,GACvC,OAA+B,IAA3B4G,GAAiBhe,MACVuW,EAAoB0H,GAA0B,WAEpB,IAAjCC,GAAuBle,MAChBuW,EAAoB,IAAIzG,UAAU,oDAEtCsO,GAAoBpe,KAAMoX,IAErCgG,EAAehe,UAAUif,MAAQ,WAC7B,OAA+B,IAA3BL,GAAiBhe,MACVuW,EAAoB0H,GAA0B,WAEpB,IAAjCC,GAAuBle,MAChBuW,EAAoB,IAAIzG,UAAU,qDAEK,IAA9CwO,GAAoCte,MAC7BuW,EAAoB,IAAIzG,UAAU,2CAEtCyO,GAAoBve,OAE/Bod,EAAehe,UAAUof,UAAY,WACjC,IAA+B,IAA3BR,GAAiBhe,MACjB,MAAMie,GAA0B,aAEpC,OAAOQ,GAAmCze,OAEvCod,EAvDwB,GA0DnC,SAASqB,GAAmC9c,GACxC,OAAO,IAAI+c,GAA4B/c,GAY3C,SAAS4b,GAAyB5b,GAC9BA,EAAOoY,OAAS,WAGhBpY,EAAOyY,kBAAelE,EACtBvU,EAAOgd,aAAUzI,EAGjBvU,EAAOid,+BAA4B1I,EAGnCvU,EAAOkd,eAAiB,IAAI7G,EAG5BrW,EAAOmd,2BAAwB5I,EAG/BvU,EAAOod,mBAAgB7I,EAGvBvU,EAAOqd,2BAAwB9I,EAE/BvU,EAAOsd,0BAAuB/I,EAE9BvU,EAAOud,eAAgB,EAE3B,SAASlB,GAAiBlM,GACtB,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,6BAKjD,SAASoM,GAAuBvc,GAC5B,YAAuBuU,IAAnBvU,EAAOgd,QAKf,SAASP,GAAoBzc,EAAQyV,GACjC,IAAI+H,EAAQxd,EAAOoY,OACnB,GAAc,WAAVoF,GAAgC,YAAVA,EACtB,OAAO9I,OAAoBH,GAE/B,QAAoCA,IAAhCvU,EAAOsd,qBACP,OAAOtd,EAAOsd,qBAAqBG,SAEvC,IAAIC,GAAqB,EACX,aAAVF,IACAE,GAAqB,EAErBjI,OAASlB,GAEb,IAAIoB,EAAUJ,GAAW,SAAU/G,EAASG,GACxC3O,EAAOsd,qBAAuB,CAC1BG,cAAUlJ,EACVkF,SAAUjL,EACVkL,QAAS/K,EACTgP,QAASlI,EACTmI,oBAAqBF,MAO7B,OAJA1d,EAAOsd,qBAAqBG,SAAW9H,GACZ,IAAvB+H,GACAG,GAA4B7d,EAAQyV,GAEjCE,EAEX,SAASiH,GAAoB5c,GACzB,IAAIwd,EAAQxd,EAAOoY,OACnB,GAAc,WAAVoF,GAAgC,YAAVA,EACtB,OAAO5I,EAAoB,IAAIzG,UAAU,kBAAoBqP,EAAQ,8DAEzE,IA+a0C1B,EA/atCnG,EAAUJ,GAAW,SAAU/G,EAASG,GACxC,IAAImP,EAAe,CACfrE,SAAUjL,EACVkL,QAAS/K,GAEb3O,EAAOod,cAAgBU,KAEvBC,EAAS/d,EAAOgd,QAKpB,YAJezI,IAAXwJ,IAAiD,IAAzB/d,EAAOud,eAAoC,aAAVC,GACzDQ,GAAiCD,GAuarC3C,GAD0CU,EApaL9b,EAAOid,0BAqaX,QAAS,GAC1CgB,GAAoDnC,GAra7CnG,EAaX,SAASuI,GAAgCle,EAAQme,GAE/B,aADFne,EAAOoY,OAKnBgG,GAA6Bpe,GAHzB6d,GAA4B7d,EAAQme,GAK5C,SAASN,GAA4B7d,EAAQyV,GACzC,IAAIqG,EAAa9b,EAAOid,0BACxBjd,EAAOoY,OAAS,WAChBpY,EAAOyY,aAAehD,EACtB,IAAIsI,EAAS/d,EAAOgd,aACLzI,IAAXwJ,GACAM,GAAsDN,EAAQtI,IAET,IA4E7D,SAAkDzV,GAC9C,QAAqCuU,IAAjCvU,EAAOmd,4BAAwE5I,IAAjCvU,EAAOqd,sBACrD,OAAO,EAEX,OAAO,EAhFHiB,CAAyCte,KAA6C,IAAxB8b,EAAWyC,UACzEH,GAA6Bpe,GAGrC,SAASoe,GAA6Bpe,GAClCA,EAAOoY,OAAS,UAChBpY,EAAOid,0BAA0BzB,MACjC,IAAIgD,EAAcxe,EAAOyY,aAKzB,GAJAzY,EAAOkd,eAAe5F,SAAQ,SAAUmH,GACpCA,EAAa/E,QAAQ8E,MAEzBxe,EAAOkd,eAAiB,IAAI7G,OACQ9B,IAAhCvU,EAAOsd,qBAAX,CAIA,IAAIoB,EAAe1e,EAAOsd,qBAE1B,GADAtd,EAAOsd,0BAAuB/I,GACW,IAArCmK,EAAad,oBAGb,OAFAc,EAAahF,QAAQ8E,QACrBG,GAAkD3e,GAItD8V,EADc9V,EAAOid,0BAA0B1B,IAAYmD,EAAaf,UACnD,WACjBe,EAAajF,WACbkF,GAAkD3e,MACnD,SAAUyV,GACTiJ,EAAahF,QAAQjE,GACrBkJ,GAAkD3e,WAhBlD2e,GAAkD3e,GAyD1D,SAAS2c,GAAoC3c,GACzC,YAA6BuU,IAAzBvU,EAAOod,oBAAgE7I,IAAjCvU,EAAOqd,sBAkBrD,SAASsB,GAAkD3e,QAC1BuU,IAAzBvU,EAAOod,gBACPpd,EAAOod,cAAc1D,QAAQ1Z,EAAOyY,cACpCzY,EAAOod,mBAAgB7I,GAE3B,IAAIwJ,EAAS/d,EAAOgd,aACLzI,IAAXwJ,GACAa,GAAiCb,EAAQ/d,EAAOyY,cAGxD,SAASoG,GAAiC7e,EAAQ8e,GAC9C,IAAIf,EAAS/d,EAAOgd,aACLzI,IAAXwJ,GAAwBe,IAAiB9e,EAAOud,iBAC3B,IAAjBuB,EAwcZ,SAAwCf,GACpCgB,GAAoChB,GAxc5BiB,CAA+BjB,GAG/BC,GAAiCD,IAGzC/d,EAAOud,cAAgBuB,EAE3B,IAAI/B,GAA6C,WAC7C,SAASA,EAA4B/c,GACjC,IAAiC,IAA7Bqc,GAAiBrc,GACjB,MAAM,IAAImO,UAAU,sFAExB,IAAuC,IAAnCoO,GAAuBvc,GACvB,MAAM,IAAImO,UAAU,+EAExB9P,KAAK4gB,qBAAuBjf,EAC5BA,EAAOgd,QAAU3e,KACjB,IA2YgD0f,EA3Y5CP,EAAQxd,EAAOoY,OACnB,GAAc,aAAVoF,GACoD,IAAhDb,GAAoC3c,KAA8C,IAAzBA,EAAOud,cAChEwB,GAAoC1gB,MAGpC6gB,GAA8C7gB,MAElD8gB,GAAqC9gB,WAEpC,GAAc,aAAVmf,EACL4B,GAA8C/gB,KAAM2B,EAAOyY,cAC3D0G,GAAqC9gB,WAEpC,GAAc,WAAVmf,EACL0B,GAA8C7gB,MA6XtD8gB,GADoDpB,EA3XG1f,MA6XvDghB,GAAkCtB,OA3XzB,CACD,IAAIS,EAAcxe,EAAOyY,aACzB2G,GAA8C/gB,KAAMmgB,GACpDc,GAA+CjhB,KAAMmgB,IA6E7D,OA1EAjiB,OAAOC,eAAeugB,EAA4Btf,UAAW,SAAU,CACnEf,IAAK,WACD,OAA4C,IAAxC6iB,GAA8BlhB,MACvBuW,EAAoB4K,GAAiC,WAEzDnhB,KAAK2a,gBAEhBvc,YAAY,EACZma,cAAc,IAElBra,OAAOC,eAAeugB,EAA4Btf,UAAW,cAAe,CACxEf,IAAK,WACD,IAA4C,IAAxC6iB,GAA8BlhB,MAC9B,MAAMmhB,GAAiC,eAE3C,QAAkCjL,IAA9BlW,KAAK4gB,qBACL,MAAMQ,GAA2B,eAErC,OAwGZ,SAAmD1B,GAC/C,IAAI/d,EAAS+d,EAAOkB,qBAChBzB,EAAQxd,EAAOoY,OACnB,GAAc,YAAVoF,GAAiC,aAAVA,EACvB,OAAO,KAEX,GAAc,WAAVA,EACA,OAAO,EAEX,OAAOkC,GAA8C1f,EAAOid,2BAjH7C0C,CAA0CthB,OAErD5B,YAAY,EACZma,cAAc,IAElBra,OAAOC,eAAeugB,EAA4Btf,UAAW,QAAS,CAClEf,IAAK,WACD,OAA4C,IAAxC6iB,GAA8BlhB,MACvBuW,EAAoB4K,GAAiC,UAEzDnhB,KAAKuhB,eAEhBnjB,YAAY,EACZma,cAAc,IAElBmG,EAA4Btf,UAAU+e,MAAQ,SAAU/G,GACpD,OAA4C,IAAxC8J,GAA8BlhB,MACvBuW,EAAoB4K,GAAiC,eAE9BjL,IAA9BlW,KAAK4gB,qBACErK,EAAoB6K,GAA2B,UAiDlE,SAA0C1B,EAAQtI,GAE9C,OAAOgH,GADMsB,EAAOkB,qBACexJ,GAjDxBoK,CAAiCxhB,KAAMoX,IAElDsH,EAA4Btf,UAAUif,MAAQ,WAC1C,IAA4C,IAAxC6C,GAA8BlhB,MAC9B,OAAOuW,EAAoB4K,GAAiC,UAEhE,IAAIxf,EAAS3B,KAAK4gB,qBAClB,YAAe1K,IAAXvU,EACO4U,EAAoB6K,GAA2B,WAEN,IAAhD9C,GAAoC3c,GAC7B4U,EAAoB,IAAIzG,UAAU,2CAEtC2R,GAAiCzhB,OAE5C0e,EAA4Btf,UAAU6c,YAAc,WAChD,IAA4C,IAAxCiF,GAA8BlhB,MAC9B,MAAMmhB,GAAiC,oBAG5BjL,IADFlW,KAAK4gB,sBAIlBc,GAAmC1hB,OAEvC0e,EAA4Btf,UAAUuiB,MAAQ,SAAU9K,GACpD,OAA4C,IAAxCqK,GAA8BlhB,MACvBuW,EAAoB4K,GAAiC,eAE9BjL,IAA9BlW,KAAK4gB,qBACErK,EAAoB6K,GAA2B,aAEnDQ,GAAiC5hB,KAAM6W,IAE3C6H,EA5GqC,GA+GhD,SAASwC,GAA8BpP,GACnC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,wBAUjD,SAAS2P,GAAiC/B,GAEtC,OAAOnB,GADMmB,EAAOkB,sBAcxB,SAASiB,GAAuDnC,EAAQI,GACjC,YAA/BJ,EAAOoC,oBACPvB,GAAiCb,EAAQI,GAkRjD,SAAmDJ,EAAQtI,GACvD6J,GAA+CvB,EAAQtI,GAhRnD2K,CAA0CrC,EAAQI,GAG1D,SAASE,GAAsDN,EAAQI,GACjC,YAA9BJ,EAAOsC,mBACPC,GAAgCvC,EAAQI,GA4ShD,SAAkDJ,EAAQtI,GACtD2J,GAA8CrB,EAAQtI,GA1SlD8K,CAAyCxC,EAAQI,GAczD,SAAS4B,GAAmChC,GACxC,IAAI/d,EAAS+d,EAAOkB,qBAChBuB,EAAgB,IAAIrS,UAAU,oFAClCkQ,GAAsDN,EAAQyC,GAG9DN,GAAuDnC,EAAQyC,GAC/DxgB,EAAOgd,aAAUzI,EACjBwJ,EAAOkB,0BAAuB1K,EAElC,SAAS0L,GAAiClC,EAAQ7I,GAC9C,IAAIlV,EAAS+d,EAAOkB,qBAChBnD,EAAa9b,EAAOid,0BACpBwD,EAuGR,SAAqD3E,EAAY5G,GAC7D,IACI,OAAO4G,EAAW4E,uBAAuBxL,GAE7C,MAAOyL,GAEH,OADAC,GAA6C9E,EAAY6E,GAClD,GA7GKE,CAA4C/E,EAAY5G,GACxE,GAAIlV,IAAW+d,EAAOkB,qBAClB,OAAOrK,EAAoB6K,GAA2B,aAE1D,IAAIjC,EAAQxd,EAAOoY,OACnB,GAAc,YAAVoF,EACA,OAAO5I,EAAoB5U,EAAOyY,cAEtC,IAAoD,IAAhDkE,GAAoC3c,IAA8B,WAAVwd,EACxD,OAAO5I,EAAoB,IAAIzG,UAAU,6DAE7C,GAAc,aAAVqP,EACA,OAAO5I,EAAoB5U,EAAOyY,cAEtC,IAAI9C,EA3UR,SAAuC3V,GAQnC,OAPcuV,GAAW,SAAU/G,EAASG,GACxC,IAAI8P,EAAe,CACfhF,SAAUjL,EACVkL,QAAS/K,GAEb3O,EAAOkd,eAAe/W,KAAKsY,MAqUjBqC,CAA8B9gB,GAE5C,OAmGJ,SAA8C8b,EAAY5G,EAAOuL,GAC7D,IAAIM,EAAc,CAAE7L,MAAOA,GAC3B,IACIkG,GAAqBU,EAAYiF,EAAaN,GAElD,MAAOO,GAEH,YADAJ,GAA6C9E,EAAYkF,GAG7D,IAAIhhB,EAAS8b,EAAWmF,0BACxB,IAAoD,IAAhDtE,GAAoC3c,IAAuC,aAAlBA,EAAOoY,OAAuB,CACvF,IAAI0G,EAAeoC,GAA+CpF,GAClE+C,GAAiC7e,EAAQ8e,GAE7Cb,GAAoDnC,GAlHpDqF,CAAqCrF,EAAY5G,EAAOuL,GACjD9K,EAEX,IAAIoG,GAAiD,WAEjD,SAASA,IACL,MAAM,IAAI5N,UAAU,oEAwBxB,OAtBA4N,EAAgCte,UAAU0gB,MAAQ,SAAU5f,GACxD,IAAgD,IAwBxD,SAA2C4R,GACvC,IAAKsD,EAAatD,GACd,OAAO,EAEX,IAAK5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,6BACzC,OAAO,EAEX,OAAO,EA/BCiR,CAAkC/iB,MAClC,MAAM,IAAI8P,UAAU,yGAGV,aADF9P,KAAK4iB,0BAA0B7I,QAM3CiJ,GAAqChjB,KAAME,IAG/Cwd,EAAgCte,UAAU8d,IAAc,SAAU9F,GAC9D,IAAIoF,EAASxc,KAAKijB,gBAAgB7L,GAElC,OADA8L,GAA+CljB,MACxCwc,GAGXkB,EAAgCte,UAAU+d,IAAc,WACpDH,GAAWhd,OAER0d,EA3ByC,GAuCpD,SAASI,GAAqCnc,EAAQ8b,EAAY0F,EAAgBxF,EAAgBC,EAAgBC,EAAgBpH,EAAe+G,GAC7IC,EAAWmF,0BAA4BjhB,EACvCA,EAAOid,0BAA4BnB,EAEnCA,EAAWZ,YAAS3G,EACpBuH,EAAWX,qBAAkB5G,EAC7B8G,GAAWS,GACXA,EAAWyC,UAAW,EACtBzC,EAAW4E,uBAAyB7E,EACpCC,EAAW2F,aAAe3M,EAC1BgH,EAAW4F,gBAAkB1F,EAC7BF,EAAW6F,gBAAkB1F,EAC7BH,EAAWwF,gBAAkBpF,EAC7B,IAAI4C,EAAeoC,GAA+CpF,GAClE+C,GAAiC7e,EAAQ8e,GAGzChJ,EADmBpB,EADD8M,MAEQ,WACtB1F,EAAWyC,UAAW,EACtBN,GAAoDnC,MACrD,SAAUnf,GACTmf,EAAWyC,UAAW,EACtBL,GAAgCle,EAAQrD,MAchD,SAAS4kB,GAA+CzF,GACpDA,EAAW4F,qBAAkBnN,EAC7BuH,EAAW6F,qBAAkBpN,EAC7BuH,EAAWwF,qBAAkB/M,EAC7BuH,EAAW4E,4BAAyBnM,EAexC,SAASmL,GAA8C5D,GACnD,OAAOA,EAAW2F,aAAe3F,EAAWX,gBAmBhD,SAAS8C,GAAoDnC,GACzD,IAAI9b,EAAS8b,EAAWmF,0BACxB,IAA4B,IAAxBnF,EAAWyC,eAGsBhK,IAAjCvU,EAAOmd,sBAIX,GAAc,aADFnd,EAAOoY,QAKnB,GAAiC,IAA7B0D,EAAWZ,OAAOjV,OAAtB,CAGA,IAAI8a,EAA6BjF,EA5nBZZ,OAAOzD,OAChB3a,MA4nBQ,UAAhBikB,EAYR,SAAqDjF,GACjD,IAAI9b,EAAS8b,EAAWmF,2BAnX5B,SAAgDjhB,GAC5CA,EAAOqd,sBAAwBrd,EAAOod,cACtCpd,EAAOod,mBAAgB7I,GAkXvBqN,CAAuC5hB,GACvC+a,GAAae,GACb,IAAI+F,EAAmB/F,EAAW6F,kBAClCJ,GAA+CzF,GAC/ChG,EAAY+L,GAAkB,YAjalC,SAA2C7hB,GACvCA,EAAOqd,sBAAsB5D,cAASlF,GACtCvU,EAAOqd,2BAAwB9I,EAEjB,aADFvU,EAAOoY,SAGfpY,EAAOyY,kBAAelE,OACcA,IAAhCvU,EAAOsd,uBACPtd,EAAOsd,qBAAqB7D,WAC5BzZ,EAAOsd,0BAAuB/I,IAGtCvU,EAAOoY,OAAS,SAChB,IAAI2F,EAAS/d,EAAOgd,aACLzI,IAAXwJ,GACAsB,GAAkCtB,GAmZlC+D,CAAkC9hB,MACnC,SAAUyV,IAjZjB,SAAoDzV,EAAQme,GACxDne,EAAOqd,sBAAsB3D,QAAQyE,GACrCne,EAAOqd,2BAAwB9I,OAEKA,IAAhCvU,EAAOsd,uBACPtd,EAAOsd,qBAAqB5D,QAAQyE,GACpCne,EAAOsd,0BAAuB/I,GAElC2J,GAAgCle,EAAQme,GA0YpC4D,CAA2C/hB,EAAQyV,MApBnDuM,CAA4ClG,GAuBpD,SAAqDA,EAAY5G,GAC7D,IAAIlV,EAAS8b,EAAWmF,2BA3X5B,SAAqDjhB,GACjDA,EAAOmd,sBAAwBnd,EAAOkd,eAAejG,SA2XrDgL,CAA4CjiB,GAE5C8V,EADuBgG,EAAW4F,gBAAgBxM,IACpB,YApblC,SAA2ClV,GACvCA,EAAOmd,sBAAsB1D,cAASlF,GACtCvU,EAAOmd,2BAAwB5I,EAmb3B2N,CAAkCliB,GAClC,IAAIwd,EAAQxd,EAAOoY,OAEnB,GADA2C,GAAae,IACuC,IAAhDa,GAAoC3c,IAA+B,aAAVwd,EAAsB,CAC/E,IAAIsB,EAAeoC,GAA+CpF,GAClE+C,GAAiC7e,EAAQ8e,GAE7Cb,GAAoDnC,MACrD,SAAUrG,GACa,aAAlBzV,EAAOoY,QACPmJ,GAA+CzF,GA3b3D,SAAoD9b,EAAQme,GACxDne,EAAOmd,sBAAsBzD,QAAQyE,GACrCne,EAAOmd,2BAAwB5I,EAC/B2J,GAAgCle,EAAQme,GA0bpCgE,CAA2CniB,EAAQyV,MArCnD2M,CAA4CtG,EAAYiF,EAAY7L,aAXpEkJ,GAA6Bpe,GAcrC,SAAS4gB,GAA6C9E,EAAYqC,GACV,aAAhDrC,EAAWmF,0BAA0B7I,QACrCiJ,GAAqCvF,EAAYqC,GAmCzD,SAAS+C,GAA+CpF,GAEpD,OADkB4D,GAA8C5D,IAC1C,EAG1B,SAASuF,GAAqCvF,EAAYqC,GACtD,IAAIne,EAAS8b,EAAWmF,0BACxBM,GAA+CzF,GAC/C+B,GAA4B7d,EAAQme,GAGxC,SAAS7B,GAA0BlgB,GAC/B,OAAO,IAAI+R,UAAU,4BAA8B/R,EAAO,yCAG9D,SAASojB,GAAiCpjB,GACtC,OAAO,IAAI+R,UAAU,yCAA2C/R,EAAO,sDAE3E,SAASqjB,GAA2BrjB,GAChC,OAAO,IAAI+R,UAAU,UAAY/R,EAAO,qCAE5C,SAAS+iB,GAAqCpB,GAC1CA,EAAO/E,eAAiBzD,GAAW,SAAU/G,EAASG,GAClDoP,EAAO9E,uBAAyBzK,EAChCuP,EAAO7E,sBAAwBvK,EAC/BoP,EAAOoC,oBAAsB,aAGrC,SAASb,GAA+CvB,EAAQtI,GAC5D0J,GAAqCpB,GACrCa,GAAiCb,EAAQtI,GAM7C,SAASmJ,GAAiCb,EAAQtI,GAC9CW,EAA0B2H,EAAO/E,gBACjC+E,EAAO7E,sBAAsBzD,GAC7BsI,EAAO9E,4BAAyB1E,EAChCwJ,EAAO7E,2BAAwB3E,EAC/BwJ,EAAOoC,oBAAsB,WAKjC,SAASd,GAAkCtB,GACvCA,EAAO9E,4BAAuB1E,GAC9BwJ,EAAO9E,4BAAyB1E,EAChCwJ,EAAO7E,2BAAwB3E,EAC/BwJ,EAAOoC,oBAAsB,WAEjC,SAASpB,GAAoChB,GACzCA,EAAO6B,cAAgBrK,GAAW,SAAU/G,EAASG,GACjDoP,EAAOsE,sBAAwB7T,EAC/BuP,EAAOuE,qBAAuB3T,KAElCoP,EAAOsC,mBAAqB,UAEhC,SAASjB,GAA8CrB,EAAQtI,GAC3DsJ,GAAoChB,GACpCuC,GAAgCvC,EAAQtI,GAE5C,SAASyJ,GAA8CnB,GACnDgB,GAAoChB,GACpCC,GAAiCD,GAErC,SAASuC,GAAgCvC,EAAQtI,GAC7CW,EAA0B2H,EAAO6B,eACjC7B,EAAOuE,qBAAqB7M,GAC5BsI,EAAOsE,2BAAwB9N,EAC/BwJ,EAAOuE,0BAAuB/N,EAC9BwJ,EAAOsC,mBAAqB,WAQhC,SAASrC,GAAiCD,GACtCA,EAAOsE,2BAAsB9N,GAC7BwJ,EAAOsE,2BAAwB9N,EAC/BwJ,EAAOuE,0BAAuB/N,EAC9BwJ,EAAOsC,mBAAqB,YAGhC,SAASkC,GAAczlB,GACnB,GAAqB,iBAAVA,GAAgC,OAAVA,EAC7B,OAAO,EAEX,IACI,MAAgC,kBAAlBA,EAAM0lB,QAExB,MAAOxI,GAEH,OAAO,GAKf,IAAIyI,GAA6C,oBAAjBC,aAA+BA,kBAAenO,EA2B9E,IAXQoO,GAWJC,GAxBJ,SAAmCD,GAC/B,GAAsB,mBAATA,GAAuC,iBAATA,EACvC,OAAO,EAEX,IAEI,OADA,IAAIA,GACG,EAEX,MAAO3I,GACH,OAAO,GAeM6I,CAA0BJ,IAAsBA,KAX7DE,GAAO,SAAsBG,EAAS1mB,GACtCiC,KAAKykB,QAAUA,GAAW,GAC1BzkB,KAAKjC,KAAOA,GAAQ,QAChBqJ,MAAMsd,mBACNtd,MAAMsd,kBAAkB1kB,KAAMA,KAAK2kB,eAGtCvlB,UAAYlB,OAAOY,OAAOsI,MAAMhI,WACrClB,OAAOC,eAAemmB,GAAKllB,UAAW,cAAe,CAAEX,MAAO6lB,GAAMM,UAAU,EAAMrM,cAAc,IAC3F+L,IAIX,SAASO,GAAqBC,EAAQC,EAAMC,EAAcC,EAAcC,EAAeC,GACnF,IAAIxL,EAASqB,EAAmC8J,GAC5CpF,EAASjB,GAAmCsG,GAChDD,EAAO5I,YAAa,EACpB,IAAIkJ,GAAe,EAEfC,EAAehP,OAAoBH,GACvC,OAAOgB,GAAW,SAAU/G,EAASG,GACjC,IAAIuN,EAiHuBlc,EAAQ2V,EAASgO,EAhH5C,QAAepP,IAAXiP,EAAsB,CAsBtB,GArBAtH,EAAiB,WACb,IAAIiC,EAAQ,IAAIyE,GAAe,UAAW,cACtCgB,EAAU,IACO,IAAjBN,GACAM,EAAQzd,MAAK,WACT,MAAoB,aAAhBid,EAAKhL,OACEqE,GAAoB2G,EAAMjF,GAE9BzJ,OAAoBH,OAGb,IAAlBgP,GACAK,EAAQzd,MAAK,WACT,MAAsB,aAAlBgd,EAAO/K,OACAO,GAAqBwK,EAAQhF,GAEjCzJ,OAAoBH,MAGnCsP,GAAmB,WAAc,OAAOtV,QAAQuV,IAAIF,EAAQ1X,KAAI,SAAUyX,GAAU,OAAOA,WAAkB,EAAMxF,KAEhG,IAAnBqF,EAAOhB,QAEP,YADAtG,IAGJsH,EAAOO,iBAAiB,QAAS7H,GA8DrC,GA3BA8H,EAAmBb,EAAQnL,EAAOgB,gBAAgB,SAAUwF,IACnC,IAAjB8E,EACAO,GAAmB,WAAc,OAAOpH,GAAoB2G,EAAM5E,MAAiB,EAAMA,GAGzFyF,GAAS,EAAMzF,MAIvBwF,EAAmBZ,EAAMrF,EAAO/E,gBAAgB,SAAUwF,IAChC,IAAlB+E,EACAM,GAAmB,WAAc,OAAOlL,GAAqBwK,EAAQ3E,MAAiB,EAAMA,GAG5FyF,GAAS,EAAMzF,MAqCIxe,EAjCTmjB,EAiCiBxN,EAjCTqC,EAAOgB,eAiCW2K,EAjCK,YACxB,IAAjBN,EACAQ,GAAmB,WAAc,OAhdjD,SAA8D9F,GAC1D,IAAI/d,EAAS+d,EAAOkB,qBAChBzB,EAAQxd,EAAOoY,OACnB,OAAoD,IAAhDuE,GAAoC3c,IAA8B,WAAVwd,EACjD9I,OAAoBH,GAEjB,YAAViJ,EACO5I,EAAoB5U,EAAOyY,cAE/BqH,GAAiC/B,GAucYmG,CAAqDnG,MAG7FkG,KA6BkB,WAAlBjkB,EAAOoY,OACPuL,IAGA5N,EAAgBJ,EAASgO,IA7BiB,IAA9ChH,GAAoCyG,IAAkC,WAAhBA,EAAKhL,OAAqB,CAChF,IAAI+L,EAAe,IAAIhW,UAAU,gFACX,IAAlBoV,EACAM,GAAmB,WAAc,OAAOlL,GAAqBwK,EAAQgB,MAAkB,EAAMA,GAG7FF,GAAS,EAAME,GAIvB,SAASC,IAGL,IAAIC,EAAkBX,EACtB,OAAOhO,EAAmBgO,GAAc,WAAc,OAAOW,IAAoBX,EAAeU,SAA0B7P,KAE9H,SAASyP,EAAmBhkB,EAAQ2V,EAASgO,GACnB,YAAlB3jB,EAAOoY,OACPuL,EAAO3jB,EAAOyY,cAGdzC,EAAcL,EAASgO,GAW/B,SAASE,EAAmBF,EAAQW,EAAiBC,GAWjD,SAASC,IACL1O,EAAY6N,KAAU,WAAc,OAAOc,EAASH,EAAiBC,MAAmB,SAAUG,GAAY,OAAOD,GAAS,EAAMC,OAXnH,IAAjBjB,IAGJA,GAAe,EACK,aAAhBL,EAAKhL,SAAuE,IAA9CuE,GAAoCyG,GAClErN,EAAgBqO,IAAyBI,GAGzCA,KAMR,SAASP,EAASU,EAASxG,IACF,IAAjBsF,IAGJA,GAAe,EACK,aAAhBL,EAAKhL,SAAuE,IAA9CuE,GAAoCyG,GAClErN,EAAgBqO,KAAyB,WAAc,OAAOK,EAASE,EAASxG,MAGhFsG,EAASE,EAASxG,IAG1B,SAASsG,EAASE,EAASxG,GACvB4B,GAAmChC,GACnCnF,EAAmCZ,QACpBzD,IAAXiP,GACAA,EAAOoB,oBAAoB,QAAS1I,GAEpCyI,EACAhW,EAAOwP,GAGP3P,OAAQ+F,GA5DhB6B,EAjEWb,GAAW,SAAUsP,EAAaC,IACrC,SAASlW,EAAKF,GACNA,EACAmW,IAKAnP,GAOS,IAAjB+N,EACO/O,GAAoB,GAExBgB,EAAmBqI,EAAO6B,eAAe,WAC5C,OAAOlK,EAAmB2E,EAAgCrC,IAAS,SAAU6C,GACzE,OAAoB,IAAhBA,EAAOnM,OAGXgV,EAAehO,EAAmBuK,GAAiClC,EAAQlD,EAAO/d,YAAQyX,EAAWlB,IAC9F,SAhB4BzE,EAAMkW,GAG7ClW,EAAK,UAwHrB,IAAImW,GAAiD,WAEjD,SAASA,IACL,MAAM,IAAI5W,UA6Dd,OA3DA5R,OAAOC,eAAeuoB,EAAgCtnB,UAAW,cAAe,CAC5Ef,IAAK,WACD,IAAgD,IAA5CsoB,GAAkC3mB,MAClC,MAAM4mB,GAAqC,eAE/C,OAAOC,GAA8C7mB,OAEzD5B,YAAY,EACZma,cAAc,IAElBmO,EAAgCtnB,UAAUif,MAAQ,WAC9C,IAAgD,IAA5CsI,GAAkC3mB,MAClC,MAAM4mB,GAAqC,SAE/C,IAA+D,IAA3DE,GAAiD9mB,MACjD,MAAM,IAAI8P,UAAU,mDAExBiX,GAAqC/mB,OAEzC0mB,EAAgCtnB,UAAU4nB,QAAU,SAAUnQ,GAC1D,IAAgD,IAA5C8P,GAAkC3mB,MAClC,MAAM4mB,GAAqC,WAE/C,IAA+D,IAA3DE,GAAiD9mB,MACjD,MAAM,IAAI8P,UAAU,qDAExB,OAAOmX,GAAuCjnB,KAAM6W,IAExD6P,EAAgCtnB,UAAU0gB,MAAQ,SAAU5f,GACxD,IAAgD,IAA5CymB,GAAkC3mB,MAClC,MAAM4mB,GAAqC,SAE/CM,GAAqClnB,KAAME,IAG/CwmB,EAAgCtnB,UAAU0b,GAAe,SAAU1D,GAC/D4F,GAAWhd,MACX,IAAIwc,EAASxc,KAAKmnB,iBAAiB/P,GAEnC,OADAgQ,GAA+CpnB,MACxCwc,GAGXkK,EAAgCtnB,UAAU2b,GAAa,WACnD,IAAIpZ,EAAS3B,KAAKqnB,0BAClB,GAAIrnB,KAAK6c,OAAOjV,OAAS,EAAG,CACxB,IAAIiP,EAAQ6F,GAAa1c,MAQzB,OAP6B,IAAzBA,KAAKsnB,iBAAmD,IAAvBtnB,KAAK6c,OAAOjV,QAC7Cwf,GAA+CpnB,MAC/CunB,GAAoB5lB,IAGpB6lB,GAAgDxnB,MAE7CqW,EAAoBkD,EAA+B1C,GAAO,EAAOlV,EAAOmY,QAAQF,iBAE3F,IAAI6N,EAAiBvM,EAA6BvZ,GAElD,OADA6lB,GAAgDxnB,MACzCynB,GAEJf,EAhEyC,GAmEpD,SAASC,GAAkC7U,GACvC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,6BAKjD,SAAS0V,GAAgD/J,IAElC,IADFiK,GAA8CjK,MAInC,IAAxBA,EAAWkK,UAIflK,EAAWkK,UAAW,EAEtBlQ,EADkBgG,EAAWmK,kBACJ,WACrBnK,EAAWkK,UAAW,GACQ,IAA1BlK,EAAWoK,aACXpK,EAAWoK,YAAa,EACxBL,GAAgD/J,OAErD,SAAUvd,GACTgnB,GAAqCzJ,EAAYvd,OAZjDud,EAAWoK,YAAa,GAehC,SAASH,GAA8CjK,GACnD,IAAI9b,EAAS8b,EAAW4J,0BACxB,OAAqE,IAAjEP,GAAiDrJ,MAGzB,IAAxBA,EAAWyC,YAGwB,IAAnCpE,GAAuBna,IAAoB6Z,EAAiC7Z,GAAU,GAGxEklB,GAA8CpJ,GAC9C,IAKtB,SAAS2J,GAA+C3J,GACpDA,EAAWmK,oBAAiB1R,EAC5BuH,EAAW0J,sBAAmBjR,EAC9BuH,EAAW4E,4BAAyBnM,EAGxC,SAAS6Q,GAAqCtJ,GAC1C,IAAI9b,EAAS8b,EAAW4J,0BACxB5J,EAAW6J,iBAAkB,EACI,IAA7B7J,EAAWZ,OAAOjV,SAClBwf,GAA+C3J,GAC/C8J,GAAoB5lB,IAG5B,SAASslB,GAAuCxJ,EAAY5G,GACxD,IAAIlV,EAAS8b,EAAW4J,0BACxB,IAAuC,IAAnCvL,GAAuBna,IAAoB6Z,EAAiC7Z,GAAU,EACtF4Z,EAAiC5Z,EAAQkV,GAAO,OAE/C,CACD,IAAIuL,OAAY,EAChB,IACIA,EAAY3E,EAAW4E,uBAAuBxL,GAElD,MAAOyL,GAEH,MADA4E,GAAqCzJ,EAAY6E,GAC3CA,EAEV,IACIvF,GAAqBU,EAAY5G,EAAOuL,GAE5C,MAAOO,GAEH,MADAuE,GAAqCzJ,EAAYkF,GAC3CA,GAGd6E,GAAgD/J,GAEpD,SAASyJ,GAAqCzJ,EAAYvd,GACtD,IAAIyB,EAAS8b,EAAW4J,0BACF,aAAlB1lB,EAAOoY,SAGXiD,GAAWS,GACX2J,GAA+C3J,GAC/CqK,GAAoBnmB,EAAQzB,IAEhC,SAAS2mB,GAA8CpJ,GACnD,IACI0B,EADS1B,EAAW4J,0BACLtN,OACnB,MAAc,YAAVoF,EACO,KAEG,WAAVA,EACO,EAEJ1B,EAAW2F,aAAe3F,EAAWX,gBAShD,SAASgK,GAAiDrJ,GACtD,IAAI0B,EAAQ1B,EAAW4J,0BAA0BtN,OACjD,OAAmC,IAA/B0D,EAAW6J,iBAAuC,aAAVnI,EAKhD,SAAS4I,GAAqCpmB,EAAQ8b,EAAY0F,EAAgB6E,EAAeC,EAAiBxR,EAAe+G,GAC7HC,EAAW4J,0BAA4B1lB,EACvC8b,EAAWZ,YAAS3G,EACpBuH,EAAWX,qBAAkB5G,EAC7B8G,GAAWS,GACXA,EAAWyC,UAAW,EACtBzC,EAAW6J,iBAAkB,EAC7B7J,EAAWoK,YAAa,EACxBpK,EAAWkK,UAAW,EACtBlK,EAAW4E,uBAAyB7E,EACpCC,EAAW2F,aAAe3M,EAC1BgH,EAAWmK,eAAiBI,EAC5BvK,EAAW0J,iBAAmBc,EAC9BtmB,EAAOwa,0BAA4BsB,EAEnChG,EAAYpB,EADM8M,MAC4B,WAC1C1F,EAAWyC,UAAW,EACtBsH,GAAgD/J,MACjD,SAAUnf,GACT4oB,GAAqCzJ,EAAYnf,MAazD,SAASsoB,GAAqC7oB,GAC1C,OAAO,IAAI+R,UAAU,6CAA+C/R,EAAO,0DAmF/E,IAAImqB,GAAkB9Y,OAAO+Y,WAAa,SAAU1pB,GAChD,MAAwB,iBAAVA,GACV2pB,SAAS3pB,IACT8S,KAAK8W,MAAM5pB,KAAWA,GAG1B6pB,GAA2C,WAE3C,SAASA,IACL,MAAM,IAAIxY,UAAU,qDAmCxB,OAjCA5R,OAAOC,eAAemqB,EAA0BlpB,UAAW,OAAQ,CAC/Df,IAAK,WACD,IAA0C,IAAtCkqB,GAA4BvoB,MAC5B,MAAMwoB,GAA+B,QAEzC,OAAOxoB,KAAKyoB,OAEhBrqB,YAAY,EACZma,cAAc,IAElB+P,EAA0BlpB,UAAUspB,QAAU,SAAUC,GACpD,IAA0C,IAAtCJ,GAA4BvoB,MAC5B,MAAMwoB,GAA+B,WAEzC,QAAqDtS,IAAjDlW,KAAK4oB,wCACL,MAAM,IAAI9Y,UAAU,0CAEH9P,KAAKyoB,MAAM/kB,OAwcxC,SAA6C+Z,EAAYkL,GAErD,IAAgD,IAA5CpT,EADJoT,EAAevZ,OAAOuZ,IAElB,MAAM,IAAIjS,WAAW,iCAEzBmS,GAA4CpL,EAAYkL,GA5cpDG,CAAoC9oB,KAAK4oB,wCAAyCD,IAEtFL,EAA0BlpB,UAAU2pB,mBAAqB,SAAUC,GAC/D,IAA0C,IAAtCT,GAA4BvoB,MAC5B,MAAMwoB,GAA+B,WAEzC,QAAqDtS,IAAjDlW,KAAK4oB,wCACL,MAAM,IAAI9Y,UAAU,0CAExB,IAAKmZ,YAAYC,OAAOF,GACpB,MAAM,IAAIlZ,UAAU,gDAEHkZ,EAAKtlB,OAkclC,SAAwD+Z,EAAYuL,GAChE,IAAIG,EAAkB1L,EAAW2L,kBAAkBhQ,OACnD,GAAI+P,EAAgBvd,WAAaud,EAAgBE,cAAgBL,EAAKpd,WAClE,MAAM,IAAI8K,WAAW,2DAEzB,GAAIyS,EAAgB7nB,aAAe0nB,EAAK1nB,WACpC,MAAM,IAAIoV,WAAW,8DAEzByS,EAAgBzlB,OAASslB,EAAKtlB,OAC9BmlB,GAA4CpL,EAAYuL,EAAK1nB,YA1czDgoB,CAA+CtpB,KAAK4oB,wCAAyCI,IAE1FV,EAtCmC,GAwC1CiB,GAA8C,WAE9C,SAASA,IACL,MAAM,IAAIzZ,UAAU,oEAoHxB,OAlHA5R,OAAOC,eAAeorB,EAA6BnqB,UAAW,cAAe,CACzEf,IAAK,WACD,IAA6C,IAAzCmrB,GAA+BxpB,MAC/B,MAAMypB,GAAwC,eAElD,QAA0BvT,IAAtBlW,KAAK0pB,cAA8B1pB,KAAKopB,kBAAkBxhB,OAAS,EAAG,CACtE,IAAIuhB,EAAkBnpB,KAAKopB,kBAAkBhQ,OACzC4P,EAAO,IAAIxnB,WAAW2nB,EAAgBzlB,OAAQylB,EAAgBvd,WAAaud,EAAgBE,YAAaF,EAAgB7nB,WAAa6nB,EAAgBE,aACrJM,EAAczrB,OAAOY,OAAOwpB,GAA0BlpB,YAme1E,SAAwCwqB,EAASnM,EAAYuL,GACzDY,EAAQhB,wCAA0CnL,EAClDmM,EAAQnB,MAAQO,EApeJa,CAA+BF,EAAa3pB,KAAMgpB,GAClDhpB,KAAK0pB,aAAeC,EAExB,OAAO3pB,KAAK0pB,cAEhBtrB,YAAY,EACZma,cAAc,IAElBra,OAAOC,eAAeorB,EAA6BnqB,UAAW,cAAe,CACzEf,IAAK,WACD,IAA6C,IAAzCmrB,GAA+BxpB,MAC/B,MAAMypB,GAAwC,eAElD,OAAOK,GAA2C9pB,OAEtD5B,YAAY,EACZma,cAAc,IAElBgR,EAA6BnqB,UAAUif,MAAQ,WAC3C,IAA6C,IAAzCmL,GAA+BxpB,MAC/B,MAAMypB,GAAwC,SAElD,IAA6B,IAAzBzpB,KAAKsnB,gBACL,MAAM,IAAIxX,UAAU,8DAExB,IAAIqP,EAAQnf,KAAK+pB,8BAA8BhQ,OAC/C,GAAc,aAAVoF,EACA,MAAM,IAAIrP,UAAU,kBAAoBqP,EAAQ,8DA8U5D,SAA2C1B,GACvC,IAAI9b,EAAS8b,EAAWsM,8BACxB,GAAItM,EAAWX,gBAAkB,EAE7B,YADAW,EAAW6J,iBAAkB,GAGjC,GAAI7J,EAAW2L,kBAAkBxhB,OAAS,EAAG,CAEzC,GAD2B6V,EAAW2L,kBAAkBhQ,OAC/BiQ,YAAc,EAAG,CACtC,IAAInpB,EAAI,IAAI4P,UAAU,2DAEtB,MADAka,GAAkCvM,EAAYvd,GACxCA,GAGd+pB,GAA4CxM,GAC5C8J,GAAoB5lB,GA3VhBuoB,CAAkClqB,OAEtCupB,EAA6BnqB,UAAU4nB,QAAU,SAAUnQ,GACvD,IAA6C,IAAzC2S,GAA+BxpB,MAC/B,MAAMypB,GAAwC,WAElD,IAA6B,IAAzBzpB,KAAKsnB,gBACL,MAAM,IAAIxX,UAAU,gCAExB,IAAIqP,EAAQnf,KAAK+pB,8BAA8BhQ,OAC/C,GAAc,aAAVoF,EACA,MAAM,IAAIrP,UAAU,kBAAoBqP,EAAQ,kEAEpD,IAAK8J,YAAYC,OAAOrS,GACpB,MAAM,IAAI/G,UAAU,qFAEH+G,EAAMnT,OA6UnC,SAA6C+Z,EAAY5G,GACrD,IAAIlV,EAAS8b,EAAWsM,8BACpBrmB,EAASmT,EAAMnT,OACfkI,EAAaiL,EAAMjL,WACnBtK,EAAauV,EAAMvV,WACnB6oB,EAAwCzmB,EAC5C,IAA+C,IAA3C+X,EAA+B9Z,GAC/B,GAAiD,IAA7C6Z,EAAiC7Z,GACjCyoB,GAAgD3M,EAAY0M,EAAmBve,EAAYtK,OAE1F,CACD,IAAI+oB,EAAkB,IAAI7oB,WAAW2oB,EAAmBve,EAAYtK,GACpEia,EAAiC5Z,EAAQ0oB,GAAiB,QAGjB,IAAxCC,GAA4B3oB,IAEjCyoB,GAAgD3M,EAAY0M,EAAmBve,EAAYtK,GAC3FipB,GAAiE9M,IAGjE2M,GAAgD3M,EAAY0M,EAAmBve,EAAYtK,GAE/FkpB,GAA6C/M,GAnWzCgN,CAAoCzqB,KAAM6W,IAE9C0S,EAA6BnqB,UAAU0gB,MAAQ,SAAU5f,GACrD,IAA6C,IAAzCspB,GAA+BxpB,MAC/B,MAAMypB,GAAwC,SAElDO,GAAkChqB,KAAME,IAG5CqpB,EAA6BnqB,UAAU0b,GAAe,SAAU1D,GACxDpX,KAAKopB,kBAAkBxhB,OAAS,IACV5H,KAAKopB,kBAAkBhQ,OAC7BiQ,YAAc,GAElCrM,GAAWhd,MACX,IAAIwc,EAASxc,KAAKmnB,iBAAiB/P,GAEnC,OADA6S,GAA4CjqB,MACrCwc,GAGX+M,EAA6BnqB,UAAU2b,GAAa,WAChD,IAAIpZ,EAAS3B,KAAK+pB,8BAClB,GAAI/pB,KAAK8c,gBAAkB,EAAG,CAC1B,IAAI4N,EAAQ1qB,KAAK6c,OAAOjE,QACxB5Y,KAAK8c,iBAAmB4N,EAAMppB,WAC9BqpB,GAA6C3qB,MAC7C,IAAIgpB,OAAO,EACX,IACIA,EAAO,IAAIxnB,WAAWkpB,EAAMhnB,OAAQgnB,EAAM9e,WAAY8e,EAAMppB,YAEhE,MAAOspB,GACH,OAAOrU,EAAoBqU,GAE/B,OAAOvU,EAAoBkD,EAA+ByP,GAAM,EAAOrnB,EAAOmY,QAAQF,iBAE1F,IAAIiR,EAAwB7qB,KAAK8qB,uBACjC,QAA8B5U,IAA1B2U,EAAqC,CACrC,IAAInnB,OAAS,EACb,IACIA,EAAS,IAAIulB,YAAY4B,GAE7B,MAAOE,GACH,OAAOxU,EAAoBwU,GAE/B,IAAIC,EAAqB,CACrBtnB,OAAQA,EACRkI,WAAY,EACZtK,WAAYupB,EACZxB,YAAa,EACb4B,YAAa,EACb3G,KAAM9iB,WACN0pB,WAAY,WAEhBlrB,KAAKopB,kBAAkBthB,KAAKkjB,GAEhC,IAAI1T,EAAU4D,EAA6BvZ,GAE3C,OADA6oB,GAA6CxqB,MACtCsX,GAEJiS,EAvHsC,GA0HjD,SAASC,GAA+B1X,GACpC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,iCAKjD,SAASyW,GAA4BzW,GACjC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,2CAKjD,SAAS0Y,GAA6C/M,IAE/B,IA6MvB,SAAoDA,GAChD,IAAI9b,EAAS8b,EAAWsM,8BACxB,GAAsB,aAAlBpoB,EAAOoY,OACP,OAAO,EAEX,IAAmC,IAA/B0D,EAAW6J,gBACX,OAAO,EAEX,IAA4B,IAAxB7J,EAAWyC,SACX,OAAO,EAEX,IAA+C,IAA3CzE,EAA+B9Z,IAAoB6Z,EAAiC7Z,GAAU,EAC9F,OAAO,EAEX,IAA4C,IAAxC2oB,GAA4B3oB,IAAoBwpB,GAAqCxpB,GAAU,EAC/F,OAAO,EAGX,GADkBmoB,GAA2CrM,GAC3C,EACd,OAAO,EAEX,OAAO,EAnOU2N,CAA2C3N,MAIhC,IAAxBA,EAAWkK,UAIflK,EAAWkK,UAAW,EAGtBlQ,EADkBgG,EAAWmK,kBACJ,WACrBnK,EAAWkK,UAAW,GACQ,IAA1BlK,EAAWoK,aACXpK,EAAWoK,YAAa,EACxB2C,GAA6C/M,OAElD,SAAUvd,GACT8pB,GAAkCvM,EAAYvd,OAb9Cud,EAAWoK,YAAa,GAoBhC,SAASwD,GAAqD1pB,EAAQqpB,GAClE,IAAI3a,GAAO,EACW,WAAlB1O,EAAOoY,SACP1J,GAAO,GAEX,IAAIib,EAAaC,GAAsDP,GACjC,YAAlCA,EAAmBE,WACnB3P,EAAiC5Z,EAAQ2pB,EAAYjb,GAkW7D,SAA8C1O,EAAQkV,EAAOxG,GACzD,IAAIsJ,EAAShY,EAAOmY,QACEH,EAAO6R,kBAAkB5S,QAC/BwC,SAAS7B,EAA+B1C,EAAOxG,EAAMsJ,EAAOC,iBAlWxE6R,CAAqC9pB,EAAQ2pB,EAAYjb,GAGjE,SAASkb,GAAsDP,GAC3D,IAAI3B,EAAc2B,EAAmB3B,YACjC4B,EAAcD,EAAmBC,YACrC,OAAO,IAAID,EAAmB1G,KAAK0G,EAAmBtnB,OAAQsnB,EAAmBpf,WAAYyd,EAAc4B,GAE/G,SAASb,GAAgD3M,EAAY/Z,EAAQkI,EAAYtK,GACrFmc,EAAWZ,OAAO/U,KAAK,CAAEpE,OAAQA,EAAQkI,WAAYA,EAAYtK,WAAYA,IAC7Emc,EAAWX,iBAAmBxb,EAElC,SAASoqB,GAA4DjO,EAAYuN,GAC7E,IAAIC,EAAcD,EAAmBC,YACjCU,EAAsBX,EAAmB3B,YAAc2B,EAAmB3B,YAAc4B,EACxFW,EAAiBra,KAAKC,IAAIiM,EAAWX,gBAAiBkO,EAAmB1pB,WAAa0pB,EAAmB3B,aACzGwC,EAAiBb,EAAmB3B,YAAcuC,EAClDE,EAAkBD,EAAiBA,EAAiBZ,EACpDc,EAA4BH,EAC5BI,GAAQ,EACRF,EAAkBH,IAClBI,EAA4BD,EAAkBd,EAAmB3B,YACjE2C,GAAQ,GAGZ,IADA,IA7gEqBjH,EAAMkH,EAAYC,EAAKC,EAAWltB,EA6gEnDmtB,EAAQ3O,EAAWZ,OAChBkP,EAA4B,GAAG,CAClC,IAAIM,EAAcD,EAAMhT,OACpBkT,EAAc/a,KAAKC,IAAIua,EAA2BM,EAAY/qB,YAC9DirB,EAAYvB,EAAmBpf,WAAaof,EAAmB3B,YAjhElDtE,EAkhEDiG,EAAmBtnB,OAlhEZuoB,EAkhEoBM,EAlhERL,EAkhEmBG,EAAY3oB,OAlhE1ByoB,EAkhEkCE,EAAYzgB,WAlhEnC3M,EAkhE+CqtB,EAjhEtG,IAAI9qB,WAAWujB,GAAMxd,IAAI,IAAI/F,WAAW0qB,EAAKC,EAAWltB,GAAIgtB,GAkhEpDI,EAAY/qB,aAAegrB,EAC3BF,EAAMxT,SAGNyT,EAAYzgB,YAAc0gB,EAC1BD,EAAY/qB,YAAcgrB,GAE9B7O,EAAWX,iBAAmBwP,EAC9BE,GAAuD/O,EAAY6O,EAAatB,GAChFe,GAA6BO,EAEjC,OAAON,EAEX,SAASQ,GAAuD/O,EAAY7G,EAAMoU,GAC9EyB,GAAkDhP,GAClDuN,EAAmB3B,aAAezS,EAEtC,SAAS+T,GAA6ClN,GACf,IAA/BA,EAAWX,kBAAwD,IAA/BW,EAAW6J,iBAC/C2C,GAA4CxM,GAC5C8J,GAAoB9J,EAAWsM,gCAG/BS,GAA6C/M,GAGrD,SAASgP,GAAkDhP,QACvBvH,IAA5BuH,EAAWiM,eAGfjM,EAAWiM,aAAad,6CAA0C1S,EAClEuH,EAAWiM,aAAajB,WAAQvS,EAChCuH,EAAWiM,kBAAexT,GAE9B,SAASqU,GAAiE9M,GACtE,KAAOA,EAAW2L,kBAAkBxhB,OAAS,GAAG,CAC5C,GAAmC,IAA/B6V,EAAWX,gBACX,OAEJ,IAAIkO,EAAqBvN,EAAW2L,kBAAkBhQ,QAC8C,IAAhGsS,GAA4DjO,EAAYuN,KACxE0B,GAAiDjP,GACjD4N,GAAqD5N,EAAWsM,8BAA+BiB,KAgF3G,SAASnC,GAA4CpL,EAAYkL,GAC7D,IAAIQ,EAAkB1L,EAAW2L,kBAAkBhQ,OAEnD,GAAsB,WADTqE,EAAWsM,8BACbhQ,OAAqB,CAC5B,GAAqB,IAAjB4O,EACA,MAAM,IAAI7Y,UAAU,qEApChC,SAA0D2N,EAAY0L,GAClEA,EAAgBzlB,OAA6BylB,EAAgBzlB,OAC7D,IAAI/B,EAAS8b,EAAWsM,8BACxB,IAA4C,IAAxCO,GAA4B3oB,GAC5B,KAAOwpB,GAAqCxpB,GAAU,GAAG,CAErD0pB,GAAqD1pB,EAD5B+qB,GAAiDjP,KAiC9EkP,CAAiDlP,EAAY0L,QA5BrE,SAA4D1L,EAAYkL,EAAcqC,GAClF,GAAIA,EAAmB3B,YAAcV,EAAeqC,EAAmB1pB,WACnE,MAAM,IAAIoV,WAAW,6BAGzB,GADA8V,GAAuD/O,EAAYkL,EAAcqC,KAC7EA,EAAmB3B,YAAc2B,EAAmBC,aAAxD,CAIAyB,GAAiDjP,GACjD,IAAImP,EAAgB5B,EAAmB3B,YAAc2B,EAAmBC,YACxE,GAAI2B,EAAgB,EAAG,CACnB,IAAIlhB,EAAMsf,EAAmBpf,WAAaof,EAAmB3B,YACzDwD,EAAY7B,EAAmBtnB,OAAO4K,MAAM5C,EAAMkhB,EAAelhB,GACrE0e,GAAgD3M,EAAYoP,EAAW,EAAGA,EAAUvrB,YAExF0pB,EAAmBtnB,OAA6BsnB,EAAmBtnB,OACnEsnB,EAAmB3B,aAAeuD,EAClCvB,GAAqD5N,EAAWsM,8BAA+BiB,GAC/FT,GAAiE9M,IAY7DqP,CAAmDrP,EAAYkL,EAAcQ,GAEjFqB,GAA6C/M,GAEjD,SAASiP,GAAiDjP,GACtD,IAAIsP,EAAatP,EAAW2L,kBAAkBxQ,QAE9C,OADA6T,GAAkDhP,GAC3CsP,EAyBX,SAAS9C,GAA4CxM,GACjDA,EAAWmK,oBAAiB1R,EAC5BuH,EAAW0J,sBAAmBjR,EA6ClC,SAAS8T,GAAkCvM,EAAYvd,GACnD,IAAIyB,EAAS8b,EAAWsM,8BACF,aAAlBpoB,EAAOoY,UAjQf,SAA2D0D,GACvDgP,GAAkDhP,GAClDA,EAAW2L,kBAAoB,IAAIpR,EAkQnCgV,CAAkDvP,GAClDT,GAAWS,GACXwM,GAA4CxM,GAC5CqK,GAAoBnmB,EAAQzB,IAEhC,SAAS4pB,GAA2CrM,GAChD,IACI0B,EADS1B,EAAWsM,8BACLhQ,OACnB,MAAc,YAAVoF,EACO,KAEG,WAAVA,EACO,EAEJ1B,EAAW2F,aAAe3F,EAAWX,gBA4ChD,SAASmQ,GAAsDtrB,EAAQurB,EAAsBzW,GACzF,IAAIgH,EAAavf,OAAOY,OAAOyqB,GAA6BnqB,WAI5D,IAAI4oB,EAAgBpS,EAAoCsX,EAAsB,OAAQ,EAAG,CAACzP,IACtFwK,EAAkBrS,EAAoCsX,EAAsB,SAAU,EAAG,IACzFrC,EAAwBqC,EAAqBrC,sBACjD,QAA8B3U,IAA1B2U,IACAA,EAAwBzb,OAAOyb,IACgB,IAA3C3C,GAAgB2C,IAAoCA,GAAyB,GAC7E,MAAM,IAAInU,WAAW,qDAnCjC,SAA2C/U,EAAQ8b,EAAY0F,EAAgB6E,EAAeC,EAAiBxR,EAAeoU,GAC1HpN,EAAWsM,8BAAgCpoB,EAC3C8b,EAAWoK,YAAa,EACxBpK,EAAWkK,UAAW,EACtBlK,EAAWiM,kBAAexT,EAE1BuH,EAAWZ,OAASY,EAAWX,qBAAkB5G,EACjD8G,GAAWS,GACXA,EAAW6J,iBAAkB,EAC7B7J,EAAWyC,UAAW,EACtBzC,EAAW2F,aAAe5M,EAAkCC,GAC5DgH,EAAWmK,eAAiBI,EAC5BvK,EAAW0J,iBAAmBc,EAC9BxK,EAAWqN,uBAAyBD,EACpCpN,EAAW2L,kBAAoB,IAAIpR,EACnCrW,EAAOwa,0BAA4BsB,EAEnChG,EAAYpB,EADM8M,MAC4B,WAC1C1F,EAAWyC,UAAW,EACtBsK,GAA6C/M,MAC9C,SAAUnf,GACT0rB,GAAkCvM,EAAYnf,MAiBlD6uB,CAAkCxrB,EAAQ8b,GAZ1C,WACI,OAAOnH,EAAa4W,EAAsB,QAAS,CAACzP,MAWcuK,EAAeC,EAAiBxR,EAAeoU,GAOzH,SAASrC,GAA+BzqB,GACpC,OAAO,IAAI+R,UAAU,uCAAyC/R,EAAO,oDAGzE,SAAS0rB,GAAwC1rB,GAC7C,OAAO,IAAI+R,UAAU,0CAA4C/R,EAAO,uDAW5E,SAASqvB,GAAiCzrB,GAQtC,OAPcuV,GAAW,SAAU/G,EAASG,GACxC,IAAI+c,EAAkB,CAClBjS,SAAUjL,EACVkL,QAAS/K,GAEb3O,EAAOmY,QAAQ0R,kBAAkB1jB,KAAKulB,MAS9C,SAASlC,GAAqCxpB,GAC1C,OAAOA,EAAOmY,QAAQ0R,kBAAkB5jB,OAE5C,SAAS0iB,GAA4B3oB,GACjC,IAAIgY,EAAShY,EAAOmY,QACpB,YAAe5D,IAAXyD,KAGC2T,GAA2B3T,GAKpC,IAAI4T,GAA0C,WAC1C,SAASA,EAAyB5rB,GAC9B,IAAKka,GAAiBla,GAClB,MAAM,IAAImO,UAAU,uGAGxB,IAAyE,IAArE0Z,GAA+B7nB,EAAOwa,2BACtC,MAAM,IAAIrM,UAAU,+FAGxB,GAAIgM,GAAuBna,GACvB,MAAM,IAAImO,UAAU,+EAExB4J,EAAsC1Z,KAAM2B,GAC5C3B,KAAKwrB,kBAAoB,IAAIxT,EAiDjC,OA/CA9Z,OAAOC,eAAeovB,EAAyBnuB,UAAW,SAAU,CAChEf,IAAK,WACD,OAAKivB,GAA2BttB,MAGzBA,KAAK2a,eAFDpE,EAAoBiX,GAA8B,YAIjEpvB,YAAY,EACZma,cAAc,IAElBgV,EAAyBnuB,UAAUkT,OAAS,SAAU8E,GAClD,OAAKkW,GAA2BttB,WAGEkW,IAA9BlW,KAAK6Z,qBACEtD,EAAoBmE,EAAoB,WAE5CL,EAAkCra,KAAMoX,GALpCb,EAAoBiX,GAA8B,YAOjED,EAAyBnuB,UAAUiT,KAAO,SAAU2W,GAChD,OAAKsE,GAA2BttB,WAGEkW,IAA9BlW,KAAK6Z,qBACEtD,EAAoBmE,EAAoB,cAE9CuO,YAAYC,OAAOF,IAGHA,EAAKtlB,OACF,IAApBslB,EAAK1nB,WACEiV,EAAoB,IAAIzG,UAAU,uCA4BrD,SAAsC6J,EAAQqP,GAC1C,IAAIrnB,EAASgY,EAAOE,qBAEpB,GADAlY,EAAOua,YAAa,EACE,YAAlBva,EAAOoY,OACP,OAAOxD,EAAoB5U,EAAOyY,cAGtC,OAvXJ,SAA8CqD,EAAYuL,GACtD,IAAIrnB,EAAS8b,EAAWsM,8BACpBkB,EAAc,EACdjC,EAAKrE,cAAgB/V,WACrBqc,EAAcjC,EAAKrE,YAAY8I,mBAEnC,IAAInJ,EAAO0E,EAAKrE,YAEZqG,EAAqB,CACrBtnB,OAF6BslB,EAAKtlB,OAGlCkI,WAAYod,EAAKpd,WACjBtK,WAAY0nB,EAAK1nB,WACjB+nB,YAAa,EACb4B,YAAaA,EACb3G,KAAMA,EACN4G,WAAY,QAEhB,GAAIzN,EAAW2L,kBAAkBxhB,OAAS,EAKtC,OAJA6V,EAAW2L,kBAAkBthB,KAAKkjB,GAI3BoC,GAAiCzrB,GAE5C,GAAsB,WAAlBA,EAAOoY,OAEP,OAAO1D,EAAoBkD,EADX,IAAI+K,EAAK0G,EAAmBtnB,OAAQsnB,EAAmBpf,WAAY,IACd,EAAMjK,EAAOmY,QAAQF,iBAE9F,GAAI6D,EAAWX,gBAAkB,EAAG,CAChC,IAAoG,IAAhG4O,GAA4DjO,EAAYuN,GAA8B,CACtG,IAAIM,EAAaC,GAAsDP,GAEvE,OADAL,GAA6ClN,GACtCpH,EAAoBkD,EAA+B+R,GAAY,EAAO3pB,EAAOmY,QAAQF,iBAEhG,IAAmC,IAA/B6D,EAAW6J,gBAA0B,CACrC,IAAIpnB,EAAI,IAAI4P,UAAU,2DAEtB,OADAka,GAAkCvM,EAAYvd,GACvCqW,EAAoBrW,IAGnCud,EAAW2L,kBAAkBthB,KAAKkjB,GAClC,IAAI1T,EAAU8V,GAAiCzrB,GAE/C,OADA6oB,GAA6C/M,GACtCnG,EA4UAoW,CAAqC/rB,EAAOwa,0BAA2B6M,GAjCnE2E,CAA6B3tB,KAAMgpB,IAN/BzS,EAAoB,IAAIzG,UAAU,sCANlCyG,EAAoBiX,GAA8B,UAcjED,EAAyBnuB,UAAU6c,YAAc,WAC7C,IAAKqR,GAA2BttB,MAC5B,MAAMwtB,GAA8B,eAExC,QAAkCtX,IAA9BlW,KAAK6Z,qBAAT,CAGA,GAAI7Z,KAAKwrB,kBAAkB5jB,OAAS,EAChC,MAAM,IAAIkI,UAAU,uFAExByK,EAAmCva,QAEhCutB,EA/DkC,GAkE7C,SAASD,GAA2Bxb,GAChC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,qBAejD,SAAS0b,GAA8BzvB,GACnC,OAAO,IAAI+R,UAAU,sCAAwC/R,EAAO,mDAGxE,IAAI2W,GAAgC,WAChC,SAASA,EAAekZ,EAAkBtQ,QACb,IAArBsQ,IAA+BA,EAAmB,SACrC,IAAbtQ,IAAuBA,EAAW,IACtCuQ,GAAyB7tB,MACzB,IAAI4W,EAAO0G,EAAS1G,KAChBH,EAAgB6G,EAAS7G,cACzB5U,EAAO+rB,EAAiB/rB,KAE5B,GAAmB,UADFY,OAAOZ,GACI,CACxB,QAAaqU,IAATU,EACA,MAAM,IAAIF,WAAW,mEAEHR,IAAlBO,IACAA,EAAgB,GAGpBwW,GAAsDjtB,KAAM4tB,EAD5DnX,EAAgBD,EAAkCC,QAGjD,SAAaP,IAATrU,EASL,MAAM,IAAI6U,WAAW,6BARrB,IAAI8G,EAAgB7G,EAAkCC,QAChCV,IAAlBO,IACAA,EAAgB,GA5xBhC,SAAkE9U,EAAQisB,EAAkBnX,EAAe+G,GACvG,IAAIC,EAAavf,OAAOY,OAAO4nB,GAAgCtnB,WAI3D4oB,EAAgBpS,EAAoCgY,EAAkB,OAAQ,EAAG,CAACnQ,IAClFwK,EAAkBrS,EAAoCgY,EAAkB,SAAU,EAAG,IACzF7F,GAAqCpmB,EAAQ8b,GAL7C,WACI,OAAOnH,EAAasX,EAAkB,QAAS,CAACnQ,MAIqBuK,EAAeC,EAAiBxR,EAAe+G,GAwxBhHsQ,CAAyD9tB,KAAM4tB,EAD/DnX,EAAgBD,EAAkCC,GAC8C+G,IAuGxG,OAjGAtf,OAAOC,eAAeuW,EAAetV,UAAW,SAAU,CACtDf,IAAK,WACD,IAA+B,IAA3Bwd,GAAiB7b,MACjB,MAAM+tB,GAA4B,UAEtC,OAAOjS,GAAuB9b,OAElC5B,YAAY,EACZma,cAAc,IAElB7D,EAAetV,UAAUkT,OAAS,SAAU8E,GACxC,OAA+B,IAA3ByE,GAAiB7b,MACVuW,EAAoBwX,GAA4B,YAEtB,IAAjCjS,GAAuB9b,MAChBuW,EAAoB,IAAIzG,UAAU,qDAEtCwK,GAAqBta,KAAMoX,IAEtC1C,EAAetV,UAAUuV,UAAY,SAAUgH,GAC3C,IAAIhd,QAAe,IAAPgd,EAAgB,GAAKA,GAAIhd,KACrC,IAA+B,IAA3Bkd,GAAiB7b,MACjB,MAAM+tB,GAA4B,aAEtC,QAAa7X,IAATvX,EACA,OAAOqc,EAAmChb,MAAM,GAGpD,GAAa,UADbrB,EAAO8D,OAAO9D,IAEV,OAxLZ,SAAyCgD,EAAQ6X,QACvB,IAAlBA,IAA4BA,GAAgB,GAChD,IAAIG,EAAS,IAAI4T,GAAyB5rB,GAE1C,OADAgY,EAAOC,eAAiBJ,EACjBG,EAoLQqU,CAAgChuB,MAAM,GAEjD,MAAM,IAAI0W,WAAW,8BAEzBhC,EAAetV,UAAU6uB,YAAc,SAAUtS,EAAIuS,GACjD,IAAItJ,EAAWjJ,EAAGiJ,SAAUuJ,EAAWxS,EAAGwS,SACtCC,OAAY,IAAPF,EAAgB,GAAKA,EAAIlJ,EAAeoJ,EAAGpJ,aAAcC,EAAemJ,EAAGnJ,aAAcC,EAAgBkJ,EAAGlJ,cAAeC,EAASiJ,EAAGjJ,OAChJ,IAA+B,IAA3BtJ,GAAiB7b,MACjB,MAAM+tB,GAA4B,eAEtC,IAAmC,IAA/B/P,GAAiB4G,GACjB,MAAM,IAAI9U,UAAU,6DAExB,IAAmC,IAA/B+L,GAAiBsS,GACjB,MAAM,IAAIre,UAAU,6DAKxB,GAHAkV,EAAeqJ,QAAQrJ,GACvBC,EAAeoJ,QAAQpJ,GACvBC,EAAgBmJ,QAAQnJ,QACThP,IAAXiP,IAAyBjB,GAAciB,GACvC,MAAM,IAAIrV,UAAU,+EAExB,IAAqC,IAAjCgM,GAAuB9b,MACvB,MAAM,IAAI8P,UAAU,kFAExB,IAAyC,IAArCoO,GAAuB0G,GACvB,MAAM,IAAI9U,UAAU,kFAIxB,OADAiI,EADc8M,GAAqB7kB,KAAM4kB,EAAUI,EAAcC,EAAcC,EAAeC,IAEvFgJ,GAEXzZ,EAAetV,UAAUkvB,OAAS,SAAUvJ,EAAMpJ,GAC9C,IAAIuS,OAAY,IAAPvS,EAAgB,GAAKA,EAAIqJ,EAAekJ,EAAGlJ,aAAcC,EAAeiJ,EAAGjJ,aAAcC,EAAgBgJ,EAAGhJ,cAAeC,EAAS+I,EAAG/I,OAChJ,OAA+B,IAA3BtJ,GAAiB7b,MACVuW,EAAoBwX,GAA4B,YAE5B,IAA3B/P,GAAiB+G,GACVxO,EAAoB,IAAIzG,UAAU,+EAE7CkV,EAAeqJ,QAAQrJ,GACvBC,EAAeoJ,QAAQpJ,GACvBC,EAAgBmJ,QAAQnJ,QACThP,IAAXiP,GAAyBjB,GAAciB,IAGN,IAAjCrJ,GAAuB9b,MAChBuW,EAAoB,IAAIzG,UAAU,+EAER,IAAjCoO,GAAuB6G,GAChBxO,EAAoB,IAAIzG,UAAU,8EAEtC+U,GAAqB7kB,KAAM+kB,EAAMC,EAAcC,EAAcC,EAAeC,GARxE5O,EAAoB,IAAIzG,UAAU,6EAUjD4E,EAAetV,UAAUmvB,IAAM,WAC3B,IAA+B,IAA3B1S,GAAiB7b,MACjB,MAAM+tB,GAA4B,OAEtC,IAAIS,EA92BZ,SAA2B7sB,EAAQ8sB,GAC/B,IAIIC,EACAC,EACAC,EACAC,EACAC,EARAnV,EAASqB,EAAmCrZ,GAC5CotB,GAAU,EACVC,GAAY,EACZC,GAAY,EAMZC,EAAgBhY,GAAW,SAAU/G,GACrC2e,EAAuB3e,KAE3B,SAAS6X,IACL,OAAgB,IAAZ+G,IAGJA,GAAU,EA4BVhX,EA3BkBH,EAAqBoE,EAAgCrC,IAAS,SAAU6C,GAGtF,GAFAuS,GAAU,GAEG,IADFvS,EAAOnM,KAQd,OANkB,IAAd2e,GACAjI,GAAqC6H,EAAQzS,iCAE/B,IAAd8S,GACAlI,GAAqC8H,EAAQ1S,4BAIrD,IAAI1d,EAAQ+d,EAAO/d,MACf0wB,EAAS1wB,EACT2wB,EAAS3wB,GAMK,IAAduwB,GACA/H,GAAuC2H,EAAQzS,0BAA2BgT,IAE5D,IAAdF,GACAhI,GAAuC4H,EAAQ1S,0BAA2BiT,QA3BvE/Y,OAAoBH,GAqDnC,SAASiN,KAOT,OANAyL,EAAUS,GAAqBlM,EAAgB6E,GArB/C,SAA0B5Q,GAGtB,GAFA4X,GAAY,EACZN,EAAUtX,GACQ,IAAd6X,EAAoB,CACpB,IAAIK,EAAkBja,EAAoB,CAACqZ,EAASC,IAChDY,EAAejV,GAAqB3Y,EAAQ2tB,GAChDR,EAAqBS,GAEzB,OAAOL,KAcXL,EAAUQ,GAAqBlM,EAAgB6E,GAZ/C,SAA0B5Q,GAGtB,GAFA6X,GAAY,EACZN,EAAUvX,GACQ,IAAd4X,EAAoB,CACpB,IAAIM,EAAkBja,EAAoB,CAACqZ,EAASC,IAChDY,EAAejV,GAAqB3Y,EAAQ2tB,GAChDR,EAAqBS,GAEzB,OAAOL,KAKXvX,EAAcgC,EAAOgB,gBAAgB,SAAUrc,GAC3C4oB,GAAqC0H,EAAQzS,0BAA2B7d,GACxE4oB,GAAqC2H,EAAQ1S,0BAA2B7d,MAErE,CAACswB,EAASC,GAmyBEW,CAAkBxvB,MACjC,OAAOqV,EAAoBmZ,IAE/B9Z,EAAetV,UAAUqwB,YAAc,SAAU9T,GAC7C,IAAIuS,QAAa,IAAPvS,EAAgB,GAAKA,GAAIuJ,cAAeA,OAAuB,IAAPgJ,GAAwBA,EAC1F,IAA+B,IAA3BrS,GAAiB7b,MACjB,MAAM+tB,GAA4B,eAEtC,OAllER,SAA4CpsB,EAAQujB,QAC1B,IAAlBA,IAA4BA,GAAgB,GAChD,IAAIvL,EAASqB,EAAmCrZ,GAC5CkO,EAAW3R,OAAOY,OAAOsd,GAG7B,OAFAvM,EAAS0M,qBAAuB5C,EAChC9J,EAAS4M,eAAiB4R,QAAQnJ,GAC3BrV,EA4kEI6f,CAAmC1vB,KAAMklB,IAE7CxQ,EAhIwB,GA4InC,SAAS2a,GAAqBlM,EAAgB6E,EAAeC,EAAiBxR,EAAe+G,QACnE,IAAlB/G,IAA4BA,EAAgB,QAC1B,IAAlB+G,IAA4BA,EAAgB,WAAc,OAAO,IACrE,IAAI7b,EAASzD,OAAOY,OAAO4V,GAAetV,WAI1C,OAHAyuB,GAAyBlsB,GAEzBomB,GAAqCpmB,EADpBzD,OAAOY,OAAO4nB,GAAgCtnB,WACN+jB,EAAgB6E,EAAeC,EAAiBxR,EAAe+G,GACjH7b,EAEX,SAASksB,GAAyBlsB,GAC9BA,EAAOoY,OAAS,WAChBpY,EAAOmY,aAAU5D,EACjBvU,EAAOyY,kBAAelE,EACtBvU,EAAOua,YAAa,EAExB,SAASL,GAAiB/J,GACtB,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,6BAKjD,SAASgK,GAAuBna,GAC5B,YAAuBuU,IAAnBvU,EAAOmY,QAMf,SAASQ,GAAqB3Y,EAAQyV,GAElC,OADAzV,EAAOua,YAAa,EACE,WAAlBva,EAAOoY,OACA1D,OAAoBH,GAET,YAAlBvU,EAAOoY,OACAxD,EAAoB5U,EAAOyY,eAEtCmN,GAAoB5lB,GAEbiW,EADmBjW,EAAOwa,0BAA0BrB,GAAa1D,GACvBpC,IAErD,SAASuS,GAAoB5lB,GACzBA,EAAOoY,OAAS,SAChB,IAAIJ,EAAShY,EAAOmY,aACL5D,IAAXyD,IAGA+B,EAA8B/B,KAC9BA,EAAO2B,cAAcrC,SAAQ,SAAUkC,GACnCA,EAAYC,SAAS7B,OAA+BrD,GAAW,EAAMyD,EAAOC,oBAEhFD,EAAO2B,cAAgB,IAAItD,GAE/BiC,EAAkCN,IAEtC,SAASmO,GAAoBnmB,EAAQzB,GACjCyB,EAAOoY,OAAS,UAChBpY,EAAOyY,aAAela,EACtB,IAAIyZ,EAAShY,EAAOmY,aACL5D,IAAXyD,IAGA+B,EAA8B/B,IAC9BA,EAAO2B,cAAcrC,SAAQ,SAAUkC,GACnCA,EAAYE,QAAQnb,MAExByZ,EAAO2B,cAAgB,IAAItD,IAG3B2B,EAAO6R,kBAAkBvS,SAAQ,SAAUoU,GACvCA,EAAgBhS,QAAQnb,MAE5ByZ,EAAO6R,kBAAoB,IAAIxT,GAEnCwC,EAAiCb,EAAQzZ,IAG7C,SAAS6tB,GAA4BhwB,GACjC,OAAO,IAAI+R,UAAU,4BAA8B/R,EAAO,yCA1FlB,iBAAjC+W,EAAelF,eACtB1R,OAAOC,eAAeuW,GAAetV,UAAW0V,EAAelF,cAAe,CAC1EnR,MAAOiW,GAAetV,UAAUqwB,YAChCrxB,YAAY,EACZwmB,UAAU,EACVrM,cAAc,IAwFtB,IAAIoX,GAA2C,WAC3C,SAASA,EAA0BhU,GAC/B,IAAIlF,EAAgBkF,EAAGlF,cACvBzW,KAAKyW,cAAgBA,EAKzB,OAHAkZ,EAA0BvwB,UAAUwX,KAAO,SAAUC,GACjD,OAAOA,EAAMvV,YAEVquB,EARmC,GAW1CC,GAAsC,WACtC,SAASA,EAAqBjU,GAC1B,IAAIlF,EAAgBkF,EAAGlF,cACvBzW,KAAKyW,cAAgBA,EAKzB,OAHAmZ,EAAqBxwB,UAAUwX,KAAO,WAClC,OAAO,GAEJgZ,EAR8B,GAYrCC,GAAiC,WACjC,SAASA,EAAgBC,EAAaC,EAAkBC,QAChC,IAAhBF,IAA0BA,EAAc,SACnB,IAArBC,IAA+BA,EAAmB,SAC7B,IAArBC,IAA+BA,EAAmB,IACtD,IAAIC,EAAuBF,EAAiBnZ,KACxCsZ,EAAwBH,EAAiBtZ,cACzC0Z,EAAuBH,EAAiBpZ,KACxCwZ,EAAwBJ,EAAiBvZ,cAE7C,QAAqBP,IADF4Z,EAAYO,aAE3B,MAAM,IAAI3Z,WAAW,mCAEzB,IAAI4Z,EAAwB3Z,EAAkCsZ,GAM9D,QAL8B/Z,IAA1Bga,IACAA,EAAwB,GAE5BA,EAAwB1Z,EAAkC0Z,QAErCha,IADF4Z,EAAYS,aAE3B,MAAM,IAAI7Z,WAAW,mCAEzB,IAKI8Z,EALAC,EAAwB9Z,EAAkCwZ,QAChCja,IAA1Bka,IACAA,EAAwB,GAE5BA,EAAwB5Z,EAAkC4Z,GAgClE,SAAmCzuB,EAAQ+uB,EAAcR,EAAuBI,EAAuBF,EAAuBK,GAC1H,SAAStN,IACL,OAAOuN,EAWX/uB,EAAOgvB,UAlqEX,SAA8BxN,EAAgBxF,EAAgBC,EAAgBC,EAAgBpH,EAAe+G,QACnF,IAAlB/G,IAA4BA,EAAgB,QAC1B,IAAlB+G,IAA4BA,EAAgB,WAAc,OAAO,IACrE,IAAI7b,EAASzD,OAAOY,OAAOse,GAAehe,WAI1C,OAHAme,GAAyB5b,GAEzBmc,GAAqCnc,EADpBzD,OAAOY,OAAO4e,GAAgCte,WACN+jB,EAAgBxF,EAAgBC,EAAgBC,EAAgBpH,EAAe+G,GACjI7b,EA2pEYivB,CAAqBzN,GATxC,SAAwBtM,GACpB,OAiLR,SAAkDlV,EAAQkV,GACtD,IAAI4G,EAAa9b,EAAOkvB,2BACxB,IAA6B,IAAzBlvB,EAAOud,cAAwB,CAE/B,OAAOtH,EADyBjW,EAAOmvB,4BACgB,WACnD,IAAIlM,EAAWjjB,EAAOgvB,UAEtB,GAAc,aADF/L,EAAS7K,OAEjB,MAAM6K,EAASxK,aAEnB,OAAO2W,GAAiDtT,EAAY5G,MAG5E,OAAOka,GAAiDtT,EAAY5G,GA9LzDma,CAAyCrvB,EAAQkV,MAK5D,WACI,OAgMR,SAAkDlV,GAE9C,IAAIwsB,EAAWxsB,EAAOsvB,UAClBxT,EAAa9b,EAAOkvB,2BACpBK,EAAezT,EAAW0T,kBAG9B,OAFAC,GAAgD3T,GAEzC7F,EAAqBsZ,GAAc,WACtC,GAAwB,YAApB/C,EAASpU,OACT,MAAMoU,EAAS/T,aAEnB,IAAIiX,EAAqBlD,EAAShS,2BAC2C,IAAzE2K,GAAiDuK,IACjDtK,GAAqCsK,MAE1C,SAAU/yB,GAET,MADAgzB,GAAqB3vB,EAAQrD,GACvB6vB,EAAS/T,gBAjNRmX,CAAyC5vB,MAJpD,SAAwByV,GACpB,OA6LR,SAAkDzV,EAAQyV,GAItD,OADAka,GAAqB3vB,EAAQyV,GACtBf,OAAoBH,GAjMhBsb,CAAyC7vB,EAAQyV,KAK4C8Y,EAAuBI,GAQ/H3uB,EAAOsvB,UAAY5B,GAAqBlM,GAPxC,WACI,OAiNR,SAAmDxhB,GAI/C,OAFA8vB,GAA+B9vB,GAAQ,GAEhCA,EAAOmvB,2BArNHY,CAA0C/vB,MAErD,SAAyByV,GAErB,OADAua,GAA4ChwB,EAAQyV,GAC7Cf,OAAoBH,KAEyDka,EAAuBK,GAE/G9uB,EAAOud,mBAAgBhJ,EACvBvU,EAAOmvB,gCAA6B5a,EACpCvU,EAAOiwB,wCAAqC1b,EAC5Cub,GAA+B9vB,GAAQ,GAEvCA,EAAOkvB,gCAA6B3a,EAvDhC2b,CAA0B7xB,KAHPkX,GAAW,SAAU/G,GACpCqgB,EAAuBrgB,KAEmB+f,EAAuBI,EAAuBF,EAAuBK,GA+I3H,SAA8D9uB,EAAQmuB,GAClE,IAAIrS,EAAavf,OAAOY,OAAOgzB,GAAiC1yB,WAC5D2yB,EAAqB,SAAUlb,GAC/B,IAEI,OADAmb,GAAwCvU,EAAY5G,GAC7CR,OAAoBH,GAE/B,MAAO+b,GACH,OAAO1b,EAAoB0b,KAG/BC,EAAkBpC,EAAYqC,UAClC,QAAwBjc,IAApBgc,EAA+B,CAC/B,GAA+B,mBAApBA,EACP,MAAM,IAAIpiB,UAAU,6BAExBiiB,EAAqB,SAAUlb,GAAS,OAAOV,EAAY+b,EAAiBpC,EAAa,CAACjZ,EAAO4G,KAErG,IAAI2U,EAAiBxc,EAAoCka,EAAa,QAAS,EAAG,CAACrS,KAxBvF,SAA+C9b,EAAQ8b,EAAYsU,EAAoBK,GACnF3U,EAAW4U,2BAA6B1wB,EACxCA,EAAOkvB,2BAA6BpT,EACpCA,EAAW6U,oBAAsBP,EACjCtU,EAAW0T,gBAAkBiB,EAqB7BG,CAAsC5wB,EAAQ8b,EAAYsU,EAAoBK,GAjK1EI,CAAqDxyB,KAAM8vB,GAC3D,IAAI2C,EAAcnc,EAAawZ,EAAa,QAAS,CAAC9vB,KAAK6wB,6BAC3DL,EAAqBiC,GAsBzB,OApBAv0B,OAAOC,eAAe0xB,EAAgBzwB,UAAW,WAAY,CACzDf,IAAK,WACD,IAAgC,IAA5Bq0B,GAAkB1yB,MAClB,MAAM2yB,GAA4B,YAEtC,OAAO3yB,KAAKixB,WAEhB7yB,YAAY,EACZma,cAAc,IAElBra,OAAOC,eAAe0xB,EAAgBzwB,UAAW,WAAY,CACzDf,IAAK,WACD,IAAgC,IAA5Bq0B,GAAkB1yB,MAClB,MAAM2yB,GAA4B,YAEtC,OAAO3yB,KAAK2wB,WAEhBvyB,YAAY,EACZma,cAAc,IAEXsX,EAxDyB,GAwFpC,SAAS6C,GAAkB5gB,GACvB,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,8BAMjD,SAASwf,GAAqB3vB,EAAQzB,GAClCgnB,GAAqCvlB,EAAOsvB,UAAU9U,0BAA2Bjc,GACjFyxB,GAA4ChwB,EAAQzB,GAExD,SAASyxB,GAA4ChwB,EAAQzB,GACzDkxB,GAAgDzvB,EAAOkvB,4BACvDtO,GAA6C5gB,EAAOgvB,UAAU/R,0BAA2B1e,IAC5D,IAAzByB,EAAOud,eAIPuS,GAA+B9vB,GAAQ,GAG/C,SAAS8vB,GAA+B9vB,EAAQ8e,QAEFvK,IAAtCvU,EAAOmvB,4BACPnvB,EAAOiwB,qCAEXjwB,EAAOmvB,2BAA6B5Z,GAAW,SAAU/G,GACrDxO,EAAOiwB,mCAAqCzhB,KAEhDxO,EAAOud,cAAgBuB,EAE3B,IAAIqR,GAAkD,WAElD,SAASA,IACL,MAAM,IAAIhiB,UAAU,yEA+BxB,OA7BA5R,OAAOC,eAAe2zB,EAAiC1yB,UAAW,cAAe,CAC7Ef,IAAK,WACD,IAAiD,IAA7Cu0B,GAAmC5yB,MACnC,MAAM6yB,GAAuC,eAGjD,OAAOhM,GADkB7mB,KAAKqyB,2BAA2BpB,UAAU9U,4BAGvE/d,YAAY,EACZma,cAAc,IAElBuZ,EAAiC1yB,UAAU4nB,QAAU,SAAUnQ,GAC3D,IAAiD,IAA7C+b,GAAmC5yB,MACnC,MAAM6yB,GAAuC,WAEjDb,GAAwChyB,KAAM6W,IAElDib,EAAiC1yB,UAAU0gB,MAAQ,SAAU1I,GACzD,IAAiD,IAA7Cwb,GAAmC5yB,MACnC,MAAM6yB,GAAuC,SA0EzD,IAA2D3yB,IAxEPkX,EAyEhDka,GAzE0CtxB,KAyEVqyB,2BAA4BnyB,IAvE5D4xB,EAAiC1yB,UAAU0zB,UAAY,WACnD,IAAiD,IAA7CF,GAAmC5yB,MACnC,MAAM6yB,GAAuC,cA8EzD,SAAmDpV,GAC/C,IAAI9b,EAAS8b,EAAW4U,2BACpBhB,EAAqB1vB,EAAOsvB,UAAU9U,2BACmC,IAAzE2K,GAAiDuK,IACjDtK,GAAqCsK,GAEzC,IAAIvR,EAAQ,IAAIhQ,UAAU,8BAC1B6hB,GAA4ChwB,EAAQme,GAnFhDiT,CAA0C/yB,OAEvC8xB,EAlC0C,GAqCrD,SAASc,GAAmC9gB,GACxC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,8BAgCjD,SAASsf,GAAgD3T,GACrDA,EAAW6U,yBAAsBpc,EACjCuH,EAAW0T,qBAAkBjb,EAEjC,SAAS8b,GAAwCvU,EAAY5G,GACzD,IAAIlV,EAAS8b,EAAW4U,2BACpBhB,EAAqB1vB,EAAOsvB,UAAU9U,0BAC1C,IAA6E,IAAzE2K,GAAiDuK,GACjD,MAAM,IAAIvhB,UAAU,wDAIxB,IACImX,GAAuCoK,EAAoBxa,GAE/D,MAAO3W,GAGH,MADAyxB,GAA4ChwB,EAAQzB,GAC9CyB,EAAOsvB,UAAU7W,cApvC/B,SAAwDqD,GACpD,OAAkE,IAA9DiK,GAA8CjK,IAqvC/BuV,CAA+C3B,KAC7C1vB,EAAOud,eACxBuS,GAA+B9vB,GAAQ,GAM/C,SAASovB,GAAiDtT,EAAY5G,GAElE,OAAOe,EADgB6F,EAAW6U,oBAAoBzb,QACRX,GAAW,SAAU5X,GAE/D,MADAgzB,GAAqB7T,EAAW4U,2BAA4B/zB,GACtDA,KA8Dd,SAASu0B,GAAuC90B,GAC5C,OAAO,IAAI+R,UAAU,8CAAgD/R,EAAO,2DAGhF,SAAS40B,GAA4B50B,GACjC,OAAO,IAAI+R,UAAU,6BAA+B/R,EAAO","file":"dist.es5.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","// @ts-nocheck\nconst moduleExports = require('./index');\nconst _global = typeof window === 'undefined' ? global : window;\n_global.loaders = _global.loaders || {};\nmodule.exports = Object.assign(_global.loaders, moduleExports);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {FlatGeobufLoader as FlatGeobufWorkerLoader} from './flatgeobuf-loader';\nimport parseFlatGeobuf, {parseFlatGeobufInBatches} from './lib/parse-flatgeobuf';\n\nexport {FlatGeobufWorkerLoader};\n\nexport const FlatGeobufLoader = {\n ...FlatGeobufWorkerLoader,\n parse: async (arrayBuffer, options) => parseFlatGeobuf(arrayBuffer, options),\n parseSync: parseFlatGeobuf,\n parseInBatchesFromStream: parseFlatGeobufInBatches,\n binary: true\n};\n\nexport const _typecheckFlatGeobufLoader: LoaderWithParser = FlatGeobufLoader;\n","import type {Loader} from '@loaders.gl/loader-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport const FlatGeobufLoader = {\n id: 'flatgeobuf',\n name: 'FlatGeobuf',\n module: 'flatgeobuf',\n version: VERSION,\n worker: true,\n extensions: ['fgb'],\n mimeTypes: ['application/octet-stream'],\n category: 'geometry',\n options: {\n flatgeobuf: {}\n }\n};\n\nexport const _typecheckFlatGeobufLoader: Loader = FlatGeobufLoader;\n","// import {deserialize} from 'flatgeobuf/lib/geojson/featurecollection';\nimport {deserialize, deserializeStream} from 'flatgeobuf/dist/flatgeobuf-geojson.min';\n\n/*\n * Parse FlatGeobuf arrayBuffer and return GeoJSON.\n *\n * @param {arrayBuffer} _ A FlatGeobuf arrayBuffer\n * @return {?Object} A GeoJSON geometry object\n */\nexport default function parseFlatGeobuf(input, options) {\n if (input.byteLength === 0) {\n return [];\n }\n\n const arr = new Uint8Array(input);\n const {features} = deserialize(arr);\n return features;\n}\n\n/*\n * Parse FlatGeobuf arrayBuffer and return GeoJSON.\n *\n * @param {ReadableStream} _ A FlatGeobuf arrayBuffer\n * @return A GeoJSON geometry object iterator\n */\nexport function parseFlatGeobufInBatches(stream, options) {\n const iterator = deserializeStream(stream);\n return iterator;\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports,require(\"web-streams-polyfill/ponyfill\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"web-streams-polyfill/ponyfill\"],e):e((t=t||self).flatgeobuf={},t.ponyfill)}(this,(function(t,e){\"use strict\";class r{constructor(t,e){this.name=t,this.type=e}}var i;!function(t){t[t.Byte=0]=\"Byte\",t[t.UByte=1]=\"UByte\",t[t.Bool=2]=\"Bool\",t[t.Short=3]=\"Short\",t[t.UShort=4]=\"UShort\",t[t.Int=5]=\"Int\",t[t.UInt=6]=\"UInt\",t[t.Long=7]=\"Long\",t[t.ULong=8]=\"ULong\",t[t.Float=9]=\"Float\",t[t.Double=10]=\"Double\",t[t.String=11]=\"String\",t[t.Json=12]=\"Json\",t[t.DateTime=13]=\"DateTime\",t[t.Binary=14]=\"Binary\"}(i||(i={}));var n=i;class s{constructor(t,e,r){this.geometryType=t,this.columns=e,this.featuresCount=r}}var o,a,b,u,h={};h.SIZEOF_SHORT=2,h.SIZEOF_INT=4,h.FILE_IDENTIFIER_LENGTH=4,h.SIZE_PREFIX_LENGTH=4,h.Encoding={UTF8_BYTES:1,UTF16_STRING:2},h.int32=new Int32Array(2),h.float32=new Float32Array(h.int32.buffer),h.float64=new Float64Array(h.int32.buffer),h.isLittleEndian=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0],h.Long=function(t,e){this.low=0|t,this.high=0|e},h.Long.create=function(t,e){return 0==t&&0==e?h.Long.ZERO:new h.Long(t,e)},h.Long.prototype.toFloat64=function(){return(this.low>>>0)+4294967296*this.high},h.Long.prototype.equals=function(t){return this.low==t.low&&this.high==t.high},h.Long.ZERO=new h.Long(0,0),h.Builder=function(t){if(t)e=t;else var e=1024;this.bb=h.ByteBuffer.allocate(e),this.space=e,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},h.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},h.Builder.prototype.forceDefaults=function(t){this.force_defaults=t},h.Builder.prototype.dataBuffer=function(){return this.bb},h.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},h.Builder.prototype.prep=function(t,e){t>this.minalign&&(this.minalign=t);for(var r=1+~(this.bb.capacity()-this.space+e)&t-1;this.space<r+t+e;){var i=this.bb.capacity();this.bb=h.Builder.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(r)},h.Builder.prototype.pad=function(t){for(var e=0;e<t;e++)this.bb.writeInt8(--this.space,0)},h.Builder.prototype.writeInt8=function(t){this.bb.writeInt8(this.space-=1,t)},h.Builder.prototype.writeInt16=function(t){this.bb.writeInt16(this.space-=2,t)},h.Builder.prototype.writeInt32=function(t){this.bb.writeInt32(this.space-=4,t)},h.Builder.prototype.writeInt64=function(t){this.bb.writeInt64(this.space-=8,t)},h.Builder.prototype.writeFloat32=function(t){this.bb.writeFloat32(this.space-=4,t)},h.Builder.prototype.writeFloat64=function(t){this.bb.writeFloat64(this.space-=8,t)},h.Builder.prototype.addInt8=function(t){this.prep(1,0),this.writeInt8(t)},h.Builder.prototype.addInt16=function(t){this.prep(2,0),this.writeInt16(t)},h.Builder.prototype.addInt32=function(t){this.prep(4,0),this.writeInt32(t)},h.Builder.prototype.addInt64=function(t){this.prep(8,0),this.writeInt64(t)},h.Builder.prototype.addFloat32=function(t){this.prep(4,0),this.writeFloat32(t)},h.Builder.prototype.addFloat64=function(t){this.prep(8,0),this.writeFloat64(t)},h.Builder.prototype.addFieldInt8=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt8(e),this.slot(t))},h.Builder.prototype.addFieldInt16=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt16(e),this.slot(t))},h.Builder.prototype.addFieldInt32=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt32(e),this.slot(t))},h.Builder.prototype.addFieldInt64=function(t,e,r){!this.force_defaults&&e.equals(r)||(this.addInt64(e),this.slot(t))},h.Builder.prototype.addFieldFloat32=function(t,e,r){(this.force_defaults||e!=r)&&(this.addFloat32(e),this.slot(t))},h.Builder.prototype.addFieldFloat64=function(t,e,r){(this.force_defaults||e!=r)&&(this.addFloat64(e),this.slot(t))},h.Builder.prototype.addFieldOffset=function(t,e,r){(this.force_defaults||e!=r)&&(this.addOffset(e),this.slot(t))},h.Builder.prototype.addFieldStruct=function(t,e,r){e!=r&&(this.nested(e),this.slot(t))},h.Builder.prototype.nested=function(t){if(t!=this.offset())throw new Error(\"FlatBuffers: struct must be serialized inline.\")},h.Builder.prototype.notNested=function(){if(this.isNested)throw new Error(\"FlatBuffers: object serialization must not be nested.\")},h.Builder.prototype.slot=function(t){this.vtable[t]=this.offset()},h.Builder.prototype.offset=function(){return this.bb.capacity()-this.space},h.Builder.growByteBuffer=function(t){var e=t.capacity();if(3221225472&e)throw new Error(\"FlatBuffers: cannot grow buffer beyond 2 gigabytes.\");var r=e<<1,i=h.ByteBuffer.allocate(r);return i.setPosition(r-e),i.bytes().set(t.bytes(),r-e),i},h.Builder.prototype.addOffset=function(t){this.prep(h.SIZEOF_INT,0),this.writeInt32(this.offset()-t+h.SIZEOF_INT)},h.Builder.prototype.startObject=function(t){this.notNested(),null==this.vtable&&(this.vtable=[]),this.vtable_in_use=t;for(var e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()},h.Builder.prototype.endObject=function(){if(null==this.vtable||!this.isNested)throw new Error(\"FlatBuffers: endObject called without startObject\");this.addInt32(0);for(var t=this.offset(),e=this.vtable_in_use-1;e>=0&&0==this.vtable[e];e--);for(var r=e+1;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);var i=(r+2)*h.SIZEOF_SHORT;this.addInt16(i);var n=0,s=this.space;t:for(e=0;e<this.vtables.length;e++){var o=this.bb.capacity()-this.vtables[e];if(i==this.bb.readInt16(o)){for(var a=h.SIZEOF_SHORT;a<i;a+=h.SIZEOF_SHORT)if(this.bb.readInt16(s+a)!=this.bb.readInt16(o+a))continue t;n=this.vtables[e];break}}return n?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,n-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t},h.Builder.prototype.finish=function(t,e,r){var i=r?h.SIZE_PREFIX_LENGTH:0;if(e){var n=e;if(this.prep(this.minalign,h.SIZEOF_INT+h.FILE_IDENTIFIER_LENGTH+i),n.length!=h.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+h.FILE_IDENTIFIER_LENGTH);for(var s=h.FILE_IDENTIFIER_LENGTH-1;s>=0;s--)this.writeInt8(n.charCodeAt(s))}this.prep(this.minalign,h.SIZEOF_INT+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)},h.Builder.prototype.finishSizePrefixed=function(t,e){this.finish(t,e,!0)},h.Builder.prototype.requiredField=function(t,e){var r=this.bb.capacity()-t,i=r-this.bb.readInt32(r);if(!(0!=this.bb.readInt16(i+e)))throw new Error(\"FlatBuffers: field \"+e+\" must be set\")},h.Builder.prototype.startVector=function(t,e,r){this.notNested(),this.vector_num_elems=e,this.prep(h.SIZEOF_INT,t*e),this.prep(r,t*e)},h.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},h.Builder.prototype.createString=function(t){if(t instanceof Uint8Array)var e=t;else{e=[];for(var r=0;r<t.length;){var i,n=t.charCodeAt(r++);if(n<55296||n>=56320)i=n;else i=(n<<10)+t.charCodeAt(r++)+-56613888;i<128?e.push(i):(i<2048?e.push(i>>6&31|192):(i<65536?e.push(i>>12&15|224):e.push(i>>18&7|240,i>>12&63|128),e.push(i>>6&63|128)),e.push(63&i|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length);r=0;for(var s=this.space,o=this.bb.bytes();r<e.length;r++)o[s++]=e[r];return this.endVector()},h.Builder.prototype.createLong=function(t,e){return h.Long.create(t,e)},h.ByteBuffer=function(t){this.bytes_=t,this.position_=0},h.ByteBuffer.allocate=function(t){return new h.ByteBuffer(new Uint8Array(t))},h.ByteBuffer.prototype.clear=function(){this.position_=0},h.ByteBuffer.prototype.bytes=function(){return this.bytes_},h.ByteBuffer.prototype.position=function(){return this.position_},h.ByteBuffer.prototype.setPosition=function(t){this.position_=t},h.ByteBuffer.prototype.capacity=function(){return this.bytes_.length},h.ByteBuffer.prototype.readInt8=function(t){return this.readUint8(t)<<24>>24},h.ByteBuffer.prototype.readUint8=function(t){return this.bytes_[t]},h.ByteBuffer.prototype.readInt16=function(t){return this.readUint16(t)<<16>>16},h.ByteBuffer.prototype.readUint16=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8},h.ByteBuffer.prototype.readInt32=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24},h.ByteBuffer.prototype.readUint32=function(t){return this.readInt32(t)>>>0},h.ByteBuffer.prototype.readInt64=function(t){return new h.Long(this.readInt32(t),this.readInt32(t+4))},h.ByteBuffer.prototype.readUint64=function(t){return new h.Long(this.readUint32(t),this.readUint32(t+4))},h.ByteBuffer.prototype.readFloat32=function(t){return h.int32[0]=this.readInt32(t),h.float32[0]},h.ByteBuffer.prototype.readFloat64=function(t){return h.int32[h.isLittleEndian?0:1]=this.readInt32(t),h.int32[h.isLittleEndian?1:0]=this.readInt32(t+4),h.float64[0]},h.ByteBuffer.prototype.writeInt8=function(t,e){this.bytes_[t]=e},h.ByteBuffer.prototype.writeUint8=function(t,e){this.bytes_[t]=e},h.ByteBuffer.prototype.writeInt16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},h.ByteBuffer.prototype.writeUint16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},h.ByteBuffer.prototype.writeInt32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},h.ByteBuffer.prototype.writeUint32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},h.ByteBuffer.prototype.writeInt64=function(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)},h.ByteBuffer.prototype.writeUint64=function(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)},h.ByteBuffer.prototype.writeFloat32=function(t,e){h.float32[0]=e,this.writeInt32(t,h.int32[0])},h.ByteBuffer.prototype.writeFloat64=function(t,e){h.float64[0]=e,this.writeInt32(t,h.int32[h.isLittleEndian?0:1]),this.writeInt32(t+4,h.int32[h.isLittleEndian?1:0])},h.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+h.SIZEOF_INT+h.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: ByteBuffer is too short to contain an identifier.\");for(var t=\"\",e=0;e<h.FILE_IDENTIFIER_LENGTH;e++)t+=String.fromCharCode(this.readInt8(this.position_+h.SIZEOF_INT+e));return t},h.ByteBuffer.prototype.__offset=function(t,e){var r=t-this.readInt32(t);return e<this.readInt16(r)?this.readInt16(r+e):0},h.ByteBuffer.prototype.__union=function(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t},h.ByteBuffer.prototype.__string=function(t,e){t+=this.readInt32(t);var r=this.readInt32(t),i=\"\",n=0;if(t+=h.SIZEOF_INT,e===h.Encoding.UTF8_BYTES)return this.bytes_.subarray(t,t+r);for(;n<r;){var s,o=this.readUint8(t+n++);if(o<192)s=o;else{var a=this.readUint8(t+n++);if(o<224)s=(31&o)<<6|63&a;else{var b=this.readUint8(t+n++);if(o<240)s=(15&o)<<12|(63&a)<<6|63&b;else s=(7&o)<<18|(63&a)<<12|(63&b)<<6|63&this.readUint8(t+n++)}}s<65536?i+=String.fromCharCode(s):(s-=65536,i+=String.fromCharCode(55296+(s>>10),56320+(1023&s)))}return i},h.ByteBuffer.prototype.__indirect=function(t){return t+this.readInt32(t)},h.ByteBuffer.prototype.__vector=function(t){return t+this.readInt32(t)+h.SIZEOF_INT},h.ByteBuffer.prototype.__vector_len=function(t){return this.readInt32(t+this.readInt32(t))},h.ByteBuffer.prototype.__has_identifier=function(t){if(t.length!=h.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+h.FILE_IDENTIFIER_LENGTH);for(var e=0;e<h.FILE_IDENTIFIER_LENGTH;e++)if(t.charCodeAt(e)!=this.readInt8(this.position_+h.SIZEOF_INT+e))return!1;return!0},h.ByteBuffer.prototype.createLong=function(t,e){return h.Long.create(t,e)},function(t){t[t.Unknown=0]=\"Unknown\",t[t.Point=1]=\"Point\",t[t.LineString=2]=\"LineString\",t[t.Polygon=3]=\"Polygon\",t[t.MultiPoint=4]=\"MultiPoint\",t[t.MultiLineString=5]=\"MultiLineString\",t[t.MultiPolygon=6]=\"MultiPolygon\",t[t.GeometryCollection=7]=\"GeometryCollection\",t[t.CircularString=8]=\"CircularString\",t[t.CompoundCurve=9]=\"CompoundCurve\",t[t.CurvePolygon=10]=\"CurvePolygon\",t[t.MultiCurve=11]=\"MultiCurve\",t[t.MultiSurface=12]=\"MultiSurface\",t[t.Curve=13]=\"Curve\",t[t.Surface=14]=\"Surface\",t[t.PolyhedralSurface=15]=\"PolyhedralSurface\",t[t.TIN=16]=\"TIN\",t[t.Triangle=17]=\"Triangle\"}(o||(o={})),function(t){t[t.Byte=0]=\"Byte\",t[t.UByte=1]=\"UByte\",t[t.Bool=2]=\"Bool\",t[t.Short=3]=\"Short\",t[t.UShort=4]=\"UShort\",t[t.Int=5]=\"Int\",t[t.UInt=6]=\"UInt\",t[t.Long=7]=\"Long\",t[t.ULong=8]=\"ULong\",t[t.Float=9]=\"Float\",t[t.Double=10]=\"Double\",t[t.String=11]=\"String\",t[t.Json=12]=\"Json\",t[t.DateTime=13]=\"DateTime\",t[t.Binary=14]=\"Binary\"}(a||(a={}));class f{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new f).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new f).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}type(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):a.Byte}static start(t){t.startObject(2)}static addName(t,e){t.addFieldOffset(0,e,0)}static addType(t,e){t.addFieldInt8(1,e,a.Byte)}static end(t){var e=t.endObject();return t.requiredField(e,4),e}static create(t,e,r){return f.start(t),f.addName(t,e),f.addType(t,r),f.end(t)}}class c{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new c).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new c).__init(t.readInt32(t.position())+t.position(),t)}ends(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}endsLength(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}endsArray(){var t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}xy(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}xyLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}xyArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}z(t){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}zLength(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}zArray(){var t=this.bb.__offset(this.bb_pos,8);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}m(t){var e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}mLength(){var t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}mArray(){var t=this.bb.__offset(this.bb_pos,10);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}t(t){var e=this.bb.__offset(this.bb_pos,12);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}tLength(){var t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}tArray(){var t=this.bb.__offset(this.bb_pos,12);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}tm(t){var e=this.bb.__offset(this.bb_pos,14);return e?this.bb.readUint64(this.bb.__vector(this.bb_pos+e)+8*t):this.bb.createLong(0,0)}tmLength(){var t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}type(){var t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readUint8(this.bb_pos+t):o.Unknown}parts(t,e){var r=this.bb.__offset(this.bb_pos,18);return r?(e||new c).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}partsLength(){var t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static start(t){t.startObject(8)}static addEnds(t,e){t.addFieldOffset(0,e,0)}static createEndsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addInt32(e[r]);return t.endVector()}static startEndsVector(t,e){t.startVector(4,e,4)}static addXy(t,e){t.addFieldOffset(1,e,0)}static createXyVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startXyVector(t,e){t.startVector(8,e,8)}static addZ(t,e){t.addFieldOffset(2,e,0)}static createZVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startZVector(t,e){t.startVector(8,e,8)}static addM(t,e){t.addFieldOffset(3,e,0)}static createMVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startMVector(t,e){t.startVector(8,e,8)}static addT(t,e){t.addFieldOffset(4,e,0)}static createTVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startTVector(t,e){t.startVector(8,e,8)}static addTm(t,e){t.addFieldOffset(5,e,0)}static createTmVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addInt64(e[r]);return t.endVector()}static startTmVector(t,e){t.startVector(8,e,8)}static addType(t,e){t.addFieldInt8(6,e,o.Unknown)}static addParts(t,e){t.addFieldOffset(7,e,0)}static createPartsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startPartsVector(t,e){t.startVector(4,e,4)}static end(t){return t.endObject()}static create(t,e,r,i,n,s,o,a,b){return c.start(t),c.addEnds(t,e),c.addXy(t,r),c.addZ(t,i),c.addM(t,n),c.addT(t,s),c.addTm(t,o),c.addType(t,a),c.addParts(t,b),c.end(t)}}class d{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new d).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new d).__init(t.readInt32(t.position())+t.position(),t)}geometry(t){var e=this.bb.__offset(this.bb_pos,4);return e?(t||new c).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}properties(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}propertiesLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}propertiesArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}columns(t,e){var r=this.bb.__offset(this.bb_pos,8);return r?(e||new f).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}columnsLength(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static start(t){t.startObject(3)}static addGeometry(t,e){t.addFieldOffset(0,e,0)}static addProperties(t,e){t.addFieldOffset(1,e,0)}static createPropertiesVector(t,e){t.startVector(1,e.length,1);for(var r=e.length-1;r>=0;r--)t.addInt8(e[r]);return t.endVector()}static startPropertiesVector(t,e){t.startVector(1,e,1)}static addColumns(t,e){t.addFieldOffset(2,e,0)}static createColumnsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startColumnsVector(t,e){t.startVector(4,e,4)}static end(t){return t.endObject()}static finishBuffer(t,e){t.finish(e)}static finishSizePrefixedBuffer(t,e){t.finish(e,void 0,!0)}static create(t,e,r,i){return d.start(t),d.addGeometry(t,e),d.addProperties(t,r),d.addColumns(t,i),d.end(t)}}!function(t){t[t.Unknown=0]=\"Unknown\",t[t.Point=1]=\"Point\",t[t.LineString=2]=\"LineString\",t[t.Polygon=3]=\"Polygon\",t[t.MultiPoint=4]=\"MultiPoint\",t[t.MultiLineString=5]=\"MultiLineString\",t[t.MultiPolygon=6]=\"MultiPolygon\",t[t.GeometryCollection=7]=\"GeometryCollection\",t[t.CircularString=8]=\"CircularString\",t[t.CompoundCurve=9]=\"CompoundCurve\",t[t.CurvePolygon=10]=\"CurvePolygon\",t[t.MultiCurve=11]=\"MultiCurve\",t[t.MultiSurface=12]=\"MultiSurface\",t[t.Curve=13]=\"Curve\",t[t.Surface=14]=\"Surface\",t[t.PolyhedralSurface=15]=\"PolyhedralSurface\",t[t.TIN=16]=\"TIN\",t[t.Triangle=17]=\"Triangle\"}(b||(b={})),function(t){t[t.Byte=0]=\"Byte\",t[t.UByte=1]=\"UByte\",t[t.Bool=2]=\"Bool\",t[t.Short=3]=\"Short\",t[t.UShort=4]=\"UShort\",t[t.Int=5]=\"Int\",t[t.UInt=6]=\"UInt\",t[t.Long=7]=\"Long\",t[t.ULong=8]=\"ULong\",t[t.Float=9]=\"Float\",t[t.Double=10]=\"Double\",t[t.String=11]=\"String\",t[t.Json=12]=\"Json\",t[t.DateTime=13]=\"DateTime\",t[t.Binary=14]=\"Binary\"}(u||(u={}));class l{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new l).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new l).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}type(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):u.Byte}static start(t){t.startObject(2)}static addName(t,e){t.addFieldOffset(0,e,0)}static addType(t,e){t.addFieldInt8(1,e,u.Byte)}static end(t){var e=t.endObject();return t.requiredField(e,4),e}static create(t,e,r){return l.start(t),l.addName(t,e),l.addType(t,r),l.end(t)}}class p{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new p).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new p).__init(t.readInt32(t.position())+t.position(),t)}org(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}code(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}name(t){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__string(this.bb_pos+e,t):null}description(t){var e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__string(this.bb_pos+e,t):null}wkt(t){var e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__string(this.bb_pos+e,t):null}static start(t){t.startObject(5)}static addOrg(t,e){t.addFieldOffset(0,e,0)}static addCode(t,e){t.addFieldInt32(1,e,0)}static addName(t,e){t.addFieldOffset(2,e,0)}static addDescription(t,e){t.addFieldOffset(3,e,0)}static addWkt(t,e){t.addFieldOffset(4,e,0)}static end(t){return t.endObject()}static create(t,e,r,i,n,s){return p.start(t),p.addOrg(t,e),p.addCode(t,r),p.addName(t,i),p.addDescription(t,n),p.addWkt(t,s),p.end(t)}}class _{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new _).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new _).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}envelope(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}envelopeLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}envelopeArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}geometryType(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):b.Unknown}hasZ(){var t=this.bb.__offset(this.bb_pos,10);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasM(){var t=this.bb.__offset(this.bb_pos,12);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasT(){var t=this.bb.__offset(this.bb_pos,14);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasTM(){var t=this.bb.__offset(this.bb_pos,16);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}columns(t,e){var r=this.bb.__offset(this.bb_pos,18);return r?(e||new l).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}columnsLength(){var t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}featuresCount(){var t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readUint64(this.bb_pos+t):this.bb.createLong(0,0)}indexNodeSize(){var t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readUint16(this.bb_pos+t):16}crs(t){var e=this.bb.__offset(this.bb_pos,24);return e?(t||new p).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static start(t){t.startObject(11)}static addName(t,e){t.addFieldOffset(0,e,0)}static addEnvelope(t,e){t.addFieldOffset(1,e,0)}static createEnvelopeVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startEnvelopeVector(t,e){t.startVector(8,e,8)}static addGeometryType(t,e){t.addFieldInt8(2,e,b.Unknown)}static addHasZ(t,e){t.addFieldInt8(3,+e,0)}static addHasM(t,e){t.addFieldInt8(4,+e,0)}static addHasT(t,e){t.addFieldInt8(5,+e,0)}static addHasTM(t,e){t.addFieldInt8(6,+e,0)}static addColumns(t,e){t.addFieldOffset(7,e,0)}static createColumnsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startColumnsVector(t,e){t.startVector(4,e,4)}static addFeaturesCount(t,e){t.addFieldInt64(8,e,t.createLong(0,0))}static addIndexNodeSize(t,e){t.addFieldInt16(9,e,16)}static addCrs(t,e){t.addFieldOffset(10,e,0)}static end(t){return t.endObject()}static finishBuffer(t,e){t.finish(e)}static finishSizePrefixedBuffer(t,e){t.finish(e,void 0,!0)}static create(t,e,r,i,n,s,o,a,b,u,h,f){return _.start(t),_.addName(t,e),_.addEnvelope(t,r),_.addGeometryType(t,i),_.addHasZ(t,n),_.addHasM(t,s),_.addHasT(t,o),_.addHasTM(t,a),_.addColumns(t,b),_.addFeaturesCount(t,u),_.addIndexNodeSize(t,h),_.addCrs(t,f),_.end(t)}}function y(t){return t.reduce((t,e)=>Array.isArray(e)?t.concat(y(e)):t.concat(e),[])}function g(t){const e=[];for(let r=0;r<t.length;r+=2)e.push([t[r],t[r+1]]);return e}function v(t){return b[t]}function I(t){const e=t.coordinates;let r=null,i=null,n=null,s=v(t.type),o=0;switch(t.type){case\"Point\":r=e;break;case\"MultiPoint\":case\"LineString\":r=y(e);break;case\"MultiLineString\":case\"Polygon\":const s=e;r=y(s),s.length>1&&(i=s.map(t=>o+=t.length));break;case\"MultiPolygon\":n=e.map(t=>({type:\"Polygon\",coordinates:t})).map(I);break;case\"GeometryCollection\":n=t.geometries.map(I)}return{xy:r,ends:i,type:s,parts:n}}function w(t,e){if(!e||0===e.length)return[g(t)];let r=0;return Array.from(e).map(e=>t.slice(r,r=e<<1)).map(t=>g(t))}function B(t,e){if(e==b.GeometryCollection){const r=[];for(let e=0;e<t.partsLength();e++){const i=t.parts(e),n=i.type();r.push(B(i,n))}return{type:b[e],geometries:r}}if(e==b.MultiPolygon){const r=[];for(let e=0;e<t.partsLength();e++){const i=t.parts(e);r.push(B(i,b.Polygon))}return{type:b[e],coordinates:r.map(t=>t.coordinates)}}const r=function(t,e){const r=t.xyArray();switch(e){case b.Point:return Array.from(r);case b.MultiPoint:case b.LineString:return g(r);case b.MultiLineString:case b.Polygon:return w(r,t.endsArray())}}(t,e);return{type:b[e],coordinates:r}}function m(t,e){const r=e.columns,i=new h.Builder(0),s=new Uint8Array(1e5);let o=0;if(r){const e=new DataView(s.buffer);for(let i=0;i<r.length;i++){const a=r[i],b=t.properties[a.name];if(null!==b)switch(e.setUint16(o,i,!0),o+=2,a.type){case n.Bool:e.setUint8(o,b),o+=1;break;case n.Short:e.setInt16(o,b,!0),o+=2;break;case n.UShort:e.setUint16(o,b,!0),o+=2;break;case n.Int:e.setInt32(o,b,!0),o+=4;break;case n.UInt:e.setUint32(o,b,!0),o+=4;break;case n.Long:e.setBigInt64(o,BigInt(b),!0),o+=8;break;case n.Long:e.setBigUint64(o,BigInt(b),!0),o+=8;break;case n.Double:e.setFloat64(o,b,!0),o+=8;break;case n.String:const t=b,r=(new TextEncoder).encode(t);e.setUint32(o,r.length,!0),o+=4,s.set(r,o),o+=r.length;break;default:throw new Error(\"Unknown type\")}}}let a=null;o>0&&(a=d.createPropertiesVector(i,s.slice(0,o)));const b=function t(e,r){const{xy:i,ends:n,parts:s,type:o}=r;if(s){const r=s.map(r=>t(e,r)),i=c.createPartsVector(e,r);return c.start(e),c.addParts(e,i),c.end(e)}const a=c.createXyVector(e,i);let b=null;return n&&(b=c.createEndsVector(e,n)),c.start(e),b&&c.addEnds(e,b),c.addXy(e,a),c.addType(e,o),c.end(e)}(i,I(t.geometry));d.start(i),d.addGeometry(i,b),a&&d.addProperties(i,a);const u=d.end(i);return i.finishSizePrefixed(u),i.asUint8Array()}function F(t,e){const r=e.columns;let i;i=B(t.geometry(),e.geometryType);const s=function(t,e){if(!e||0===e.length)return;const r=t.propertiesArray(),i=new DataView(r.buffer,r.byteOffset),s=t.propertiesLength();let o=0;const a={};for(;o<s;){const t=i.getUint16(o,!0);o+=2;const s=e[t];switch(s.type){case n.Bool:a[s.name]=!!i.getUint8(o),o+=1;break;case n.Byte:a[s.name]=i.getInt8(o),o+=1;break;case n.UByte:a[s.name]=i.getUint8(o),o+=1;break;case n.Short:a[s.name]=i.getInt16(o,!0),o+=2;break;case n.UShort:a[s.name]=i.getUint16(o,!0),o+=2;break;case n.Int:a[s.name]=i.getInt32(o,!0),o+=4;break;case n.UInt:a[s.name]=i.getUint32(o,!0),o+=4;break;case n.Long:a[s.name]=Number(i.getBigInt64(o,!0)),o+=8;break;case n.ULong:a[s.name]=Number(i.getBigUint64(o,!0)),o+=8;break;case n.Double:a[s.name]=i.getFloat64(o,!0),o+=8;break;case n.DateTime:case n.String:{const t=i.getUint32(o,!0);o+=4;const e=new TextDecoder;a[s.name]=e.decode(r.subarray(o,o+t)),o+=t;break}default:throw new Error(\"Unknown type \"+s.type)}}return a}(t,r),o={type:\"Feature\",geometry:i};return s&&(o.properties=s),o}function E(t){var e;if(\"undefined\"!=typeof Symbol){if(Symbol.asyncIterator&&null!=(e=t[Symbol.asyncIterator]))return e.call(t);if(Symbol.iterator&&null!=(e=t[Symbol.iterator]))return e.call(t)}throw new TypeError(\"Object is not async iterable\")}function S(t){this.wrapped=t}function U(t){var e,r;function i(e,r){try{var s=t[e](r),o=s.value,a=o instanceof S;Promise.resolve(a?o.wrapped:o).then((function(t){a?i(\"return\"===e?\"return\":\"next\",t):n(s.done?\"return\":\"normal\",t)}),(function(t){i(\"throw\",t)}))}catch(t){n(\"throw\",t)}}function n(t,n){switch(t){case\"return\":e.resolve({value:n,done:!0});break;case\"throw\":e.reject(n);break;default:e.resolve({value:n,done:!1})}(e=e.next)?i(e.key,e.arg):r=null}this._invoke=function(t,n){return new Promise((function(s,o){var a={key:t,arg:n,resolve:s,reject:o,next:null};r?r=r.next=a:(e=r=a,i(t,n))}))},\"function\"!=typeof t.return&&(this.return=void 0)}function T(t){return function(){return new U(t.apply(this,arguments))}}function L(t){return new S(t)}\"function\"==typeof Symbol&&Symbol.asyncIterator&&(U.prototype[Symbol.asyncIterator]=function(){return this}),U.prototype.next=function(t){return this._invoke(\"next\",t)},U.prototype.throw=function(t){return this._invoke(\"throw\",t)},U.prototype.return=function(t){return this._invoke(\"return\",t)};var P=new Uint8Array(0);function O(t,e){if(!t.length)return e;if(!e.length)return t;var r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function N(t){this._source=t,this._array=P,this._index=0}N.prototype.read=function(){var t=this,e=t._array.subarray(t._index);return t._source.read().then((function(r){return t._array=P,t._index=0,r.done?e.length>0?{done:!1,value:e}:{done:!0,value:void 0}:{done:!1,value:O(e,r.value)}}))},N.prototype.slice=function(t){if((t|=0)<0)throw new Error(\"invalid length\");var e=this,r=this._array.length-this._index;if(this._index+t<=this._array.length)return Promise.resolve(this._array.subarray(this._index,this._index+=t));var i=new Uint8Array(t);return i.set(this._array.subarray(this._index)),function n(){return e._source.read().then((function(s){return s.done?(e._array=P,e._index=0,r>0?i.subarray(0,r):null):r+s.value.length>=t?(e._array=s.value,e._index=t-r,i.set(s.value.subarray(0,t-r),r),i):(i.set(s.value,r),r+=s.value.length,n())}))}()},N.prototype.cancel=function(){return this._source.cancel()};function V(t,e){e=Math.min(Math.max(+e,2),65535);let r=t,i=r;do{r=Math.ceil(r/e),i+=r}while(1!==r);return 40*i}function C(t,e){if(e<2)throw new Error(\"Node size must be at least 2\");if(0===t)throw new Error(\"Number of items must be greater than 0\");let r=t,i=r;const n=[r];do{r=Math.ceil(r/e),i+=r,n.push(r)}while(1!==r);const s=[];r=i;for(let t of n)s.push(r-t),r-=t;s.reverse(),n.reverse();const o=[];for(let t=0;t<n.length;t++)o.push([s[t],s[t]+n[t]]);return o.reverse(),o}function A(t,e,r,i){return x.apply(this,arguments)}function x(){return(x=T((function*(t,e,r,i){const{minX:n,minY:s,maxX:o,maxY:a}=r,b=C(t,e),[[u,h]]=b,f=[];for(f.push([0,b.length-1]);0!==f.length;){const[r,c]=f.pop(),d=r>=h-t,[,l]=b[c],p=Math.min(r+e,l),_=p-r,y=yield L(i(40*r,40*_)),g=new Float64Array(y),v=new Uint32Array(y);for(let t=r;t<p;t++){const e=5*(t-r);if(o<g[e+0])continue;if(a<g[e+1])continue;if(n>g[e+2])continue;if(s>g[e+3])continue;const i=v[8+(e<<1)];d?yield[i,t-u]:f.push([i,c-1])}f.sort((t,e)=>e[0]-t[0])}}))).apply(this,arguments)}const k=new Uint8Array([102,103,98,3,102,103,98,0]);function R(t,e){const r=\"function\"==typeof(i=t).slice?i:new N(\"function\"==typeof i.read?i:i.getReader());var i;return M(async t=>await r.slice(t),void 0,void 0,e)}function M(t,e,r,i){return G.apply(this,arguments)}function G(){return(G=T((function*(t,e,i,n){let o=0,a=new Uint8Array(yield L(t(8)));if(o+=8,!a.every((t,e)=>k[e]===t))throw new Error(\"Not a FlatGeobuf file\");a=new Uint8Array(yield L(t(4))),o+=4;let b=new h.ByteBuffer(a);const u=b.readUint32(0);a=new Uint8Array(yield L(t(u))),o+=u,b=new h.ByteBuffer(a);const f=_.getRoot(b),c=f.featuresCount().toFloat64(),d=[];for(let t=0;t<f.columnsLength();t++){const e=f.columns(t);d.push(new r(e.name(),e.type()))}const l=new s(f.geometryType(),d,c),p=f.indexNodeSize();if(p>0){const r=V(c,p);if(i){const s=async(r,i)=>(await e(o+r),await t(i)),a=[];var y,g=!0,v=!1;try{for(var I,w,B=E(A(c,p,i,s));g=(I=yield L(B.next())).done,w=yield L(I.value),!g;g=!0){let[t]=w;a.push(t)}}catch(t){v=!0,y=t}finally{try{g||null==B.return||(yield L(B.return()))}finally{if(v)throw y}}o+=r;var m,F=!0,S=!1;try{for(var U,T,P=E(a);F=(U=yield L(P.next())).done,T=yield L(U.value),!F;F=!0){let r=T;yield L(e(o+r)),yield D(t,l,n)}}catch(t){S=!0,m=t}finally{try{F||null==P.return||(yield L(P.return()))}finally{if(S)throw m}}return}e?yield L(e(o+r)):yield L(t(r)),o+=r}let O;for(;O=yield L(D(t,l,n));)yield O}))).apply(this,arguments)}async function D(t,e,r){let i=new Uint8Array(await t(4));if(0===i.byteLength)return null;let n=new h.ByteBuffer(i);const s=n.readUint32(0);i=new Uint8Array(await t(s));const o=new Uint8Array(s+4);return o.set(i,4),n=new h.ByteBuffer(o),n.setPosition(4),r(d.getRoot(n),e)}function Z(t){const e=new h.Builder(0);let r=null;t.columns&&(r=_.createColumnsVector(e,t.columns.map(t=>function(t,e){const r=t.createString(e.name);return l.start(t),l.addName(t,r),l.addType(t,e.type),l.end(t)}(e,t))));const i=e.createString(\"L1\");_.start(e),_.addFeaturesCount(e,new h.Long(t.featuresCount,0)),_.addGeometryType(e,t.geometryType),_.addIndexNodeSize(e,0),r&&_.addColumns(e,r),_.addName(e,i);const n=_.end(e);return e.finishSizePrefixed(n),e.asUint8Array()}function H(t){const e=function(t){const e=t.features[0],i=e.properties;let o=null;i&&(o=Object.keys(i).map(t=>new r(t,function(t){if(\"boolean\"==typeof t)return n.Bool;if(\"number\"==typeof t)return t%1==0?n.Int:n.Double;if(\"string\"==typeof t)return n.String;if(null===t)return n.String;throw new Error(`Unknown type (value '${t}')`)}(i[t]))));const a=new Set;for(const r of t.features)a.add(e.geometry.type);return new s(v(e.geometry.type),o,t.features.length)}(t),i=Z(e),o=t.features.map(t=>m(t,e)),a=o.map(t=>t.length).reduce((t,e)=>t+e),b=new Uint8Array(k.length+i.length+a);b.set(i,k.length);let u=k.length+i.length;for(const t of o)b.set(t,u),u+=t.length;return b.set(k),b}function j(t){return{type:\"FeatureCollection\",features:function(t,e){if(!t.subarray(0,7).every((t,e)=>k[e]===t))throw new Error(\"Not a FlatGeobuf file\");const i=new h.ByteBuffer(t),n=i.readUint32(k.length);i.setPosition(k.length+4);const o=_.getRoot(i),a=o.featuresCount().toFloat64(),b=[];for(let t=0;t<o.columnsLength();t++){const e=o.columns(t);b.push(new r(e.name(),e.type()))}const u=new s(o.geometryType(),b,0);let f=k.length+4+n;const c=o.indexNodeSize();c>0&&(f+=V(a,c));const l=[];for(;f<i.capacity();){const t=i.readUint32(f);i.setPosition(f+4);const r=d.getRoot(i);l.push(e(r,u)),f+=4+t}return l}(t,(t,e)=>F(t,e))}}function z(t,e){return function(t,e,r){let i=0;return M(async e=>{const r=await fetch(t,{headers:{Range:`bytes=${i}-${i+e-1}`}});return i+=e,await r.arrayBuffer()},async t=>{i=t},e,r)}(t,e,(t,e)=>F(t,e))}t.deserialize=function(t,r){return t instanceof Uint8Array?j(t):t instanceof e.ReadableStream?R(t,(t,e)=>F(t,e)):z(t,r)},t.serialize=function(t){return H(t)},Object.defineProperty(t,\"__esModule\",{value:!0})}));\n//# sourceMappingURL=flatgeobuf-geojson.min.js.map\n","/**\n * web-streams-polyfill v2.1.1\n */\n/// <reference lib=\"es2015.symbol\" />\nvar SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\n Symbol :\n function (description) { return \"Symbol(\" + description + \")\"; };\n\n/// <reference lib=\"dom\" />\nfunction noop() {\n // do nothing\n}\n\n/// <reference lib=\"es2015.core\" />\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\nvar NumberIsNaN = Number.isNaN || function (x) {\n // eslint-disable-next-line no-self-compare\n return x !== x;\n};\n\nvar rethrowAssertionErrorRejection = noop;\n\nfunction typeIsObject(x) {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n}\nfunction createArrayFromList(elements) {\n // We use arrays to represent lists, so this is basically a no-op.\n // Do a slice though just in case we happen to depend on the unique-ness.\n return elements.slice();\n}\nfunction ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n}\nfunction IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n}\nfunction IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n}\nfunction Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n}\nfunction CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () { return promiseResolvedWith(undefined); };\n}\nfunction InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n}\nfunction PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n }\n catch (value) {\n return promiseRejectedWith(value);\n }\n}\n// Not implemented correctly\nfunction TransferArrayBuffer(O) {\n return O;\n}\n// Not implemented correctly\nfunction IsDetachedBuffer(O) {\n return false;\n}\nfunction ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n}\nfunction MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () { return 1; };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) { return size(chunk); };\n}\nvar originalPromise = Promise;\nvar originalPromiseThen = Promise.prototype.then;\nvar originalPromiseResolve = Promise.resolve.bind(originalPromise);\nvar originalPromiseReject = Promise.reject.bind(originalPromise);\nfunction newPromise(executor) {\n return new originalPromise(executor);\n}\nfunction promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n}\nfunction promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n}\nfunction PerformPromiseThen(promise, onFulfilled, onRejected) {\n // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\n // approximation.\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n}\nfunction uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n}\nfunction uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n}\nfunction uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n}\nfunction transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n}\nfunction setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n}\n\n// Original from Chromium\n// https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\nvar QUEUE_MAX_ARRAY_SIZE = 16384;\n/**\n * Simple queue structure.\n *\n * Avoids scalability issues with using a packed array directly by using\n * multiple arrays in a linked list and keeping the array size bounded.\n */\nvar SimpleQueue = /** @class */ (function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n // _front and _back are always defined.\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n // The cursor is used to avoid calling Array.shift().\n // It contains the index of the front element of the array inside the\n // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\n this._cursor = 0;\n // When there is only one node, size === elements.length - cursor.\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n // For exception safety, this method is structured in order:\n // 1. Read state\n // 2. Calculate required state mutations\n // 3. Perform state mutations\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n // push() is the mutation most likely to throw an exception, so it\n // goes first.\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n // Like push(), shift() follows the read -> calculate -> mutate pattern for\n // exception safety.\n SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n // No mutations before this point.\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n // Permit shifted element to be garbage collected.\n elements[oldCursor] = undefined;\n return element;\n };\n // The tricky thing about forEach() is that it can be called\n // re-entrantly. The queue may be mutated inside the callback. It is easy to\n // see that push() within the callback has no negative effects since the end\n // of the queue is checked for on every iteration. If shift() is called\n // repeatedly within the callback then the next iteration may return an\n // element that has been removed. In this case the callback will be called\n // with undefined values until we either \"catch up\" with elements that still\n // exist or reach the back of the queue.\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n // Return the element that would be returned if shift() was called now,\n // without modifying the queue.\n SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n}());\n\nfunction ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n}\nfunction ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n }\n else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n }\n else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n}\n// A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\n// check.\nfunction ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n}\nfunction ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n}\n// Helper functions for the readers.\nfunction readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n}\n// Helper functions for the ReadableStreamDefaultReader.\nfunction defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n}\nfunction defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n}\nfunction defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\nfunction defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n}\nfunction defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\n\nvar CancelSteps = SymbolPolyfill('[[CancelSteps]]');\nvar PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n// Abstract operations for the ReadableStream.\nfunction AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) { forAuthorCode = false; }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\n// ReadableStream API exposed for controllers.\nfunction ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n}\nfunction ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n}\nfunction ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamDefaultReader = /** @class */ (function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n}());\n// Abstract operations for the readers.\nfunction IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n}\n// Helper functions for the ReadableStreamDefaultReader.\nfunction defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n}\n\n/// <reference lib=\"es2018.asynciterable\" />\nvar _a;\nvar AsyncIteratorPrototype;\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\n // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\n AsyncIteratorPrototype = (_a = {},\n // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\n // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\n _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n },\n _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n}\n\n/// <reference lib=\"es2018.asynciterable\" />\nvar ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () { return ReadableStreamCreateReadResult(value, true, true); });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n};\nif (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n}\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n// Abstract operations for the ReadableStream.\nfunction AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) { preventCancel = false; }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n}\nfunction IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n}\n// Helper functions for the ReadableStream.\nfunction streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n}\n\nfunction DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n}\nfunction EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({ value: value, size: size });\n container._queueTotalSize += size;\n}\nfunction PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n}\nfunction ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n}\n\nvar AbortSteps = SymbolPolyfill('[[AbortSteps]]');\nvar ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\nvar WritableStream = /** @class */ (function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) { underlyingSink = {}; }\n if (strategy === void 0) { strategy = {}; }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n}());\n// Abstract operations for the WritableStream.\nfunction AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n}\n// Throws if and only if startAlgorithm throws.\nfunction CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeWritableStream(stream) {\n stream._state = 'writable';\n // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\n // 'erroring' or 'errored'. May be set to an undefined value.\n stream._storedError = undefined;\n stream._writer = undefined;\n // Initialize to undefined first because the constructor of the controller checks this\n // variable to validate the caller.\n stream._writableStreamController = undefined;\n // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\n // producer without waiting for the queued writes to finish.\n stream._writeRequests = new SimpleQueue();\n // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\n // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\n stream._inFlightWriteRequest = undefined;\n // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\n // has been detached.\n stream._closeRequest = undefined;\n // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\n // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\n stream._inFlightCloseRequest = undefined;\n // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\n stream._pendingAbortRequest = undefined;\n // The backpressure signal set by the controller.\n stream._backpressure = false;\n}\nfunction IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n}\nfunction IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n // reason will not be used, so don't keep a reference to it.\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n}\nfunction WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n}\n// WritableStream API exposed for controllers.\nfunction WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n}\nfunction WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n}\nfunction WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n}\nfunction WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n}\nfunction WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n}\nfunction WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n}\nfunction WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n // The error was too late to do anything, so it is ignored.\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n}\nfunction WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n // Never execute sink abort() after sink close().\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n}\n// TODO(ricea): Fix alphabetical order.\nfunction WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n}\nfunction WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n}\nfunction WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n}\nfunction WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n }\n else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n}\nvar WritableStreamDefaultWriter = /** @class */ (function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n }\n else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n }\n else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n}());\n// Abstract operations for the WritableStreamDefaultWriter.\nfunction IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n}\n// A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\nfunction WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n}\nfunction WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n}\nfunction WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n}\nfunction WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n }\n else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n }\n else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n}\nfunction WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\n // rejected until afterwards. This means that simply testing state will not work.\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n}\nfunction WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n}\nvar WritableStreamDefaultController = /** @class */ (function () {\n /** @internal */\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\n // just treat it as a no-op.\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n}());\n// Abstract operations implementing interface required by the WritableStream.\nfunction IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n}\nfunction SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n}\n// ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\nfunction WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\nfunction WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\nfunction WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n}\nfunction WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n }\n catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\n// Abstract operations for the WritableStreamDefaultController.\nfunction WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n }\n else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n}\nfunction WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n}\nfunction WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n}\nfunction WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n}\nfunction WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n}\n// A client of WritableStreamDefaultController may use these functions directly to bypass state check.\nfunction WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n}\n// Helper functions for the WritableStream.\nfunction streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n}\n// Helper functions for the WritableStreamDefaultWriter.\nfunction defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n}\nfunction defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n}\nfunction defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n}\nfunction defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n}\nfunction defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n}\nfunction defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n}\nfunction defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n}\nfunction defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n}\nfunction defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n}\nfunction defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n}\nfunction defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n}\nfunction defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n}\nfunction defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n}\n\nfunction isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n }\n catch (_a) {\n // AbortSignal.prototype.aborted throws if its brand check fails\n return false;\n }\n}\n\n/// <reference lib=\"dom\" />\nvar NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n/// <reference types=\"node\" />\nfunction isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\n return ctor;\n}\nvar DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\nfunction ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n // Using reader and writer, read all chunks from this and write them to dest\n // - Backpressure must be enforced\n // - Shutdown must stop all activity\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n }\n else {\n // Use `PerformPromiseThen` instead of `uponPromise` to avoid\n // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n // Errors must be propagated forward\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Errors must be propagated backward\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Closing must be propagated forward\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\n }\n else {\n shutdown();\n }\n });\n // Closing must be propagated backward\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\n }\n else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\n // for that too.\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n }\n else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n }\n else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n }\n else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), function () { return finalize(isError, error); });\n }\n else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n }\n else {\n resolve(undefined);\n }\n }\n });\n}\n\nvar ReadableStreamDefaultController = /** @class */ (function () {\n /** @internal */\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n }\n else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n}());\n// Abstract operations for the ReadableStreamDefaultController.\nfunction IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n}\nfunction ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\n// A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\nfunction ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n}\nfunction ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n }\n else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n }\n catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n}\nfunction ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n}\n// This is used in the implementation of TransformStream.\nfunction ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n}\nfunction SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n}\nfunction SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n}\n// Helper functions for the ReadableStreamDefaultController.\nfunction defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n}\n\nfunction ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n // There is no way to access the cloning code right now in the reference implementation.\n // If we add one then we'll need an implementation for serializable objects.\n // if (canceled2 === false && cloneForBranch2 === true) {\n // value2 = StructuredDeserialize(StructuredSerialize(value2));\n // }\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() { }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [branch1, branch2];\n}\n\n/// <reference lib=\"es2015.core\" />\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill\nvar NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' &&\n isFinite(value) &&\n Math.floor(value) === value;\n};\n\nvar ReadableStreamBYOBRequest = /** @class */ (function () {\n /** @internal */\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true) ;\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true) ;\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n}());\nvar ReadableByteStreamController = /** @class */ (function () {\n /** @internal */\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true) ;\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n /** @internal */\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n }\n catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n }\n catch (bufferE) {\n return promiseRejectedWith(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n}());\n// Abstract operations for the ReadableByteStreamController.\nfunction IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n}\nfunction IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n}\nfunction ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n // TODO: Test controller argument\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n}\nfunction ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n}\nfunction ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n }\n else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n}\nfunction ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n}\nfunction ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\n controller._queueTotalSize += byteLength;\n}\nfunction ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n }\n else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n}\nfunction ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n}\nfunction ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n }\n else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n}\nfunction ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n}\nfunction ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n // No ReadableByteStreamControllerCallPullIfNeeded() call since:\n // - No change happens on desiredSize\n // - The source has already been notified of that there's at least 1 pending read(view)\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n}\nfunction ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n // TODO: Figure out whether we should detach the buffer or not here.\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n}\nfunction ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n }\n else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n}\nfunction ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n}\n// A client of ReadableByteStreamController may use these functions directly to bypass state check.\nfunction ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n}\nfunction ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n }\n else if (ReadableStreamHasBYOBReader(stream) === true) {\n // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n}\nfunction ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n}\nfunction SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n}\nfunction SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n}\nfunction SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n}\n// Helper functions for the ReadableStreamBYOBRequest.\nfunction byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n}\n// Helper functions for the ReadableByteStreamController.\nfunction byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n}\n\n// Abstract operations for the ReadableStream.\nfunction AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) { forAuthorCode = false; }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\n// ReadableStream API exposed for controllers.\nfunction ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n}\nfunction ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n}\nfunction ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamBYOBReader = /** @class */ (function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' +\n 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\n 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true) ;\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n}());\n// Abstract operations for the readers.\nfunction IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n // Controllers must implement this.\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n}\n// Helper functions for the ReadableStreamBYOBReader.\nfunction byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n}\n\nvar ReadableStream = /** @class */ (function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) { underlyingSource = {}; }\n if (strategy === void 0) { strategy = {}; }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n }\n else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n }\n else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n}());\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n}\n// Abstract operations for the ReadableStream.\n// Throws if and only if startAlgorithm throws.\nfunction CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n}\nfunction IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n}\nfunction IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n}\n// ReadableStream API exposed for controllers.\nfunction ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n}\nfunction ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n }\n else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n}\n// Helper functions for the ReadableStream.\nfunction streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n}\n\nvar ByteLengthQueuingStrategy = /** @class */ (function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n}());\n\nvar CountQueuingStrategy = /** @class */ (function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n}());\n\n// Class TransformStream\nvar TransformStream = /** @class */ (function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) { transformer = {}; }\n if (writableStrategy === void 0) { writableStrategy = {}; }\n if (readableStrategy === void 0) { readableStrategy = {}; }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n}());\nfunction InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n // Used by IsWritableStream() which is called by SetUpTransformStreamDefaultController().\n stream._transformStreamController = undefined;\n}\nfunction IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n}\n// This is a no-op if both sides are already errored.\nfunction TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n}\nfunction TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\n // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\n // _backpressure is set.\n TransformStreamSetBackpressure(stream, false);\n }\n}\nfunction TransformStreamSetBackpressure(stream, backpressure) {\n // Passes also when called during construction.\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n}\nvar TransformStreamDefaultController = /** @class */ (function () {\n /** @internal */\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n}());\n// Transform Stream Default Controller Abstract Operations\nfunction IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n}\nfunction SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n }\n catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) { return PromiseCall(transformMethod, transformer, [chunk, controller]); };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n}\nfunction TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n}\nfunction TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\n // accept TransformStreamDefaultControllerEnqueue() calls.\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n }\n catch (e) {\n // This happens when readableStrategy.size() throws.\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n}\nfunction TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n}\nfunction TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n}\nfunction TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n}\n// TransformStreamDefaultSink Algorithms\nfunction TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n}\nfunction TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\n // errored.\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n}\nfunction TransformStreamDefaultSinkCloseAlgorithm(stream) {\n // stream._readable cannot change after construction, so caching it across a call to user code is safe.\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n // Return a promise that is fulfilled with undefined on success.\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n}\n// TransformStreamDefaultSource Algorithms\nfunction TransformStreamDefaultSourcePullAlgorithm(stream) {\n // Invariant. Enforced by the promises returned by start() and pull().\n TransformStreamSetBackpressure(stream, false);\n // Prevent the next pull() call until there is backpressure.\n return stream._backpressureChangePromise;\n}\n// Helper functions for the TransformStreamDefaultController.\nfunction defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n}\n// Helper functions for the TransformStream.\nfunction streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n}\n\nexport { ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableStream, TransformStream, WritableStream };\n//# sourceMappingURL=ponyfill.mjs.map\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/bundle.ts","webpack:///(webpack)/buildin/global.js","webpack:///./src/index.ts","webpack:///./src/flatgeobuf-loader.ts","webpack:///./src/lib/parse-flatgeobuf.ts","webpack:////home/user/apps/loaders.gl/node_modules/flatgeobuf/dist/flatgeobuf-geojson.min.js","webpack:////home/user/apps/loaders.gl/node_modules/flatgeobuf/node_modules/web-streams-polyfill/dist/ponyfill.mjs"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","moduleExports","require","_global","window","global","loaders","assign","g","this","Function","e","FlatGeobufLoader","FlatGeobufWorkerLoader","parse","arrayBuffer","options","parseSync","parseFlatGeobuf","parseInBatchesFromStream","parseFlatGeobufInBatches","binary","_typecheckFlatGeobufLoader","id","version","worker","extensions","mimeTypes","category","flatgeobuf","input","byteLength","arr","Uint8Array","deserialize","features","stream","deserializeStream","type","Byte","UByte","Bool","Short","UShort","Int","UInt","Long","ULong","Float","Double","String","Json","DateTime","Binary","geometryType","columns","featuresCount","a","b","u","h","UTF8_BYTES","UTF16_STRING","int32","Int32Array","float32","Float32Array","buffer","float64","Float64Array","isLittleEndian","Uint16Array","low","high","ZERO","toFloat64","equals","Builder","bb","ByteBuffer","allocate","space","minalign","vtable","vtable_in_use","isNested","object_start","vtables","vector_num_elems","force_defaults","clear","capacity","forceDefaults","dataBuffer","asUint8Array","bytes","subarray","position","offset","prep","growByteBuffer","pad","writeInt8","writeInt16","writeInt32","writeInt64","writeFloat32","writeFloat64","addInt8","addInt16","addInt32","addInt64","addFloat32","addFloat64","addFieldInt8","slot","addFieldInt16","addFieldInt32","addFieldInt64","addFieldFloat32","addFieldFloat64","addFieldOffset","addOffset","addFieldStruct","nested","Error","notNested","setPosition","set","SIZEOF_INT","startObject","endObject","SIZEOF_SHORT","length","readInt16","push","finish","SIZE_PREFIX_LENGTH","FILE_IDENTIFIER_LENGTH","charCodeAt","finishSizePrefixed","requiredField","readInt32","startVector","endVector","createString","createLong","bytes_","position_","readInt8","readUint8","readUint16","readUint32","readInt64","readUint64","readFloat32","readFloat64","writeUint8","writeUint16","writeUint32","writeUint64","getBufferIdentifier","fromCharCode","__offset","__union","bb_pos","__string","Encoding","__indirect","__vector","__vector_len","__has_identifier","Unknown","Point","LineString","Polygon","MultiPoint","MultiLineString","MultiPolygon","GeometryCollection","CircularString","CompoundCurve","CurvePolygon","MultiCurve","MultiSurface","Curve","Surface","PolyhedralSurface","TIN","Triangle","f","__init","start","addName","addType","end","Uint32Array","byteOffset","addEnds","addXy","addZ","addM","addT","addTm","addParts","addGeometry","addProperties","addColumns","addOrg","addCode","addDescription","addWkt","_","addEnvelope","addGeometryType","addHasZ","addHasM","addHasT","addHasTM","addFeaturesCount","addIndexNodeSize","addCrs","y","reduce","Array","isArray","concat","v","I","coordinates","map","geometries","xy","ends","parts","B","partsLength","xyArray","from","slice","w","endsArray","F","geometry","propertiesArray","DataView","propertiesLength","getUint16","getUint8","getInt8","getInt16","getInt32","getUint32","Number","getBigInt64","getBigUint64","getFloat64","TextDecoder","decode","properties","E","asyncIterator","iterator","TypeError","S","wrapped","U","Promise","resolve","then","done","reject","next","arg","_invoke","return","T","apply","arguments","L","throw","P","O","N","_source","_array","_index","V","Math","min","max","ceil","C","reverse","A","x","minX","minY","maxX","maxY","pop","sort","read","cancel","k","M","G","every","getRoot","columnsLength","indexNodeSize","async","D","H","keys","Set","add","createColumnsVector","Z","setUint16","setUint8","setInt16","setInt32","setUint32","setBigInt64","BigInt","setBigUint64","setFloat64","TextEncoder","encode","createPropertiesVector","createPartsVector","createXyVector","createEndsVector","j","z","fetch","headers","Range","ReadableStream","getReader","R","serialize","SymbolPolyfill","description","noop","NumberIsNaN","isNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","args","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","method","undefined","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","ValidateAndNormalizeHighWaterMark","highWaterMark","RangeError","MakeSizeAlgorithmFromSizeFunction","size","chunk","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","executor","reason","PerformPromiseThen","promise","onFulfilled","onRejected","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","configurable","element","oldBack","newBack","QUEUE_MAX_ARRAY_SIZE","shift","oldFront","newFront","oldCursor","newCursor","forEach","callback","node","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","obj","ReadableStreamReaderGenericInitialize","reader","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseResolve","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","result","_preventCancel","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","ResetQueue","setPrototypeOf","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","controller","WritableStreamDefaultController","writeAlgorithm","closeAlgorithm","abortAlgorithm","SetUpWritableStreamDefaultController","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","close","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","state","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerAdvanceQueueIfNeeded","WritableStreamDealWithRejection","error","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","writeRequest","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseResolve","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultControllerGetDesiredSize","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","write","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","releasedError","chunkSize","_strategySizeAlgorithm","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","WritableStreamDefaultControllerGetChunkSize","WritableStreamAddWriteRequest","writeRecord","enqueueE","_controlledWritableStream","WritableStreamDefaultControllerGetBackpressure","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","startAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamMarkCloseRequestInFlight","sinkClosePromise","WritableStreamFinishInFlightClose","WritableStreamFinishInFlightCloseWithError","WritableStreamDefaultControllerProcessClose","WritableStreamMarkFirstWriteRequestInFlight","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamDefaultControllerProcessWrite","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","ctor","DOMException$1","isDOMExceptionConstructor","message","captureStackTrace","constructor","writable","ReadableStreamPipeTo","source","dest","preventClose","preventAbort","preventCancel","signal","shuttingDown","currentWrite","action","actions","shutdownWithAction","all","addEventListener","isOrBecomesErrored","shutdown","WritableStreamDefaultWriterCloseWithErrorPropagation","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","resolveLoop","rejectLoop","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAlgorithm","_pullAgain","ReadableStreamError","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","NumberIsInteger","isInteger","isFinite","floor","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespondInternal","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","firstDescriptor","_pendingPullIntos","bytesFilled","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","byobRequest","request","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerClose","transferredBuffer","ReadableByteStreamControllerEnqueueChunkToQueue","transferredView","ReadableStreamHasBYOBReader","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerEnqueue","entry","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","_readIntoRequests","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","destOffset","src","srcOffset","queue","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerRespondInClosedState","remainderSize","remainder","ReadableByteStreamControllerRespondInReadableState","descriptor","ReadableByteStreamControllerClearPendingPullIntos","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","SetUpReadableByteStreamController","ReadableStreamAddReadIntoRequest","readIntoRequest","IsReadableStreamBYOBReader","ReadableStreamBYOBReader","byobReaderBrandCheckException","BYTES_PER_ELEMENT","ReadableByteStreamControllerPullInto","ReadableStreamBYOBReaderRead","underlyingSource","InitializeReadableStream","SetUpReadableStreamDefaultControllerFromUnderlyingSource","streamBrandCheckException$1","AcquireReadableStreamBYOBReader","pipeThrough","_b","readable","_c","Boolean","pipeTo","tee","branches","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","CreateReadableStream","compositeReason","cancelResult","ReadableStreamTee","getIterator","AcquireReadableStreamAsyncIterator","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","startPromise","_writable","CreateWritableStream","_transformStreamController","_backpressureChangePromise","TransformStreamDefaultControllerPerformTransform","TransformStreamDefaultSinkWriteAlgorithm","_readable","flushPromise","_flushAlgorithm","TransformStreamDefaultControllerClearAlgorithms","readableController","TransformStreamError","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamSetBackpressure","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise_resolve","InitializeTransformStream","TransformStreamDefaultController","transformAlgorithm","TransformStreamDefaultControllerEnqueue","transformResultE","transformMethod","transform","flushAlgorithm","_controlledTransformStream","_transformAlgorithm","SetUpTransformStreamDefaultController","SetUpTransformStreamDefaultControllerFromTransformer","startResult","IsTransformStream","streamBrandCheckException$2","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","terminate","TransformStreamDefaultControllerTerminate","ReadableStreamDefaultControllerHasBackpressure"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,4CCjFrD,IAAMC,EAAgBC,EAAQ,GACxBC,EAA4B,oBAAXC,OAAyBC,EAASD,OACzDD,EAAQG,QAAUH,EAAQG,SAAW,GACrCtC,EAAOD,QAAUY,OAAO4B,OAAOJ,EAAQG,QAASL,K,+BCJhD,IAAIO,EAGJA,EAAI,WACH,OAAOC,KADJ,GAIJ,IAECD,EAAIA,GAAK,IAAIE,SAAS,cAAb,GACR,MAAOC,GAEc,iBAAXP,SAAqBI,EAAIJ,QAOrCpC,EAAOD,QAAUyC,G,sdClBjB,WACA,E,ybAAA,O,+6BAIO,I,EAEA,EAFMI,EAAmB,EAAH,KACxBC,oBADwB,IAE3BC,O,EAAK,yBAAE,WAAOC,EAAaC,GAApB,0GAAgC,aAAgBD,EAAaC,IAA7D,0CAAF,E,8KAAA,+CACLC,UAAWC,UACXC,yBAA0BC,2BAC1BC,QAAQ,I,qBAGH,IAAMC,EAA+CV,E,qKCV5D,IAEaA,EAAmB,CAC9BW,GAAI,aACJ/C,KAAM,aACNR,OAAQ,aACRwD,QANc,SAOdC,QAAQ,EACRC,WAAY,CAAC,OACbC,UAAW,CAAC,4BACZC,SAAU,WACVZ,QAAS,CACPa,WAAY,K,qBAIT,IAAMP,EAAqCV,E,wHCXnC,SAAyBkB,EAAOd,GAC7C,GAAyB,IAArBc,EAAMC,WACR,MAAO,GAGT,IAAMC,EAAM,IAAIC,WAAWH,GAE3B,OADmB,IAAAI,aAAYF,GAAxBG,U,2BAUF,SAAkCC,EAAQpB,GAE/C,OADiB,IAAAqB,mBAAkBD,IAzBrC,Y,iBCDkQ,SAAUjD,EAAEwB,GAAG,aAAa,MAAM5B,EAAE,YAAYI,EAAEwB,GAAGF,KAAKjC,KAAKW,EAAEsB,KAAK6B,KAAK3B,GAAG,IAAI1C,GAAG,SAASkB,GAAGA,EAAEA,EAAEoD,KAAK,GAAG,OAAOpD,EAAEA,EAAEqD,MAAM,GAAG,QAAQrD,EAAEA,EAAEsD,KAAK,GAAG,OAAOtD,EAAEA,EAAEuD,MAAM,GAAG,QAAQvD,EAAEA,EAAEwD,OAAO,GAAG,SAASxD,EAAEA,EAAEyD,IAAI,GAAG,MAAMzD,EAAEA,EAAE0D,KAAK,GAAG,OAAO1D,EAAEA,EAAE2D,KAAK,GAAG,OAAO3D,EAAEA,EAAE4D,MAAM,GAAG,QAAQ5D,EAAEA,EAAE6D,MAAM,GAAG,QAAQ7D,EAAEA,EAAE8D,OAAO,IAAI,SAAS9D,EAAEA,EAAE+D,OAAO,IAAI,SAAS/D,EAAEA,EAAEgE,KAAK,IAAI,OAAOhE,EAAEA,EAAEiE,SAAS,IAAI,WAAWjE,EAAEA,EAAEkE,OAAO,IAAI,SAAnU,CAA6UpF,IAAIA,EAAE,KAAK,IAAIyB,EAAEzB,EAAE,MAAM+B,EAAE,YAAYb,EAAEwB,EAAE5B,GAAG0B,KAAK6C,aAAanE,EAAEsB,KAAK8C,QAAQ5C,EAAEF,KAAK+C,cAAczE,GAAG,IAAIL,EAAE+E,EAAEC,EAAEC,EAAEC,EAAE,CAAG,aAAe,EAAE,WAAa,EAAE,uBAAyB,EAAE,mBAAqB,EAAE,SAAW,CAACC,WAAW,EAAEC,aAAa,IAAGF,EAAEG,MAAM,IAAIC,WAAW,GAAGJ,EAAEK,QAAQ,IAAIC,aAAaN,EAAEG,MAAMI,QAAQP,EAAEQ,QAAQ,IAAIC,aAAaT,EAAEG,MAAMI,QAAQP,EAAEU,eAAe,IAAI,IAAIC,YAAY,IAAItC,WAAW,CAAC,EAAE,IAAIkC,QAAQ,GAAGP,EAAEd,KAAK,SAAS3D,EAAEwB,GAAGF,KAAK+D,IAAI,EAAErF,EAAEsB,KAAKgE,KAAK,EAAE9D,GAAGiD,EAAEd,KAAKvD,OAAO,SAASJ,EAAEwB,GAAG,OAAO,GAAGxB,GAAG,GAAGwB,EAAEiD,EAAEd,KAAK4B,KAAK,IAAId,EAAEd,KAAK3D,EAAEwB,IAAIiD,EAAEd,KAAKjD,UAAU8E,UAAU,WAAW,OAAOlE,KAAK+D,MAAM,GAAG,WAAW/D,KAAKgE,MAAMb,EAAEd,KAAKjD,UAAU+E,OAAO,SAASzF,GAAG,OAAOsB,KAAK+D,KAAKrF,EAAEqF,KAAK/D,KAAKgE,MAAMtF,EAAEsF,MAAMb,EAAEd,KAAK4B,KAAK,IAAId,EAAEd,KAAK,EAAE,GAAGc,EAAEiB,QAAQ,SAAS1F,GAAG,GAAGA,EAAEwB,EAAExB,OAAO,IAAIwB,EAAE,KAAKF,KAAKqE,GAAGlB,EAAEmB,WAAWC,SAASrE,GAAGF,KAAKwE,MAAMtE,EAAEF,KAAKyE,SAAS,EAAEzE,KAAK0E,OAAO,KAAK1E,KAAK2E,cAAc,EAAE3E,KAAK4E,UAAS,EAAG5E,KAAK6E,aAAa,EAAE7E,KAAK8E,QAAQ,GAAG9E,KAAK+E,iBAAiB,EAAE/E,KAAKgF,gBAAe,GAAI7B,EAAEiB,QAAQhF,UAAU6F,MAAM,WAAWjF,KAAKqE,GAAGY,QAAQjF,KAAKwE,MAAMxE,KAAKqE,GAAGa,WAAWlF,KAAKyE,SAAS,EAAEzE,KAAK0E,OAAO,KAAK1E,KAAK2E,cAAc,EAAE3E,KAAK4E,UAAS,EAAG5E,KAAK6E,aAAa,EAAE7E,KAAK8E,QAAQ,GAAG9E,KAAK+E,iBAAiB,EAAE/E,KAAKgF,gBAAe,GAAI7B,EAAEiB,QAAQhF,UAAU+F,cAAc,SAASzG,GAAGsB,KAAKgF,eAAetG,GAAGyE,EAAEiB,QAAQhF,UAAUgG,WAAW,WAAW,OAAOpF,KAAKqE,IAAIlB,EAAEiB,QAAQhF,UAAUiG,aAAa,WAAW,OAAOrF,KAAKqE,GAAGiB,QAAQC,SAASvF,KAAKqE,GAAGmB,WAAWxF,KAAKqE,GAAGmB,WAAWxF,KAAKyF,WAAWtC,EAAEiB,QAAQhF,UAAUsG,KAAK,SAAShH,EAAEwB,GAAGxB,EAAEsB,KAAKyE,WAAWzE,KAAKyE,SAAS/F,GAAG,IAAI,IAAIJ,EAAE,IAAI0B,KAAKqE,GAAGa,WAAWlF,KAAKwE,MAAMtE,GAAGxB,EAAE,EAAEsB,KAAKwE,MAAMlG,EAAEI,EAAEwB,GAAG,CAAC,IAAI1C,EAAEwC,KAAKqE,GAAGa,WAAWlF,KAAKqE,GAAGlB,EAAEiB,QAAQuB,eAAe3F,KAAKqE,IAAIrE,KAAKwE,OAAOxE,KAAKqE,GAAGa,WAAW1H,EAAEwC,KAAK4F,IAAItH,IAAI6E,EAAEiB,QAAQhF,UAAUwG,IAAI,SAASlH,GAAG,IAAI,IAAIwB,EAAE,EAAEA,EAAExB,EAAEwB,IAAIF,KAAKqE,GAAGwB,YAAY7F,KAAKwE,MAAM,IAAIrB,EAAEiB,QAAQhF,UAAUyG,UAAU,SAASnH,GAAGsB,KAAKqE,GAAGwB,UAAU7F,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU0G,WAAW,SAASpH,GAAGsB,KAAKqE,GAAGyB,WAAW9F,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU2G,WAAW,SAASrH,GAAGsB,KAAKqE,GAAG0B,WAAW/F,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU4G,WAAW,SAAStH,GAAGsB,KAAKqE,GAAG2B,WAAWhG,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU6G,aAAa,SAASvH,GAAGsB,KAAKqE,GAAG4B,aAAajG,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU8G,aAAa,SAASxH,GAAGsB,KAAKqE,GAAG6B,aAAalG,KAAKwE,OAAO,EAAE9F,IAAIyE,EAAEiB,QAAQhF,UAAU+G,QAAQ,SAASzH,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAK6F,UAAUnH,IAAIyE,EAAEiB,QAAQhF,UAAUgH,SAAS,SAAS1H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAK8F,WAAWpH,IAAIyE,EAAEiB,QAAQhF,UAAUiH,SAAS,SAAS3H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAK+F,WAAWrH,IAAIyE,EAAEiB,QAAQhF,UAAUkH,SAAS,SAAS5H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAKgG,WAAWtH,IAAIyE,EAAEiB,QAAQhF,UAAUmH,WAAW,SAAS7H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAKiG,aAAavH,IAAIyE,EAAEiB,QAAQhF,UAAUoH,WAAW,SAAS9H,GAAGsB,KAAK0F,KAAK,EAAE,GAAG1F,KAAKkG,aAAaxH,IAAIyE,EAAEiB,QAAQhF,UAAUqH,aAAa,SAAS/H,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKmG,QAAQjG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAUuH,cAAc,SAASjI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKoG,SAASlG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAUwH,cAAc,SAASlI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKqG,SAASnG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAUyH,cAAc,SAASnI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,EAAEiE,OAAO7F,KAAK0B,KAAKsG,SAASpG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU0H,gBAAgB,SAASpI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKuG,WAAWrG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU2H,gBAAgB,SAASrI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKwG,WAAWtG,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU4H,eAAe,SAAStI,EAAEwB,EAAE5B,IAAI0B,KAAKgF,gBAAgB9E,GAAG5B,KAAK0B,KAAKiH,UAAU/G,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU8H,eAAe,SAASxI,EAAEwB,EAAE5B,GAAG4B,GAAG5B,IAAI0B,KAAKmH,OAAOjH,GAAGF,KAAK0G,KAAKhI,KAAKyE,EAAEiB,QAAQhF,UAAU+H,OAAO,SAASzI,GAAG,GAAGA,GAAGsB,KAAKyF,SAAS,MAAM,IAAI2B,MAAM,mDAAmDjE,EAAEiB,QAAQhF,UAAUiI,UAAU,WAAW,GAAGrH,KAAK4E,SAAS,MAAM,IAAIwC,MAAM,0DAA0DjE,EAAEiB,QAAQhF,UAAUsH,KAAK,SAAShI,GAAGsB,KAAK0E,OAAOhG,GAAGsB,KAAKyF,UAAUtC,EAAEiB,QAAQhF,UAAUqG,OAAO,WAAW,OAAOzF,KAAKqE,GAAGa,WAAWlF,KAAKwE,OAAOrB,EAAEiB,QAAQuB,eAAe,SAASjH,GAAG,IAAIwB,EAAExB,EAAEwG,WAAW,GAAG,WAAWhF,EAAE,MAAM,IAAIkH,MAAM,uDAAuD,IAAI9I,EAAE4B,GAAG,EAAE1C,EAAE2F,EAAEmB,WAAWC,SAASjG,GAAG,OAAOd,EAAE8J,YAAYhJ,EAAE4B,GAAG1C,EAAE8H,QAAQiC,IAAI7I,EAAE4G,QAAQhH,EAAE4B,GAAG1C,GAAG2F,EAAEiB,QAAQhF,UAAU6H,UAAU,SAASvI,GAAGsB,KAAK0F,KAAKvC,EAAEqE,WAAW,GAAGxH,KAAK+F,WAAW/F,KAAKyF,SAAS/G,EAAEyE,EAAEqE,aAAarE,EAAEiB,QAAQhF,UAAUqI,YAAY,SAAS/I,GAAGsB,KAAKqH,YAAY,MAAMrH,KAAK0E,SAAS1E,KAAK0E,OAAO,IAAI1E,KAAK2E,cAAcjG,EAAE,IAAI,IAAIwB,EAAE,EAAEA,EAAExB,EAAEwB,IAAIF,KAAK0E,OAAOxE,GAAG,EAAEF,KAAK4E,UAAS,EAAG5E,KAAK6E,aAAa7E,KAAKyF,UAAUtC,EAAEiB,QAAQhF,UAAUsI,UAAU,WAAW,GAAG,MAAM1H,KAAK0E,SAAS1E,KAAK4E,SAAS,MAAM,IAAIwC,MAAM,qDAAqDpH,KAAKqG,SAAS,GAAG,IAAI,IAAI3H,EAAEsB,KAAKyF,SAASvF,EAAEF,KAAK2E,cAAc,EAAEzE,GAAG,GAAG,GAAGF,KAAK0E,OAAOxE,GAAGA,KAAK,IAAI,IAAI5B,EAAE4B,EAAE,EAAEA,GAAG,EAAEA,IAAIF,KAAKoG,SAAS,GAAGpG,KAAK0E,OAAOxE,GAAGxB,EAAEsB,KAAK0E,OAAOxE,GAAG,GAAGF,KAAKoG,SAAS1H,EAAEsB,KAAK6E,cAAc,IAAIrH,GAAGc,EAAE,GAAG6E,EAAEwE,aAAa3H,KAAKoG,SAAS5I,GAAG,IAAIyB,EAAE,EAAEM,EAAES,KAAKwE,MAAM9F,EAAE,IAAIwB,EAAE,EAAEA,EAAEF,KAAK8E,QAAQ8C,OAAO1H,IAAI,CAAC,IAAIjC,EAAE+B,KAAKqE,GAAGa,WAAWlF,KAAK8E,QAAQ5E,GAAG,GAAG1C,GAAGwC,KAAKqE,GAAGwD,UAAU5J,GAAG,CAAC,IAAI,IAAI+E,EAAEG,EAAEwE,aAAa3E,EAAExF,EAAEwF,GAAGG,EAAEwE,aAAa,GAAG3H,KAAKqE,GAAGwD,UAAUtI,EAAEyD,IAAIhD,KAAKqE,GAAGwD,UAAU5J,EAAE+E,GAAG,SAAStE,EAAEO,EAAEe,KAAK8E,QAAQ5E,GAAG,OAAO,OAAOjB,GAAGe,KAAKwE,MAAMxE,KAAKqE,GAAGa,WAAWxG,EAAEsB,KAAKqE,GAAG0B,WAAW/F,KAAKwE,MAAMvF,EAAEP,KAAKsB,KAAK8E,QAAQgD,KAAK9H,KAAKyF,UAAUzF,KAAKqE,GAAG0B,WAAW/F,KAAKqE,GAAGa,WAAWxG,EAAEsB,KAAKyF,SAAS/G,IAAIsB,KAAK4E,UAAS,EAAGlG,GAAGyE,EAAEiB,QAAQhF,UAAU2I,OAAO,SAASrJ,EAAEwB,EAAE5B,GAAG,IAAId,EAAEc,EAAE6E,EAAE6E,mBAAmB,EAAE,GAAG9H,EAAE,CAAC,IAAIjB,EAAEiB,EAAE,GAAGF,KAAK0F,KAAK1F,KAAKyE,SAAStB,EAAEqE,WAAWrE,EAAE8E,uBAAuBzK,GAAGyB,EAAE2I,QAAQzE,EAAE8E,uBAAuB,MAAM,IAAIb,MAAM,+CAA+CjE,EAAE8E,wBAAwB,IAAI,IAAI1I,EAAE4D,EAAE8E,uBAAuB,EAAE1I,GAAG,EAAEA,IAAIS,KAAK6F,UAAU5G,EAAEiJ,WAAW3I,IAAIS,KAAK0F,KAAK1F,KAAKyE,SAAStB,EAAEqE,WAAWhK,GAAGwC,KAAKiH,UAAUvI,GAAGlB,GAAGwC,KAAKqG,SAASrG,KAAKqE,GAAGa,WAAWlF,KAAKwE,OAAOxE,KAAKqE,GAAGiD,YAAYtH,KAAKwE,QAAQrB,EAAEiB,QAAQhF,UAAU+I,mBAAmB,SAASzJ,EAAEwB,GAAGF,KAAK+H,OAAOrJ,EAAEwB,GAAE,IAAKiD,EAAEiB,QAAQhF,UAAUgJ,cAAc,SAAS1J,EAAEwB,GAAG,IAAI5B,EAAE0B,KAAKqE,GAAGa,WAAWxG,EAAElB,EAAEc,EAAE0B,KAAKqE,GAAGgE,UAAU/J,GAAG,GAAK,GAAG0B,KAAKqE,GAAGwD,UAAUrK,EAAE0C,GAAI,MAAM,IAAIkH,MAAM,sBAAsBlH,EAAE,iBAAiBiD,EAAEiB,QAAQhF,UAAUkJ,YAAY,SAAS5J,EAAEwB,EAAE5B,GAAG0B,KAAKqH,YAAYrH,KAAK+E,iBAAiB7E,EAAEF,KAAK0F,KAAKvC,EAAEqE,WAAW9I,EAAEwB,GAAGF,KAAK0F,KAAKpH,EAAEI,EAAEwB,IAAIiD,EAAEiB,QAAQhF,UAAUmJ,UAAU,WAAW,OAAOvI,KAAK+F,WAAW/F,KAAK+E,kBAAkB/E,KAAKyF,UAAUtC,EAAEiB,QAAQhF,UAAUoJ,aAAa,SAAS9J,GAAG,GAAGA,aAAa8C,WAAW,IAAItB,EAAExB,MAAM,CAACwB,EAAE,GAAG,IAAI,IAAI5B,EAAE,EAAEA,EAAEI,EAAEkJ,QAAQ,CAAC,IAAIpK,EAAEyB,EAAEP,EAAEwJ,WAAW5J,MAA0Bd,EAAlByB,EAAE,OAAOA,GAAG,MAAQA,GAAUA,GAAG,IAAIP,EAAEwJ,WAAW5J,MAAM,UAAW,IAAI4B,EAAE4H,KAAKtK,IAAIA,EAAE,KAAK0C,EAAE4H,KAAKtK,GAAG,EAAE,GAAG,MAAMA,EAAE,MAAM0C,EAAE4H,KAAKtK,GAAG,GAAG,GAAG,KAAK0C,EAAE4H,KAAKtK,GAAG,GAAG,EAAE,IAAIA,GAAG,GAAG,GAAG,KAAK0C,EAAE4H,KAAKtK,GAAG,EAAE,GAAG,MAAM0C,EAAE4H,KAAK,GAAGtK,EAAE,OAAOwC,KAAKmG,QAAQ,GAAGnG,KAAKsI,YAAY,EAAEpI,EAAE0H,OAAO,GAAG5H,KAAKqE,GAAGiD,YAAYtH,KAAKwE,OAAOtE,EAAE0H,QAAQtJ,EAAE,EAAE,IAAI,IAAIiB,EAAES,KAAKwE,MAAMvG,EAAE+B,KAAKqE,GAAGiB,QAAQhH,EAAE4B,EAAE0H,OAAOtJ,IAAIL,EAAEsB,KAAKW,EAAE5B,GAAG,OAAO0B,KAAKuI,aAAapF,EAAEiB,QAAQhF,UAAUqJ,WAAW,SAAS/J,EAAEwB,GAAG,OAAOiD,EAAEd,KAAKvD,OAAOJ,EAAEwB,IAAIiD,EAAEmB,WAAW,SAAS5F,GAAGsB,KAAK0I,OAAOhK,EAAEsB,KAAK2I,UAAU,GAAGxF,EAAEmB,WAAWC,SAAS,SAAS7F,GAAG,OAAO,IAAIyE,EAAEmB,WAAW,IAAI9C,WAAW9C,KAAKyE,EAAEmB,WAAWlF,UAAU6F,MAAM,WAAWjF,KAAK2I,UAAU,GAAGxF,EAAEmB,WAAWlF,UAAUkG,MAAM,WAAW,OAAOtF,KAAK0I,QAAQvF,EAAEmB,WAAWlF,UAAUoG,SAAS,WAAW,OAAOxF,KAAK2I,WAAWxF,EAAEmB,WAAWlF,UAAUkI,YAAY,SAAS5I,GAAGsB,KAAK2I,UAAUjK,GAAGyE,EAAEmB,WAAWlF,UAAU8F,SAAS,WAAW,OAAOlF,KAAK0I,OAAOd,QAAQzE,EAAEmB,WAAWlF,UAAUwJ,SAAS,SAASlK,GAAG,OAAOsB,KAAK6I,UAAUnK,IAAI,IAAI,IAAIyE,EAAEmB,WAAWlF,UAAUyJ,UAAU,SAASnK,GAAG,OAAOsB,KAAK0I,OAAOhK,IAAIyE,EAAEmB,WAAWlF,UAAUyI,UAAU,SAASnJ,GAAG,OAAOsB,KAAK8I,WAAWpK,IAAI,IAAI,IAAIyE,EAAEmB,WAAWlF,UAAU0J,WAAW,SAASpK,GAAG,OAAOsB,KAAK0I,OAAOhK,GAAGsB,KAAK0I,OAAOhK,EAAE,IAAI,GAAGyE,EAAEmB,WAAWlF,UAAUiJ,UAAU,SAAS3J,GAAG,OAAOsB,KAAK0I,OAAOhK,GAAGsB,KAAK0I,OAAOhK,EAAE,IAAI,EAAEsB,KAAK0I,OAAOhK,EAAE,IAAI,GAAGsB,KAAK0I,OAAOhK,EAAE,IAAI,IAAIyE,EAAEmB,WAAWlF,UAAU2J,WAAW,SAASrK,GAAG,OAAOsB,KAAKqI,UAAU3J,KAAK,GAAGyE,EAAEmB,WAAWlF,UAAU4J,UAAU,SAAStK,GAAG,OAAO,IAAIyE,EAAEd,KAAKrC,KAAKqI,UAAU3J,GAAGsB,KAAKqI,UAAU3J,EAAE,KAAKyE,EAAEmB,WAAWlF,UAAU6J,WAAW,SAASvK,GAAG,OAAO,IAAIyE,EAAEd,KAAKrC,KAAK+I,WAAWrK,GAAGsB,KAAK+I,WAAWrK,EAAE,KAAKyE,EAAEmB,WAAWlF,UAAU8J,YAAY,SAASxK,GAAG,OAAOyE,EAAEG,MAAM,GAAGtD,KAAKqI,UAAU3J,GAAGyE,EAAEK,QAAQ,IAAIL,EAAEmB,WAAWlF,UAAU+J,YAAY,SAASzK,GAAG,OAAOyE,EAAEG,MAAMH,EAAEU,eAAe,EAAE,GAAG7D,KAAKqI,UAAU3J,GAAGyE,EAAEG,MAAMH,EAAEU,eAAe,EAAE,GAAG7D,KAAKqI,UAAU3J,EAAE,GAAGyE,EAAEQ,QAAQ,IAAIR,EAAEmB,WAAWlF,UAAUyG,UAAU,SAASnH,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,GAAGiD,EAAEmB,WAAWlF,UAAUgK,WAAW,SAAS1K,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,GAAGiD,EAAEmB,WAAWlF,UAAU0G,WAAW,SAASpH,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,GAAGiD,EAAEmB,WAAWlF,UAAUiK,YAAY,SAAS3K,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,GAAGiD,EAAEmB,WAAWlF,UAAU2G,WAAW,SAASrH,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,GAAGF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,IAAIiD,EAAEmB,WAAWlF,UAAUkK,YAAY,SAAS5K,EAAEwB,GAAGF,KAAK0I,OAAOhK,GAAGwB,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,EAAEF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,GAAGF,KAAK0I,OAAOhK,EAAE,GAAGwB,GAAG,IAAIiD,EAAEmB,WAAWlF,UAAU4G,WAAW,SAAStH,EAAEwB,GAAGF,KAAK+F,WAAWrH,EAAEwB,EAAE6D,KAAK/D,KAAK+F,WAAWrH,EAAE,EAAEwB,EAAE8D,OAAOb,EAAEmB,WAAWlF,UAAUmK,YAAY,SAAS7K,EAAEwB,GAAGF,KAAKsJ,YAAY5K,EAAEwB,EAAE6D,KAAK/D,KAAKsJ,YAAY5K,EAAE,EAAEwB,EAAE8D,OAAOb,EAAEmB,WAAWlF,UAAU6G,aAAa,SAASvH,EAAEwB,GAAGiD,EAAEK,QAAQ,GAAGtD,EAAEF,KAAK+F,WAAWrH,EAAEyE,EAAEG,MAAM,KAAKH,EAAEmB,WAAWlF,UAAU8G,aAAa,SAASxH,EAAEwB,GAAGiD,EAAEQ,QAAQ,GAAGzD,EAAEF,KAAK+F,WAAWrH,EAAEyE,EAAEG,MAAMH,EAAEU,eAAe,EAAE,IAAI7D,KAAK+F,WAAWrH,EAAE,EAAEyE,EAAEG,MAAMH,EAAEU,eAAe,EAAE,KAAKV,EAAEmB,WAAWlF,UAAUoK,oBAAoB,WAAW,GAAGxJ,KAAK0I,OAAOd,OAAO5H,KAAK2I,UAAUxF,EAAEqE,WAAWrE,EAAE8E,uBAAuB,MAAM,IAAIb,MAAM,kEAAkE,IAAI,IAAI1I,EAAE,GAAGwB,EAAE,EAAEA,EAAEiD,EAAE8E,uBAAuB/H,IAAIxB,GAAG+D,OAAOgH,aAAazJ,KAAK4I,SAAS5I,KAAK2I,UAAUxF,EAAEqE,WAAWtH,IAAI,OAAOxB,GAAGyE,EAAEmB,WAAWlF,UAAUsK,SAAS,SAAShL,EAAEwB,GAAG,IAAI5B,EAAEI,EAAEsB,KAAKqI,UAAU3J,GAAG,OAAOwB,EAAEF,KAAK6H,UAAUvJ,GAAG0B,KAAK6H,UAAUvJ,EAAE4B,GAAG,GAAGiD,EAAEmB,WAAWlF,UAAUuK,QAAQ,SAASjL,EAAEwB,GAAG,OAAOxB,EAAEkL,OAAO1J,EAAEF,KAAKqI,UAAUnI,GAAGxB,EAAE2F,GAAGrE,KAAKtB,GAAGyE,EAAEmB,WAAWlF,UAAUyK,SAAS,SAASnL,EAAEwB,GAAGxB,GAAGsB,KAAKqI,UAAU3J,GAAG,IAAIJ,EAAE0B,KAAKqI,UAAU3J,GAAGlB,EAAE,GAAGyB,EAAE,EAAE,GAAGP,GAAGyE,EAAEqE,WAAWtH,IAAIiD,EAAE2G,SAAS1G,WAAW,OAAOpD,KAAK0I,OAAOnD,SAAS7G,EAAEA,EAAEJ,GAAG,KAAKW,EAAEX,GAAG,CAAC,IAAIiB,EAAEtB,EAAE+B,KAAK6I,UAAUnK,EAAEO,KAAK,GAAGhB,EAAE,IAAIsB,EAAEtB,MAAM,CAAC,IAAI+E,EAAEhD,KAAK6I,UAAUnK,EAAEO,KAAK,GAAGhB,EAAE,IAAIsB,GAAG,GAAGtB,IAAI,EAAE,GAAG+E,MAAM,CAAC,IAAIC,EAAEjD,KAAK6I,UAAUnK,EAAEO,KAAcM,EAANtB,EAAE,KAAO,GAAGA,IAAI,IAAI,GAAG+E,IAAI,EAAE,GAAGC,GAAU,EAAEhF,IAAI,IAAI,GAAG+E,IAAI,IAAI,GAAGC,IAAI,EAAE,GAAGjD,KAAK6I,UAAUnK,EAAEO,MAAMM,EAAE,MAAM/B,GAAGiF,OAAOgH,aAAalK,IAAIA,GAAG,MAAM/B,GAAGiF,OAAOgH,aAAa,OAAOlK,GAAG,IAAI,OAAO,KAAKA,KAAK,OAAO/B,GAAG2F,EAAEmB,WAAWlF,UAAU2K,WAAW,SAASrL,GAAG,OAAOA,EAAEsB,KAAKqI,UAAU3J,IAAIyE,EAAEmB,WAAWlF,UAAU4K,SAAS,SAAStL,GAAG,OAAOA,EAAEsB,KAAKqI,UAAU3J,GAAGyE,EAAEqE,YAAYrE,EAAEmB,WAAWlF,UAAU6K,aAAa,SAASvL,GAAG,OAAOsB,KAAKqI,UAAU3J,EAAEsB,KAAKqI,UAAU3J,KAAKyE,EAAEmB,WAAWlF,UAAU8K,iBAAiB,SAASxL,GAAG,GAAGA,EAAEkJ,QAAQzE,EAAE8E,uBAAuB,MAAM,IAAIb,MAAM,+CAA+CjE,EAAE8E,wBAAwB,IAAI,IAAI/H,EAAE,EAAEA,EAAEiD,EAAE8E,uBAAuB/H,IAAI,GAAGxB,EAAEwJ,WAAWhI,IAAIF,KAAK4I,SAAS5I,KAAK2I,UAAUxF,EAAEqE,WAAWtH,GAAG,OAAM,EAAG,OAAM,GAAIiD,EAAEmB,WAAWlF,UAAUqJ,WAAW,SAAS/J,EAAEwB,GAAG,OAAOiD,EAAEd,KAAKvD,OAAOJ,EAAEwB,IAAI,SAASxB,GAAGA,EAAEA,EAAEyL,QAAQ,GAAG,UAAUzL,EAAEA,EAAE0L,MAAM,GAAG,QAAQ1L,EAAEA,EAAE2L,WAAW,GAAG,aAAa3L,EAAEA,EAAE4L,QAAQ,GAAG,UAAU5L,EAAEA,EAAE6L,WAAW,GAAG,aAAa7L,EAAEA,EAAE8L,gBAAgB,GAAG,kBAAkB9L,EAAEA,EAAE+L,aAAa,GAAG,eAAe/L,EAAEA,EAAEgM,mBAAmB,GAAG,qBAAqBhM,EAAEA,EAAEiM,eAAe,GAAG,iBAAiBjM,EAAEA,EAAEkM,cAAc,GAAG,gBAAgBlM,EAAEA,EAAEmM,aAAa,IAAI,eAAenM,EAAEA,EAAEoM,WAAW,IAAI,aAAapM,EAAEA,EAAEqM,aAAa,IAAI,eAAerM,EAAEA,EAAEsM,MAAM,IAAI,QAAQtM,EAAEA,EAAEuM,QAAQ,IAAI,UAAUvM,EAAEA,EAAEwM,kBAAkB,IAAI,oBAAoBxM,EAAEA,EAAEyM,IAAI,IAAI,MAAMzM,EAAEA,EAAE0M,SAAS,IAAI,WAAjkB,CAA6kBnN,IAAIA,EAAE,KAAK,SAASS,GAAGA,EAAEA,EAAEoD,KAAK,GAAG,OAAOpD,EAAEA,EAAEqD,MAAM,GAAG,QAAQrD,EAAEA,EAAEsD,KAAK,GAAG,OAAOtD,EAAEA,EAAEuD,MAAM,GAAG,QAAQvD,EAAEA,EAAEwD,OAAO,GAAG,SAASxD,EAAEA,EAAEyD,IAAI,GAAG,MAAMzD,EAAEA,EAAE0D,KAAK,GAAG,OAAO1D,EAAEA,EAAE2D,KAAK,GAAG,OAAO3D,EAAEA,EAAE4D,MAAM,GAAG,QAAQ5D,EAAEA,EAAE6D,MAAM,GAAG,QAAQ7D,EAAEA,EAAE8D,OAAO,IAAI,SAAS9D,EAAEA,EAAE+D,OAAO,IAAI,SAAS/D,EAAEA,EAAEgE,KAAK,IAAI,OAAOhE,EAAEA,EAAEiE,SAAS,IAAI,WAAWjE,EAAEA,EAAEkE,OAAO,IAAI,SAAnU,CAA6UI,IAAIA,EAAE,KAAK,MAAMqI,EAAE,cAAcrL,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAImL,GAAGC,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAImL,GAAGC,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAGwE,UAAU7I,KAAK4J,OAAOlL,GAAGsE,EAAElB,KAAK,aAAapD,GAAGA,EAAE+I,YAAY,GAAG,eAAe/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,EAAEvG,EAAE8C,EAAElB,MAAM,WAAWpD,GAAG,IAAIwB,EAAExB,EAAEgJ,YAAY,OAAOhJ,EAAE0J,cAAclI,EAAE,GAAGA,EAAE,cAAcxB,EAAEwB,EAAE5B,GAAG,OAAO+M,EAAEE,MAAM7M,GAAG2M,EAAEG,QAAQ9M,EAAEwB,GAAGmL,EAAEI,QAAQ/M,EAAEJ,GAAG+M,EAAEK,IAAIhN,IAAI,MAAMb,EAAE,cAAcmC,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIrC,GAAGyN,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIrC,GAAGyN,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAG0E,WAAW/I,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,aAAa,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,YAAY,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAIiN,YAAY3L,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,GAAGA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,WAAW,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,UAAU,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,EAAEA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,UAAU,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,SAAS,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,EAAEA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,UAAU,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,SAAS,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,EAAEA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,UAAU,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,SAAS,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,GAAGA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAG4E,WAAWjJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAGsB,KAAKqE,GAAGoE,WAAW,EAAE,GAAG,WAAW,IAAI/J,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAGwE,UAAU7I,KAAK4J,OAAOlL,GAAGT,EAAEkM,QAAQ,MAAMzL,EAAEwB,GAAG,IAAI5B,EAAE0B,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOtL,GAAG4B,GAAG,IAAIrC,GAAGyN,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOtL,GAAG,EAAEI,GAAGsB,KAAKqE,IAAI,KAAK,cAAc,IAAI3F,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,aAAaA,GAAGA,EAAE+I,YAAY,GAAG,eAAe/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,wBAAwBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE2H,SAASnG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,uBAAuB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,aAAaxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,sBAAsBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,qBAAqB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,YAAYxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,qBAAqBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,oBAAoB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,YAAYxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,qBAAqBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,oBAAoB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,YAAYxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,qBAAqBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,oBAAoB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,aAAaxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,sBAAsBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE4H,SAASpG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,qBAAqB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,EAAEvG,EAAEjC,EAAEkM,SAAS,gBAAgBzL,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,yBAAyBxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAEuI,UAAU/G,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,wBAAwB7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,WAAWxB,GAAG,OAAOA,EAAEgJ,YAAY,cAAchJ,EAAEwB,EAAE5B,EAAEd,EAAEyB,EAAEM,EAAEtB,EAAE+E,EAAEC,GAAG,OAAOpF,EAAE0N,MAAM7M,GAAGb,EAAEgO,QAAQnN,EAAEwB,GAAGrC,EAAEiO,MAAMpN,EAAEJ,GAAGT,EAAEkO,KAAKrN,EAAElB,GAAGK,EAAEmO,KAAKtN,EAAEO,GAAGpB,EAAEoO,KAAKvN,EAAEa,GAAG1B,EAAEqO,MAAMxN,EAAET,GAAGJ,EAAE4N,QAAQ/M,EAAEsE,GAAGnF,EAAEsO,SAASzN,EAAEuE,GAAGpF,EAAE6N,IAAIhN,IAAI,MAAMZ,EAAE,cAAckC,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIpC,GAAGwN,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIpC,GAAGwN,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,SAASA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,GAAGxB,GAAG,IAAIb,GAAGyN,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAK4J,OAAO1J,GAAGF,KAAKqE,IAAI,KAAK,WAAW3F,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwE,UAAU7I,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAGxB,GAAG,EAAE,mBAAmB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,kBAAkB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAI8C,WAAWxB,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,QAAQA,EAAEwB,GAAG,IAAI5B,EAAE0B,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOtL,GAAG4B,GAAG,IAAImL,GAAGC,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOtL,GAAG,EAAEI,GAAGsB,KAAKqE,IAAI,KAAK,gBAAgB,IAAI3F,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,aAAaA,GAAGA,EAAE+I,YAAY,GAAG,mBAAmB/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,qBAAqBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,8BAA8BxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAEyH,QAAQjG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,6BAA6B7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,kBAAkBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,2BAA2BxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAEuI,UAAU/G,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,0BAA0B7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,WAAWxB,GAAG,OAAOA,EAAEgJ,YAAY,oBAAoBhJ,EAAEwB,GAAGxB,EAAEqJ,OAAO7H,GAAG,gCAAgCxB,EAAEwB,GAAGxB,EAAEqJ,OAAO7H,OAAE,GAAO,GAAI,cAAcxB,EAAEwB,EAAE5B,EAAEd,GAAG,OAAOM,EAAEyN,MAAM7M,GAAGZ,EAAEsO,YAAY1N,EAAEwB,GAAGpC,EAAEuO,cAAc3N,EAAEJ,GAAGR,EAAEwO,WAAW5N,EAAElB,GAAGM,EAAE4N,IAAIhN,KAAK,SAASA,GAAGA,EAAEA,EAAEyL,QAAQ,GAAG,UAAUzL,EAAEA,EAAE0L,MAAM,GAAG,QAAQ1L,EAAEA,EAAE2L,WAAW,GAAG,aAAa3L,EAAEA,EAAE4L,QAAQ,GAAG,UAAU5L,EAAEA,EAAE6L,WAAW,GAAG,aAAa7L,EAAEA,EAAE8L,gBAAgB,GAAG,kBAAkB9L,EAAEA,EAAE+L,aAAa,GAAG,eAAe/L,EAAEA,EAAEgM,mBAAmB,GAAG,qBAAqBhM,EAAEA,EAAEiM,eAAe,GAAG,iBAAiBjM,EAAEA,EAAEkM,cAAc,GAAG,gBAAgBlM,EAAEA,EAAEmM,aAAa,IAAI,eAAenM,EAAEA,EAAEoM,WAAW,IAAI,aAAapM,EAAEA,EAAEqM,aAAa,IAAI,eAAerM,EAAEA,EAAEsM,MAAM,IAAI,QAAQtM,EAAEA,EAAEuM,QAAQ,IAAI,UAAUvM,EAAEA,EAAEwM,kBAAkB,IAAI,oBAAoBxM,EAAEA,EAAEyM,IAAI,IAAI,MAAMzM,EAAEA,EAAE0M,SAAS,IAAI,WAAjkB,CAA6kBnI,IAAIA,EAAE,KAAK,SAASvE,GAAGA,EAAEA,EAAEoD,KAAK,GAAG,OAAOpD,EAAEA,EAAEqD,MAAM,GAAG,QAAQrD,EAAEA,EAAEsD,KAAK,GAAG,OAAOtD,EAAEA,EAAEuD,MAAM,GAAG,QAAQvD,EAAEA,EAAEwD,OAAO,GAAG,SAASxD,EAAEA,EAAEyD,IAAI,GAAG,MAAMzD,EAAEA,EAAE0D,KAAK,GAAG,OAAO1D,EAAEA,EAAE2D,KAAK,GAAG,OAAO3D,EAAEA,EAAE4D,MAAM,GAAG,QAAQ5D,EAAEA,EAAE6D,MAAM,GAAG,QAAQ7D,EAAEA,EAAE8D,OAAO,IAAI,SAAS9D,EAAEA,EAAE+D,OAAO,IAAI,SAAS/D,EAAEA,EAAEgE,KAAK,IAAI,OAAOhE,EAAEA,EAAEiE,SAAS,IAAI,WAAWjE,EAAEA,EAAEkE,OAAO,IAAI,SAAnU,CAA6UM,IAAIA,EAAE,KAAK,MAAMzF,EAAE,cAAcuC,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIzC,GAAG6N,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIzC,GAAG6N,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAGwE,UAAU7I,KAAK4J,OAAOlL,GAAGwE,EAAEpB,KAAK,aAAapD,GAAGA,EAAE+I,YAAY,GAAG,eAAe/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,EAAEvG,EAAEgD,EAAEpB,MAAM,WAAWpD,GAAG,IAAIwB,EAAExB,EAAEgJ,YAAY,OAAOhJ,EAAE0J,cAAclI,EAAE,GAAGA,EAAE,cAAcxB,EAAEwB,EAAE5B,GAAG,OAAOb,EAAE8N,MAAM7M,GAAGjB,EAAE+N,QAAQ9M,EAAEwB,GAAGzC,EAAEgO,QAAQ/M,EAAEJ,GAAGb,EAAEiO,IAAIhN,IAAI,MAAMY,EAAE,cAAcU,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIZ,GAAGgM,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIZ,GAAGgM,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,IAAIA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAGgE,UAAUrI,KAAK4J,OAAOlL,GAAG,EAAE,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,YAAYA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,IAAIA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,aAAaA,GAAGA,EAAE+I,YAAY,GAAG,cAAc/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAEkI,cAAc,EAAE1G,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,sBAAsBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,cAAcxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,WAAWxB,GAAG,OAAOA,EAAEgJ,YAAY,cAAchJ,EAAEwB,EAAE5B,EAAEd,EAAEyB,EAAEM,GAAG,OAAOD,EAAEiM,MAAM7M,GAAGY,EAAEiN,OAAO7N,EAAEwB,GAAGZ,EAAEkN,QAAQ9N,EAAEJ,GAAGgB,EAAEkM,QAAQ9M,EAAElB,GAAG8B,EAAEmN,eAAe/N,EAAEO,GAAGK,EAAEoN,OAAOhO,EAAEa,GAAGD,EAAEoM,IAAIhN,IAAI,MAAMiO,EAAE,cAAc3M,KAAKqE,GAAG,KAAKrE,KAAK4J,OAAO,EAAE,OAAOlL,EAAEwB,GAAG,OAAOF,KAAK4J,OAAOlL,EAAEsB,KAAKqE,GAAGnE,EAAEF,KAAK,eAAetB,EAAEwB,GAAG,OAAOA,GAAG,IAAIyM,GAAGrB,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,2BAA2BA,EAAEwB,GAAG,OAAOxB,EAAE4I,YAAY5I,EAAE8G,WAAWrC,EAAE6E,qBAAqB9H,GAAG,IAAIyM,GAAGrB,OAAO5M,EAAE2J,UAAU3J,EAAE8G,YAAY9G,EAAE8G,WAAW9G,GAAG,KAAKA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAGwF,SAAS7J,KAAK4J,OAAO1J,EAAExB,GAAG,KAAK,SAASA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAO1J,EAAEF,KAAKqE,GAAG8E,YAAYnJ,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAO1J,GAAG,EAAExB,GAAG,EAAE,iBAAiB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,gBAAgB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAE,IAAIkF,aAAa5D,KAAKqE,GAAGiB,QAAQ5B,OAAO1D,KAAKqE,GAAGiB,QAAQsG,WAAW5L,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,IAAI,KAAK,eAAe,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,GAAG,OAAOlL,EAAEsB,KAAKqE,GAAGwE,UAAU7I,KAAK4J,OAAOlL,GAAGuE,EAAEkH,QAAQ,OAAO,IAAIzL,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,QAAQlL,KAAKsB,KAAKqE,GAAGuE,SAAS5I,KAAK4J,OAAOlL,GAAG,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,QAAQlL,KAAKsB,KAAKqE,GAAGuE,SAAS5I,KAAK4J,OAAOlL,GAAG,OAAO,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,QAAQlL,KAAKsB,KAAKqE,GAAGuE,SAAS5I,KAAK4J,OAAOlL,GAAG,QAAQ,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,QAAQlL,KAAKsB,KAAKqE,GAAGuE,SAAS5I,KAAK4J,OAAOlL,GAAG,QAAQA,EAAEwB,GAAG,IAAI5B,EAAE0B,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOtL,GAAG4B,GAAG,IAAIzC,GAAG6N,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAKqE,GAAG2F,SAAShK,KAAK4J,OAAOtL,GAAG,EAAEI,GAAGsB,KAAKqE,IAAI,KAAK,gBAAgB,IAAI3F,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4F,aAAajK,KAAK4J,OAAOlL,GAAG,EAAE,gBAAgB,IAAIA,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAG4E,WAAWjJ,KAAK4J,OAAOlL,GAAGsB,KAAKqE,GAAGoE,WAAW,EAAE,GAAG,gBAAgB,IAAI/J,EAAEsB,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAOlL,EAAEsB,KAAKqE,GAAGyE,WAAW9I,KAAK4J,OAAOlL,GAAG,GAAG,IAAIA,GAAG,IAAIwB,EAAEF,KAAKqE,GAAGqF,SAAS1J,KAAK4J,OAAO,IAAI,OAAO1J,GAAGxB,GAAG,IAAIY,GAAGgM,OAAOtL,KAAKqE,GAAG0F,WAAW/J,KAAK4J,OAAO1J,GAAGF,KAAKqE,IAAI,KAAK,aAAa3F,GAAGA,EAAE+I,YAAY,IAAI,eAAe/I,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,mBAAmBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,4BAA4BxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAE8H,WAAWtG,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,2BAA2B7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,uBAAuBxB,EAAEwB,GAAGxB,EAAE+H,aAAa,EAAEvG,EAAE+C,EAAEkH,SAAS,eAAezL,EAAEwB,GAAGxB,EAAE+H,aAAa,GAAGvG,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,GAAGvG,EAAE,GAAG,eAAexB,EAAEwB,GAAGxB,EAAE+H,aAAa,GAAGvG,EAAE,GAAG,gBAAgBxB,EAAEwB,GAAGxB,EAAE+H,aAAa,GAAGvG,EAAE,GAAG,kBAAkBxB,EAAEwB,GAAGxB,EAAEsI,eAAe,EAAE9G,EAAE,GAAG,2BAA2BxB,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE0H,OAAO,GAAG,IAAI,IAAItJ,EAAE4B,EAAE0H,OAAO,EAAEtJ,GAAG,EAAEA,IAAII,EAAEuI,UAAU/G,EAAE5B,IAAI,OAAOI,EAAE6J,YAAY,0BAA0B7J,EAAEwB,GAAGxB,EAAE4J,YAAY,EAAEpI,EAAE,GAAG,wBAAwBxB,EAAEwB,GAAGxB,EAAEmI,cAAc,EAAE3G,EAAExB,EAAE+J,WAAW,EAAE,IAAI,wBAAwB/J,EAAEwB,GAAGxB,EAAEiI,cAAc,EAAEzG,EAAE,IAAI,cAAcxB,EAAEwB,GAAGxB,EAAEsI,eAAe,GAAG9G,EAAE,GAAG,WAAWxB,GAAG,OAAOA,EAAEgJ,YAAY,oBAAoBhJ,EAAEwB,GAAGxB,EAAEqJ,OAAO7H,GAAG,gCAAgCxB,EAAEwB,GAAGxB,EAAEqJ,OAAO7H,OAAE,GAAO,GAAI,cAAcxB,EAAEwB,EAAE5B,EAAEd,EAAEyB,EAAEM,EAAEtB,EAAE+E,EAAEC,EAAEC,EAAEC,EAAEkI,GAAG,OAAOsB,EAAEpB,MAAM7M,GAAGiO,EAAEnB,QAAQ9M,EAAEwB,GAAGyM,EAAEC,YAAYlO,EAAEJ,GAAGqO,EAAEE,gBAAgBnO,EAAElB,GAAGmP,EAAEG,QAAQpO,EAAEO,GAAG0N,EAAEI,QAAQrO,EAAEa,GAAGoN,EAAEK,QAAQtO,EAAET,GAAG0O,EAAEM,SAASvO,EAAEsE,GAAG2J,EAAEL,WAAW5N,EAAEuE,GAAG0J,EAAEO,iBAAiBxO,EAAEwE,GAAGyJ,EAAEQ,iBAAiBzO,EAAEyE,GAAGwJ,EAAES,OAAO1O,EAAE2M,GAAGsB,EAAEjB,IAAIhN,IAAI,SAAS2O,EAAE3O,GAAG,OAAOA,EAAE4O,OAAO,CAAC5O,EAAEwB,IAAIqN,MAAMC,QAAQtN,GAAGxB,EAAE+O,OAAOJ,EAAEnN,IAAIxB,EAAE+O,OAAOvN,GAAG,IAAI,SAASH,EAAErB,GAAG,MAAMwB,EAAE,GAAG,IAAI,IAAI5B,EAAE,EAAEA,EAAEI,EAAEkJ,OAAOtJ,GAAG,EAAE4B,EAAE4H,KAAK,CAACpJ,EAAEJ,GAAGI,EAAEJ,EAAE,KAAK,OAAO4B,EAAE,SAASwN,EAAEhP,GAAG,OAAOuE,EAAEvE,GAAG,SAASiP,EAAEjP,GAAG,MAAMwB,EAAExB,EAAEkP,YAAY,IAAItP,EAAE,KAAKd,EAAE,KAAKyB,EAAE,KAAKM,EAAEmO,EAAEhP,EAAEmD,MAAM5D,EAAE,EAAE,OAAOS,EAAEmD,MAAM,IAAI,QAAQvD,EAAE4B,EAAE,MAAM,IAAI,aAAa,IAAI,aAAa5B,EAAE+O,EAAEnN,GAAG,MAAM,IAAI,kBAAkB,IAAI,UAAU,MAAMX,EAAEW,EAAE5B,EAAE+O,EAAE9N,GAAGA,EAAEqI,OAAO,IAAIpK,EAAE+B,EAAEsO,IAAInP,GAAGT,GAAGS,EAAEkJ,SAAS,MAAM,IAAI,eAAe3I,EAAEiB,EAAE2N,IAAInP,IAAG,CAAEmD,KAAK,UAAU+L,YAAYlP,KAAKmP,IAAIF,GAAG,MAAM,IAAI,qBAAqB1O,EAAEP,EAAEoP,WAAWD,IAAIF,GAAG,MAAM,CAACI,GAAGzP,EAAE0P,KAAKxQ,EAAEqE,KAAKtC,EAAE0O,MAAMhP,GAAwH,SAASiP,EAAExP,EAAEwB,GAAG,GAAGA,GAAG+C,EAAEyH,mBAAmB,CAAC,MAAMpM,EAAE,GAAG,IAAI,IAAI4B,EAAE,EAAEA,EAAExB,EAAEyP,cAAcjO,IAAI,CAAC,MAAM1C,EAAEkB,EAAEuP,MAAM/N,GAAGjB,EAAEzB,EAAEqE,OAAOvD,EAAEwJ,KAAKoG,EAAE1Q,EAAEyB,IAAI,MAAM,CAAC4C,KAAKoB,EAAE/C,GAAG4N,WAAWxP,GAAG,GAAG4B,GAAG+C,EAAEwH,aAAa,CAAC,MAAMnM,EAAE,GAAG,IAAI,IAAI4B,EAAE,EAAEA,EAAExB,EAAEyP,cAAcjO,IAAI,CAAC,MAAM1C,EAAEkB,EAAEuP,MAAM/N,GAAG5B,EAAEwJ,KAAKoG,EAAE1Q,EAAEyF,EAAEqH,UAAU,MAAM,CAACzI,KAAKoB,EAAE/C,GAAG0N,YAAYtP,EAAEuP,IAAInP,GAAGA,EAAEkP,cAAc,MAAMtP,EAAE,SAASI,EAAEwB,GAAG,MAAM5B,EAAEI,EAAE0P,UAAU,OAAOlO,GAAG,KAAK+C,EAAEmH,MAAM,OAAOmD,MAAMc,KAAK/P,GAAG,KAAK2E,EAAEsH,WAAW,KAAKtH,EAAEoH,WAAW,OAAOtK,EAAEzB,GAAG,KAAK2E,EAAEuH,gBAAgB,KAAKvH,EAAEqH,QAAQ,OAA3mB,SAAW5L,EAAEwB,GAAG,IAAIA,GAAG,IAAIA,EAAE0H,OAAO,MAAM,CAAC7H,EAAErB,IAAI,IAAIJ,EAAE,EAAE,OAAOiP,MAAMc,KAAKnO,GAAG2N,IAAI3N,GAAGxB,EAAE4P,MAAMhQ,EAAEA,EAAE4B,GAAG,IAAI2N,IAAInP,GAAGqB,EAAErB,IAAigB6P,CAAEjQ,EAAEI,EAAE8P,cAAjL,CAAgM9P,EAAEwB,GAAG,MAAM,CAAC2B,KAAKoB,EAAE/C,GAAG0N,YAAYtP,GAAgvC,SAASmQ,EAAE/P,EAAEwB,GAAG,MAAM5B,EAAE4B,EAAE4C,QAAQ,IAAItF,EAAEA,EAAE0Q,EAAExP,EAAEgQ,WAAWxO,EAAE2C,cAAc,MAAMtD,EAAE,SAASb,EAAEwB,GAAG,IAAIA,GAAG,IAAIA,EAAE0H,OAAO,OAAO,MAAMtJ,EAAEI,EAAEiQ,kBAAkBnR,EAAE,IAAIoR,SAAStQ,EAAEoF,OAAOpF,EAAEsN,YAAYrM,EAAEb,EAAEmQ,mBAAmB,IAAI5Q,EAAE,EAAE,MAAM+E,EAAE,GAAG,KAAK/E,EAAEsB,GAAG,CAAC,MAAMb,EAAElB,EAAEsR,UAAU7Q,GAAE,GAAIA,GAAG,EAAE,MAAMsB,EAAEW,EAAExB,GAAG,OAAOa,EAAEsC,MAAM,KAAK5C,EAAE+C,KAAKgB,EAAEzD,EAAExB,QAAQP,EAAEuR,SAAS9Q,GAAGA,GAAG,EAAE,MAAM,KAAKgB,EAAE6C,KAAKkB,EAAEzD,EAAExB,MAAMP,EAAEwR,QAAQ/Q,GAAGA,GAAG,EAAE,MAAM,KAAKgB,EAAE8C,MAAMiB,EAAEzD,EAAExB,MAAMP,EAAEuR,SAAS9Q,GAAGA,GAAG,EAAE,MAAM,KAAKgB,EAAEgD,MAAMe,EAAEzD,EAAExB,MAAMP,EAAEyR,SAAShR,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAEiD,OAAOc,EAAEzD,EAAExB,MAAMP,EAAEsR,UAAU7Q,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAEkD,IAAIa,EAAEzD,EAAExB,MAAMP,EAAE0R,SAASjR,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAEmD,KAAKY,EAAEzD,EAAExB,MAAMP,EAAE2R,UAAUlR,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAEoD,KAAKW,EAAEzD,EAAExB,MAAMqR,OAAO5R,EAAE6R,YAAYpR,GAAE,IAAKA,GAAG,EAAE,MAAM,KAAKgB,EAAEqD,MAAMU,EAAEzD,EAAExB,MAAMqR,OAAO5R,EAAE8R,aAAarR,GAAE,IAAKA,GAAG,EAAE,MAAM,KAAKgB,EAAEuD,OAAOQ,EAAEzD,EAAExB,MAAMP,EAAE+R,WAAWtR,GAAE,GAAIA,GAAG,EAAE,MAAM,KAAKgB,EAAE0D,SAAS,KAAK1D,EAAEwD,OAAO,CAAC,MAAM/D,EAAElB,EAAE2R,UAAUlR,GAAE,GAAIA,GAAG,EAAE,MAAMiC,EAAE,IAAIsP,YAAYxM,EAAEzD,EAAExB,MAAMmC,EAAEuP,OAAOnR,EAAEiH,SAAStH,EAAEA,EAAES,IAAIT,GAAGS,EAAE,MAAM,QAAQ,MAAM,IAAI0I,MAAM,gBAAgB7H,EAAEsC,OAAO,OAAOmB,EAAv6B,CAA06BtE,EAAEJ,GAAGL,EAAE,CAAC4D,KAAK,UAAU6M,SAASlR,GAAG,OAAO+B,IAAItB,EAAEyR,WAAWnQ,GAAGtB,EAAE,SAAS0R,EAAEjR,GAAG,IAAIwB,EAAE,GAAG,oBAAoB3B,OAAO,CAAC,GAAGA,OAAOqR,eAAe,OAAO1P,EAAExB,EAAEH,OAAOqR,gBAAgB,OAAO1P,EAAEvC,KAAKe,GAAG,GAAGH,OAAOsR,UAAU,OAAO3P,EAAExB,EAAEH,OAAOsR,WAAW,OAAO3P,EAAEvC,KAAKe,GAAG,MAAM,IAAIoR,UAAU,gCAAgC,SAASC,EAAErR,GAAGsB,KAAKgQ,QAAQtR,EAAE,SAASuR,EAAEvR,GAAG,IAAIwB,EAAE5B,EAAE,SAASd,EAAE0C,EAAE5B,GAAG,IAAI,IAAIiB,EAAEb,EAAEwB,GAAG5B,GAAGL,EAAEsB,EAAEd,MAAMuE,EAAE/E,aAAa8R,EAAEG,QAAQC,QAAQnN,EAAE/E,EAAE+R,QAAQ/R,GAAGmS,MAAK,SAAU1R,GAAGsE,EAAExF,EAAE,WAAW0C,EAAE,SAAS,OAAOxB,GAAGO,EAAEM,EAAE8Q,KAAK,SAAS,SAAS3R,MAAK,SAAUA,GAAGlB,EAAE,QAAQkB,MAAM,MAAMA,GAAGO,EAAE,QAAQP,IAAI,SAASO,EAAEP,EAAEO,GAAG,OAAOP,GAAG,IAAI,SAASwB,EAAEiQ,QAAQ,CAAC1R,MAAMQ,EAAEoR,MAAK,IAAK,MAAM,IAAI,QAAQnQ,EAAEoQ,OAAOrR,GAAG,MAAM,QAAQiB,EAAEiQ,QAAQ,CAAC1R,MAAMQ,EAAEoR,MAAK,KAAMnQ,EAAEA,EAAEqQ,MAAM/S,EAAE0C,EAAEnB,IAAImB,EAAEsQ,KAAKlS,EAAE,KAAK0B,KAAKyQ,QAAQ,SAAS/R,EAAEO,GAAG,OAAO,IAAIiR,SAAQ,SAAU3Q,EAAEtB,GAAG,IAAI+E,EAAE,CAACjE,IAAIL,EAAE8R,IAAIvR,EAAEkR,QAAQ5Q,EAAE+Q,OAAOrS,EAAEsS,KAAK,MAAMjS,EAAEA,EAAEA,EAAEiS,KAAKvN,GAAG9C,EAAE5B,EAAE0E,EAAExF,EAAEkB,EAAEO,QAAQ,mBAAmBP,EAAEgS,SAAS1Q,KAAK0Q,YAAO,GAAQ,SAASC,EAAEjS,GAAG,OAAO,WAAW,OAAO,IAAIuR,EAAEvR,EAAEkS,MAAM5Q,KAAK6Q,aAAa,SAASC,EAAEpS,GAAG,OAAO,IAAIqR,EAAErR,GAAG,mBAAmBH,QAAQA,OAAOqR,gBAAgBK,EAAE7Q,UAAUb,OAAOqR,eAAe,WAAW,OAAO5P,OAAOiQ,EAAE7Q,UAAUmR,KAAK,SAAS7R,GAAG,OAAOsB,KAAKyQ,QAAQ,OAAO/R,IAAIuR,EAAE7Q,UAAU2R,MAAM,SAASrS,GAAG,OAAOsB,KAAKyQ,QAAQ,QAAQ/R,IAAIuR,EAAE7Q,UAAUsR,OAAO,SAAShS,GAAG,OAAOsB,KAAKyQ,QAAQ,SAAS/R,IAAI,IAAIsS,EAAE,IAAIxP,WAAW,GAAG,SAASyP,EAAEvS,EAAEwB,GAAG,IAAIxB,EAAEkJ,OAAO,OAAO1H,EAAE,IAAIA,EAAE0H,OAAO,OAAOlJ,EAAE,IAAIJ,EAAE,IAAIkD,WAAW9C,EAAEkJ,OAAO1H,EAAE0H,QAAQ,OAAOtJ,EAAEiJ,IAAI7I,GAAGJ,EAAEiJ,IAAIrH,EAAExB,EAAEkJ,QAAQtJ,EAAE,SAAS4S,EAAExS,GAAGsB,KAAKmR,QAAQzS,EAAEsB,KAAKoR,OAAOJ,EAAEhR,KAAKqR,OAAO,EAAi1B,SAASC,EAAE5S,EAAEwB,GAAGA,EAAEqR,KAAKC,IAAID,KAAKE,KAAKvR,EAAE,GAAG,OAAO,IAAI5B,EAAEI,EAAElB,EAAEc,EAAE,GAAGA,EAAEiT,KAAKG,KAAKpT,EAAE4B,GAAG1C,GAAGc,QAAQ,IAAIA,GAAG,OAAO,GAAGd,EAAE,SAASmU,EAAEjT,EAAEwB,GAAG,GAAGA,EAAE,EAAE,MAAM,IAAIkH,MAAM,gCAAgC,GAAG,IAAI1I,EAAE,MAAM,IAAI0I,MAAM,0CAA0C,IAAI9I,EAAEI,EAAElB,EAAEc,EAAE,MAAMW,EAAE,CAACX,GAAG,GAAGA,EAAEiT,KAAKG,KAAKpT,EAAE4B,GAAG1C,GAAGc,EAAEW,EAAE6I,KAAKxJ,SAAS,IAAIA,GAAG,MAAMiB,EAAE,GAAGjB,EAAEd,EAAE,IAAI,IAAIkB,KAAKO,EAAEM,EAAEuI,KAAKxJ,EAAEI,GAAGJ,GAAGI,EAAEa,EAAEqS,UAAU3S,EAAE2S,UAAU,MAAM3T,EAAE,GAAG,IAAI,IAAIS,EAAE,EAAEA,EAAEO,EAAE2I,OAAOlJ,IAAIT,EAAE6J,KAAK,CAACvI,EAAEb,GAAGa,EAAEb,GAAGO,EAAEP,KAAK,OAAOT,EAAE2T,UAAU3T,EAAE,SAAS4T,EAAEnT,EAAEwB,EAAE5B,EAAEd,GAAG,OAAOsU,EAAElB,MAAM5Q,KAAK6Q,WAAW,SAASiB,IAAI,OAAOA,EAAEnB,GAAE,UAAWjS,EAAEwB,EAAE5B,EAAEd,GAAG,MAAMuU,KAAK9S,EAAE+S,KAAKzS,EAAE0S,KAAKhU,EAAEiU,KAAKlP,GAAG1E,EAAE2E,EAAE0O,EAAEjT,EAAEwB,KAAKgD,EAAEC,IAAIF,EAAEoI,EAAE,GAAG,IAAIA,EAAEvD,KAAK,CAAC,EAAE7E,EAAE2E,OAAO,IAAI,IAAIyD,EAAEzD,QAAQ,CAAC,MAAMtJ,EAAET,GAAGwN,EAAE8G,MAAMrU,EAAEQ,GAAG6E,EAAEzE,GAAG,CAACjB,GAAGwF,EAAEpF,GAAGyB,EAAEiS,KAAKC,IAAIlT,EAAE4B,EAAEzC,GAAGkP,EAAErN,EAAEhB,EAAE+O,QAAQyD,EAAEtT,EAAE,GAAGc,EAAE,GAAGqO,IAAI5M,EAAE,IAAI6D,aAAayJ,GAAGK,EAAE,IAAI/B,YAAY0B,GAAG,IAAI,IAAI3O,EAAEJ,EAAEI,EAAEY,EAAEZ,IAAI,CAAC,MAAMwB,EAAE,GAAGxB,EAAEJ,GAAG,GAAGL,EAAE8B,EAAEG,EAAE,GAAG,SAAS,GAAG8C,EAAEjD,EAAEG,EAAE,GAAG,SAAS,GAAGjB,EAAEc,EAAEG,EAAE,GAAG,SAAS,GAAGX,EAAEQ,EAAEG,EAAE,GAAG,SAAS,MAAM1C,EAAEkQ,EAAE,GAAGxN,GAAG,IAAIpC,OAAO,CAACN,EAAEkB,EAAEwE,GAAGmI,EAAEvD,KAAK,CAACtK,EAAEK,EAAE,IAAIwN,EAAE+G,KAAK,CAAC1T,EAAEwB,IAAIA,EAAE,GAAGxB,EAAE,SAASkS,MAAM5Q,KAAK6Q,WAAv0DK,EAAE9R,UAAUiT,KAAK,WAAW,IAAI3T,EAAEsB,KAAKE,EAAExB,EAAE0S,OAAO7L,SAAS7G,EAAE2S,QAAQ,OAAO3S,EAAEyS,QAAQkB,OAAOjC,MAAK,SAAU9R,GAAG,OAAOI,EAAE0S,OAAOJ,EAAEtS,EAAE2S,OAAO,EAAE/S,EAAE+R,KAAKnQ,EAAE0H,OAAO,EAAE,CAACyI,MAAK,EAAG5R,MAAMyB,GAAG,CAACmQ,MAAK,EAAG5R,WAAM,GAAQ,CAAC4R,MAAK,EAAG5R,MAAMwS,EAAE/Q,EAAE5B,EAAEG,YAAYyS,EAAE9R,UAAUkP,MAAM,SAAS5P,GAAG,IAAIA,GAAG,GAAG,EAAE,MAAM,IAAI0I,MAAM,kBAAkB,IAAIlH,EAAEF,KAAK1B,EAAE0B,KAAKoR,OAAOxJ,OAAO5H,KAAKqR,OAAO,GAAGrR,KAAKqR,OAAO3S,GAAGsB,KAAKoR,OAAOxJ,OAAO,OAAOsI,QAAQC,QAAQnQ,KAAKoR,OAAO7L,SAASvF,KAAKqR,OAAOrR,KAAKqR,QAAQ3S,IAAI,IAAIlB,EAAE,IAAIgE,WAAW9C,GAAG,OAAOlB,EAAE+J,IAAIvH,KAAKoR,OAAO7L,SAASvF,KAAKqR,SAAS,SAASpS,IAAI,OAAOiB,EAAEiR,QAAQkB,OAAOjC,MAAK,SAAU7Q,GAAG,OAAOA,EAAE8Q,MAAMnQ,EAAEkR,OAAOJ,EAAE9Q,EAAEmR,OAAO,EAAE/S,EAAE,EAAEd,EAAE+H,SAAS,EAAEjH,GAAG,MAAMA,EAAEiB,EAAEd,MAAMmJ,QAAQlJ,GAAGwB,EAAEkR,OAAO7R,EAAEd,MAAMyB,EAAEmR,OAAO3S,EAAEJ,EAAEd,EAAE+J,IAAIhI,EAAEd,MAAM8G,SAAS,EAAE7G,EAAEJ,GAAGA,GAAGd,IAAIA,EAAE+J,IAAIhI,EAAEd,MAAMH,GAAGA,GAAGiB,EAAEd,MAAMmJ,OAAO3I,QAAjP,IAA6PiS,EAAE9R,UAAUkT,OAAO,WAAW,OAAOtS,KAAKmR,QAAQmB,UAA6gC,MAAMC,EAAE,IAAI/Q,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAuK,SAASgR,EAAE9T,EAAEwB,EAAE5B,EAAEd,GAAG,OAAOiV,EAAE7B,MAAM5Q,KAAK6Q,WAAW,SAAS4B,IAAI,OAAOA,EAAE9B,GAAE,UAAWjS,EAAEwB,EAAE1C,EAAEyB,GAAG,IAAIhB,EAAE,EAAE+E,EAAE,IAAIxB,iBAAiBsP,EAAEpS,EAAE,KAAK,GAAGT,GAAG,GAAG+E,EAAE0P,MAAM,CAAChU,EAAEwB,IAAIqS,EAAErS,KAAKxB,GAAG,MAAM,IAAI0I,MAAM,yBAAyBpE,EAAE,IAAIxB,iBAAiBsP,EAAEpS,EAAE,KAAKT,GAAG,EAAE,IAAIgF,EAAE,IAAIE,EAAEmB,WAAWtB,GAAG,MAAME,EAAED,EAAE8F,WAAW,GAAG/F,EAAE,IAAIxB,iBAAiBsP,EAAEpS,EAAEwE,KAAKjF,GAAGiF,EAAED,EAAE,IAAIE,EAAEmB,WAAWtB,GAAG,MAAMqI,EAAEsB,EAAEgG,QAAQ1P,GAAGpF,EAAEwN,EAAEtI,gBAAgBmB,YAAYpG,EAAE,GAAG,IAAI,IAAIY,EAAE,EAAEA,EAAE2M,EAAEuH,gBAAgBlU,IAAI,CAAC,MAAMwB,EAAEmL,EAAEvI,QAAQpE,GAAGZ,EAAEgK,KAAK,IAAIxJ,EAAE4B,EAAEnC,OAAOmC,EAAE2B,SAAS,MAAMpE,EAAE,IAAI8B,EAAE8L,EAAExI,eAAe/E,EAAED,GAAGyB,EAAE+L,EAAEwH,gBAAgB,GAAGvT,EAAE,EAAE,CAAC,MAAMhB,EAAEgT,EAAEzT,EAAEyB,GAAG,GAAG9B,EAAE,CAAC,MAAM+B,EAAEuT,MAAMxU,EAAEd,WAAW0C,EAAEjC,EAAEK,SAASI,EAAElB,IAAIwF,EAAE,GAAG,IAAIqK,EAAEtN,GAAE,EAAG2N,GAAE,EAAG,IAAI,IAAI,IAAIC,EAAEY,EAAEL,EAAEyB,EAAEkC,EAAEhU,EAAEyB,EAAE9B,EAAE+B,IAAIQ,GAAG4N,QAAQmD,EAAE5C,EAAEqC,SAASF,KAAK9B,QAAQuC,EAAEnD,EAAElP,QAAQsB,EAAEA,GAAE,EAAG,CAAC,IAAIrB,GAAG6P,EAAEvL,EAAE8E,KAAKpJ,IAAI,MAAMA,GAAGgP,GAAE,EAAGL,EAAE3O,EAAE,QAAQ,IAAIqB,GAAG,MAAMmO,EAAEwC,eAAeI,EAAE5C,EAAEwC,WAAW,QAAQ,GAAGhD,EAAE,MAAML,GAAGpP,GAAGK,EAAE,IAAIV,EAAE6Q,GAAE,EAAGsB,GAAE,EAAG,IAAI,IAAI,IAAIE,EAAEU,EAAEK,EAAErB,EAAE3M,GAAGyL,GAAGwB,QAAQa,EAAEE,EAAET,SAASF,KAAKM,QAAQG,EAAEb,EAAExR,QAAQgQ,EAAEA,GAAE,EAAG,CAAC,IAAInQ,EAAEqS,QAAQG,EAAE5Q,EAAEjC,EAAEK,UAAUyU,EAAErU,EAAEjB,EAAEwB,IAAI,MAAMP,GAAGqR,GAAE,EAAGnS,EAAEc,EAAE,QAAQ,IAAI+P,GAAG,MAAMuC,EAAEN,eAAeI,EAAEE,EAAEN,WAAW,QAAQ,GAAGX,EAAE,MAAMnS,GAAG,OAAOsC,QAAQ4Q,EAAE5Q,EAAEjC,EAAEK,UAAUwS,EAAEpS,EAAEJ,IAAIL,GAAGK,EAAE,IAAI2S,EAAE,KAAKA,QAAQH,EAAEiC,EAAErU,EAAEjB,EAAEwB,WAAWgS,MAAML,MAAM5Q,KAAK6Q,WAAWiC,eAAeC,EAAErU,EAAEwB,EAAE5B,GAAG,IAAId,EAAE,IAAIgE,iBAAiB9C,EAAE,IAAI,GAAG,IAAIlB,EAAE8D,WAAW,OAAO,KAAK,IAAIrC,EAAE,IAAIkE,EAAEmB,WAAW9G,GAAG,MAAM+B,EAAEN,EAAE8J,WAAW,GAAGvL,EAAE,IAAIgE,iBAAiB9C,EAAEa,IAAI,MAAMtB,EAAE,IAAIuD,WAAWjC,EAAE,GAAG,OAAOtB,EAAEsJ,IAAI/J,EAAE,GAAGyB,EAAE,IAAIkE,EAAEmB,WAAWrG,GAAGgB,EAAEqI,YAAY,GAAGhJ,EAAER,EAAE6U,QAAQ1T,GAAGiB,GAA6d,SAAS8S,EAAEtU,GAAG,MAAMwB,EAAE,SAASxB,GAAG,MAAMwB,EAAExB,EAAEgD,SAAS,GAAGlE,EAAE0C,EAAEwP,WAAW,IAAIzR,EAAE,KAAKT,IAAIS,EAAEC,OAAO+U,KAAKzV,GAAGqQ,IAAInP,GAAG,IAAIJ,EAAEI,EAAE,SAASA,GAAG,GAAG,kBAAkBA,EAAE,OAAOO,EAAE+C,KAAK,GAAG,iBAAiBtD,EAAE,OAAOA,EAAE,GAAG,EAAEO,EAAEkD,IAAIlD,EAAEuD,OAAO,GAAG,iBAAiB9D,EAAE,OAAOO,EAAEwD,OAAO,GAAG,OAAO/D,EAAE,OAAOO,EAAEwD,OAAO,MAAM,IAAI2E,MAAM,wBAAwB1I,OAA9M,CAAsNlB,EAAEkB,OAAO,MAAMsE,EAAE,IAAIkQ,IAAI,IAAI,MAAM5U,KAAKI,EAAEgD,SAASsB,EAAEmQ,IAAIjT,EAAEwO,SAAS7M,MAAM,OAAO,IAAItC,EAAEmO,EAAExN,EAAEwO,SAAS7M,MAAM5D,EAAES,EAAEgD,SAASkG,QAA7a,CAAsblJ,GAAGlB,EAAz6B,SAAWkB,GAAG,MAAMwB,EAAE,IAAIiD,EAAEiB,QAAQ,GAAG,IAAI9F,EAAE,KAAKI,EAAEoE,UAAUxE,EAAEqO,EAAEyG,oBAAoBlT,EAAExB,EAAEoE,QAAQ+K,IAAInP,GAAG,SAASA,EAAEwB,GAAG,MAAM5B,EAAEI,EAAE8J,aAAatI,EAAEnC,MAAM,OAAON,EAAE8N,MAAM7M,GAAGjB,EAAE+N,QAAQ9M,EAAEJ,GAAGb,EAAEgO,QAAQ/M,EAAEwB,EAAE2B,MAAMpE,EAAEiO,IAAIhN,GAAxG,CAA4GwB,EAAExB,MAAM,MAAMlB,EAAE0C,EAAEsI,aAAa,MAAMmE,EAAEpB,MAAMrL,GAAGyM,EAAEO,iBAAiBhN,EAAE,IAAIiD,EAAEd,KAAK3D,EAAEqE,cAAc,IAAI4J,EAAEE,gBAAgB3M,EAAExB,EAAEmE,cAAc8J,EAAEQ,iBAAiBjN,EAAE,GAAG5B,GAAGqO,EAAEL,WAAWpM,EAAE5B,GAAGqO,EAAEnB,QAAQtL,EAAE1C,GAAG,MAAMyB,EAAE0N,EAAEjB,IAAIxL,GAAG,OAAOA,EAAEiI,mBAAmBlJ,GAAGiB,EAAEmF,eAAgegO,CAAEnT,GAAGjC,EAAES,EAAEgD,SAASmM,IAAInP,GAArrQ,SAAWA,EAAEwB,GAAG,MAAM5B,EAAE4B,EAAE4C,QAAQtF,EAAE,IAAI2F,EAAEiB,QAAQ,GAAG7E,EAAE,IAAIiC,WAAW,KAAK,IAAIvD,EAAE,EAAE,GAAGK,EAAE,CAAC,MAAM4B,EAAE,IAAI0O,SAASrP,EAAEmE,QAAQ,IAAI,IAAIlG,EAAE,EAAEA,EAAEc,EAAEsJ,OAAOpK,IAAI,CAAC,MAAMwF,EAAE1E,EAAEd,GAAGyF,EAAEvE,EAAEgR,WAAW1M,EAAEjF,MAAM,GAAG,OAAOkF,EAAE,OAAO/C,EAAEoT,UAAUrV,EAAET,GAAE,GAAIS,GAAG,EAAE+E,EAAEnB,MAAM,KAAK5C,EAAE+C,KAAK9B,EAAEqT,SAAStV,EAAEgF,GAAGhF,GAAG,EAAE,MAAM,KAAKgB,EAAEgD,MAAM/B,EAAEsT,SAASvV,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEiD,OAAOhC,EAAEoT,UAAUrV,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEkD,IAAIjC,EAAEuT,SAASxV,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEmD,KAAKlC,EAAEwT,UAAUzV,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEoD,KAAKnC,EAAEyT,YAAY1V,EAAE2V,OAAO3Q,IAAG,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEoD,KAAKnC,EAAE2T,aAAa5V,EAAE2V,OAAO3Q,IAAG,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEuD,OAAOtC,EAAE4T,WAAW7V,EAAEgF,GAAE,GAAIhF,GAAG,EAAE,MAAM,KAAKgB,EAAEwD,OAAO,MAAM/D,EAAEuE,EAAE3E,GAAE,IAAKyV,aAAaC,OAAOtV,GAAGwB,EAAEwT,UAAUzV,EAAEK,EAAEsJ,QAAO,GAAI3J,GAAG,EAAEsB,EAAEgI,IAAIjJ,EAAEL,GAAGA,GAAGK,EAAEsJ,OAAO,MAAM,QAAQ,MAAM,IAAIR,MAAM,kBAAkB,IAAIpE,EAAE,KAAK/E,EAAE,IAAI+E,EAAElF,EAAEmW,uBAAuBzW,EAAE+B,EAAE+O,MAAM,EAAErQ,KAAK,MAAMgF,EAAE,SAASvE,EAAEwB,EAAE5B,GAAG,MAAMyP,GAAGvQ,EAAEwQ,KAAK/O,EAAEgP,MAAM1O,EAAEsC,KAAK5D,GAAGK,EAAE,GAAGiB,EAAE,CAAC,MAAMjB,EAAEiB,EAAEsO,IAAIvP,GAAGI,EAAEwB,EAAE5B,IAAId,EAAEK,EAAEqW,kBAAkBhU,EAAE5B,GAAG,OAAOT,EAAE0N,MAAMrL,GAAGrC,EAAEsO,SAASjM,EAAE1C,GAAGK,EAAE6N,IAAIxL,GAAG,MAAM8C,EAAEnF,EAAEsW,eAAejU,EAAE1C,GAAG,IAAIyF,EAAE,KAAK,OAAOhE,IAAIgE,EAAEpF,EAAEuW,iBAAiBlU,EAAEjB,IAAIpB,EAAE0N,MAAMrL,GAAG+C,GAAGpF,EAAEgO,QAAQ3L,EAAE+C,GAAGpF,EAAEiO,MAAM5L,EAAE8C,GAAGnF,EAAE4N,QAAQvL,EAAEjC,GAAGJ,EAAE6N,IAAIxL,GAAvS,CAA2S1C,EAAEmQ,EAAEjP,EAAEgQ,WAAW5Q,EAAEyN,MAAM/N,GAAGM,EAAEsO,YAAY5O,EAAEyF,GAAGD,GAAGlF,EAAEuO,cAAc7O,EAAEwF,GAAG,MAAME,EAAEpF,EAAE4N,IAAIlO,GAAG,OAAOA,EAAE2K,mBAAmBjF,GAAG1F,EAAE6H,eAA09NzH,CAAEc,EAAEwB,IAAI8C,EAAE/E,EAAE4P,IAAInP,GAAGA,EAAEkJ,QAAQ0F,OAAO,CAAC5O,EAAEwB,IAAIxB,EAAEwB,GAAG+C,EAAE,IAAIzB,WAAW+Q,EAAE3K,OAAOpK,EAAEoK,OAAO5E,GAAGC,EAAEsE,IAAI/J,EAAE+U,EAAE3K,QAAQ,IAAI1E,EAAEqP,EAAE3K,OAAOpK,EAAEoK,OAAO,IAAI,MAAMlJ,KAAKT,EAAEgF,EAAEsE,IAAI7I,EAAEwE,GAAGA,GAAGxE,EAAEkJ,OAAO,OAAO3E,EAAEsE,IAAIgL,GAAGtP,EAAE,SAASoR,EAAE3V,GAAG,MAAM,CAACmD,KAAK,oBAAoBH,SAAS,SAAShD,EAAEwB,GAAG,IAAIxB,EAAE6G,SAAS,EAAE,GAAGmN,MAAM,CAAChU,EAAEwB,IAAIqS,EAAErS,KAAKxB,GAAG,MAAM,IAAI0I,MAAM,yBAAyB,MAAM5J,EAAE,IAAI2F,EAAEmB,WAAW5F,GAAGO,EAAEzB,EAAEuL,WAAWwJ,EAAE3K,QAAQpK,EAAE8J,YAAYiL,EAAE3K,OAAO,GAAG,MAAM3J,EAAE0O,EAAEgG,QAAQnV,GAAGwF,EAAE/E,EAAE8E,gBAAgBmB,YAAYjB,EAAE,GAAG,IAAI,IAAIvE,EAAE,EAAEA,EAAET,EAAE2U,gBAAgBlU,IAAI,CAAC,MAAMwB,EAAEjC,EAAE6E,QAAQpE,GAAGuE,EAAE6E,KAAK,IAAIxJ,EAAE4B,EAAEnC,OAAOmC,EAAE2B,SAAS,MAAMqB,EAAE,IAAI3D,EAAEtB,EAAE4E,eAAeI,EAAE,GAAG,IAAIoI,EAAEkH,EAAE3K,OAAO,EAAE3I,EAAE,MAAMpB,EAAEI,EAAE4U,gBAAgBhV,EAAE,IAAIwN,GAAGiG,EAAEtO,EAAEnF,IAAI,MAAMJ,EAAE,GAAG,KAAK4N,EAAE7N,EAAE0H,YAAY,CAAC,MAAMxG,EAAElB,EAAEuL,WAAWsC,GAAG7N,EAAE8J,YAAY+D,EAAE,GAAG,MAAM/M,EAAER,EAAE6U,QAAQnV,GAAGC,EAAEqK,KAAK5H,EAAE5B,EAAE4E,IAAImI,GAAG,EAAE3M,EAAE,OAAOjB,EAAtiB,CAAyiBiB,EAAE,CAACA,EAAEwB,IAAIuO,EAAE/P,EAAEwB,KAAK,SAASoU,EAAE5V,EAAEwB,GAAG,OAAO,SAASxB,EAAEwB,EAAE5B,GAAG,IAAId,EAAE,EAAE,OAAOgV,EAAEM,UAAU,MAAMxU,QAAQiW,MAAM7V,EAAE,CAAC8V,QAAQ,CAACC,MAAM,SAASjX,KAAKA,EAAE0C,EAAE,OAAO,OAAO1C,GAAG0C,QAAQ5B,EAAEgC,eAAewS,UAAUtV,EAAEkB,GAAGwB,EAAU,CAACxB,EAAEwB,IAAIuO,EAAE/P,EAAEwB,IAAjL,CAAkKxB,EAAEwB,GAAiBxB,EAAE+C,YAAY,SAAS/C,EAAEJ,GAAG,OAAOI,aAAa8C,WAAW6S,EAAE3V,GAAGA,aAAawB,EAAEwU,eAAhnH,SAAWhW,EAAEwB,GAAG,MAAM5B,EAAE,mBAAmBd,EAAEkB,GAAG4P,MAAM9Q,EAAE,IAAI0T,EAAE,mBAAmB1T,EAAE6U,KAAK7U,EAAEA,EAAEmX,aAAa,IAAInX,EAAE,OAAOgV,EAAEM,eAAexU,EAAEgQ,MAAM5P,QAAG,OAAO,EAAOwB,GAA+9G0U,CAAElW,EAAE,CAACA,EAAEwB,IAAIuO,EAAE/P,EAAEwB,IAAIoU,EAAE5V,EAAEJ,IAAII,EAAEmW,UAAU,SAASnW,GAAG,OAAOsU,EAAEtU,IAAIR,OAAOC,eAAeO,EAAE,aAAa,CAACD,OAAM,IAA/+oCyB,CAAE5C,EAAQ,EAAQ,K,6BCAtF,yQAIA,IAAIwX,EAAmC,mBAAXvW,QAAoD,iBAApBA,OAAOsR,SAC/DtR,OACA,SAAUwW,GAAe,MAAO,UAAYA,EAAc,KAG9D,SAASC,KAMT,IAAIC,EAAc7F,OAAO8F,OAAS,SAAUpD,GAExC,OAAOA,GAAMA,GAGbqD,EAAkCH,EAEtC,SAASI,EAAatD,GAClB,MAAqB,iBAANA,GAAwB,OAANA,GAA4B,mBAANA,EAE3D,SAASuD,EAAoBC,GAGzB,OAAOA,EAAShH,QAKpB,SAASiH,EAA0B7H,GAC/B,OAA+B,IAQnC,SAA6BA,GACzB,GAAiB,iBAANA,EACP,OAAO,EAEX,GAAIuH,EAAYvH,GACZ,OAAO,EAEX,GAAIA,EAAI,EACJ,OAAO,EAEX,OAAO,EAlBH8H,CAAoB9H,IAGpBA,IAAM+H,IAiBd,SAASC,EAAKjH,EAAG6C,EAAGqE,GAChB,GAAiB,mBAANlH,EACP,MAAM,IAAIqB,UAAU,8BAExB,OAAO7P,SAASb,UAAUwR,MAAMjT,KAAK8Q,EAAG6C,EAAGqE,GAE/C,SAASC,EAAoCC,EAAkBC,EAAYC,EAAcC,GACrF,IAAIC,EAASJ,EAAiBC,GAC9B,QAAeI,IAAXD,EAAsB,CACtB,GAAsB,mBAAXA,EACP,MAAM,IAAInG,UAAUmG,EAAS,oBAEjC,OAAQF,GACJ,KAAK,EACD,OAAO,WACH,OAAOI,EAAYF,EAAQJ,EAAkBG,IAGrD,KAAK,EACD,OAAO,SAAUxF,GACb,IAAI4F,EAAW,CAAC5F,GAAK/C,OAAOuI,GAC5B,OAAOG,EAAYF,EAAQJ,EAAkBO,KAK7D,OAAO,WAAc,OAAOC,OAAoBH,IAEpD,SAASI,EAAarF,EAAGD,EAAG2E,GACxB,IAAIM,EAAShF,EAAED,GACf,QAAekF,IAAXD,EAGJ,OAAOP,EAAKO,EAAQhF,EAAG0E,GAE3B,SAASQ,EAAY1H,EAAG6C,EAAGqE,GACvB,IACI,OAAOU,EAAoBX,EAAKjH,EAAG6C,EAAGqE,IAE1C,MAAOlX,GACH,OAAO8X,EAAoB9X,IAWnC,SAAS+X,EAAkCC,GAEvC,GADAA,EAAgBrH,OAAOqH,GACnBxB,EAAYwB,IAAkBA,EAAgB,EAC9C,MAAM,IAAIC,WAAW,iFAEzB,OAAOD,EAEX,SAASE,EAAkCC,GACvC,QAAaV,IAATU,EACA,OAAO,WAAc,OAAO,GAEhC,GAAoB,mBAATA,EACP,MAAM,IAAI9G,UAAU,0DAExB,OAAO,SAAU+G,GAAS,OAAOD,EAAKC,IAE1C,IAAIC,EAAkB5G,QAClB6G,EAAsB7G,QAAQ9Q,UAAUgR,KACxC4G,EAAyB9G,QAAQC,QAAQnR,KAAK8X,GAC9CG,EAAwB/G,QAAQI,OAAOtR,KAAK8X,GAChD,SAASI,EAAWC,GAChB,OAAO,IAAIL,EAAgBK,GAE/B,SAASd,EAAoB5X,GACzB,OAAOuY,EAAuBvY,GAElC,SAAS8X,EAAoBa,GACzB,OAAOH,EAAsBG,GAEjC,SAASC,EAAmBC,EAASC,EAAaC,GAG9C,OAAOT,EAAoBpZ,KAAK2Z,EAASC,EAAaC,GAE1D,SAASC,EAAYH,EAASC,EAAaC,GACvCH,EAAmBA,EAAmBC,EAASC,EAAaC,QAAatB,EAAWf,GAExF,SAASuC,EAAgBJ,EAASC,GAC9BE,EAAYH,EAASC,GAEzB,SAASI,EAAcL,EAASE,GAC5BC,EAAYH,OAASpB,EAAWsB,GAEpC,SAASI,EAAqBN,EAASO,EAAoBC,GACvD,OAAOT,EAAmBC,EAASO,EAAoBC,GAE3D,SAASC,EAA0BT,GAC/BD,EAAmBC,OAASpB,EAAWf,GAK3C,IAOI6C,EAA6B,WAC7B,SAASA,IACLhY,KAAKiY,QAAU,EACfjY,KAAKkY,MAAQ,EAEblY,KAAKmY,OAAS,CACVC,UAAW,GACXC,WAAOnC,GAEXlW,KAAKsY,MAAQtY,KAAKmY,OAIlBnY,KAAKiY,QAAU,EAEfjY,KAAKkY,MAAQ,EAsFjB,OApFAha,OAAOC,eAAe6Z,EAAY5Y,UAAW,SAAU,CACnDf,IAAK,WACD,OAAO2B,KAAKkY,OAEhB9Z,YAAY,EACZma,cAAc,IAMlBP,EAAY5Y,UAAU0I,KAAO,SAAU0Q,GACnC,IAAIC,EAAUzY,KAAKsY,MACfI,EAAUD,EACmBE,QAA7BF,EAAQL,UAAUxQ,SAClB8Q,EAAU,CACNN,UAAW,GACXC,WAAOnC,IAKfuC,EAAQL,UAAUtQ,KAAK0Q,GACnBE,IAAYD,IACZzY,KAAKsY,MAAQI,EACbD,EAAQJ,MAAQK,KAElB1Y,KAAKkY,OAIXF,EAAY5Y,UAAUwZ,MAAQ,WAC1B,IAAIC,EAAW7Y,KAAKmY,OAChBW,EAAWD,EACXE,EAAY/Y,KAAKiY,QACjBe,EAAYD,EAAY,EACxBzD,EAAWuD,EAAST,UACpBI,EAAUlD,EAASyD,GAavB,OA1EmB,QA8DfC,IACAF,EAAWD,EAASR,MACpBW,EAAY,KAGdhZ,KAAKkY,MACPlY,KAAKiY,QAAUe,EACXH,IAAaC,IACb9Y,KAAKmY,OAASW,GAGlBxD,EAASyD,QAAa7C,EACfsC,GAUXR,EAAY5Y,UAAU6Z,QAAU,SAAUC,GAItC,IAHA,IAAI1b,EAAIwC,KAAKiY,QACTkB,EAAOnZ,KAAKmY,OACZ7C,EAAW6D,EAAKf,YACb5a,IAAM8X,EAAS1N,aAAyBsO,IAAfiD,EAAKd,OAC7B7a,IAAM8X,EAAS1N,SAGfpK,EAAI,EACoB,KAFxB8X,GADA6D,EAAOA,EAAKd,OACID,WAEHxQ,UAIjBsR,EAAS5D,EAAS9X,MAChBA,GAKVwa,EAAY5Y,UAAUga,KAAO,WACzB,IAAIC,EAAQrZ,KAAKmY,OACbmB,EAAStZ,KAAKiY,QAClB,OAAOoB,EAAMjB,UAAUkB,IAEpBtB,EArGqB,GAwGhC,SAASuB,EAA+B9a,EAAO4R,EAAMmJ,GACjD,IAAIpa,EAAY,MACM,IAAlBoa,IACApa,EAAYlB,OAAOkB,WAEvB,IAAIqa,EAAMvb,OAAOY,OAAOM,GAGxB,OAFAqa,EAAIhb,MAAQA,EACZgb,EAAIpJ,KAAOA,EACJoJ,EAEX,SAASC,EAAsCC,EAAQhY,GACnDgY,EAAOC,gBAAiB,EACxBD,EAAOE,qBAAuBlY,EAC9BA,EAAOmY,QAAUH,EACK,aAAlBhY,EAAOoY,OACPC,EAAqCL,GAEd,WAAlBhY,EAAOoY,OAsCpB,SAAwDJ,GACpDK,EAAqCL,GACrCM,EAAkCN,GAvC9BO,CAA+CP,GAG/CQ,EAA+CR,EAAQhY,EAAOyY,cAKtE,SAASC,EAAkCV,EAAQvC,GAE/C,OAAOkD,GADMX,EAAOE,qBACgBzC,GAExC,SAASmD,EAAmCZ,GACG,aAAvCA,EAAOE,qBAAqBE,OAC5BS,EAAiCb,EAAQ,IAAI7J,UAAU,qFAiC/D,SAAmD6J,EAAQvC,GACvD+C,EAA+CR,EAAQvC,GA/BnDqD,CAA0Cd,EAAQ,IAAI7J,UAAU,qFAEpE6J,EAAOE,qBAAqBC,aAAU5D,EACtCyD,EAAOE,0BAAuB3D,EAGlC,SAASwE,EAAoB3c,GACzB,OAAO,IAAI+R,UAAU,UAAY/R,EAAO,qCAG5C,SAASic,EAAqCL,GAC1CA,EAAOgB,eAAiBzD,GAAW,SAAU/G,EAASG,GAClDqJ,EAAOiB,uBAAyBzK,EAChCwJ,EAAOkB,sBAAwBvK,KAGvC,SAAS6J,EAA+CR,EAAQvC,GAC5D4C,EAAqCL,GACrCa,EAAiCb,EAAQvC,GAM7C,SAASoD,EAAiCb,EAAQvC,GAC9CW,EAA0B4B,EAAOgB,gBACjChB,EAAOkB,sBAAsBzD,GAC7BuC,EAAOiB,4BAAyB1E,EAChCyD,EAAOkB,2BAAwB3E,EAKnC,SAAS+D,EAAkCN,GACvCA,EAAOiB,4BAAuB1E,GAC9ByD,EAAOiB,4BAAyB1E,EAChCyD,EAAOkB,2BAAwB3E,EAGnC,IAAI4E,EAAchG,EAAe,mBAC7BiG,EAAYjG,EAAe,iBAG/B,SAASkG,EAAmCrZ,EAAQ6X,QAC1B,IAAlBA,IAA4BA,GAAgB,GAChD,IAAIG,EAAS,IAAIsB,EAA4BtZ,GAE7C,OADAgY,EAAOC,eAAiBJ,EACjBG,EAGX,SAASuB,EAA6BvZ,GAQlC,OAPcuV,GAAW,SAAU/G,EAASG,GACxC,IAAI6K,EAAc,CACdC,SAAUjL,EACVkL,QAAS/K,GAEb3O,EAAOmY,QAAQwB,cAAcxT,KAAKqT,MAI1C,SAASI,EAAiC5Z,EAAQkV,EAAOxG,GACrD,IAAIsJ,EAAShY,EAAOmY,QACFH,EAAO2B,cAAc1C,QAC3BwC,SAAS7B,EAA+B1C,EAAOxG,EAAMsJ,EAAOC,iBAE5E,SAAS4B,EAAiC7Z,GACtC,OAAOA,EAAOmY,QAAQwB,cAAc1T,OAExC,SAAS6T,EAA+B9Z,GACpC,IAAIgY,EAAShY,EAAOmY,QACpB,YAAe5D,IAAXyD,KAGC+B,EAA8B/B,GAKvC,IAgFIgC,EACAC,EAjFAX,EAA6C,WAC7C,SAASA,EAA4BtZ,GACjC,IAAiC,IAA7Bka,GAAiBla,GACjB,MAAM,IAAImO,UAAU,sFAExB,IAAuC,IAAnCgM,GAAuBna,GACvB,MAAM,IAAImO,UAAU,+EAExB4J,EAAsC1Z,KAAM2B,GAC5C3B,KAAKsb,cAAgB,IAAItD,EA0C7B,OAxCA9Z,OAAOC,eAAe8c,EAA4B7b,UAAW,SAAU,CACnEf,IAAK,WACD,OAAKqd,EAA8B1b,MAG5BA,KAAK2a,eAFDpE,EAAoBwF,EAAiC,YAIpE3d,YAAY,EACZma,cAAc,IAElB0C,EAA4B7b,UAAUkT,OAAS,SAAU8E,GACrD,OAAKsE,EAA8B1b,WAGDkW,IAA9BlW,KAAK6Z,qBACEtD,EAAoBmE,EAAoB,WAE5CL,EAAkCra,KAAMoX,GALpCb,EAAoBwF,EAAiC,YAOpEd,EAA4B7b,UAAUiT,KAAO,WACzC,OAAKqJ,EAA8B1b,WAGDkW,IAA9BlW,KAAK6Z,qBACEtD,EAAoBmE,EAAoB,cAE5CsB,EAAgChc,MAL5BuW,EAAoBwF,EAAiC,UAOpEd,EAA4B7b,UAAU6c,YAAc,WAChD,IAAKP,EAA8B1b,MAC/B,MAAM+b,EAAiC,eAE3C,QAAkC7F,IAA9BlW,KAAK6Z,qBAAT,CAGA,GAAI7Z,KAAKsb,cAAc1T,OAAS,EAC5B,MAAM,IAAIkI,UAAU,uFAExByK,EAAmCva,QAEhCib,EAnDqC,GAsDhD,SAASS,EAA8B5J,GACnC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,iBAKjD,SAASkK,EAAgCrC,GACrC,IAAIhY,EAASgY,EAAOE,qBAEpB,OADAlY,EAAOua,YAAa,EACE,WAAlBva,EAAOoY,OACA1D,EAAoBkD,OAA+BrD,GAAW,EAAMyD,EAAOC,iBAEhE,YAAlBjY,EAAOoY,OACAxD,EAAoB5U,EAAOyY,cAE/BzY,EAAOwa,0BAA0BpB,KAG5C,SAASgB,EAAiChe,GACtC,OAAO,IAAI+R,UAAU,yCAA2C/R,EAAO,sDAM/B,iBAAjC+W,EAAelF,iBAGI+L,EAAK,IAGxB7G,EAAelF,eAAiB,WAC/B,OAAO5P,MAJf4b,EAMID,EACJzd,OAAOC,eAAeyd,EAAwB9G,EAAelF,cAAe,CAAExR,YAAY,KAI9F,IAAIge,EAAuC,CACvC7L,KAAM,WACF,IAA4C,IAAxC8L,EAA8Brc,MAC9B,OAAOuW,EAAoB+F,GAAuC,SAEtE,IAAI3C,EAAS3Z,KAAKuc,qBAClB,YAAoCrG,IAAhCyD,EAAOE,qBACAtD,EAAoBmE,EAAoB,YAE5C9C,EAAqBoE,EAAgCrC,IAAS,SAAU6C,GAC3E,IAAInM,EAAOmM,EAAOnM,KAKlB,OAJIA,GACAkK,EAAmCZ,GAGhCJ,EADKiD,EAAO/d,MAC0B4R,GAAM,OAG3DK,OAAQ,SAAUjS,GACd,IAA4C,IAAxC4d,EAA8Brc,MAC9B,OAAOuW,EAAoB+F,GAAuC,SAEtE,IAAI3C,EAAS3Z,KAAKuc,qBAClB,QAAoCrG,IAAhCyD,EAAOE,qBACP,OAAOtD,EAAoBmE,EAAoB,qBAEnD,GAAIf,EAAO2B,cAAc1T,OAAS,EAC9B,OAAO2O,EAAoB,IAAIzG,UAAU,wFAE7C,IAA4B,IAAxB9P,KAAKyc,eAA0B,CAC/B,IAAID,EAASnC,EAAkCV,EAAQlb,GAEvD,OADA8b,EAAmCZ,GAC5B/B,EAAqB4E,GAAQ,WAAc,OAAOjD,EAA+B9a,GAAO,GAAM,MAGzG,OADA8b,EAAmCZ,GAC5BtD,EAAoBkD,EAA+B9a,GAAO,GAAM,MAiB/E,SAAS4d,EAA8BvK,GACnC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,wBAMjD,SAASwK,GAAuCve,GAC5C,OAAO,IAAI+R,UAAU,+BAAiC/R,EAAO,qDAGjE,SAAS2e,GAAaC,GAClB,IAAIC,EAAOD,EAAUE,OAAOjE,QAK5B,OAJA+D,EAAUG,iBAAmBF,EAAKhG,KAC9B+F,EAAUG,gBAAkB,IAC5BH,EAAUG,gBAAkB,GAEzBF,EAAKne,MAEhB,SAASse,GAAqBJ,EAAWle,EAAOmY,GAE5C,IAAKrB,EADLqB,EAAOxH,OAAOwH,IAEV,MAAM,IAAIF,WAAW,wDAEzBiG,EAAUE,OAAO/U,KAAK,CAAErJ,MAAOA,EAAOmY,KAAMA,IAC5C+F,EAAUG,iBAAmBlG,EAMjC,SAASoG,GAAWL,GAChBA,EAAUE,OAAS,IAAI7E,EACvB2E,EAAUG,gBAAkB,OAlDD5G,IAA3B0F,GACA1d,OAAO+e,eAAeb,EAAsCR,GAEhE1d,OAAOC,eAAeie,EAAsC,OAAQ,CAAEhe,YAAY,IAClFF,OAAOC,eAAeie,EAAsC,SAAU,CAAEhe,YAAY,IAiDpF,IAAI8e,GAAapI,EAAe,kBAC5BqI,GAAarI,EAAe,kBAC5BsI,GAAgC,WAChC,SAASA,EAAeC,EAAgBC,QACb,IAAnBD,IAA6BA,EAAiB,SACjC,IAAbC,IAAuBA,EAAW,IACtCC,GAAyBvd,MACzB,IAAI4W,EAAO0G,EAAS1G,KAChBH,EAAgB6G,EAAS7G,cAE7B,QAAaP,IADFmH,EAAexb,KAEtB,MAAM,IAAI6U,WAAW,6BAEzB,IAAI8G,EAAgB7G,EAAkCC,QAChCV,IAAlBO,IACAA,EAAgB,GAmiB5B,SAAgE9U,EAAQ0b,EAAgB5G,EAAe+G,GACnG,IAAIC,EAAavf,OAAOY,OAAO4e,GAAgCte,WAI/D,IAAIue,EAAiB/H,EAAoCyH,EAAgB,QAAS,EAAG,CAACI,IAClFG,EAAiBhI,EAAoCyH,EAAgB,QAAS,EAAG,IACjFQ,EAAiBjI,EAAoCyH,EAAgB,QAAS,EAAG,IACrFS,GAAqCnc,EAAQ8b,GAN7C,WACI,OAAOnH,EAAa+G,EAAgB,QAAS,CAACI,MAKuBE,EAAgBC,EAAgBC,EAAgBpH,EAAe+G,GAxiBpIO,CAAuD/d,KAAMqd,EAD7D5G,EAAgBD,EAAkCC,GAC0C+G,GAuChG,OArCAtf,OAAOC,eAAeif,EAAehe,UAAW,SAAU,CACtDf,IAAK,WACD,IAA+B,IAA3B2f,GAAiBhe,MACjB,MAAMie,GAA0B,UAEpC,OAAOC,GAAuBle,OAElC5B,YAAY,EACZma,cAAc,IAElB6E,EAAehe,UAAU+e,MAAQ,SAAU/G,GACvC,OAA+B,IAA3B4G,GAAiBhe,MACVuW,EAAoB0H,GAA0B,WAEpB,IAAjCC,GAAuBle,MAChBuW,EAAoB,IAAIzG,UAAU,oDAEtCsO,GAAoBpe,KAAMoX,IAErCgG,EAAehe,UAAUif,MAAQ,WAC7B,OAA+B,IAA3BL,GAAiBhe,MACVuW,EAAoB0H,GAA0B,WAEpB,IAAjCC,GAAuBle,MAChBuW,EAAoB,IAAIzG,UAAU,qDAEK,IAA9CwO,GAAoCte,MAC7BuW,EAAoB,IAAIzG,UAAU,2CAEtCyO,GAAoBve,OAE/Bod,EAAehe,UAAUof,UAAY,WACjC,IAA+B,IAA3BR,GAAiBhe,MACjB,MAAMie,GAA0B,aAEpC,OAAOQ,GAAmCze,OAEvCod,EAvDwB,GA0DnC,SAASqB,GAAmC9c,GACxC,OAAO,IAAI+c,GAA4B/c,GAY3C,SAAS4b,GAAyB5b,GAC9BA,EAAOoY,OAAS,WAGhBpY,EAAOyY,kBAAelE,EACtBvU,EAAOgd,aAAUzI,EAGjBvU,EAAOid,+BAA4B1I,EAGnCvU,EAAOkd,eAAiB,IAAI7G,EAG5BrW,EAAOmd,2BAAwB5I,EAG/BvU,EAAOod,mBAAgB7I,EAGvBvU,EAAOqd,2BAAwB9I,EAE/BvU,EAAOsd,0BAAuB/I,EAE9BvU,EAAOud,eAAgB,EAE3B,SAASlB,GAAiBlM,GACtB,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,6BAKjD,SAASoM,GAAuBvc,GAC5B,YAAuBuU,IAAnBvU,EAAOgd,QAKf,SAASP,GAAoBzc,EAAQyV,GACjC,IAAI+H,EAAQxd,EAAOoY,OACnB,GAAc,WAAVoF,GAAgC,YAAVA,EACtB,OAAO9I,OAAoBH,GAE/B,QAAoCA,IAAhCvU,EAAOsd,qBACP,OAAOtd,EAAOsd,qBAAqBG,SAEvC,IAAIC,GAAqB,EACX,aAAVF,IACAE,GAAqB,EAErBjI,OAASlB,GAEb,IAAIoB,EAAUJ,GAAW,SAAU/G,EAASG,GACxC3O,EAAOsd,qBAAuB,CAC1BG,cAAUlJ,EACVkF,SAAUjL,EACVkL,QAAS/K,EACTgP,QAASlI,EACTmI,oBAAqBF,MAO7B,OAJA1d,EAAOsd,qBAAqBG,SAAW9H,GACZ,IAAvB+H,GACAG,GAA4B7d,EAAQyV,GAEjCE,EAEX,SAASiH,GAAoB5c,GACzB,IAAIwd,EAAQxd,EAAOoY,OACnB,GAAc,WAAVoF,GAAgC,YAAVA,EACtB,OAAO5I,EAAoB,IAAIzG,UAAU,kBAAoBqP,EAAQ,8DAEzE,IA+a0C1B,EA/atCnG,EAAUJ,GAAW,SAAU/G,EAASG,GACxC,IAAImP,EAAe,CACfrE,SAAUjL,EACVkL,QAAS/K,GAEb3O,EAAOod,cAAgBU,KAEvBC,EAAS/d,EAAOgd,QAKpB,YAJezI,IAAXwJ,IAAiD,IAAzB/d,EAAOud,eAAoC,aAAVC,GACzDQ,GAAiCD,GAuarC3C,GAD0CU,EApaL9b,EAAOid,0BAqaX,QAAS,GAC1CgB,GAAoDnC,GAra7CnG,EAaX,SAASuI,GAAgCle,EAAQme,GAE/B,aADFne,EAAOoY,OAKnBgG,GAA6Bpe,GAHzB6d,GAA4B7d,EAAQme,GAK5C,SAASN,GAA4B7d,EAAQyV,GACzC,IAAIqG,EAAa9b,EAAOid,0BACxBjd,EAAOoY,OAAS,WAChBpY,EAAOyY,aAAehD,EACtB,IAAIsI,EAAS/d,EAAOgd,aACLzI,IAAXwJ,GACAM,GAAsDN,EAAQtI,IAET,IA4E7D,SAAkDzV,GAC9C,QAAqCuU,IAAjCvU,EAAOmd,4BAAwE5I,IAAjCvU,EAAOqd,sBACrD,OAAO,EAEX,OAAO,EAhFHiB,CAAyCte,KAA6C,IAAxB8b,EAAWyC,UACzEH,GAA6Bpe,GAGrC,SAASoe,GAA6Bpe,GAClCA,EAAOoY,OAAS,UAChBpY,EAAOid,0BAA0BzB,MACjC,IAAIgD,EAAcxe,EAAOyY,aAKzB,GAJAzY,EAAOkd,eAAe5F,SAAQ,SAAUmH,GACpCA,EAAa/E,QAAQ8E,MAEzBxe,EAAOkd,eAAiB,IAAI7G,OACQ9B,IAAhCvU,EAAOsd,qBAAX,CAIA,IAAIoB,EAAe1e,EAAOsd,qBAE1B,GADAtd,EAAOsd,0BAAuB/I,GACW,IAArCmK,EAAad,oBAGb,OAFAc,EAAahF,QAAQ8E,QACrBG,GAAkD3e,GAItD8V,EADc9V,EAAOid,0BAA0B1B,IAAYmD,EAAaf,UACnD,WACjBe,EAAajF,WACbkF,GAAkD3e,MACnD,SAAUyV,GACTiJ,EAAahF,QAAQjE,GACrBkJ,GAAkD3e,WAhBlD2e,GAAkD3e,GAyD1D,SAAS2c,GAAoC3c,GACzC,YAA6BuU,IAAzBvU,EAAOod,oBAAgE7I,IAAjCvU,EAAOqd,sBAkBrD,SAASsB,GAAkD3e,QAC1BuU,IAAzBvU,EAAOod,gBACPpd,EAAOod,cAAc1D,QAAQ1Z,EAAOyY,cACpCzY,EAAOod,mBAAgB7I,GAE3B,IAAIwJ,EAAS/d,EAAOgd,aACLzI,IAAXwJ,GACAa,GAAiCb,EAAQ/d,EAAOyY,cAGxD,SAASoG,GAAiC7e,EAAQ8e,GAC9C,IAAIf,EAAS/d,EAAOgd,aACLzI,IAAXwJ,GAAwBe,IAAiB9e,EAAOud,iBAC3B,IAAjBuB,EAwcZ,SAAwCf,GACpCgB,GAAoChB,GAxc5BiB,CAA+BjB,GAG/BC,GAAiCD,IAGzC/d,EAAOud,cAAgBuB,EAE3B,IAAI/B,GAA6C,WAC7C,SAASA,EAA4B/c,GACjC,IAAiC,IAA7Bqc,GAAiBrc,GACjB,MAAM,IAAImO,UAAU,sFAExB,IAAuC,IAAnCoO,GAAuBvc,GACvB,MAAM,IAAImO,UAAU,+EAExB9P,KAAK4gB,qBAAuBjf,EAC5BA,EAAOgd,QAAU3e,KACjB,IA2YgD0f,EA3Y5CP,EAAQxd,EAAOoY,OACnB,GAAc,aAAVoF,GACoD,IAAhDb,GAAoC3c,KAA8C,IAAzBA,EAAOud,cAChEwB,GAAoC1gB,MAGpC6gB,GAA8C7gB,MAElD8gB,GAAqC9gB,WAEpC,GAAc,aAAVmf,EACL4B,GAA8C/gB,KAAM2B,EAAOyY,cAC3D0G,GAAqC9gB,WAEpC,GAAc,WAAVmf,EACL0B,GAA8C7gB,MA6XtD8gB,GADoDpB,EA3XG1f,MA6XvDghB,GAAkCtB,OA3XzB,CACD,IAAIS,EAAcxe,EAAOyY,aACzB2G,GAA8C/gB,KAAMmgB,GACpDc,GAA+CjhB,KAAMmgB,IA6E7D,OA1EAjiB,OAAOC,eAAeugB,EAA4Btf,UAAW,SAAU,CACnEf,IAAK,WACD,OAA4C,IAAxC6iB,GAA8BlhB,MACvBuW,EAAoB4K,GAAiC,WAEzDnhB,KAAK2a,gBAEhBvc,YAAY,EACZma,cAAc,IAElBra,OAAOC,eAAeugB,EAA4Btf,UAAW,cAAe,CACxEf,IAAK,WACD,IAA4C,IAAxC6iB,GAA8BlhB,MAC9B,MAAMmhB,GAAiC,eAE3C,QAAkCjL,IAA9BlW,KAAK4gB,qBACL,MAAMQ,GAA2B,eAErC,OAwGZ,SAAmD1B,GAC/C,IAAI/d,EAAS+d,EAAOkB,qBAChBzB,EAAQxd,EAAOoY,OACnB,GAAc,YAAVoF,GAAiC,aAAVA,EACvB,OAAO,KAEX,GAAc,WAAVA,EACA,OAAO,EAEX,OAAOkC,GAA8C1f,EAAOid,2BAjH7C0C,CAA0CthB,OAErD5B,YAAY,EACZma,cAAc,IAElBra,OAAOC,eAAeugB,EAA4Btf,UAAW,QAAS,CAClEf,IAAK,WACD,OAA4C,IAAxC6iB,GAA8BlhB,MACvBuW,EAAoB4K,GAAiC,UAEzDnhB,KAAKuhB,eAEhBnjB,YAAY,EACZma,cAAc,IAElBmG,EAA4Btf,UAAU+e,MAAQ,SAAU/G,GACpD,OAA4C,IAAxC8J,GAA8BlhB,MACvBuW,EAAoB4K,GAAiC,eAE9BjL,IAA9BlW,KAAK4gB,qBACErK,EAAoB6K,GAA2B,UAiDlE,SAA0C1B,EAAQtI,GAE9C,OAAOgH,GADMsB,EAAOkB,qBACexJ,GAjDxBoK,CAAiCxhB,KAAMoX,IAElDsH,EAA4Btf,UAAUif,MAAQ,WAC1C,IAA4C,IAAxC6C,GAA8BlhB,MAC9B,OAAOuW,EAAoB4K,GAAiC,UAEhE,IAAIxf,EAAS3B,KAAK4gB,qBAClB,YAAe1K,IAAXvU,EACO4U,EAAoB6K,GAA2B,WAEN,IAAhD9C,GAAoC3c,GAC7B4U,EAAoB,IAAIzG,UAAU,2CAEtC2R,GAAiCzhB,OAE5C0e,EAA4Btf,UAAU6c,YAAc,WAChD,IAA4C,IAAxCiF,GAA8BlhB,MAC9B,MAAMmhB,GAAiC,oBAG5BjL,IADFlW,KAAK4gB,sBAIlBc,GAAmC1hB,OAEvC0e,EAA4Btf,UAAUuiB,MAAQ,SAAU9K,GACpD,OAA4C,IAAxCqK,GAA8BlhB,MACvBuW,EAAoB4K,GAAiC,eAE9BjL,IAA9BlW,KAAK4gB,qBACErK,EAAoB6K,GAA2B,aAEnDQ,GAAiC5hB,KAAM6W,IAE3C6H,EA5GqC,GA+GhD,SAASwC,GAA8BpP,GACnC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,wBAUjD,SAAS2P,GAAiC/B,GAEtC,OAAOnB,GADMmB,EAAOkB,sBAcxB,SAASiB,GAAuDnC,EAAQI,GACjC,YAA/BJ,EAAOoC,oBACPvB,GAAiCb,EAAQI,GAkRjD,SAAmDJ,EAAQtI,GACvD6J,GAA+CvB,EAAQtI,GAhRnD2K,CAA0CrC,EAAQI,GAG1D,SAASE,GAAsDN,EAAQI,GACjC,YAA9BJ,EAAOsC,mBACPC,GAAgCvC,EAAQI,GA4ShD,SAAkDJ,EAAQtI,GACtD2J,GAA8CrB,EAAQtI,GA1SlD8K,CAAyCxC,EAAQI,GAczD,SAAS4B,GAAmChC,GACxC,IAAI/d,EAAS+d,EAAOkB,qBAChBuB,EAAgB,IAAIrS,UAAU,oFAClCkQ,GAAsDN,EAAQyC,GAG9DN,GAAuDnC,EAAQyC,GAC/DxgB,EAAOgd,aAAUzI,EACjBwJ,EAAOkB,0BAAuB1K,EAElC,SAAS0L,GAAiClC,EAAQ7I,GAC9C,IAAIlV,EAAS+d,EAAOkB,qBAChBnD,EAAa9b,EAAOid,0BACpBwD,EAuGR,SAAqD3E,EAAY5G,GAC7D,IACI,OAAO4G,EAAW4E,uBAAuBxL,GAE7C,MAAOyL,GAEH,OADAC,GAA6C9E,EAAY6E,GAClD,GA7GKE,CAA4C/E,EAAY5G,GACxE,GAAIlV,IAAW+d,EAAOkB,qBAClB,OAAOrK,EAAoB6K,GAA2B,aAE1D,IAAIjC,EAAQxd,EAAOoY,OACnB,GAAc,YAAVoF,EACA,OAAO5I,EAAoB5U,EAAOyY,cAEtC,IAAoD,IAAhDkE,GAAoC3c,IAA8B,WAAVwd,EACxD,OAAO5I,EAAoB,IAAIzG,UAAU,6DAE7C,GAAc,aAAVqP,EACA,OAAO5I,EAAoB5U,EAAOyY,cAEtC,IAAI9C,EA3UR,SAAuC3V,GAQnC,OAPcuV,GAAW,SAAU/G,EAASG,GACxC,IAAI8P,EAAe,CACfhF,SAAUjL,EACVkL,QAAS/K,GAEb3O,EAAOkd,eAAe/W,KAAKsY,MAqUjBqC,CAA8B9gB,GAE5C,OAmGJ,SAA8C8b,EAAY5G,EAAOuL,GAC7D,IAAIM,EAAc,CAAE7L,MAAOA,GAC3B,IACIkG,GAAqBU,EAAYiF,EAAaN,GAElD,MAAOO,GAEH,YADAJ,GAA6C9E,EAAYkF,GAG7D,IAAIhhB,EAAS8b,EAAWmF,0BACxB,IAAoD,IAAhDtE,GAAoC3c,IAAuC,aAAlBA,EAAOoY,OAAuB,CACvF,IAAI0G,EAAeoC,GAA+CpF,GAClE+C,GAAiC7e,EAAQ8e,GAE7Cb,GAAoDnC,GAlHpDqF,CAAqCrF,EAAY5G,EAAOuL,GACjD9K,EAEX,IAAIoG,GAAiD,WAEjD,SAASA,IACL,MAAM,IAAI5N,UAAU,oEAwBxB,OAtBA4N,EAAgCte,UAAU0gB,MAAQ,SAAU5f,GACxD,IAAgD,IAwBxD,SAA2C4R,GACvC,IAAKsD,EAAatD,GACd,OAAO,EAEX,IAAK5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,6BACzC,OAAO,EAEX,OAAO,EA/BCiR,CAAkC/iB,MAClC,MAAM,IAAI8P,UAAU,yGAGV,aADF9P,KAAK4iB,0BAA0B7I,QAM3CiJ,GAAqChjB,KAAME,IAG/Cwd,EAAgCte,UAAU8d,IAAc,SAAU9F,GAC9D,IAAIoF,EAASxc,KAAKijB,gBAAgB7L,GAElC,OADA8L,GAA+CljB,MACxCwc,GAGXkB,EAAgCte,UAAU+d,IAAc,WACpDH,GAAWhd,OAER0d,EA3ByC,GAuCpD,SAASI,GAAqCnc,EAAQ8b,EAAY0F,EAAgBxF,EAAgBC,EAAgBC,EAAgBpH,EAAe+G,GAC7IC,EAAWmF,0BAA4BjhB,EACvCA,EAAOid,0BAA4BnB,EAEnCA,EAAWZ,YAAS3G,EACpBuH,EAAWX,qBAAkB5G,EAC7B8G,GAAWS,GACXA,EAAWyC,UAAW,EACtBzC,EAAW4E,uBAAyB7E,EACpCC,EAAW2F,aAAe3M,EAC1BgH,EAAW4F,gBAAkB1F,EAC7BF,EAAW6F,gBAAkB1F,EAC7BH,EAAWwF,gBAAkBpF,EAC7B,IAAI4C,EAAeoC,GAA+CpF,GAClE+C,GAAiC7e,EAAQ8e,GAGzChJ,EADmBpB,EADD8M,MAEQ,WACtB1F,EAAWyC,UAAW,EACtBN,GAAoDnC,MACrD,SAAUnf,GACTmf,EAAWyC,UAAW,EACtBL,GAAgCle,EAAQrD,MAchD,SAAS4kB,GAA+CzF,GACpDA,EAAW4F,qBAAkBnN,EAC7BuH,EAAW6F,qBAAkBpN,EAC7BuH,EAAWwF,qBAAkB/M,EAC7BuH,EAAW4E,4BAAyBnM,EAexC,SAASmL,GAA8C5D,GACnD,OAAOA,EAAW2F,aAAe3F,EAAWX,gBAmBhD,SAAS8C,GAAoDnC,GACzD,IAAI9b,EAAS8b,EAAWmF,0BACxB,IAA4B,IAAxBnF,EAAWyC,eAGsBhK,IAAjCvU,EAAOmd,sBAIX,GAAc,aADFnd,EAAOoY,QAKnB,GAAiC,IAA7B0D,EAAWZ,OAAOjV,OAAtB,CAGA,IAAI8a,EAA6BjF,EA5nBZZ,OAAOzD,OAChB3a,MA4nBQ,UAAhBikB,EAYR,SAAqDjF,GACjD,IAAI9b,EAAS8b,EAAWmF,2BAnX5B,SAAgDjhB,GAC5CA,EAAOqd,sBAAwBrd,EAAOod,cACtCpd,EAAOod,mBAAgB7I,GAkXvBqN,CAAuC5hB,GACvC+a,GAAae,GACb,IAAI+F,EAAmB/F,EAAW6F,kBAClCJ,GAA+CzF,GAC/ChG,EAAY+L,GAAkB,YAjalC,SAA2C7hB,GACvCA,EAAOqd,sBAAsB5D,cAASlF,GACtCvU,EAAOqd,2BAAwB9I,EAEjB,aADFvU,EAAOoY,SAGfpY,EAAOyY,kBAAelE,OACcA,IAAhCvU,EAAOsd,uBACPtd,EAAOsd,qBAAqB7D,WAC5BzZ,EAAOsd,0BAAuB/I,IAGtCvU,EAAOoY,OAAS,SAChB,IAAI2F,EAAS/d,EAAOgd,aACLzI,IAAXwJ,GACAsB,GAAkCtB,GAmZlC+D,CAAkC9hB,MACnC,SAAUyV,IAjZjB,SAAoDzV,EAAQme,GACxDne,EAAOqd,sBAAsB3D,QAAQyE,GACrCne,EAAOqd,2BAAwB9I,OAEKA,IAAhCvU,EAAOsd,uBACPtd,EAAOsd,qBAAqB5D,QAAQyE,GACpCne,EAAOsd,0BAAuB/I,GAElC2J,GAAgCle,EAAQme,GA0YpC4D,CAA2C/hB,EAAQyV,MApBnDuM,CAA4ClG,GAuBpD,SAAqDA,EAAY5G,GAC7D,IAAIlV,EAAS8b,EAAWmF,2BA3X5B,SAAqDjhB,GACjDA,EAAOmd,sBAAwBnd,EAAOkd,eAAejG,SA2XrDgL,CAA4CjiB,GAE5C8V,EADuBgG,EAAW4F,gBAAgBxM,IACpB,YApblC,SAA2ClV,GACvCA,EAAOmd,sBAAsB1D,cAASlF,GACtCvU,EAAOmd,2BAAwB5I,EAmb3B2N,CAAkCliB,GAClC,IAAIwd,EAAQxd,EAAOoY,OAEnB,GADA2C,GAAae,IACuC,IAAhDa,GAAoC3c,IAA+B,aAAVwd,EAAsB,CAC/E,IAAIsB,EAAeoC,GAA+CpF,GAClE+C,GAAiC7e,EAAQ8e,GAE7Cb,GAAoDnC,MACrD,SAAUrG,GACa,aAAlBzV,EAAOoY,QACPmJ,GAA+CzF,GA3b3D,SAAoD9b,EAAQme,GACxDne,EAAOmd,sBAAsBzD,QAAQyE,GACrCne,EAAOmd,2BAAwB5I,EAC/B2J,GAAgCle,EAAQme,GA0bpCgE,CAA2CniB,EAAQyV,MArCnD2M,CAA4CtG,EAAYiF,EAAY7L,aAXpEkJ,GAA6Bpe,GAcrC,SAAS4gB,GAA6C9E,EAAYqC,GACV,aAAhDrC,EAAWmF,0BAA0B7I,QACrCiJ,GAAqCvF,EAAYqC,GAmCzD,SAAS+C,GAA+CpF,GAEpD,OADkB4D,GAA8C5D,IAC1C,EAG1B,SAASuF,GAAqCvF,EAAYqC,GACtD,IAAIne,EAAS8b,EAAWmF,0BACxBM,GAA+CzF,GAC/C+B,GAA4B7d,EAAQme,GAGxC,SAAS7B,GAA0BlgB,GAC/B,OAAO,IAAI+R,UAAU,4BAA8B/R,EAAO,yCAG9D,SAASojB,GAAiCpjB,GACtC,OAAO,IAAI+R,UAAU,yCAA2C/R,EAAO,sDAE3E,SAASqjB,GAA2BrjB,GAChC,OAAO,IAAI+R,UAAU,UAAY/R,EAAO,qCAE5C,SAAS+iB,GAAqCpB,GAC1CA,EAAO/E,eAAiBzD,GAAW,SAAU/G,EAASG,GAClDoP,EAAO9E,uBAAyBzK,EAChCuP,EAAO7E,sBAAwBvK,EAC/BoP,EAAOoC,oBAAsB,aAGrC,SAASb,GAA+CvB,EAAQtI,GAC5D0J,GAAqCpB,GACrCa,GAAiCb,EAAQtI,GAM7C,SAASmJ,GAAiCb,EAAQtI,GAC9CW,EAA0B2H,EAAO/E,gBACjC+E,EAAO7E,sBAAsBzD,GAC7BsI,EAAO9E,4BAAyB1E,EAChCwJ,EAAO7E,2BAAwB3E,EAC/BwJ,EAAOoC,oBAAsB,WAKjC,SAASd,GAAkCtB,GACvCA,EAAO9E,4BAAuB1E,GAC9BwJ,EAAO9E,4BAAyB1E,EAChCwJ,EAAO7E,2BAAwB3E,EAC/BwJ,EAAOoC,oBAAsB,WAEjC,SAASpB,GAAoChB,GACzCA,EAAO6B,cAAgBrK,GAAW,SAAU/G,EAASG,GACjDoP,EAAOsE,sBAAwB7T,EAC/BuP,EAAOuE,qBAAuB3T,KAElCoP,EAAOsC,mBAAqB,UAEhC,SAASjB,GAA8CrB,EAAQtI,GAC3DsJ,GAAoChB,GACpCuC,GAAgCvC,EAAQtI,GAE5C,SAASyJ,GAA8CnB,GACnDgB,GAAoChB,GACpCC,GAAiCD,GAErC,SAASuC,GAAgCvC,EAAQtI,GAC7CW,EAA0B2H,EAAO6B,eACjC7B,EAAOuE,qBAAqB7M,GAC5BsI,EAAOsE,2BAAwB9N,EAC/BwJ,EAAOuE,0BAAuB/N,EAC9BwJ,EAAOsC,mBAAqB,WAQhC,SAASrC,GAAiCD,GACtCA,EAAOsE,2BAAsB9N,GAC7BwJ,EAAOsE,2BAAwB9N,EAC/BwJ,EAAOuE,0BAAuB/N,EAC9BwJ,EAAOsC,mBAAqB,YAGhC,SAASkC,GAAczlB,GACnB,GAAqB,iBAAVA,GAAgC,OAAVA,EAC7B,OAAO,EAEX,IACI,MAAgC,kBAAlBA,EAAM0lB,QAExB,MAAOxI,GAEH,OAAO,GAKf,IAAIyI,GAA6C,oBAAjBC,aAA+BA,kBAAenO,EA2B9E,IAXQoO,GAWJC,GAxBJ,SAAmCD,GAC/B,GAAsB,mBAATA,GAAuC,iBAATA,EACvC,OAAO,EAEX,IAEI,OADA,IAAIA,GACG,EAEX,MAAO3I,GACH,OAAO,GAeM6I,CAA0BJ,IAAsBA,KAX7DE,GAAO,SAAsBG,EAAS1mB,GACtCiC,KAAKykB,QAAUA,GAAW,GAC1BzkB,KAAKjC,KAAOA,GAAQ,QAChBqJ,MAAMsd,mBACNtd,MAAMsd,kBAAkB1kB,KAAMA,KAAK2kB,eAGtCvlB,UAAYlB,OAAOY,OAAOsI,MAAMhI,WACrClB,OAAOC,eAAemmB,GAAKllB,UAAW,cAAe,CAAEX,MAAO6lB,GAAMM,UAAU,EAAMrM,cAAc,IAC3F+L,IAIX,SAASO,GAAqBC,EAAQC,EAAMC,EAAcC,EAAcC,EAAeC,GACnF,IAAIxL,EAASqB,EAAmC8J,GAC5CpF,EAASjB,GAAmCsG,GAChDD,EAAO5I,YAAa,EACpB,IAAIkJ,GAAe,EAEfC,EAAehP,OAAoBH,GACvC,OAAOgB,GAAW,SAAU/G,EAASG,GACjC,IAAIuN,EAiHuBlc,EAAQ2V,EAASgO,EAhH5C,QAAepP,IAAXiP,EAAsB,CAsBtB,GArBAtH,EAAiB,WACb,IAAIiC,EAAQ,IAAIyE,GAAe,UAAW,cACtCgB,EAAU,IACO,IAAjBN,GACAM,EAAQzd,MAAK,WACT,MAAoB,aAAhBid,EAAKhL,OACEqE,GAAoB2G,EAAMjF,GAE9BzJ,OAAoBH,OAGb,IAAlBgP,GACAK,EAAQzd,MAAK,WACT,MAAsB,aAAlBgd,EAAO/K,OACAO,GAAqBwK,EAAQhF,GAEjCzJ,OAAoBH,MAGnCsP,GAAmB,WAAc,OAAOtV,QAAQuV,IAAIF,EAAQ1X,KAAI,SAAUyX,GAAU,OAAOA,WAAkB,EAAMxF,KAEhG,IAAnBqF,EAAOhB,QAEP,YADAtG,IAGJsH,EAAOO,iBAAiB,QAAS7H,GA8DrC,GA3BA8H,EAAmBb,EAAQnL,EAAOgB,gBAAgB,SAAUwF,IACnC,IAAjB8E,EACAO,GAAmB,WAAc,OAAOpH,GAAoB2G,EAAM5E,MAAiB,EAAMA,GAGzFyF,GAAS,EAAMzF,MAIvBwF,EAAmBZ,EAAMrF,EAAO/E,gBAAgB,SAAUwF,IAChC,IAAlB+E,EACAM,GAAmB,WAAc,OAAOlL,GAAqBwK,EAAQ3E,MAAiB,EAAMA,GAG5FyF,GAAS,EAAMzF,MAqCIxe,EAjCTmjB,EAiCiBxN,EAjCTqC,EAAOgB,eAiCW2K,EAjCK,YACxB,IAAjBN,EACAQ,GAAmB,WAAc,OAhdjD,SAA8D9F,GAC1D,IAAI/d,EAAS+d,EAAOkB,qBAChBzB,EAAQxd,EAAOoY,OACnB,OAAoD,IAAhDuE,GAAoC3c,IAA8B,WAAVwd,EACjD9I,OAAoBH,GAEjB,YAAViJ,EACO5I,EAAoB5U,EAAOyY,cAE/BqH,GAAiC/B,GAucYmG,CAAqDnG,MAG7FkG,KA6BkB,WAAlBjkB,EAAOoY,OACPuL,IAGA5N,EAAgBJ,EAASgO,IA7BiB,IAA9ChH,GAAoCyG,IAAkC,WAAhBA,EAAKhL,OAAqB,CAChF,IAAI+L,EAAe,IAAIhW,UAAU,gFACX,IAAlBoV,EACAM,GAAmB,WAAc,OAAOlL,GAAqBwK,EAAQgB,MAAkB,EAAMA,GAG7FF,GAAS,EAAME,GAIvB,SAASC,IAGL,IAAIC,EAAkBX,EACtB,OAAOhO,EAAmBgO,GAAc,WAAc,OAAOW,IAAoBX,EAAeU,SAA0B7P,KAE9H,SAASyP,EAAmBhkB,EAAQ2V,EAASgO,GACnB,YAAlB3jB,EAAOoY,OACPuL,EAAO3jB,EAAOyY,cAGdzC,EAAcL,EAASgO,GAW/B,SAASE,EAAmBF,EAAQW,EAAiBC,GAWjD,SAASC,IACL1O,EAAY6N,KAAU,WAAc,OAAOc,EAASH,EAAiBC,MAAmB,SAAUG,GAAY,OAAOD,GAAS,EAAMC,OAXnH,IAAjBjB,IAGJA,GAAe,EACK,aAAhBL,EAAKhL,SAAuE,IAA9CuE,GAAoCyG,GAClErN,EAAgBqO,IAAyBI,GAGzCA,KAMR,SAASP,EAASU,EAASxG,IACF,IAAjBsF,IAGJA,GAAe,EACK,aAAhBL,EAAKhL,SAAuE,IAA9CuE,GAAoCyG,GAClErN,EAAgBqO,KAAyB,WAAc,OAAOK,EAASE,EAASxG,MAGhFsG,EAASE,EAASxG,IAG1B,SAASsG,EAASE,EAASxG,GACvB4B,GAAmChC,GACnCnF,EAAmCZ,QACpBzD,IAAXiP,GACAA,EAAOoB,oBAAoB,QAAS1I,GAEpCyI,EACAhW,EAAOwP,GAGP3P,OAAQ+F,GA5DhB6B,EAjEWb,GAAW,SAAUsP,EAAaC,IACrC,SAASlW,EAAKF,GACNA,EACAmW,IAKAnP,GAOS,IAAjB+N,EACO/O,GAAoB,GAExBgB,EAAmBqI,EAAO6B,eAAe,WAC5C,OAAOlK,EAAmB2E,EAAgCrC,IAAS,SAAU6C,GACzE,OAAoB,IAAhBA,EAAOnM,OAGXgV,EAAehO,EAAmBuK,GAAiClC,EAAQlD,EAAO/d,YAAQyX,EAAWlB,IAC9F,SAhB4BzE,EAAMkW,GAG7ClW,EAAK,UAwHrB,IAAImW,GAAiD,WAEjD,SAASA,IACL,MAAM,IAAI5W,UA6Dd,OA3DA5R,OAAOC,eAAeuoB,EAAgCtnB,UAAW,cAAe,CAC5Ef,IAAK,WACD,IAAgD,IAA5CsoB,GAAkC3mB,MAClC,MAAM4mB,GAAqC,eAE/C,OAAOC,GAA8C7mB,OAEzD5B,YAAY,EACZma,cAAc,IAElBmO,EAAgCtnB,UAAUif,MAAQ,WAC9C,IAAgD,IAA5CsI,GAAkC3mB,MAClC,MAAM4mB,GAAqC,SAE/C,IAA+D,IAA3DE,GAAiD9mB,MACjD,MAAM,IAAI8P,UAAU,mDAExBiX,GAAqC/mB,OAEzC0mB,EAAgCtnB,UAAU4nB,QAAU,SAAUnQ,GAC1D,IAAgD,IAA5C8P,GAAkC3mB,MAClC,MAAM4mB,GAAqC,WAE/C,IAA+D,IAA3DE,GAAiD9mB,MACjD,MAAM,IAAI8P,UAAU,qDAExB,OAAOmX,GAAuCjnB,KAAM6W,IAExD6P,EAAgCtnB,UAAU0gB,MAAQ,SAAU5f,GACxD,IAAgD,IAA5CymB,GAAkC3mB,MAClC,MAAM4mB,GAAqC,SAE/CM,GAAqClnB,KAAME,IAG/CwmB,EAAgCtnB,UAAU0b,GAAe,SAAU1D,GAC/D4F,GAAWhd,MACX,IAAIwc,EAASxc,KAAKmnB,iBAAiB/P,GAEnC,OADAgQ,GAA+CpnB,MACxCwc,GAGXkK,EAAgCtnB,UAAU2b,GAAa,WACnD,IAAIpZ,EAAS3B,KAAKqnB,0BAClB,GAAIrnB,KAAK6c,OAAOjV,OAAS,EAAG,CACxB,IAAIiP,EAAQ6F,GAAa1c,MAQzB,OAP6B,IAAzBA,KAAKsnB,iBAAmD,IAAvBtnB,KAAK6c,OAAOjV,QAC7Cwf,GAA+CpnB,MAC/CunB,GAAoB5lB,IAGpB6lB,GAAgDxnB,MAE7CqW,EAAoBkD,EAA+B1C,GAAO,EAAOlV,EAAOmY,QAAQF,iBAE3F,IAAI6N,EAAiBvM,EAA6BvZ,GAElD,OADA6lB,GAAgDxnB,MACzCynB,GAEJf,EAhEyC,GAmEpD,SAASC,GAAkC7U,GACvC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,6BAKjD,SAAS0V,GAAgD/J,IAElC,IADFiK,GAA8CjK,MAInC,IAAxBA,EAAWkK,UAIflK,EAAWkK,UAAW,EAEtBlQ,EADkBgG,EAAWmK,kBACJ,WACrBnK,EAAWkK,UAAW,GACQ,IAA1BlK,EAAWoK,aACXpK,EAAWoK,YAAa,EACxBL,GAAgD/J,OAErD,SAAUvd,GACTgnB,GAAqCzJ,EAAYvd,OAZjDud,EAAWoK,YAAa,GAehC,SAASH,GAA8CjK,GACnD,IAAI9b,EAAS8b,EAAW4J,0BACxB,OAAqE,IAAjEP,GAAiDrJ,MAGzB,IAAxBA,EAAWyC,YAGwB,IAAnCpE,GAAuBna,IAAoB6Z,EAAiC7Z,GAAU,GAGxEklB,GAA8CpJ,GAC9C,IAKtB,SAAS2J,GAA+C3J,GACpDA,EAAWmK,oBAAiB1R,EAC5BuH,EAAW0J,sBAAmBjR,EAC9BuH,EAAW4E,4BAAyBnM,EAGxC,SAAS6Q,GAAqCtJ,GAC1C,IAAI9b,EAAS8b,EAAW4J,0BACxB5J,EAAW6J,iBAAkB,EACI,IAA7B7J,EAAWZ,OAAOjV,SAClBwf,GAA+C3J,GAC/C8J,GAAoB5lB,IAG5B,SAASslB,GAAuCxJ,EAAY5G,GACxD,IAAIlV,EAAS8b,EAAW4J,0BACxB,IAAuC,IAAnCvL,GAAuBna,IAAoB6Z,EAAiC7Z,GAAU,EACtF4Z,EAAiC5Z,EAAQkV,GAAO,OAE/C,CACD,IAAIuL,OAAY,EAChB,IACIA,EAAY3E,EAAW4E,uBAAuBxL,GAElD,MAAOyL,GAEH,MADA4E,GAAqCzJ,EAAY6E,GAC3CA,EAEV,IACIvF,GAAqBU,EAAY5G,EAAOuL,GAE5C,MAAOO,GAEH,MADAuE,GAAqCzJ,EAAYkF,GAC3CA,GAGd6E,GAAgD/J,GAEpD,SAASyJ,GAAqCzJ,EAAYvd,GACtD,IAAIyB,EAAS8b,EAAW4J,0BACF,aAAlB1lB,EAAOoY,SAGXiD,GAAWS,GACX2J,GAA+C3J,GAC/CqK,GAAoBnmB,EAAQzB,IAEhC,SAAS2mB,GAA8CpJ,GACnD,IACI0B,EADS1B,EAAW4J,0BACLtN,OACnB,MAAc,YAAVoF,EACO,KAEG,WAAVA,EACO,EAEJ1B,EAAW2F,aAAe3F,EAAWX,gBAShD,SAASgK,GAAiDrJ,GACtD,IAAI0B,EAAQ1B,EAAW4J,0BAA0BtN,OACjD,OAAmC,IAA/B0D,EAAW6J,iBAAuC,aAAVnI,EAKhD,SAAS4I,GAAqCpmB,EAAQ8b,EAAY0F,EAAgB6E,EAAeC,EAAiBxR,EAAe+G,GAC7HC,EAAW4J,0BAA4B1lB,EACvC8b,EAAWZ,YAAS3G,EACpBuH,EAAWX,qBAAkB5G,EAC7B8G,GAAWS,GACXA,EAAWyC,UAAW,EACtBzC,EAAW6J,iBAAkB,EAC7B7J,EAAWoK,YAAa,EACxBpK,EAAWkK,UAAW,EACtBlK,EAAW4E,uBAAyB7E,EACpCC,EAAW2F,aAAe3M,EAC1BgH,EAAWmK,eAAiBI,EAC5BvK,EAAW0J,iBAAmBc,EAC9BtmB,EAAOwa,0BAA4BsB,EAEnChG,EAAYpB,EADM8M,MAC4B,WAC1C1F,EAAWyC,UAAW,EACtBsH,GAAgD/J,MACjD,SAAUnf,GACT4oB,GAAqCzJ,EAAYnf,MAazD,SAASsoB,GAAqC7oB,GAC1C,OAAO,IAAI+R,UAAU,6CAA+C/R,EAAO,0DAmF/E,IAAImqB,GAAkB9Y,OAAO+Y,WAAa,SAAU1pB,GAChD,MAAwB,iBAAVA,GACV2pB,SAAS3pB,IACT8S,KAAK8W,MAAM5pB,KAAWA,GAG1B6pB,GAA2C,WAE3C,SAASA,IACL,MAAM,IAAIxY,UAAU,qDAmCxB,OAjCA5R,OAAOC,eAAemqB,EAA0BlpB,UAAW,OAAQ,CAC/Df,IAAK,WACD,IAA0C,IAAtCkqB,GAA4BvoB,MAC5B,MAAMwoB,GAA+B,QAEzC,OAAOxoB,KAAKyoB,OAEhBrqB,YAAY,EACZma,cAAc,IAElB+P,EAA0BlpB,UAAUspB,QAAU,SAAUC,GACpD,IAA0C,IAAtCJ,GAA4BvoB,MAC5B,MAAMwoB,GAA+B,WAEzC,QAAqDtS,IAAjDlW,KAAK4oB,wCACL,MAAM,IAAI9Y,UAAU,0CAEH9P,KAAKyoB,MAAM/kB,OAwcxC,SAA6C+Z,EAAYkL,GAErD,IAAgD,IAA5CpT,EADJoT,EAAevZ,OAAOuZ,IAElB,MAAM,IAAIjS,WAAW,iCAEzBmS,GAA4CpL,EAAYkL,GA5cpDG,CAAoC9oB,KAAK4oB,wCAAyCD,IAEtFL,EAA0BlpB,UAAU2pB,mBAAqB,SAAUC,GAC/D,IAA0C,IAAtCT,GAA4BvoB,MAC5B,MAAMwoB,GAA+B,WAEzC,QAAqDtS,IAAjDlW,KAAK4oB,wCACL,MAAM,IAAI9Y,UAAU,0CAExB,IAAKmZ,YAAYC,OAAOF,GACpB,MAAM,IAAIlZ,UAAU,gDAEHkZ,EAAKtlB,OAkclC,SAAwD+Z,EAAYuL,GAChE,IAAIG,EAAkB1L,EAAW2L,kBAAkBhQ,OACnD,GAAI+P,EAAgBvd,WAAaud,EAAgBE,cAAgBL,EAAKpd,WAClE,MAAM,IAAI8K,WAAW,2DAEzB,GAAIyS,EAAgB7nB,aAAe0nB,EAAK1nB,WACpC,MAAM,IAAIoV,WAAW,8DAEzByS,EAAgBzlB,OAASslB,EAAKtlB,OAC9BmlB,GAA4CpL,EAAYuL,EAAK1nB,YA1czDgoB,CAA+CtpB,KAAK4oB,wCAAyCI,IAE1FV,EAtCmC,GAwC1CiB,GAA8C,WAE9C,SAASA,IACL,MAAM,IAAIzZ,UAAU,oEAoHxB,OAlHA5R,OAAOC,eAAeorB,EAA6BnqB,UAAW,cAAe,CACzEf,IAAK,WACD,IAA6C,IAAzCmrB,GAA+BxpB,MAC/B,MAAMypB,GAAwC,eAElD,QAA0BvT,IAAtBlW,KAAK0pB,cAA8B1pB,KAAKopB,kBAAkBxhB,OAAS,EAAG,CACtE,IAAIuhB,EAAkBnpB,KAAKopB,kBAAkBhQ,OACzC4P,EAAO,IAAIxnB,WAAW2nB,EAAgBzlB,OAAQylB,EAAgBvd,WAAaud,EAAgBE,YAAaF,EAAgB7nB,WAAa6nB,EAAgBE,aACrJM,EAAczrB,OAAOY,OAAOwpB,GAA0BlpB,YAme1E,SAAwCwqB,EAASnM,EAAYuL,GACzDY,EAAQhB,wCAA0CnL,EAClDmM,EAAQnB,MAAQO,EApeJa,CAA+BF,EAAa3pB,KAAMgpB,GAClDhpB,KAAK0pB,aAAeC,EAExB,OAAO3pB,KAAK0pB,cAEhBtrB,YAAY,EACZma,cAAc,IAElBra,OAAOC,eAAeorB,EAA6BnqB,UAAW,cAAe,CACzEf,IAAK,WACD,IAA6C,IAAzCmrB,GAA+BxpB,MAC/B,MAAMypB,GAAwC,eAElD,OAAOK,GAA2C9pB,OAEtD5B,YAAY,EACZma,cAAc,IAElBgR,EAA6BnqB,UAAUif,MAAQ,WAC3C,IAA6C,IAAzCmL,GAA+BxpB,MAC/B,MAAMypB,GAAwC,SAElD,IAA6B,IAAzBzpB,KAAKsnB,gBACL,MAAM,IAAIxX,UAAU,8DAExB,IAAIqP,EAAQnf,KAAK+pB,8BAA8BhQ,OAC/C,GAAc,aAAVoF,EACA,MAAM,IAAIrP,UAAU,kBAAoBqP,EAAQ,8DA8U5D,SAA2C1B,GACvC,IAAI9b,EAAS8b,EAAWsM,8BACxB,GAAItM,EAAWX,gBAAkB,EAE7B,YADAW,EAAW6J,iBAAkB,GAGjC,GAAI7J,EAAW2L,kBAAkBxhB,OAAS,EAAG,CAEzC,GAD2B6V,EAAW2L,kBAAkBhQ,OAC/BiQ,YAAc,EAAG,CACtC,IAAInpB,EAAI,IAAI4P,UAAU,2DAEtB,MADAka,GAAkCvM,EAAYvd,GACxCA,GAGd+pB,GAA4CxM,GAC5C8J,GAAoB5lB,GA3VhBuoB,CAAkClqB,OAEtCupB,EAA6BnqB,UAAU4nB,QAAU,SAAUnQ,GACvD,IAA6C,IAAzC2S,GAA+BxpB,MAC/B,MAAMypB,GAAwC,WAElD,IAA6B,IAAzBzpB,KAAKsnB,gBACL,MAAM,IAAIxX,UAAU,gCAExB,IAAIqP,EAAQnf,KAAK+pB,8BAA8BhQ,OAC/C,GAAc,aAAVoF,EACA,MAAM,IAAIrP,UAAU,kBAAoBqP,EAAQ,kEAEpD,IAAK8J,YAAYC,OAAOrS,GACpB,MAAM,IAAI/G,UAAU,qFAEH+G,EAAMnT,OA6UnC,SAA6C+Z,EAAY5G,GACrD,IAAIlV,EAAS8b,EAAWsM,8BACpBrmB,EAASmT,EAAMnT,OACfkI,EAAaiL,EAAMjL,WACnBtK,EAAauV,EAAMvV,WACnB6oB,EAAwCzmB,EAC5C,IAA+C,IAA3C+X,EAA+B9Z,GAC/B,GAAiD,IAA7C6Z,EAAiC7Z,GACjCyoB,GAAgD3M,EAAY0M,EAAmBve,EAAYtK,OAE1F,CACD,IAAI+oB,EAAkB,IAAI7oB,WAAW2oB,EAAmBve,EAAYtK,GACpEia,EAAiC5Z,EAAQ0oB,GAAiB,QAGjB,IAAxCC,GAA4B3oB,IAEjCyoB,GAAgD3M,EAAY0M,EAAmBve,EAAYtK,GAC3FipB,GAAiE9M,IAGjE2M,GAAgD3M,EAAY0M,EAAmBve,EAAYtK,GAE/FkpB,GAA6C/M,GAnWzCgN,CAAoCzqB,KAAM6W,IAE9C0S,EAA6BnqB,UAAU0gB,MAAQ,SAAU5f,GACrD,IAA6C,IAAzCspB,GAA+BxpB,MAC/B,MAAMypB,GAAwC,SAElDO,GAAkChqB,KAAME,IAG5CqpB,EAA6BnqB,UAAU0b,GAAe,SAAU1D,GACxDpX,KAAKopB,kBAAkBxhB,OAAS,IACV5H,KAAKopB,kBAAkBhQ,OAC7BiQ,YAAc,GAElCrM,GAAWhd,MACX,IAAIwc,EAASxc,KAAKmnB,iBAAiB/P,GAEnC,OADA6S,GAA4CjqB,MACrCwc,GAGX+M,EAA6BnqB,UAAU2b,GAAa,WAChD,IAAIpZ,EAAS3B,KAAK+pB,8BAClB,GAAI/pB,KAAK8c,gBAAkB,EAAG,CAC1B,IAAI4N,EAAQ1qB,KAAK6c,OAAOjE,QACxB5Y,KAAK8c,iBAAmB4N,EAAMppB,WAC9BqpB,GAA6C3qB,MAC7C,IAAIgpB,OAAO,EACX,IACIA,EAAO,IAAIxnB,WAAWkpB,EAAMhnB,OAAQgnB,EAAM9e,WAAY8e,EAAMppB,YAEhE,MAAOspB,GACH,OAAOrU,EAAoBqU,GAE/B,OAAOvU,EAAoBkD,EAA+ByP,GAAM,EAAOrnB,EAAOmY,QAAQF,iBAE1F,IAAIiR,EAAwB7qB,KAAK8qB,uBACjC,QAA8B5U,IAA1B2U,EAAqC,CACrC,IAAInnB,OAAS,EACb,IACIA,EAAS,IAAIulB,YAAY4B,GAE7B,MAAOE,GACH,OAAOxU,EAAoBwU,GAE/B,IAAIC,EAAqB,CACrBtnB,OAAQA,EACRkI,WAAY,EACZtK,WAAYupB,EACZxB,YAAa,EACb4B,YAAa,EACb3G,KAAM9iB,WACN0pB,WAAY,WAEhBlrB,KAAKopB,kBAAkBthB,KAAKkjB,GAEhC,IAAI1T,EAAU4D,EAA6BvZ,GAE3C,OADA6oB,GAA6CxqB,MACtCsX,GAEJiS,EAvHsC,GA0HjD,SAASC,GAA+B1X,GACpC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,iCAKjD,SAASyW,GAA4BzW,GACjC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,2CAKjD,SAAS0Y,GAA6C/M,IAE/B,IA6MvB,SAAoDA,GAChD,IAAI9b,EAAS8b,EAAWsM,8BACxB,GAAsB,aAAlBpoB,EAAOoY,OACP,OAAO,EAEX,IAAmC,IAA/B0D,EAAW6J,gBACX,OAAO,EAEX,IAA4B,IAAxB7J,EAAWyC,SACX,OAAO,EAEX,IAA+C,IAA3CzE,EAA+B9Z,IAAoB6Z,EAAiC7Z,GAAU,EAC9F,OAAO,EAEX,IAA4C,IAAxC2oB,GAA4B3oB,IAAoBwpB,GAAqCxpB,GAAU,EAC/F,OAAO,EAGX,GADkBmoB,GAA2CrM,GAC3C,EACd,OAAO,EAEX,OAAO,EAnOU2N,CAA2C3N,MAIhC,IAAxBA,EAAWkK,UAIflK,EAAWkK,UAAW,EAGtBlQ,EADkBgG,EAAWmK,kBACJ,WACrBnK,EAAWkK,UAAW,GACQ,IAA1BlK,EAAWoK,aACXpK,EAAWoK,YAAa,EACxB2C,GAA6C/M,OAElD,SAAUvd,GACT8pB,GAAkCvM,EAAYvd,OAb9Cud,EAAWoK,YAAa,GAoBhC,SAASwD,GAAqD1pB,EAAQqpB,GAClE,IAAI3a,GAAO,EACW,WAAlB1O,EAAOoY,SACP1J,GAAO,GAEX,IAAIib,EAAaC,GAAsDP,GACjC,YAAlCA,EAAmBE,WACnB3P,EAAiC5Z,EAAQ2pB,EAAYjb,GAkW7D,SAA8C1O,EAAQkV,EAAOxG,GACzD,IAAIsJ,EAAShY,EAAOmY,QACEH,EAAO6R,kBAAkB5S,QAC/BwC,SAAS7B,EAA+B1C,EAAOxG,EAAMsJ,EAAOC,iBAlWxE6R,CAAqC9pB,EAAQ2pB,EAAYjb,GAGjE,SAASkb,GAAsDP,GAC3D,IAAI3B,EAAc2B,EAAmB3B,YACjC4B,EAAcD,EAAmBC,YACrC,OAAO,IAAID,EAAmB1G,KAAK0G,EAAmBtnB,OAAQsnB,EAAmBpf,WAAYyd,EAAc4B,GAE/G,SAASb,GAAgD3M,EAAY/Z,EAAQkI,EAAYtK,GACrFmc,EAAWZ,OAAO/U,KAAK,CAAEpE,OAAQA,EAAQkI,WAAYA,EAAYtK,WAAYA,IAC7Emc,EAAWX,iBAAmBxb,EAElC,SAASoqB,GAA4DjO,EAAYuN,GAC7E,IAAIC,EAAcD,EAAmBC,YACjCU,EAAsBX,EAAmB3B,YAAc2B,EAAmB3B,YAAc4B,EACxFW,EAAiBra,KAAKC,IAAIiM,EAAWX,gBAAiBkO,EAAmB1pB,WAAa0pB,EAAmB3B,aACzGwC,EAAiBb,EAAmB3B,YAAcuC,EAClDE,EAAkBD,EAAiBA,EAAiBZ,EACpDc,EAA4BH,EAC5BI,GAAQ,EACRF,EAAkBH,IAClBI,EAA4BD,EAAkBd,EAAmB3B,YACjE2C,GAAQ,GAGZ,IADA,IA7gEqBjH,EAAMkH,EAAYC,EAAKC,EAAWltB,EA6gEnDmtB,EAAQ3O,EAAWZ,OAChBkP,EAA4B,GAAG,CAClC,IAAIM,EAAcD,EAAMhT,OACpBkT,EAAc/a,KAAKC,IAAIua,EAA2BM,EAAY/qB,YAC9DirB,EAAYvB,EAAmBpf,WAAaof,EAAmB3B,YAjhElDtE,EAkhEDiG,EAAmBtnB,OAlhEZuoB,EAkhEoBM,EAlhERL,EAkhEmBG,EAAY3oB,OAlhE1ByoB,EAkhEkCE,EAAYzgB,WAlhEnC3M,EAkhE+CqtB,EAjhEtG,IAAI9qB,WAAWujB,GAAMxd,IAAI,IAAI/F,WAAW0qB,EAAKC,EAAWltB,GAAIgtB,GAkhEpDI,EAAY/qB,aAAegrB,EAC3BF,EAAMxT,SAGNyT,EAAYzgB,YAAc0gB,EAC1BD,EAAY/qB,YAAcgrB,GAE9B7O,EAAWX,iBAAmBwP,EAC9BE,GAAuD/O,EAAY6O,EAAatB,GAChFe,GAA6BO,EAEjC,OAAON,EAEX,SAASQ,GAAuD/O,EAAY7G,EAAMoU,GAC9EyB,GAAkDhP,GAClDuN,EAAmB3B,aAAezS,EAEtC,SAAS+T,GAA6ClN,GACf,IAA/BA,EAAWX,kBAAwD,IAA/BW,EAAW6J,iBAC/C2C,GAA4CxM,GAC5C8J,GAAoB9J,EAAWsM,gCAG/BS,GAA6C/M,GAGrD,SAASgP,GAAkDhP,QACvBvH,IAA5BuH,EAAWiM,eAGfjM,EAAWiM,aAAad,6CAA0C1S,EAClEuH,EAAWiM,aAAajB,WAAQvS,EAChCuH,EAAWiM,kBAAexT,GAE9B,SAASqU,GAAiE9M,GACtE,KAAOA,EAAW2L,kBAAkBxhB,OAAS,GAAG,CAC5C,GAAmC,IAA/B6V,EAAWX,gBACX,OAEJ,IAAIkO,EAAqBvN,EAAW2L,kBAAkBhQ,QAC8C,IAAhGsS,GAA4DjO,EAAYuN,KACxE0B,GAAiDjP,GACjD4N,GAAqD5N,EAAWsM,8BAA+BiB,KAgF3G,SAASnC,GAA4CpL,EAAYkL,GAC7D,IAAIQ,EAAkB1L,EAAW2L,kBAAkBhQ,OAEnD,GAAsB,WADTqE,EAAWsM,8BACbhQ,OAAqB,CAC5B,GAAqB,IAAjB4O,EACA,MAAM,IAAI7Y,UAAU,qEApChC,SAA0D2N,EAAY0L,GAClEA,EAAgBzlB,OAA6BylB,EAAgBzlB,OAC7D,IAAI/B,EAAS8b,EAAWsM,8BACxB,IAA4C,IAAxCO,GAA4B3oB,GAC5B,KAAOwpB,GAAqCxpB,GAAU,GAAG,CAErD0pB,GAAqD1pB,EAD5B+qB,GAAiDjP,KAiC9EkP,CAAiDlP,EAAY0L,QA5BrE,SAA4D1L,EAAYkL,EAAcqC,GAClF,GAAIA,EAAmB3B,YAAcV,EAAeqC,EAAmB1pB,WACnE,MAAM,IAAIoV,WAAW,6BAGzB,GADA8V,GAAuD/O,EAAYkL,EAAcqC,KAC7EA,EAAmB3B,YAAc2B,EAAmBC,aAAxD,CAIAyB,GAAiDjP,GACjD,IAAImP,EAAgB5B,EAAmB3B,YAAc2B,EAAmBC,YACxE,GAAI2B,EAAgB,EAAG,CACnB,IAAIlhB,EAAMsf,EAAmBpf,WAAaof,EAAmB3B,YACzDwD,EAAY7B,EAAmBtnB,OAAO4K,MAAM5C,EAAMkhB,EAAelhB,GACrE0e,GAAgD3M,EAAYoP,EAAW,EAAGA,EAAUvrB,YAExF0pB,EAAmBtnB,OAA6BsnB,EAAmBtnB,OACnEsnB,EAAmB3B,aAAeuD,EAClCvB,GAAqD5N,EAAWsM,8BAA+BiB,GAC/FT,GAAiE9M,IAY7DqP,CAAmDrP,EAAYkL,EAAcQ,GAEjFqB,GAA6C/M,GAEjD,SAASiP,GAAiDjP,GACtD,IAAIsP,EAAatP,EAAW2L,kBAAkBxQ,QAE9C,OADA6T,GAAkDhP,GAC3CsP,EAyBX,SAAS9C,GAA4CxM,GACjDA,EAAWmK,oBAAiB1R,EAC5BuH,EAAW0J,sBAAmBjR,EA6ClC,SAAS8T,GAAkCvM,EAAYvd,GACnD,IAAIyB,EAAS8b,EAAWsM,8BACF,aAAlBpoB,EAAOoY,UAjQf,SAA2D0D,GACvDgP,GAAkDhP,GAClDA,EAAW2L,kBAAoB,IAAIpR,EAkQnCgV,CAAkDvP,GAClDT,GAAWS,GACXwM,GAA4CxM,GAC5CqK,GAAoBnmB,EAAQzB,IAEhC,SAAS4pB,GAA2CrM,GAChD,IACI0B,EADS1B,EAAWsM,8BACLhQ,OACnB,MAAc,YAAVoF,EACO,KAEG,WAAVA,EACO,EAEJ1B,EAAW2F,aAAe3F,EAAWX,gBA4ChD,SAASmQ,GAAsDtrB,EAAQurB,EAAsBzW,GACzF,IAAIgH,EAAavf,OAAOY,OAAOyqB,GAA6BnqB,WAI5D,IAAI4oB,EAAgBpS,EAAoCsX,EAAsB,OAAQ,EAAG,CAACzP,IACtFwK,EAAkBrS,EAAoCsX,EAAsB,SAAU,EAAG,IACzFrC,EAAwBqC,EAAqBrC,sBACjD,QAA8B3U,IAA1B2U,IACAA,EAAwBzb,OAAOyb,IACgB,IAA3C3C,GAAgB2C,IAAoCA,GAAyB,GAC7E,MAAM,IAAInU,WAAW,qDAnCjC,SAA2C/U,EAAQ8b,EAAY0F,EAAgB6E,EAAeC,EAAiBxR,EAAeoU,GAC1HpN,EAAWsM,8BAAgCpoB,EAC3C8b,EAAWoK,YAAa,EACxBpK,EAAWkK,UAAW,EACtBlK,EAAWiM,kBAAexT,EAE1BuH,EAAWZ,OAASY,EAAWX,qBAAkB5G,EACjD8G,GAAWS,GACXA,EAAW6J,iBAAkB,EAC7B7J,EAAWyC,UAAW,EACtBzC,EAAW2F,aAAe5M,EAAkCC,GAC5DgH,EAAWmK,eAAiBI,EAC5BvK,EAAW0J,iBAAmBc,EAC9BxK,EAAWqN,uBAAyBD,EACpCpN,EAAW2L,kBAAoB,IAAIpR,EACnCrW,EAAOwa,0BAA4BsB,EAEnChG,EAAYpB,EADM8M,MAC4B,WAC1C1F,EAAWyC,UAAW,EACtBsK,GAA6C/M,MAC9C,SAAUnf,GACT0rB,GAAkCvM,EAAYnf,MAiBlD6uB,CAAkCxrB,EAAQ8b,GAZ1C,WACI,OAAOnH,EAAa4W,EAAsB,QAAS,CAACzP,MAWcuK,EAAeC,EAAiBxR,EAAeoU,GAOzH,SAASrC,GAA+BzqB,GACpC,OAAO,IAAI+R,UAAU,uCAAyC/R,EAAO,oDAGzE,SAAS0rB,GAAwC1rB,GAC7C,OAAO,IAAI+R,UAAU,0CAA4C/R,EAAO,uDAW5E,SAASqvB,GAAiCzrB,GAQtC,OAPcuV,GAAW,SAAU/G,EAASG,GACxC,IAAI+c,EAAkB,CAClBjS,SAAUjL,EACVkL,QAAS/K,GAEb3O,EAAOmY,QAAQ0R,kBAAkB1jB,KAAKulB,MAS9C,SAASlC,GAAqCxpB,GAC1C,OAAOA,EAAOmY,QAAQ0R,kBAAkB5jB,OAE5C,SAAS0iB,GAA4B3oB,GACjC,IAAIgY,EAAShY,EAAOmY,QACpB,YAAe5D,IAAXyD,KAGC2T,GAA2B3T,GAKpC,IAAI4T,GAA0C,WAC1C,SAASA,EAAyB5rB,GAC9B,IAAKka,GAAiBla,GAClB,MAAM,IAAImO,UAAU,uGAGxB,IAAyE,IAArE0Z,GAA+B7nB,EAAOwa,2BACtC,MAAM,IAAIrM,UAAU,+FAGxB,GAAIgM,GAAuBna,GACvB,MAAM,IAAImO,UAAU,+EAExB4J,EAAsC1Z,KAAM2B,GAC5C3B,KAAKwrB,kBAAoB,IAAIxT,EAiDjC,OA/CA9Z,OAAOC,eAAeovB,EAAyBnuB,UAAW,SAAU,CAChEf,IAAK,WACD,OAAKivB,GAA2BttB,MAGzBA,KAAK2a,eAFDpE,EAAoBiX,GAA8B,YAIjEpvB,YAAY,EACZma,cAAc,IAElBgV,EAAyBnuB,UAAUkT,OAAS,SAAU8E,GAClD,OAAKkW,GAA2BttB,WAGEkW,IAA9BlW,KAAK6Z,qBACEtD,EAAoBmE,EAAoB,WAE5CL,EAAkCra,KAAMoX,GALpCb,EAAoBiX,GAA8B,YAOjED,EAAyBnuB,UAAUiT,KAAO,SAAU2W,GAChD,OAAKsE,GAA2BttB,WAGEkW,IAA9BlW,KAAK6Z,qBACEtD,EAAoBmE,EAAoB,cAE9CuO,YAAYC,OAAOF,IAGHA,EAAKtlB,OACF,IAApBslB,EAAK1nB,WACEiV,EAAoB,IAAIzG,UAAU,uCA4BrD,SAAsC6J,EAAQqP,GAC1C,IAAIrnB,EAASgY,EAAOE,qBAEpB,GADAlY,EAAOua,YAAa,EACE,YAAlBva,EAAOoY,OACP,OAAOxD,EAAoB5U,EAAOyY,cAGtC,OAvXJ,SAA8CqD,EAAYuL,GACtD,IAAIrnB,EAAS8b,EAAWsM,8BACpBkB,EAAc,EACdjC,EAAKrE,cAAgB/V,WACrBqc,EAAcjC,EAAKrE,YAAY8I,mBAEnC,IAAInJ,EAAO0E,EAAKrE,YAEZqG,EAAqB,CACrBtnB,OAF6BslB,EAAKtlB,OAGlCkI,WAAYod,EAAKpd,WACjBtK,WAAY0nB,EAAK1nB,WACjB+nB,YAAa,EACb4B,YAAaA,EACb3G,KAAMA,EACN4G,WAAY,QAEhB,GAAIzN,EAAW2L,kBAAkBxhB,OAAS,EAKtC,OAJA6V,EAAW2L,kBAAkBthB,KAAKkjB,GAI3BoC,GAAiCzrB,GAE5C,GAAsB,WAAlBA,EAAOoY,OAEP,OAAO1D,EAAoBkD,EADX,IAAI+K,EAAK0G,EAAmBtnB,OAAQsnB,EAAmBpf,WAAY,IACd,EAAMjK,EAAOmY,QAAQF,iBAE9F,GAAI6D,EAAWX,gBAAkB,EAAG,CAChC,IAAoG,IAAhG4O,GAA4DjO,EAAYuN,GAA8B,CACtG,IAAIM,EAAaC,GAAsDP,GAEvE,OADAL,GAA6ClN,GACtCpH,EAAoBkD,EAA+B+R,GAAY,EAAO3pB,EAAOmY,QAAQF,iBAEhG,IAAmC,IAA/B6D,EAAW6J,gBAA0B,CACrC,IAAIpnB,EAAI,IAAI4P,UAAU,2DAEtB,OADAka,GAAkCvM,EAAYvd,GACvCqW,EAAoBrW,IAGnCud,EAAW2L,kBAAkBthB,KAAKkjB,GAClC,IAAI1T,EAAU8V,GAAiCzrB,GAE/C,OADA6oB,GAA6C/M,GACtCnG,EA4UAoW,CAAqC/rB,EAAOwa,0BAA2B6M,GAjCnE2E,CAA6B3tB,KAAMgpB,IAN/BzS,EAAoB,IAAIzG,UAAU,sCANlCyG,EAAoBiX,GAA8B,UAcjED,EAAyBnuB,UAAU6c,YAAc,WAC7C,IAAKqR,GAA2BttB,MAC5B,MAAMwtB,GAA8B,eAExC,QAAkCtX,IAA9BlW,KAAK6Z,qBAAT,CAGA,GAAI7Z,KAAKwrB,kBAAkB5jB,OAAS,EAChC,MAAM,IAAIkI,UAAU,uFAExByK,EAAmCva,QAEhCutB,EA/DkC,GAkE7C,SAASD,GAA2Bxb,GAChC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,qBAejD,SAAS0b,GAA8BzvB,GACnC,OAAO,IAAI+R,UAAU,sCAAwC/R,EAAO,mDAGxE,IAAI2W,GAAgC,WAChC,SAASA,EAAekZ,EAAkBtQ,QACb,IAArBsQ,IAA+BA,EAAmB,SACrC,IAAbtQ,IAAuBA,EAAW,IACtCuQ,GAAyB7tB,MACzB,IAAI4W,EAAO0G,EAAS1G,KAChBH,EAAgB6G,EAAS7G,cACzB5U,EAAO+rB,EAAiB/rB,KAE5B,GAAmB,UADFY,OAAOZ,GACI,CACxB,QAAaqU,IAATU,EACA,MAAM,IAAIF,WAAW,mEAEHR,IAAlBO,IACAA,EAAgB,GAGpBwW,GAAsDjtB,KAAM4tB,EAD5DnX,EAAgBD,EAAkCC,QAGjD,SAAaP,IAATrU,EASL,MAAM,IAAI6U,WAAW,6BARrB,IAAI8G,EAAgB7G,EAAkCC,QAChCV,IAAlBO,IACAA,EAAgB,GA5xBhC,SAAkE9U,EAAQisB,EAAkBnX,EAAe+G,GACvG,IAAIC,EAAavf,OAAOY,OAAO4nB,GAAgCtnB,WAI3D4oB,EAAgBpS,EAAoCgY,EAAkB,OAAQ,EAAG,CAACnQ,IAClFwK,EAAkBrS,EAAoCgY,EAAkB,SAAU,EAAG,IACzF7F,GAAqCpmB,EAAQ8b,GAL7C,WACI,OAAOnH,EAAasX,EAAkB,QAAS,CAACnQ,MAIqBuK,EAAeC,EAAiBxR,EAAe+G,GAwxBhHsQ,CAAyD9tB,KAAM4tB,EAD/DnX,EAAgBD,EAAkCC,GAC8C+G,IAuGxG,OAjGAtf,OAAOC,eAAeuW,EAAetV,UAAW,SAAU,CACtDf,IAAK,WACD,IAA+B,IAA3Bwd,GAAiB7b,MACjB,MAAM+tB,GAA4B,UAEtC,OAAOjS,GAAuB9b,OAElC5B,YAAY,EACZma,cAAc,IAElB7D,EAAetV,UAAUkT,OAAS,SAAU8E,GACxC,OAA+B,IAA3ByE,GAAiB7b,MACVuW,EAAoBwX,GAA4B,YAEtB,IAAjCjS,GAAuB9b,MAChBuW,EAAoB,IAAIzG,UAAU,qDAEtCwK,GAAqBta,KAAMoX,IAEtC1C,EAAetV,UAAUuV,UAAY,SAAUgH,GAC3C,IAAIhd,QAAe,IAAPgd,EAAgB,GAAKA,GAAIhd,KACrC,IAA+B,IAA3Bkd,GAAiB7b,MACjB,MAAM+tB,GAA4B,aAEtC,QAAa7X,IAATvX,EACA,OAAOqc,EAAmChb,MAAM,GAGpD,GAAa,UADbrB,EAAO8D,OAAO9D,IAEV,OAxLZ,SAAyCgD,EAAQ6X,QACvB,IAAlBA,IAA4BA,GAAgB,GAChD,IAAIG,EAAS,IAAI4T,GAAyB5rB,GAE1C,OADAgY,EAAOC,eAAiBJ,EACjBG,EAoLQqU,CAAgChuB,MAAM,GAEjD,MAAM,IAAI0W,WAAW,8BAEzBhC,EAAetV,UAAU6uB,YAAc,SAAUtS,EAAIuS,GACjD,IAAItJ,EAAWjJ,EAAGiJ,SAAUuJ,EAAWxS,EAAGwS,SACtCC,OAAY,IAAPF,EAAgB,GAAKA,EAAIlJ,EAAeoJ,EAAGpJ,aAAcC,EAAemJ,EAAGnJ,aAAcC,EAAgBkJ,EAAGlJ,cAAeC,EAASiJ,EAAGjJ,OAChJ,IAA+B,IAA3BtJ,GAAiB7b,MACjB,MAAM+tB,GAA4B,eAEtC,IAAmC,IAA/B/P,GAAiB4G,GACjB,MAAM,IAAI9U,UAAU,6DAExB,IAAmC,IAA/B+L,GAAiBsS,GACjB,MAAM,IAAIre,UAAU,6DAKxB,GAHAkV,EAAeqJ,QAAQrJ,GACvBC,EAAeoJ,QAAQpJ,GACvBC,EAAgBmJ,QAAQnJ,QACThP,IAAXiP,IAAyBjB,GAAciB,GACvC,MAAM,IAAIrV,UAAU,+EAExB,IAAqC,IAAjCgM,GAAuB9b,MACvB,MAAM,IAAI8P,UAAU,kFAExB,IAAyC,IAArCoO,GAAuB0G,GACvB,MAAM,IAAI9U,UAAU,kFAIxB,OADAiI,EADc8M,GAAqB7kB,KAAM4kB,EAAUI,EAAcC,EAAcC,EAAeC,IAEvFgJ,GAEXzZ,EAAetV,UAAUkvB,OAAS,SAAUvJ,EAAMpJ,GAC9C,IAAIuS,OAAY,IAAPvS,EAAgB,GAAKA,EAAIqJ,EAAekJ,EAAGlJ,aAAcC,EAAeiJ,EAAGjJ,aAAcC,EAAgBgJ,EAAGhJ,cAAeC,EAAS+I,EAAG/I,OAChJ,OAA+B,IAA3BtJ,GAAiB7b,MACVuW,EAAoBwX,GAA4B,YAE5B,IAA3B/P,GAAiB+G,GACVxO,EAAoB,IAAIzG,UAAU,+EAE7CkV,EAAeqJ,QAAQrJ,GACvBC,EAAeoJ,QAAQpJ,GACvBC,EAAgBmJ,QAAQnJ,QACThP,IAAXiP,GAAyBjB,GAAciB,IAGN,IAAjCrJ,GAAuB9b,MAChBuW,EAAoB,IAAIzG,UAAU,+EAER,IAAjCoO,GAAuB6G,GAChBxO,EAAoB,IAAIzG,UAAU,8EAEtC+U,GAAqB7kB,KAAM+kB,EAAMC,EAAcC,EAAcC,EAAeC,GARxE5O,EAAoB,IAAIzG,UAAU,6EAUjD4E,EAAetV,UAAUmvB,IAAM,WAC3B,IAA+B,IAA3B1S,GAAiB7b,MACjB,MAAM+tB,GAA4B,OAEtC,IAAIS,EA92BZ,SAA2B7sB,EAAQ8sB,GAC/B,IAIIC,EACAC,EACAC,EACAC,EACAC,EARAnV,EAASqB,EAAmCrZ,GAC5CotB,GAAU,EACVC,GAAY,EACZC,GAAY,EAMZC,EAAgBhY,GAAW,SAAU/G,GACrC2e,EAAuB3e,KAE3B,SAAS6X,IACL,OAAgB,IAAZ+G,IAGJA,GAAU,EA4BVhX,EA3BkBH,EAAqBoE,EAAgCrC,IAAS,SAAU6C,GAGtF,GAFAuS,GAAU,GAEG,IADFvS,EAAOnM,KAQd,OANkB,IAAd2e,GACAjI,GAAqC6H,EAAQzS,iCAE/B,IAAd8S,GACAlI,GAAqC8H,EAAQ1S,4BAIrD,IAAI1d,EAAQ+d,EAAO/d,MACf0wB,EAAS1wB,EACT2wB,EAAS3wB,GAMK,IAAduwB,GACA/H,GAAuC2H,EAAQzS,0BAA2BgT,IAE5D,IAAdF,GACAhI,GAAuC4H,EAAQ1S,0BAA2BiT,QA3BvE/Y,OAAoBH,GAqDnC,SAASiN,KAOT,OANAyL,EAAUS,GAAqBlM,EAAgB6E,GArB/C,SAA0B5Q,GAGtB,GAFA4X,GAAY,EACZN,EAAUtX,GACQ,IAAd6X,EAAoB,CACpB,IAAIK,EAAkBja,EAAoB,CAACqZ,EAASC,IAChDY,EAAejV,GAAqB3Y,EAAQ2tB,GAChDR,EAAqBS,GAEzB,OAAOL,KAcXL,EAAUQ,GAAqBlM,EAAgB6E,GAZ/C,SAA0B5Q,GAGtB,GAFA6X,GAAY,EACZN,EAAUvX,GACQ,IAAd4X,EAAoB,CACpB,IAAIM,EAAkBja,EAAoB,CAACqZ,EAASC,IAChDY,EAAejV,GAAqB3Y,EAAQ2tB,GAChDR,EAAqBS,GAEzB,OAAOL,KAKXvX,EAAcgC,EAAOgB,gBAAgB,SAAUrc,GAC3C4oB,GAAqC0H,EAAQzS,0BAA2B7d,GACxE4oB,GAAqC2H,EAAQ1S,0BAA2B7d,MAErE,CAACswB,EAASC,GAmyBEW,CAAkBxvB,MACjC,OAAOqV,EAAoBmZ,IAE/B9Z,EAAetV,UAAUqwB,YAAc,SAAU9T,GAC7C,IAAIuS,QAAa,IAAPvS,EAAgB,GAAKA,GAAIuJ,cAAeA,OAAuB,IAAPgJ,GAAwBA,EAC1F,IAA+B,IAA3BrS,GAAiB7b,MACjB,MAAM+tB,GAA4B,eAEtC,OAllER,SAA4CpsB,EAAQujB,QAC1B,IAAlBA,IAA4BA,GAAgB,GAChD,IAAIvL,EAASqB,EAAmCrZ,GAC5CkO,EAAW3R,OAAOY,OAAOsd,GAG7B,OAFAvM,EAAS0M,qBAAuB5C,EAChC9J,EAAS4M,eAAiB4R,QAAQnJ,GAC3BrV,EA4kEI6f,CAAmC1vB,KAAMklB,IAE7CxQ,EAhIwB,GA4InC,SAAS2a,GAAqBlM,EAAgB6E,EAAeC,EAAiBxR,EAAe+G,QACnE,IAAlB/G,IAA4BA,EAAgB,QAC1B,IAAlB+G,IAA4BA,EAAgB,WAAc,OAAO,IACrE,IAAI7b,EAASzD,OAAOY,OAAO4V,GAAetV,WAI1C,OAHAyuB,GAAyBlsB,GAEzBomB,GAAqCpmB,EADpBzD,OAAOY,OAAO4nB,GAAgCtnB,WACN+jB,EAAgB6E,EAAeC,EAAiBxR,EAAe+G,GACjH7b,EAEX,SAASksB,GAAyBlsB,GAC9BA,EAAOoY,OAAS,WAChBpY,EAAOmY,aAAU5D,EACjBvU,EAAOyY,kBAAelE,EACtBvU,EAAOua,YAAa,EAExB,SAASL,GAAiB/J,GACtB,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,6BAKjD,SAASgK,GAAuBna,GAC5B,YAAuBuU,IAAnBvU,EAAOmY,QAMf,SAASQ,GAAqB3Y,EAAQyV,GAElC,OADAzV,EAAOua,YAAa,EACE,WAAlBva,EAAOoY,OACA1D,OAAoBH,GAET,YAAlBvU,EAAOoY,OACAxD,EAAoB5U,EAAOyY,eAEtCmN,GAAoB5lB,GAEbiW,EADmBjW,EAAOwa,0BAA0BrB,GAAa1D,GACvBpC,IAErD,SAASuS,GAAoB5lB,GACzBA,EAAOoY,OAAS,SAChB,IAAIJ,EAAShY,EAAOmY,aACL5D,IAAXyD,IAGA+B,EAA8B/B,KAC9BA,EAAO2B,cAAcrC,SAAQ,SAAUkC,GACnCA,EAAYC,SAAS7B,OAA+BrD,GAAW,EAAMyD,EAAOC,oBAEhFD,EAAO2B,cAAgB,IAAItD,GAE/BiC,EAAkCN,IAEtC,SAASmO,GAAoBnmB,EAAQzB,GACjCyB,EAAOoY,OAAS,UAChBpY,EAAOyY,aAAela,EACtB,IAAIyZ,EAAShY,EAAOmY,aACL5D,IAAXyD,IAGA+B,EAA8B/B,IAC9BA,EAAO2B,cAAcrC,SAAQ,SAAUkC,GACnCA,EAAYE,QAAQnb,MAExByZ,EAAO2B,cAAgB,IAAItD,IAG3B2B,EAAO6R,kBAAkBvS,SAAQ,SAAUoU,GACvCA,EAAgBhS,QAAQnb,MAE5ByZ,EAAO6R,kBAAoB,IAAIxT,GAEnCwC,EAAiCb,EAAQzZ,IAG7C,SAAS6tB,GAA4BhwB,GACjC,OAAO,IAAI+R,UAAU,4BAA8B/R,EAAO,yCA1FlB,iBAAjC+W,EAAelF,eACtB1R,OAAOC,eAAeuW,GAAetV,UAAW0V,EAAelF,cAAe,CAC1EnR,MAAOiW,GAAetV,UAAUqwB,YAChCrxB,YAAY,EACZwmB,UAAU,EACVrM,cAAc,IAwFtB,IAAIoX,GAA2C,WAC3C,SAASA,EAA0BhU,GAC/B,IAAIlF,EAAgBkF,EAAGlF,cACvBzW,KAAKyW,cAAgBA,EAKzB,OAHAkZ,EAA0BvwB,UAAUwX,KAAO,SAAUC,GACjD,OAAOA,EAAMvV,YAEVquB,EARmC,GAW1CC,GAAsC,WACtC,SAASA,EAAqBjU,GAC1B,IAAIlF,EAAgBkF,EAAGlF,cACvBzW,KAAKyW,cAAgBA,EAKzB,OAHAmZ,EAAqBxwB,UAAUwX,KAAO,WAClC,OAAO,GAEJgZ,EAR8B,GAYrCC,GAAiC,WACjC,SAASA,EAAgBC,EAAaC,EAAkBC,QAChC,IAAhBF,IAA0BA,EAAc,SACnB,IAArBC,IAA+BA,EAAmB,SAC7B,IAArBC,IAA+BA,EAAmB,IACtD,IAAIC,EAAuBF,EAAiBnZ,KACxCsZ,EAAwBH,EAAiBtZ,cACzC0Z,EAAuBH,EAAiBpZ,KACxCwZ,EAAwBJ,EAAiBvZ,cAE7C,QAAqBP,IADF4Z,EAAYO,aAE3B,MAAM,IAAI3Z,WAAW,mCAEzB,IAAI4Z,EAAwB3Z,EAAkCsZ,GAM9D,QAL8B/Z,IAA1Bga,IACAA,EAAwB,GAE5BA,EAAwB1Z,EAAkC0Z,QAErCha,IADF4Z,EAAYS,aAE3B,MAAM,IAAI7Z,WAAW,mCAEzB,IAKI8Z,EALAC,EAAwB9Z,EAAkCwZ,QAChCja,IAA1Bka,IACAA,EAAwB,GAE5BA,EAAwB5Z,EAAkC4Z,GAgClE,SAAmCzuB,EAAQ+uB,EAAcR,EAAuBI,EAAuBF,EAAuBK,GAC1H,SAAStN,IACL,OAAOuN,EAWX/uB,EAAOgvB,UAlqEX,SAA8BxN,EAAgBxF,EAAgBC,EAAgBC,EAAgBpH,EAAe+G,QACnF,IAAlB/G,IAA4BA,EAAgB,QAC1B,IAAlB+G,IAA4BA,EAAgB,WAAc,OAAO,IACrE,IAAI7b,EAASzD,OAAOY,OAAOse,GAAehe,WAI1C,OAHAme,GAAyB5b,GAEzBmc,GAAqCnc,EADpBzD,OAAOY,OAAO4e,GAAgCte,WACN+jB,EAAgBxF,EAAgBC,EAAgBC,EAAgBpH,EAAe+G,GACjI7b,EA2pEYivB,CAAqBzN,GATxC,SAAwBtM,GACpB,OAiLR,SAAkDlV,EAAQkV,GACtD,IAAI4G,EAAa9b,EAAOkvB,2BACxB,IAA6B,IAAzBlvB,EAAOud,cAAwB,CAE/B,OAAOtH,EADyBjW,EAAOmvB,4BACgB,WACnD,IAAIlM,EAAWjjB,EAAOgvB,UAEtB,GAAc,aADF/L,EAAS7K,OAEjB,MAAM6K,EAASxK,aAEnB,OAAO2W,GAAiDtT,EAAY5G,MAG5E,OAAOka,GAAiDtT,EAAY5G,GA9LzDma,CAAyCrvB,EAAQkV,MAK5D,WACI,OAgMR,SAAkDlV,GAE9C,IAAIwsB,EAAWxsB,EAAOsvB,UAClBxT,EAAa9b,EAAOkvB,2BACpBK,EAAezT,EAAW0T,kBAG9B,OAFAC,GAAgD3T,GAEzC7F,EAAqBsZ,GAAc,WACtC,GAAwB,YAApB/C,EAASpU,OACT,MAAMoU,EAAS/T,aAEnB,IAAIiX,EAAqBlD,EAAShS,2BAC2C,IAAzE2K,GAAiDuK,IACjDtK,GAAqCsK,MAE1C,SAAU/yB,GAET,MADAgzB,GAAqB3vB,EAAQrD,GACvB6vB,EAAS/T,gBAjNRmX,CAAyC5vB,MAJpD,SAAwByV,GACpB,OA6LR,SAAkDzV,EAAQyV,GAItD,OADAka,GAAqB3vB,EAAQyV,GACtBf,OAAoBH,GAjMhBsb,CAAyC7vB,EAAQyV,KAK4C8Y,EAAuBI,GAQ/H3uB,EAAOsvB,UAAY5B,GAAqBlM,GAPxC,WACI,OAiNR,SAAmDxhB,GAI/C,OAFA8vB,GAA+B9vB,GAAQ,GAEhCA,EAAOmvB,2BArNHY,CAA0C/vB,MAErD,SAAyByV,GAErB,OADAua,GAA4ChwB,EAAQyV,GAC7Cf,OAAoBH,KAEyDka,EAAuBK,GAE/G9uB,EAAOud,mBAAgBhJ,EACvBvU,EAAOmvB,gCAA6B5a,EACpCvU,EAAOiwB,wCAAqC1b,EAC5Cub,GAA+B9vB,GAAQ,GAEvCA,EAAOkvB,gCAA6B3a,EAvDhC2b,CAA0B7xB,KAHPkX,GAAW,SAAU/G,GACpCqgB,EAAuBrgB,KAEmB+f,EAAuBI,EAAuBF,EAAuBK,GA+I3H,SAA8D9uB,EAAQmuB,GAClE,IAAIrS,EAAavf,OAAOY,OAAOgzB,GAAiC1yB,WAC5D2yB,EAAqB,SAAUlb,GAC/B,IAEI,OADAmb,GAAwCvU,EAAY5G,GAC7CR,OAAoBH,GAE/B,MAAO+b,GACH,OAAO1b,EAAoB0b,KAG/BC,EAAkBpC,EAAYqC,UAClC,QAAwBjc,IAApBgc,EAA+B,CAC/B,GAA+B,mBAApBA,EACP,MAAM,IAAIpiB,UAAU,6BAExBiiB,EAAqB,SAAUlb,GAAS,OAAOV,EAAY+b,EAAiBpC,EAAa,CAACjZ,EAAO4G,KAErG,IAAI2U,EAAiBxc,EAAoCka,EAAa,QAAS,EAAG,CAACrS,KAxBvF,SAA+C9b,EAAQ8b,EAAYsU,EAAoBK,GACnF3U,EAAW4U,2BAA6B1wB,EACxCA,EAAOkvB,2BAA6BpT,EACpCA,EAAW6U,oBAAsBP,EACjCtU,EAAW0T,gBAAkBiB,EAqB7BG,CAAsC5wB,EAAQ8b,EAAYsU,EAAoBK,GAjK1EI,CAAqDxyB,KAAM8vB,GAC3D,IAAI2C,EAAcnc,EAAawZ,EAAa,QAAS,CAAC9vB,KAAK6wB,6BAC3DL,EAAqBiC,GAsBzB,OApBAv0B,OAAOC,eAAe0xB,EAAgBzwB,UAAW,WAAY,CACzDf,IAAK,WACD,IAAgC,IAA5Bq0B,GAAkB1yB,MAClB,MAAM2yB,GAA4B,YAEtC,OAAO3yB,KAAKixB,WAEhB7yB,YAAY,EACZma,cAAc,IAElBra,OAAOC,eAAe0xB,EAAgBzwB,UAAW,WAAY,CACzDf,IAAK,WACD,IAAgC,IAA5Bq0B,GAAkB1yB,MAClB,MAAM2yB,GAA4B,YAEtC,OAAO3yB,KAAK2wB,WAEhBvyB,YAAY,EACZma,cAAc,IAEXsX,EAxDyB,GAwFpC,SAAS6C,GAAkB5gB,GACvB,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,8BAMjD,SAASwf,GAAqB3vB,EAAQzB,GAClCgnB,GAAqCvlB,EAAOsvB,UAAU9U,0BAA2Bjc,GACjFyxB,GAA4ChwB,EAAQzB,GAExD,SAASyxB,GAA4ChwB,EAAQzB,GACzDkxB,GAAgDzvB,EAAOkvB,4BACvDtO,GAA6C5gB,EAAOgvB,UAAU/R,0BAA2B1e,IAC5D,IAAzByB,EAAOud,eAIPuS,GAA+B9vB,GAAQ,GAG/C,SAAS8vB,GAA+B9vB,EAAQ8e,QAEFvK,IAAtCvU,EAAOmvB,4BACPnvB,EAAOiwB,qCAEXjwB,EAAOmvB,2BAA6B5Z,GAAW,SAAU/G,GACrDxO,EAAOiwB,mCAAqCzhB,KAEhDxO,EAAOud,cAAgBuB,EAE3B,IAAIqR,GAAkD,WAElD,SAASA,IACL,MAAM,IAAIhiB,UAAU,yEA+BxB,OA7BA5R,OAAOC,eAAe2zB,EAAiC1yB,UAAW,cAAe,CAC7Ef,IAAK,WACD,IAAiD,IAA7Cu0B,GAAmC5yB,MACnC,MAAM6yB,GAAuC,eAGjD,OAAOhM,GADkB7mB,KAAKqyB,2BAA2BpB,UAAU9U,4BAGvE/d,YAAY,EACZma,cAAc,IAElBuZ,EAAiC1yB,UAAU4nB,QAAU,SAAUnQ,GAC3D,IAAiD,IAA7C+b,GAAmC5yB,MACnC,MAAM6yB,GAAuC,WAEjDb,GAAwChyB,KAAM6W,IAElDib,EAAiC1yB,UAAU0gB,MAAQ,SAAU1I,GACzD,IAAiD,IAA7Cwb,GAAmC5yB,MACnC,MAAM6yB,GAAuC,SA0EzD,IAA2D3yB,IAxEPkX,EAyEhDka,GAzE0CtxB,KAyEVqyB,2BAA4BnyB,IAvE5D4xB,EAAiC1yB,UAAU0zB,UAAY,WACnD,IAAiD,IAA7CF,GAAmC5yB,MACnC,MAAM6yB,GAAuC,cA8EzD,SAAmDpV,GAC/C,IAAI9b,EAAS8b,EAAW4U,2BACpBhB,EAAqB1vB,EAAOsvB,UAAU9U,2BACmC,IAAzE2K,GAAiDuK,IACjDtK,GAAqCsK,GAEzC,IAAIvR,EAAQ,IAAIhQ,UAAU,8BAC1B6hB,GAA4ChwB,EAAQme,GAnFhDiT,CAA0C/yB,OAEvC8xB,EAlC0C,GAqCrD,SAASc,GAAmC9gB,GACxC,QAAKsD,EAAatD,MAGb5T,OAAOkB,UAAUC,eAAe1B,KAAKmU,EAAG,8BAgCjD,SAASsf,GAAgD3T,GACrDA,EAAW6U,yBAAsBpc,EACjCuH,EAAW0T,qBAAkBjb,EAEjC,SAAS8b,GAAwCvU,EAAY5G,GACzD,IAAIlV,EAAS8b,EAAW4U,2BACpBhB,EAAqB1vB,EAAOsvB,UAAU9U,0BAC1C,IAA6E,IAAzE2K,GAAiDuK,GACjD,MAAM,IAAIvhB,UAAU,wDAIxB,IACImX,GAAuCoK,EAAoBxa,GAE/D,MAAO3W,GAGH,MADAyxB,GAA4ChwB,EAAQzB,GAC9CyB,EAAOsvB,UAAU7W,cApvC/B,SAAwDqD,GACpD,OAAkE,IAA9DiK,GAA8CjK,IAqvC/BuV,CAA+C3B,KAC7C1vB,EAAOud,eACxBuS,GAA+B9vB,GAAQ,GAM/C,SAASovB,GAAiDtT,EAAY5G,GAElE,OAAOe,EADgB6F,EAAW6U,oBAAoBzb,QACRX,GAAW,SAAU5X,GAE/D,MADAgzB,GAAqB7T,EAAW4U,2BAA4B/zB,GACtDA,KA8Dd,SAASu0B,GAAuC90B,GAC5C,OAAO,IAAI+R,UAAU,8CAAgD/R,EAAO,2DAGhF,SAAS40B,GAA4B50B,GACjC,OAAO,IAAI+R,UAAU,6BAA+B/R,EAAO","file":"dist.es5.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","// @ts-nocheck\nconst moduleExports = require('./index');\nconst _global = typeof window === 'undefined' ? global : window;\n_global.loaders = _global.loaders || {};\nmodule.exports = Object.assign(_global.loaders, moduleExports);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {FlatGeobufLoader as FlatGeobufWorkerLoader} from './flatgeobuf-loader';\nimport parseFlatGeobuf, {parseFlatGeobufInBatches} from './lib/parse-flatgeobuf';\n\nexport {FlatGeobufWorkerLoader};\n\nexport const FlatGeobufLoader = {\n ...FlatGeobufWorkerLoader,\n parse: async (arrayBuffer, options) => parseFlatGeobuf(arrayBuffer, options),\n parseSync: parseFlatGeobuf,\n parseInBatchesFromStream: parseFlatGeobufInBatches,\n binary: true\n};\n\nexport const _typecheckFlatGeobufLoader: LoaderWithParser = FlatGeobufLoader;\n","import type {Loader} from '@loaders.gl/loader-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport const FlatGeobufLoader = {\n id: 'flatgeobuf',\n name: 'FlatGeobuf',\n module: 'flatgeobuf',\n version: VERSION,\n worker: true,\n extensions: ['fgb'],\n mimeTypes: ['application/octet-stream'],\n category: 'geometry',\n options: {\n flatgeobuf: {}\n }\n};\n\nexport const _typecheckFlatGeobufLoader: Loader = FlatGeobufLoader;\n","// import {deserialize} from 'flatgeobuf/lib/geojson/featurecollection';\nimport {deserialize, deserializeStream} from 'flatgeobuf/dist/flatgeobuf-geojson.min';\n\n/*\n * Parse FlatGeobuf arrayBuffer and return GeoJSON.\n *\n * @param {arrayBuffer} _ A FlatGeobuf arrayBuffer\n * @return {?Object} A GeoJSON geometry object\n */\nexport default function parseFlatGeobuf(input, options) {\n if (input.byteLength === 0) {\n return [];\n }\n\n const arr = new Uint8Array(input);\n const {features} = deserialize(arr);\n return features;\n}\n\n/*\n * Parse FlatGeobuf arrayBuffer and return GeoJSON.\n *\n * @param {ReadableStream} _ A FlatGeobuf arrayBuffer\n * @return A GeoJSON geometry object iterator\n */\nexport function parseFlatGeobufInBatches(stream, options) {\n const iterator = deserializeStream(stream);\n return iterator;\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports,require(\"web-streams-polyfill/ponyfill\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"web-streams-polyfill/ponyfill\"],e):e((t=t||self).flatgeobuf={},t.ponyfill)}(this,(function(t,e){\"use strict\";class r{constructor(t,e){this.name=t,this.type=e}}var i;!function(t){t[t.Byte=0]=\"Byte\",t[t.UByte=1]=\"UByte\",t[t.Bool=2]=\"Bool\",t[t.Short=3]=\"Short\",t[t.UShort=4]=\"UShort\",t[t.Int=5]=\"Int\",t[t.UInt=6]=\"UInt\",t[t.Long=7]=\"Long\",t[t.ULong=8]=\"ULong\",t[t.Float=9]=\"Float\",t[t.Double=10]=\"Double\",t[t.String=11]=\"String\",t[t.Json=12]=\"Json\",t[t.DateTime=13]=\"DateTime\",t[t.Binary=14]=\"Binary\"}(i||(i={}));var n=i;class s{constructor(t,e,r){this.geometryType=t,this.columns=e,this.featuresCount=r}}var o,a,b,u,h={};h.SIZEOF_SHORT=2,h.SIZEOF_INT=4,h.FILE_IDENTIFIER_LENGTH=4,h.SIZE_PREFIX_LENGTH=4,h.Encoding={UTF8_BYTES:1,UTF16_STRING:2},h.int32=new Int32Array(2),h.float32=new Float32Array(h.int32.buffer),h.float64=new Float64Array(h.int32.buffer),h.isLittleEndian=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0],h.Long=function(t,e){this.low=0|t,this.high=0|e},h.Long.create=function(t,e){return 0==t&&0==e?h.Long.ZERO:new h.Long(t,e)},h.Long.prototype.toFloat64=function(){return(this.low>>>0)+4294967296*this.high},h.Long.prototype.equals=function(t){return this.low==t.low&&this.high==t.high},h.Long.ZERO=new h.Long(0,0),h.Builder=function(t){if(t)e=t;else var e=1024;this.bb=h.ByteBuffer.allocate(e),this.space=e,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},h.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},h.Builder.prototype.forceDefaults=function(t){this.force_defaults=t},h.Builder.prototype.dataBuffer=function(){return this.bb},h.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},h.Builder.prototype.prep=function(t,e){t>this.minalign&&(this.minalign=t);for(var r=1+~(this.bb.capacity()-this.space+e)&t-1;this.space<r+t+e;){var i=this.bb.capacity();this.bb=h.Builder.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(r)},h.Builder.prototype.pad=function(t){for(var e=0;e<t;e++)this.bb.writeInt8(--this.space,0)},h.Builder.prototype.writeInt8=function(t){this.bb.writeInt8(this.space-=1,t)},h.Builder.prototype.writeInt16=function(t){this.bb.writeInt16(this.space-=2,t)},h.Builder.prototype.writeInt32=function(t){this.bb.writeInt32(this.space-=4,t)},h.Builder.prototype.writeInt64=function(t){this.bb.writeInt64(this.space-=8,t)},h.Builder.prototype.writeFloat32=function(t){this.bb.writeFloat32(this.space-=4,t)},h.Builder.prototype.writeFloat64=function(t){this.bb.writeFloat64(this.space-=8,t)},h.Builder.prototype.addInt8=function(t){this.prep(1,0),this.writeInt8(t)},h.Builder.prototype.addInt16=function(t){this.prep(2,0),this.writeInt16(t)},h.Builder.prototype.addInt32=function(t){this.prep(4,0),this.writeInt32(t)},h.Builder.prototype.addInt64=function(t){this.prep(8,0),this.writeInt64(t)},h.Builder.prototype.addFloat32=function(t){this.prep(4,0),this.writeFloat32(t)},h.Builder.prototype.addFloat64=function(t){this.prep(8,0),this.writeFloat64(t)},h.Builder.prototype.addFieldInt8=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt8(e),this.slot(t))},h.Builder.prototype.addFieldInt16=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt16(e),this.slot(t))},h.Builder.prototype.addFieldInt32=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt32(e),this.slot(t))},h.Builder.prototype.addFieldInt64=function(t,e,r){!this.force_defaults&&e.equals(r)||(this.addInt64(e),this.slot(t))},h.Builder.prototype.addFieldFloat32=function(t,e,r){(this.force_defaults||e!=r)&&(this.addFloat32(e),this.slot(t))},h.Builder.prototype.addFieldFloat64=function(t,e,r){(this.force_defaults||e!=r)&&(this.addFloat64(e),this.slot(t))},h.Builder.prototype.addFieldOffset=function(t,e,r){(this.force_defaults||e!=r)&&(this.addOffset(e),this.slot(t))},h.Builder.prototype.addFieldStruct=function(t,e,r){e!=r&&(this.nested(e),this.slot(t))},h.Builder.prototype.nested=function(t){if(t!=this.offset())throw new Error(\"FlatBuffers: struct must be serialized inline.\")},h.Builder.prototype.notNested=function(){if(this.isNested)throw new Error(\"FlatBuffers: object serialization must not be nested.\")},h.Builder.prototype.slot=function(t){this.vtable[t]=this.offset()},h.Builder.prototype.offset=function(){return this.bb.capacity()-this.space},h.Builder.growByteBuffer=function(t){var e=t.capacity();if(3221225472&e)throw new Error(\"FlatBuffers: cannot grow buffer beyond 2 gigabytes.\");var r=e<<1,i=h.ByteBuffer.allocate(r);return i.setPosition(r-e),i.bytes().set(t.bytes(),r-e),i},h.Builder.prototype.addOffset=function(t){this.prep(h.SIZEOF_INT,0),this.writeInt32(this.offset()-t+h.SIZEOF_INT)},h.Builder.prototype.startObject=function(t){this.notNested(),null==this.vtable&&(this.vtable=[]),this.vtable_in_use=t;for(var e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()},h.Builder.prototype.endObject=function(){if(null==this.vtable||!this.isNested)throw new Error(\"FlatBuffers: endObject called without startObject\");this.addInt32(0);for(var t=this.offset(),e=this.vtable_in_use-1;e>=0&&0==this.vtable[e];e--);for(var r=e+1;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);var i=(r+2)*h.SIZEOF_SHORT;this.addInt16(i);var n=0,s=this.space;t:for(e=0;e<this.vtables.length;e++){var o=this.bb.capacity()-this.vtables[e];if(i==this.bb.readInt16(o)){for(var a=h.SIZEOF_SHORT;a<i;a+=h.SIZEOF_SHORT)if(this.bb.readInt16(s+a)!=this.bb.readInt16(o+a))continue t;n=this.vtables[e];break}}return n?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,n-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t},h.Builder.prototype.finish=function(t,e,r){var i=r?h.SIZE_PREFIX_LENGTH:0;if(e){var n=e;if(this.prep(this.minalign,h.SIZEOF_INT+h.FILE_IDENTIFIER_LENGTH+i),n.length!=h.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+h.FILE_IDENTIFIER_LENGTH);for(var s=h.FILE_IDENTIFIER_LENGTH-1;s>=0;s--)this.writeInt8(n.charCodeAt(s))}this.prep(this.minalign,h.SIZEOF_INT+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)},h.Builder.prototype.finishSizePrefixed=function(t,e){this.finish(t,e,!0)},h.Builder.prototype.requiredField=function(t,e){var r=this.bb.capacity()-t,i=r-this.bb.readInt32(r);if(!(0!=this.bb.readInt16(i+e)))throw new Error(\"FlatBuffers: field \"+e+\" must be set\")},h.Builder.prototype.startVector=function(t,e,r){this.notNested(),this.vector_num_elems=e,this.prep(h.SIZEOF_INT,t*e),this.prep(r,t*e)},h.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},h.Builder.prototype.createString=function(t){if(t instanceof Uint8Array)var e=t;else{e=[];for(var r=0;r<t.length;){var i,n=t.charCodeAt(r++);if(n<55296||n>=56320)i=n;else i=(n<<10)+t.charCodeAt(r++)+-56613888;i<128?e.push(i):(i<2048?e.push(i>>6&31|192):(i<65536?e.push(i>>12&15|224):e.push(i>>18&7|240,i>>12&63|128),e.push(i>>6&63|128)),e.push(63&i|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length);r=0;for(var s=this.space,o=this.bb.bytes();r<e.length;r++)o[s++]=e[r];return this.endVector()},h.Builder.prototype.createLong=function(t,e){return h.Long.create(t,e)},h.ByteBuffer=function(t){this.bytes_=t,this.position_=0},h.ByteBuffer.allocate=function(t){return new h.ByteBuffer(new Uint8Array(t))},h.ByteBuffer.prototype.clear=function(){this.position_=0},h.ByteBuffer.prototype.bytes=function(){return this.bytes_},h.ByteBuffer.prototype.position=function(){return this.position_},h.ByteBuffer.prototype.setPosition=function(t){this.position_=t},h.ByteBuffer.prototype.capacity=function(){return this.bytes_.length},h.ByteBuffer.prototype.readInt8=function(t){return this.readUint8(t)<<24>>24},h.ByteBuffer.prototype.readUint8=function(t){return this.bytes_[t]},h.ByteBuffer.prototype.readInt16=function(t){return this.readUint16(t)<<16>>16},h.ByteBuffer.prototype.readUint16=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8},h.ByteBuffer.prototype.readInt32=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24},h.ByteBuffer.prototype.readUint32=function(t){return this.readInt32(t)>>>0},h.ByteBuffer.prototype.readInt64=function(t){return new h.Long(this.readInt32(t),this.readInt32(t+4))},h.ByteBuffer.prototype.readUint64=function(t){return new h.Long(this.readUint32(t),this.readUint32(t+4))},h.ByteBuffer.prototype.readFloat32=function(t){return h.int32[0]=this.readInt32(t),h.float32[0]},h.ByteBuffer.prototype.readFloat64=function(t){return h.int32[h.isLittleEndian?0:1]=this.readInt32(t),h.int32[h.isLittleEndian?1:0]=this.readInt32(t+4),h.float64[0]},h.ByteBuffer.prototype.writeInt8=function(t,e){this.bytes_[t]=e},h.ByteBuffer.prototype.writeUint8=function(t,e){this.bytes_[t]=e},h.ByteBuffer.prototype.writeInt16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},h.ByteBuffer.prototype.writeUint16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},h.ByteBuffer.prototype.writeInt32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},h.ByteBuffer.prototype.writeUint32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},h.ByteBuffer.prototype.writeInt64=function(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)},h.ByteBuffer.prototype.writeUint64=function(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)},h.ByteBuffer.prototype.writeFloat32=function(t,e){h.float32[0]=e,this.writeInt32(t,h.int32[0])},h.ByteBuffer.prototype.writeFloat64=function(t,e){h.float64[0]=e,this.writeInt32(t,h.int32[h.isLittleEndian?0:1]),this.writeInt32(t+4,h.int32[h.isLittleEndian?1:0])},h.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+h.SIZEOF_INT+h.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: ByteBuffer is too short to contain an identifier.\");for(var t=\"\",e=0;e<h.FILE_IDENTIFIER_LENGTH;e++)t+=String.fromCharCode(this.readInt8(this.position_+h.SIZEOF_INT+e));return t},h.ByteBuffer.prototype.__offset=function(t,e){var r=t-this.readInt32(t);return e<this.readInt16(r)?this.readInt16(r+e):0},h.ByteBuffer.prototype.__union=function(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t},h.ByteBuffer.prototype.__string=function(t,e){t+=this.readInt32(t);var r=this.readInt32(t),i=\"\",n=0;if(t+=h.SIZEOF_INT,e===h.Encoding.UTF8_BYTES)return this.bytes_.subarray(t,t+r);for(;n<r;){var s,o=this.readUint8(t+n++);if(o<192)s=o;else{var a=this.readUint8(t+n++);if(o<224)s=(31&o)<<6|63&a;else{var b=this.readUint8(t+n++);if(o<240)s=(15&o)<<12|(63&a)<<6|63&b;else s=(7&o)<<18|(63&a)<<12|(63&b)<<6|63&this.readUint8(t+n++)}}s<65536?i+=String.fromCharCode(s):(s-=65536,i+=String.fromCharCode(55296+(s>>10),56320+(1023&s)))}return i},h.ByteBuffer.prototype.__indirect=function(t){return t+this.readInt32(t)},h.ByteBuffer.prototype.__vector=function(t){return t+this.readInt32(t)+h.SIZEOF_INT},h.ByteBuffer.prototype.__vector_len=function(t){return this.readInt32(t+this.readInt32(t))},h.ByteBuffer.prototype.__has_identifier=function(t){if(t.length!=h.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+h.FILE_IDENTIFIER_LENGTH);for(var e=0;e<h.FILE_IDENTIFIER_LENGTH;e++)if(t.charCodeAt(e)!=this.readInt8(this.position_+h.SIZEOF_INT+e))return!1;return!0},h.ByteBuffer.prototype.createLong=function(t,e){return h.Long.create(t,e)},function(t){t[t.Unknown=0]=\"Unknown\",t[t.Point=1]=\"Point\",t[t.LineString=2]=\"LineString\",t[t.Polygon=3]=\"Polygon\",t[t.MultiPoint=4]=\"MultiPoint\",t[t.MultiLineString=5]=\"MultiLineString\",t[t.MultiPolygon=6]=\"MultiPolygon\",t[t.GeometryCollection=7]=\"GeometryCollection\",t[t.CircularString=8]=\"CircularString\",t[t.CompoundCurve=9]=\"CompoundCurve\",t[t.CurvePolygon=10]=\"CurvePolygon\",t[t.MultiCurve=11]=\"MultiCurve\",t[t.MultiSurface=12]=\"MultiSurface\",t[t.Curve=13]=\"Curve\",t[t.Surface=14]=\"Surface\",t[t.PolyhedralSurface=15]=\"PolyhedralSurface\",t[t.TIN=16]=\"TIN\",t[t.Triangle=17]=\"Triangle\"}(o||(o={})),function(t){t[t.Byte=0]=\"Byte\",t[t.UByte=1]=\"UByte\",t[t.Bool=2]=\"Bool\",t[t.Short=3]=\"Short\",t[t.UShort=4]=\"UShort\",t[t.Int=5]=\"Int\",t[t.UInt=6]=\"UInt\",t[t.Long=7]=\"Long\",t[t.ULong=8]=\"ULong\",t[t.Float=9]=\"Float\",t[t.Double=10]=\"Double\",t[t.String=11]=\"String\",t[t.Json=12]=\"Json\",t[t.DateTime=13]=\"DateTime\",t[t.Binary=14]=\"Binary\"}(a||(a={}));class f{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new f).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new f).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}type(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):a.Byte}static start(t){t.startObject(2)}static addName(t,e){t.addFieldOffset(0,e,0)}static addType(t,e){t.addFieldInt8(1,e,a.Byte)}static end(t){var e=t.endObject();return t.requiredField(e,4),e}static create(t,e,r){return f.start(t),f.addName(t,e),f.addType(t,r),f.end(t)}}class c{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new c).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new c).__init(t.readInt32(t.position())+t.position(),t)}ends(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}endsLength(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}endsArray(){var t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}xy(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}xyLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}xyArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}z(t){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}zLength(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}zArray(){var t=this.bb.__offset(this.bb_pos,8);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}m(t){var e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}mLength(){var t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}mArray(){var t=this.bb.__offset(this.bb_pos,10);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}t(t){var e=this.bb.__offset(this.bb_pos,12);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}tLength(){var t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}tArray(){var t=this.bb.__offset(this.bb_pos,12);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}tm(t){var e=this.bb.__offset(this.bb_pos,14);return e?this.bb.readUint64(this.bb.__vector(this.bb_pos+e)+8*t):this.bb.createLong(0,0)}tmLength(){var t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}type(){var t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readUint8(this.bb_pos+t):o.Unknown}parts(t,e){var r=this.bb.__offset(this.bb_pos,18);return r?(e||new c).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}partsLength(){var t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static start(t){t.startObject(8)}static addEnds(t,e){t.addFieldOffset(0,e,0)}static createEndsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addInt32(e[r]);return t.endVector()}static startEndsVector(t,e){t.startVector(4,e,4)}static addXy(t,e){t.addFieldOffset(1,e,0)}static createXyVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startXyVector(t,e){t.startVector(8,e,8)}static addZ(t,e){t.addFieldOffset(2,e,0)}static createZVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startZVector(t,e){t.startVector(8,e,8)}static addM(t,e){t.addFieldOffset(3,e,0)}static createMVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startMVector(t,e){t.startVector(8,e,8)}static addT(t,e){t.addFieldOffset(4,e,0)}static createTVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startTVector(t,e){t.startVector(8,e,8)}static addTm(t,e){t.addFieldOffset(5,e,0)}static createTmVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addInt64(e[r]);return t.endVector()}static startTmVector(t,e){t.startVector(8,e,8)}static addType(t,e){t.addFieldInt8(6,e,o.Unknown)}static addParts(t,e){t.addFieldOffset(7,e,0)}static createPartsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startPartsVector(t,e){t.startVector(4,e,4)}static end(t){return t.endObject()}static create(t,e,r,i,n,s,o,a,b){return c.start(t),c.addEnds(t,e),c.addXy(t,r),c.addZ(t,i),c.addM(t,n),c.addT(t,s),c.addTm(t,o),c.addType(t,a),c.addParts(t,b),c.end(t)}}class d{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new d).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new d).__init(t.readInt32(t.position())+t.position(),t)}geometry(t){var e=this.bb.__offset(this.bb_pos,4);return e?(t||new c).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}properties(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}propertiesLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}propertiesArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}columns(t,e){var r=this.bb.__offset(this.bb_pos,8);return r?(e||new f).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}columnsLength(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static start(t){t.startObject(3)}static addGeometry(t,e){t.addFieldOffset(0,e,0)}static addProperties(t,e){t.addFieldOffset(1,e,0)}static createPropertiesVector(t,e){t.startVector(1,e.length,1);for(var r=e.length-1;r>=0;r--)t.addInt8(e[r]);return t.endVector()}static startPropertiesVector(t,e){t.startVector(1,e,1)}static addColumns(t,e){t.addFieldOffset(2,e,0)}static createColumnsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startColumnsVector(t,e){t.startVector(4,e,4)}static end(t){return t.endObject()}static finishBuffer(t,e){t.finish(e)}static finishSizePrefixedBuffer(t,e){t.finish(e,void 0,!0)}static create(t,e,r,i){return d.start(t),d.addGeometry(t,e),d.addProperties(t,r),d.addColumns(t,i),d.end(t)}}!function(t){t[t.Unknown=0]=\"Unknown\",t[t.Point=1]=\"Point\",t[t.LineString=2]=\"LineString\",t[t.Polygon=3]=\"Polygon\",t[t.MultiPoint=4]=\"MultiPoint\",t[t.MultiLineString=5]=\"MultiLineString\",t[t.MultiPolygon=6]=\"MultiPolygon\",t[t.GeometryCollection=7]=\"GeometryCollection\",t[t.CircularString=8]=\"CircularString\",t[t.CompoundCurve=9]=\"CompoundCurve\",t[t.CurvePolygon=10]=\"CurvePolygon\",t[t.MultiCurve=11]=\"MultiCurve\",t[t.MultiSurface=12]=\"MultiSurface\",t[t.Curve=13]=\"Curve\",t[t.Surface=14]=\"Surface\",t[t.PolyhedralSurface=15]=\"PolyhedralSurface\",t[t.TIN=16]=\"TIN\",t[t.Triangle=17]=\"Triangle\"}(b||(b={})),function(t){t[t.Byte=0]=\"Byte\",t[t.UByte=1]=\"UByte\",t[t.Bool=2]=\"Bool\",t[t.Short=3]=\"Short\",t[t.UShort=4]=\"UShort\",t[t.Int=5]=\"Int\",t[t.UInt=6]=\"UInt\",t[t.Long=7]=\"Long\",t[t.ULong=8]=\"ULong\",t[t.Float=9]=\"Float\",t[t.Double=10]=\"Double\",t[t.String=11]=\"String\",t[t.Json=12]=\"Json\",t[t.DateTime=13]=\"DateTime\",t[t.Binary=14]=\"Binary\"}(u||(u={}));class l{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new l).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new l).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}type(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):u.Byte}static start(t){t.startObject(2)}static addName(t,e){t.addFieldOffset(0,e,0)}static addType(t,e){t.addFieldInt8(1,e,u.Byte)}static end(t){var e=t.endObject();return t.requiredField(e,4),e}static create(t,e,r){return l.start(t),l.addName(t,e),l.addType(t,r),l.end(t)}}class p{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new p).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new p).__init(t.readInt32(t.position())+t.position(),t)}org(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}code(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}name(t){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__string(this.bb_pos+e,t):null}description(t){var e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__string(this.bb_pos+e,t):null}wkt(t){var e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__string(this.bb_pos+e,t):null}static start(t){t.startObject(5)}static addOrg(t,e){t.addFieldOffset(0,e,0)}static addCode(t,e){t.addFieldInt32(1,e,0)}static addName(t,e){t.addFieldOffset(2,e,0)}static addDescription(t,e){t.addFieldOffset(3,e,0)}static addWkt(t,e){t.addFieldOffset(4,e,0)}static end(t){return t.endObject()}static create(t,e,r,i,n,s){return p.start(t),p.addOrg(t,e),p.addCode(t,r),p.addName(t,i),p.addDescription(t,n),p.addWkt(t,s),p.end(t)}}class _{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new _).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+h.SIZE_PREFIX_LENGTH),(e||new _).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}envelope(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}envelopeLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}envelopeArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}geometryType(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):b.Unknown}hasZ(){var t=this.bb.__offset(this.bb_pos,10);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasM(){var t=this.bb.__offset(this.bb_pos,12);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasT(){var t=this.bb.__offset(this.bb_pos,14);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasTM(){var t=this.bb.__offset(this.bb_pos,16);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}columns(t,e){var r=this.bb.__offset(this.bb_pos,18);return r?(e||new l).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}columnsLength(){var t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}featuresCount(){var t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readUint64(this.bb_pos+t):this.bb.createLong(0,0)}indexNodeSize(){var t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readUint16(this.bb_pos+t):16}crs(t){var e=this.bb.__offset(this.bb_pos,24);return e?(t||new p).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static start(t){t.startObject(11)}static addName(t,e){t.addFieldOffset(0,e,0)}static addEnvelope(t,e){t.addFieldOffset(1,e,0)}static createEnvelopeVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startEnvelopeVector(t,e){t.startVector(8,e,8)}static addGeometryType(t,e){t.addFieldInt8(2,e,b.Unknown)}static addHasZ(t,e){t.addFieldInt8(3,+e,0)}static addHasM(t,e){t.addFieldInt8(4,+e,0)}static addHasT(t,e){t.addFieldInt8(5,+e,0)}static addHasTM(t,e){t.addFieldInt8(6,+e,0)}static addColumns(t,e){t.addFieldOffset(7,e,0)}static createColumnsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startColumnsVector(t,e){t.startVector(4,e,4)}static addFeaturesCount(t,e){t.addFieldInt64(8,e,t.createLong(0,0))}static addIndexNodeSize(t,e){t.addFieldInt16(9,e,16)}static addCrs(t,e){t.addFieldOffset(10,e,0)}static end(t){return t.endObject()}static finishBuffer(t,e){t.finish(e)}static finishSizePrefixedBuffer(t,e){t.finish(e,void 0,!0)}static create(t,e,r,i,n,s,o,a,b,u,h,f){return _.start(t),_.addName(t,e),_.addEnvelope(t,r),_.addGeometryType(t,i),_.addHasZ(t,n),_.addHasM(t,s),_.addHasT(t,o),_.addHasTM(t,a),_.addColumns(t,b),_.addFeaturesCount(t,u),_.addIndexNodeSize(t,h),_.addCrs(t,f),_.end(t)}}function y(t){return t.reduce((t,e)=>Array.isArray(e)?t.concat(y(e)):t.concat(e),[])}function g(t){const e=[];for(let r=0;r<t.length;r+=2)e.push([t[r],t[r+1]]);return e}function v(t){return b[t]}function I(t){const e=t.coordinates;let r=null,i=null,n=null,s=v(t.type),o=0;switch(t.type){case\"Point\":r=e;break;case\"MultiPoint\":case\"LineString\":r=y(e);break;case\"MultiLineString\":case\"Polygon\":const s=e;r=y(s),s.length>1&&(i=s.map(t=>o+=t.length));break;case\"MultiPolygon\":n=e.map(t=>({type:\"Polygon\",coordinates:t})).map(I);break;case\"GeometryCollection\":n=t.geometries.map(I)}return{xy:r,ends:i,type:s,parts:n}}function w(t,e){if(!e||0===e.length)return[g(t)];let r=0;return Array.from(e).map(e=>t.slice(r,r=e<<1)).map(t=>g(t))}function B(t,e){if(e==b.GeometryCollection){const r=[];for(let e=0;e<t.partsLength();e++){const i=t.parts(e),n=i.type();r.push(B(i,n))}return{type:b[e],geometries:r}}if(e==b.MultiPolygon){const r=[];for(let e=0;e<t.partsLength();e++){const i=t.parts(e);r.push(B(i,b.Polygon))}return{type:b[e],coordinates:r.map(t=>t.coordinates)}}const r=function(t,e){const r=t.xyArray();switch(e){case b.Point:return Array.from(r);case b.MultiPoint:case b.LineString:return g(r);case b.MultiLineString:case b.Polygon:return w(r,t.endsArray())}}(t,e);return{type:b[e],coordinates:r}}function m(t,e){const r=e.columns,i=new h.Builder(0),s=new Uint8Array(1e5);let o=0;if(r){const e=new DataView(s.buffer);for(let i=0;i<r.length;i++){const a=r[i],b=t.properties[a.name];if(null!==b)switch(e.setUint16(o,i,!0),o+=2,a.type){case n.Bool:e.setUint8(o,b),o+=1;break;case n.Short:e.setInt16(o,b,!0),o+=2;break;case n.UShort:e.setUint16(o,b,!0),o+=2;break;case n.Int:e.setInt32(o,b,!0),o+=4;break;case n.UInt:e.setUint32(o,b,!0),o+=4;break;case n.Long:e.setBigInt64(o,BigInt(b),!0),o+=8;break;case n.Long:e.setBigUint64(o,BigInt(b),!0),o+=8;break;case n.Double:e.setFloat64(o,b,!0),o+=8;break;case n.String:const t=b,r=(new TextEncoder).encode(t);e.setUint32(o,r.length,!0),o+=4,s.set(r,o),o+=r.length;break;default:throw new Error(\"Unknown type\")}}}let a=null;o>0&&(a=d.createPropertiesVector(i,s.slice(0,o)));const b=function t(e,r){const{xy:i,ends:n,parts:s,type:o}=r;if(s){const r=s.map(r=>t(e,r)),i=c.createPartsVector(e,r);return c.start(e),c.addParts(e,i),c.end(e)}const a=c.createXyVector(e,i);let b=null;return n&&(b=c.createEndsVector(e,n)),c.start(e),b&&c.addEnds(e,b),c.addXy(e,a),c.addType(e,o),c.end(e)}(i,I(t.geometry));d.start(i),d.addGeometry(i,b),a&&d.addProperties(i,a);const u=d.end(i);return i.finishSizePrefixed(u),i.asUint8Array()}function F(t,e){const r=e.columns;let i;i=B(t.geometry(),e.geometryType);const s=function(t,e){if(!e||0===e.length)return;const r=t.propertiesArray(),i=new DataView(r.buffer,r.byteOffset),s=t.propertiesLength();let o=0;const a={};for(;o<s;){const t=i.getUint16(o,!0);o+=2;const s=e[t];switch(s.type){case n.Bool:a[s.name]=!!i.getUint8(o),o+=1;break;case n.Byte:a[s.name]=i.getInt8(o),o+=1;break;case n.UByte:a[s.name]=i.getUint8(o),o+=1;break;case n.Short:a[s.name]=i.getInt16(o,!0),o+=2;break;case n.UShort:a[s.name]=i.getUint16(o,!0),o+=2;break;case n.Int:a[s.name]=i.getInt32(o,!0),o+=4;break;case n.UInt:a[s.name]=i.getUint32(o,!0),o+=4;break;case n.Long:a[s.name]=Number(i.getBigInt64(o,!0)),o+=8;break;case n.ULong:a[s.name]=Number(i.getBigUint64(o,!0)),o+=8;break;case n.Double:a[s.name]=i.getFloat64(o,!0),o+=8;break;case n.DateTime:case n.String:{const t=i.getUint32(o,!0);o+=4;const e=new TextDecoder;a[s.name]=e.decode(r.subarray(o,o+t)),o+=t;break}default:throw new Error(\"Unknown type \"+s.type)}}return a}(t,r),o={type:\"Feature\",geometry:i};return s&&(o.properties=s),o}function E(t){var e;if(\"undefined\"!=typeof Symbol){if(Symbol.asyncIterator&&null!=(e=t[Symbol.asyncIterator]))return e.call(t);if(Symbol.iterator&&null!=(e=t[Symbol.iterator]))return e.call(t)}throw new TypeError(\"Object is not async iterable\")}function S(t){this.wrapped=t}function U(t){var e,r;function i(e,r){try{var s=t[e](r),o=s.value,a=o instanceof S;Promise.resolve(a?o.wrapped:o).then((function(t){a?i(\"return\"===e?\"return\":\"next\",t):n(s.done?\"return\":\"normal\",t)}),(function(t){i(\"throw\",t)}))}catch(t){n(\"throw\",t)}}function n(t,n){switch(t){case\"return\":e.resolve({value:n,done:!0});break;case\"throw\":e.reject(n);break;default:e.resolve({value:n,done:!1})}(e=e.next)?i(e.key,e.arg):r=null}this._invoke=function(t,n){return new Promise((function(s,o){var a={key:t,arg:n,resolve:s,reject:o,next:null};r?r=r.next=a:(e=r=a,i(t,n))}))},\"function\"!=typeof t.return&&(this.return=void 0)}function T(t){return function(){return new U(t.apply(this,arguments))}}function L(t){return new S(t)}\"function\"==typeof Symbol&&Symbol.asyncIterator&&(U.prototype[Symbol.asyncIterator]=function(){return this}),U.prototype.next=function(t){return this._invoke(\"next\",t)},U.prototype.throw=function(t){return this._invoke(\"throw\",t)},U.prototype.return=function(t){return this._invoke(\"return\",t)};var P=new Uint8Array(0);function O(t,e){if(!t.length)return e;if(!e.length)return t;var r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function N(t){this._source=t,this._array=P,this._index=0}N.prototype.read=function(){var t=this,e=t._array.subarray(t._index);return t._source.read().then((function(r){return t._array=P,t._index=0,r.done?e.length>0?{done:!1,value:e}:{done:!0,value:void 0}:{done:!1,value:O(e,r.value)}}))},N.prototype.slice=function(t){if((t|=0)<0)throw new Error(\"invalid length\");var e=this,r=this._array.length-this._index;if(this._index+t<=this._array.length)return Promise.resolve(this._array.subarray(this._index,this._index+=t));var i=new Uint8Array(t);return i.set(this._array.subarray(this._index)),function n(){return e._source.read().then((function(s){return s.done?(e._array=P,e._index=0,r>0?i.subarray(0,r):null):r+s.value.length>=t?(e._array=s.value,e._index=t-r,i.set(s.value.subarray(0,t-r),r),i):(i.set(s.value,r),r+=s.value.length,n())}))}()},N.prototype.cancel=function(){return this._source.cancel()};function V(t,e){e=Math.min(Math.max(+e,2),65535);let r=t,i=r;do{r=Math.ceil(r/e),i+=r}while(1!==r);return 40*i}function C(t,e){if(e<2)throw new Error(\"Node size must be at least 2\");if(0===t)throw new Error(\"Number of items must be greater than 0\");let r=t,i=r;const n=[r];do{r=Math.ceil(r/e),i+=r,n.push(r)}while(1!==r);const s=[];r=i;for(let t of n)s.push(r-t),r-=t;s.reverse(),n.reverse();const o=[];for(let t=0;t<n.length;t++)o.push([s[t],s[t]+n[t]]);return o.reverse(),o}function A(t,e,r,i){return x.apply(this,arguments)}function x(){return(x=T((function*(t,e,r,i){const{minX:n,minY:s,maxX:o,maxY:a}=r,b=C(t,e),[[u,h]]=b,f=[];for(f.push([0,b.length-1]);0!==f.length;){const[r,c]=f.pop(),d=r>=h-t,[,l]=b[c],p=Math.min(r+e,l),_=p-r,y=yield L(i(40*r,40*_)),g=new Float64Array(y),v=new Uint32Array(y);for(let t=r;t<p;t++){const e=5*(t-r);if(o<g[e+0])continue;if(a<g[e+1])continue;if(n>g[e+2])continue;if(s>g[e+3])continue;const i=v[8+(e<<1)];d?yield[i,t-u]:f.push([i,c-1])}f.sort((t,e)=>e[0]-t[0])}}))).apply(this,arguments)}const k=new Uint8Array([102,103,98,3,102,103,98,0]);function R(t,e){const r=\"function\"==typeof(i=t).slice?i:new N(\"function\"==typeof i.read?i:i.getReader());var i;return M(async t=>await r.slice(t),void 0,void 0,e)}function M(t,e,r,i){return G.apply(this,arguments)}function G(){return(G=T((function*(t,e,i,n){let o=0,a=new Uint8Array(yield L(t(8)));if(o+=8,!a.every((t,e)=>k[e]===t))throw new Error(\"Not a FlatGeobuf file\");a=new Uint8Array(yield L(t(4))),o+=4;let b=new h.ByteBuffer(a);const u=b.readUint32(0);a=new Uint8Array(yield L(t(u))),o+=u,b=new h.ByteBuffer(a);const f=_.getRoot(b),c=f.featuresCount().toFloat64(),d=[];for(let t=0;t<f.columnsLength();t++){const e=f.columns(t);d.push(new r(e.name(),e.type()))}const l=new s(f.geometryType(),d,c),p=f.indexNodeSize();if(p>0){const r=V(c,p);if(i){const s=async(r,i)=>(await e(o+r),await t(i)),a=[];var y,g=!0,v=!1;try{for(var I,w,B=E(A(c,p,i,s));g=(I=yield L(B.next())).done,w=yield L(I.value),!g;g=!0){let[t]=w;a.push(t)}}catch(t){v=!0,y=t}finally{try{g||null==B.return||(yield L(B.return()))}finally{if(v)throw y}}o+=r;var m,F=!0,S=!1;try{for(var U,T,P=E(a);F=(U=yield L(P.next())).done,T=yield L(U.value),!F;F=!0){let r=T;yield L(e(o+r)),yield D(t,l,n)}}catch(t){S=!0,m=t}finally{try{F||null==P.return||(yield L(P.return()))}finally{if(S)throw m}}return}e?yield L(e(o+r)):yield L(t(r)),o+=r}let O;for(;O=yield L(D(t,l,n));)yield O}))).apply(this,arguments)}async function D(t,e,r){let i=new Uint8Array(await t(4));if(0===i.byteLength)return null;let n=new h.ByteBuffer(i);const s=n.readUint32(0);i=new Uint8Array(await t(s));const o=new Uint8Array(s+4);return o.set(i,4),n=new h.ByteBuffer(o),n.setPosition(4),r(d.getRoot(n),e)}function Z(t){const e=new h.Builder(0);let r=null;t.columns&&(r=_.createColumnsVector(e,t.columns.map(t=>function(t,e){const r=t.createString(e.name);return l.start(t),l.addName(t,r),l.addType(t,e.type),l.end(t)}(e,t))));const i=e.createString(\"L1\");_.start(e),_.addFeaturesCount(e,new h.Long(t.featuresCount,0)),_.addGeometryType(e,t.geometryType),_.addIndexNodeSize(e,0),r&&_.addColumns(e,r),_.addName(e,i);const n=_.end(e);return e.finishSizePrefixed(n),e.asUint8Array()}function H(t){const e=function(t){const e=t.features[0],i=e.properties;let o=null;i&&(o=Object.keys(i).map(t=>new r(t,function(t){if(\"boolean\"==typeof t)return n.Bool;if(\"number\"==typeof t)return t%1==0?n.Int:n.Double;if(\"string\"==typeof t)return n.String;if(null===t)return n.String;throw new Error(`Unknown type (value '${t}')`)}(i[t]))));const a=new Set;for(const r of t.features)a.add(e.geometry.type);return new s(v(e.geometry.type),o,t.features.length)}(t),i=Z(e),o=t.features.map(t=>m(t,e)),a=o.map(t=>t.length).reduce((t,e)=>t+e),b=new Uint8Array(k.length+i.length+a);b.set(i,k.length);let u=k.length+i.length;for(const t of o)b.set(t,u),u+=t.length;return b.set(k),b}function j(t){return{type:\"FeatureCollection\",features:function(t,e){if(!t.subarray(0,7).every((t,e)=>k[e]===t))throw new Error(\"Not a FlatGeobuf file\");const i=new h.ByteBuffer(t),n=i.readUint32(k.length);i.setPosition(k.length+4);const o=_.getRoot(i),a=o.featuresCount().toFloat64(),b=[];for(let t=0;t<o.columnsLength();t++){const e=o.columns(t);b.push(new r(e.name(),e.type()))}const u=new s(o.geometryType(),b,0);let f=k.length+4+n;const c=o.indexNodeSize();c>0&&(f+=V(a,c));const l=[];for(;f<i.capacity();){const t=i.readUint32(f);i.setPosition(f+4);const r=d.getRoot(i);l.push(e(r,u)),f+=4+t}return l}(t,(t,e)=>F(t,e))}}function z(t,e){return function(t,e,r){let i=0;return M(async e=>{const r=await fetch(t,{headers:{Range:`bytes=${i}-${i+e-1}`}});return i+=e,await r.arrayBuffer()},async t=>{i=t},e,r)}(t,e,(t,e)=>F(t,e))}t.deserialize=function(t,r){return t instanceof Uint8Array?j(t):t instanceof e.ReadableStream?R(t,(t,e)=>F(t,e)):z(t,r)},t.serialize=function(t){return H(t)},Object.defineProperty(t,\"__esModule\",{value:!0})}));\n//# sourceMappingURL=flatgeobuf-geojson.min.js.map\n","/**\n * web-streams-polyfill v2.1.1\n */\n/// <reference lib=\"es2015.symbol\" />\nvar SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\n Symbol :\n function (description) { return \"Symbol(\" + description + \")\"; };\n\n/// <reference lib=\"dom\" />\nfunction noop() {\n // do nothing\n}\n\n/// <reference lib=\"es2015.core\" />\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\nvar NumberIsNaN = Number.isNaN || function (x) {\n // eslint-disable-next-line no-self-compare\n return x !== x;\n};\n\nvar rethrowAssertionErrorRejection = noop;\n\nfunction typeIsObject(x) {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n}\nfunction createArrayFromList(elements) {\n // We use arrays to represent lists, so this is basically a no-op.\n // Do a slice though just in case we happen to depend on the unique-ness.\n return elements.slice();\n}\nfunction ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n}\nfunction IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n}\nfunction IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n}\nfunction Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n}\nfunction CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () { return promiseResolvedWith(undefined); };\n}\nfunction InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n}\nfunction PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n }\n catch (value) {\n return promiseRejectedWith(value);\n }\n}\n// Not implemented correctly\nfunction TransferArrayBuffer(O) {\n return O;\n}\n// Not implemented correctly\nfunction IsDetachedBuffer(O) {\n return false;\n}\nfunction ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n}\nfunction MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () { return 1; };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) { return size(chunk); };\n}\nvar originalPromise = Promise;\nvar originalPromiseThen = Promise.prototype.then;\nvar originalPromiseResolve = Promise.resolve.bind(originalPromise);\nvar originalPromiseReject = Promise.reject.bind(originalPromise);\nfunction newPromise(executor) {\n return new originalPromise(executor);\n}\nfunction promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n}\nfunction promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n}\nfunction PerformPromiseThen(promise, onFulfilled, onRejected) {\n // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\n // approximation.\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n}\nfunction uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n}\nfunction uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n}\nfunction uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n}\nfunction transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n}\nfunction setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n}\n\n// Original from Chromium\n// https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\nvar QUEUE_MAX_ARRAY_SIZE = 16384;\n/**\n * Simple queue structure.\n *\n * Avoids scalability issues with using a packed array directly by using\n * multiple arrays in a linked list and keeping the array size bounded.\n */\nvar SimpleQueue = /** @class */ (function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n // _front and _back are always defined.\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n // The cursor is used to avoid calling Array.shift().\n // It contains the index of the front element of the array inside the\n // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\n this._cursor = 0;\n // When there is only one node, size === elements.length - cursor.\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n // For exception safety, this method is structured in order:\n // 1. Read state\n // 2. Calculate required state mutations\n // 3. Perform state mutations\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n // push() is the mutation most likely to throw an exception, so it\n // goes first.\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n // Like push(), shift() follows the read -> calculate -> mutate pattern for\n // exception safety.\n SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n // No mutations before this point.\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n // Permit shifted element to be garbage collected.\n elements[oldCursor] = undefined;\n return element;\n };\n // The tricky thing about forEach() is that it can be called\n // re-entrantly. The queue may be mutated inside the callback. It is easy to\n // see that push() within the callback has no negative effects since the end\n // of the queue is checked for on every iteration. If shift() is called\n // repeatedly within the callback then the next iteration may return an\n // element that has been removed. In this case the callback will be called\n // with undefined values until we either \"catch up\" with elements that still\n // exist or reach the back of the queue.\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n // Return the element that would be returned if shift() was called now,\n // without modifying the queue.\n SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n}());\n\nfunction ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n}\nfunction ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n }\n else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n }\n else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n}\n// A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\n// check.\nfunction ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n}\nfunction ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n}\n// Helper functions for the readers.\nfunction readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n}\n// Helper functions for the ReadableStreamDefaultReader.\nfunction defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n}\nfunction defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n}\nfunction defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\nfunction defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n}\nfunction defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\n\nvar CancelSteps = SymbolPolyfill('[[CancelSteps]]');\nvar PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n// Abstract operations for the ReadableStream.\nfunction AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) { forAuthorCode = false; }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\n// ReadableStream API exposed for controllers.\nfunction ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n}\nfunction ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n}\nfunction ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamDefaultReader = /** @class */ (function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n}());\n// Abstract operations for the readers.\nfunction IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n}\n// Helper functions for the ReadableStreamDefaultReader.\nfunction defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n}\n\n/// <reference lib=\"es2018.asynciterable\" />\nvar _a;\nvar AsyncIteratorPrototype;\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\n // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\n AsyncIteratorPrototype = (_a = {},\n // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\n // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\n _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n },\n _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n}\n\n/// <reference lib=\"es2018.asynciterable\" />\nvar ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () { return ReadableStreamCreateReadResult(value, true, true); });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n};\nif (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n}\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n// Abstract operations for the ReadableStream.\nfunction AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) { preventCancel = false; }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n}\nfunction IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n}\n// Helper functions for the ReadableStream.\nfunction streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n}\n\nfunction DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n}\nfunction EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({ value: value, size: size });\n container._queueTotalSize += size;\n}\nfunction PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n}\nfunction ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n}\n\nvar AbortSteps = SymbolPolyfill('[[AbortSteps]]');\nvar ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\nvar WritableStream = /** @class */ (function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) { underlyingSink = {}; }\n if (strategy === void 0) { strategy = {}; }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n}());\n// Abstract operations for the WritableStream.\nfunction AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n}\n// Throws if and only if startAlgorithm throws.\nfunction CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeWritableStream(stream) {\n stream._state = 'writable';\n // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\n // 'erroring' or 'errored'. May be set to an undefined value.\n stream._storedError = undefined;\n stream._writer = undefined;\n // Initialize to undefined first because the constructor of the controller checks this\n // variable to validate the caller.\n stream._writableStreamController = undefined;\n // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\n // producer without waiting for the queued writes to finish.\n stream._writeRequests = new SimpleQueue();\n // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\n // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\n stream._inFlightWriteRequest = undefined;\n // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\n // has been detached.\n stream._closeRequest = undefined;\n // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\n // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\n stream._inFlightCloseRequest = undefined;\n // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\n stream._pendingAbortRequest = undefined;\n // The backpressure signal set by the controller.\n stream._backpressure = false;\n}\nfunction IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n}\nfunction IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n // reason will not be used, so don't keep a reference to it.\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n}\nfunction WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n}\n// WritableStream API exposed for controllers.\nfunction WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n}\nfunction WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n}\nfunction WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n}\nfunction WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n}\nfunction WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n}\nfunction WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n}\nfunction WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n // The error was too late to do anything, so it is ignored.\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n}\nfunction WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n // Never execute sink abort() after sink close().\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n}\n// TODO(ricea): Fix alphabetical order.\nfunction WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n}\nfunction WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n}\nfunction WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n}\nfunction WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n }\n else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n}\nvar WritableStreamDefaultWriter = /** @class */ (function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n }\n else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n }\n else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n}());\n// Abstract operations for the WritableStreamDefaultWriter.\nfunction IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n}\n// A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\nfunction WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n}\nfunction WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n}\nfunction WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n}\nfunction WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n }\n else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n }\n else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n}\nfunction WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\n // rejected until afterwards. This means that simply testing state will not work.\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n}\nfunction WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n}\nvar WritableStreamDefaultController = /** @class */ (function () {\n /** @internal */\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\n // just treat it as a no-op.\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n}());\n// Abstract operations implementing interface required by the WritableStream.\nfunction IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n}\nfunction SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n}\n// ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\nfunction WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\nfunction WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\nfunction WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n}\nfunction WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n }\n catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\n// Abstract operations for the WritableStreamDefaultController.\nfunction WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n }\n else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n}\nfunction WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n}\nfunction WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n}\nfunction WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n}\nfunction WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n}\n// A client of WritableStreamDefaultController may use these functions directly to bypass state check.\nfunction WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n}\n// Helper functions for the WritableStream.\nfunction streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n}\n// Helper functions for the WritableStreamDefaultWriter.\nfunction defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n}\nfunction defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n}\nfunction defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n}\nfunction defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n}\nfunction defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n}\nfunction defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n}\nfunction defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n}\nfunction defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n}\nfunction defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n}\nfunction defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n}\nfunction defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n}\nfunction defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n}\nfunction defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n}\n\nfunction isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n }\n catch (_a) {\n // AbortSignal.prototype.aborted throws if its brand check fails\n return false;\n }\n}\n\n/// <reference lib=\"dom\" />\nvar NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n/// <reference types=\"node\" />\nfunction isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\n return ctor;\n}\nvar DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\nfunction ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n // Using reader and writer, read all chunks from this and write them to dest\n // - Backpressure must be enforced\n // - Shutdown must stop all activity\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n }\n else {\n // Use `PerformPromiseThen` instead of `uponPromise` to avoid\n // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n // Errors must be propagated forward\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Errors must be propagated backward\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Closing must be propagated forward\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\n }\n else {\n shutdown();\n }\n });\n // Closing must be propagated backward\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\n }\n else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\n // for that too.\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n }\n else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n }\n else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n }\n else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), function () { return finalize(isError, error); });\n }\n else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n }\n else {\n resolve(undefined);\n }\n }\n });\n}\n\nvar ReadableStreamDefaultController = /** @class */ (function () {\n /** @internal */\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n }\n else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n}());\n// Abstract operations for the ReadableStreamDefaultController.\nfunction IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n}\nfunction ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\n// A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\nfunction ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n}\nfunction ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n }\n else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n }\n catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n}\nfunction ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n}\n// This is used in the implementation of TransformStream.\nfunction ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n}\nfunction SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n}\nfunction SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n}\n// Helper functions for the ReadableStreamDefaultController.\nfunction defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n}\n\nfunction ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n // There is no way to access the cloning code right now in the reference implementation.\n // If we add one then we'll need an implementation for serializable objects.\n // if (canceled2 === false && cloneForBranch2 === true) {\n // value2 = StructuredDeserialize(StructuredSerialize(value2));\n // }\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() { }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [branch1, branch2];\n}\n\n/// <reference lib=\"es2015.core\" />\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill\nvar NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' &&\n isFinite(value) &&\n Math.floor(value) === value;\n};\n\nvar ReadableStreamBYOBRequest = /** @class */ (function () {\n /** @internal */\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true) ;\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true) ;\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n}());\nvar ReadableByteStreamController = /** @class */ (function () {\n /** @internal */\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true) ;\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n /** @internal */\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n }\n catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n }\n catch (bufferE) {\n return promiseRejectedWith(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n}());\n// Abstract operations for the ReadableByteStreamController.\nfunction IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n}\nfunction IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n}\nfunction ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n // TODO: Test controller argument\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n}\nfunction ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n}\nfunction ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n }\n else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n}\nfunction ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n}\nfunction ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\n controller._queueTotalSize += byteLength;\n}\nfunction ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n }\n else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n}\nfunction ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n}\nfunction ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n }\n else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n}\nfunction ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n}\nfunction ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n // No ReadableByteStreamControllerCallPullIfNeeded() call since:\n // - No change happens on desiredSize\n // - The source has already been notified of that there's at least 1 pending read(view)\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n}\nfunction ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n // TODO: Figure out whether we should detach the buffer or not here.\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n}\nfunction ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n }\n else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n}\nfunction ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n}\n// A client of ReadableByteStreamController may use these functions directly to bypass state check.\nfunction ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n}\nfunction ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n }\n else if (ReadableStreamHasBYOBReader(stream) === true) {\n // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n}\nfunction ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n}\nfunction SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n}\nfunction SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n}\nfunction SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n}\n// Helper functions for the ReadableStreamBYOBRequest.\nfunction byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n}\n// Helper functions for the ReadableByteStreamController.\nfunction byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n}\n\n// Abstract operations for the ReadableStream.\nfunction AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) { forAuthorCode = false; }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\n// ReadableStream API exposed for controllers.\nfunction ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n}\nfunction ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n}\nfunction ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamBYOBReader = /** @class */ (function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' +\n 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\n 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true) ;\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n}());\n// Abstract operations for the readers.\nfunction IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n // Controllers must implement this.\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n}\n// Helper functions for the ReadableStreamBYOBReader.\nfunction byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n}\n\nvar ReadableStream = /** @class */ (function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) { underlyingSource = {}; }\n if (strategy === void 0) { strategy = {}; }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n }\n else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n }\n else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n}());\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n}\n// Abstract operations for the ReadableStream.\n// Throws if and only if startAlgorithm throws.\nfunction CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n}\nfunction IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n}\nfunction IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n}\n// ReadableStream API exposed for controllers.\nfunction ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n}\nfunction ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n }\n else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n}\n// Helper functions for the ReadableStream.\nfunction streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n}\n\nvar ByteLengthQueuingStrategy = /** @class */ (function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n}());\n\nvar CountQueuingStrategy = /** @class */ (function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n}());\n\n// Class TransformStream\nvar TransformStream = /** @class */ (function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) { transformer = {}; }\n if (writableStrategy === void 0) { writableStrategy = {}; }\n if (readableStrategy === void 0) { readableStrategy = {}; }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n}());\nfunction InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n // Used by IsWritableStream() which is called by SetUpTransformStreamDefaultController().\n stream._transformStreamController = undefined;\n}\nfunction IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n}\n// This is a no-op if both sides are already errored.\nfunction TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n}\nfunction TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\n // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\n // _backpressure is set.\n TransformStreamSetBackpressure(stream, false);\n }\n}\nfunction TransformStreamSetBackpressure(stream, backpressure) {\n // Passes also when called during construction.\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n}\nvar TransformStreamDefaultController = /** @class */ (function () {\n /** @internal */\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n}());\n// Transform Stream Default Controller Abstract Operations\nfunction IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n}\nfunction SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n }\n catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) { return PromiseCall(transformMethod, transformer, [chunk, controller]); };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n}\nfunction TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n}\nfunction TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\n // accept TransformStreamDefaultControllerEnqueue() calls.\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n }\n catch (e) {\n // This happens when readableStrategy.size() throws.\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n}\nfunction TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n}\nfunction TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n}\nfunction TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n}\n// TransformStreamDefaultSink Algorithms\nfunction TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n}\nfunction TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\n // errored.\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n}\nfunction TransformStreamDefaultSinkCloseAlgorithm(stream) {\n // stream._readable cannot change after construction, so caching it across a call to user code is safe.\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n // Return a promise that is fulfilled with undefined on success.\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n}\n// TransformStreamDefaultSource Algorithms\nfunction TransformStreamDefaultSourcePullAlgorithm(stream) {\n // Invariant. Enforced by the promises returned by start() and pull().\n TransformStreamSetBackpressure(stream, false);\n // Prevent the next pull() call until there is backpressure.\n return stream._backpressureChangePromise;\n}\n// Helper functions for the TransformStreamDefaultController.\nfunction defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n}\n// Helper functions for the TransformStream.\nfunction streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n}\n\nexport { ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableStream, TransformStream, WritableStream };\n//# sourceMappingURL=ponyfill.mjs.map\n"],"sourceRoot":""}
|