From 0682747e48f8afec906d792f479f886bb85610ee Mon Sep 17 00:00:00 2001 From: dgadelha Date: Fri, 3 Nov 2023 18:37:52 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20d3ca5?= =?UTF-8?q?49469e9b29bac0bbb4d21fbe81f79bf408f=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- main.3f18a8e441d59165.js => main.252bd9c77d00b73f.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename main.3f18a8e441d59165.js => main.252bd9c77d00b73f.js (99%) diff --git a/index.html b/index.html index 1e014544..6390ffac 100644 --- a/index.html +++ b/index.html @@ -23,5 +23,5 @@ - + diff --git a/main.3f18a8e441d59165.js b/main.252bd9c77d00b73f.js similarity index 99% rename from main.3f18a8e441d59165.js rename to main.252bd9c77d00b73f.js index 5ddf4db9..4ad4ab24 100644 --- a/main.3f18a8e441d59165.js +++ b/main.252bd9c77d00b73f.js @@ -1 +1 @@ -(self.webpackChunkide=self.webpackChunkide||[]).push([[179],{1774:(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _01_estrutura_b_sica_namespaceObject={};__webpack_require__.r(_01_estrutura_b_sica_namespaceObject),__webpack_require__.d(_01_estrutura_b_sica_namespaceObject,{checarFun\u00e7\u00e3oIn\u00edcio:()=>checarFun\u00e7\u00e3oIn\u00edcio,checarFun\u00e7\u00f5esComRetorno:()=>checarFun\u00e7\u00f5esComRetorno});var _02_vari_veis_namespaceObject={};function isFunction(value){return"function"==typeof value}function createErrorClass(createImpl){const ctorFunc=createImpl(instance=>{Error.call(instance),instance.stack=(new Error).stack});return ctorFunc.prototype=Object.create(Error.prototype),ctorFunc.prototype.constructor=ctorFunc,ctorFunc}__webpack_require__.r(_02_vari_veis_namespaceObject),__webpack_require__.d(_02_vari_veis_namespaceObject,{checarUsoEscopo:()=>checarUsoEscopo});const UnsubscriptionError=createErrorClass(_super=>function(errors){_super(this),this.message=errors?`${errors.length} errors occurred during unsubscription:\n${errors.map((err,i6)=>`${i6+1}) ${err.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=errors});function arrRemove(arr,item){if(arr){const index=arr.indexOf(item);0<=index&&arr.splice(index,1)}}class Subscription_Subscription{constructor(initialTeardown){this.initialTeardown=initialTeardown,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let errors;if(!this.closed){this.closed=!0;const{_parentage}=this;if(_parentage)if(this._parentage=null,Array.isArray(_parentage))for(const parent of _parentage)parent.remove(this);else _parentage.remove(this);const{initialTeardown:initialFinalizer}=this;if(isFunction(initialFinalizer))try{initialFinalizer()}catch(e2){errors=e2 instanceof UnsubscriptionError?e2.errors:[e2]}const{_finalizers}=this;if(_finalizers){this._finalizers=null;for(const finalizer of _finalizers)try{execFinalizer(finalizer)}catch(err){errors=errors??[],err instanceof UnsubscriptionError?errors=[...errors,...err.errors]:errors.push(err)}}if(errors)throw new UnsubscriptionError(errors)}}add(teardown){var _a;if(teardown&&teardown!==this)if(this.closed)execFinalizer(teardown);else{if(teardown instanceof Subscription_Subscription){if(teardown.closed||teardown._hasParent(this))return;teardown._addParent(this)}(this._finalizers=null!==(_a=this._finalizers)&&void 0!==_a?_a:[]).push(teardown)}}_hasParent(parent){const{_parentage}=this;return _parentage===parent||Array.isArray(_parentage)&&_parentage.includes(parent)}_addParent(parent){const{_parentage}=this;this._parentage=Array.isArray(_parentage)?(_parentage.push(parent),_parentage):_parentage?[_parentage,parent]:parent}_removeParent(parent){const{_parentage}=this;_parentage===parent?this._parentage=null:Array.isArray(_parentage)&&arrRemove(_parentage,parent)}remove(teardown){const{_finalizers}=this;_finalizers&&arrRemove(_finalizers,teardown),teardown instanceof Subscription_Subscription&&teardown._removeParent(this)}}Subscription_Subscription.EMPTY=(()=>{const empty2=new Subscription_Subscription;return empty2.closed=!0,empty2})();const EMPTY_SUBSCRIPTION=Subscription_Subscription.EMPTY;function isSubscription(value){return value instanceof Subscription_Subscription||value&&"closed"in value&&isFunction(value.remove)&&isFunction(value.add)&&isFunction(value.unsubscribe)}function execFinalizer(finalizer){isFunction(finalizer)?finalizer():finalizer.unsubscribe()}const config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},timeoutProvider={setTimeout(handler,timeout,...args){const{delegate}=timeoutProvider;return delegate?.setTimeout?delegate.setTimeout(handler,timeout,...args):setTimeout(handler,timeout,...args)},clearTimeout(handle){const{delegate}=timeoutProvider;return(delegate?.clearTimeout||clearTimeout)(handle)},delegate:void 0};function reportUnhandledError(err){timeoutProvider.setTimeout(()=>{const{onUnhandledError}=config;if(!onUnhandledError)throw err;onUnhandledError(err)})}function noop(){}const COMPLETE_NOTIFICATION=createNotification("C",void 0,void 0);function createNotification(kind,value,error){return{kind,value,error}}let context=null;function errorContext(cb){if(config.useDeprecatedSynchronousErrorHandling){const isRoot=!context;if(isRoot&&(context={errorThrown:!1,error:null}),cb(),isRoot){const{errorThrown,error}=context;if(context=null,errorThrown)throw error}}else cb()}class Subscriber extends Subscription_Subscription{constructor(destination){super(),this.isStopped=!1,destination?(this.destination=destination,isSubscription(destination)&&destination.add(this)):this.destination=EMPTY_OBSERVER}static create(next,error,complete){return new SafeSubscriber(next,error,complete)}next(value){this.isStopped?handleStoppedNotification(function nextNotification(value){return createNotification("N",value,void 0)}(value),this):this._next(value)}error(err){this.isStopped?handleStoppedNotification(function errorNotification(error){return createNotification("E",void 0,error)}(err),this):(this.isStopped=!0,this._error(err))}complete(){this.isStopped?handleStoppedNotification(COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(value){this.destination.next(value)}_error(err){try{this.destination.error(err)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const _bind=Function.prototype.bind;function bind(fn,thisArg){return _bind.call(fn,thisArg)}class ConsumerObserver{constructor(partialObserver){this.partialObserver=partialObserver}next(value){const{partialObserver}=this;if(partialObserver.next)try{partialObserver.next(value)}catch(error){handleUnhandledError(error)}}error(err){const{partialObserver}=this;if(partialObserver.error)try{partialObserver.error(err)}catch(error){handleUnhandledError(error)}else handleUnhandledError(err)}complete(){const{partialObserver}=this;if(partialObserver.complete)try{partialObserver.complete()}catch(error){handleUnhandledError(error)}}}class SafeSubscriber extends Subscriber{constructor(observerOrNext,error,complete){let partialObserver;if(super(),isFunction(observerOrNext)||!observerOrNext)partialObserver={next:observerOrNext??void 0,error:error??void 0,complete:complete??void 0};else{let context2;this&&config.useDeprecatedNextContext?(context2=Object.create(observerOrNext),context2.unsubscribe=()=>this.unsubscribe(),partialObserver={next:observerOrNext.next&&bind(observerOrNext.next,context2),error:observerOrNext.error&&bind(observerOrNext.error,context2),complete:observerOrNext.complete&&bind(observerOrNext.complete,context2)}):partialObserver=observerOrNext}this.destination=new ConsumerObserver(partialObserver)}}function handleUnhandledError(error){config.useDeprecatedSynchronousErrorHandling?function captureError(err){config.useDeprecatedSynchronousErrorHandling&&context&&(context.errorThrown=!0,context.error=err)}(error):reportUnhandledError(error)}function handleStoppedNotification(notification,subscriber){const{onStoppedNotification}=config;onStoppedNotification&&timeoutProvider.setTimeout(()=>onStoppedNotification(notification,subscriber))}const EMPTY_OBSERVER={closed:!0,next:noop,error:function defaultErrorHandler(err){throw err},complete:noop},observable="function"==typeof Symbol&&Symbol.observable||"@@observable";function identity(x){return x}let Observable_Observable=(()=>{class Observable2{constructor(subscribe){subscribe&&(this._subscribe=subscribe)}lift(operator){const observable2=new Observable2;return observable2.source=this,observable2.operator=operator,observable2}subscribe(observerOrNext,error,complete){const subscriber=function isSubscriber(value){return value&&value instanceof Subscriber||function isObserver(value){return value&&isFunction(value.next)&&isFunction(value.error)&&isFunction(value.complete)}(value)&&isSubscription(value)}(observerOrNext)?observerOrNext:new SafeSubscriber(observerOrNext,error,complete);return errorContext(()=>{const{operator,source}=this;subscriber.add(operator?operator.call(subscriber,source):source?this._subscribe(subscriber):this._trySubscribe(subscriber))}),subscriber}_trySubscribe(sink){try{return this._subscribe(sink)}catch(err){sink.error(err)}}forEach(next,promiseCtor){return new(promiseCtor=getPromiseCtor(promiseCtor))((resolve,reject)=>{const subscriber=new SafeSubscriber({next:value=>{try{next(value)}catch(err){reject(err),subscriber.unsubscribe()}},error:reject,complete:resolve});this.subscribe(subscriber)})}_subscribe(subscriber){var _a;return null===(_a=this.source)||void 0===_a?void 0:_a.subscribe(subscriber)}[observable](){return this}pipe(...operations){return function pipeFromArray(fns){return 0===fns.length?identity:1===fns.length?fns[0]:function(input){return fns.reduce((prev,fn)=>fn(prev),input)}}(operations)(this)}toPromise(promiseCtor){return new(promiseCtor=getPromiseCtor(promiseCtor))((resolve,reject)=>{let value;this.subscribe(x=>value=x,err=>reject(err),()=>resolve(value))})}}return Observable2.create=subscribe=>new Observable2(subscribe),Observable2})();function getPromiseCtor(promiseCtor){var _a;return null!==(_a=promiseCtor??config.Promise)&&void 0!==_a?_a:Promise}const ObjectUnsubscribedError=createErrorClass(_super=>function(){_super(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Subject_Subject=(()=>{class Subject2 extends Observable_Observable{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(operator){const subject=new AnonymousSubject(this,this);return subject.operator=operator,subject}_throwIfClosed(){if(this.closed)throw new ObjectUnsubscribedError}next(value){errorContext(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const observer of this.currentObservers)observer.next(value)}})}error(err){errorContext(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=err;const{observers}=this;for(;observers.length;)observers.shift().error(err)}})}complete(){errorContext(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers}=this;for(;observers.length;)observers.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var _a;return(null===(_a=this.observers)||void 0===_a?void 0:_a.length)>0}_trySubscribe(subscriber){return this._throwIfClosed(),super._trySubscribe(subscriber)}_subscribe(subscriber){return this._throwIfClosed(),this._checkFinalizedStatuses(subscriber),this._innerSubscribe(subscriber)}_innerSubscribe(subscriber){const{hasError,isStopped,observers}=this;return hasError||isStopped?EMPTY_SUBSCRIPTION:(this.currentObservers=null,observers.push(subscriber),new Subscription_Subscription(()=>{this.currentObservers=null,arrRemove(observers,subscriber)}))}_checkFinalizedStatuses(subscriber){const{hasError,thrownError,isStopped}=this;hasError?subscriber.error(thrownError):isStopped&&subscriber.complete()}asObservable(){const observable2=new Observable_Observable;return observable2.source=this,observable2}}return Subject2.create=(destination,source)=>new AnonymousSubject(destination,source),Subject2})();class AnonymousSubject extends Subject_Subject{constructor(destination,source){super(),this.destination=destination,this.source=source}next(value){var _a,_b;null===(_b=null===(_a=this.destination)||void 0===_a?void 0:_a.next)||void 0===_b||_b.call(_a,value)}error(err){var _a,_b;null===(_b=null===(_a=this.destination)||void 0===_a?void 0:_a.error)||void 0===_b||_b.call(_a,err)}complete(){var _a,_b;null===(_b=null===(_a=this.destination)||void 0===_a?void 0:_a.complete)||void 0===_b||_b.call(_a)}_subscribe(subscriber){var _a,_b;return null!==(_b=null===(_a=this.source)||void 0===_a?void 0:_a.subscribe(subscriber))&&void 0!==_b?_b:EMPTY_SUBSCRIPTION}}class BehaviorSubject_BehaviorSubject extends Subject_Subject{constructor(_value){super(),this._value=_value}get value(){return this.getValue()}_subscribe(subscriber){const subscription=super._subscribe(subscriber);return!subscription.closed&&subscriber.next(this._value),subscription}getValue(){const{hasError,thrownError,_value}=this;if(hasError)throw thrownError;return this._throwIfClosed(),_value}next(value){super.next(this._value=value)}}function hasLift(source){return isFunction(source?.lift)}function operate(init2){return source=>{if(hasLift(source))return source.lift(function(liftedSource){try{return init2(liftedSource,this)}catch(err){this.error(err)}});throw new TypeError("Unable to lift unknown Observable type")}}function createOperatorSubscriber(destination,onNext,onComplete,onError,onFinalize){return new OperatorSubscriber(destination,onNext,onComplete,onError,onFinalize)}class OperatorSubscriber extends Subscriber{constructor(destination,onNext,onComplete,onError,onFinalize,shouldUnsubscribe){super(destination),this.onFinalize=onFinalize,this.shouldUnsubscribe=shouldUnsubscribe,this._next=onNext?function(value){try{onNext(value)}catch(err){destination.error(err)}}:super._next,this._error=onError?function(err){try{onError(err)}catch(err2){destination.error(err2)}finally{this.unsubscribe()}}:super._error,this._complete=onComplete?function(){try{onComplete()}catch(err){destination.error(err)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var _a;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed}=this;super.unsubscribe(),!closed&&(null===(_a=this.onFinalize)||void 0===_a||_a.call(this))}}}function map_map(project,thisArg){return operate((source,subscriber)=>{let index=0;source.subscribe(createOperatorSubscriber(subscriber,value=>{subscriber.next(project.call(thisArg,value,index++))}))})}function tslib_es6_rest(s,e2){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e2.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i6=0;for(p=Object.getOwnPropertySymbols(s);i6=o.length&&(o=void 0),{value:o&&o[i6++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}(o),i6={},verb("next"),verb("throw"),verb("return"),i6[Symbol.asyncIterator]=function(){return this},i6);function verb(n){i6[n]=o[n]&&function(v){return new Promise(function(resolve,reject){!function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v2){resolve({value:v2,done:d})},reject)}(resolve,reject,(v=o[n](v)).done,v.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const isArrayLike=x=>x&&"number"==typeof x.length&&"function"!=typeof x;function isPromise(value){return isFunction(value?.then)}function isInteropObservable(input){return isFunction(input[observable])}function isAsyncIterable(obj){return Symbol.asyncIterator&&isFunction(obj?.[Symbol.asyncIterator])}function createInvalidObservableTypeError(input){return new TypeError(`You provided ${null!==input&&"object"==typeof input?"an invalid object":`'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const iterator_iterator=function getSymbolIterator(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function isIterable(input){return isFunction(input?.[iterator_iterator])}function readableStreamLikeToAsyncGenerator(readableStream){return function __asyncGenerator(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i6,g=generator.apply(thisArg,_arguments||[]),q=[];return i6={},verb("next"),verb("throw"),verb("return"),i6[Symbol.asyncIterator]=function(){return this},i6;function verb(n){g[n]&&(i6[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})})}function resume(n,v){try{!function step(r2){r2.value instanceof __await?Promise.resolve(r2.value.v).then(fulfill,reject):settle(q[0][2],r2)}(g[n](v))}catch(e2){settle(q[0][3],e2)}}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){f(v),q.shift(),q.length&&resume(q[0][0],q[0][1])}}(this,arguments,function*(){const reader=readableStream.getReader();try{for(;;){const{value,done}=yield __await(reader.read());if(done)return yield __await(void 0);yield yield __await(value)}}finally{reader.releaseLock()}})}function isReadableStreamLike(obj){return isFunction(obj?.getReader)}function innerFrom(input){if(input instanceof Observable_Observable)return input;if(null!=input){if(isInteropObservable(input))return function fromInteropObservable(obj){return new Observable_Observable(subscriber=>{const obs=obj[observable]();if(isFunction(obs.subscribe))return obs.subscribe(subscriber);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(input);if(isArrayLike(input))return function fromArrayLike(array){return new Observable_Observable(subscriber=>{for(let i6=0;i6{promise.then(value=>{subscriber.closed||(subscriber.next(value),subscriber.complete())},err=>subscriber.error(err)).then(null,reportUnhandledError)})}(input);if(isAsyncIterable(input))return fromAsyncIterable(input);if(isIterable(input))return function fromIterable(iterable){return new Observable_Observable(subscriber=>{for(const value of iterable)if(subscriber.next(value),subscriber.closed)return;subscriber.complete()})}(input);if(isReadableStreamLike(input))return function fromReadableStreamLike(readableStream){return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream))}(input)}throw createInvalidObservableTypeError(input)}function fromAsyncIterable(asyncIterable){return new Observable_Observable(subscriber=>{(function innerFrom_process(asyncIterable,subscriber){var asyncIterable_1,asyncIterable_1_1,e_1,_a;return function __awaiter(thisArg,_arguments,P2,generator){return new(P2||(P2=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e2){reject(e2)}}function rejected(value){try{step(generator.throw(value))}catch(e2){reject(e2)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P2?value:new P2(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}(this,void 0,void 0,function*(){try{for(asyncIterable_1=__asyncValues(asyncIterable);!(asyncIterable_1_1=yield asyncIterable_1.next()).done;)if(subscriber.next(asyncIterable_1_1.value),subscriber.closed)return}catch(e_1_1){e_1={error:e_1_1}}finally{try{asyncIterable_1_1&&!asyncIterable_1_1.done&&(_a=asyncIterable_1.return)&&(yield _a.call(asyncIterable_1))}finally{if(e_1)throw e_1.error}}subscriber.complete()})})(asyncIterable,subscriber).catch(err=>subscriber.error(err))})}function executeSchedule(parentSubscription,scheduler,work,delay=0,repeat2=!1){const scheduleSubscription=scheduler.schedule(function(){work(),repeat2?parentSubscription.add(this.schedule(null,delay)):this.unsubscribe()},delay);if(parentSubscription.add(scheduleSubscription),!repeat2)return scheduleSubscription}function mergeMap_mergeMap(project,resultSelector,concurrent=1/0){return isFunction(resultSelector)?mergeMap_mergeMap((a,i6)=>map_map((b,ii)=>resultSelector(a,b,i6,ii))(innerFrom(project(a,i6))),concurrent):("number"==typeof resultSelector&&(concurrent=resultSelector),operate((source,subscriber)=>function mergeInternals(source,subscriber,project,concurrent,onBeforeNext,expand,innerSubScheduler,additionalFinalizer){const buffer=[];let active=0,index=0,isComplete=!1;const checkComplete=()=>{isComplete&&!buffer.length&&!active&&subscriber.complete()},outerNext=value=>active{expand&&subscriber.next(value),active++;let innerComplete=!1;innerFrom(project(value,index++)).subscribe(createOperatorSubscriber(subscriber,innerValue=>{onBeforeNext?.(innerValue),expand?outerNext(innerValue):subscriber.next(innerValue)},()=>{innerComplete=!0},void 0,()=>{if(innerComplete)try{for(active--;buffer.length&&activedoInnerSub(bufferedValue)):doInnerSub(bufferedValue)}checkComplete()}catch(err){subscriber.error(err)}}))};return source.subscribe(createOperatorSubscriber(subscriber,outerNext,()=>{isComplete=!0,checkComplete()})),()=>{additionalFinalizer?.()}}(source,subscriber,project,concurrent)))}function mergeAll_mergeAll(concurrent=1/0){return mergeMap_mergeMap(identity,concurrent)}const EMPTY=new Observable_Observable(subscriber=>subscriber.complete());function isScheduler(value){return value&&isFunction(value.schedule)}function last(arr){return arr[arr.length-1]}function popResultSelector(args){return isFunction(last(args))?args.pop():void 0}function popScheduler(args){return isScheduler(last(args))?args.pop():void 0}function observeOn_observeOn(scheduler,delay=0){return operate((source,subscriber)=>{source.subscribe(createOperatorSubscriber(subscriber,value=>executeSchedule(subscriber,scheduler,()=>subscriber.next(value),delay),()=>executeSchedule(subscriber,scheduler,()=>subscriber.complete(),delay),err=>executeSchedule(subscriber,scheduler,()=>subscriber.error(err),delay)))})}function subscribeOn(scheduler,delay=0){return operate((source,subscriber)=>{subscriber.add(scheduler.schedule(()=>source.subscribe(subscriber),delay))})}function scheduleAsyncIterable(input,scheduler){if(!input)throw new Error("Iterable cannot be null");return new Observable_Observable(subscriber=>{executeSchedule(subscriber,scheduler,()=>{const iterator=input[Symbol.asyncIterator]();executeSchedule(subscriber,scheduler,()=>{iterator.next().then(result=>{result.done?subscriber.complete():subscriber.next(result.value)})},0,!0)})})}function from_from(input,scheduler){return scheduler?function scheduled(input,scheduler){if(null!=input){if(isInteropObservable(input))return function scheduleObservable(input,scheduler){return innerFrom(input).pipe(subscribeOn(scheduler),observeOn_observeOn(scheduler))}(input,scheduler);if(isArrayLike(input))return function scheduleArray(input,scheduler){return new Observable_Observable(subscriber=>{let i6=0;return scheduler.schedule(function(){i6===input.length?subscriber.complete():(subscriber.next(input[i6++]),subscriber.closed||this.schedule())})})}(input,scheduler);if(isPromise(input))return function schedulePromise(input,scheduler){return innerFrom(input).pipe(subscribeOn(scheduler),observeOn_observeOn(scheduler))}(input,scheduler);if(isAsyncIterable(input))return scheduleAsyncIterable(input,scheduler);if(isIterable(input))return function scheduleIterable(input,scheduler){return new Observable_Observable(subscriber=>{let iterator;return executeSchedule(subscriber,scheduler,()=>{iterator=input[iterator_iterator](),executeSchedule(subscriber,scheduler,()=>{let value,done;try{({value,done}=iterator.next())}catch(err){return void subscriber.error(err)}done?subscriber.complete():subscriber.next(value)},0,!0)}),()=>isFunction(iterator?.return)&&iterator.return()})}(input,scheduler);if(isReadableStreamLike(input))return function scheduleReadableStreamLike(input,scheduler){return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input),scheduler)}(input,scheduler)}throw createInvalidObservableTypeError(input)}(input,scheduler):innerFrom(input)}function merge_merge(...args){const scheduler=popScheduler(args),concurrent=function popNumber(args,defaultValue){return"number"==typeof last(args)?args.pop():defaultValue}(args,1/0),sources=args;return sources.length?1===sources.length?innerFrom(sources[0]):mergeAll_mergeAll(concurrent)(from_from(sources,scheduler)):EMPTY}function of_of(...args){return from_from(args,popScheduler(args))}function share(options={}){const{connector=()=>new Subject_Subject,resetOnError=!0,resetOnComplete=!0,resetOnRefCountZero=!0}=options;return wrapperSource=>{let connection,resetConnection,subject,refCount2=0,hasCompleted=!1,hasErrored=!1;const cancelReset=()=>{resetConnection?.unsubscribe(),resetConnection=void 0},reset=()=>{cancelReset(),connection=subject=void 0,hasCompleted=hasErrored=!1},resetAndUnsubscribe=()=>{const conn=connection;reset(),conn?.unsubscribe()};return operate((source,subscriber)=>{refCount2++,!hasErrored&&!hasCompleted&&cancelReset();const dest=subject=subject??connector();subscriber.add(()=>{refCount2--,0===refCount2&&!hasErrored&&!hasCompleted&&(resetConnection=handleReset(resetAndUnsubscribe,resetOnRefCountZero))}),dest.subscribe(subscriber),!connection&&refCount2>0&&(connection=new SafeSubscriber({next:value=>dest.next(value),error:err=>{hasErrored=!0,cancelReset(),resetConnection=handleReset(reset,resetOnError,err),dest.error(err)},complete:()=>{hasCompleted=!0,cancelReset(),resetConnection=handleReset(reset,resetOnComplete),dest.complete()}}),innerFrom(source).subscribe(connection))})(wrapperSource)}}function handleReset(reset,on2,...args){if(!0===on2)return void reset();if(!1===on2)return;const onSubscriber=new SafeSubscriber({next:()=>{onSubscriber.unsubscribe(),reset()}});return innerFrom(on2(...args)).subscribe(onSubscriber)}function switchMap_switchMap(project,resultSelector){return operate((source,subscriber)=>{let innerSubscriber=null,index=0,isComplete=!1;const checkComplete=()=>isComplete&&!innerSubscriber&&subscriber.complete();source.subscribe(createOperatorSubscriber(subscriber,value=>{innerSubscriber?.unsubscribe();let innerIndex=0;const outerIndex=index++;innerFrom(project(value,outerIndex)).subscribe(innerSubscriber=createOperatorSubscriber(subscriber,innerValue=>subscriber.next(resultSelector?resultSelector(value,innerValue,outerIndex,innerIndex++):innerValue),()=>{innerSubscriber=null,checkComplete()}))},()=>{isComplete=!0,checkComplete()}))})}function distinctUntilChanged_distinctUntilChanged(comparator,keySelector=identity){return comparator=comparator??defaultCompare,operate((source,subscriber)=>{let previousKey,first2=!0;source.subscribe(createOperatorSubscriber(subscriber,value=>{const currentKey=keySelector(value);(first2||!comparator(previousKey,currentKey))&&(first2=!1,previousKey=currentKey,subscriber.next(value))}))})}function defaultCompare(a,b){return a===b}function getClosureSafeProperty(objWithPropertyToExtract){for(let key in objWithPropertyToExtract)if(objWithPropertyToExtract[key]===getClosureSafeProperty)return key;throw Error("Could not find renamed property on target object.")}function fillProperties(target,source){for(const key in source)source.hasOwnProperty(key)&&!target.hasOwnProperty(key)&&(target[key]=source[key])}function stringify(token){if("string"==typeof token)return token;if(Array.isArray(token))return"["+token.map(stringify).join(", ")+"]";if(null==token)return""+token;if(token.overriddenName)return`${token.overriddenName}`;if(token.name)return`${token.name}`;const res=token.toString();if(null==res)return""+res;const newLineIndex=res.indexOf("\n");return-1===newLineIndex?res:res.substring(0,newLineIndex)}function concatStringsWithSpace(before,after){return null==before||""===before?null===after?"":after:null==after||""===after?before:before+" "+after}const __forward_ref__=getClosureSafeProperty({__forward_ref__:getClosureSafeProperty});function core_forwardRef(forwardRefFn){return forwardRefFn.__forward_ref__=core_forwardRef,forwardRefFn.toString=function(){return stringify(this())},forwardRefFn}function resolveForwardRef(type){return isForwardRef(type)?type():type}function isForwardRef(fn){return"function"==typeof fn&&fn.hasOwnProperty(__forward_ref__)&&fn.__forward_ref__===core_forwardRef}function isEnvironmentProviders(value){return value&&!!value.\u0275providers}const XSS_SECURITY_URL="https://g.co/ng/security#xss";class RuntimeError extends Error{constructor(code,message){super(function formatRuntimeError(code,message){return`NG0${Math.abs(code)}${message?": "+message:""}`}(code,message)),this.code=code}}function renderStringify(value){return"string"==typeof value?value:null==value?"":String(value)}function throwProviderNotFoundError(token,injectorName){throw new RuntimeError(-201,!1)}function assertDefined(actual,msg){null==actual&&function throwError(msg,actual,expected,comparison){throw new Error(`ASSERTION ERROR: ${msg}`+(null==comparison?"":` [Expected=> ${expected} ${comparison} ${actual} <=Actual]`))}(msg,actual,null,"!=")}function core_defineInjectable(opts){return{token:opts.token,providedIn:opts.providedIn||null,factory:opts.factory,value:void 0}}function \u0275\u0275defineInjector(options){return{providers:options.providers||[],imports:options.imports||[]}}function getInjectableDef(type){return getOwnDefinition(type,NG_PROV_DEF)||getOwnDefinition(type,NG_INJECTABLE_DEF)}function getOwnDefinition(type,field){return type.hasOwnProperty(field)?type[field]:null}function getInjectorDef(type){return type&&(type.hasOwnProperty(NG_INJ_DEF)||type.hasOwnProperty(NG_INJECTOR_DEF))?type[NG_INJ_DEF]:null}const NG_PROV_DEF=getClosureSafeProperty({\u0275prov:getClosureSafeProperty}),NG_INJ_DEF=getClosureSafeProperty({\u0275inj:getClosureSafeProperty}),NG_INJECTABLE_DEF=getClosureSafeProperty({ngInjectableDef:getClosureSafeProperty}),NG_INJECTOR_DEF=getClosureSafeProperty({ngInjectorDef:getClosureSafeProperty});var core_InjectFlags=function(InjectFlags2){return InjectFlags2[InjectFlags2.Default=0]="Default",InjectFlags2[InjectFlags2.Host=1]="Host",InjectFlags2[InjectFlags2.Self=2]="Self",InjectFlags2[InjectFlags2.SkipSelf=4]="SkipSelf",InjectFlags2[InjectFlags2.Optional=8]="Optional",InjectFlags2}(core_InjectFlags||{});let _injectImplementation;function setInjectImplementation(impl){const previous=_injectImplementation;return _injectImplementation=impl,previous}function injectRootLimpMode(token,notFoundValue,flags){const injectableDef=getInjectableDef(token);return injectableDef&&"root"==injectableDef.providedIn?void 0===injectableDef.value?injectableDef.value=injectableDef.factory():injectableDef.value:flags&core_InjectFlags.Optional?null:void 0!==notFoundValue?notFoundValue:void throwProviderNotFoundError(stringify(token))}const _global=globalThis,THROW_IF_NOT_FOUND={},DI_DECORATOR_FLAG="__NG_DI_FLAG__",NEW_LINE=/\n/gm;let _currentInjector;function setCurrentInjector(injector){const former=_currentInjector;return _currentInjector=injector,former}function injectInjectorOnly(token,flags=core_InjectFlags.Default){if(void 0===_currentInjector)throw new RuntimeError(-203,!1);return null===_currentInjector?injectRootLimpMode(token,void 0,flags):_currentInjector.get(token,flags&core_InjectFlags.Optional?null:void 0,flags)}function core_inject(token,flags=core_InjectFlags.Default){return(function getInjectImplementation(){return _injectImplementation}()||injectInjectorOnly)(resolveForwardRef(token),flags)}function fesm2022_core_inject(token,flags=core_InjectFlags.Default){return core_inject(token,convertToBitFlags(flags))}function convertToBitFlags(flags){return typeof flags>"u"||"number"==typeof flags?flags:0|(flags.optional&&8)|(flags.host&&1)|(flags.self&&2)|(flags.skipSelf&&4)}function injectArgs(types){const args=[];for(let i6=0;i6marker){markerInsertPosition=i6-1;break}}}for(;i6nameOnlyMarkerIdx?"":nodeAttrs[attrIndexInNode+1].toLowerCase();const compareAgainstClassName=8&mode?nodeAttrValue:null;if(compareAgainstClassName&&-1!==classIndexOf(compareAgainstClassName,selectorAttrValue,0)||2&mode&&selectorAttrValue!==nodeAttrValue){if(isPositive(mode))return!1;skipToNextSelector=!0}}}}else{if(!skipToNextSelector&&!isPositive(mode)&&!isPositive(current))return!1;if(skipToNextSelector&&isPositive(current))continue;skipToNextSelector=!1,mode=current|1&mode}}return isPositive(mode)||skipToNextSelector}function isPositive(mode){return 0==(1&mode)}function findAttrIndexInNode(name,attrs,isInlineTemplate2,isProjectionMode){if(null===attrs)return-1;let i6=0;if(isProjectionMode||!isInlineTemplate2){let bindingsMode=!1;for(;i6-1)for(i6++;i60?'="'+attrValue+'"':"")+"]"}else 8&mode?currentChunk+="."+valueOrMarker:4&mode&&(currentChunk+=" "+valueOrMarker);else""!==currentChunk&&!isPositive(valueOrMarker)&&(result+=maybeWrapInNotSelector(isNegativeMode,currentChunk),currentChunk=""),mode=valueOrMarker,isNegativeMode=isNegativeMode||!isPositive(mode);i6++}return""!==currentChunk&&(result+=maybeWrapInNotSelector(isNegativeMode,currentChunk)),result}function \u0275\u0275defineComponent(componentDefinition){return noSideEffects(()=>{const baseDef=getNgDirectiveDef(componentDefinition),def={...baseDef,decls:componentDefinition.decls,vars:componentDefinition.vars,template:componentDefinition.template,consts:componentDefinition.consts||null,ngContentSelectors:componentDefinition.ngContentSelectors,onPush:componentDefinition.changeDetection===ChangeDetectionStrategy.OnPush,directiveDefs:null,pipeDefs:null,dependencies:baseDef.standalone&&componentDefinition.dependencies||null,getStandaloneInjector:null,signals:componentDefinition.signals??!1,data:componentDefinition.data||{},encapsulation:componentDefinition.encapsulation||ViewEncapsulation$1.Emulated,styles:componentDefinition.styles||EMPTY_ARRAY,_:null,schemas:componentDefinition.schemas||null,tView:null,id:""};initFeatures(def);const dependencies=componentDefinition.dependencies;return def.directiveDefs=extractDefListOrFactory(dependencies,!1),def.pipeDefs=extractDefListOrFactory(dependencies,!0),def.id=function getComponentId(componentDef){let hash=0;const hashSelectors=[componentDef.selectors,componentDef.ngContentSelectors,componentDef.hostVars,componentDef.hostAttrs,componentDef.consts,componentDef.vars,componentDef.decls,componentDef.encapsulation,componentDef.standalone,componentDef.signals,componentDef.exportAs,JSON.stringify(componentDef.inputs),JSON.stringify(componentDef.outputs),Object.getOwnPropertyNames(componentDef.type.prototype),!!componentDef.contentQueries,!!componentDef.viewQuery].join("|");for(const char of hashSelectors)hash=Math.imul(31,hash)+char.charCodeAt(0)<<0;return hash+=2147483648,"c"+hash}(def),def})}function extractDirectiveDef(type){return getComponentDef(type)||getDirectiveDef(type)}function nonNull(value){return null!==value}function \u0275\u0275defineNgModule(def){return noSideEffects(()=>({type:def.type,bootstrap:def.bootstrap||EMPTY_ARRAY,declarations:def.declarations||EMPTY_ARRAY,imports:def.imports||EMPTY_ARRAY,exports:def.exports||EMPTY_ARRAY,transitiveCompileScopes:null,schemas:def.schemas||null,id:def.id||null}))}function invertObject(obj,secondary){if(null==obj)return EMPTY_OBJ;const newLookup={};for(const minifiedKey in obj)if(obj.hasOwnProperty(minifiedKey)){let publicName=obj[minifiedKey],declaredName=publicName;Array.isArray(publicName)&&(declaredName=publicName[1],publicName=publicName[0]),newLookup[publicName]=minifiedKey,secondary&&(secondary[publicName]=declaredName)}return newLookup}function \u0275\u0275defineDirective(directiveDefinition){return noSideEffects(()=>{const def=getNgDirectiveDef(directiveDefinition);return initFeatures(def),def})}function \u0275\u0275definePipe(pipeDef){return{type:pipeDef.type,name:pipeDef.name,factory:null,pure:!1!==pipeDef.pure,standalone:!0===pipeDef.standalone,onDestroy:pipeDef.type.prototype.ngOnDestroy||null}}function getComponentDef(type){return type[NG_COMP_DEF]||null}function getDirectiveDef(type){return type[NG_DIR_DEF]||null}function getPipeDef$1(type){return type[NG_PIPE_DEF]||null}function getNgDirectiveDef(directiveDefinition){const declaredInputs={};return{type:directiveDefinition.type,providersResolver:null,factory:null,hostBindings:directiveDefinition.hostBindings||null,hostVars:directiveDefinition.hostVars||0,hostAttrs:directiveDefinition.hostAttrs||null,contentQueries:directiveDefinition.contentQueries||null,declaredInputs,inputTransforms:null,inputConfig:directiveDefinition.inputs||EMPTY_OBJ,exportAs:directiveDefinition.exportAs||null,standalone:!0===directiveDefinition.standalone,signals:!0===directiveDefinition.signals,selectors:directiveDefinition.selectors||EMPTY_ARRAY,viewQuery:directiveDefinition.viewQuery||null,features:directiveDefinition.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:invertObject(directiveDefinition.inputs,declaredInputs),outputs:invertObject(directiveDefinition.outputs)}}function initFeatures(definition){definition.features?.forEach(fn=>fn(definition))}function extractDefListOrFactory(dependencies,pipeDef){if(!dependencies)return null;const defExtractor=pipeDef?getPipeDef$1:extractDirectiveDef;return()=>("function"==typeof dependencies?dependencies():dependencies).map(dep=>defExtractor(dep)).filter(nonNull)}const HOST=0,TVIEW=1,FLAGS=2,PARENT=3,NEXT=4,DESCENDANT_VIEWS_TO_REFRESH=5,T_HOST=6,CLEANUP=7,CONTEXT=8,INJECTOR$1=9,ENVIRONMENT=10,RENDERER=11,CHILD_HEAD=12,CHILD_TAIL=13,DECLARATION_VIEW=14,DECLARATION_COMPONENT_VIEW=15,DECLARATION_LCONTAINER=16,PREORDER_HOOK_FLAGS=17,QUERIES=18,ID=19,EMBEDDED_VIEW_INJECTOR=20,ON_DESTROY_HOOKS=21,HYDRATION=22,REACTIVE_TEMPLATE_CONSUMER=23,REACTIVE_HOST_BINDING_CONSUMER=24,HEADER_OFFSET=25,TYPE=1,HAS_TRANSPLANTED_VIEWS=2,NATIVE=7,MOVED_VIEWS=9,CONTAINER_HEADER_OFFSET=11;function isLView(value){return Array.isArray(value)&&"object"==typeof value[TYPE]}function isLContainer(value){return Array.isArray(value)&&!0===value[TYPE]}function isContentQueryHost(tNode){return 0!=(4&tNode.flags)}function isComponentHost(tNode){return tNode.componentOffset>-1}function isDirectiveHost(tNode){return 1==(1&tNode.flags)}function isComponentDef(def){return!!def.template}function getFactoryDef(type,throwNotFound){return type.hasOwnProperty(NG_FACTORY_DEF)?type[NG_FACTORY_DEF]:null}let WeakRefImpl=_global.WeakRef??class LeakyRef{constructor(ref2){this.ref=ref2}deref(){return this.ref}},_nextReactiveId=0,activeConsumer=null,inNotificationPhase=!1;function setActiveConsumer(consumer){const prev=activeConsumer;return activeConsumer=consumer,prev}class ReactiveNode{constructor(){this.id=_nextReactiveId++,this.ref=function newWeakRef(value){return new WeakRefImpl(value)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[producerId,edge]of this.producers){const producer=edge.producerNode.deref();if(null!=producer&&edge.atTrackingVersion===this.trackingVersion){if(producer.producerPollStatus(edge.seenValueVersion))return!0}else this.producers.delete(producerId),producer?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const prev=inNotificationPhase;inNotificationPhase=!0;try{for(const[consumerId,edge]of this.consumers){const consumer=edge.consumerNode.deref();null!=consumer&&consumer.trackingVersion===edge.atTrackingVersion?consumer.onConsumerDependencyMayHaveChanged():(this.consumers.delete(consumerId),consumer?.producers.delete(this.id))}}finally{inNotificationPhase=prev}}producerAccessed(){if(inNotificationPhase)throw new Error("");if(null===activeConsumer)return;let edge=activeConsumer.producers.get(this.id);void 0===edge?(edge={consumerNode:activeConsumer.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:activeConsumer.trackingVersion},activeConsumer.producers.set(this.id,edge),this.consumers.set(activeConsumer.id,edge)):(edge.seenValueVersion=this.valueVersion,edge.atTrackingVersion=activeConsumer.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==activeConsumer?.consumerAllowSignalWrites}producerPollStatus(lastSeenValueVersion){return this.valueVersion!==lastSeenValueVersion||(this.onProducerUpdateValueVersion(),this.valueVersion!==lastSeenValueVersion)}}let throwInvalidWriteToSignalErrorFn=null;const NOOP_CLEANUP_FN=()=>{};class Watch extends ReactiveNode{constructor(watch,schedule,allowSignalWrites){super(),this.watch=watch,this.schedule=schedule,this.dirty=!1,this.cleanupFn=NOOP_CLEANUP_FN,this.registerOnCleanup=cleanupFn=>{this.cleanupFn=cleanupFn},this.consumerAllowSignalWrites=allowSignalWrites}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const prevConsumer=setActiveConsumer(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=NOOP_CLEANUP_FN,this.watch(this.registerOnCleanup)}finally{setActiveConsumer(prevConsumer)}}cleanup(){this.cleanupFn()}}class SimpleChange{constructor(previousValue,currentValue,firstChange){this.previousValue=previousValue,this.currentValue=currentValue,this.firstChange=firstChange}isFirstChange(){return this.firstChange}}function \u0275\u0275NgOnChangesFeature(){return NgOnChangesFeatureImpl}function NgOnChangesFeatureImpl(definition){return definition.type.prototype.ngOnChanges&&(definition.setInput=ngOnChangesSetInput),rememberChangeHistoryAndInvokeOnChangesHook}function rememberChangeHistoryAndInvokeOnChangesHook(){const simpleChangesStore=getSimpleChangesStore(this),current=simpleChangesStore?.current;if(current){const previous=simpleChangesStore.previous;if(previous===EMPTY_OBJ)simpleChangesStore.previous=current;else for(let key in current)previous[key]=current[key];simpleChangesStore.current=null,this.ngOnChanges(current)}}function ngOnChangesSetInput(instance,value,publicName,privateName){const declaredName=this.declaredInputs[publicName],simpleChangesStore=getSimpleChangesStore(instance)||function setSimpleChangesStore(instance,store2){return instance[SIMPLE_CHANGES_STORE]=store2}(instance,{previous:EMPTY_OBJ,current:null}),current=simpleChangesStore.current||(simpleChangesStore.current={}),previous=simpleChangesStore.previous,previousChange=previous[declaredName];current[declaredName]=new SimpleChange(previousChange&&previousChange.currentValue,value,previous===EMPTY_OBJ),instance[privateName]=value}\u0275\u0275NgOnChangesFeature.ngInherit=!0;const SIMPLE_CHANGES_STORE="__ngSimpleChanges__";function getSimpleChangesStore(instance){return instance[SIMPLE_CHANGES_STORE]||null}const profiler=function(event,instance,hookOrListener){},SVG_NAMESPACE="svg";function unwrapRNode(value){for(;Array.isArray(value);)value=value[HOST];return value}function getNativeByIndex(index,lView){return unwrapRNode(lView[index])}function getNativeByTNode(tNode,lView){return unwrapRNode(lView[tNode.index])}function getTNode(tView,index){return tView.data[index]}function load(view,index){return view[index]}function getComponentLViewByIndex(nodeIndex,hostView){const slotValue=hostView[nodeIndex];return isLView(slotValue)?slotValue:slotValue[HOST]}function getConstant(consts,index){return null==index?null:consts[index]}function resetPreOrderHookFlags(lView){lView[PREORDER_HOOK_FLAGS]=0}function markViewForRefresh(lView){1024&lView[FLAGS]||(lView[FLAGS]|=1024,updateViewsToRefresh(lView,1))}function clearViewRefreshFlag(lView){1024&lView[FLAGS]&&(lView[FLAGS]&=-1025,updateViewsToRefresh(lView,-1))}function updateViewsToRefresh(lView,amount){let parent=lView[PARENT];if(null===parent)return;parent[DESCENDANT_VIEWS_TO_REFRESH]+=amount;let viewOrContainer=parent;for(parent=parent[PARENT];null!==parent&&(1===amount&&1===viewOrContainer[DESCENDANT_VIEWS_TO_REFRESH]||-1===amount&&0===viewOrContainer[DESCENDANT_VIEWS_TO_REFRESH]);)parent[DESCENDANT_VIEWS_TO_REFRESH]+=amount,viewOrContainer=parent,parent=parent[PARENT]}const instructionState={lFrame:createLFrame(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function getBindingsEnabled(){return instructionState.bindingsEnabled}function isInSkipHydrationBlock$1(){return null!==instructionState.skipHydrationRootTNode}function getLView(){return instructionState.lFrame.lView}function getTView(){return instructionState.lFrame.tView}function \u0275\u0275restoreView(viewToRestore){return instructionState.lFrame.contextLView=viewToRestore,viewToRestore[CONTEXT]}function \u0275\u0275resetView(value){return instructionState.lFrame.contextLView=null,value}function getCurrentTNode(){let currentTNode=getCurrentTNodePlaceholderOk();for(;null!==currentTNode&&64===currentTNode.type;)currentTNode=currentTNode.parent;return currentTNode}function getCurrentTNodePlaceholderOk(){return instructionState.lFrame.currentTNode}function setCurrentTNode(tNode,isParent){const lFrame=instructionState.lFrame;lFrame.currentTNode=tNode,lFrame.isParent=isParent}function isCurrentTNodeParent(){return instructionState.lFrame.isParent}function setCurrentTNodeAsNotParent(){instructionState.lFrame.isParent=!1}function getBindingRoot(){const lFrame=instructionState.lFrame;let index=lFrame.bindingRootIndex;return-1===index&&(index=lFrame.bindingRootIndex=lFrame.tView.bindingStartIndex),index}function nextBindingIndex(){return instructionState.lFrame.bindingIndex++}function incrementBindingIndex(count){const lFrame=instructionState.lFrame,index=lFrame.bindingIndex;return lFrame.bindingIndex=lFrame.bindingIndex+count,index}function setBindingRootForHostBindings(bindingRootIndex,currentDirectiveIndex){const lFrame=instructionState.lFrame;lFrame.bindingIndex=lFrame.bindingRootIndex=bindingRootIndex,setCurrentDirectiveIndex(currentDirectiveIndex)}function setCurrentDirectiveIndex(currentDirectiveIndex){instructionState.lFrame.currentDirectiveIndex=currentDirectiveIndex}function getCurrentDirectiveDef(tData){const currentDirectiveIndex=instructionState.lFrame.currentDirectiveIndex;return-1===currentDirectiveIndex?null:tData[currentDirectiveIndex]}function getCurrentQueryIndex(){return instructionState.lFrame.currentQueryIndex}function setCurrentQueryIndex(value){instructionState.lFrame.currentQueryIndex=value}function getDeclarationTNode(lView){const tView=lView[TVIEW];return 2===tView.type?tView.declTNode:1===tView.type?lView[T_HOST]:null}function enterDI(lView,tNode,flags){if(flags&core_InjectFlags.SkipSelf){let parentTNode=tNode,parentLView=lView;for(;!(parentTNode=parentTNode.parent,null!==parentTNode||flags&core_InjectFlags.Host||(parentTNode=getDeclarationTNode(parentLView),null===parentTNode||(parentLView=parentLView[DECLARATION_VIEW],10&parentTNode.type))););if(null===parentTNode)return!1;tNode=parentTNode,lView=parentLView}const lFrame=instructionState.lFrame=allocLFrame();return lFrame.currentTNode=tNode,lFrame.lView=lView,!0}function enterView(newView){const newLFrame=allocLFrame(),tView=newView[TVIEW];instructionState.lFrame=newLFrame,newLFrame.currentTNode=tView.firstChild,newLFrame.lView=newView,newLFrame.tView=tView,newLFrame.contextLView=newView,newLFrame.bindingIndex=tView.bindingStartIndex,newLFrame.inI18n=!1}function allocLFrame(){const currentLFrame=instructionState.lFrame,childLFrame=null===currentLFrame?null:currentLFrame.child;return null===childLFrame?createLFrame(currentLFrame):childLFrame}function createLFrame(parent){const lFrame={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent,child:null,inI18n:!1};return null!==parent&&(parent.child=lFrame),lFrame}function leaveViewLight(){const oldLFrame=instructionState.lFrame;return instructionState.lFrame=oldLFrame.parent,oldLFrame.currentTNode=null,oldLFrame.lView=null,oldLFrame}const leaveDI=leaveViewLight;function leaveView(){const oldLFrame=leaveViewLight();oldLFrame.isParent=!0,oldLFrame.tView=null,oldLFrame.selectedIndex=-1,oldLFrame.contextLView=null,oldLFrame.elementDepthCount=0,oldLFrame.currentDirectiveIndex=-1,oldLFrame.currentNamespace=null,oldLFrame.bindingRootIndex=-1,oldLFrame.bindingIndex=-1,oldLFrame.currentQueryIndex=0}function getSelectedIndex(){return instructionState.lFrame.selectedIndex}function setSelectedIndex(index){instructionState.lFrame.selectedIndex=index}function getSelectedTNode(){const lFrame=instructionState.lFrame;return getTNode(lFrame.tView,lFrame.selectedIndex)}function \u0275\u0275namespaceSVG(){instructionState.lFrame.currentNamespace=SVG_NAMESPACE}let _wasLastNodeCreated=!0;function wasLastNodeCreated(){return _wasLastNodeCreated}function lastNodeWasCreated(flag){_wasLastNodeCreated=flag}function registerPostOrderHooks(tView,tNode){for(let i6=tNode.directiveStart,end=tNode.directiveEnd;i6=currentNodeIndex)break}else arr[i6]<0&&(currentView[PREORDER_HOOK_FLAGS]+=65536),(lastNodeIndexFound>13>16&&(3¤tView[FLAGS])===initPhase&&(currentView[FLAGS]+=8192,callHookInternal(directive,hook)):callHookInternal(directive,hook)}const NO_PARENT_INJECTOR=-1;class NodeInjectorFactory{constructor(factory2,isViewProvider,injectImplementation){this.factory=factory2,this.resolving=!1,this.canSeeViewProviders=isViewProvider,this.injectImpl=injectImplementation}}function hasParentInjector(parentLocation){return parentLocation!==NO_PARENT_INJECTOR}function getParentInjectorIndex(parentLocation){return 32767&parentLocation}function getParentInjectorView(location2,startView){let viewOffset=function getParentInjectorViewOffset(parentLocation){return parentLocation>>16}(location2),parentView=startView;for(;viewOffset>0;)parentView=parentView[DECLARATION_VIEW],viewOffset--;return parentView}let includeViewProviders=!0;function setIncludeViewProviders(v){const oldValue=includeViewProviders;return includeViewProviders=v,oldValue}const BLOOM_MASK=255,BLOOM_BUCKET_BITS=5;let nextNgElementId=0;const NOT_FOUND={};function getOrCreateNodeInjectorForNode(tNode,lView){const existingInjectorIndex=getInjectorIndex(tNode,lView);if(-1!==existingInjectorIndex)return existingInjectorIndex;const tView=lView[TVIEW];tView.firstCreatePass&&(tNode.injectorIndex=lView.length,insertBloom(tView.data,tNode),insertBloom(lView,null),insertBloom(tView.blueprint,null));const parentLoc=getParentInjectorLocation(tNode,lView),injectorIndex=tNode.injectorIndex;if(hasParentInjector(parentLoc)){const parentIndex=getParentInjectorIndex(parentLoc),parentLView=getParentInjectorView(parentLoc,lView),parentData=parentLView[TVIEW].data;for(let i6=0;i6<8;i6++)lView[injectorIndex+i6]=parentLView[parentIndex+i6]|parentData[parentIndex+i6]}return lView[injectorIndex+8]=parentLoc,injectorIndex}function insertBloom(arr,footer){arr.push(0,0,0,0,0,0,0,0,footer)}function getInjectorIndex(tNode,lView){return-1===tNode.injectorIndex||tNode.parent&&tNode.parent.injectorIndex===tNode.injectorIndex||null===lView[tNode.injectorIndex+8]?-1:tNode.injectorIndex}function getParentInjectorLocation(tNode,lView){if(tNode.parent&&-1!==tNode.parent.injectorIndex)return tNode.parent.injectorIndex;let declarationViewOffset=0,parentTNode=null,lViewCursor=lView;for(;null!==lViewCursor;){if(parentTNode=getTNodeFromLView(lViewCursor),null===parentTNode)return NO_PARENT_INJECTOR;if(declarationViewOffset++,lViewCursor=lViewCursor[DECLARATION_VIEW],-1!==parentTNode.injectorIndex)return parentTNode.injectorIndex|declarationViewOffset<<16}return NO_PARENT_INJECTOR}function diPublicInInjector(injectorIndex,tView,token){!function bloomAdd(injectorIndex,tView,type){let id;"string"==typeof type?id=type.charCodeAt(0)||0:type.hasOwnProperty(NG_ELEMENT_ID)&&(id=type[NG_ELEMENT_ID]),null==id&&(id=type[NG_ELEMENT_ID]=nextNgElementId++);const bloomHash=id&BLOOM_MASK;tView.data[injectorIndex+(bloomHash>>BLOOM_BUCKET_BITS)]|=1<=0?tokenId&BLOOM_MASK:createNodeInjector:tokenId}(token);if("function"==typeof bloomHash){if(!enterDI(lView,tNode,flags))return flags&core_InjectFlags.Host?notFoundValueOrThrow(notFoundValue,0,flags):lookupTokenUsingModuleInjector(lView,token,flags,notFoundValue);try{let value;if(value=bloomHash(flags),null!=value||flags&core_InjectFlags.Optional)return value;throwProviderNotFoundError()}finally{leaveDI()}}else if("number"==typeof bloomHash){let previousTView=null,injectorIndex=getInjectorIndex(tNode,lView),parentLocation=NO_PARENT_INJECTOR,hostTElementNode=flags&core_InjectFlags.Host?lView[DECLARATION_COMPONENT_VIEW][T_HOST]:null;for((-1===injectorIndex||flags&core_InjectFlags.SkipSelf)&&(parentLocation=-1===injectorIndex?getParentInjectorLocation(tNode,lView):lView[injectorIndex+8],parentLocation!==NO_PARENT_INJECTOR&&shouldSearchParent(flags,!1)?(previousTView=lView[TVIEW],injectorIndex=getParentInjectorIndex(parentLocation),lView=getParentInjectorView(parentLocation,lView)):injectorIndex=-1);-1!==injectorIndex;){const tView=lView[TVIEW];if(bloomHasToken(bloomHash,injectorIndex,tView.data)){const instance=searchTokensOnInjector(injectorIndex,lView,token,previousTView,flags,hostTElementNode);if(instance!==NOT_FOUND)return instance}parentLocation=lView[injectorIndex+8],parentLocation!==NO_PARENT_INJECTOR&&shouldSearchParent(flags,lView[TVIEW].data[injectorIndex+8]===hostTElementNode)&&bloomHasToken(bloomHash,injectorIndex,lView)?(previousTView=tView,injectorIndex=getParentInjectorIndex(parentLocation),lView=getParentInjectorView(parentLocation,lView)):injectorIndex=-1}}return notFoundValue}function searchTokensOnInjector(injectorIndex,lView,token,previousTView,flags,hostTElementNode){const currentTView=lView[TVIEW],tNode=currentTView.data[injectorIndex+8],injectableIdx=locateDirectiveOrProvider(tNode,currentTView,token,null==previousTView?isComponentHost(tNode)&&includeViewProviders:previousTView!=currentTView&&0!=(3&tNode.type),flags&core_InjectFlags.Host&&hostTElementNode===tNode);return null!==injectableIdx?getNodeInjectable(lView,currentTView,injectableIdx,tNode):NOT_FOUND}function locateDirectiveOrProvider(tNode,tView,token,canAccessViewProviders,isHostSpecialCase){const nodeProviderIndexes=tNode.providerIndexes,tInjectables=tView.data,injectablesStart=1048575&nodeProviderIndexes,directivesStart=tNode.directiveStart,cptViewProvidersCount=nodeProviderIndexes>>20,endIndex=isHostSpecialCase?injectablesStart+cptViewProvidersCount:tNode.directiveEnd;for(let i6=canAccessViewProviders?injectablesStart:injectablesStart+cptViewProvidersCount;i6=directivesStart&&providerTokenOrDef.type===token)return i6}if(isHostSpecialCase){const dirDef=tInjectables[directivesStart];if(dirDef&&isComponentDef(dirDef)&&dirDef.type===token)return directivesStart}return null}function getNodeInjectable(lView,tView,index,tNode){let value=lView[index];const tData=tView.data;if(function isFactory(obj){return obj instanceof NodeInjectorFactory}(value)){const factory2=value;factory2.resolving&&function throwCyclicDependencyError(token,path){const depPath=path?`. Dependency path: ${path.join(" > ")} > ${token}`:"";throw new RuntimeError(-200,`Circular dependency in DI detected for ${token}${depPath}`)}(function stringifyForError(value){return"function"==typeof value?value.name||value.toString():"object"==typeof value&&null!=value&&"function"==typeof value.type?value.type.name||value.type.toString():renderStringify(value)}(tData[index]));const previousIncludeViewProviders=setIncludeViewProviders(factory2.canSeeViewProviders);factory2.resolving=!0;const previousInjectImplementation=factory2.injectImpl?setInjectImplementation(factory2.injectImpl):null;enterDI(lView,tNode,core_InjectFlags.Default);try{value=lView[index]=factory2.factory(void 0,tData,lView,tNode),tView.firstCreatePass&&index>=tNode.directiveStart&&function registerPreOrderHooks(directiveIndex,directiveDef,tView){const{ngOnChanges,ngOnInit,ngDoCheck}=directiveDef.type.prototype;if(ngOnChanges){const wrappedOnChanges=NgOnChangesFeatureImpl(directiveDef);(tView.preOrderHooks??=[]).push(directiveIndex,wrappedOnChanges),(tView.preOrderCheckHooks??=[]).push(directiveIndex,wrappedOnChanges)}ngOnInit&&(tView.preOrderHooks??=[]).push(0-directiveIndex,ngOnInit),ngDoCheck&&((tView.preOrderHooks??=[]).push(directiveIndex,ngDoCheck),(tView.preOrderCheckHooks??=[]).push(directiveIndex,ngDoCheck))}(index,tData[index],tView)}finally{null!==previousInjectImplementation&&setInjectImplementation(previousInjectImplementation),setIncludeViewProviders(previousIncludeViewProviders),factory2.resolving=!1,leaveDI()}}return value}function bloomHasToken(bloomHash,injectorIndex,injectorView){return!!(injectorView[injectorIndex+(bloomHash>>BLOOM_BUCKET_BITS)]&1<{const ownConstructor=type.prototype.constructor,ownFactory=ownConstructor[NG_FACTORY_DEF]||getFactoryOf(ownConstructor),objectPrototype=Object.prototype;let parent=Object.getPrototypeOf(type.prototype).constructor;for(;parent&&parent!==objectPrototype;){const factory2=parent[NG_FACTORY_DEF]||getFactoryOf(parent);if(factory2&&factory2!==ownFactory)return factory2;parent=Object.getPrototypeOf(parent)}return t=>new t})}function getFactoryOf(type){return isForwardRef(type)?()=>{const factory2=getFactoryOf(resolveForwardRef(type));return factory2&&factory2()}:getFactoryDef(type)}function getTNodeFromLView(lView){const tView=lView[TVIEW],tViewType=tView.type;return 2===tViewType?tView.declTNode:1===tViewType?lView[T_HOST]:null}function \u0275\u0275injectAttribute(attrNameToInject){return function injectAttributeImpl(tNode,attrNameToInject){if("class"===attrNameToInject)return tNode.classes;if("style"===attrNameToInject)return tNode.styles;const attrs=tNode.attrs;if(attrs){const attrsLength=attrs.length;let i6=0;for(;i6{const metaCtor=function makeMetadataCtor(props){return function(...args){if(props){const values=props(...args);for(const propName in values)this[propName]=values[propName]}}}(props);function ParamDecoratorFactory(...args){if(this instanceof ParamDecoratorFactory)return metaCtor.apply(this,args),this;const annotationInstance=new ParamDecoratorFactory(...args);return ParamDecorator.annotation=annotationInstance,ParamDecorator;function ParamDecorator(cls,unusedKey,index){const parameters=cls.hasOwnProperty("__parameters__")?cls.__parameters__:Object.defineProperty(cls,"__parameters__",{value:[]}).__parameters__;for(;parameters.length<=index;)parameters.push(null);return(parameters[index]=parameters[index]||[]).push(annotationInstance),cls}}return parentClass&&(ParamDecoratorFactory.prototype=Object.create(parentClass.prototype)),ParamDecoratorFactory.prototype.ngMetadataName=name,ParamDecoratorFactory.annotationCls=ParamDecoratorFactory,ParamDecoratorFactory})}function deepForEach(input,fn){input.forEach(value=>Array.isArray(value)?deepForEach(value,fn):fn(value))}function addToArray(arr,index,value){index>=arr.length?arr.push(value):arr.splice(index,0,value)}function removeFromArray(arr,index){return index>=arr.length-1?arr.pop():arr.splice(index,1)[0]}function newArray(size,value){const list2=[];for(let i6=0;i6=0?keyValueArray[1|index]=value:(index=~index,function arrayInsert2(array,index,value1,value2){let end=array.length;if(end==index)array.push(value1,value2);else if(1===end)array.push(value2,array[0]),array[0]=value1;else{for(end--,array.push(array[end-1],array[end]);end>index;)array[end]=array[end-2],end--;array[index]=value1,array[index+1]=value2}}(keyValueArray,index,key,value)),index}function keyValueArrayGet(keyValueArray,key){const index=keyValueArrayIndexOf(keyValueArray,key);if(index>=0)return keyValueArray[1|index]}function keyValueArrayIndexOf(keyValueArray,key){return function _arrayIndexOfSorted(array,value,shift){let start2=0,end=array.length>>shift;for(;end!==start2;){const middle=start2+(end-start2>>1),current=array[middle<value?end=middle:start2=middle+1}return~(end<|^->||--!>|)/,COMMENT_DELIMITER_ESCAPED="\u200b$1\u200b";const TRACKED_LVIEWS=new Map;let uniqueIdCounter=0;const MONKEY_PATCH_KEY_NAME="__ngContext__";function attachPatchData(target,data){isLView(data)?(target[MONKEY_PATCH_KEY_NAME]=data[ID],function registerLView(lView){TRACKED_LVIEWS.set(lView[ID],lView)}(data)):target[MONKEY_PATCH_KEY_NAME]=data}let _icuContainerIterate;function icuContainerIterate(tIcuContainerNode,lView){return _icuContainerIterate(tIcuContainerNode,lView)}function getLViewParent(lView){const parent=lView[PARENT];return isLContainer(parent)?parent[PARENT]:parent}function getFirstLContainer(lView){return getNearestLContainer(lView[CHILD_HEAD])}function getNextLContainer(container){return getNearestLContainer(container[NEXT])}function getNearestLContainer(viewOrContainer){for(;null!==viewOrContainer&&!isLContainer(viewOrContainer);)viewOrContainer=viewOrContainer[NEXT];return viewOrContainer}function applyToElementOrContainer(action,renderer,parent,lNodeToHandle,beforeNode){if(null!=lNodeToHandle){let lContainer,isComponent2=!1;isLContainer(lNodeToHandle)?lContainer=lNodeToHandle:isLView(lNodeToHandle)&&(isComponent2=!0,lNodeToHandle=lNodeToHandle[HOST]);const rNode=unwrapRNode(lNodeToHandle);0===action&&null!==parent?null==beforeNode?nativeAppendChild(renderer,parent,rNode):nativeInsertBefore(renderer,parent,rNode,beforeNode||null,!0):1===action&&null!==parent?nativeInsertBefore(renderer,parent,rNode,beforeNode||null,!0):2===action?function nativeRemoveNode(renderer,rNode,isHostElement){const nativeParent=nativeParentNode(renderer,rNode);nativeParent&&function nativeRemoveChild(renderer,parent,child2,isHostElement){renderer.removeChild(parent,child2,isHostElement)}(renderer,nativeParent,rNode,isHostElement)}(renderer,rNode,isComponent2):3===action&&renderer.destroyNode(rNode),null!=lContainer&&function applyContainer(renderer,action,lContainer,parentRElement,beforeNode){const anchor=lContainer[NATIVE];anchor!==unwrapRNode(lContainer)&&applyToElementOrContainer(action,renderer,parentRElement,anchor,beforeNode);for(let i6=CONTAINER_HEADER_OFFSET;i6text.replace(COMMENT_DELIMITER,COMMENT_DELIMITER_ESCAPED))}(value))}function createElementNode(renderer,name,namespace){return renderer.createElement(name,namespace)}function detachMovedView(declarationContainer,lView){const movedViews=declarationContainer[MOVED_VIEWS],declarationViewIndex=movedViews.indexOf(lView);clearViewRefreshFlag(lView),movedViews.splice(declarationViewIndex,1)}function detachView(lContainer,removeIndex){if(lContainer.length<=CONTAINER_HEADER_OFFSET)return;const indexInContainer=CONTAINER_HEADER_OFFSET+removeIndex,viewToDetach=lContainer[indexInContainer];if(viewToDetach){const declarationLContainer=viewToDetach[DECLARATION_LCONTAINER];null!==declarationLContainer&&declarationLContainer!==lContainer&&detachMovedView(declarationLContainer,viewToDetach),removeIndex>0&&(lContainer[indexInContainer-1][NEXT]=viewToDetach[NEXT]);const removedLView=removeFromArray(lContainer,CONTAINER_HEADER_OFFSET+removeIndex);!function removeViewFromDOM(tView,lView){applyView(tView,lView,lView[RENDERER],2,null,null),lView[HOST]=null,lView[T_HOST]=null}(viewToDetach[TVIEW],viewToDetach);const lQueries=removedLView[QUERIES];null!==lQueries&&lQueries.detachView(removedLView[TVIEW]),viewToDetach[PARENT]=null,viewToDetach[NEXT]=null,viewToDetach[FLAGS]&=-129}return viewToDetach}function destroyLView(tView,lView){if(!(256&lView[FLAGS])){const renderer=lView[RENDERER];lView[REACTIVE_TEMPLATE_CONSUMER]?.destroy(),lView[REACTIVE_HOST_BINDING_CONSUMER]?.destroy(),renderer.destroyNode&&applyView(tView,lView,renderer,3,null,null),function destroyViewTree(rootView){let lViewOrLContainer=rootView[CHILD_HEAD];if(!lViewOrLContainer)return cleanUpView(rootView[TVIEW],rootView);for(;lViewOrLContainer;){let next=null;if(isLView(lViewOrLContainer))next=lViewOrLContainer[CHILD_HEAD];else{const firstView=lViewOrLContainer[CONTAINER_HEADER_OFFSET];firstView&&(next=firstView)}if(!next){for(;lViewOrLContainer&&!lViewOrLContainer[NEXT]&&lViewOrLContainer!==rootView;)isLView(lViewOrLContainer)&&cleanUpView(lViewOrLContainer[TVIEW],lViewOrLContainer),lViewOrLContainer=lViewOrLContainer[PARENT];null===lViewOrLContainer&&(lViewOrLContainer=rootView),isLView(lViewOrLContainer)&&cleanUpView(lViewOrLContainer[TVIEW],lViewOrLContainer),next=lViewOrLContainer&&lViewOrLContainer[NEXT]}lViewOrLContainer=next}}(lView)}}function cleanUpView(tView,lView){if(!(256&lView[FLAGS])){lView[FLAGS]&=-129,lView[FLAGS]|=256,function executeOnDestroys(tView,lView){let destroyHooks;if(null!=tView&&null!=(destroyHooks=tView.destroyHooks))for(let i6=0;i6=0?lCleanup[targetIdx]():lCleanup[-targetIdx].unsubscribe(),i6+=2}else tCleanup[i6].call(lCleanup[tCleanup[i6+1]]);null!==lCleanup&&(lView[CLEANUP]=null);const destroyHooks=lView[ON_DESTROY_HOOKS];if(null!==destroyHooks){lView[ON_DESTROY_HOOKS]=null;for(let i6=0;i6-1){const{encapsulation}=tView.data[parentTNode.directiveStart+componentOffset];if(encapsulation===ViewEncapsulation$1.None||encapsulation===ViewEncapsulation$1.Emulated)return null}return getNativeByTNode(parentTNode,lView)}}(tView,tNode.parent,lView)}function nativeInsertBefore(renderer,parent,child2,beforeNode,isMove){renderer.insertBefore(parent,child2,beforeNode,isMove)}function nativeAppendChild(renderer,parent,child2){renderer.appendChild(parent,child2)}function nativeAppendOrInsertBefore(renderer,parent,child2,beforeNode,isMove){null!==beforeNode?nativeInsertBefore(renderer,parent,child2,beforeNode,isMove):nativeAppendChild(renderer,parent,child2)}function nativeParentNode(renderer,node2){return renderer.parentNode(node2)}function getInsertInFrontOfRNode(parentTNode,currentTNode,lView){return _getInsertInFrontOfRNodeWithI18n(parentTNode,currentTNode,lView)}let _processI18nInsertBefore,policy$1,core_DOCUMENT,policy,_getInsertInFrontOfRNodeWithI18n=function getInsertInFrontOfRNodeWithNoI18n(parentTNode,currentTNode,lView){return 40&parentTNode.type?getNativeByTNode(parentTNode,lView):null};function appendChild(tView,lView,childRNode,childTNode){const parentRNode=getParentRElement(tView,childTNode,lView),renderer=lView[RENDERER],anchorNode=getInsertInFrontOfRNode(childTNode.parent||lView[T_HOST],childTNode,lView);if(null!=parentRNode)if(Array.isArray(childRNode))for(let i6=0;i6s,createScript:s=>s,createScriptURL:s=>s})}catch{}return policy$1}()?.createHTML(html)||html}function trustedScriptURLFromStringBypass(url){return function getPolicy(){if(void 0===policy&&(policy=null,_global.trustedTypes))try{policy=_global.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:s=>s,createScript:s=>s,createScriptURL:s=>s})}catch{}return policy}()?.createScriptURL(url)||url}class SafeValueImpl{constructor(changingThisBreaksApplicationSecurity){this.changingThisBreaksApplicationSecurity=changingThisBreaksApplicationSecurity}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${XSS_SECURITY_URL})`}}class SafeHtmlImpl extends SafeValueImpl{getTypeName(){return"HTML"}}class SafeStyleImpl extends SafeValueImpl{getTypeName(){return"Style"}}class SafeScriptImpl extends SafeValueImpl{getTypeName(){return"Script"}}class SafeUrlImpl extends SafeValueImpl{getTypeName(){return"URL"}}class SafeResourceUrlImpl extends SafeValueImpl{getTypeName(){return"ResourceURL"}}function unwrapSafeValue(value){return value instanceof SafeValueImpl?value.changingThisBreaksApplicationSecurity:value}function allowSanitizationBypassAndThrow(value,type){const actualType=function getSanitizationBypassType(value){return value instanceof SafeValueImpl&&value.getTypeName()||null}(value);if(null!=actualType&&actualType!==type){if("ResourceURL"===actualType&&"URL"===type)return!0;throw new Error(`Required a safe ${type}, got a ${actualType} (see ${XSS_SECURITY_URL})`)}return actualType===type}class DOMParserHelper{constructor(inertDocumentHelper){this.inertDocumentHelper=inertDocumentHelper}getInertBodyElement(html){html=""+html;try{const body=(new window.DOMParser).parseFromString(trustedHTMLFromString(html),"text/html").body;return null===body?this.inertDocumentHelper.getInertBodyElement(html):(body.removeChild(body.firstChild),body)}catch{return null}}}class InertDocumentHelper{constructor(defaultDoc){this.defaultDoc=defaultDoc,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(html){const templateEl=this.inertDocument.createElement("template");return templateEl.innerHTML=trustedHTMLFromString(html),templateEl}}const SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function _sanitizeUrl(url){return(url=String(url)).match(SAFE_URL_PATTERN)?url:"unsafe:"+url}function tagSet(tags){const res={};for(const t of tags.split(","))res[t]=!0;return res}function core_merge(...sets){const res={};for(const s of sets)for(const v in s)s.hasOwnProperty(v)&&(res[v]=!0);return res}const VOID_ELEMENTS=tagSet("area,br,col,hr,img,wbr"),OPTIONAL_END_TAG_BLOCK_ELEMENTS=tagSet("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),OPTIONAL_END_TAG_INLINE_ELEMENTS=tagSet("rp,rt"),VALID_ELEMENTS=core_merge(VOID_ELEMENTS,core_merge(OPTIONAL_END_TAG_BLOCK_ELEMENTS,tagSet("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),core_merge(OPTIONAL_END_TAG_INLINE_ELEMENTS,tagSet("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),core_merge(OPTIONAL_END_TAG_INLINE_ELEMENTS,OPTIONAL_END_TAG_BLOCK_ELEMENTS)),URI_ATTRS=tagSet("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),VALID_ATTRS=core_merge(URI_ATTRS,tagSet("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),tagSet("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS=tagSet("script,style,template");class SanitizingHtmlSerializer{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(el){let current=el.firstChild,traverseContent=!0;for(;current;)if(current.nodeType===Node.ELEMENT_NODE?traverseContent=this.startElement(current):current.nodeType===Node.TEXT_NODE?this.chars(current.nodeValue):this.sanitizedSomething=!0,traverseContent&¤t.firstChild)current=current.firstChild;else for(;current;){current.nodeType===Node.ELEMENT_NODE&&this.endElement(current);let next=this.checkClobberedElement(current,current.nextSibling);if(next){current=next;break}current=this.checkClobberedElement(current,current.parentNode)}return this.buf.join("")}startElement(element){const tagName=element.nodeName.toLowerCase();if(!VALID_ELEMENTS.hasOwnProperty(tagName))return this.sanitizedSomething=!0,!SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS.hasOwnProperty(tagName);this.buf.push("<"),this.buf.push(tagName);const elAttrs=element.attributes;for(let i6=0;i6"),!0}endElement(current){const tagName=current.nodeName.toLowerCase();VALID_ELEMENTS.hasOwnProperty(tagName)&&!VOID_ELEMENTS.hasOwnProperty(tagName)&&(this.buf.push(""))}chars(chars2){this.buf.push(encodeEntities(chars2))}checkClobberedElement(node2,nextNode){if(nextNode&&(node2.compareDocumentPosition(nextNode)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${node2.outerHTML}`);return nextNode}}const SURROGATE_PAIR_REGEXP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,NON_ALPHANUMERIC_REGEXP=/([^\#-~ |!])/g;function encodeEntities(value){return value.replace(/&/g,"&").replace(SURROGATE_PAIR_REGEXP,function(match2){return"&#"+(1024*(match2.charCodeAt(0)-55296)+(match2.charCodeAt(1)-56320)+65536)+";"}).replace(NON_ALPHANUMERIC_REGEXP,function(match2){return"&#"+match2.charCodeAt(0)+";"}).replace(//g,">")}let inertBodyHelper;function _sanitizeHtml(defaultDoc,unsafeHtmlInput){let inertBodyElement=null;try{inertBodyHelper=inertBodyHelper||function getInertBodyHelper(defaultDoc){const inertDocumentHelper=new InertDocumentHelper(defaultDoc);return function isDOMParserAvailable(){try{return!!(new window.DOMParser).parseFromString(trustedHTMLFromString(""),"text/html")}catch{return!1}}()?new DOMParserHelper(inertDocumentHelper):inertDocumentHelper}(defaultDoc);let unsafeHtml=unsafeHtmlInput?String(unsafeHtmlInput):"";inertBodyElement=inertBodyHelper.getInertBodyElement(unsafeHtml);let mXSSAttempts=5,parsedHtml=unsafeHtml;do{if(0===mXSSAttempts)throw new Error("Failed to sanitize html because the input is unstable");mXSSAttempts--,unsafeHtml=parsedHtml,parsedHtml=inertBodyElement.innerHTML,inertBodyElement=inertBodyHelper.getInertBodyElement(unsafeHtml)}while(unsafeHtml!==parsedHtml);return trustedHTMLFromString((new SanitizingHtmlSerializer).sanitizeChildren(getTemplateContent(inertBodyElement)||inertBodyElement))}finally{if(inertBodyElement){const parent=getTemplateContent(inertBodyElement)||inertBodyElement;for(;parent.firstChild;)parent.removeChild(parent.firstChild)}}}function getTemplateContent(el){return"content"in el&&function isTemplateElement(el){return el.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===el.nodeName}(el)?el.content:null}var SecurityContext=function(SecurityContext2){return SecurityContext2[SecurityContext2.NONE=0]="NONE",SecurityContext2[SecurityContext2.HTML=1]="HTML",SecurityContext2[SecurityContext2.STYLE=2]="STYLE",SecurityContext2[SecurityContext2.SCRIPT=3]="SCRIPT",SecurityContext2[SecurityContext2.URL=4]="URL",SecurityContext2[SecurityContext2.RESOURCE_URL=5]="RESOURCE_URL",SecurityContext2}(SecurityContext||{});function \u0275\u0275sanitizeUrl(unsafeUrl){const sanitizer=getSanitizer();return sanitizer?sanitizer.sanitize(SecurityContext.URL,unsafeUrl)||"":allowSanitizationBypassAndThrow(unsafeUrl,"URL")?unwrapSafeValue(unsafeUrl):_sanitizeUrl(renderStringify(unsafeUrl))}function \u0275\u0275sanitizeResourceUrl(unsafeResourceUrl){const sanitizer=getSanitizer();if(sanitizer)return trustedScriptURLFromStringBypass(sanitizer.sanitize(SecurityContext.RESOURCE_URL,unsafeResourceUrl)||"");if(allowSanitizationBypassAndThrow(unsafeResourceUrl,"ResourceURL"))return trustedScriptURLFromStringBypass(unwrapSafeValue(unsafeResourceUrl));throw new RuntimeError(904,!1)}function getSanitizer(){const lView=getLView();return lView&&lView[ENVIRONMENT].sanitizer}class InjectionToken{constructor(_desc,options){this._desc=_desc,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof options?this.__NG_ELEMENT_ID__=options:void 0!==options&&(this.\u0275prov=core_defineInjectable({token:this,providedIn:options.providedIn||"root",factory:options.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const core_ENVIRONMENT_INITIALIZER=new InjectionToken("ENVIRONMENT_INITIALIZER"),INJECTOR=new InjectionToken("INJECTOR",-1),INJECTOR_DEF_TYPES=new InjectionToken("INJECTOR_DEF_TYPES");class NullInjector{get(token,notFoundValue=THROW_IF_NOT_FOUND){if(notFoundValue===THROW_IF_NOT_FOUND){const error=new Error(`NullInjectorError: No provider for ${stringify(token)}!`);throw error.name="NullInjectorError",error}return notFoundValue}}function importProvidersFrom(...sources){return{\u0275providers:internalImportProvidersFrom(0,sources),\u0275fromNgModule:!0}}function internalImportProvidersFrom(checkForStandaloneCmp,...sources){const providersOut=[],dedup=new Set;let injectorTypesWithProviders;const collectProviders=provider=>{providersOut.push(provider)};return deepForEach(sources,source=>{const internalSource=source;walkProviderTree(internalSource,collectProviders,[],dedup)&&(injectorTypesWithProviders||=[],injectorTypesWithProviders.push(internalSource))}),void 0!==injectorTypesWithProviders&&processInjectorTypesWithProviders(injectorTypesWithProviders,collectProviders),providersOut}function processInjectorTypesWithProviders(typesWithProviders,visitor){for(let i6=0;i6{visitor(provider,ngModule)})}}function walkProviderTree(container,visitor,parents,dedup){if(!(container=resolveForwardRef(container)))return!1;let defType=null,injDef=getInjectorDef(container);const cmpDef=!injDef&&getComponentDef(container);if(injDef||cmpDef){if(cmpDef&&!cmpDef.standalone)return!1;defType=container}else{const ngModule=container.ngModule;if(injDef=getInjectorDef(ngModule),!injDef)return!1;defType=ngModule}const isDuplicate=dedup.has(defType);if(cmpDef){if(isDuplicate)return!1;if(dedup.add(defType),cmpDef.dependencies){const deps="function"==typeof cmpDef.dependencies?cmpDef.dependencies():cmpDef.dependencies;for(const dep of deps)walkProviderTree(dep,visitor,parents,dedup)}}else{if(!injDef)return!1;{if(null!=injDef.imports&&!isDuplicate){let importTypesWithProviders;dedup.add(defType);try{deepForEach(injDef.imports,imported=>{walkProviderTree(imported,visitor,parents,dedup)&&(importTypesWithProviders||=[],importTypesWithProviders.push(imported))})}finally{}void 0!==importTypesWithProviders&&processInjectorTypesWithProviders(importTypesWithProviders,visitor)}if(!isDuplicate){const factory2=getFactoryDef(defType)||(()=>new defType);visitor({provide:defType,useFactory:factory2,deps:EMPTY_ARRAY},defType),visitor({provide:INJECTOR_DEF_TYPES,useValue:defType,multi:!0},defType),visitor({provide:core_ENVIRONMENT_INITIALIZER,useValue:()=>core_inject(defType),multi:!0},defType)}const defProviders=injDef.providers;if(null!=defProviders&&!isDuplicate){const injectorType=container;deepForEachProvider(defProviders,provider=>{visitor(provider,injectorType)})}}}return defType!==container&&void 0!==container.providers}function deepForEachProvider(providers,fn){for(let provider of providers)isEnvironmentProviders(provider)&&(provider=provider.\u0275providers),Array.isArray(provider)?deepForEachProvider(provider,fn):fn(provider)}const USE_VALUE$1=getClosureSafeProperty({provide:String,useValue:getClosureSafeProperty});function isValueProvider(value){return null!==value&&"object"==typeof value&&USE_VALUE$1 in value}function isTypeProvider(value){return"function"==typeof value}const INJECTOR_SCOPE=new InjectionToken("Set Injector scope."),NOT_YET={},CIRCULAR={};let NULL_INJECTOR;function getNullInjector(){return void 0===NULL_INJECTOR&&(NULL_INJECTOR=new NullInjector),NULL_INJECTOR}class core_EnvironmentInjector{}class R3Injector extends core_EnvironmentInjector{get destroyed(){return this._destroyed}constructor(providers,parent,source,scopes){super(),this.parent=parent,this.source=source,this.scopes=scopes,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,forEachSingleProvider(providers,provider=>this.processProvider(provider)),this.records.set(INJECTOR,makeRecord(void 0,this)),scopes.has("environment")&&this.records.set(core_EnvironmentInjector,makeRecord(void 0,this));const record2=this.records.get(INJECTOR_SCOPE);null!=record2&&"string"==typeof record2.value&&this.scopes.add(record2.value),this.injectorDefTypes=new Set(this.get(INJECTOR_DEF_TYPES.multi,EMPTY_ARRAY,core_InjectFlags.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const service of this._ngOnDestroyHooks)service.ngOnDestroy();const onDestroyHooks=this._onDestroyHooks;this._onDestroyHooks=[];for(const hook of onDestroyHooks)hook()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(callback){return this.assertNotDestroyed(),this._onDestroyHooks.push(callback),()=>this.removeOnDestroy(callback)}runInContext(fn){this.assertNotDestroyed();const previousInjector=setCurrentInjector(this),previousInjectImplementation=setInjectImplementation(void 0);try{return fn()}finally{setCurrentInjector(previousInjector),setInjectImplementation(previousInjectImplementation)}}get(token,notFoundValue=THROW_IF_NOT_FOUND,flags=core_InjectFlags.Default){if(this.assertNotDestroyed(),token.hasOwnProperty(NG_ENV_ID))return token[NG_ENV_ID](this);flags=convertToBitFlags(flags);const previousInjector=setCurrentInjector(this),previousInjectImplementation=setInjectImplementation(void 0);try{if(!(flags&core_InjectFlags.SkipSelf)){let record2=this.records.get(token);if(void 0===record2){const def=function couldBeInjectableType(value){return"function"==typeof value||"object"==typeof value&&value instanceof InjectionToken}(token)&&getInjectableDef(token);record2=def&&this.injectableDefInScope(def)?makeRecord(injectableDefOrInjectorDefFactory(token),NOT_YET):null,this.records.set(token,record2)}if(null!=record2)return this.hydrate(token,record2)}return(flags&core_InjectFlags.Self?getNullInjector():this.parent).get(token,notFoundValue=flags&core_InjectFlags.Optional&¬FoundValue===THROW_IF_NOT_FOUND?null:notFoundValue)}catch(e2){if("NullInjectorError"===e2.name){if((e2.ngTempTokenPath=e2.ngTempTokenPath||[]).unshift(stringify(token)),previousInjector)throw e2;return function catchInjectorError(e2,token,injectorErrorName,source){const tokenPath=e2.ngTempTokenPath;throw token.__source&&tokenPath.unshift(token.__source),e2.message=function formatError(text,obj,injectorErrorName,source=null){text=text&&"\n"===text.charAt(0)&&"\u0275"==text.charAt(1)?text.slice(2):text;let context2=stringify(obj);if(Array.isArray(obj))context2=obj.map(stringify).join(" -> ");else if("object"==typeof obj){let parts=[];for(let key in obj)if(obj.hasOwnProperty(key)){let value=obj[key];parts.push(key+":"+("string"==typeof value?JSON.stringify(value):stringify(value)))}context2=`{${parts.join(", ")}}`}return`${injectorErrorName}${source?"("+source+")":""}[${context2}]: ${text.replace(NEW_LINE,"\n ")}`}("\n"+e2.message,tokenPath,injectorErrorName,source),e2.ngTokenPath=tokenPath,e2.ngTempTokenPath=null,e2}(e2,token,"R3InjectorError",this.source)}throw e2}finally{setInjectImplementation(previousInjectImplementation),setCurrentInjector(previousInjector)}}resolveInjectorInitializers(){const previousInjector=setCurrentInjector(this),previousInjectImplementation=setInjectImplementation(void 0);try{const initializers=this.get(core_ENVIRONMENT_INITIALIZER.multi,EMPTY_ARRAY,core_InjectFlags.Self);for(const initializer of initializers)initializer()}finally{setCurrentInjector(previousInjector),setInjectImplementation(previousInjectImplementation)}}toString(){const tokens=[],records=this.records;for(const token of records.keys())tokens.push(stringify(token));return`R3Injector[${tokens.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new RuntimeError(205,!1)}processProvider(provider){let token=isTypeProvider(provider=resolveForwardRef(provider))?provider:resolveForwardRef(provider&&provider.provide);const record2=function providerToRecord(provider){return isValueProvider(provider)?makeRecord(void 0,provider.useValue):makeRecord(providerToFactory(provider),NOT_YET)}(provider);if(isTypeProvider(provider)||!0!==provider.multi)this.records.get(token);else{let multiRecord=this.records.get(token);multiRecord||(multiRecord=makeRecord(void 0,NOT_YET,!0),multiRecord.factory=()=>injectArgs(multiRecord.multi),this.records.set(token,multiRecord)),token=provider,multiRecord.multi.push(provider)}this.records.set(token,record2)}hydrate(token,record2){return record2.value===NOT_YET&&(record2.value=CIRCULAR,record2.value=record2.factory()),"object"==typeof record2.value&&record2.value&&function hasOnDestroy(value){return null!==value&&"object"==typeof value&&"function"==typeof value.ngOnDestroy}(record2.value)&&this._ngOnDestroyHooks.add(record2.value),record2.value}injectableDefInScope(def){if(!def.providedIn)return!1;const providedIn=resolveForwardRef(def.providedIn);return"string"==typeof providedIn?"any"===providedIn||this.scopes.has(providedIn):this.injectorDefTypes.has(providedIn)}removeOnDestroy(callback){const destroyCBIdx=this._onDestroyHooks.indexOf(callback);-1!==destroyCBIdx&&this._onDestroyHooks.splice(destroyCBIdx,1)}}function injectableDefOrInjectorDefFactory(token){const injectableDef=getInjectableDef(token),factory2=null!==injectableDef?injectableDef.factory:getFactoryDef(token);if(null!==factory2)return factory2;if(token instanceof InjectionToken)throw new RuntimeError(204,!1);if(token instanceof Function)return function getUndecoratedInjectableFactory(token){const paramLength=token.length;if(paramLength>0)throw newArray(paramLength,"?"),new RuntimeError(204,!1);const inheritedInjectableDef=function getInheritedInjectableDef(type){return type&&(type[NG_PROV_DEF]||type[NG_INJECTABLE_DEF])||null}(token);return null!==inheritedInjectableDef?()=>inheritedInjectableDef.factory(token):()=>new token}(token);throw new RuntimeError(204,!1)}function providerToFactory(provider,ngModuleType,providers){let factory2;if(isTypeProvider(provider)){const unwrappedProvider=resolveForwardRef(provider);return getFactoryDef(unwrappedProvider)||injectableDefOrInjectorDefFactory(unwrappedProvider)}if(isValueProvider(provider))factory2=()=>resolveForwardRef(provider.useValue);else if(function isFactoryProvider(value){return!(!value||!value.useFactory)}(provider))factory2=()=>provider.useFactory(...injectArgs(provider.deps||[]));else if(function isExistingProvider(value){return!(!value||!value.useExisting)}(provider))factory2=()=>core_inject(resolveForwardRef(provider.useExisting));else{const classRef=resolveForwardRef(provider&&(provider.useClass||provider.provide));if(!function hasDeps(value){return!!value.deps}(provider))return getFactoryDef(classRef)||injectableDefOrInjectorDefFactory(classRef);factory2=()=>new classRef(...injectArgs(provider.deps))}return factory2}function makeRecord(factory2,value,multi=!1){return{factory:factory2,value,multi:multi?[]:void 0}}function forEachSingleProvider(providers,fn){for(const provider of providers)Array.isArray(provider)?forEachSingleProvider(provider,fn):provider&&isEnvironmentProviders(provider)?forEachSingleProvider(provider.\u0275providers,fn):fn(provider)}const APP_ID=new InjectionToken("AppId",{providedIn:"root",factory:()=>DEFAULT_APP_ID}),DEFAULT_APP_ID="ng",PLATFORM_INITIALIZER=new InjectionToken("Platform Initializer"),core_PLATFORM_ID=new InjectionToken("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),core_ANIMATION_MODULE_TYPE=new InjectionToken("AnimationModuleType"),CSP_NONCE=new InjectionToken("CSP nonce",{providedIn:"root",factory:()=>function getDocument(){if(void 0!==core_DOCUMENT)return core_DOCUMENT;if(typeof document<"u")return document;throw new RuntimeError(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let _retrieveHydrationInfoImpl=(rNode,injector,isRootView2)=>null;function retrieveHydrationInfo(rNode,injector,isRootView2=!1){return _retrieveHydrationInfoImpl(rNode,injector,isRootView2)}class ComponentRef$1{}class ComponentFactory$1{}class _NullComponentFactoryResolver{resolveComponentFactory(component){throw function noComponentFactoryError(component){const error=Error(`No component factory found for ${stringify(component)}.`);return error.ngComponent=component,error}(component)}}let ComponentFactoryResolver$1=(()=>{class ComponentFactoryResolver$12{}return ComponentFactoryResolver$12.NULL=new _NullComponentFactoryResolver,ComponentFactoryResolver$12})();function injectElementRef(){return createElementRef(getCurrentTNode(),getLView())}function createElementRef(tNode,lView){return new core_ElementRef(getNativeByTNode(tNode,lView))}let core_ElementRef=(()=>{class ElementRef2{constructor(nativeElement){this.nativeElement=nativeElement}}return ElementRef2.__NG_ELEMENT_ID__=injectElementRef,ElementRef2})();function unwrapElementRef(value){return value instanceof core_ElementRef?value.nativeElement:value}class RendererFactory2{}let core_Renderer2=(()=>{class Renderer22{constructor(){this.destroyNode=null}}return Renderer22.__NG_ELEMENT_ID__=()=>function injectRenderer2(){const lView=getLView(),nodeAtIndex=getComponentLViewByIndex(getCurrentTNode().index,lView);return(isLView(nodeAtIndex)?nodeAtIndex:lView)[RENDERER]}(),Renderer22})(),Sanitizer=(()=>{var _class5;class Sanitizer2{}return(_class5=Sanitizer2).\u0275prov=core_defineInjectable({token:_class5,providedIn:"root",factory:()=>null}),Sanitizer2})();class Version{constructor(full){this.full=full,this.major=full.split(".")[0],this.minor=full.split(".")[1],this.patch=full.split(".").slice(2).join(".")}}const core_VERSION=new Version("16.2.0"),NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR={};function createInjector(defType,parent=null,additionalProviders=null,name){const injector=createInjectorWithoutInjectorInstances(defType,parent,additionalProviders,name);return injector.resolveInjectorInitializers(),injector}function createInjectorWithoutInjectorInstances(defType,parent=null,additionalProviders=null,name,scopes=new Set){const providers=[additionalProviders||EMPTY_ARRAY,importProvidersFrom(defType)];return name=name||("object"==typeof defType?void 0:stringify(defType)),new R3Injector(providers,parent||getNullInjector(),name||null,scopes)}let core_Injector=(()=>{var _class6;class Injector2{static create(options,parent){if(Array.isArray(options))return createInjector({name:""},parent,options,"");{const name=options.name??"";return createInjector({name},options.parent,options.providers,name)}}}return(_class6=Injector2).THROW_IF_NOT_FOUND=THROW_IF_NOT_FOUND,_class6.NULL=new NullInjector,_class6.\u0275prov=core_defineInjectable({token:_class6,providedIn:"any",factory:()=>core_inject(INJECTOR)}),_class6.__NG_ELEMENT_ID__=-1,Injector2})();let AfterRenderEventManager=(()=>{var _class8;class AfterRenderEventManager2{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new RuntimeError(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const callback of this.callbacks)callback.invoke()}finally{this.runningCallbacks=!1;for(const callback of this.deferredCallbacks)this.callbacks.add(callback);this.deferredCallbacks.clear()}}register(callback){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(callback)}unregister(callback){this.callbacks.delete(callback),this.deferredCallbacks.delete(callback)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(_class8=AfterRenderEventManager2).\u0275prov=core_defineInjectable({token:_class8,providedIn:"root",factory:()=>new _class8}),AfterRenderEventManager2})();function markViewDirty(lView){for(;lView;){lView[FLAGS]|=64;const parent=getLViewParent(lView);if(0!=(512&lView[FLAGS])&&!parent)return lView;lView=parent}return null}function getOriginalError(error){return error.ngOriginalError}class ErrorHandler{constructor(){this._console=console}handleError(error){const originalError=this._findOriginalError(error);this._console.error("ERROR",error),originalError&&this._console.error("ORIGINAL ERROR",originalError)}_findOriginalError(error){let e2=error&&getOriginalError(error);for(;e2&&getOriginalError(e2);)e2=getOriginalError(e2);return e2||null}}const PRESERVE_HOST_CONTENT=new InjectionToken("",{providedIn:"root",factory:()=>!1});class ReactiveLViewConsumer extends ReactiveNode{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(lView){this._lView=lView}onConsumerDependencyMayHaveChanged(){markViewDirty(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(fn,rf,ctx){const prevConsumer=setActiveConsumer(this);this.trackingVersion++;try{fn(rf,ctx)}finally{setActiveConsumer(prevConsumer)}}destroy(){this.trackingVersion++}}let currentConsumer=null;function getOrCreateCurrentLViewConsumer(){return currentConsumer??=new ReactiveLViewConsumer,currentConsumer}function getReactiveLViewConsumer(lView,slot){return lView[slot]??getOrCreateCurrentLViewConsumer()}function commitLViewConsumerIfHasProducers(lView,slot){const consumer=getOrCreateCurrentLViewConsumer();consumer.hasReadASignal&&(lView[slot]=currentConsumer,consumer.lView=lView,currentConsumer=new ReactiveLViewConsumer)}const NO_CHANGE={};function \u0275\u0275advance(delta){selectIndexInternal(getTView(),getLView(),getSelectedIndex()+delta,!1)}function selectIndexInternal(tView,lView,index,checkNoChangesMode){if(!checkNoChangesMode)if(3==(3&lView[FLAGS])){const preOrderCheckHooks=tView.preOrderCheckHooks;null!==preOrderCheckHooks&&executeCheckHooks(lView,preOrderCheckHooks,index)}else{const preOrderHooks=tView.preOrderHooks;null!==preOrderHooks&&executeInitAndCheckHooks(lView,preOrderHooks,0,index)}setSelectedIndex(index)}function \u0275\u0275directiveInject(token,flags=core_InjectFlags.Default){const lView=getLView();return null===lView?core_inject(token,flags):getOrCreateInjectable(getCurrentTNode(),lView,resolveForwardRef(token),flags)}function \u0275\u0275invalidFactory(){throw new Error("invalid")}function createLView(parentLView,tView,context2,flags,host,tHostNode,environment2,renderer,injector,embeddedViewInjector,hydrationInfo){const lView=tView.blueprint.slice();return lView[HOST]=host,lView[FLAGS]=140|flags,(null!==embeddedViewInjector||parentLView&&2048&parentLView[FLAGS])&&(lView[FLAGS]|=2048),resetPreOrderHookFlags(lView),lView[PARENT]=lView[DECLARATION_VIEW]=parentLView,lView[CONTEXT]=context2,lView[ENVIRONMENT]=environment2||parentLView&&parentLView[ENVIRONMENT],lView[RENDERER]=renderer||parentLView&&parentLView[RENDERER],lView[INJECTOR$1]=injector||parentLView&&parentLView[INJECTOR$1]||null,lView[T_HOST]=tHostNode,lView[ID]=function getUniqueLViewId(){return uniqueIdCounter++}(),lView[HYDRATION]=hydrationInfo,lView[EMBEDDED_VIEW_INJECTOR]=embeddedViewInjector,lView[DECLARATION_COMPONENT_VIEW]=2==tView.type?parentLView[DECLARATION_COMPONENT_VIEW]:lView,lView}function getOrCreateTNode(tView,index,type,name,attrs){let tNode=tView.data[index];if(null===tNode)tNode=function createTNodeAtIndex(tView,index,type,name,attrs){const currentTNode=getCurrentTNodePlaceholderOk(),isParent=isCurrentTNodeParent(),tNode=tView.data[index]=function createTNode(tView,tParent,type,index,value,attrs){let injectorIndex=tParent?tParent.injectorIndex:-1,flags=0;return isInSkipHydrationBlock$1()&&(flags|=128),{type,index,insertBeforeIndex:null,injectorIndex,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags,providerIndexes:0,value,attrs,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:tParent,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,isParent?currentTNode:currentTNode&¤tTNode.parent,type,index,name,attrs);return null===tView.firstChild&&(tView.firstChild=tNode),null!==currentTNode&&(isParent?null==currentTNode.child&&null!==tNode.parent&&(currentTNode.child=tNode):null===currentTNode.next&&(currentTNode.next=tNode,tNode.prev=currentTNode)),tNode}(tView,index,type,name,attrs),function isInI18nBlock(){return instructionState.lFrame.inI18n}()&&(tNode.flags|=32);else if(64&tNode.type){tNode.type=type,tNode.value=name,tNode.attrs=attrs;const parent=function getCurrentParentTNode(){const lFrame=instructionState.lFrame,currentTNode=lFrame.currentTNode;return lFrame.isParent?currentTNode:currentTNode.parent}();tNode.injectorIndex=null===parent?-1:parent.injectorIndex}return setCurrentTNode(tNode,!0),tNode}function allocExpando(tView,lView,numSlotsToAlloc,initialValue){if(0===numSlotsToAlloc)return-1;const allocIdx=lView.length;for(let i6=0;i6HEADER_OFFSET&&selectIndexInternal(tView,lView,HEADER_OFFSET,!1),profiler(isUpdatePhase?2:0,context2),isUpdatePhase)consumer.runInContext(templateFn,rf,context2);else{const prevConsumer=setActiveConsumer(null);try{templateFn(rf,context2)}finally{setActiveConsumer(prevConsumer)}}}finally{isUpdatePhase&&null===lView[REACTIVE_TEMPLATE_CONSUMER]&&commitLViewConsumerIfHasProducers(lView,REACTIVE_TEMPLATE_CONSUMER),setSelectedIndex(prevSelectedIndex),profiler(isUpdatePhase?3:1,context2)}}function executeContentQueries(tView,tNode,lView){if(isContentQueryHost(tNode)){const prevConsumer=setActiveConsumer(null);try{const end=tNode.directiveEnd;for(let directiveIndex=tNode.directiveStart;directiveIndexnull;function generatePropertyAliases(aliasMap,directiveIndex,propertyAliases,hostDirectiveAliasMap){for(let publicName in aliasMap)if(aliasMap.hasOwnProperty(publicName)){propertyAliases=null===propertyAliases?{}:propertyAliases;const internalName=aliasMap[publicName];null===hostDirectiveAliasMap?addPropertyAlias(propertyAliases,directiveIndex,publicName,internalName):hostDirectiveAliasMap.hasOwnProperty(publicName)&&addPropertyAlias(propertyAliases,directiveIndex,hostDirectiveAliasMap[publicName],internalName)}return propertyAliases}function addPropertyAlias(propertyAliases,directiveIndex,publicName,internalName){propertyAliases.hasOwnProperty(publicName)?propertyAliases[publicName].push(directiveIndex,internalName):propertyAliases[publicName]=[directiveIndex,internalName]}function elementPropertyInternal(tView,tNode,lView,propName,value,renderer,sanitizer,nativeOnly){const element=getNativeByTNode(tNode,lView);let dataValue,inputData=tNode.inputs;!nativeOnly&&null!=inputData&&(dataValue=inputData[propName])?(setInputsForProperty(tView,lView,dataValue,propName,value),isComponentHost(tNode)&&function markDirtyIfOnPush(lView,viewIndex){const childComponentLView=getComponentLViewByIndex(viewIndex,lView);16&childComponentLView[FLAGS]||(childComponentLView[FLAGS]|=64)}(lView,tNode.index)):3&tNode.type&&(propName=function mapPropName(name){return"class"===name?"className":"for"===name?"htmlFor":"formaction"===name?"formAction":"innerHtml"===name?"innerHTML":"readonly"===name?"readOnly":"tabindex"===name?"tabIndex":name}(propName),value=null!=sanitizer?sanitizer(value,tNode.value||"",propName):value,renderer.setProperty(element,propName,value))}function resolveDirectives(tView,lView,tNode,localRefs){if(getBindingsEnabled()){const exportsMap=null===localRefs?null:{"":-1},matchResult=function findDirectiveDefMatches(tView,tNode){const registry=tView.directiveRegistry;let matches=null,hostDirectiveDefs=null;if(registry)for(let i6=0;i60;){const value=hostBindingOpCodes[--i6];if("number"==typeof value&&value<0)return value}return 0})(hostBindingOpCodes)!=elementIndx&&hostBindingOpCodes.push(elementIndx),hostBindingOpCodes.push(directiveIdx,directiveVarsIdx,hostBindings)}}(tView,tNode,directiveIndex,allocExpando(tView,lView,def.hostVars,NO_CHANGE),def)}function elementAttributeInternal(tNode,lView,name,value,sanitizer,namespace){const element=getNativeByTNode(tNode,lView);!function setElementAttribute(renderer,element,namespace,tagName,name,value,sanitizer){if(null==value)renderer.removeAttribute(element,name,namespace);else{const strValue=null==sanitizer?renderStringify(value):sanitizer(value,tagName||"",name);renderer.setAttribute(element,name,strValue,namespace)}}(lView[RENDERER],element,namespace,tNode.value,name,value,sanitizer)}function setInputsFromAttrs(lView,directiveIndex,instance,def,tNode,initialInputData){const initialInputs=initialInputData[directiveIndex];if(null!==initialInputs)for(let i6=0;i6{var _class9;class EffectManager2{constructor(){this.all=new Set,this.queue=new Map}create(effectFn,destroyRef,allowSignalWrites){const zone=typeof Zone>"u"?null:Zone.current,watch=new Watch(effectFn,watch2=>{this.all.has(watch2)&&this.queue.set(watch2,zone)},allowSignalWrites);let unregisterOnDestroy;this.all.add(watch),watch.notify();const destroy=()=>{watch.cleanup(),unregisterOnDestroy?.(),this.all.delete(watch),this.queue.delete(watch)};return unregisterOnDestroy=destroyRef?.onDestroy(destroy),{destroy}}flush(){if(0!==this.queue.size)for(const[watch,zone]of this.queue)this.queue.delete(watch),zone?zone.run(()=>watch.run()):watch.run()}get isQueueEmpty(){return 0===this.queue.size}}return(_class9=EffectManager2).\u0275prov=core_defineInjectable({token:_class9,providedIn:"root",factory:()=>new _class9}),EffectManager2})();function computeStaticStyling(tNode,attrs,writeToHost){let styles=writeToHost?tNode.styles:null,classes=writeToHost?tNode.classes:null,mode=0;if(null!==attrs)for(let i6=0;i60){detectChangesInEmbeddedViews(lView,1);const components=lView[TVIEW].components;null!==components&&detectChangesInChildComponents(lView,components,1)}}function detectChangesInChildComponents(hostLView,components,mode){for(let i6=0;i6-1&&(detachView(parent,index),removeFromArray(viewRefs,index))}this._attachedToViewContainer=!1}destroyLView(this._lView[TVIEW],this._lView)}onDestroy(callback){!function storeLViewOnDestroy(lView,onDestroyCallback){if(256==(256&lView[FLAGS]))throw new RuntimeError(911,!1);null===lView[ON_DESTROY_HOOKS]&&(lView[ON_DESTROY_HOOKS]=[]),lView[ON_DESTROY_HOOKS].push(onDestroyCallback)}(this._lView,callback)}markForCheck(){markViewDirty(this._cdRefInjectingView||this._lView)}detach(){this._lView[FLAGS]&=-129}reattach(){this._lView[FLAGS]|=128}detectChanges(){detectChangesInternal(this._lView[TVIEW],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new RuntimeError(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function detachViewFromDOM(tView,lView){applyView(tView,lView,lView[RENDERER],2,null,null)}(this._lView[TVIEW],this._lView)}attachToAppRef(appRef){if(this._attachedToViewContainer)throw new RuntimeError(902,!1);this._appRef=appRef}}class RootViewRef extends ViewRef$1{constructor(_view){super(_view),this._view=_view}detectChanges(){const lView=this._view;detectChangesInternal(lView[TVIEW],lView,lView[CONTEXT],!1)}checkNoChanges(){}get context(){return null}}class ComponentFactoryResolver extends ComponentFactoryResolver$1{constructor(ngModule){super(),this.ngModule=ngModule}resolveComponentFactory(component){const componentDef=getComponentDef(component);return new ComponentFactory(componentDef,this.ngModule)}}function toRefArray(map2){const array=[];for(let nonMinified in map2)map2.hasOwnProperty(nonMinified)&&array.push({propName:map2[nonMinified],templateName:nonMinified});return array}class ChainedInjector{constructor(injector,parentInjector){this.injector=injector,this.parentInjector=parentInjector}get(token,notFoundValue,flags){flags=convertToBitFlags(flags);const value=this.injector.get(token,NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR,flags);return value!==NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR||notFoundValue===NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR?value:this.parentInjector.get(token,notFoundValue,flags)}}class ComponentFactory extends ComponentFactory$1{get inputs(){const componentDef=this.componentDef,inputTransforms=componentDef.inputTransforms,refArray=toRefArray(componentDef.inputs);if(null!==inputTransforms)for(const input of refArray)inputTransforms.hasOwnProperty(input.propName)&&(input.transform=inputTransforms[input.propName]);return refArray}get outputs(){return toRefArray(this.componentDef.outputs)}constructor(componentDef,ngModule){super(),this.componentDef=componentDef,this.ngModule=ngModule,this.componentType=componentDef.type,this.selector=function stringifyCSSSelectorList(selectorList){return selectorList.map(stringifyCSSSelector).join(",")}(componentDef.selectors),this.ngContentSelectors=componentDef.ngContentSelectors?componentDef.ngContentSelectors:[],this.isBoundToModule=!!ngModule}create(injector,projectableNodes,rootSelectorOrNode,environmentInjector){let realEnvironmentInjector=(environmentInjector=environmentInjector||this.ngModule)instanceof core_EnvironmentInjector?environmentInjector:environmentInjector?.injector;realEnvironmentInjector&&null!==this.componentDef.getStandaloneInjector&&(realEnvironmentInjector=this.componentDef.getStandaloneInjector(realEnvironmentInjector)||realEnvironmentInjector);const rootViewInjector=realEnvironmentInjector?new ChainedInjector(injector,realEnvironmentInjector):injector,rendererFactory=rootViewInjector.get(RendererFactory2,null);if(null===rendererFactory)throw new RuntimeError(407,!1);const environment2={rendererFactory,sanitizer:rootViewInjector.get(Sanitizer,null),effectManager:rootViewInjector.get(EffectManager,null),afterRenderEventManager:rootViewInjector.get(AfterRenderEventManager,null)},hostRenderer=rendererFactory.createRenderer(null,this.componentDef),elementName=this.componentDef.selectors[0][0]||"div",hostRNode=rootSelectorOrNode?function locateHostElement(renderer,elementOrSelector,encapsulation,injector){const preserveContent=injector.get(PRESERVE_HOST_CONTENT,!1)||encapsulation===ViewEncapsulation$1.ShadowDom,rootElement=renderer.selectRootElement(elementOrSelector,preserveContent);return function applyRootElementTransform(rootElement){_applyRootElementTransformImpl(rootElement)}(rootElement),rootElement}(hostRenderer,rootSelectorOrNode,this.componentDef.encapsulation,rootViewInjector):createElementNode(hostRenderer,elementName,function getNamespace(elementName){const name=elementName.toLowerCase();return"svg"===name?SVG_NAMESPACE:"math"===name?"math":null}(elementName)),rootFlags=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let hydrationInfo=null;null!==hostRNode&&(hydrationInfo=retrieveHydrationInfo(hostRNode,rootViewInjector,!0));const rootTView=createTView(0,null,null,1,0,null,null,null,null,null,null),rootLView=createLView(null,rootTView,null,rootFlags,null,null,environment2,hostRenderer,rootViewInjector,null,hydrationInfo);let component,tElementNode;enterView(rootLView);try{const rootComponentDef=this.componentDef;let rootDirectives,hostDirectiveDefs=null;rootComponentDef.findHostDirectiveDefs?(rootDirectives=[],hostDirectiveDefs=new Map,rootComponentDef.findHostDirectiveDefs(rootComponentDef,rootDirectives,hostDirectiveDefs),rootDirectives.push(rootComponentDef)):rootDirectives=[rootComponentDef];const componentView=function createRootComponentView(tNode,hostRNode,rootComponentDef,rootDirectives,rootView,environment2,hostRenderer){const tView=rootView[TVIEW];!function applyRootComponentStyling(rootDirectives,tNode,rNode,hostRenderer){for(const def of rootDirectives)tNode.mergedAttrs=mergeHostAttrs(tNode.mergedAttrs,def.hostAttrs);null!==tNode.mergedAttrs&&(computeStaticStyling(tNode,tNode.mergedAttrs,!0),null!==rNode&&setupStaticAttributes(hostRenderer,rNode,tNode))}(rootDirectives,tNode,hostRNode,hostRenderer);let hydrationInfo=null;null!==hostRNode&&(hydrationInfo=retrieveHydrationInfo(hostRNode,rootView[INJECTOR$1]));const viewRenderer=environment2.rendererFactory.createRenderer(hostRNode,rootComponentDef);let lViewFlags=16;rootComponentDef.signals?lViewFlags=4096:rootComponentDef.onPush&&(lViewFlags=64);const componentView=createLView(rootView,getOrCreateComponentTView(rootComponentDef),null,lViewFlags,rootView[tNode.index],tNode,environment2,viewRenderer,null,null,hydrationInfo);return tView.firstCreatePass&&markAsComponentHost(tView,tNode,rootDirectives.length-1),addToViewTree(rootView,componentView),rootView[tNode.index]=componentView}(function createRootComponentTNode(lView,rNode){const tView=lView[TVIEW],index=HEADER_OFFSET;return lView[index]=rNode,getOrCreateTNode(tView,index,2,"#host",null)}(rootLView,hostRNode),hostRNode,rootComponentDef,rootDirectives,rootLView,environment2,hostRenderer);tElementNode=getTNode(rootTView,HEADER_OFFSET),hostRNode&&function setRootNodeAttributes(hostRenderer,componentDef,hostRNode,rootSelectorOrNode){if(rootSelectorOrNode)setUpAttributes(hostRenderer,hostRNode,["ng-version",core_VERSION.full]);else{const{attrs,classes}=function extractAttrsAndClassesFromSelector(selector){const attrs=[],classes=[];let i6=1,mode=2;for(;i60&&writeDirectClass(hostRenderer,hostRNode,classes.join(" "))}}(hostRenderer,rootComponentDef,hostRNode,rootSelectorOrNode),void 0!==projectableNodes&&function projectNodes(tNode,ngContentSelectors,projectableNodes){const projection=tNode.projection=[];for(let i6=0;i6=0;i6--){const def=inheritanceChain[i6];def.hostVars=hostVars+=def.hostVars,def.hostAttrs=mergeHostAttrs(def.hostAttrs,hostAttrs=mergeHostAttrs(hostAttrs,def.hostAttrs))}}(inheritanceChain)}function maybeUnwrapEmpty(value){return value===EMPTY_OBJ?{}:value===EMPTY_ARRAY?[]:value}function inheritViewQuery(definition,superViewQuery){const prevViewQuery=definition.viewQuery;definition.viewQuery=prevViewQuery?(rf,ctx)=>{superViewQuery(rf,ctx),prevViewQuery(rf,ctx)}:superViewQuery}function inheritContentQueries(definition,superContentQueries){const prevContentQueries=definition.contentQueries;definition.contentQueries=prevContentQueries?(rf,ctx,directiveIndex)=>{superContentQueries(rf,ctx,directiveIndex),prevContentQueries(rf,ctx,directiveIndex)}:superContentQueries}function inheritHostBindings(definition,superHostBindings){const prevHostBindings=definition.hostBindings;definition.hostBindings=prevHostBindings?(rf,ctx)=>{superHostBindings(rf,ctx),prevHostBindings(rf,ctx)}:superHostBindings}function isListLikeIterable(obj){return!!isJsObject(obj)&&(Array.isArray(obj)||!(obj instanceof Map)&&Symbol.iterator in obj)}function isJsObject(o){return null!==o&&("function"==typeof o||"object"==typeof o)}function updateBinding(lView,bindingIndex,value){return lView[bindingIndex]=value}function bindingUpdated(lView,bindingIndex,value){return!Object.is(lView[bindingIndex],value)&&(lView[bindingIndex]=value,!0)}function bindingUpdated2(lView,bindingIndex,exp1,exp2){const different=bindingUpdated(lView,bindingIndex,exp1);return bindingUpdated(lView,bindingIndex+1,exp2)||different}function \u0275\u0275attribute(name,value,sanitizer,namespace){const lView=getLView();return bindingUpdated(lView,nextBindingIndex(),value)&&(getTView(),elementAttributeInternal(getSelectedTNode(),lView,name,value,sanitizer,namespace)),\u0275\u0275attribute}function interpolation2(lView,prefix,v0,i02,v1,suffix){const different=bindingUpdated2(lView,function getBindingIndex(){return instructionState.lFrame.bindingIndex}(),v0,v1);return incrementBindingIndex(2),different?prefix+renderStringify(v0)+i02+renderStringify(v1)+suffix:NO_CHANGE}function \u0275\u0275template(index,templateFn,decls,vars,tagName,attrsIndex,localRefsIndex,localRefExtractor){const lView=getLView(),tView=getTView(),adjustedIndex=index+HEADER_OFFSET,tNode=tView.firstCreatePass?function templateFirstCreatePass(index,tView,lView,templateFn,decls,vars,tagName,attrsIndex,localRefsIndex){const tViewConsts=tView.consts,tNode=getOrCreateTNode(tView,index,4,tagName||null,getConstant(tViewConsts,attrsIndex));resolveDirectives(tView,lView,tNode,getConstant(tViewConsts,localRefsIndex)),registerPostOrderHooks(tView,tNode);const embeddedTView=tNode.tView=createTView(2,tNode,templateFn,decls,vars,tView.directiveRegistry,tView.pipeRegistry,null,tView.schemas,tViewConsts,null);return null!==tView.queries&&(tView.queries.template(tView,tNode),embeddedTView.queries=tView.queries.embeddedTView(tNode)),tNode}(adjustedIndex,tView,lView,templateFn,decls,vars,tagName,attrsIndex,localRefsIndex):tView.data[adjustedIndex];setCurrentTNode(tNode,!1);const comment=_locateOrCreateContainerAnchor(tView,lView,tNode,index);wasLastNodeCreated()&&appendChild(tView,lView,comment,tNode),attachPatchData(comment,lView),addToViewTree(lView,lView[adjustedIndex]=createLContainer(comment,lView,comment,tNode)),isDirectiveHost(tNode)&&createDirectivesInstances(tView,lView,tNode),null!=localRefsIndex&&saveResolvedLocalsInData(lView,tNode,localRefExtractor)}let _locateOrCreateContainerAnchor=function createContainerAnchorImpl(tView,lView,tNode,index){return lastNodeWasCreated(!0),lView[RENDERER].createComment("")};function \u0275\u0275reference(index){return load(function getContextLView(){return instructionState.lFrame.contextLView}(),HEADER_OFFSET+index)}function \u0275\u0275property(propName,value,sanitizer){const lView=getLView();return bindingUpdated(lView,nextBindingIndex(),value)&&elementPropertyInternal(getTView(),getSelectedTNode(),lView,propName,value,lView[RENDERER],sanitizer,!1),\u0275\u0275property}function setDirectiveInputsWhichShadowsStyling(tView,tNode,lView,value,isClassBased){const property=isClassBased?"class":"style";setInputsForProperty(tView,lView,tNode.inputs[property],property,value)}function \u0275\u0275elementStart(index,name,attrsIndex,localRefsIndex){const lView=getLView(),tView=getTView(),adjustedIndex=HEADER_OFFSET+index,renderer=lView[RENDERER],tNode=tView.firstCreatePass?function elementStartFirstCreatePass(index,tView,lView,name,attrsIndex,localRefsIndex){const tViewConsts=tView.consts,tNode=getOrCreateTNode(tView,index,2,name,getConstant(tViewConsts,attrsIndex));return resolveDirectives(tView,lView,tNode,getConstant(tViewConsts,localRefsIndex)),null!==tNode.attrs&&computeStaticStyling(tNode,tNode.attrs,!1),null!==tNode.mergedAttrs&&computeStaticStyling(tNode,tNode.mergedAttrs,!0),null!==tView.queries&&tView.queries.elementStart(tView,tNode),tNode}(adjustedIndex,tView,lView,name,attrsIndex,localRefsIndex):tView.data[adjustedIndex],native=_locateOrCreateElementNode(tView,lView,tNode,renderer,name,index);lView[adjustedIndex]=native;const hasDirectives=isDirectiveHost(tNode);return setCurrentTNode(tNode,!0),setupStaticAttributes(renderer,native,tNode),32!=(32&tNode.flags)&&wasLastNodeCreated()&&appendChild(tView,lView,native,tNode),0===function getElementDepthCount(){return instructionState.lFrame.elementDepthCount}()&&attachPatchData(native,lView),function increaseElementDepthCount(){instructionState.lFrame.elementDepthCount++}(),hasDirectives&&(createDirectivesInstances(tView,lView,tNode),executeContentQueries(tView,tNode,lView)),null!==localRefsIndex&&saveResolvedLocalsInData(lView,tNode),\u0275\u0275elementStart}function \u0275\u0275elementEnd(){let currentTNode=getCurrentTNode();isCurrentTNodeParent()?setCurrentTNodeAsNotParent():(currentTNode=currentTNode.parent,setCurrentTNode(currentTNode,!1));const tNode=currentTNode;(function isSkipHydrationRootTNode(tNode){return instructionState.skipHydrationRootTNode===tNode})(tNode)&&function leaveSkipHydrationBlock(){instructionState.skipHydrationRootTNode=null}(),function decreaseElementDepthCount(){instructionState.lFrame.elementDepthCount--}();const tView=getTView();return tView.firstCreatePass&&(registerPostOrderHooks(tView,currentTNode),isContentQueryHost(currentTNode)&&tView.queries.elementEnd(currentTNode)),null!=tNode.classesWithoutHost&&function hasClassInput(tNode){return 0!=(8&tNode.flags)}(tNode)&&setDirectiveInputsWhichShadowsStyling(tView,tNode,getLView(),tNode.classesWithoutHost,!0),null!=tNode.stylesWithoutHost&&function hasStyleInput(tNode){return 0!=(16&tNode.flags)}(tNode)&&setDirectiveInputsWhichShadowsStyling(tView,tNode,getLView(),tNode.stylesWithoutHost,!1),\u0275\u0275elementEnd}function \u0275\u0275element(index,name,attrsIndex,localRefsIndex){return \u0275\u0275elementStart(index,name,attrsIndex,localRefsIndex),\u0275\u0275elementEnd(),\u0275\u0275element}let _locateOrCreateElementNode=(tView,lView,tNode,renderer,name,index)=>(lastNodeWasCreated(!0),createElementNode(renderer,name,function getNamespace$1(){return instructionState.lFrame.currentNamespace}()));function \u0275\u0275elementContainerStart(index,attrsIndex,localRefsIndex){const lView=getLView(),tView=getTView(),adjustedIndex=index+HEADER_OFFSET,tNode=tView.firstCreatePass?function elementContainerStartFirstCreatePass(index,tView,lView,attrsIndex,localRefsIndex){const tViewConsts=tView.consts,attrs=getConstant(tViewConsts,attrsIndex),tNode=getOrCreateTNode(tView,index,8,"ng-container",attrs);return null!==attrs&&computeStaticStyling(tNode,attrs,!0),resolveDirectives(tView,lView,tNode,getConstant(tViewConsts,localRefsIndex)),null!==tView.queries&&tView.queries.elementStart(tView,tNode),tNode}(adjustedIndex,tView,lView,attrsIndex,localRefsIndex):tView.data[adjustedIndex];setCurrentTNode(tNode,!0);const comment=_locateOrCreateElementContainerNode(tView,lView,tNode,index);return lView[adjustedIndex]=comment,wasLastNodeCreated()&&appendChild(tView,lView,comment,tNode),attachPatchData(comment,lView),isDirectiveHost(tNode)&&(createDirectivesInstances(tView,lView,tNode),executeContentQueries(tView,tNode,lView)),null!=localRefsIndex&&saveResolvedLocalsInData(lView,tNode),\u0275\u0275elementContainerStart}function \u0275\u0275elementContainerEnd(){let currentTNode=getCurrentTNode();const tView=getTView();return isCurrentTNodeParent()?setCurrentTNodeAsNotParent():(currentTNode=currentTNode.parent,setCurrentTNode(currentTNode,!1)),tView.firstCreatePass&&(registerPostOrderHooks(tView,currentTNode),isContentQueryHost(currentTNode)&&tView.queries.elementEnd(currentTNode)),\u0275\u0275elementContainerEnd}function \u0275\u0275elementContainer(index,attrsIndex,localRefsIndex){return \u0275\u0275elementContainerStart(index,attrsIndex,localRefsIndex),\u0275\u0275elementContainerEnd(),\u0275\u0275elementContainer}let _locateOrCreateElementContainerNode=(tView,lView,tNode,index)=>(lastNodeWasCreated(!0),createCommentNode(lView[RENDERER],""));function \u0275\u0275getCurrentView(){return getLView()}function core_isPromise(obj){return!!obj&&"function"==typeof obj.then}function \u0275\u0275listener(eventName,listenerFn,useCapture,eventTargetResolver){const lView=getLView(),tView=getTView(),tNode=getCurrentTNode();return listenerInternal(tView,lView,lView[RENDERER],tNode,eventName,listenerFn,eventTargetResolver),\u0275\u0275listener}function \u0275\u0275syntheticHostListener(eventName,listenerFn){const tNode=getCurrentTNode(),lView=getLView(),tView=getTView();return listenerInternal(tView,lView,loadComponentRenderer(getCurrentDirectiveDef(tView.data),tNode,lView),tNode,eventName,listenerFn),\u0275\u0275syntheticHostListener}function listenerInternal(tView,lView,renderer,tNode,eventName,listenerFn,eventTargetResolver){const isTNodeDirectiveHost=isDirectiveHost(tNode),tCleanup=tView.firstCreatePass&&getOrCreateTViewCleanup(tView),context2=lView[CONTEXT],lCleanup=getOrCreateLViewCleanup(lView);let processOutputs=!0;if(3&tNode.type||eventTargetResolver){const native=getNativeByTNode(tNode,lView),target=eventTargetResolver?eventTargetResolver(native):native,lCleanupIndex=lCleanup.length,idxOrTargetGetter=eventTargetResolver?_lView=>eventTargetResolver(unwrapRNode(_lView[tNode.index])):tNode.index;let existingListener=null;if(!eventTargetResolver&&isTNodeDirectiveHost&&(existingListener=function findExistingListener(tView,lView,eventName,tNodeIdx){const tCleanup=tView.cleanup;if(null!=tCleanup)for(let i6=0;i6listenerIdxInLCleanup?lCleanup[listenerIdxInLCleanup]:null}"string"==typeof cleanupEventName&&(i6+=2)}return null}(tView,lView,eventName,tNode.index)),null!==existingListener)(existingListener.__ngLastListenerFn__||existingListener).__ngNextListenerFn__=listenerFn,existingListener.__ngLastListenerFn__=listenerFn,processOutputs=!1;else{listenerFn=wrapListener(tNode,lView,context2,listenerFn,!1);const cleanupFn=renderer.listen(target,eventName,listenerFn);lCleanup.push(listenerFn,cleanupFn),tCleanup&&tCleanup.push(eventName,idxOrTargetGetter,lCleanupIndex,lCleanupIndex+1)}}else listenerFn=wrapListener(tNode,lView,context2,listenerFn,!1);const outputs=tNode.outputs;let props;if(processOutputs&&null!==outputs&&(props=outputs[eventName])){const propsLength=props.length;if(propsLength)for(let i6=0;i6-1?getComponentLViewByIndex(tNode.index,lView):lView);let result=executeListenerWithErrorHandling(lView,context2,listenerFn,e2),nextListenerFn=wrapListenerIn_markDirtyAndPreventDefault.__ngNextListenerFn__;for(;nextListenerFn;)result=executeListenerWithErrorHandling(lView,context2,nextListenerFn,e2)&&result,nextListenerFn=nextListenerFn.__ngNextListenerFn__;return wrapWithPreventDefault&&!1===result&&e2.preventDefault(),result}}function \u0275\u0275nextContext(level=1){return function nextContextImpl(level){return(instructionState.lFrame.contextLView=function walkUpViews(nestingLevel,currentView){for(;nestingLevel>0;)currentView=currentView[DECLARATION_VIEW],nestingLevel--;return currentView}(level,instructionState.lFrame.contextLView))[CONTEXT]}(level)}function matchingProjectionSlotIndex(tNode,projectionSlots){let wildcardNgContentIndex=null;const ngProjectAsAttrVal=function getProjectAsAttrValue(tNode){const nodeAttrs=tNode.attrs;if(null!=nodeAttrs){const ngProjectAsAttrIdx=nodeAttrs.indexOf(5);if(!(1&ngProjectAsAttrIdx))return nodeAttrs[ngProjectAsAttrIdx+1]}return null}(tNode);for(let i6=0;i6>17&32767}function setTStylingRangePrevDuplicate(tStylingRange){return 2|tStylingRange}function getTStylingRangeNext(tStylingRange){return(131068&tStylingRange)>>2}function setTStylingRangeNext(tStylingRange,next){return-131069&tStylingRange|next<<2}function setTStylingRangeNextDuplicate(tStylingRange){return 1|tStylingRange}function markDuplicates(tData,tStylingKey,index,isPrevDir,isClassBinding){const tStylingAtIndex=tData[index+1],isMap=null===tStylingKey;let cursor=isPrevDir?getTStylingRangePrev(tStylingAtIndex):getTStylingRangeNext(tStylingAtIndex),foundDuplicate=!1;for(;0!==cursor&&(!1===foundDuplicate||isMap);){const tStyleRangeAtCursor=tData[cursor+1];isStylingMatch(tData[cursor],tStylingKey)&&(foundDuplicate=!0,tData[cursor+1]=isPrevDir?setTStylingRangeNextDuplicate(tStyleRangeAtCursor):setTStylingRangePrevDuplicate(tStyleRangeAtCursor)),cursor=isPrevDir?getTStylingRangePrev(tStyleRangeAtCursor):getTStylingRangeNext(tStyleRangeAtCursor)}foundDuplicate&&(tData[index+1]=isPrevDir?setTStylingRangePrevDuplicate(tStylingAtIndex):setTStylingRangeNextDuplicate(tStylingAtIndex))}function isStylingMatch(tStylingKeyCursor,tStylingKey){return null===tStylingKeyCursor||null==tStylingKey||(Array.isArray(tStylingKeyCursor)?tStylingKeyCursor[1]:tStylingKeyCursor)===tStylingKey||!(!Array.isArray(tStylingKeyCursor)||"string"!=typeof tStylingKey)&&keyValueArrayIndexOf(tStylingKeyCursor,tStylingKey)>=0}const parserState={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function getLastParsedKey(text){return text.substring(parserState.key,parserState.keyEnd)}function getLastParsedValue(text){return text.substring(parserState.value,parserState.valueEnd)}function parseStyleNext(text,startIndex){const end=parserState.textEnd;let index=parserState.key=consumeWhitespace(text,startIndex,end);return end===index?-1:(index=parserState.keyEnd=function consumeStyleKey(text,startIndex,endIndex){let ch;for(;startIndex=65&&(-33&ch)<=90||ch>=48&&ch<=57);)startIndex++;return startIndex}(text,index,end),index=consumeSeparator(text,index,end),index=parserState.value=consumeWhitespace(text,index,end),index=parserState.valueEnd=function consumeStyleValue(text,startIndex,endIndex){let ch1=-1,ch2=-1,ch3=-1,i6=startIndex,lastChIndex=i6;for(;i632&&(lastChIndex=i6),ch3=ch2,ch2=ch1,ch1=-33&ch}return lastChIndex}(text,index,end),consumeSeparator(text,index,end))}function consumeWhitespace(text,startIndex,endIndex){for(;startIndex=0;i6=parseStyleNext(text,i6))styleKeyValueArraySet(keyValueArray,getLastParsedKey(text),getLastParsedValue(text))}function checkStylingProperty(prop2,value,suffix,isClassBased){const lView=getLView(),tView=getTView(),bindingIndex=incrementBindingIndex(2);tView.firstUpdatePass&&stylingFirstUpdatePass(tView,prop2,bindingIndex,isClassBased),value!==NO_CHANGE&&bindingUpdated(lView,bindingIndex,value)&&updateStyling(tView,tView.data[getSelectedIndex()],lView,lView[RENDERER],prop2,lView[bindingIndex+1]=function normalizeSuffix(value,suffix){return null==value||""===value||("string"==typeof suffix?value+=suffix:"object"==typeof value&&(value=stringify(unwrapSafeValue(value)))),value}(value,suffix),isClassBased,bindingIndex)}function isInHostBindings(tView,bindingIndex){return bindingIndex>=tView.expandoStartIndex}function stylingFirstUpdatePass(tView,tStylingKey,bindingIndex,isClassBased){const tData=tView.data;if(null===tData[bindingIndex+1]){const tNode=tData[getSelectedIndex()],isHostBindings=isInHostBindings(tView,bindingIndex);hasStylingInputShadow(tNode,isClassBased)&&null===tStylingKey&&!isHostBindings&&(tStylingKey=!1),tStylingKey=function wrapInStaticStylingKey(tData,tNode,stylingKey,isClassBased){const hostDirectiveDef=getCurrentDirectiveDef(tData);let residual=isClassBased?tNode.residualClasses:tNode.residualStyles;if(null===hostDirectiveDef)0===(isClassBased?tNode.classBindings:tNode.styleBindings)&&(stylingKey=collectStylingFromTAttrs(stylingKey=collectStylingFromDirectives(null,tData,tNode,stylingKey,isClassBased),tNode.attrs,isClassBased),residual=null);else{const directiveStylingLast=tNode.directiveStylingLast;if(-1===directiveStylingLast||tData[directiveStylingLast]!==hostDirectiveDef)if(stylingKey=collectStylingFromDirectives(hostDirectiveDef,tData,tNode,stylingKey,isClassBased),null===residual){let templateStylingKey=function getTemplateHeadTStylingKey(tData,tNode,isClassBased){const bindings=isClassBased?tNode.classBindings:tNode.styleBindings;if(0!==getTStylingRangeNext(bindings))return tData[getTStylingRangePrev(bindings)]}(tData,tNode,isClassBased);void 0!==templateStylingKey&&Array.isArray(templateStylingKey)&&(templateStylingKey=collectStylingFromDirectives(null,tData,tNode,templateStylingKey[1],isClassBased),templateStylingKey=collectStylingFromTAttrs(templateStylingKey,tNode.attrs,isClassBased),function setTemplateHeadTStylingKey(tData,tNode,isClassBased,tStylingKey){tData[getTStylingRangePrev(isClassBased?tNode.classBindings:tNode.styleBindings)]=tStylingKey}(tData,tNode,isClassBased,templateStylingKey))}else residual=function collectResidual(tData,tNode,isClassBased){let residual;const directiveEnd=tNode.directiveEnd;for(let i6=1+tNode.directiveStylingLast;i60)&&(isKeyDuplicateOfStatic=!0)):tStylingKey=tStylingKeyWithStatic,isHostBinding)if(0!==tmplTail){const previousNode=getTStylingRangePrev(tData[tmplHead+1]);tData[index+1]=toTStylingRange(previousNode,tmplHead),0!==previousNode&&(tData[previousNode+1]=setTStylingRangeNext(tData[previousNode+1],index)),tData[tmplHead+1]=function setTStylingRangePrev(tStylingRange,previous){return 131071&tStylingRange|previous<<17}(tData[tmplHead+1],index)}else tData[index+1]=toTStylingRange(tmplHead,0),0!==tmplHead&&(tData[tmplHead+1]=setTStylingRangeNext(tData[tmplHead+1],index)),tmplHead=index;else tData[index+1]=toTStylingRange(tmplTail,0),0===tmplHead?tmplHead=index:tData[tmplTail+1]=setTStylingRangeNext(tData[tmplTail+1],index),tmplTail=index;isKeyDuplicateOfStatic&&(tData[index+1]=setTStylingRangePrevDuplicate(tData[index+1])),markDuplicates(tData,tStylingKey,index,!0),markDuplicates(tData,tStylingKey,index,!1),function markDuplicateOfResidualStyling(tNode,tStylingKey,tData,index,isClassBinding){const residual=isClassBinding?tNode.residualClasses:tNode.residualStyles;null!=residual&&"string"==typeof tStylingKey&&keyValueArrayIndexOf(residual,tStylingKey)>=0&&(tData[index+1]=setTStylingRangeNextDuplicate(tData[index+1]))}(tNode,tStylingKey,tData,index,isClassBinding),tBindings=toTStylingRange(tmplHead,tmplTail),isClassBinding?tNode.classBindings=tBindings:tNode.styleBindings=tBindings}(tData,tNode,tStylingKey,bindingIndex,isHostBindings,isClassBased)}}function collectStylingFromDirectives(hostDirectiveDef,tData,tNode,stylingKey,isClassBased){let currentDirective=null;const directiveEnd=tNode.directiveEnd;let directiveStylingLast=tNode.directiveStylingLast;for(-1===directiveStylingLast?directiveStylingLast=tNode.directiveStart:directiveStylingLast++;directiveStylingLast0;){const rawKey=tData[index],containsStatics=Array.isArray(rawKey),key=containsStatics?rawKey[1]:rawKey,isStylingMap=null===key;let valueAtLViewIndex=lView[index+1];valueAtLViewIndex===NO_CHANGE&&(valueAtLViewIndex=isStylingMap?EMPTY_ARRAY:void 0);let currentValue=isStylingMap?keyValueArrayGet(valueAtLViewIndex,prop2):key===prop2?valueAtLViewIndex:void 0;if(containsStatics&&!isStylingValuePresent(currentValue)&&(currentValue=keyValueArrayGet(rawKey,prop2)),isStylingValuePresent(currentValue)&&(value=currentValue,isPrevDirection))return value;const tRange=tData[index+1];index=isPrevDirection?getTStylingRangePrev(tRange):getTStylingRangeNext(tRange)}if(null!==tNode){let residual=isClassBased?tNode.residualClasses:tNode.residualStyles;null!=residual&&(value=keyValueArrayGet(residual,prop2))}return value}function isStylingValuePresent(value){return void 0!==value}function hasStylingInputShadow(tNode,isClassBased){return 0!=(tNode.flags&(isClassBased?8:16))}function \u0275\u0275text(index,value=""){const lView=getLView(),tView=getTView(),adjustedIndex=index+HEADER_OFFSET,tNode=tView.firstCreatePass?getOrCreateTNode(tView,adjustedIndex,1,value,null):tView.data[adjustedIndex],textNative=_locateOrCreateTextNode(tView,lView,tNode,value,index);lView[adjustedIndex]=textNative,wasLastNodeCreated()&&appendChild(tView,lView,textNative,tNode),setCurrentTNode(tNode,!1)}let _locateOrCreateTextNode=(tView,lView,tNode,value,index)=>(lastNodeWasCreated(!0),function createTextNode(renderer,value){return renderer.createText(value)}(lView[RENDERER],value));function \u0275\u0275textInterpolate(v0){return \u0275\u0275textInterpolate1("",v0,""),\u0275\u0275textInterpolate}function \u0275\u0275textInterpolate1(prefix,v0,suffix){const lView=getLView(),interpolated=function interpolation1(lView,prefix,v0,suffix){return bindingUpdated(lView,nextBindingIndex(),v0)?prefix+renderStringify(v0)+suffix:NO_CHANGE}(lView,prefix,v0,suffix);return interpolated!==NO_CHANGE&&textBindingInternal(lView,getSelectedIndex(),interpolated),\u0275\u0275textInterpolate1}function \u0275\u0275textInterpolate2(prefix,v0,i02,v1,suffix){const lView=getLView(),interpolated=interpolation2(lView,prefix,v0,i02,v1,suffix);return interpolated!==NO_CHANGE&&textBindingInternal(lView,getSelectedIndex(),interpolated),\u0275\u0275textInterpolate2}function \u0275\u0275hostProperty(propName,value,sanitizer){const lView=getLView();return bindingUpdated(lView,nextBindingIndex(),value)&&elementPropertyInternal(getTView(),getSelectedTNode(),lView,propName,value,lView[RENDERER],sanitizer,!0),\u0275\u0275hostProperty}function \u0275\u0275syntheticHostProperty(propName,value,sanitizer){const lView=getLView();if(bindingUpdated(lView,nextBindingIndex(),value)){const tView=getTView(),tNode=getSelectedTNode();elementPropertyInternal(tView,tNode,lView,propName,value,loadComponentRenderer(getCurrentDirectiveDef(tView.data),tNode,lView),sanitizer,!0)}return \u0275\u0275syntheticHostProperty}let LOCALE_ID$1="en-US";function resolveProvider(provider,tInjectables,lInjectablesBlueprint,isComponent2,isViewProvider){if(provider=resolveForwardRef(provider),Array.isArray(provider))for(let i6=0;i6>20;if(isTypeProvider(provider)||!provider.multi){const factory2=new NodeInjectorFactory(providerFactory,isViewProvider,\u0275\u0275directiveInject),existingFactoryIndex=indexOf(token,tInjectables,isViewProvider?beginIndex:beginIndex+cptViewProvidersCount,endIndex);-1===existingFactoryIndex?(diPublicInInjector(getOrCreateNodeInjectorForNode(tNode,lView),tView,token),registerDestroyHooksIfSupported(tView,provider,tInjectables.length),tInjectables.push(token),tNode.directiveStart++,tNode.directiveEnd++,isViewProvider&&(tNode.providerIndexes+=1048576),lInjectablesBlueprint.push(factory2),lView.push(factory2)):(lInjectablesBlueprint[existingFactoryIndex]=factory2,lView[existingFactoryIndex]=factory2)}else{const existingProvidersFactoryIndex=indexOf(token,tInjectables,beginIndex+cptViewProvidersCount,endIndex),existingViewProvidersFactoryIndex=indexOf(token,tInjectables,beginIndex,beginIndex+cptViewProvidersCount),doesViewProvidersFactoryExist=existingViewProvidersFactoryIndex>=0&&lInjectablesBlueprint[existingViewProvidersFactoryIndex];if(isViewProvider&&!doesViewProvidersFactoryExist||!isViewProvider&&!(existingProvidersFactoryIndex>=0&&lInjectablesBlueprint[existingProvidersFactoryIndex])){diPublicInInjector(getOrCreateNodeInjectorForNode(tNode,lView),tView,token);const factory2=function multiFactory(factoryFn,index,isViewProvider,isComponent2,f){const factory2=new NodeInjectorFactory(factoryFn,isViewProvider,\u0275\u0275directiveInject);return factory2.multi=[],factory2.index=index,factory2.componentProviders=0,multiFactoryAdd(factory2,f,isComponent2&&!isViewProvider),factory2}(isViewProvider?multiViewProvidersFactoryResolver:multiProvidersFactoryResolver,lInjectablesBlueprint.length,isViewProvider,isComponent2,providerFactory);!isViewProvider&&doesViewProvidersFactoryExist&&(lInjectablesBlueprint[existingViewProvidersFactoryIndex].providerFactory=factory2),registerDestroyHooksIfSupported(tView,provider,tInjectables.length,0),tInjectables.push(token),tNode.directiveStart++,tNode.directiveEnd++,isViewProvider&&(tNode.providerIndexes+=1048576),lInjectablesBlueprint.push(factory2),lView.push(factory2)}else registerDestroyHooksIfSupported(tView,provider,existingProvidersFactoryIndex>-1?existingProvidersFactoryIndex:existingViewProvidersFactoryIndex,multiFactoryAdd(lInjectablesBlueprint[isViewProvider?existingViewProvidersFactoryIndex:existingProvidersFactoryIndex],providerFactory,!isViewProvider&&isComponent2));!isViewProvider&&isComponent2&&doesViewProvidersFactoryExist&&lInjectablesBlueprint[existingViewProvidersFactoryIndex].componentProviders++}}}function registerDestroyHooksIfSupported(tView,provider,contextIndex,indexInFactory){const providerIsTypeProvider=isTypeProvider(provider),providerIsClassProvider=function isClassProvider(value){return!!value.useClass}(provider);if(providerIsTypeProvider||providerIsClassProvider){const ngOnDestroy=(providerIsClassProvider?resolveForwardRef(provider.useClass):provider).prototype.ngOnDestroy;if(ngOnDestroy){const hooks=tView.destroyHooks||(tView.destroyHooks=[]);if(!providerIsTypeProvider&&provider.multi){const existingCallbacksIndex=hooks.indexOf(contextIndex);-1===existingCallbacksIndex?hooks.push(contextIndex,[indexInFactory,ngOnDestroy]):hooks[existingCallbacksIndex+1].push(indexInFactory,ngOnDestroy)}else hooks.push(contextIndex,ngOnDestroy)}}}function multiFactoryAdd(multiFactory2,factory2,isComponentProvider){return isComponentProvider&&multiFactory2.componentProviders++,multiFactory2.multi.push(factory2)-1}function indexOf(item,arr,begin,end){for(let i6=begin;i6{definition.providersResolver=(def,processProvidersFn)=>function providersResolver(def,providers,viewProviders){const tView=getTView();if(tView.firstCreatePass){const isComponent2=isComponentDef(def);resolveProvider(viewProviders,tView.data,tView.blueprint,isComponent2,!0),resolveProvider(providers,tView.data,tView.blueprint,isComponent2,!1)}}(def,processProvidersFn?processProvidersFn(providers):providers,viewProviders)}}class NgModuleRef$1{}class NgModuleFactory$1{}class NgModuleRef extends NgModuleRef$1{constructor(ngModuleType,_parent,additionalProviders){super(),this._parent=_parent,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new ComponentFactoryResolver(this);const ngModuleDef=function getNgModuleDef(type,throwNotFound){const ngModuleDef=type[NG_MOD_DEF]||null;if(!ngModuleDef&&!0===throwNotFound)throw new Error(`Type ${stringify(type)} does not have '\u0275mod' property.`);return ngModuleDef}(ngModuleType);this._bootstrapComponents=function maybeUnwrapFn(value){return value instanceof Function?value():value}(ngModuleDef.bootstrap),this._r3Injector=createInjectorWithoutInjectorInstances(ngModuleType,_parent,[{provide:NgModuleRef$1,useValue:this},{provide:ComponentFactoryResolver$1,useValue:this.componentFactoryResolver},...additionalProviders],stringify(ngModuleType),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(ngModuleType)}get injector(){return this._r3Injector}destroy(){const injector=this._r3Injector;!injector.destroyed&&injector.destroy(),this.destroyCbs.forEach(fn=>fn()),this.destroyCbs=null}onDestroy(callback){this.destroyCbs.push(callback)}}class NgModuleFactory extends NgModuleFactory$1{constructor(moduleType){super(),this.moduleType=moduleType}create(parentInjector){return new NgModuleRef(this.moduleType,parentInjector,[])}}function \u0275\u0275pureFunction0(slotOffset,pureFn,thisArg){const bindingIndex=getBindingRoot()+slotOffset,lView=getLView();return lView[bindingIndex]===NO_CHANGE?updateBinding(lView,bindingIndex,thisArg?pureFn.call(thisArg):pureFn()):function getBinding(lView,bindingIndex){return lView[bindingIndex]}(lView,bindingIndex)}function \u0275\u0275pureFunction1(slotOffset,pureFn,exp,thisArg){return function pureFunction1Internal(lView,bindingRoot,slotOffset,pureFn,exp,thisArg){const bindingIndex=bindingRoot+slotOffset;return bindingUpdated(lView,bindingIndex,exp)?updateBinding(lView,bindingIndex+1,thisArg?pureFn.call(thisArg,exp):pureFn(exp)):getPureFunctionReturnValue(lView,bindingIndex+1)}(getLView(),getBindingRoot(),slotOffset,pureFn,exp,thisArg)}function getPureFunctionReturnValue(lView,returnValueIndex){const lastReturnValue=lView[returnValueIndex];return lastReturnValue===NO_CHANGE?void 0:lastReturnValue}function pureFunction2Internal(lView,bindingRoot,slotOffset,pureFn,exp1,exp2,thisArg){const bindingIndex=bindingRoot+slotOffset;return bindingUpdated2(lView,bindingIndex,exp1,exp2)?updateBinding(lView,bindingIndex+2,thisArg?pureFn.call(thisArg,exp1,exp2):pureFn(exp1,exp2)):getPureFunctionReturnValue(lView,bindingIndex+2)}function pureFunction3Internal(lView,bindingRoot,slotOffset,pureFn,exp1,exp2,exp3,thisArg){const bindingIndex=bindingRoot+slotOffset;return function bindingUpdated3(lView,bindingIndex,exp1,exp2,exp3){const different=bindingUpdated2(lView,bindingIndex,exp1,exp2);return bindingUpdated(lView,bindingIndex+2,exp3)||different}(lView,bindingIndex,exp1,exp2,exp3)?updateBinding(lView,bindingIndex+3,thisArg?pureFn.call(thisArg,exp1,exp2,exp3):pureFn(exp1,exp2,exp3)):getPureFunctionReturnValue(lView,bindingIndex+3)}function \u0275\u0275pipe(index,pipeName){const tView=getTView();let pipeDef;const adjustedIndex=index+HEADER_OFFSET;tView.firstCreatePass?(pipeDef=function getPipeDef(name,registry){if(registry)for(let i6=registry.length-1;i6>=0;i6--){const pipeDef=registry[i6];if(name===pipeDef.name)return pipeDef}}(pipeName,tView.pipeRegistry),tView.data[adjustedIndex]=pipeDef,pipeDef.onDestroy&&(tView.destroyHooks??=[]).push(adjustedIndex,pipeDef.onDestroy)):pipeDef=tView.data[adjustedIndex];const pipeFactory=pipeDef.factory||(pipeDef.factory=getFactoryDef(pipeDef.type)),previousInjectImplementation=setInjectImplementation(\u0275\u0275directiveInject);try{const previousIncludeViewProviders=setIncludeViewProviders(!1),pipeInstance=pipeFactory();return setIncludeViewProviders(previousIncludeViewProviders),function store(tView,lView,index,value){index>=tView.data.length&&(tView.data[index]=null,tView.blueprint[index]=null),lView[index]=value}(tView,getLView(),adjustedIndex,pipeInstance),pipeInstance}finally{setInjectImplementation(previousInjectImplementation)}}function isPure(lView,index){return lView[TVIEW].data[index].pure}function _wrapInTimeout(fn){return value=>{setTimeout(fn,void 0,value)}}const core_EventEmitter=class EventEmitter_ extends Subject_Subject{constructor(isAsync=!1){super(),this.__isAsync=isAsync}emit(value){super.next(value)}subscribe(observerOrNext,error,complete){let nextFn=observerOrNext,errorFn=error||(()=>null),completeFn=complete;if(observerOrNext&&"object"==typeof observerOrNext){const observer=observerOrNext;nextFn=observer.next?.bind(observer),errorFn=observer.error?.bind(observer),completeFn=observer.complete?.bind(observer)}this.__isAsync&&(errorFn=_wrapInTimeout(errorFn),nextFn&&(nextFn=_wrapInTimeout(nextFn)),completeFn&&(completeFn=_wrapInTimeout(completeFn)));const sink=super.subscribe({next:nextFn,error:errorFn,complete:completeFn});return observerOrNext instanceof Subscription_Subscription&&observerOrNext.add(sink),sink}};function symbolIterator(){return this._results[Symbol.iterator]()}class QueryList{get changes(){return this._changes||(this._changes=new core_EventEmitter)}constructor(_emitDistinctChangesOnly=!1){this._emitDistinctChangesOnly=_emitDistinctChangesOnly,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const proto=QueryList.prototype;proto[Symbol.iterator]||(proto[Symbol.iterator]=symbolIterator)}get(index){return this._results[index]}map(fn){return this._results.map(fn)}filter(fn){return this._results.filter(fn)}find(fn){return this._results.find(fn)}reduce(fn,init2){return this._results.reduce(fn,init2)}forEach(fn){this._results.forEach(fn)}some(fn){return this._results.some(fn)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(resultsTree,identityAccessor){this.dirty=!1;const newResultFlat=function flatten(list2){return list2.flat(Number.POSITIVE_INFINITY)}(resultsTree);(this._changesDetected=!function arrayEquals(a,b,identityAccessor){if(a.length!==b.length)return!1;for(let i6=0;i60&&(lContainer[indexInContainer-1][NEXT]=lView),index{class TemplateRef2{}return TemplateRef2.__NG_ELEMENT_ID__=injectTemplateRef,TemplateRef2})();const ViewEngineTemplateRef=core_TemplateRef,R3TemplateRef=class extends ViewEngineTemplateRef{constructor(_declarationLView,_declarationTContainer,elementRef){super(),this._declarationLView=_declarationLView,this._declarationTContainer=_declarationTContainer,this.elementRef=elementRef}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(context2,injector){return this.createEmbeddedViewImpl(context2,injector)}createEmbeddedViewImpl(context2,injector,hydrationInfo){const embeddedLView=function createAndRenderEmbeddedLView(declarationLView,templateTNode,context2,options){const embeddedTView=templateTNode.tView,embeddedLView=createLView(declarationLView,embeddedTView,context2,4096&declarationLView[FLAGS]?4096:16,null,templateTNode,null,null,null,options?.injector??null,options?.hydrationInfo??null);embeddedLView[DECLARATION_LCONTAINER]=declarationLView[templateTNode.index];const declarationViewLQueries=declarationLView[QUERIES];return null!==declarationViewLQueries&&(embeddedLView[QUERIES]=declarationViewLQueries.createEmbeddedView(embeddedTView)),renderView(embeddedTView,embeddedLView,context2),embeddedLView}(this._declarationLView,this._declarationTContainer,context2,{injector,hydrationInfo});return new ViewRef$1(embeddedLView)}};function injectTemplateRef(){return createTemplateRef(getCurrentTNode(),getLView())}function createTemplateRef(hostTNode,hostLView){return 4&hostTNode.type?new R3TemplateRef(hostLView,hostTNode,createElementRef(hostTNode,hostLView)):null}let ViewContainerRef=(()=>{class ViewContainerRef2{}return ViewContainerRef2.__NG_ELEMENT_ID__=injectViewContainerRef,ViewContainerRef2})();function injectViewContainerRef(){return createContainerRef(getCurrentTNode(),getLView())}const VE_ViewContainerRef=ViewContainerRef,R3ViewContainerRef=class extends VE_ViewContainerRef{constructor(_lContainer,_hostTNode,_hostLView){super(),this._lContainer=_lContainer,this._hostTNode=_hostTNode,this._hostLView=_hostLView}get element(){return createElementRef(this._hostTNode,this._hostLView)}get injector(){return new NodeInjector(this._hostTNode,this._hostLView)}get parentInjector(){const parentLocation=getParentInjectorLocation(this._hostTNode,this._hostLView);if(hasParentInjector(parentLocation)){const parentView=getParentInjectorView(parentLocation,this._hostLView),injectorIndex=getParentInjectorIndex(parentLocation);return new NodeInjector(parentView[TVIEW].data[injectorIndex+8],parentView)}return new NodeInjector(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(index){const viewRefs=getViewRefs(this._lContainer);return null!==viewRefs&&viewRefs[index]||null}get length(){return this._lContainer.length-CONTAINER_HEADER_OFFSET}createEmbeddedView(templateRef,context2,indexOrOptions){let index,injector;"number"==typeof indexOrOptions?index=indexOrOptions:null!=indexOrOptions&&(index=indexOrOptions.index,injector=indexOrOptions.injector);const viewRef=templateRef.createEmbeddedViewImpl(context2||{},injector,null);return this.insertImpl(viewRef,index,false),viewRef}createComponent(componentFactoryOrType,indexOrOptions,injector,projectableNodes,environmentInjector){const isComponentFactory=componentFactoryOrType&&!function isType(v){return"function"==typeof v}(componentFactoryOrType);let index;if(isComponentFactory)index=indexOrOptions;else{const options=indexOrOptions||{};index=options.index,injector=options.injector,projectableNodes=options.projectableNodes,environmentInjector=options.environmentInjector||options.ngModuleRef}const componentFactory=isComponentFactory?componentFactoryOrType:new ComponentFactory(getComponentDef(componentFactoryOrType)),contextInjector=injector||this.parentInjector;if(!environmentInjector&&null==componentFactory.ngModule){const result=(isComponentFactory?contextInjector:this.parentInjector).get(core_EnvironmentInjector,null);result&&(environmentInjector=result)}getComponentDef(componentFactory.componentType??{});const componentRef=componentFactory.create(contextInjector,projectableNodes,null,environmentInjector);return this.insertImpl(componentRef.hostView,index,false),componentRef}insert(viewRef,index){return this.insertImpl(viewRef,index,!1)}insertImpl(viewRef,index,skipDomInsertion){const lView=viewRef._lView;if(function viewAttachedToContainer(view){return isLContainer(view[PARENT])}(lView)){const prevIdx=this.indexOf(viewRef);if(-1!==prevIdx)this.detach(prevIdx);else{const prevLContainer=lView[PARENT],prevVCRef=new R3ViewContainerRef(prevLContainer,prevLContainer[T_HOST],prevLContainer[PARENT]);prevVCRef.detach(prevVCRef.indexOf(viewRef))}}const adjustedIdx=this._adjustIndex(index),lContainer=this._lContainer;return addLViewToLContainer(lContainer,lView,adjustedIdx,!skipDomInsertion),viewRef.attachToViewContainerRef(),addToArray(getOrCreateViewRefs(lContainer),adjustedIdx,viewRef),viewRef}move(viewRef,newIndex){return this.insert(viewRef,newIndex)}indexOf(viewRef){const viewRefsArr=getViewRefs(this._lContainer);return null!==viewRefsArr?viewRefsArr.indexOf(viewRef):-1}remove(index){const adjustedIdx=this._adjustIndex(index,-1),detachedView=detachView(this._lContainer,adjustedIdx);detachedView&&(removeFromArray(getOrCreateViewRefs(this._lContainer),adjustedIdx),destroyLView(detachedView[TVIEW],detachedView))}detach(index){const adjustedIdx=this._adjustIndex(index,-1),view=detachView(this._lContainer,adjustedIdx);return view&&null!=removeFromArray(getOrCreateViewRefs(this._lContainer),adjustedIdx)?new ViewRef$1(view):null}_adjustIndex(index,shift=0){return index??this.length+shift}};function getViewRefs(lContainer){return lContainer[8]}function getOrCreateViewRefs(lContainer){return lContainer[8]||(lContainer[8]=[])}function createContainerRef(hostTNode,hostLView){let lContainer;const slotValue=hostLView[hostTNode.index];return isLContainer(slotValue)?lContainer=slotValue:(lContainer=createLContainer(slotValue,hostLView,null,hostTNode),hostLView[hostTNode.index]=lContainer,addToViewTree(hostLView,lContainer)),_locateOrCreateAnchorNode(lContainer,hostLView,hostTNode,slotValue),new R3ViewContainerRef(lContainer,hostTNode,hostLView)}let _locateOrCreateAnchorNode=function createAnchorNode(lContainer,hostLView,hostTNode,slotValue){if(lContainer[NATIVE])return;let commentNode;commentNode=8&hostTNode.type?unwrapRNode(slotValue):function insertAnchorNode(hostLView,hostTNode){const renderer=hostLView[RENDERER],commentNode=renderer.createComment(""),hostNative=getNativeByTNode(hostTNode,hostLView);return nativeInsertBefore(renderer,nativeParentNode(renderer,hostNative),commentNode,function nativeNextSibling(renderer,node2){return renderer.nextSibling(node2)}(renderer,hostNative),!1),commentNode}(hostLView,hostTNode),lContainer[NATIVE]=commentNode};class LQuery_{constructor(queryList){this.queryList=queryList,this.matches=null}clone(){return new LQuery_(this.queryList)}setDirty(){this.queryList.setDirty()}}class LQueries_{constructor(queries=[]){this.queries=queries}createEmbeddedView(tView){const tQueries=tView.queries;if(null!==tQueries){const noOfInheritedQueries=null!==tView.contentQueries?tView.contentQueries[0]:tQueries.length,viewLQueries=[];for(let i6=0;i60)result.push(lViewResults[i6/2]);else{const childQueryIndex=tQueryMatches[i6+1],declarationLContainer=lView[-tNodeIdx];for(let i7=CONTAINER_HEADER_OFFSET;i7{var _class14;class ApplicationInitStatus2{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((res,rej)=>{this.resolve=res,this.reject=rej}),this.appInits=fesm2022_core_inject(core_APP_INITIALIZER,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const asyncInitPromises=[];for(const appInits of this.appInits){const initResult=appInits();if(core_isPromise(initResult))asyncInitPromises.push(initResult);else if((obj=initResult)&&"function"==typeof obj.subscribe){const observableAsPromise=new Promise((resolve,reject)=>{initResult.subscribe({complete:resolve,error:reject})});asyncInitPromises.push(observableAsPromise)}}var obj;const complete=()=>{this.done=!0,this.resolve()};Promise.all(asyncInitPromises).then(()=>{complete()}).catch(e2=>{this.reject(e2)}),0===asyncInitPromises.length&&complete(),this.initialized=!0}}return(_class14=ApplicationInitStatus2).\u0275fac=function(t){return new(t||_class14)},_class14.\u0275prov=core_defineInjectable({token:_class14,factory:_class14.\u0275fac,providedIn:"root"}),ApplicationInitStatus2})();const LOCALE_ID=new InjectionToken("LocaleId",{providedIn:"root",factory:()=>fesm2022_core_inject(LOCALE_ID,core_InjectFlags.Optional|core_InjectFlags.SkipSelf)||function getGlobalLocale(){return typeof $localize<"u"&&$localize.locale||"en-US"}()});let InitialRenderPendingTasks=(()=>{var _class16;class InitialRenderPendingTasks2{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new BehaviorSubject_BehaviorSubject(!1)}add(){this.hasPendingTasks.next(!0);const taskId=this.taskId++;return this.pendingTasks.add(taskId),taskId}remove(taskId){this.pendingTasks.delete(taskId),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(_class16=InitialRenderPendingTasks2).\u0275fac=function(t){return new(t||_class16)},_class16.\u0275prov=core_defineInjectable({token:_class16,factory:_class16.\u0275fac,providedIn:"root"}),InitialRenderPendingTasks2})();function core_noop(...args){}class core_NgZone{constructor({enableLongStackTrace=!1,shouldCoalesceEventChangeDetection=!1,shouldCoalesceRunChangeDetection=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new core_EventEmitter(!1),this.onMicrotaskEmpty=new core_EventEmitter(!1),this.onStable=new core_EventEmitter(!1),this.onError=new core_EventEmitter(!1),typeof Zone>"u")throw new RuntimeError(908,!1);Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),enableLongStackTrace&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),this.shouldCoalesceEventChangeDetection=!shouldCoalesceRunChangeDetection&&shouldCoalesceEventChangeDetection,this.shouldCoalesceRunChangeDetection=shouldCoalesceRunChangeDetection,this.lastRequestAnimationFrameId=-1,this.nativeRequestAnimationFrame=function getNativeRequestAnimationFrame(){const isBrowser2="function"==typeof _global.requestAnimationFrame;let nativeRequestAnimationFrame=_global[isBrowser2?"requestAnimationFrame":"setTimeout"],nativeCancelAnimationFrame=_global[isBrowser2?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&nativeRequestAnimationFrame&&nativeCancelAnimationFrame){const unpatchedRequestAnimationFrame=nativeRequestAnimationFrame[Zone.__symbol__("OriginalDelegate")];unpatchedRequestAnimationFrame&&(nativeRequestAnimationFrame=unpatchedRequestAnimationFrame);const unpatchedCancelAnimationFrame=nativeCancelAnimationFrame[Zone.__symbol__("OriginalDelegate")];unpatchedCancelAnimationFrame&&(nativeCancelAnimationFrame=unpatchedCancelAnimationFrame)}return{nativeRequestAnimationFrame,nativeCancelAnimationFrame}}().nativeRequestAnimationFrame,function forkInnerZoneWithAngularBehavior(zone){const delayChangeDetectionForEventsDelegate=()=>{!function delayChangeDetectionForEvents(zone){zone.isCheckStableRunning||-1!==zone.lastRequestAnimationFrameId||(zone.lastRequestAnimationFrameId=zone.nativeRequestAnimationFrame.call(_global,()=>{zone.fakeTopEventTask||(zone.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{zone.lastRequestAnimationFrameId=-1,updateMicroTaskStatus(zone),zone.isCheckStableRunning=!0,checkStable(zone),zone.isCheckStableRunning=!1},void 0,()=>{},()=>{})),zone.fakeTopEventTask.invoke()}),updateMicroTaskStatus(zone))}(zone)};zone._inner=zone._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(delegate,current,target,task,applyThis,applyArgs)=>{try{return onEnter(zone),delegate.invokeTask(target,task,applyThis,applyArgs)}finally{(zone.shouldCoalesceEventChangeDetection&&"eventTask"===task.type||zone.shouldCoalesceRunChangeDetection)&&delayChangeDetectionForEventsDelegate(),onLeave(zone)}},onInvoke:(delegate,current,target,callback,applyThis,applyArgs,source)=>{try{return onEnter(zone),delegate.invoke(target,callback,applyThis,applyArgs,source)}finally{zone.shouldCoalesceRunChangeDetection&&delayChangeDetectionForEventsDelegate(),onLeave(zone)}},onHasTask:(delegate,current,target,hasTaskState)=>{delegate.hasTask(target,hasTaskState),current===target&&("microTask"==hasTaskState.change?(zone._hasPendingMicrotasks=hasTaskState.microTask,updateMicroTaskStatus(zone),checkStable(zone)):"macroTask"==hasTaskState.change&&(zone.hasPendingMacrotasks=hasTaskState.macroTask))},onHandleError:(delegate,current,target,error)=>(delegate.handleError(target,error),zone.runOutsideAngular(()=>zone.onError.emit(error)),!1)})}(this)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!core_NgZone.isInAngularZone())throw new RuntimeError(909,!1)}static assertNotInAngularZone(){if(core_NgZone.isInAngularZone())throw new RuntimeError(909,!1)}run(fn,applyThis,applyArgs){return this._inner.run(fn,applyThis,applyArgs)}runTask(fn,applyThis,applyArgs,name){const zone=this._inner,task=zone.scheduleEventTask("NgZoneEvent: "+name,fn,EMPTY_PAYLOAD,core_noop,core_noop);try{return zone.runTask(task,applyThis,applyArgs)}finally{zone.cancelTask(task)}}runGuarded(fn,applyThis,applyArgs){return this._inner.runGuarded(fn,applyThis,applyArgs)}runOutsideAngular(fn){return this._outer.run(fn)}}const EMPTY_PAYLOAD={};function checkStable(zone){if(0==zone._nesting&&!zone.hasPendingMicrotasks&&!zone.isStable)try{zone._nesting++,zone.onMicrotaskEmpty.emit(null)}finally{if(zone._nesting--,!zone.hasPendingMicrotasks)try{zone.runOutsideAngular(()=>zone.onStable.emit(null))}finally{zone.isStable=!0}}}function updateMicroTaskStatus(zone){zone.hasPendingMicrotasks=!!(zone._hasPendingMicrotasks||(zone.shouldCoalesceEventChangeDetection||zone.shouldCoalesceRunChangeDetection)&&-1!==zone.lastRequestAnimationFrameId)}function onEnter(zone){zone._nesting++,zone.isStable&&(zone.isStable=!1,zone.onUnstable.emit(null))}function onLeave(zone){zone._nesting--,checkStable(zone)}class NoopNgZone{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new core_EventEmitter,this.onMicrotaskEmpty=new core_EventEmitter,this.onStable=new core_EventEmitter,this.onError=new core_EventEmitter}run(fn,applyThis,applyArgs){return fn.apply(applyThis,applyArgs)}runGuarded(fn,applyThis,applyArgs){return fn.apply(applyThis,applyArgs)}runOutsideAngular(fn){return fn()}runTask(fn,applyThis,applyArgs,name){return fn.apply(applyThis,applyArgs)}}const ZONE_IS_STABLE_OBSERVABLE=new InjectionToken("",{providedIn:"root",factory:isStableFactory});function isStableFactory(){const zone=fesm2022_core_inject(core_NgZone);let _stable=!0;return merge_merge(new Observable_Observable(observer=>{_stable=zone.isStable&&!zone.hasPendingMacrotasks&&!zone.hasPendingMicrotasks,zone.runOutsideAngular(()=>{observer.next(_stable),observer.complete()})}),new Observable_Observable(observer=>{let stableSub;zone.runOutsideAngular(()=>{stableSub=zone.onStable.subscribe(()=>{core_NgZone.assertNotInAngularZone(),queueMicrotask(()=>{!_stable&&!zone.hasPendingMacrotasks&&!zone.hasPendingMicrotasks&&(_stable=!0,observer.next(!0))})})});const unstableSub=zone.onUnstable.subscribe(()=>{core_NgZone.assertInAngularZone(),_stable&&(_stable=!1,zone.runOutsideAngular(()=>{observer.next(!1)}))});return()=>{stableSub.unsubscribe(),unstableSub.unsubscribe()}}).pipe(share()))}const TESTABILITY=new InjectionToken(""),TESTABILITY_GETTER=new InjectionToken("");let _testabilityGetter,Testability=(()=>{var _class18;class Testability2{constructor(_ngZone,registry,testabilityGetter){this._ngZone=_ngZone,this.registry=registry,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,_testabilityGetter||(function setTestabilityGetter(getter){_testabilityGetter=getter}(testabilityGetter),testabilityGetter.addToWindow(registry)),this._watchAngularEvents(),_ngZone.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{core_NgZone.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let cb=this._callbacks.pop();clearTimeout(cb.timeoutId),cb.doneCb(this._didWork)}this._didWork=!1});else{let pending=this.getPendingTasks();this._callbacks=this._callbacks.filter(cb=>!cb.updateCb||!cb.updateCb(pending)||(clearTimeout(cb.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(cb,timeout,updateCb){let timeoutId=-1;timeout&&timeout>0&&(timeoutId=setTimeout(()=>{this._callbacks=this._callbacks.filter(cb2=>cb2.timeoutId!==timeoutId),cb(this._didWork,this.getPendingTasks())},timeout)),this._callbacks.push({doneCb:cb,timeoutId,updateCb})}whenStable(doneCb,timeout,updateCb){if(updateCb&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(doneCb,timeout,updateCb),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(token){this.registry.registerApplication(token,this)}unregisterApplication(token){this.registry.unregisterApplication(token)}findProviders(using,provider,exactMatch){return[]}}return(_class18=Testability2).\u0275fac=function(t){return new(t||_class18)(core_inject(core_NgZone),core_inject(TestabilityRegistry),core_inject(TESTABILITY_GETTER))},_class18.\u0275prov=core_defineInjectable({token:_class18,factory:_class18.\u0275fac}),Testability2})(),TestabilityRegistry=(()=>{var _class19;class TestabilityRegistry2{constructor(){this._applications=new Map}registerApplication(token,testability){this._applications.set(token,testability)}unregisterApplication(token){this._applications.delete(token)}unregisterAllApplications(){this._applications.clear()}getTestability(elem){return this._applications.get(elem)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(elem,findInAncestors=!0){return _testabilityGetter?.findTestabilityInTree(this,elem,findInAncestors)??null}}return(_class19=TestabilityRegistry2).\u0275fac=function(t){return new(t||_class19)},_class19.\u0275prov=core_defineInjectable({token:_class19,factory:_class19.\u0275fac,providedIn:"platform"}),TestabilityRegistry2})(),_platformInjector=null;const ALLOW_MULTIPLE_PLATFORMS=new InjectionToken("AllowMultipleToken"),PLATFORM_DESTROY_LISTENERS=new InjectionToken("PlatformDestroyListeners"),core_APP_BOOTSTRAP_LISTENER=new InjectionToken("appBootstrapListener");function createPlatformFactory(parentPlatformFactory,name,providers=[]){const desc=`Platform: ${name}`,marker=new InjectionToken(desc);return(extraProviders=[])=>{let platform=getPlatform();if(!platform||platform.injector.get(ALLOW_MULTIPLE_PLATFORMS,!1)){const platformProviders=[...providers,...extraProviders,{provide:marker,useValue:!0}];parentPlatformFactory?parentPlatformFactory(platformProviders):function createPlatform(injector){if(_platformInjector&&!_platformInjector.get(ALLOW_MULTIPLE_PLATFORMS,!1))throw new RuntimeError(400,!1);(function publishSignalConfiguration(){!function setThrowInvalidWriteToSignalError(fn){throwInvalidWriteToSignalErrorFn=fn}(()=>{throw new RuntimeError(600,!1)})})(),_platformInjector=injector;const platform=injector.get(PlatformRef);(function runPlatformInitializers(injector){injector.get(PLATFORM_INITIALIZER,null)?.forEach(init2=>init2())})(injector)}(function createPlatformInjector(providers=[],name){return core_Injector.create({name,providers:[{provide:INJECTOR_SCOPE,useValue:"platform"},{provide:PLATFORM_DESTROY_LISTENERS,useValue:new Set([()=>_platformInjector=null])},...providers]})}(platformProviders,desc))}return function assertPlatform(requiredToken){const platform=getPlatform();if(!platform)throw new RuntimeError(401,!1);return platform}()}}function getPlatform(){return _platformInjector?.get(PlatformRef)??null}let PlatformRef=(()=>{var _class20;class PlatformRef2{constructor(_injector){this._injector=_injector,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(moduleFactory,options){const ngZone=function getNgZone(ngZoneToUse="zone.js",options){return"noop"===ngZoneToUse?new NoopNgZone:"zone.js"===ngZoneToUse?new core_NgZone(options):ngZoneToUse}(options?.ngZone,function getNgZoneOptions(options){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:options?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:options?.runCoalescing??!1}}({eventCoalescing:options?.ngZoneEventCoalescing,runCoalescing:options?.ngZoneRunCoalescing}));return ngZone.run(()=>{const moduleRef=function createNgModuleRefWithProviders(moduleType,parentInjector,additionalProviders){return new NgModuleRef(moduleType,parentInjector,additionalProviders)}(moduleFactory.moduleType,this.injector,function internalProvideZoneChangeDetection(ngZoneFactory){return[{provide:core_NgZone,useFactory:ngZoneFactory},{provide:core_ENVIRONMENT_INITIALIZER,multi:!0,useFactory:()=>{const ngZoneChangeDetectionScheduler=fesm2022_core_inject(NgZoneChangeDetectionScheduler,{optional:!0});return()=>ngZoneChangeDetectionScheduler.initialize()}},{provide:INTERNAL_APPLICATION_ERROR_HANDLER,useFactory:ngZoneApplicationErrorHandlerFactory},{provide:ZONE_IS_STABLE_OBSERVABLE,useFactory:isStableFactory}]}(()=>ngZone)),exceptionHandler=moduleRef.injector.get(ErrorHandler,null);return ngZone.runOutsideAngular(()=>{const subscription=ngZone.onError.subscribe({next:error=>{exceptionHandler.handleError(error)}});moduleRef.onDestroy(()=>{remove(this._modules,moduleRef),subscription.unsubscribe()})}),function _callAndReportToErrorHandler(errorHandler2,ngZone,callback){try{const result=callback();return core_isPromise(result)?result.catch(e2=>{throw ngZone.runOutsideAngular(()=>errorHandler2.handleError(e2)),e2}):result}catch(e2){throw ngZone.runOutsideAngular(()=>errorHandler2.handleError(e2)),e2}}(exceptionHandler,ngZone,()=>{const initStatus=moduleRef.injector.get(ApplicationInitStatus);return initStatus.runInitializers(),initStatus.donePromise.then(()=>(function setLocaleId(localeId){assertDefined(localeId,"Expected localeId to be defined"),"string"==typeof localeId&&(LOCALE_ID$1=localeId.toLowerCase().replace(/_/g,"-"))}(moduleRef.injector.get(LOCALE_ID,"en-US")||"en-US"),this._moduleDoBootstrap(moduleRef),moduleRef))})})}bootstrapModule(moduleType,compilerOptions=[]){const options=optionsReducer({},compilerOptions);return function compileNgModuleFactory(injector,options,moduleType){const moduleFactory=new NgModuleFactory(moduleType);return Promise.resolve(moduleFactory)}(0,0,moduleType).then(moduleFactory=>this.bootstrapModuleFactory(moduleFactory,options))}_moduleDoBootstrap(moduleRef){const appRef=moduleRef.injector.get(core_ApplicationRef);if(moduleRef._bootstrapComponents.length>0)moduleRef._bootstrapComponents.forEach(f=>appRef.bootstrap(f));else{if(!moduleRef.instance.ngDoBootstrap)throw new RuntimeError(-403,!1);moduleRef.instance.ngDoBootstrap(appRef)}this._modules.push(moduleRef)}onDestroy(callback){this._destroyListeners.push(callback)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new RuntimeError(404,!1);this._modules.slice().forEach(module=>module.destroy()),this._destroyListeners.forEach(listener=>listener());const destroyListeners=this._injector.get(PLATFORM_DESTROY_LISTENERS,null);destroyListeners&&(destroyListeners.forEach(listener=>listener()),destroyListeners.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(_class20=PlatformRef2).\u0275fac=function(t){return new(t||_class20)(core_inject(core_Injector))},_class20.\u0275prov=core_defineInjectable({token:_class20,factory:_class20.\u0275fac,providedIn:"platform"}),PlatformRef2})();function optionsReducer(dst,objs){return Array.isArray(objs)?objs.reduce(optionsReducer,dst):{...dst,...objs}}let core_ApplicationRef=(()=>{var _class21;class ApplicationRef2{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fesm2022_core_inject(INTERNAL_APPLICATION_ERROR_HANDLER),this.zoneIsStable=fesm2022_core_inject(ZONE_IS_STABLE_OBSERVABLE),this.componentTypes=[],this.components=[],this.isStable=fesm2022_core_inject(InitialRenderPendingTasks).hasPendingTasks.pipe(switchMap_switchMap(hasPendingTasks=>hasPendingTasks?of_of(!1):this.zoneIsStable),distinctUntilChanged_distinctUntilChanged(),share()),this._injector=fesm2022_core_inject(core_EnvironmentInjector)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(componentOrFactory,rootSelectorOrNode){const isComponentFactory=componentOrFactory instanceof ComponentFactory$1;if(!this._injector.get(ApplicationInitStatus).done)throw!isComponentFactory&&function isStandalone(type){const def=getComponentDef(type)||getDirectiveDef(type)||getPipeDef$1(type);return null!==def&&def.standalone}(componentOrFactory),new RuntimeError(405,!1);let componentFactory;componentFactory=isComponentFactory?componentOrFactory:this._injector.get(ComponentFactoryResolver$1).resolveComponentFactory(componentOrFactory),this.componentTypes.push(componentFactory.componentType);const ngModule=function isBoundToModule(cf){return cf.isBoundToModule}(componentFactory)?void 0:this._injector.get(NgModuleRef$1),compRef=componentFactory.create(core_Injector.NULL,[],rootSelectorOrNode||componentFactory.selector,ngModule),nativeElement=compRef.location.nativeElement,testability=compRef.injector.get(TESTABILITY,null);return testability?.registerApplication(nativeElement),compRef.onDestroy(()=>{this.detachView(compRef.hostView),remove(this.components,compRef),testability?.unregisterApplication(nativeElement)}),this._loadComponent(compRef),compRef}tick(){if(this._runningTick)throw new RuntimeError(101,!1);try{this._runningTick=!0;for(let view of this._views)view.detectChanges()}catch(e2){this.internalErrorHandler(e2)}finally{this._runningTick=!1}}attachView(viewRef){const view=viewRef;this._views.push(view),view.attachToAppRef(this)}detachView(viewRef){const view=viewRef;remove(this._views,view),view.detachFromAppRef()}_loadComponent(componentRef){this.attachView(componentRef.hostView),this.tick(),this.components.push(componentRef);const listeners=this._injector.get(core_APP_BOOTSTRAP_LISTENER,[]);listeners.push(...this._bootstrapListeners),listeners.forEach(listener=>listener(componentRef))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(listener=>listener()),this._views.slice().forEach(view=>view.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(callback){return this._destroyListeners.push(callback),()=>remove(this._destroyListeners,callback)}destroy(){if(this._destroyed)throw new RuntimeError(406,!1);const injector=this._injector;injector.destroy&&!injector.destroyed&&injector.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(_class21=ApplicationRef2).\u0275fac=function(t){return new(t||_class21)},_class21.\u0275prov=core_defineInjectable({token:_class21,factory:_class21.\u0275fac,providedIn:"root"}),ApplicationRef2})();function remove(list2,el){const index=list2.indexOf(el);index>-1&&list2.splice(index,1)}const INTERNAL_APPLICATION_ERROR_HANDLER=new InjectionToken("",{providedIn:"root",factory:()=>fesm2022_core_inject(ErrorHandler).handleError.bind(void 0)});function ngZoneApplicationErrorHandlerFactory(){const zone=fesm2022_core_inject(core_NgZone),userErrorHandler=fesm2022_core_inject(ErrorHandler);return e2=>zone.runOutsideAngular(()=>userErrorHandler.handleError(e2))}let NgZoneChangeDetectionScheduler=(()=>{var _class22;class NgZoneChangeDetectionScheduler2{constructor(){this.zone=fesm2022_core_inject(core_NgZone),this.applicationRef=fesm2022_core_inject(core_ApplicationRef)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(_class22=NgZoneChangeDetectionScheduler2).\u0275fac=function(t){return new(t||_class22)},_class22.\u0275prov=core_defineInjectable({token:_class22,factory:_class22.\u0275fac,providedIn:"root"}),NgZoneChangeDetectionScheduler2})();let ChangeDetectorRef=(()=>{class ChangeDetectorRef2{}return ChangeDetectorRef2.__NG_ELEMENT_ID__=injectChangeDetectorRef,ChangeDetectorRef2})();function injectChangeDetectorRef(flags){return function createViewRef(tNode,lView,isPipe2){if(isComponentHost(tNode)&&!isPipe2){const componentView=getComponentLViewByIndex(tNode.index,lView);return new ViewRef$1(componentView,componentView)}return 47&tNode.type?new ViewRef$1(lView[DECLARATION_COMPONENT_VIEW],lView):null}(getCurrentTNode(),getLView(),16==(16&flags))}class DefaultIterableDifferFactory{constructor(){}supports(obj){return isListLikeIterable(obj)}create(trackByFn){return new DefaultIterableDiffer(trackByFn)}}const trackByIdentity=(index,item)=>item;class DefaultIterableDiffer{constructor(trackByFn){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=trackByFn||trackByIdentity}forEachItem(fn){let record2;for(record2=this._itHead;null!==record2;record2=record2._next)fn(record2)}forEachOperation(fn){let nextIt=this._itHead,nextRemove=this._removalsHead,addRemoveOffset=0,moveOffsets=null;for(;nextIt||nextRemove;){const record2=!nextRemove||nextIt&&nextIt.currentIndex{itemTrackBy=this._trackByFn(index,item2),null!==record2&&Object.is(record2.trackById,itemTrackBy)?(mayBeDirty&&(record2=this._verifyReinsertion(record2,item2,itemTrackBy,index)),Object.is(record2.item,item2)||this._addIdentityChange(record2,item2)):(record2=this._mismatch(record2,item2,itemTrackBy,index),mayBeDirty=!0),record2=record2._next,index++}),this.length=index;return this._truncate(record2),this.collection=collection,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let record2;for(record2=this._previousItHead=this._itHead;null!==record2;record2=record2._next)record2._nextPrevious=record2._next;for(record2=this._additionsHead;null!==record2;record2=record2._nextAdded)record2.previousIndex=record2.currentIndex;for(this._additionsHead=this._additionsTail=null,record2=this._movesHead;null!==record2;record2=record2._nextMoved)record2.previousIndex=record2.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(record2,item,itemTrackBy,index){let previousRecord;return null===record2?previousRecord=this._itTail:(previousRecord=record2._prev,this._remove(record2)),null!==(record2=null===this._unlinkedRecords?null:this._unlinkedRecords.get(itemTrackBy,null))?(Object.is(record2.item,item)||this._addIdentityChange(record2,item),this._reinsertAfter(record2,previousRecord,index)):null!==(record2=null===this._linkedRecords?null:this._linkedRecords.get(itemTrackBy,index))?(Object.is(record2.item,item)||this._addIdentityChange(record2,item),this._moveAfter(record2,previousRecord,index)):record2=this._addAfter(new IterableChangeRecord_(item,itemTrackBy),previousRecord,index),record2}_verifyReinsertion(record2,item,itemTrackBy,index){let reinsertRecord=null===this._unlinkedRecords?null:this._unlinkedRecords.get(itemTrackBy,null);return null!==reinsertRecord?record2=this._reinsertAfter(reinsertRecord,record2._prev,index):record2.currentIndex!=index&&(record2.currentIndex=index,this._addToMoves(record2,index)),record2}_truncate(record2){for(;null!==record2;){const nextRecord=record2._next;this._addToRemovals(this._unlink(record2)),record2=nextRecord}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(record2,prevRecord,index){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(record2);const prev=record2._prevRemoved,next=record2._nextRemoved;return null===prev?this._removalsHead=next:prev._nextRemoved=next,null===next?this._removalsTail=prev:next._prevRemoved=prev,this._insertAfter(record2,prevRecord,index),this._addToMoves(record2,index),record2}_moveAfter(record2,prevRecord,index){return this._unlink(record2),this._insertAfter(record2,prevRecord,index),this._addToMoves(record2,index),record2}_addAfter(record2,prevRecord,index){return this._insertAfter(record2,prevRecord,index),this._additionsTail=null===this._additionsTail?this._additionsHead=record2:this._additionsTail._nextAdded=record2,record2}_insertAfter(record2,prevRecord,index){const next=null===prevRecord?this._itHead:prevRecord._next;return record2._next=next,record2._prev=prevRecord,null===next?this._itTail=record2:next._prev=record2,null===prevRecord?this._itHead=record2:prevRecord._next=record2,null===this._linkedRecords&&(this._linkedRecords=new _DuplicateMap),this._linkedRecords.put(record2),record2.currentIndex=index,record2}_remove(record2){return this._addToRemovals(this._unlink(record2))}_unlink(record2){null!==this._linkedRecords&&this._linkedRecords.remove(record2);const prev=record2._prev,next=record2._next;return null===prev?this._itHead=next:prev._next=next,null===next?this._itTail=prev:next._prev=prev,record2}_addToMoves(record2,toIndex){return record2.previousIndex===toIndex||(this._movesTail=null===this._movesTail?this._movesHead=record2:this._movesTail._nextMoved=record2),record2}_addToRemovals(record2){return null===this._unlinkedRecords&&(this._unlinkedRecords=new _DuplicateMap),this._unlinkedRecords.put(record2),record2.currentIndex=null,record2._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=record2,record2._prevRemoved=null):(record2._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=record2),record2}_addIdentityChange(record2,item){return record2.item=item,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=record2:this._identityChangesTail._nextIdentityChange=record2,record2}}class IterableChangeRecord_{constructor(item,trackById){this.item=item,this.trackById=trackById,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class _DuplicateItemRecordList{constructor(){this._head=null,this._tail=null}add(record2){null===this._head?(this._head=this._tail=record2,record2._nextDup=null,record2._prevDup=null):(this._tail._nextDup=record2,record2._prevDup=this._tail,record2._nextDup=null,this._tail=record2)}get(trackById,atOrAfterIndex){let record2;for(record2=this._head;null!==record2;record2=record2._nextDup)if((null===atOrAfterIndex||atOrAfterIndex<=record2.currentIndex)&&Object.is(record2.trackById,trackById))return record2;return null}remove(record2){const prev=record2._prevDup,next=record2._nextDup;return null===prev?this._head=next:prev._nextDup=next,null===next?this._tail=prev:next._prevDup=prev,null===this._head}}class _DuplicateMap{constructor(){this.map=new Map}put(record2){const key=record2.trackById;let duplicates=this.map.get(key);duplicates||(duplicates=new _DuplicateItemRecordList,this.map.set(key,duplicates)),duplicates.add(record2)}get(trackById,atOrAfterIndex){const recordList=this.map.get(trackById);return recordList?recordList.get(trackById,atOrAfterIndex):null}remove(record2){const key=record2.trackById;return this.map.get(key).remove(record2)&&this.map.delete(key),record2}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function getPreviousIndex(item,addRemoveOffset,moveOffsets){const previousIndex=item.previousIndex;if(null===previousIndex)return previousIndex;let moveOffset=0;return moveOffsets&&previousIndex{if(insertBefore&&insertBefore.key===key)this._maybeAddToChanges(insertBefore,value),this._appendAfter=insertBefore,insertBefore=insertBefore._next;else{const record2=this._getOrCreateRecordForKey(key,value);insertBefore=this._insertBeforeOrAppend(insertBefore,record2)}}),insertBefore){insertBefore._prev&&(insertBefore._prev._next=null),this._removalsHead=insertBefore;for(let record2=insertBefore;null!==record2;record2=record2._nextRemoved)record2===this._mapHead&&(this._mapHead=null),this._records.delete(record2.key),record2._nextRemoved=record2._next,record2.previousValue=record2.currentValue,record2.currentValue=null,record2._prev=null,record2._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(before,record2){if(before){const prev=before._prev;return record2._next=before,record2._prev=prev,before._prev=record2,prev&&(prev._next=record2),before===this._mapHead&&(this._mapHead=record2),this._appendAfter=before,before}return this._appendAfter?(this._appendAfter._next=record2,record2._prev=this._appendAfter):this._mapHead=record2,this._appendAfter=record2,null}_getOrCreateRecordForKey(key,value){if(this._records.has(key)){const record3=this._records.get(key);this._maybeAddToChanges(record3,value);const prev=record3._prev,next=record3._next;return prev&&(prev._next=next),next&&(next._prev=prev),record3._next=null,record3._prev=null,record3}const record2=new KeyValueChangeRecord_(key);return this._records.set(key,record2),record2.currentValue=value,this._addToAdditions(record2),record2}_reset(){if(this.isDirty){let record2;for(this._previousMapHead=this._mapHead,record2=this._previousMapHead;null!==record2;record2=record2._next)record2._nextPrevious=record2._next;for(record2=this._changesHead;null!==record2;record2=record2._nextChanged)record2.previousValue=record2.currentValue;for(record2=this._additionsHead;null!=record2;record2=record2._nextAdded)record2.previousValue=record2.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(record2,newValue){Object.is(newValue,record2.currentValue)||(record2.previousValue=record2.currentValue,record2.currentValue=newValue,this._addToChanges(record2))}_addToAdditions(record2){null===this._additionsHead?this._additionsHead=this._additionsTail=record2:(this._additionsTail._nextAdded=record2,this._additionsTail=record2)}_addToChanges(record2){null===this._changesHead?this._changesHead=this._changesTail=record2:(this._changesTail._nextChanged=record2,this._changesTail=record2)}_forEach(obj,fn){obj instanceof Map?obj.forEach(fn):Object.keys(obj).forEach(k=>fn(obj[k],k))}}class KeyValueChangeRecord_{constructor(key){this.key=key,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function defaultIterableDiffersFactory(){return new IterableDiffers([new DefaultIterableDifferFactory])}let IterableDiffers=(()=>{var _class24;class IterableDiffers2{constructor(factories){this.factories=factories}static create(factories,parent){if(null!=parent){const copied=parent.factories.slice();factories=factories.concat(copied)}return new IterableDiffers2(factories)}static extend(factories){return{provide:IterableDiffers2,useFactory:parent=>IterableDiffers2.create(factories,parent||defaultIterableDiffersFactory()),deps:[[IterableDiffers2,new core_SkipSelf,new core_Optional]]}}find(iterable){const factory2=this.factories.find(f=>f.supports(iterable));if(null!=factory2)return factory2;throw new RuntimeError(901,!1)}}return(_class24=IterableDiffers2).\u0275prov=core_defineInjectable({token:_class24,providedIn:"root",factory:defaultIterableDiffersFactory}),IterableDiffers2})();function defaultKeyValueDiffersFactory(){return new KeyValueDiffers([new DefaultKeyValueDifferFactory])}let KeyValueDiffers=(()=>{var _class25;class KeyValueDiffers2{constructor(factories){this.factories=factories}static create(factories,parent){if(parent){const copied=parent.factories.slice();factories=factories.concat(copied)}return new KeyValueDiffers2(factories)}static extend(factories){return{provide:KeyValueDiffers2,useFactory:parent=>KeyValueDiffers2.create(factories,parent||defaultKeyValueDiffersFactory()),deps:[[KeyValueDiffers2,new core_SkipSelf,new core_Optional]]}}find(kv){const factory2=this.factories.find(f=>f.supports(kv));if(factory2)return factory2;throw new RuntimeError(901,!1)}}return(_class25=KeyValueDiffers2).\u0275prov=core_defineInjectable({token:_class25,providedIn:"root",factory:defaultKeyValueDiffersFactory}),KeyValueDiffers2})();const platformCore=createPlatformFactory(null,"core",[]);let ApplicationModule=(()=>{var _class26;class ApplicationModule2{constructor(appRef){}}return(_class26=ApplicationModule2).\u0275fac=function(t){return new(t||_class26)(core_inject(core_ApplicationRef))},_class26.\u0275mod=\u0275\u0275defineNgModule({type:_class26}),_class26.\u0275inj=\u0275\u0275defineInjector({}),ApplicationModule2})();let _DOM=null;function getDOM(){return _DOM}class DomAdapter{}const common_DOCUMENT=new InjectionToken("DocumentToken");let PlatformLocation=(()=>{var _class2;class PlatformLocation2{historyGo(relativePosition){throw new Error("Not implemented")}}return(_class2=PlatformLocation2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:function(){return fesm2022_core_inject(BrowserPlatformLocation)},providedIn:"platform"}),PlatformLocation2})(),BrowserPlatformLocation=(()=>{var _class2;class BrowserPlatformLocation2 extends PlatformLocation{constructor(){super(),this._doc=fesm2022_core_inject(common_DOCUMENT),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return getDOM().getBaseHref(this._doc)}onPopState(fn){const window2=getDOM().getGlobalEventTarget(this._doc,"window");return window2.addEventListener("popstate",fn,!1),()=>window2.removeEventListener("popstate",fn)}onHashChange(fn){const window2=getDOM().getGlobalEventTarget(this._doc,"window");return window2.addEventListener("hashchange",fn,!1),()=>window2.removeEventListener("hashchange",fn)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(newPath){this._location.pathname=newPath}pushState(state2,title,url){this._history.pushState(state2,title,url)}replaceState(state2,title,url){this._history.replaceState(state2,title,url)}forward(){this._history.forward()}back(){this._history.back()}historyGo(relativePosition=0){this._history.go(relativePosition)}getState(){return this._history.state}}return(_class2=BrowserPlatformLocation2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:function(){return new _class2},providedIn:"platform"}),BrowserPlatformLocation2})();function joinWithSlash(start2,end){if(0==start2.length)return end;if(0==end.length)return start2;let slashes=0;return start2.endsWith("/")&&slashes++,end.startsWith("/")&&slashes++,2==slashes?start2+end.substring(1):1==slashes?start2+end:start2+"/"+end}function stripTrailingSlash(url){const match2=url.match(/#|\?|$/),pathEndIdx=match2&&match2.index||url.length;return url.slice(0,pathEndIdx-("/"===url[pathEndIdx-1]?1:0))+url.slice(pathEndIdx)}function normalizeQueryParams(params){return params&&"?"!==params[0]?"?"+params:params}let common_LocationStrategy=(()=>{var _class3;class LocationStrategy2{historyGo(relativePosition){throw new Error("Not implemented")}}return(_class3=LocationStrategy2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:function(){return fesm2022_core_inject(common_PathLocationStrategy)},providedIn:"root"}),LocationStrategy2})();const APP_BASE_HREF=new InjectionToken("appBaseHref");let common_PathLocationStrategy=(()=>{var _class4;class PathLocationStrategy2 extends common_LocationStrategy{constructor(_platformLocation,href){super(),this._platformLocation=_platformLocation,this._removeListenerFns=[],this._baseHref=href??this._platformLocation.getBaseHrefFromDOM()??fesm2022_core_inject(common_DOCUMENT).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(fn){this._removeListenerFns.push(this._platformLocation.onPopState(fn),this._platformLocation.onHashChange(fn))}getBaseHref(){return this._baseHref}prepareExternalUrl(internal){return joinWithSlash(this._baseHref,internal)}path(includeHash=!1){const pathname=this._platformLocation.pathname+normalizeQueryParams(this._platformLocation.search),hash=this._platformLocation.hash;return hash&&includeHash?`${pathname}${hash}`:pathname}pushState(state2,title,url,queryParams){const externalUrl=this.prepareExternalUrl(url+normalizeQueryParams(queryParams));this._platformLocation.pushState(state2,title,externalUrl)}replaceState(state2,title,url,queryParams){const externalUrl=this.prepareExternalUrl(url+normalizeQueryParams(queryParams));this._platformLocation.replaceState(state2,title,externalUrl)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(relativePosition=0){this._platformLocation.historyGo?.(relativePosition)}}return(_class4=PathLocationStrategy2).\u0275fac=function(t){return new(t||_class4)(core_inject(PlatformLocation),core_inject(APP_BASE_HREF,8))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac,providedIn:"root"}),PathLocationStrategy2})(),Location=(()=>{var _class6;class Location2{constructor(locationStrategy){this._subject=new core_EventEmitter,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=locationStrategy;const baseHref=this._locationStrategy.getBaseHref();this._basePath=function _stripOrigin(baseHref){if(new RegExp("^(https?:)?//").test(baseHref)){const[,pathname]=baseHref.split(/\/\/[^\/]+/);return pathname}return baseHref}(stripTrailingSlash(_stripIndexHtml(baseHref))),this._locationStrategy.onPopState(ev=>{this._subject.emit({url:this.path(!0),pop:!0,state:ev.state,type:ev.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(includeHash=!1){return this.normalize(this._locationStrategy.path(includeHash))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(path,query2=""){return this.path()==this.normalize(path+normalizeQueryParams(query2))}normalize(url){return Location2.stripTrailingSlash(function _stripBasePath(basePath,url){if(!basePath||!url.startsWith(basePath))return url;const strippedUrl=url.substring(basePath.length);return""===strippedUrl||["/",";","?","#"].includes(strippedUrl[0])?strippedUrl:url}(this._basePath,_stripIndexHtml(url)))}prepareExternalUrl(url){return url&&"/"!==url[0]&&(url="/"+url),this._locationStrategy.prepareExternalUrl(url)}go(path,query2="",state2=null){this._locationStrategy.pushState(state2,"",path,query2),this._notifyUrlChangeListeners(this.prepareExternalUrl(path+normalizeQueryParams(query2)),state2)}replaceState(path,query2="",state2=null){this._locationStrategy.replaceState(state2,"",path,query2),this._notifyUrlChangeListeners(this.prepareExternalUrl(path+normalizeQueryParams(query2)),state2)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(relativePosition=0){this._locationStrategy.historyGo?.(relativePosition)}onUrlChange(fn){return this._urlChangeListeners.push(fn),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(v=>{this._notifyUrlChangeListeners(v.url,v.state)})),()=>{const fnIndex=this._urlChangeListeners.indexOf(fn);this._urlChangeListeners.splice(fnIndex,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(url="",state2){this._urlChangeListeners.forEach(fn=>fn(url,state2))}subscribe(onNext,onThrow,onReturn){return this._subject.subscribe({next:onNext,error:onThrow,complete:onReturn})}}return(_class6=Location2).normalizeQueryParams=normalizeQueryParams,_class6.joinWithSlash=joinWithSlash,_class6.stripTrailingSlash=stripTrailingSlash,_class6.\u0275fac=function(t){return new(t||_class6)(core_inject(common_LocationStrategy))},_class6.\u0275prov=core_defineInjectable({token:_class6,factory:function(){return function createLocation(){return new Location(core_inject(common_LocationStrategy))}()},providedIn:"root"}),Location2})();function _stripIndexHtml(url){return url.replace(/\/index.html$/,"")}function parseCookieValue(cookieStr,name){name=encodeURIComponent(name);for(const cookie of cookieStr.split(";")){const eqIndex=cookie.indexOf("="),[cookieName,cookieValue]=-1==eqIndex?[cookie,""]:[cookie.slice(0,eqIndex),cookie.slice(eqIndex+1)];if(cookieName.trim()===name)return decodeURIComponent(cookieValue)}return null}const WS_REGEXP=/\s+/,common_EMPTY_ARRAY=[];let NgClass=(()=>{var _class9;class NgClass2{constructor(_iterableDiffers,_keyValueDiffers,_ngEl,_renderer){this._iterableDiffers=_iterableDiffers,this._keyValueDiffers=_keyValueDiffers,this._ngEl=_ngEl,this._renderer=_renderer,this.initialClasses=common_EMPTY_ARRAY,this.stateMap=new Map}set klass(value){this.initialClasses=null!=value?value.trim().split(WS_REGEXP):common_EMPTY_ARRAY}set ngClass(value){this.rawClass="string"==typeof value?value.trim().split(WS_REGEXP):value}ngDoCheck(){for(const klass of this.initialClasses)this._updateState(klass,!0);const rawClass=this.rawClass;if(Array.isArray(rawClass)||rawClass instanceof Set)for(const klass of rawClass)this._updateState(klass,!0);else if(null!=rawClass)for(const klass of Object.keys(rawClass))this._updateState(klass,!!rawClass[klass]);this._applyStateDiff()}_updateState(klass,nextEnabled){const state2=this.stateMap.get(klass);void 0!==state2?(state2.enabled!==nextEnabled&&(state2.changed=!0,state2.enabled=nextEnabled),state2.touched=!0):this.stateMap.set(klass,{enabled:nextEnabled,changed:!0,touched:!0})}_applyStateDiff(){for(const stateEntry of this.stateMap){const klass=stateEntry[0],state2=stateEntry[1];state2.changed?(this._toggleClass(klass,state2.enabled),state2.changed=!1):state2.touched||(state2.enabled&&this._toggleClass(klass,!1),this.stateMap.delete(klass)),state2.touched=!1}}_toggleClass(klass,enabled){(klass=klass.trim()).length>0&&klass.split(WS_REGEXP).forEach(klass2=>{enabled?this._renderer.addClass(this._ngEl.nativeElement,klass2):this._renderer.removeClass(this._ngEl.nativeElement,klass2)})}}return(_class9=NgClass2).\u0275fac=function(t){return new(t||_class9)(\u0275\u0275directiveInject(IterableDiffers),\u0275\u0275directiveInject(KeyValueDiffers),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_Renderer2))},_class9.\u0275dir=\u0275\u0275defineDirective({type:_class9,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),NgClass2})();class NgForOfContext{constructor($implicit,ngForOf,index,count){this.$implicit=$implicit,this.ngForOf=ngForOf,this.index=index,this.count=count}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let NgForOf=(()=>{var _class112;class NgForOf2{set ngForOf(ngForOf){this._ngForOf=ngForOf,this._ngForOfDirty=!0}set ngForTrackBy(fn){this._trackByFn=fn}get ngForTrackBy(){return this._trackByFn}constructor(_viewContainer,_template,_differs){this._viewContainer=_viewContainer,this._template=_template,this._differs=_differs,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(value){value&&(this._template=value)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const value=this._ngForOf;!this._differ&&value&&(this._differ=this._differs.find(value).create(this.ngForTrackBy))}if(this._differ){const changes=this._differ.diff(this._ngForOf);changes&&this._applyChanges(changes)}}_applyChanges(changes){const viewContainer=this._viewContainer;changes.forEachOperation((item,adjustedPreviousIndex,currentIndex)=>{if(null==item.previousIndex)viewContainer.createEmbeddedView(this._template,new NgForOfContext(item.item,this._ngForOf,-1,-1),null===currentIndex?void 0:currentIndex);else if(null==currentIndex)viewContainer.remove(null===adjustedPreviousIndex?void 0:adjustedPreviousIndex);else if(null!==adjustedPreviousIndex){const view=viewContainer.get(adjustedPreviousIndex);viewContainer.move(view,currentIndex),applyViewChange(view,item)}});for(let i6=0,ilen=viewContainer.length;i6{applyViewChange(viewContainer.get(record2.currentIndex),record2)})}static ngTemplateContextGuard(dir,ctx){return!0}}return(_class112=NgForOf2).\u0275fac=function(t){return new(t||_class112)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(IterableDiffers))},_class112.\u0275dir=\u0275\u0275defineDirective({type:_class112,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),NgForOf2})();function applyViewChange(view,record2){view.context.$implicit=record2.item}let NgIf=(()=>{var _class12;class NgIf2{constructor(_viewContainer,templateRef){this._viewContainer=_viewContainer,this._context=new NgIfContext,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=templateRef}set ngIf(condition){this._context.$implicit=this._context.ngIf=condition,this._updateView()}set ngIfThen(templateRef){assertTemplate("ngIfThen",templateRef),this._thenTemplateRef=templateRef,this._thenViewRef=null,this._updateView()}set ngIfElse(templateRef){assertTemplate("ngIfElse",templateRef),this._elseTemplateRef=templateRef,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(dir,ctx){return!0}}return(_class12=NgIf2).\u0275fac=function(t){return new(t||_class12)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_TemplateRef))},_class12.\u0275dir=\u0275\u0275defineDirective({type:_class12,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),NgIf2})();class NgIfContext{constructor(){this.$implicit=null,this.ngIf=null}}function assertTemplate(property,templateRef){if(templateRef&&!templateRef.createEmbeddedView)throw new Error(`${property} must be a TemplateRef, but received '${stringify(templateRef)}'.`)}class SwitchView{constructor(_viewContainerRef,_templateRef){this._viewContainerRef=_viewContainerRef,this._templateRef=_templateRef,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(created){created&&!this._created?this.create():!created&&this._created&&this.destroy()}}let NgSwitch=(()=>{var _class13;class NgSwitch2{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(newValue){this._ngSwitch=newValue,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(view){this._defaultViews.push(view)}_matchCase(value){const matched=value==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||matched,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),matched}_updateDefaultCases(useDefault){if(this._defaultViews.length>0&&useDefault!==this._defaultUsed){this._defaultUsed=useDefault;for(const defaultView of this._defaultViews)defaultView.enforceState(useDefault)}}}return(_class13=NgSwitch2).\u0275fac=function(t){return new(t||_class13)},_class13.\u0275dir=\u0275\u0275defineDirective({type:_class13,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0}),NgSwitch2})(),NgSwitchCase=(()=>{var _class14;class NgSwitchCase2{constructor(viewContainer,templateRef,ngSwitch){this.ngSwitch=ngSwitch,ngSwitch._addCase(),this._view=new SwitchView(viewContainer,templateRef)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return(_class14=NgSwitchCase2).\u0275fac=function(t){return new(t||_class14)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(NgSwitch,9))},_class14.\u0275dir=\u0275\u0275defineDirective({type:_class14,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),NgSwitchCase2})(),NgSwitchDefault=(()=>{var _class15;class NgSwitchDefault2{constructor(viewContainer,templateRef,ngSwitch){ngSwitch._addDefault(new SwitchView(viewContainer,templateRef))}}return(_class15=NgSwitchDefault2).\u0275fac=function(t){return new(t||_class15)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(NgSwitch,9))},_class15.\u0275dir=\u0275\u0275defineDirective({type:_class15,selectors:[["","ngSwitchDefault",""]],standalone:!0}),NgSwitchDefault2})(),NgTemplateOutlet=(()=>{var _class19;class NgTemplateOutlet2{constructor(_viewContainerRef){this._viewContainerRef=_viewContainerRef,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(changes){if(changes.ngTemplateOutlet||changes.ngTemplateOutletInjector){const viewContainerRef=this._viewContainerRef;if(this._viewRef&&viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:template,ngTemplateOutletContext:context2,ngTemplateOutletInjector:injector}=this;this._viewRef=viewContainerRef.createEmbeddedView(template,context2,injector?{injector}:void 0)}else this._viewRef=null}else this._viewRef&&changes.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return(_class19=NgTemplateOutlet2).\u0275fac=function(t){return new(t||_class19)(\u0275\u0275directiveInject(ViewContainerRef))},_class19.\u0275dir=\u0275\u0275defineDirective({type:_class19,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[\u0275\u0275NgOnChangesFeature]}),NgTemplateOutlet2})();let SlicePipe=(()=>{var _class32;class SlicePipe2{transform(value,start2,end){if(null==value)return null;if(!this.supports(value))throw function invalidPipeArgumentError(type,value){return new RuntimeError(2100,!1)}();return value.slice(start2,end)}supports(obj){return"string"==typeof obj||Array.isArray(obj)}}return(_class32=SlicePipe2).\u0275fac=function(t){return new(t||_class32)},_class32.\u0275pipe=\u0275\u0275definePipe({name:"slice",type:_class32,pure:!1,standalone:!0}),SlicePipe2})(),common_CommonModule=(()=>{var _class33;class CommonModule2{}return(_class33=CommonModule2).\u0275fac=function(t){return new(t||_class33)},_class33.\u0275mod=\u0275\u0275defineNgModule({type:_class33}),_class33.\u0275inj=\u0275\u0275defineInjector({}),CommonModule2})();function common_isPlatformServer(platformId){return"server"===platformId}class XhrFactory{}class GenericBrowserDomAdapter extends DomAdapter{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class BrowserDomAdapter extends GenericBrowserDomAdapter{static makeCurrent(){!function setRootDomAdapter(adapter){_DOM||(_DOM=adapter)}(new BrowserDomAdapter)}onAndCancel(el,evt,listener){return el.addEventListener(evt,listener),()=>{el.removeEventListener(evt,listener)}}dispatchEvent(el,evt){el.dispatchEvent(evt)}remove(node2){node2.parentNode&&node2.parentNode.removeChild(node2)}createElement(tagName,doc){return(doc=doc||this.getDefaultDocument()).createElement(tagName)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(node2){return node2.nodeType===Node.ELEMENT_NODE}isShadowRoot(node2){return node2 instanceof DocumentFragment}getGlobalEventTarget(doc,target){return"window"===target?window:"document"===target?doc:"body"===target?doc.body:null}getBaseHref(doc){const href=function getBaseElementHref(){return baseElement=baseElement||document.querySelector("base"),baseElement?baseElement.getAttribute("href"):null}();return null==href?null:function relativePath(url){urlParsingNode=urlParsingNode||document.createElement("a"),urlParsingNode.setAttribute("href",url);const pathName=urlParsingNode.pathname;return"/"===pathName.charAt(0)?pathName:`/${pathName}`}(href)}resetBaseElement(){baseElement=null}getUserAgent(){return window.navigator.userAgent}getCookie(name){return parseCookieValue(document.cookie,name)}}let urlParsingNode,baseElement=null,BrowserXhr=(()=>{var _class2;class BrowserXhr2{build(){return new XMLHttpRequest}}return(_class2=BrowserXhr2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),BrowserXhr2})();const EVENT_MANAGER_PLUGINS=new InjectionToken("EventManagerPlugins");let EventManager=(()=>{var _class2;class EventManager2{constructor(plugins,_zone){this._zone=_zone,this._eventNameToPlugin=new Map,plugins.forEach(plugin=>{plugin.manager=this}),this._plugins=plugins.slice().reverse()}addEventListener(element,eventName,handler){return this._findPluginFor(eventName).addEventListener(element,eventName,handler)}getZone(){return this._zone}_findPluginFor(eventName){let plugin=this._eventNameToPlugin.get(eventName);if(plugin)return plugin;if(plugin=this._plugins.find(plugin2=>plugin2.supports(eventName)),!plugin)throw new RuntimeError(5101,!1);return this._eventNameToPlugin.set(eventName,plugin),plugin}}return(_class2=EventManager2).\u0275fac=function(t){return new(t||_class2)(core_inject(EVENT_MANAGER_PLUGINS),core_inject(core_NgZone))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),EventManager2})();class EventManagerPlugin{constructor(_doc){this._doc=_doc}}let SharedStylesHost=(()=>{var _class3;class SharedStylesHost2{constructor(doc,appId,nonce,platformId={}){this.doc=doc,this.appId=appId,this.nonce=nonce,this.platformId=platformId,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=common_isPlatformServer(platformId),this.resetHostNodes()}addStyles(styles){for(const style2 of styles)1===this.changeUsageCount(style2,1)&&this.onStyleAdded(style2)}removeStyles(styles){for(const style2 of styles)this.changeUsageCount(style2,-1)<=0&&this.onStyleRemoved(style2)}ngOnDestroy(){const styleNodesInDOM=this.styleNodesInDOM;styleNodesInDOM&&(styleNodesInDOM.forEach(node2=>node2.remove()),styleNodesInDOM.clear());for(const style2 of this.getAllStyles())this.onStyleRemoved(style2);this.resetHostNodes()}addHost(hostNode){this.hostNodes.add(hostNode);for(const style2 of this.getAllStyles())this.addStyleToHost(hostNode,style2)}removeHost(hostNode){this.hostNodes.delete(hostNode)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(style2){for(const host of this.hostNodes)this.addStyleToHost(host,style2)}onStyleRemoved(style2){const styleRef=this.styleRef;styleRef.get(style2)?.elements?.forEach(node2=>node2.remove()),styleRef.delete(style2)}collectServerRenderedStyles(){const styles=this.doc.head?.querySelectorAll(`style[ng-app-id="${this.appId}"]`);if(styles?.length){const styleMap=new Map;return styles.forEach(style2=>{null!=style2.textContent&&styleMap.set(style2.textContent,style2)}),styleMap}return null}changeUsageCount(style2,delta){const map2=this.styleRef;if(map2.has(style2)){const styleRefValue=map2.get(style2);return styleRefValue.usage+=delta,styleRefValue.usage}return map2.set(style2,{usage:delta,elements:[]}),delta}getStyleElement(host,style2){const styleNodesInDOM=this.styleNodesInDOM,styleEl=styleNodesInDOM?.get(style2);if(styleEl?.parentNode===host)return styleNodesInDOM.delete(style2),styleEl.removeAttribute("ng-app-id"),styleEl;{const styleEl2=this.doc.createElement("style");return this.nonce&&styleEl2.setAttribute("nonce",this.nonce),styleEl2.textContent=style2,this.platformIsServer&&styleEl2.setAttribute("ng-app-id",this.appId),styleEl2}}addStyleToHost(host,style2){const styleEl=this.getStyleElement(host,style2);host.appendChild(styleEl);const styleRef=this.styleRef,styleElRef=styleRef.get(style2)?.elements;styleElRef?styleElRef.push(styleEl):styleRef.set(style2,{elements:[styleEl],usage:1})}resetHostNodes(){const hostNodes=this.hostNodes;hostNodes.clear(),hostNodes.add(this.doc.head)}}return(_class3=SharedStylesHost2).\u0275fac=function(t){return new(t||_class3)(core_inject(common_DOCUMENT),core_inject(APP_ID),core_inject(CSP_NONCE,8),core_inject(core_PLATFORM_ID))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac}),SharedStylesHost2})();const NAMESPACE_URIS={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},COMPONENT_REGEX=/%COMP%/g,REMOVE_STYLES_ON_COMPONENT_DESTROY=new InjectionToken("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function shimStylesContent(compId,styles){return styles.map(s=>s.replace(COMPONENT_REGEX,compId))}let DomRendererFactory2=(()=>{var _class4;class DomRendererFactory22{constructor(eventManager,sharedStylesHost,appId,removeStylesOnCompDestroy,doc,platformId,ngZone,nonce=null){this.eventManager=eventManager,this.sharedStylesHost=sharedStylesHost,this.appId=appId,this.removeStylesOnCompDestroy=removeStylesOnCompDestroy,this.doc=doc,this.platformId=platformId,this.ngZone=ngZone,this.nonce=nonce,this.rendererByCompId=new Map,this.platformIsServer=common_isPlatformServer(platformId),this.defaultRenderer=new DefaultDomRenderer2(eventManager,doc,ngZone,this.platformIsServer)}createRenderer(element,type){if(!element||!type)return this.defaultRenderer;this.platformIsServer&&type.encapsulation===ViewEncapsulation$1.ShadowDom&&(type={...type,encapsulation:ViewEncapsulation$1.Emulated});const renderer=this.getOrCreateRenderer(element,type);return renderer instanceof EmulatedEncapsulationDomRenderer2?renderer.applyToHost(element):renderer instanceof NoneEncapsulationDomRenderer&&renderer.applyStyles(),renderer}getOrCreateRenderer(element,type){const rendererByCompId=this.rendererByCompId;let renderer=rendererByCompId.get(type.id);if(!renderer){const doc=this.doc,ngZone=this.ngZone,eventManager=this.eventManager,sharedStylesHost=this.sharedStylesHost,removeStylesOnCompDestroy=this.removeStylesOnCompDestroy,platformIsServer=this.platformIsServer;switch(type.encapsulation){case ViewEncapsulation$1.Emulated:renderer=new EmulatedEncapsulationDomRenderer2(eventManager,sharedStylesHost,type,this.appId,removeStylesOnCompDestroy,doc,ngZone,platformIsServer);break;case ViewEncapsulation$1.ShadowDom:return new ShadowDomRenderer(eventManager,sharedStylesHost,element,type,doc,ngZone,this.nonce,platformIsServer);default:renderer=new NoneEncapsulationDomRenderer(eventManager,sharedStylesHost,type,removeStylesOnCompDestroy,doc,ngZone,platformIsServer)}rendererByCompId.set(type.id,renderer)}return renderer}ngOnDestroy(){this.rendererByCompId.clear()}}return(_class4=DomRendererFactory22).\u0275fac=function(t){return new(t||_class4)(core_inject(EventManager),core_inject(SharedStylesHost),core_inject(APP_ID),core_inject(REMOVE_STYLES_ON_COMPONENT_DESTROY),core_inject(common_DOCUMENT),core_inject(core_PLATFORM_ID),core_inject(core_NgZone),core_inject(CSP_NONCE))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac}),DomRendererFactory22})();class DefaultDomRenderer2{constructor(eventManager,doc,ngZone,platformIsServer){this.eventManager=eventManager,this.doc=doc,this.ngZone=ngZone,this.platformIsServer=platformIsServer,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(name,namespace){return namespace?this.doc.createElementNS(NAMESPACE_URIS[namespace]||namespace,name):this.doc.createElement(name)}createComment(value){return this.doc.createComment(value)}createText(value){return this.doc.createTextNode(value)}appendChild(parent,newChild){(platform_browser_isTemplateNode(parent)?parent.content:parent).appendChild(newChild)}insertBefore(parent,newChild,refChild){parent&&(platform_browser_isTemplateNode(parent)?parent.content:parent).insertBefore(newChild,refChild)}removeChild(parent,oldChild){parent&&parent.removeChild(oldChild)}selectRootElement(selectorOrNode,preserveContent){let el="string"==typeof selectorOrNode?this.doc.querySelector(selectorOrNode):selectorOrNode;if(!el)throw new RuntimeError(-5104,!1);return preserveContent||(el.textContent=""),el}parentNode(node2){return node2.parentNode}nextSibling(node2){return node2.nextSibling}setAttribute(el,name,value,namespace){if(namespace){name=namespace+":"+name;const namespaceUri=NAMESPACE_URIS[namespace];namespaceUri?el.setAttributeNS(namespaceUri,name,value):el.setAttribute(name,value)}else el.setAttribute(name,value)}removeAttribute(el,name,namespace){if(namespace){const namespaceUri=NAMESPACE_URIS[namespace];namespaceUri?el.removeAttributeNS(namespaceUri,name):el.removeAttribute(`${namespace}:${name}`)}else el.removeAttribute(name)}addClass(el,name){el.classList.add(name)}removeClass(el,name){el.classList.remove(name)}setStyle(el,style2,value,flags){flags&(RendererStyleFlags2.DashCase|RendererStyleFlags2.Important)?el.style.setProperty(style2,value,flags&RendererStyleFlags2.Important?"important":""):el.style[style2]=value}removeStyle(el,style2,flags){flags&RendererStyleFlags2.DashCase?el.style.removeProperty(style2):el.style[style2]=""}setProperty(el,name,value){el[name]=value}setValue(node2,value){node2.nodeValue=value}listen(target,event,callback){if("string"==typeof target&&!(target=getDOM().getGlobalEventTarget(this.doc,target)))throw new Error(`Unsupported event target ${target} for event ${event}`);return this.eventManager.addEventListener(target,event,this.decoratePreventDefault(callback))}decoratePreventDefault(eventHandler){return event=>{if("__ngUnwrap__"===event)return eventHandler;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>eventHandler(event)):eventHandler(event))&&event.preventDefault()}}}function platform_browser_isTemplateNode(node2){return"TEMPLATE"===node2.tagName&&void 0!==node2.content}class ShadowDomRenderer extends DefaultDomRenderer2{constructor(eventManager,sharedStylesHost,hostEl,component,doc,ngZone,nonce,platformIsServer){super(eventManager,doc,ngZone,platformIsServer),this.sharedStylesHost=sharedStylesHost,this.hostEl=hostEl,this.shadowRoot=hostEl.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const styles=shimStylesContent(component.id,component.styles);for(const style2 of styles){const styleEl=document.createElement("style");nonce&&styleEl.setAttribute("nonce",nonce),styleEl.textContent=style2,this.shadowRoot.appendChild(styleEl)}}nodeOrShadowRoot(node2){return node2===this.hostEl?this.shadowRoot:node2}appendChild(parent,newChild){return super.appendChild(this.nodeOrShadowRoot(parent),newChild)}insertBefore(parent,newChild,refChild){return super.insertBefore(this.nodeOrShadowRoot(parent),newChild,refChild)}removeChild(parent,oldChild){return super.removeChild(this.nodeOrShadowRoot(parent),oldChild)}parentNode(node2){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node2)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class NoneEncapsulationDomRenderer extends DefaultDomRenderer2{constructor(eventManager,sharedStylesHost,component,removeStylesOnCompDestroy,doc,ngZone,platformIsServer,compId){super(eventManager,doc,ngZone,platformIsServer),this.sharedStylesHost=sharedStylesHost,this.removeStylesOnCompDestroy=removeStylesOnCompDestroy,this.styles=compId?shimStylesContent(compId,component.styles):component.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer{constructor(eventManager,sharedStylesHost,component,appId,removeStylesOnCompDestroy,doc,ngZone,platformIsServer){const compId=appId+"-"+component.id;super(eventManager,sharedStylesHost,component,removeStylesOnCompDestroy,doc,ngZone,platformIsServer,compId),this.contentAttr=function shimContentAttribute(componentShortId){return"_ngcontent-%COMP%".replace(COMPONENT_REGEX,componentShortId)}(compId),this.hostAttr=function shimHostAttribute(componentShortId){return"_nghost-%COMP%".replace(COMPONENT_REGEX,componentShortId)}(compId)}applyToHost(element){this.applyStyles(),this.setAttribute(element,this.hostAttr,"")}createElement(parent,name){const el=super.createElement(parent,name);return super.setAttribute(el,this.contentAttr,""),el}}let DomEventsPlugin=(()=>{var _class5;class DomEventsPlugin2 extends EventManagerPlugin{constructor(doc){super(doc)}supports(eventName){return!0}addEventListener(element,eventName,handler){return element.addEventListener(eventName,handler,!1),()=>this.removeEventListener(element,eventName,handler)}removeEventListener(target,eventName,callback){return target.removeEventListener(eventName,callback)}}return(_class5=DomEventsPlugin2).\u0275fac=function(t){return new(t||_class5)(core_inject(common_DOCUMENT))},_class5.\u0275prov=core_defineInjectable({token:_class5,factory:_class5.\u0275fac}),DomEventsPlugin2})();const MODIFIER_KEYS=["alt","control","meta","shift"],_keyMap={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},MODIFIER_KEY_GETTERS={alt:event=>event.altKey,control:event=>event.ctrlKey,meta:event=>event.metaKey,shift:event=>event.shiftKey};let KeyEventsPlugin=(()=>{var _class6;class KeyEventsPlugin2 extends EventManagerPlugin{constructor(doc){super(doc)}supports(eventName){return null!=KeyEventsPlugin2.parseEventName(eventName)}addEventListener(element,eventName,handler){const parsedEvent=KeyEventsPlugin2.parseEventName(eventName),outsideHandler=KeyEventsPlugin2.eventCallback(parsedEvent.fullKey,handler,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>getDOM().onAndCancel(element,parsedEvent.domEventName,outsideHandler))}static parseEventName(eventName){const parts=eventName.toLowerCase().split("."),domEventName=parts.shift();if(0===parts.length||"keydown"!==domEventName&&"keyup"!==domEventName)return null;const key=KeyEventsPlugin2._normalizeKey(parts.pop());let fullKey="",codeIX=parts.indexOf("code");if(codeIX>-1&&(parts.splice(codeIX,1),fullKey="code."),MODIFIER_KEYS.forEach(modifierName=>{const index=parts.indexOf(modifierName);index>-1&&(parts.splice(index,1),fullKey+=modifierName+".")}),fullKey+=key,0!=parts.length||0===key.length)return null;const result={};return result.domEventName=domEventName,result.fullKey=fullKey,result}static matchEventFullKeyCode(event,fullKeyCode){let keycode=_keyMap[event.key]||event.key,key="";return fullKeyCode.indexOf("code.")>-1&&(keycode=event.code,key="code."),!(null==keycode||!keycode)&&(keycode=keycode.toLowerCase()," "===keycode?keycode="space":"."===keycode&&(keycode="dot"),MODIFIER_KEYS.forEach(modifierName=>{modifierName!==keycode&&(0,MODIFIER_KEY_GETTERS[modifierName])(event)&&(key+=modifierName+".")}),key+=keycode,key===fullKeyCode)}static eventCallback(fullKey,handler,zone){return event=>{KeyEventsPlugin2.matchEventFullKeyCode(event,fullKey)&&zone.runGuarded(()=>handler(event))}}static _normalizeKey(keyName){return"esc"===keyName?"escape":keyName}}return(_class6=KeyEventsPlugin2).\u0275fac=function(t){return new(t||_class6)(core_inject(common_DOCUMENT))},_class6.\u0275prov=core_defineInjectable({token:_class6,factory:_class6.\u0275fac}),KeyEventsPlugin2})();const platformBrowser=createPlatformFactory(platformCore,"browser",[{provide:core_PLATFORM_ID,useValue:"browser"},{provide:PLATFORM_INITIALIZER,useValue:function initDomAdapter(){BrowserDomAdapter.makeCurrent()},multi:!0},{provide:common_DOCUMENT,useFactory:function _document(){return function setDocument(document2){core_DOCUMENT=document2}(document),document},deps:[]}]),BROWSER_MODULE_PROVIDERS_MARKER=new InjectionToken(""),TESTABILITY_PROVIDERS=[{provide:TESTABILITY_GETTER,useClass:class BrowserGetTestability{addToWindow(registry){_global.getAngularTestability=(elem,findInAncestors=!0)=>{const testability=registry.findTestabilityInTree(elem,findInAncestors);if(null==testability)throw new RuntimeError(5103,!1);return testability},_global.getAllAngularTestabilities=()=>registry.getAllTestabilities(),_global.getAllAngularRootElements=()=>registry.getAllRootElements(),_global.frameworkStabilizers||(_global.frameworkStabilizers=[]),_global.frameworkStabilizers.push(callback=>{const testabilities=_global.getAllAngularTestabilities();let count=testabilities.length,didWork=!1;const decrement=function(didWork_){didWork=didWork||didWork_,count--,0==count&&callback(didWork)};testabilities.forEach(testability=>{testability.whenStable(decrement)})})}findTestabilityInTree(registry,elem,findInAncestors){return null==elem?null:registry.getTestability(elem)??(findInAncestors?getDOM().isShadowRoot(elem)?this.findTestabilityInTree(registry,elem.host,!0):this.findTestabilityInTree(registry,elem.parentElement,!0):null)}},deps:[]},{provide:TESTABILITY,useClass:Testability,deps:[core_NgZone,TestabilityRegistry,TESTABILITY_GETTER]},{provide:Testability,useClass:Testability,deps:[core_NgZone,TestabilityRegistry,TESTABILITY_GETTER]}],BROWSER_MODULE_PROVIDERS=[{provide:INJECTOR_SCOPE,useValue:"root"},{provide:ErrorHandler,useFactory:function errorHandler(){return new ErrorHandler},deps:[]},{provide:EVENT_MANAGER_PLUGINS,useClass:DomEventsPlugin,multi:!0,deps:[common_DOCUMENT,core_NgZone,core_PLATFORM_ID]},{provide:EVENT_MANAGER_PLUGINS,useClass:KeyEventsPlugin,multi:!0,deps:[common_DOCUMENT]},DomRendererFactory2,SharedStylesHost,EventManager,{provide:RendererFactory2,useExisting:DomRendererFactory2},{provide:XhrFactory,useClass:BrowserXhr,deps:[]},[]];let platform_browser_BrowserModule=(()=>{var _class7;class BrowserModule2{constructor(providersAlreadyPresent){}static withServerTransition(params){return{ngModule:BrowserModule2,providers:[{provide:APP_ID,useValue:params.appId}]}}}return(_class7=BrowserModule2).\u0275fac=function(t){return new(t||_class7)(core_inject(BROWSER_MODULE_PROVIDERS_MARKER,12))},_class7.\u0275mod=\u0275\u0275defineNgModule({type:_class7}),_class7.\u0275inj=\u0275\u0275defineInjector({providers:[...BROWSER_MODULE_PROVIDERS,...TESTABILITY_PROVIDERS],imports:[common_CommonModule,ApplicationModule]}),BrowserModule2})();typeof window<"u"&&window;let DomSanitizer=(()=>{var _class13;class DomSanitizer2{}return(_class13=DomSanitizer2).\u0275fac=function(t){return new(t||_class13)},_class13.\u0275prov=core_defineInjectable({token:_class13,factory:function(t){let r2=null;return r2=t?new(t||_class13):core_inject(DomSanitizerImpl),r2},providedIn:"root"}),DomSanitizer2})(),DomSanitizerImpl=(()=>{var _class14;class DomSanitizerImpl2 extends DomSanitizer{constructor(_doc){super(),this._doc=_doc}sanitize(ctx,value){if(null==value)return null;switch(ctx){case SecurityContext.NONE:return value;case SecurityContext.HTML:return allowSanitizationBypassAndThrow(value,"HTML")?unwrapSafeValue(value):_sanitizeHtml(this._doc,String(value)).toString();case SecurityContext.STYLE:return allowSanitizationBypassAndThrow(value,"Style")?unwrapSafeValue(value):value;case SecurityContext.SCRIPT:if(allowSanitizationBypassAndThrow(value,"Script"))return unwrapSafeValue(value);throw new RuntimeError(5200,!1);case SecurityContext.URL:return allowSanitizationBypassAndThrow(value,"URL")?unwrapSafeValue(value):_sanitizeUrl(String(value));case SecurityContext.RESOURCE_URL:if(allowSanitizationBypassAndThrow(value,"ResourceURL"))return unwrapSafeValue(value);throw new RuntimeError(5201,!1);default:throw new RuntimeError(5202,!1)}}bypassSecurityTrustHtml(value){return function bypassSanitizationTrustHtml(trustedHtml){return new SafeHtmlImpl(trustedHtml)}(value)}bypassSecurityTrustStyle(value){return function bypassSanitizationTrustStyle(trustedStyle){return new SafeStyleImpl(trustedStyle)}(value)}bypassSecurityTrustScript(value){return function bypassSanitizationTrustScript(trustedScript){return new SafeScriptImpl(trustedScript)}(value)}bypassSecurityTrustUrl(value){return function bypassSanitizationTrustUrl(trustedUrl){return new SafeUrlImpl(trustedUrl)}(value)}bypassSecurityTrustResourceUrl(value){return function bypassSanitizationTrustResourceUrl(trustedResourceUrl){return new SafeResourceUrlImpl(trustedResourceUrl)}(value)}}return(_class14=DomSanitizerImpl2).\u0275fac=function(t){return new(t||_class14)(core_inject(common_DOCUMENT))},_class14.\u0275prov=core_defineInjectable({token:_class14,factory:function(t){let r2=null;return r2=t?new t:function domSanitizerImplFactory(injector){return new DomSanitizerImpl(injector.get(common_DOCUMENT))}(core_inject(core_Injector)),r2},providedIn:"root"}),DomSanitizerImpl2})();const objectToString=Object.prototype.toString;function isError(wat){switch(objectToString.call(wat)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return isInstanceOf(wat,Error)}}function isBuiltin(wat,className){return objectToString.call(wat)===`[object ${className}]`}function isErrorEvent(wat){return isBuiltin(wat,"ErrorEvent")}function isDOMError(wat){return isBuiltin(wat,"DOMError")}function isString(wat){return isBuiltin(wat,"String")}function is_isPrimitive(wat){return null===wat||"object"!=typeof wat&&"function"!=typeof wat}function isPlainObject(wat){return isBuiltin(wat,"Object")}function isEvent(wat){return typeof Event<"u"&&isInstanceOf(wat,Event)}function isThenable(wat){return!(!wat||!wat.then||"function"!=typeof wat.then)}function is_isNaN(wat){return"number"==typeof wat&&wat!=wat}function isInstanceOf(wat,base){try{return wat instanceof base}catch{return!1}}var worldwide=__webpack_require__(3054);const browser_WINDOW=(0,worldwide.Rf)(),DEFAULT_MAX_STRING_LENGTH=80;function htmlTreeAsString(elem,options={}){try{let currentElem=elem;const MAX_TRAVERSE_HEIGHT=5,out=[];let height=0,len=0;const separator=" > ",sepLength=separator.length;let nextStr;const keyAttrs=Array.isArray(options)?options:options.keyAttrs,maxStringLength=!Array.isArray(options)&&options.maxStringLength||DEFAULT_MAX_STRING_LENGTH;for(;currentElem&&height++1&&len+out.length*sepLength+nextStr.length>=maxStringLength));)out.push(nextStr),len+=nextStr.length,currentElem=currentElem.parentNode;return out.reverse().join(separator)}catch{return""}}function _htmlElementAsString(el,keyAttrs){const elem=el,out=[];let className,classes,key,attr,i6;if(!elem||!elem.tagName)return"";out.push(elem.tagName.toLowerCase());const keyAttrPairs=keyAttrs&&keyAttrs.length?keyAttrs.filter(keyAttr=>elem.getAttribute(keyAttr)).map(keyAttr=>[keyAttr,elem.getAttribute(keyAttr)]):null;if(keyAttrPairs&&keyAttrPairs.length)keyAttrPairs.forEach(keyAttrPair=>{out.push(`[${keyAttrPair[0]}="${keyAttrPair[1]}"]`)});else if(elem.id&&out.push(`#${elem.id}`),className=elem.className,className&&isString(className))for(classes=className.split(/\s+/),i6=0;i6function isMatchingPattern(value,pattern,requireExactStringMatch=!1){return!!isString(value)&&(function isRegExp(wat){return isBuiltin(wat,"RegExp")}(pattern)?pattern.test(value):!!isString(pattern)&&(requireExactStringMatch?value===pattern:value.includes(pattern)))}(testString,pattern,requireExactStringMatch))}function fill(source,name,replacementFactory){if(!(name in source))return;const original=source[name],wrapped=replacementFactory(original);if("function"==typeof wrapped)try{markFunctionWrapped(wrapped,original)}catch{}source[name]=wrapped}function addNonEnumerableProperty(obj,name,value){Object.defineProperty(obj,name,{value,writable:!0,configurable:!0})}function markFunctionWrapped(wrapped,original){wrapped.prototype=original.prototype=original.prototype||{},addNonEnumerableProperty(wrapped,"__sentry_original__",original)}function getOriginalFunction(func){return func.__sentry_original__}function convertToPlainObject(value){if(isError(value))return{message:value.message,name:value.name,stack:value.stack,...getOwnProperties(value)};if(isEvent(value)){const newObj={type:value.type,target:serializeEventTarget(value.target),currentTarget:serializeEventTarget(value.currentTarget),...getOwnProperties(value)};return typeof CustomEvent<"u"&&isInstanceOf(value,CustomEvent)&&(newObj.detail=value.detail),newObj}return value}function serializeEventTarget(target){try{return function isElement(wat){return typeof Element<"u"&&isInstanceOf(wat,Element)}(target)?htmlTreeAsString(target):Object.prototype.toString.call(target)}catch{return""}}function getOwnProperties(obj){if("object"==typeof obj&&null!==obj){const extractedProps={};for(const property in obj)Object.prototype.hasOwnProperty.call(obj,property)&&(extractedProps[property]=obj[property]);return extractedProps}return{}}function dropUndefinedKeys(inputValue){return _dropUndefinedKeys(inputValue,new Map)}function _dropUndefinedKeys(inputValue,memoizationMap){if(isPlainObject(inputValue)){const memoVal=memoizationMap.get(inputValue);if(void 0!==memoVal)return memoVal;const returnValue={};memoizationMap.set(inputValue,returnValue);for(const key of Object.keys(inputValue))typeof inputValue[key]<"u"&&(returnValue[key]=_dropUndefinedKeys(inputValue[key],memoizationMap));return returnValue}if(Array.isArray(inputValue)){const memoVal=memoizationMap.get(inputValue);if(void 0!==memoVal)return memoVal;const returnValue=[];return memoizationMap.set(inputValue,returnValue),inputValue.forEach(item=>{returnValue.push(_dropUndefinedKeys(item,memoizationMap))}),returnValue}return inputValue}function misc_uuid4(){const gbl=worldwide.n2,crypto=gbl.crypto||gbl.msCrypto;if(crypto&&crypto.randomUUID)return crypto.randomUUID().replace(/-/g,"");const getRandomByte=crypto&&crypto.getRandomValues?()=>crypto.getRandomValues(new Uint8Array(1))[0]:()=>16*Math.random();return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,c=>(c^(15&getRandomByte())>>c/4).toString(16))}function getFirstException(event){return event.exception&&event.exception.values?event.exception.values[0]:void 0}function getEventDescription(event){const{message,event_id:eventId}=event;if(message)return message;const firstException=getFirstException(event);return firstException?firstException.type&&firstException.value?`${firstException.type}: ${firstException.value}`:firstException.type||firstException.value||eventId||"":eventId||""}function addExceptionTypeValue(event,value,type){const exception=event.exception=event.exception||{},values=exception.values=exception.values||[],firstException=values[0]=values[0]||{};firstException.value||(firstException.value=value||""),firstException.type||(firstException.type=type||"Error")}function addExceptionMechanism(event,newMechanism){const firstException=getFirstException(event);if(!firstException)return;const currentMechanism=firstException.mechanism;if(firstException.mechanism={type:"generic",handled:!0,...currentMechanism,...newMechanism},newMechanism&&"data"in newMechanism){const mergedData={...currentMechanism&¤tMechanism.data,...newMechanism.data};firstException.mechanism.data=mergedData}}function checkOrSetAlreadyCaught(exception){if(exception&&exception.__sentry_captured__)return!0;try{addNonEnumerableProperty(exception,"__sentry_captured__",!0)}catch{}return!1}function arrayify(maybeArray){return Array.isArray(maybeArray)?maybeArray:[maybeArray]}var esm_time=__webpack_require__(7245);const CONSOLE_LEVELS=["debug","info","warn","error","log","assert","trace"];function consoleSandbox(callback){if(!("console"in worldwide.n2))return callback();const originalConsole=worldwide.n2.console,wrappedLevels={};CONSOLE_LEVELS.forEach(level=>{const originalWrappedFunc=originalConsole[level]&&originalConsole[level].__sentry_original__;level in originalConsole&&originalWrappedFunc&&(wrappedLevels[level]=originalConsole[level],originalConsole[level]=originalWrappedFunc)});try{return callback()}finally{Object.keys(wrappedLevels).forEach(level=>{originalConsole[level]=wrappedLevels[level]})}}function makeLogger(){let enabled=!1;const logger2={enable:()=>{enabled=!0},disable:()=>{enabled=!1}};return typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?CONSOLE_LEVELS.forEach(name=>{logger2[name]=(...args)=>{enabled&&consoleSandbox(()=>{worldwide.n2.console[name](`Sentry Logger [${name}]:`,...args)})}}):CONSOLE_LEVELS.forEach(name=>{logger2[name]=()=>{}}),logger2}let logger_logger;logger_logger=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?(0,worldwide.YO)("logger",makeLogger):makeLogger();const DEFAULT_ENVIRONMENT="production";var States,States2;function resolvedSyncPromise(value){return new SyncPromise(resolve=>{resolve(value)})}function rejectedSyncPromise(reason){return new SyncPromise((_,reject)=>{reject(reason)})}(States2=States||(States={}))[States2.PENDING=0]="PENDING",States2[States2.RESOLVED=1]="RESOLVED",States2[States2.REJECTED=2]="REJECTED";class SyncPromise{constructor(executor){SyncPromise.prototype.__init.call(this),SyncPromise.prototype.__init2.call(this),SyncPromise.prototype.__init3.call(this),SyncPromise.prototype.__init4.call(this),this._state=States.PENDING,this._handlers=[];try{executor(this._resolve,this._reject)}catch(e2){this._reject(e2)}}then(onfulfilled,onrejected){return new SyncPromise((resolve,reject)=>{this._handlers.push([!1,result=>{if(onfulfilled)try{resolve(onfulfilled(result))}catch(e2){reject(e2)}else resolve(result)},reason=>{if(onrejected)try{resolve(onrejected(reason))}catch(e2){reject(e2)}else reject(reason)}]),this._executeHandlers()})}catch(onrejected){return this.then(val=>val,onrejected)}finally(onfinally){return new SyncPromise((resolve,reject)=>{let val,isRejected;return this.then(value=>{isRejected=!1,val=value,onfinally&&onfinally()},reason=>{isRejected=!0,val=reason,onfinally&&onfinally()}).then(()=>{isRejected?reject(val):resolve(val)})})}__init(){this._resolve=value=>{this._setResult(States.RESOLVED,value)}}__init2(){this._reject=reason=>{this._setResult(States.REJECTED,reason)}}__init3(){this._setResult=(state2,value)=>{if(this._state===States.PENDING){if(isThenable(value))return void value.then(this._resolve,this._reject);this._state=state2,this._value=value,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===States.PENDING)return;const cachedHandlers=this._handlers.slice();this._handlers=[],cachedHandlers.forEach(handler=>{handler[0]||(this._state===States.RESOLVED&&handler[1](this._value),this._state===States.REJECTED&&handler[2](this._value),handler[0]=!0)})}}}function updateSession(session,context2={}){if(context2.user&&(!session.ipAddress&&context2.user.ip_address&&(session.ipAddress=context2.user.ip_address),!session.did&&!context2.did&&(session.did=context2.user.id||context2.user.email||context2.user.username)),session.timestamp=context2.timestamp||(0,esm_time.ph)(),context2.ignoreDuration&&(session.ignoreDuration=context2.ignoreDuration),context2.sid&&(session.sid=32===context2.sid.length?context2.sid:misc_uuid4()),void 0!==context2.init&&(session.init=context2.init),!session.did&&context2.did&&(session.did=`${context2.did}`),"number"==typeof context2.started&&(session.started=context2.started),session.ignoreDuration)session.duration=void 0;else if("number"==typeof context2.duration)session.duration=context2.duration;else{const duration=session.timestamp-session.started;session.duration=duration>=0?duration:0}context2.release&&(session.release=context2.release),context2.environment&&(session.environment=context2.environment),!session.ipAddress&&context2.ipAddress&&(session.ipAddress=context2.ipAddress),!session.userAgent&&context2.userAgent&&(session.userAgent=context2.userAgent),"number"==typeof context2.errors&&(session.errors=context2.errors),context2.status&&(session.status=context2.status)}class scope_Scope{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=generatePropagationContext()}static clone(scope){const newScope=new scope_Scope;return scope&&(newScope._breadcrumbs=[...scope._breadcrumbs],newScope._tags={...scope._tags},newScope._extra={...scope._extra},newScope._contexts={...scope._contexts},newScope._user=scope._user,newScope._level=scope._level,newScope._span=scope._span,newScope._session=scope._session,newScope._transactionName=scope._transactionName,newScope._fingerprint=scope._fingerprint,newScope._eventProcessors=[...scope._eventProcessors],newScope._requestSession=scope._requestSession,newScope._attachments=[...scope._attachments],newScope._sdkProcessingMetadata={...scope._sdkProcessingMetadata},newScope._propagationContext={...scope._propagationContext}),newScope}addScopeListener(callback){this._scopeListeners.push(callback)}addEventProcessor(callback){return this._eventProcessors.push(callback),this}setUser(user2){return this._user=user2||{},this._session&&updateSession(this._session,{user:user2}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(requestSession){return this._requestSession=requestSession,this}setTags(tags){return this._tags={...this._tags,...tags},this._notifyScopeListeners(),this}setTag(key,value){return this._tags={...this._tags,[key]:value},this._notifyScopeListeners(),this}setExtras(extras){return this._extra={...this._extra,...extras},this._notifyScopeListeners(),this}setExtra(key,extra){return this._extra={...this._extra,[key]:extra},this._notifyScopeListeners(),this}setFingerprint(fingerprint){return this._fingerprint=fingerprint,this._notifyScopeListeners(),this}setLevel(level){return this._level=level,this._notifyScopeListeners(),this}setTransactionName(name){return this._transactionName=name,this._notifyScopeListeners(),this}setContext(key,context2){return null===context2?delete this._contexts[key]:this._contexts[key]=context2,this._notifyScopeListeners(),this}setSpan(span){return this._span=span,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){const span=this.getSpan();return span&&span.transaction}setSession(session){return session?this._session=session:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(captureContext){if(!captureContext)return this;if("function"==typeof captureContext){const updatedScope=captureContext(this);return updatedScope instanceof scope_Scope?updatedScope:this}return captureContext instanceof scope_Scope?(this._tags={...this._tags,...captureContext._tags},this._extra={...this._extra,...captureContext._extra},this._contexts={...this._contexts,...captureContext._contexts},captureContext._user&&Object.keys(captureContext._user).length&&(this._user=captureContext._user),captureContext._level&&(this._level=captureContext._level),captureContext._fingerprint&&(this._fingerprint=captureContext._fingerprint),captureContext._requestSession&&(this._requestSession=captureContext._requestSession),captureContext._propagationContext&&(this._propagationContext=captureContext._propagationContext)):isPlainObject(captureContext)&&(this._tags={...this._tags,...captureContext.tags},this._extra={...this._extra,...captureContext.extra},this._contexts={...this._contexts,...captureContext.contexts},captureContext.user&&(this._user=captureContext.user),captureContext.level&&(this._level=captureContext.level),captureContext.fingerprint&&(this._fingerprint=captureContext.fingerprint),captureContext.requestSession&&(this._requestSession=captureContext.requestSession),captureContext.propagationContext&&(this._propagationContext=captureContext.propagationContext)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=generatePropagationContext(),this}addBreadcrumb(breadcrumb,maxBreadcrumbs){const maxCrumbs="number"==typeof maxBreadcrumbs?maxBreadcrumbs:100;if(maxCrumbs<=0)return this;const mergedBreadcrumb={timestamp:(0,esm_time.yW)(),...breadcrumb};return this._breadcrumbs=[...this._breadcrumbs,mergedBreadcrumb].slice(-maxCrumbs),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(attachment){return this._attachments.push(attachment),this}getAttachments(){return this._attachments}clearAttachments(){return this._attachments=[],this}applyToEvent(event,hint={}){if(this._extra&&Object.keys(this._extra).length&&(event.extra={...this._extra,...event.extra}),this._tags&&Object.keys(this._tags).length&&(event.tags={...this._tags,...event.tags}),this._user&&Object.keys(this._user).length&&(event.user={...this._user,...event.user}),this._contexts&&Object.keys(this._contexts).length&&(event.contexts={...this._contexts,...event.contexts}),this._level&&(event.level=this._level),this._transactionName&&(event.transaction=this._transactionName),this._span){event.contexts={trace:this._span.getTraceContext(),...event.contexts};const transaction=this._span.transaction;if(transaction){event.sdkProcessingMetadata={dynamicSamplingContext:transaction.getDynamicSamplingContext(),...event.sdkProcessingMetadata};const transactionName=transaction.name;transactionName&&(event.tags={transaction:transactionName,...event.tags})}}return this._applyFingerprint(event),event.breadcrumbs=[...event.breadcrumbs||[],...this._breadcrumbs],event.breadcrumbs=event.breadcrumbs.length>0?event.breadcrumbs:void 0,event.sdkProcessingMetadata={...event.sdkProcessingMetadata,...this._sdkProcessingMetadata,propagationContext:this._propagationContext},this._notifyEventProcessors([...getGlobalEventProcessors(),...this._eventProcessors],event,hint)}setSDKProcessingMetadata(newData){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...newData},this}setPropagationContext(context2){return this._propagationContext=context2,this}getPropagationContext(){return this._propagationContext}_notifyEventProcessors(processors,event,hint,index=0){return new SyncPromise((resolve,reject)=>{const processor=processors[index];if(null===event||"function"!=typeof processor)resolve(event);else{const result=processor({...event},hint);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&processor.id&&null===result&&logger_logger.log(`Event processor "${processor.id}" dropped event`),isThenable(result)?result.then(final=>this._notifyEventProcessors(processors,final,hint,index+1).then(resolve)).then(null,reject):this._notifyEventProcessors(processors,result,hint,index+1).then(resolve).then(null,reject)}})}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(callback=>{callback(this)}),this._notifyingListeners=!1)}_applyFingerprint(event){event.fingerprint=event.fingerprint?arrayify(event.fingerprint):[],this._fingerprint&&(event.fingerprint=event.fingerprint.concat(this._fingerprint)),event.fingerprint&&!event.fingerprint.length&&delete event.fingerprint}}function getGlobalEventProcessors(){return(0,worldwide.YO)("globalEventProcessors",()=>[])}function addGlobalEventProcessor(callback){getGlobalEventProcessors().push(callback)}function generatePropagationContext(){return{traceId:misc_uuid4(),spanId:misc_uuid4().substring(16),sampled:!1}}const API_VERSION=4,DEFAULT_BREADCRUMBS=100;class Hub{constructor(client,scope=new scope_Scope,_version=API_VERSION){this._version=_version,this._stack=[{scope}],client&&this.bindClient(client)}isOlderThan(version2){return this._version{client.captureException(exception,{originalException:exception,syntheticException,...hint,event_id:eventId},scope)}),eventId}captureMessage(message,level,hint){const eventId=this._lastEventId=hint&&hint.event_id?hint.event_id:misc_uuid4(),syntheticException=new Error(message);return this._withClient((client,scope)=>{client.captureMessage(message,level,{originalException:message,syntheticException,...hint,event_id:eventId},scope)}),eventId}captureEvent(event,hint){const eventId=hint&&hint.event_id?hint.event_id:misc_uuid4();return event.type||(this._lastEventId=eventId),this._withClient((client,scope)=>{client.captureEvent(event,{...hint,event_id:eventId},scope)}),eventId}lastEventId(){return this._lastEventId}addBreadcrumb(breadcrumb,hint){const{scope,client}=this.getStackTop();if(!client)return;const{beforeBreadcrumb=null,maxBreadcrumbs=DEFAULT_BREADCRUMBS}=client.getOptions&&client.getOptions()||{};if(maxBreadcrumbs<=0)return;const mergedBreadcrumb={timestamp:(0,esm_time.yW)(),...breadcrumb},finalBreadcrumb=beforeBreadcrumb?consoleSandbox(()=>beforeBreadcrumb(mergedBreadcrumb,hint)):mergedBreadcrumb;null!==finalBreadcrumb&&(client.emit&&client.emit("beforeAddBreadcrumb",finalBreadcrumb,hint),scope.addBreadcrumb(finalBreadcrumb,maxBreadcrumbs))}setUser(user2){this.getScope().setUser(user2)}setTags(tags){this.getScope().setTags(tags)}setExtras(extras){this.getScope().setExtras(extras)}setTag(key,value){this.getScope().setTag(key,value)}setExtra(key,extra){this.getScope().setExtra(key,extra)}setContext(name,context2){this.getScope().setContext(name,context2)}configureScope(callback){const{scope,client}=this.getStackTop();client&&callback(scope)}run(callback){const oldHub=makeMain(this);try{callback(this)}finally{makeMain(oldHub)}}getIntegration(integration){const client=this.getClient();if(!client)return null;try{return client.getIntegration(integration)}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`),null}}startTransaction(context2,customSamplingContext){const result=this._callExtensionMethod("startTransaction",context2,customSamplingContext);return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&!result&&console.warn("Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n"),result}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(endSession=!1){if(endSession)return this.endSession();this._sendSessionUpdate()}endSession(){const scope=this.getStackTop().scope,session=scope.getSession();session&&function closeSession(session,status){let context2={};status?context2={status}:"ok"===session.status&&(context2={status:"exited"}),updateSession(session,context2)}(session),this._sendSessionUpdate(),scope.setSession()}startSession(context2){const{scope,client}=this.getStackTop(),{release,environment:environment2=DEFAULT_ENVIRONMENT}=client&&client.getOptions()||{},{userAgent}=worldwide.n2.navigator||{},session=function makeSession(context2){const startingTime=(0,esm_time.ph)(),session={sid:misc_uuid4(),init:!0,timestamp:startingTime,started:startingTime,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>function sessionToJSON(session){return dropUndefinedKeys({sid:`${session.sid}`,init:session.init,started:new Date(1e3*session.started).toISOString(),timestamp:new Date(1e3*session.timestamp).toISOString(),status:session.status,errors:session.errors,did:"number"==typeof session.did||"string"==typeof session.did?`${session.did}`:void 0,duration:session.duration,attrs:{release:session.release,environment:session.environment,ip_address:session.ipAddress,user_agent:session.userAgent}})}(session)};return context2&&updateSession(session,context2),session}({release,environment:environment2,user:scope.getUser(),...userAgent&&{userAgent},...context2}),currentSession=scope.getSession&&scope.getSession();return currentSession&&"ok"===currentSession.status&&updateSession(currentSession,{status:"exited"}),this.endSession(),scope.setSession(session),session}shouldSendDefaultPii(){const client=this.getClient(),options=client&&client.getOptions();return!(!options||!options.sendDefaultPii)}_sendSessionUpdate(){const{scope,client}=this.getStackTop(),session=scope.getSession();session&&client&&client.captureSession&&client.captureSession(session)}_withClient(callback){const{scope,client}=this.getStackTop();client&&callback(client,scope)}_callExtensionMethod(method,...args){const sentry=getMainCarrier().__SENTRY__;if(sentry&&sentry.extensions&&"function"==typeof sentry.extensions[method])return sentry.extensions[method].apply(this,args);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Extension method ${method} couldn't be found, doing nothing.`)}}function getMainCarrier(){return worldwide.n2.__SENTRY__=worldwide.n2.__SENTRY__||{extensions:{},hub:void 0},worldwide.n2}function makeMain(hub){const registry=getMainCarrier(),oldHub=getHubFromCarrier(registry);return setHubOnCarrier(registry,hub),oldHub}function hub_getCurrentHub(){const registry=getMainCarrier();if(registry.__SENTRY__&®istry.__SENTRY__.acs){const hub=registry.__SENTRY__.acs.getCurrentHub();if(hub)return hub}return function getGlobalHub(registry=getMainCarrier()){return(!function hasHubOnCarrier(carrier){return!!(carrier&&carrier.__SENTRY__&&carrier.__SENTRY__.hub)}(registry)||getHubFromCarrier(registry).isOlderThan(API_VERSION))&&setHubOnCarrier(registry,new Hub),getHubFromCarrier(registry)}(registry)}function getHubFromCarrier(carrier){return(0,worldwide.YO)("hub",()=>new Hub,carrier)}function setHubOnCarrier(carrier,hub){return!!carrier&&((carrier.__SENTRY__=carrier.__SENTRY__||{}).hub=hub,!0)}function captureException(exception,captureContext){return hub_getCurrentHub().captureException(exception,{captureContext})}function setContext(name,context2){hub_getCurrentHub().setContext(name,context2)}const DEFAULT_IGNORE_ERRORS=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/],DEFAULT_IGNORE_TRANSACTIONS=[/^.*healthcheck.*$/,/^.*healthy.*$/,/^.*live.*$/,/^.*ready.*$/,/^.*heartbeat.*$/,/^.*\/health$/,/^.*\/healthz$/];class InboundFilters{static __initStatic(){this.id="InboundFilters"}constructor(options={}){this.name=InboundFilters.id,this._options=options}setupOnce(addGlobalEventProcessor2,getCurrentHub2){const eventProcess=event=>{const hub=getCurrentHub2();if(hub){const self2=hub.getIntegration(InboundFilters);if(self2){const client=hub.getClient(),clientOptions=client?client.getOptions():{},options=function _mergeOptions(internalOptions={},clientOptions={}){return{allowUrls:[...internalOptions.allowUrls||[],...clientOptions.allowUrls||[]],denyUrls:[...internalOptions.denyUrls||[],...clientOptions.denyUrls||[]],ignoreErrors:[...internalOptions.ignoreErrors||[],...clientOptions.ignoreErrors||[],...internalOptions.disableErrorDefaults?[]:DEFAULT_IGNORE_ERRORS],ignoreTransactions:[...internalOptions.ignoreTransactions||[],...clientOptions.ignoreTransactions||[],...internalOptions.disableTransactionDefaults?[]:DEFAULT_IGNORE_TRANSACTIONS],ignoreInternal:void 0===internalOptions.ignoreInternal||internalOptions.ignoreInternal}}(self2._options,clientOptions);return function _shouldDropEvent(event,options){return options.ignoreInternal&&function _isSentryError(event){try{return"SentryError"===event.exception.values[0].type}catch{}return!1}(event)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${getEventDescription(event)}`),!0):function _isIgnoredError(event,ignoreErrors){return!(event.type||!ignoreErrors||!ignoreErrors.length)&&function _getPossibleEventMessages(event){if(event.message)return[event.message];if(event.exception){const{values}=event.exception;try{const{type="",value=""}=values&&values[values.length-1]||{};return[`${value}`,`${type}: ${value}`]}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(`Cannot extract message for event ${getEventDescription(event)}`),[]}}return[]}(event).some(message=>stringMatchesSomePattern(message,ignoreErrors))}(event,options.ignoreErrors)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${getEventDescription(event)}`),!0):function _isIgnoredTransaction(event,ignoreTransactions){if("transaction"!==event.type||!ignoreTransactions||!ignoreTransactions.length)return!1;const name=event.transaction;return!!name&&stringMatchesSomePattern(name,ignoreTransactions)}(event,options.ignoreTransactions)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${getEventDescription(event)}`),!0):function _isDeniedUrl(event,denyUrls){if(!denyUrls||!denyUrls.length)return!1;const url=_getEventFilterUrl(event);return!!url&&stringMatchesSomePattern(url,denyUrls)}(event,options.denyUrls)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${getEventDescription(event)}.\nUrl: ${_getEventFilterUrl(event)}`),!0):!function _isAllowedUrl(event,allowUrls){if(!allowUrls||!allowUrls.length)return!0;const url=_getEventFilterUrl(event);return!url||stringMatchesSomePattern(url,allowUrls)}(event,options.allowUrls)&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${getEventDescription(event)}.\nUrl: ${_getEventFilterUrl(event)}`),!0)}(event,options)?null:event}}return event};eventProcess.id=this.name,addGlobalEventProcessor2(eventProcess)}}function _getEventFilterUrl(event){try{let frames;try{frames=event.exception.values[0].stacktrace.frames}catch{}return frames?function _getLastValidUrl(frames=[]){for(let i6=frames.length-1;i6>=0;i6--){const frame=frames[i6];if(frame&&""!==frame.filename&&"[native code]"!==frame.filename)return frame.filename||null}return null}(frames):null}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(`Cannot extract url for event ${getEventDescription(event)}`),null}}let originalFunctionToString;InboundFilters.__initStatic();class FunctionToString{static __initStatic(){this.id="FunctionToString"}constructor(){this.name=FunctionToString.id}setupOnce(){originalFunctionToString=Function.prototype.toString;try{Function.prototype.toString=function(...args){const context2=getOriginalFunction(this)||this;return originalFunctionToString.apply(context2,args)}}catch{}}}FunctionToString.__initStatic();const installedIntegrations=[];function getIntegrationsToSetup(options){const defaultIntegrations2=options.defaultIntegrations||[],userIntegrations=options.integrations;let integrations;defaultIntegrations2.forEach(integration=>{integration.isDefaultInstance=!0}),integrations=Array.isArray(userIntegrations)?[...defaultIntegrations2,...userIntegrations]:"function"==typeof userIntegrations?arrayify(userIntegrations(defaultIntegrations2)):defaultIntegrations2;const finalIntegrations=function filterDuplicates(integrations){const integrationsByName={};return integrations.forEach(currentInstance=>{const{name}=currentInstance,existingInstance=integrationsByName[name];existingInstance&&!existingInstance.isDefaultInstance&¤tInstance.isDefaultInstance||(integrationsByName[name]=currentInstance)}),Object.keys(integrationsByName).map(k=>integrationsByName[k])}(integrations),debugIndex=function findIndex(arr,callback){for(let i6=0;i6"Debug"===integration.name);if(-1!==debugIndex){const[debugInstance]=finalIntegrations.splice(debugIndex,1);finalIntegrations.push(debugInstance)}return finalIntegrations}function setupIntegration(integration,integrationIndex){integrationIndex[integration.name]=integration,-1===installedIntegrations.indexOf(integration.name)&&(integration.setupOnce(addGlobalEventProcessor,hub_getCurrentHub),installedIntegrations.push(integration.name),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`Integration installed: ${integration.name}`))}const DSN_REGEX=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function dsnToString(dsn,withPassword=!1){const{host,path,pass,port,projectId,protocol,publicKey}=dsn;return`${protocol}://${publicKey}${withPassword&&pass?`:${pass}`:""}@${host}${port?`:${port}`:""}/${path&&`${path}/`}${projectId}`}function dsnFromComponents(components){return{protocol:components.protocol,publicKey:components.publicKey||"",pass:components.pass||"",host:components.host,port:components.port||"",path:components.path||"",projectId:components.projectId}}function makeDsn(from2){const components="string"==typeof from2?function dsnFromString(str){const match2=DSN_REGEX.exec(str);if(!match2)return void console.error(`Invalid Sentry Dsn: ${str}`);const[protocol,publicKey,pass="",host,port="",lastPath]=match2.slice(1);let path="",projectId=lastPath;const split2=projectId.split("/");if(split2.length>1&&(path=split2.slice(0,-1).join("/"),projectId=split2.pop()),projectId){const projectMatch=projectId.match(/^\d+/);projectMatch&&(projectId=projectMatch[0])}return dsnFromComponents({host,pass,path,projectId,port,protocol,publicKey})}(from2):dsnFromComponents(from2);if(components&&function validateDsn(dsn){if(!(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__))return!0;const{port,projectId,protocol}=dsn;return!(["protocol","publicKey","host","projectId"].find(component=>!dsn[component]&&(logger_logger.error(`Invalid Sentry Dsn: ${component} missing`),!0))||(projectId.match(/^\d+$/)?function isValidProtocol(protocol){return"http"===protocol||"https"===protocol}(protocol)?port&&isNaN(parseInt(port,10))&&(logger_logger.error(`Invalid Sentry Dsn: Invalid port ${port}`),1):(logger_logger.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`),1):(logger_logger.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`),1)))}(components))return components}const SENTRY_API_VERSION="7";function getBaseApiEndpoint(dsn){return`${dsn.protocol?`${dsn.protocol}:`:""}//${dsn.host}${dsn.port?`:${dsn.port}`:""}${dsn.path?`/${dsn.path}`:""}/api/`}function getEnvelopeEndpointWithUrlEncodedAuth(dsn,tunnelOrOptions={}){const sdkInfo="string"!=typeof tunnelOrOptions&&tunnelOrOptions._metadata?tunnelOrOptions._metadata.sdk:void 0;return("string"==typeof tunnelOrOptions?tunnelOrOptions:tunnelOrOptions.tunnel)||`${function _getIngestEndpoint(dsn){return`${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`}(dsn)}?${function _encodedAuth(dsn,sdkInfo){return function urlEncode(object){return Object.keys(object).map(key=>`${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`).join("&")}({sentry_key:dsn.publicKey,sentry_version:SENTRY_API_VERSION,...sdkInfo&&{sentry_client:`${sdkInfo.name}/${sdkInfo.version}`}})}(dsn,sdkInfo)}`}const STACKTRACE_FRAME_LIMIT=50,WEBPACK_ERROR_REGEXP=/\(error: (.*)\)/,STRIP_FRAME_REGEXP=/captureMessage|captureException/;function createStackParser(...parsers){const sortedParsers=parsers.sort((a,b)=>a[0]-b[0]).map(p=>p[1]);return(stack,skipFirst=0)=>{const frames=[],lines=stack.split("\n");for(let i6=skipFirst;i61024)continue;const cleanedLine=WEBPACK_ERROR_REGEXP.test(line)?line.replace(WEBPACK_ERROR_REGEXP,"$1"):line;if(!cleanedLine.match(/\S*Error: /)){for(const parser of sortedParsers){const frame=parser(cleanedLine);if(frame){frames.push(frame);break}}if(frames.length>=STACKTRACE_FRAME_LIMIT)break}}return function stripSentryFramesAndReverse(stack){if(!stack.length)return[];const localStack=Array.from(stack);return/sentryWrapped/.test(localStack[localStack.length-1].function||"")&&localStack.pop(),localStack.reverse(),STRIP_FRAME_REGEXP.test(localStack[localStack.length-1].function||"")&&(localStack.pop(),STRIP_FRAME_REGEXP.test(localStack[localStack.length-1].function||"")&&localStack.pop()),localStack.slice(0,STACKTRACE_FRAME_LIMIT).map(frame=>({...frame,filename:frame.filename||localStack[localStack.length-1].filename,function:frame.function||"?"}))}(frames)}}const defaultFunctionName="";function getFunctionName(fn){try{return fn&&"function"==typeof fn&&fn.name||defaultFunctionName}catch{return defaultFunctionName}}const supports_WINDOW=(0,worldwide.Rf)();function supportsFetch(){if(!("fetch"in supports_WINDOW))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function isNativeFetch(func){return func&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(func.toString())}const supportsHistory_WINDOW=(0,worldwide.Rf)(),instrument_WINDOW=(0,worldwide.Rf)(),SENTRY_XHR_DATA_KEY="__sentry_xhr_v2__",handlers={},instrumented={};function addInstrumentationHandler(type,callback){handlers[type]=handlers[type]||[],handlers[type].push(callback),function instrument(type){if(!instrumented[type])switch(instrumented[type]=!0,type){case"console":!function instrumentConsole(){"console"in instrument_WINDOW&&CONSOLE_LEVELS.forEach(function(level){level in instrument_WINDOW.console&&fill(instrument_WINDOW.console,level,function(originalConsoleMethod){return function(...args){triggerHandlers("console",{args,level}),originalConsoleMethod&&originalConsoleMethod.apply(instrument_WINDOW.console,args)}})})}();break;case"dom":!function instrumentDOM(){if(!("document"in instrument_WINDOW))return;const triggerDOMHandler=triggerHandlers.bind(null,"dom"),globalDOMEventHandler=makeDOMEventHandler(triggerDOMHandler,!0);instrument_WINDOW.document.addEventListener("click",globalDOMEventHandler,!1),instrument_WINDOW.document.addEventListener("keypress",globalDOMEventHandler,!1),["EventTarget","Node"].forEach(target=>{const proto=instrument_WINDOW[target]&&instrument_WINDOW[target].prototype;!proto||!proto.hasOwnProperty||!proto.hasOwnProperty("addEventListener")||(fill(proto,"addEventListener",function(originalAddEventListener){return function(type,listener,options){if("click"===type||"keypress"==type)try{const el=this,handlers2=el.__sentry_instrumentation_handlers__=el.__sentry_instrumentation_handlers__||{},handlerForType=handlers2[type]=handlers2[type]||{refCount:0};if(!handlerForType.handler){const handler=makeDOMEventHandler(triggerDOMHandler);handlerForType.handler=handler,originalAddEventListener.call(this,type,handler,options)}handlerForType.refCount++}catch{}return originalAddEventListener.call(this,type,listener,options)}}),fill(proto,"removeEventListener",function(originalRemoveEventListener){return function(type,listener,options){if("click"===type||"keypress"==type)try{const el=this,handlers2=el.__sentry_instrumentation_handlers__||{},handlerForType=handlers2[type];handlerForType&&(handlerForType.refCount--,handlerForType.refCount<=0&&(originalRemoveEventListener.call(this,type,handlerForType.handler,options),handlerForType.handler=void 0,delete handlers2[type]),0===Object.keys(handlers2).length&&delete el.__sentry_instrumentation_handlers__)}catch{}return originalRemoveEventListener.call(this,type,listener,options)}}))})}();break;case"xhr":!function instrumentXHR(){if(!("XMLHttpRequest"in instrument_WINDOW))return;const xhrproto=XMLHttpRequest.prototype;fill(xhrproto,"open",function(originalOpen){return function(...args){const url=args[1],xhrInfo=this[SENTRY_XHR_DATA_KEY]={method:isString(args[0])?args[0].toUpperCase():args[0],url:args[1],request_headers:{}};isString(url)&&"POST"===xhrInfo.method&&url.match(/sentry_key/)&&(this.__sentry_own_request__=!0);const onreadystatechangeHandler=()=>{const xhrInfo2=this[SENTRY_XHR_DATA_KEY];if(xhrInfo2&&4===this.readyState){try{xhrInfo2.status_code=this.status}catch{}triggerHandlers("xhr",{args,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:this})}};return"onreadystatechange"in this&&"function"==typeof this.onreadystatechange?fill(this,"onreadystatechange",function(original){return function(...readyStateArgs){return onreadystatechangeHandler(),original.apply(this,readyStateArgs)}}):this.addEventListener("readystatechange",onreadystatechangeHandler),fill(this,"setRequestHeader",function(original){return function(...setRequestHeaderArgs){const[header,value]=setRequestHeaderArgs,xhrInfo2=this[SENTRY_XHR_DATA_KEY];return xhrInfo2&&(xhrInfo2.request_headers[header.toLowerCase()]=value),original.apply(this,setRequestHeaderArgs)}}),originalOpen.apply(this,args)}}),fill(xhrproto,"send",function(originalSend){return function(...args){const sentryXhrData=this[SENTRY_XHR_DATA_KEY];return sentryXhrData&&void 0!==args[0]&&(sentryXhrData.body=args[0]),triggerHandlers("xhr",{args,startTimestamp:Date.now(),xhr:this}),originalSend.apply(this,args)}})}();break;case"fetch":!function instrumentFetch(){(function supportsNativeFetch(){if(!supportsFetch())return!1;if(isNativeFetch(supports_WINDOW.fetch))return!0;let result=!1;const doc=supports_WINDOW.document;if(doc&&"function"==typeof doc.createElement)try{const sandbox=doc.createElement("iframe");sandbox.hidden=!0,doc.head.appendChild(sandbox),sandbox.contentWindow&&sandbox.contentWindow.fetch&&(result=isNativeFetch(sandbox.contentWindow.fetch)),doc.head.removeChild(sandbox)}catch(err){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",err)}return result})()&&fill(instrument_WINDOW,"fetch",function(originalFetch){return function(...args){const{method,url}=function parseFetchArgs(fetchArgs){if(0===fetchArgs.length)return{method:"GET",url:""};if(2===fetchArgs.length){const[url,options]=fetchArgs;return{url:getUrlFromResource(url),method:hasProp(options,"method")?String(options.method).toUpperCase():"GET"}}const arg=fetchArgs[0];return{url:getUrlFromResource(arg),method:hasProp(arg,"method")?String(arg.method).toUpperCase():"GET"}}(args),handlerData={args,fetchData:{method,url},startTimestamp:Date.now()};return triggerHandlers("fetch",{...handlerData}),originalFetch.apply(instrument_WINDOW,args).then(response=>(triggerHandlers("fetch",{...handlerData,endTimestamp:Date.now(),response}),response),error=>{throw triggerHandlers("fetch",{...handlerData,endTimestamp:Date.now(),error}),error})}})}();break;case"history":!function instrumentHistory(){if(!function supportsHistory(){const chrome2=supportsHistory_WINDOW.chrome;return!(chrome2&&chrome2.app&&chrome2.app.runtime||!("history"in supportsHistory_WINDOW)||!supportsHistory_WINDOW.history.pushState||!supportsHistory_WINDOW.history.replaceState)}())return;const oldOnPopState=instrument_WINDOW.onpopstate;function historyReplacementFunction(originalHistoryFunction){return function(...args){const url=args.length>2?args[2]:void 0;if(url){const from2=lastHref,to=String(url);lastHref=to,triggerHandlers("history",{from:from2,to})}return originalHistoryFunction.apply(this,args)}}instrument_WINDOW.onpopstate=function(...args){const to=instrument_WINDOW.location.href,from2=lastHref;if(lastHref=to,triggerHandlers("history",{from:from2,to}),oldOnPopState)try{return oldOnPopState.apply(this,args)}catch{}},fill(instrument_WINDOW.history,"pushState",historyReplacementFunction),fill(instrument_WINDOW.history,"replaceState",historyReplacementFunction)}();break;case"error":!function instrumentError(){_oldOnErrorHandler=instrument_WINDOW.onerror,instrument_WINDOW.onerror=function(msg,url,line,column,error){return triggerHandlers("error",{column,error,line,msg,url}),!(!_oldOnErrorHandler||_oldOnErrorHandler.__SENTRY_LOADER__)&&_oldOnErrorHandler.apply(this,arguments)},instrument_WINDOW.onerror.__SENTRY_INSTRUMENTED__=!0}();break;case"unhandledrejection":!function instrumentUnhandledRejection(){_oldOnUnhandledRejectionHandler=instrument_WINDOW.onunhandledrejection,instrument_WINDOW.onunhandledrejection=function(e2){return triggerHandlers("unhandledrejection",e2),!(_oldOnUnhandledRejectionHandler&&!_oldOnUnhandledRejectionHandler.__SENTRY_LOADER__)||_oldOnUnhandledRejectionHandler.apply(this,arguments)},instrument_WINDOW.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}();break;default:return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("unknown instrumentation type:",type))}}(type)}function triggerHandlers(type,data){if(type&&handlers[type])for(const handler of handlers[type]||[])try{handler(data)}catch(e2){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(`Error while triggering instrumentation handler.\nType: ${type}\nName: ${getFunctionName(handler)}\nError:`,e2)}}function hasProp(obj,prop2){return!!obj&&"object"==typeof obj&&!!obj[prop2]}function getUrlFromResource(resource){return"string"==typeof resource?resource:resource?hasProp(resource,"url")?resource.url:resource.toString?resource.toString():"":""}let lastHref;const debounceDuration=1e3;let debounceTimerID,lastCapturedEvent;function makeDOMEventHandler(handler,globalListener=!1){return event=>{if(!event||lastCapturedEvent===event||function shouldSkipDOMEvent(event){if("keypress"!==event.type)return!1;try{const target=event.target;if(!target||!target.tagName)return!0;if("INPUT"===target.tagName||"TEXTAREA"===target.tagName||target.isContentEditable)return!1}catch{}return!0}(event))return;const name="keypress"===event.type?"input":event.type;(void 0===debounceTimerID||function shouldShortcircuitPreviousDebounce(previous,current){if(!previous||previous.type!==current.type)return!0;try{if(previous.target!==current.target)return!0}catch{}return!1}(lastCapturedEvent,event))&&(handler({event,name,global:globalListener}),lastCapturedEvent=event),clearTimeout(debounceTimerID),debounceTimerID=instrument_WINDOW.setTimeout(()=>{debounceTimerID=void 0},debounceDuration)}}let _oldOnErrorHandler=null,_oldOnUnhandledRejectionHandler=null;function normalize(input,depth=100,maxProperties=1/0){try{return visit("",input,depth,maxProperties)}catch(err){return{ERROR:`**non-serializable** (${err})`}}}function normalizeToSize(object,depth=3,maxSize=102400){const normalized=normalize(object,depth);return function jsonSize(value){return function utf8Length(value){return~-encodeURI(value).split(/%..|./).length}(JSON.stringify(value))}(normalized)>maxSize?normalizeToSize(object,depth-1,maxSize):normalized}function visit(key,value,depth=1/0,maxProperties=1/0,memo=function memoBuilder(){const hasWeakSet="function"==typeof WeakSet,inner=hasWeakSet?new WeakSet:[];return[function memoize(obj){if(hasWeakSet)return!!inner.has(obj)||(inner.add(obj),!1);for(let i6=0;i6=maxProperties){normalized[visitKey]="[MaxProperties ~]";break}normalized[visitKey]=visit(visitKey,visitable[visitKey],remainingDepth-1,maxProperties,memo),numAdded++}return unmemoize(value),normalized}function createEnvelope(headers,items=[]){return[headers,items]}function addItemToEnvelope(envelope,newItem){const[headers,items]=envelope;return[headers,[...items,newItem]]}function forEachEnvelopeItem(envelope,callback){const envelopeItems=envelope[1];for(const envelopeItem of envelopeItems)if(callback(envelopeItem,envelopeItem[0].type))return!0;return!1}function encodeUTF8(input,textEncoder){return(textEncoder||new TextEncoder).encode(input)}function serializeEnvelope(envelope,textEncoder){const[envHeaders,items]=envelope;let parts=JSON.stringify(envHeaders);function append(next){"string"==typeof parts?parts="string"==typeof next?parts+next:[encodeUTF8(parts,textEncoder),next]:parts.push("string"==typeof next?encodeUTF8(next,textEncoder):next)}for(const item of items){const[itemHeaders,payload]=item;if(append(`\n${JSON.stringify(itemHeaders)}\n`),"string"==typeof payload||payload instanceof Uint8Array)append(payload);else{let stringifiedPayload;try{stringifiedPayload=JSON.stringify(payload)}catch{stringifiedPayload=JSON.stringify(normalize(payload))}append(stringifiedPayload)}}return"string"==typeof parts?parts:function concatBuffers(buffers){const totalLength=buffers.reduce((acc,buf)=>acc+buf.length,0),merged=new Uint8Array(totalLength);let offset=0;for(const buffer of buffers)merged.set(buffer,offset),offset+=buffer.length;return merged}(parts)}function createAttachmentEnvelopeItem(attachment,textEncoder){const buffer="string"==typeof attachment.data?encodeUTF8(attachment.data,textEncoder):attachment.data;return[dropUndefinedKeys({type:"attachment",length:buffer.length,filename:attachment.filename,content_type:attachment.contentType,attachment_type:attachment.attachmentType}),buffer]}const ITEM_TYPE_TO_DATA_CATEGORY_MAP={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor"};function envelopeItemTypeToDataCategory(type){return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type]}function getSdkMetadataForEnvelopeHeader(metadataOrEvent){if(!metadataOrEvent||!metadataOrEvent.sdk)return;const{name,version:version2}=metadataOrEvent.sdk;return{name,version:version2}}function createEventEnvelopeHeaders(event,sdkInfo,tunnel,dsn){const dynamicSamplingContext=event.sdkProcessingMetadata&&event.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:event.event_id,sent_at:(new Date).toISOString(),...sdkInfo&&{sdk:sdkInfo},...!!tunnel&&{dsn:dsnToString(dsn)},...dynamicSamplingContext&&{trace:dropUndefinedKeys({...dynamicSamplingContext})}}}class SentryError extends Error{constructor(message,logLevel="warn"){super(message),this.message=message,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=logLevel}}function getDynamicSamplingContextFromClient(trace_id,client,scope){const options=client.getOptions(),{publicKey:public_key}=client.getDsn()||{},{segment:user_segment}=scope&&scope.getUser()||{},dsc=dropUndefinedKeys({environment:options.environment||DEFAULT_ENVIRONMENT,release:options.release,user_segment,public_key,trace_id});return client.emit&&client.emit("createDsc",dsc),dsc}function prepareEvent(options,event,hint,scope){const{normalizeDepth=3,normalizeMaxBreadth=1e3}=options,prepared={...event,event_id:event.event_id||hint.event_id||misc_uuid4(),timestamp:event.timestamp||(0,esm_time.yW)()},integrations=hint.integrations||options.integrations.map(i6=>i6.name);(function applyClientOptions(event,options){const{environment:environment2,release,dist,maxValueLength=250}=options;"environment"in event||(event.environment="environment"in options?environment2:DEFAULT_ENVIRONMENT),void 0===event.release&&void 0!==release&&(event.release=release),void 0===event.dist&&void 0!==dist&&(event.dist=dist),event.message&&(event.message=truncate(event.message,maxValueLength));const exception=event.exception&&event.exception.values&&event.exception.values[0];exception&&exception.value&&(exception.value=truncate(exception.value,maxValueLength));const request=event.request;request&&request.url&&(request.url=truncate(request.url,maxValueLength))})(prepared,options),function applyIntegrationsMetadata(event,integrationNames){integrationNames.length>0&&(event.sdk=event.sdk||{},event.sdk.integrations=[...event.sdk.integrations||[],...integrationNames])}(prepared,integrations),void 0===event.type&&function applyDebugIds(event,stackParser){const debugIdMap=worldwide.n2._sentryDebugIds;if(!debugIdMap)return;let debugIdStackFramesCache;const cachedDebugIdStackFrameCache=debugIdStackParserCache.get(stackParser);cachedDebugIdStackFrameCache?debugIdStackFramesCache=cachedDebugIdStackFrameCache:(debugIdStackFramesCache=new Map,debugIdStackParserCache.set(stackParser,debugIdStackFramesCache));const filenameDebugIdMap=Object.keys(debugIdMap).reduce((acc,debugIdStackTrace)=>{let parsedStack;const cachedParsedStack=debugIdStackFramesCache.get(debugIdStackTrace);cachedParsedStack?parsedStack=cachedParsedStack:(parsedStack=stackParser(debugIdStackTrace),debugIdStackFramesCache.set(debugIdStackTrace,parsedStack));for(let i6=parsedStack.length-1;i6>=0;i6--){const stackFrame=parsedStack[i6];if(stackFrame.filename){acc[stackFrame.filename]=debugIdMap[debugIdStackTrace];break}}return acc},{});try{event.exception.values.forEach(exception=>{exception.stacktrace.frames.forEach(frame=>{frame.filename&&(frame.debug_id=filenameDebugIdMap[frame.filename])})})}catch{}}(prepared,options.stackParser);let finalScope=scope;hint.captureContext&&(finalScope=scope_Scope.clone(finalScope).update(hint.captureContext));let result=resolvedSyncPromise(prepared);if(finalScope){if(finalScope.getAttachments){const attachments=[...hint.attachments||[],...finalScope.getAttachments()];attachments.length&&(hint.attachments=attachments)}result=finalScope.applyToEvent(prepared,hint)}return result.then(evt=>(evt&&function applyDebugMeta(event){const filenameDebugIdMap={};try{event.exception.values.forEach(exception=>{exception.stacktrace.frames.forEach(frame=>{frame.debug_id&&(frame.abs_path?filenameDebugIdMap[frame.abs_path]=frame.debug_id:frame.filename&&(filenameDebugIdMap[frame.filename]=frame.debug_id),delete frame.debug_id)})})}catch{}if(0===Object.keys(filenameDebugIdMap).length)return;event.debug_meta=event.debug_meta||{},event.debug_meta.images=event.debug_meta.images||[];const images=event.debug_meta.images;Object.keys(filenameDebugIdMap).forEach(filename=>{images.push({type:"sourcemap",code_file:filename,debug_id:filenameDebugIdMap[filename]})})}(evt),"number"==typeof normalizeDepth&&normalizeDepth>0?function normalizeEvent(event,depth,maxBreadth){if(!event)return null;const normalized={...event,...event.breadcrumbs&&{breadcrumbs:event.breadcrumbs.map(b=>({...b,...b.data&&{data:normalize(b.data,depth,maxBreadth)}}))},...event.user&&{user:normalize(event.user,depth,maxBreadth)},...event.contexts&&{contexts:normalize(event.contexts,depth,maxBreadth)},...event.extra&&{extra:normalize(event.extra,depth,maxBreadth)}};return event.contexts&&event.contexts.trace&&normalized.contexts&&(normalized.contexts.trace=event.contexts.trace,event.contexts.trace.data&&(normalized.contexts.trace.data=normalize(event.contexts.trace.data,depth,maxBreadth))),event.spans&&(normalized.spans=event.spans.map(span=>(span.data&&(span.data=normalize(span.data,depth,maxBreadth)),span))),normalized}(evt,normalizeDepth,normalizeMaxBreadth):evt))}const debugIdStackParserCache=new WeakMap,ALREADY_SEEN_ERROR="Not capturing exception because it's already been captured.";class BaseClient{constructor(options){if(this._options=options,this._integrations={},this._integrationsInitialized=!1,this._numProcessing=0,this._outcomes={},this._hooks={},options.dsn?this._dsn=makeDsn(options.dsn):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("No DSN provided, client will not do anything."),this._dsn){const url=getEnvelopeEndpointWithUrlEncodedAuth(this._dsn,options);this._transport=options.transport({recordDroppedEvent:this.recordDroppedEvent.bind(this),...options.transportOptions,url})}}captureException(exception,hint,scope){if(checkOrSetAlreadyCaught(exception))return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(ALREADY_SEEN_ERROR));let eventId=hint&&hint.event_id;return this._process(this.eventFromException(exception,hint).then(event=>this._captureEvent(event,hint,scope)).then(result=>{eventId=result})),eventId}captureMessage(message,level,hint,scope){let eventId=hint&&hint.event_id;const promisedEvent=is_isPrimitive(message)?this.eventFromMessage(String(message),level,hint):this.eventFromException(message,hint);return this._process(promisedEvent.then(event=>this._captureEvent(event,hint,scope)).then(result=>{eventId=result})),eventId}captureEvent(event,hint,scope){if(hint&&hint.originalException&&checkOrSetAlreadyCaught(hint.originalException))return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(ALREADY_SEEN_ERROR));let eventId=hint&&hint.event_id;return this._process(this._captureEvent(event,hint,scope).then(result=>{eventId=result})),eventId}captureSession(session){this._isEnabled()?"string"!=typeof session.release?(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Discarded session because of missing or non-string release"):(this.sendSession(session),updateSession(session,{init:!1})):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("SDK not enabled, will not capture session.")}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(timeout){const transport=this._transport;return transport?this._isClientDoneProcessing(timeout).then(clientFinished=>transport.flush(timeout).then(transportFlushed=>clientFinished&&transportFlushed)):resolvedSyncPromise(!0)}close(timeout){return this.flush(timeout).then(result=>(this.getOptions().enabled=!1,result))}setupIntegrations(){this._isEnabled()&&!this._integrationsInitialized&&(this._integrations=function setupIntegrations(integrations){const integrationIndex={};return integrations.forEach(integration=>{integration&&setupIntegration(integration,integrationIndex)}),integrationIndex}(this._options.integrations),this._integrationsInitialized=!0)}getIntegrationById(integrationId){return this._integrations[integrationId]}getIntegration(integration){try{return this._integrations[integration.id]||null}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`),null}}addIntegration(integration){setupIntegration(integration,this._integrations)}sendEvent(event,hint={}){if(this._dsn){let env2=function createEventEnvelope(event,dsn,metadata,tunnel){const sdkInfo=getSdkMetadataForEnvelopeHeader(metadata),eventType=event.type&&"replay_event"!==event.type?event.type:"event";!function enhanceEventWithSdkInfo(event,sdkInfo){sdkInfo&&(event.sdk=event.sdk||{},event.sdk.name=event.sdk.name||sdkInfo.name,event.sdk.version=event.sdk.version||sdkInfo.version,event.sdk.integrations=[...event.sdk.integrations||[],...sdkInfo.integrations||[]],event.sdk.packages=[...event.sdk.packages||[],...sdkInfo.packages||[]])}(event,metadata&&metadata.sdk);const envelopeHeaders=createEventEnvelopeHeaders(event,sdkInfo,tunnel,dsn);return delete event.sdkProcessingMetadata,createEnvelope(envelopeHeaders,[[{type:eventType},event]])}(event,this._dsn,this._options._metadata,this._options.tunnel);for(const attachment of hint.attachments||[])env2=addItemToEnvelope(env2,createAttachmentEnvelopeItem(attachment,this._options.transportOptions&&this._options.transportOptions.textEncoder));const promise=this._sendEnvelope(env2);promise&&promise.then(sendResponse=>this.emit("afterSendEvent",event,sendResponse),null)}}sendSession(session){if(this._dsn){const env2=function createSessionEnvelope(session,dsn,metadata,tunnel){const sdkInfo=getSdkMetadataForEnvelopeHeader(metadata);return createEnvelope({sent_at:(new Date).toISOString(),...sdkInfo&&{sdk:sdkInfo},...!!tunnel&&{dsn:dsnToString(dsn)}},["aggregates"in session?[{type:"sessions"},session]:[{type:"session"},session.toJSON()]])}(session,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(env2)}}recordDroppedEvent(reason,category,_event){if(this._options.sendClientReports){const key=`${reason}:${category}`;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`Adding outcome: "${key}"`),this._outcomes[key]=this._outcomes[key]+1||1}}on(hook,callback){this._hooks[hook]||(this._hooks[hook]=[]),this._hooks[hook].push(callback)}emit(hook,...rest){this._hooks[hook]&&this._hooks[hook].forEach(callback=>callback(...rest))}_updateSessionFromEvent(session,event){let crashed=!1,errored=!1;const exceptions=event.exception&&event.exception.values;if(exceptions){errored=!0;for(const ex of exceptions){const mechanism=ex.mechanism;if(mechanism&&!1===mechanism.handled){crashed=!0;break}}}const sessionNonTerminal="ok"===session.status;(sessionNonTerminal&&0===session.errors||sessionNonTerminal&&crashed)&&(updateSession(session,{...crashed&&{status:"crashed"},errors:session.errors||Number(errored||crashed)}),this.captureSession(session))}_isClientDoneProcessing(timeout){return new SyncPromise(resolve=>{let ticked=0;const interval=setInterval(()=>{0==this._numProcessing?(clearInterval(interval),resolve(!0)):(ticked+=1,timeout&&ticked>=timeout&&(clearInterval(interval),resolve(!1)))},1)})}_isEnabled(){return!1!==this.getOptions().enabled&&void 0!==this._dsn}_prepareEvent(event,hint,scope){const options=this.getOptions(),integrations=Object.keys(this._integrations);return!hint.integrations&&integrations.length>0&&(hint.integrations=integrations),prepareEvent(options,event,hint,scope).then(evt=>{if(null===evt)return evt;const{propagationContext}=evt.sdkProcessingMetadata||{};if((!evt.contexts||!evt.contexts.trace)&&propagationContext){const{traceId:trace_id,spanId,parentSpanId,dsc}=propagationContext;evt.contexts={trace:{trace_id,span_id:spanId,parent_span_id:parentSpanId},...evt.contexts};const dynamicSamplingContext=dsc||getDynamicSamplingContextFromClient(trace_id,this,scope);evt.sdkProcessingMetadata={dynamicSamplingContext,...evt.sdkProcessingMetadata}}return evt})}_captureEvent(event,hint={},scope){return this._processEvent(event,hint,scope).then(finalEvent=>finalEvent.event_id,reason=>{if(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__){const sentryError=reason;"log"===sentryError.logLevel?logger_logger.log(sentryError.message):logger_logger.warn(sentryError)}})}_processEvent(event,hint,scope){const options=this.getOptions(),{sampleRate}=options;if(!this._isEnabled())return rejectedSyncPromise(new SentryError("SDK not enabled, will not capture event.","log"));const isTransaction=isTransactionEvent(event),isError2=baseclient_isErrorEvent(event),eventType=event.type||"error",beforeSendLabel=`before send for type \`${eventType}\``;if(isError2&&"number"==typeof sampleRate&&Math.random()>sampleRate)return this.recordDroppedEvent("sample_rate","error",event),rejectedSyncPromise(new SentryError(`Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,"log"));const dataCategory="replay_event"===eventType?"replay":eventType;return this._prepareEvent(event,hint,scope).then(prepared=>{if(null===prepared)throw this.recordDroppedEvent("event_processor",dataCategory,event),new SentryError("An event processor returned `null`, will not send event.","log");if(hint.data&&!0===hint.data.__sentry__)return prepared;const result=function processBeforeSend(options,event,hint){const{beforeSend,beforeSendTransaction}=options;return baseclient_isErrorEvent(event)&&beforeSend?beforeSend(event,hint):isTransactionEvent(event)&&beforeSendTransaction?beforeSendTransaction(event,hint):event}(options,prepared,hint);return function _validateBeforeSendResult(beforeSendResult,beforeSendLabel){const invalidValueError=`${beforeSendLabel} must return \`null\` or a valid event.`;if(isThenable(beforeSendResult))return beforeSendResult.then(event=>{if(!isPlainObject(event)&&null!==event)throw new SentryError(invalidValueError);return event},e2=>{throw new SentryError(`${beforeSendLabel} rejected with ${e2}`)});if(!isPlainObject(beforeSendResult)&&null!==beforeSendResult)throw new SentryError(invalidValueError);return beforeSendResult}(result,beforeSendLabel)}).then(processedEvent=>{if(null===processedEvent)throw this.recordDroppedEvent("before_send",dataCategory,event),new SentryError(`${beforeSendLabel} returned \`null\`, will not send event.`,"log");const session=scope&&scope.getSession();!isTransaction&&session&&this._updateSessionFromEvent(session,processedEvent);const transactionInfo=processedEvent.transaction_info;if(isTransaction&&transactionInfo&&processedEvent.transaction!==event.transaction){const source="custom";processedEvent.transaction_info={...transactionInfo,source}}return this.sendEvent(processedEvent,hint),processedEvent}).then(null,reason=>{throw reason instanceof SentryError?reason:(this.captureException(reason,{data:{__sentry__:!0},originalException:reason}),new SentryError(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${reason}`))})}_process(promise){this._numProcessing++,promise.then(value=>(this._numProcessing--,value),reason=>(this._numProcessing--,reason))}_sendEnvelope(envelope){if(this._transport&&this._dsn)return this.emit("beforeEnvelope",envelope),this._transport.send(envelope).then(null,reason=>{(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Error while sending event:",reason)});(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Transport disabled")}_clearOutcomes(){const outcomes=this._outcomes;return this._outcomes={},Object.keys(outcomes).map(key=>{const[reason,category]=key.split(":");return{reason,category,quantity:outcomes[key]}})}}function baseclient_isErrorEvent(event){return void 0===event.type}function isTransactionEvent(event){return"transaction"===event.type}var env=__webpack_require__(2007);function exceptionFromError(stackParser,ex){const frames=parseStackFrames(stackParser,ex),exception={type:ex&&ex.name,value:extractMessage(ex)};return frames.length&&(exception.stacktrace={frames}),void 0===exception.type&&""===exception.value&&(exception.value="Unrecoverable error caught"),exception}function eventFromError(stackParser,ex){return{exception:{values:[exceptionFromError(stackParser,ex)]}}}function parseStackFrames(stackParser,ex){const stacktrace=ex.stacktrace||ex.stack||"",popSize=function getPopSize(ex){if(ex){if("number"==typeof ex.framesToPop)return ex.framesToPop;if(reactMinifiedRegexp.test(ex.message))return 1}return 0}(ex);try{return stackParser(stacktrace,popSize)}catch{}return[]}const reactMinifiedRegexp=/Minified React error #\d+;/i;function extractMessage(ex){const message=ex&&ex.message;return message?message.error&&"string"==typeof message.error.message?message.error.message:message:"No error message"}function eventFromUnknownInput(stackParser,exception,syntheticException,attachStacktrace,isUnhandledRejection){let event;if(isErrorEvent(exception)&&exception.error)return eventFromError(stackParser,exception.error);if(isDOMError(exception)||function isDOMException(wat){return isBuiltin(wat,"DOMException")}(exception)){const domException=exception;if("stack"in exception)event=eventFromError(stackParser,exception);else{const name=domException.name||(isDOMError(domException)?"DOMError":"DOMException"),message=domException.message?`${name}: ${domException.message}`:name;event=eventFromString(stackParser,message,syntheticException,attachStacktrace),addExceptionTypeValue(event,message)}return"code"in domException&&(event.tags={...event.tags,"DOMException.code":`${domException.code}`}),event}return isError(exception)?eventFromError(stackParser,exception):isPlainObject(exception)||isEvent(exception)?(event=function eventFromPlainObject(stackParser,exception,syntheticException,isUnhandledRejection){const client=hub_getCurrentHub().getClient(),normalizeDepth=client&&client.getOptions().normalizeDepth,event={exception:{values:[{type:isEvent(exception)?exception.constructor.name:isUnhandledRejection?"UnhandledRejection":"Error",value:getNonErrorObjectExceptionValue(exception,{isUnhandledRejection})}]},extra:{__serialized__:normalizeToSize(exception,normalizeDepth)}};if(syntheticException){const frames=parseStackFrames(stackParser,syntheticException);frames.length&&(event.exception.values[0].stacktrace={frames})}return event}(stackParser,exception,syntheticException,isUnhandledRejection),addExceptionMechanism(event,{synthetic:!0}),event):(event=eventFromString(stackParser,exception,syntheticException,attachStacktrace),addExceptionTypeValue(event,`${exception}`,void 0),addExceptionMechanism(event,{synthetic:!0}),event)}function eventFromString(stackParser,input,syntheticException,attachStacktrace){const event={message:input};if(attachStacktrace&&syntheticException){const frames=parseStackFrames(stackParser,syntheticException);frames.length&&(event.exception={values:[{value:input,stacktrace:{frames}}]})}return event}function getNonErrorObjectExceptionValue(exception,{isUnhandledRejection}){const keys=function extractExceptionKeysForMessage(exception,maxLength=40){const keys=Object.keys(convertToPlainObject(exception));if(keys.sort(),!keys.length)return"[object has no keys]";if(keys[0].length>=maxLength)return truncate(keys[0],maxLength);for(let includedKeys=keys.length;includedKeys>0;includedKeys--){const serialized=keys.slice(0,includedKeys).join(", ");if(!(serialized.length>maxLength))return includedKeys===keys.length?serialized:truncate(serialized,maxLength)}return""}(exception),captureType=isUnhandledRejection?"promise rejection":"exception";return isErrorEvent(exception)?`Event \`ErrorEvent\` captured as ${captureType} with message \`${exception.message}\``:isEvent(exception)?`Event \`${function getObjectClassName(obj){try{const prototype=Object.getPrototypeOf(obj);return prototype?prototype.constructor.name:void 0}catch{}}(exception)}\` (type=${exception.type}) captured as ${captureType}`:`Object captured as ${captureType} with keys: ${keys}`}const helpers_WINDOW=worldwide.n2;let ignoreOnError=0;function shouldIgnoreOnError(){return ignoreOnError>0}function helpers_wrap(fn,options={},before){if("function"!=typeof fn)return fn;try{const wrapper=fn.__sentry_wrapped__;if(wrapper)return wrapper;if(getOriginalFunction(fn))return fn}catch{return fn}const sentryWrapped=function(){const args=Array.prototype.slice.call(arguments);try{before&&"function"==typeof before&&before.apply(this,arguments);const wrappedArguments=args.map(arg=>helpers_wrap(arg,options));return fn.apply(this,wrappedArguments)}catch(ex){throw function ignoreNextOnError(){ignoreOnError++,setTimeout(()=>{ignoreOnError--})}(),function withScope(callback){hub_getCurrentHub().withScope(callback)}(scope=>{scope.addEventProcessor(event=>(options.mechanism&&(addExceptionTypeValue(event,void 0,void 0),addExceptionMechanism(event,options.mechanism)),event.extra={...event.extra,arguments:args},event)),captureException(ex)}),ex}};try{for(const property in fn)Object.prototype.hasOwnProperty.call(fn,property)&&(sentryWrapped[property]=fn[property])}catch{}markFunctionWrapped(sentryWrapped,fn),addNonEnumerableProperty(fn,"__sentry_wrapped__",sentryWrapped);try{Object.getOwnPropertyDescriptor(sentryWrapped,"name").configurable&&Object.defineProperty(sentryWrapped,"name",{get:()=>fn.name})}catch{}return sentryWrapped}const validSeverityLevels=["fatal","error","warning","log","info","debug"];function parseUrl(url){if(!url)return{};const match2=url.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!match2)return{};const query2=match2[6]||"",fragment=match2[8]||"";return{host:match2[4],path:match2[5],protocol:match2[2],search:query2,hash:fragment,relative:match2[5]+query2+fragment}}class Breadcrumbs{static __initStatic(){this.id="Breadcrumbs"}constructor(options){this.name=Breadcrumbs.id,this.options={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...options}}setupOnce(){this.options.console&&addInstrumentationHandler("console",_consoleBreadcrumb),this.options.dom&&addInstrumentationHandler("dom",function _domBreadcrumb(dom){return function _innerDomBreadcrumb(handlerData){let target,keyAttrs="object"==typeof dom?dom.serializeAttribute:void 0,maxStringLength="object"==typeof dom&&"number"==typeof dom.maxStringLength?dom.maxStringLength:void 0;maxStringLength&&maxStringLength>1024&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${maxStringLength} was configured. Sentry will use 1024 instead.`),maxStringLength=1024),"string"==typeof keyAttrs&&(keyAttrs=[keyAttrs]);try{const event=handlerData.event;target=function _isEvent(event){return!!event&&!!event.target}(event)?htmlTreeAsString(event.target,{keyAttrs,maxStringLength}):htmlTreeAsString(event,{keyAttrs,maxStringLength})}catch{target=""}0!==target.length&&hub_getCurrentHub().addBreadcrumb({category:`ui.${handlerData.name}`,message:target},{event:handlerData.event,name:handlerData.name,global:handlerData.global})}}(this.options.dom)),this.options.xhr&&addInstrumentationHandler("xhr",_xhrBreadcrumb),this.options.fetch&&addInstrumentationHandler("fetch",_fetchBreadcrumb),this.options.history&&addInstrumentationHandler("history",_historyBreadcrumb)}addSentryBreadcrumb(event){this.options.sentry&&hub_getCurrentHub().addBreadcrumb({category:"sentry."+("transaction"===event.type?"transaction":"event"),event_id:event.event_id,level:event.level,message:getEventDescription(event)},{event})}}function _consoleBreadcrumb(handlerData){for(let i6=0;i6{"hidden"===helpers_WINDOW.document.visibilityState&&this._flushOutcomes()})}eventFromException(exception,hint){return function eventFromException(stackParser,exception,hint,attachStacktrace){const event=eventFromUnknownInput(stackParser,exception,hint&&hint.syntheticException||void 0,attachStacktrace);return addExceptionMechanism(event),event.level="error",hint&&hint.event_id&&(event.event_id=hint.event_id),resolvedSyncPromise(event)}(this._options.stackParser,exception,hint,this._options.attachStacktrace)}eventFromMessage(message,level="info",hint){return function eventFromMessage(stackParser,message,level="info",hint,attachStacktrace){const event=eventFromString(stackParser,message,hint&&hint.syntheticException||void 0,attachStacktrace);return event.level=level,hint&&hint.event_id&&(event.event_id=hint.event_id),resolvedSyncPromise(event)}(this._options.stackParser,message,level,hint,this._options.attachStacktrace)}sendEvent(event,hint){const breadcrumbIntegration=this.getIntegrationById("Breadcrumbs");breadcrumbIntegration&&breadcrumbIntegration.addSentryBreadcrumb&&breadcrumbIntegration.addSentryBreadcrumb(event),super.sendEvent(event,hint)}captureUserFeedback(feedback){if(!this._isEnabled())return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("SDK not enabled, will not capture user feedback."));const envelope=function createUserFeedbackEnvelope(feedback,{metadata,tunnel,dsn}){const headers={event_id:feedback.event_id,sent_at:(new Date).toISOString(),...metadata&&metadata.sdk&&{sdk:{name:metadata.sdk.name,version:metadata.sdk.version}},...!!tunnel&&!!dsn&&{dsn:dsnToString(dsn)}},item=function createUserFeedbackEnvelopeItem(feedback){return[{type:"user_report"},feedback]}(feedback);return createEnvelope(headers,[item])}(feedback,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this._sendEnvelope(envelope)}_prepareEvent(event,hint,scope){return event.platform=event.platform||"javascript",super._prepareEvent(event,hint,scope)}_flushOutcomes(){const outcomes=this._clearOutcomes();if(0===outcomes.length)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("No outcomes to send"));if(!this._dsn)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("No dsn provided, will not send outcomes"));(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("Sending outcomes:",outcomes);const envelope=function createClientReportEnvelope(discarded_events,dsn,timestamp){return createEnvelope(dsn?{dsn}:{},[[{type:"client_report"},{timestamp:timestamp||(0,esm_time.yW)(),discarded_events}]])}(outcomes,this._options.tunnel&&dsnToString(this._dsn));this._sendEnvelope(envelope)}}class GlobalHandlers{static __initStatic(){this.id="GlobalHandlers"}constructor(options){this.name=GlobalHandlers.id,this._options={onerror:!0,onunhandledrejection:!0,...options},this._installFunc={onerror:_installGlobalOnErrorHandler,onunhandledrejection:_installGlobalOnUnhandledRejectionHandler}}setupOnce(){Error.stackTraceLimit=50;const options=this._options;for(const key in options){const installFunc=this._installFunc[key];installFunc&&options[key]&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`Global Handler attached: ${key}`),installFunc(),this._installFunc[key]=void 0)}}}function _installGlobalOnErrorHandler(){addInstrumentationHandler("error",data=>{const[hub,stackParser,attachStacktrace]=getHubAndOptions();if(!hub.getIntegration(GlobalHandlers))return;const{msg,url,line,column,error}=data;if(shouldIgnoreOnError()||error&&error.__sentry_own_request__)return;const event=void 0===error&&isString(msg)?function _eventFromIncompleteOnError(msg,url,line,column){let message=isErrorEvent(msg)?msg.message:msg,name="Error";const groups=message.match(/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i);return groups&&(name=groups[1],message=groups[2]),_enhanceEventWithInitialFrame({exception:{values:[{type:name,value:message}]}},url,line,column)}(msg,url,line,column):_enhanceEventWithInitialFrame(eventFromUnknownInput(stackParser,error||msg,void 0,attachStacktrace,!1),url,line,column);event.level="error",addMechanismAndCapture(hub,error,event,"onerror")})}function _installGlobalOnUnhandledRejectionHandler(){addInstrumentationHandler("unhandledrejection",e2=>{const[hub,stackParser,attachStacktrace]=getHubAndOptions();if(!hub.getIntegration(GlobalHandlers))return;let error=e2;try{"reason"in e2?error=e2.reason:"detail"in e2&&"reason"in e2.detail&&(error=e2.detail.reason)}catch{}if(shouldIgnoreOnError()||error&&error.__sentry_own_request__)return!0;const event=is_isPrimitive(error)?function _eventFromRejectionWithPrimitive(reason){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(reason)}`}]}}}(error):eventFromUnknownInput(stackParser,error,void 0,attachStacktrace,!0);event.level="error",addMechanismAndCapture(hub,error,event,"onunhandledrejection")})}function _enhanceEventWithInitialFrame(event,url,line,column){const e2=event.exception=event.exception||{},ev=e2.values=e2.values||[],ev0=ev[0]=ev[0]||{},ev0s=ev0.stacktrace=ev0.stacktrace||{},ev0sf=ev0s.frames=ev0s.frames||[],colno=isNaN(parseInt(column,10))?void 0:column,lineno=isNaN(parseInt(line,10))?void 0:line,filename=isString(url)&&url.length>0?url:function getLocationHref(){try{return browser_WINDOW.document.location.href}catch{return""}}();return 0===ev0sf.length&&ev0sf.push({colno,filename,function:"?",in_app:!0,lineno}),event}function addMechanismAndCapture(hub,error,event,type){addExceptionMechanism(event,{handled:!1,type}),hub.captureEvent(event,{originalException:error})}function getHubAndOptions(){const hub=hub_getCurrentHub(),client=hub.getClient(),options=client&&client.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[hub,options.stackParser,options.attachStacktrace]}GlobalHandlers.__initStatic();const DEFAULT_EVENT_TARGET=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"];class TryCatch{static __initStatic(){this.id="TryCatch"}constructor(options){this.name=TryCatch.id,this._options={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...options}}setupOnce(){this._options.setTimeout&&fill(helpers_WINDOW,"setTimeout",_wrapTimeFunction),this._options.setInterval&&fill(helpers_WINDOW,"setInterval",_wrapTimeFunction),this._options.requestAnimationFrame&&fill(helpers_WINDOW,"requestAnimationFrame",_wrapRAF),this._options.XMLHttpRequest&&"XMLHttpRequest"in helpers_WINDOW&&fill(XMLHttpRequest.prototype,"send",_wrapXHR);const eventTargetOption=this._options.eventTarget;eventTargetOption&&(Array.isArray(eventTargetOption)?eventTargetOption:DEFAULT_EVENT_TARGET).forEach(_wrapEventTarget)}}function _wrapTimeFunction(original){return function(...args){return args[0]=helpers_wrap(args[0],{mechanism:{data:{function:getFunctionName(original)},handled:!0,type:"instrument"}}),original.apply(this,args)}}function _wrapRAF(original){return function(callback){return original.apply(this,[helpers_wrap(callback,{mechanism:{data:{function:"requestAnimationFrame",handler:getFunctionName(original)},handled:!0,type:"instrument"}})])}}function _wrapXHR(originalSend){return function(...args){const xhr=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(prop2=>{prop2 in xhr&&"function"==typeof xhr[prop2]&&fill(xhr,prop2,function(original){const wrapOptions={mechanism:{data:{function:prop2,handler:getFunctionName(original)},handled:!0,type:"instrument"}},originalFunction=getOriginalFunction(original);return originalFunction&&(wrapOptions.mechanism.data.handler=getFunctionName(originalFunction)),helpers_wrap(original,wrapOptions)})}),originalSend.apply(this,args)}}function _wrapEventTarget(target){const proto=helpers_WINDOW[target]&&helpers_WINDOW[target].prototype;!proto||!proto.hasOwnProperty||!proto.hasOwnProperty("addEventListener")||(fill(proto,"addEventListener",function(original){return function(eventName,fn,options){try{"function"==typeof fn.handleEvent&&(fn.handleEvent=helpers_wrap(fn.handleEvent,{mechanism:{data:{function:"handleEvent",handler:getFunctionName(fn),target},handled:!0,type:"instrument"}}))}catch{}return original.apply(this,[eventName,helpers_wrap(fn,{mechanism:{data:{function:"addEventListener",handler:getFunctionName(fn),target},handled:!0,type:"instrument"}}),options])}}),fill(proto,"removeEventListener",function(originalRemoveEventListener){return function(eventName,fn,options){const wrappedEventHandler=fn;try{const originalEventHandler=wrappedEventHandler&&wrappedEventHandler.__sentry_wrapped__;originalEventHandler&&originalRemoveEventListener.call(this,eventName,originalEventHandler,options)}catch{}return originalRemoveEventListener.call(this,eventName,wrappedEventHandler,options)}}))}function applyAggregateErrorsToEvent(exceptionFromErrorImplementation,parser,maxValueLimit=250,key,limit,event,hint){if(!(event.exception&&event.exception.values&&hint&&isInstanceOf(hint.originalException,Error)))return;const originalException=event.exception.values.length>0?event.exception.values[event.exception.values.length-1]:void 0;originalException&&(event.exception.values=function truncateAggregateExceptions(exceptions,maxValueLength){return exceptions.map(exception=>(exception.value&&(exception.value=truncate(exception.value,maxValueLength)),exception))}(aggregateExceptionsFromError(exceptionFromErrorImplementation,parser,limit,hint.originalException,key,event.exception.values,originalException,0),maxValueLimit))}function aggregateExceptionsFromError(exceptionFromErrorImplementation,parser,limit,error,key,prevExceptions,exception,exceptionId){if(prevExceptions.length>=limit+1)return prevExceptions;let newExceptions=[...prevExceptions];if(isInstanceOf(error[key],Error)){applyExceptionGroupFieldsForParentException(exception,exceptionId);const newException=exceptionFromErrorImplementation(parser,error[key]),newExceptionId=newExceptions.length;applyExceptionGroupFieldsForChildException(newException,key,newExceptionId,exceptionId),newExceptions=aggregateExceptionsFromError(exceptionFromErrorImplementation,parser,limit,error[key],key,[newException,...newExceptions],newException,newExceptionId)}return Array.isArray(error.errors)&&error.errors.forEach((childError,i6)=>{if(isInstanceOf(childError,Error)){applyExceptionGroupFieldsForParentException(exception,exceptionId);const newException=exceptionFromErrorImplementation(parser,childError),newExceptionId=newExceptions.length;applyExceptionGroupFieldsForChildException(newException,`errors[${i6}]`,newExceptionId,exceptionId),newExceptions=aggregateExceptionsFromError(exceptionFromErrorImplementation,parser,limit,childError,key,[newException,...newExceptions],newException,newExceptionId)}}),newExceptions}function applyExceptionGroupFieldsForParentException(exception,exceptionId){exception.mechanism=exception.mechanism||{type:"generic",handled:!0},exception.mechanism={...exception.mechanism,is_exception_group:!0,exception_id:exceptionId}}function applyExceptionGroupFieldsForChildException(exception,source,exceptionId,parentId){exception.mechanism=exception.mechanism||{type:"generic",handled:!0},exception.mechanism={...exception.mechanism,type:"chained",source,exception_id:exceptionId,parent_id:parentId}}TryCatch.__initStatic();class LinkedErrors{static __initStatic(){this.id="LinkedErrors"}constructor(options={}){this.name=LinkedErrors.id,this._key=options.key||"cause",this._limit=options.limit||5}setupOnce(addGlobalEventProcessor2,getCurrentHub2){addGlobalEventProcessor2((event,hint)=>{const hub=getCurrentHub2(),client=hub.getClient(),self2=hub.getIntegration(LinkedErrors);if(!client||!self2)return event;const options=client.getOptions();return applyAggregateErrorsToEvent(exceptionFromError,options.stackParser,options.maxValueLength,self2._key,self2._limit,event,hint),event})}}LinkedErrors.__initStatic();class HttpContext{static __initStatic(){this.id="HttpContext"}constructor(){this.name=HttpContext.id}setupOnce(){addGlobalEventProcessor(event=>{if(hub_getCurrentHub().getIntegration(HttpContext)){if(!helpers_WINDOW.navigator&&!helpers_WINDOW.location&&!helpers_WINDOW.document)return event;const url=event.request&&event.request.url||helpers_WINDOW.location&&helpers_WINDOW.location.href,{referrer}=helpers_WINDOW.document||{},{userAgent}=helpers_WINDOW.navigator||{},headers={...event.request&&event.request.headers,...referrer&&{Referer:referrer},...userAgent&&{"User-Agent":userAgent}},request={...event.request,...url&&{url},headers};return{...event,request}}return event})}}HttpContext.__initStatic();class Dedupe{static __initStatic(){this.id="Dedupe"}constructor(){this.name=Dedupe.id}setupOnce(addGlobalEventProcessor2,getCurrentHub2){const eventProcessor=currentEvent=>{if(currentEvent.type)return currentEvent;const self2=getCurrentHub2().getIntegration(Dedupe);if(self2){try{if(function dedupe_shouldDropEvent(currentEvent,previousEvent){return!(!previousEvent||!function _isSameMessageEvent(currentEvent,previousEvent){const currentMessage=currentEvent.message,previousMessage=previousEvent.message;return!(!currentMessage&&!previousMessage||currentMessage&&!previousMessage||!currentMessage&&previousMessage||currentMessage!==previousMessage||!_isSameFingerprint(currentEvent,previousEvent)||!_isSameStacktrace(currentEvent,previousEvent))}(currentEvent,previousEvent)&&!function _isSameExceptionEvent(currentEvent,previousEvent){const previousException=_getExceptionFromEvent(previousEvent),currentException=_getExceptionFromEvent(currentEvent);return!!(previousException&¤tException&&previousException.type===currentException.type&&previousException.value===currentException.value&&_isSameFingerprint(currentEvent,previousEvent)&&_isSameStacktrace(currentEvent,previousEvent))}(currentEvent,previousEvent))}(currentEvent,self2._previousEvent))return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{return self2._previousEvent=currentEvent}return self2._previousEvent=currentEvent}return currentEvent};eventProcessor.id=this.name,addGlobalEventProcessor2(eventProcessor)}}function _isSameStacktrace(currentEvent,previousEvent){let currentFrames=_getFramesFromEvent(currentEvent),previousFrames=_getFramesFromEvent(previousEvent);if(!currentFrames&&!previousFrames)return!0;if(currentFrames&&!previousFrames||!currentFrames&&previousFrames||previousFrames.length!==currentFrames.length)return!1;for(let i6=0;i6|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,chromeEvalRegex=/\((\S*)(?::(\d+))(?::(\d+))\)/,geckoREgex=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,geckoEvalRegex=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,winjsRegex=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,defaultStackParser=createStackParser([30,line=>{const parts=chromeRegex.exec(line);if(parts){if(parts[2]&&0===parts[2].indexOf("eval")){const subMatch=chromeEvalRegex.exec(parts[2]);subMatch&&(parts[2]=subMatch[1],parts[3]=subMatch[2],parts[4]=subMatch[3])}const[func,filename]=extractSafariExtensionDetails(parts[1]||"?",parts[2]);return createFrame(filename,func,parts[3]?+parts[3]:void 0,parts[4]?+parts[4]:void 0)}}],[50,line=>{const parts=geckoREgex.exec(line);if(parts){if(parts[3]&&parts[3].indexOf(" > eval")>-1){const subMatch=geckoEvalRegex.exec(parts[3]);subMatch&&(parts[1]=parts[1]||"eval",parts[3]=subMatch[1],parts[4]=subMatch[2],parts[5]="")}let filename=parts[3],func=parts[1]||"?";return[func,filename]=extractSafariExtensionDetails(func,filename),createFrame(filename,func,parts[4]?+parts[4]:void 0,parts[5]?+parts[5]:void 0)}}],[40,line=>{const parts=winjsRegex.exec(line);return parts?createFrame(parts[2],parts[1]||"?",+parts[3],parts[4]?+parts[4]:void 0):void 0}]),extractSafariExtensionDetails=(func,filename)=>{const isSafariExtension=-1!==func.indexOf("safari-extension"),isSafariWebExtension=-1!==func.indexOf("safari-web-extension");return isSafariExtension||isSafariWebExtension?[-1!==func.indexOf("@")?func.split("@")[0]:"?",isSafariExtension?`safari-extension:${filename}`:`safari-web-extension:${filename}`]:[func,filename]};const DEFAULT_RETRY_AFTER=6e4;const DEFAULT_TRANSPORT_BUFFER_SIZE=30;function createTransport(options,makeRequest2,buffer=function makePromiseBuffer(limit){const buffer=[];function remove2(task){return buffer.splice(buffer.indexOf(task),1)[0]}return{$:buffer,add:function add(taskProducer){if(!function isReady(){return void 0===limit||buffer.lengthremove2(task)).then(null,()=>remove2(task).then(null,()=>{})),task},drain:function drain(timeout){return new SyncPromise((resolve,reject)=>{let counter=buffer.length;if(!counter)return resolve(!0);const capturedSetTimeout=setTimeout(()=>{timeout&&timeout>0&&resolve(!1)},timeout);buffer.forEach(item=>{resolvedSyncPromise(item).then(()=>{--counter||(clearTimeout(capturedSetTimeout),resolve(!0))},reject)})})}}}(options.bufferSize||DEFAULT_TRANSPORT_BUFFER_SIZE)){let rateLimits={};function send(envelope){const filteredEnvelopeItems=[];if(forEachEnvelopeItem(envelope,(item,type)=>{const envelopeItemDataCategory=envelopeItemTypeToDataCategory(type);if(function isRateLimited(limits,category,now=Date.now()){return function disabledUntil(limits,category){return limits[category]||limits.all||0}(limits,category)>now}(rateLimits,envelopeItemDataCategory)){const event=getEventForEnvelopeItem(item,type);options.recordDroppedEvent("ratelimit_backoff",envelopeItemDataCategory,event)}else filteredEnvelopeItems.push(item)}),0===filteredEnvelopeItems.length)return resolvedSyncPromise();const filteredEnvelope=createEnvelope(envelope[0],filteredEnvelopeItems),recordEnvelopeLoss=reason=>{forEachEnvelopeItem(filteredEnvelope,(item,type)=>{const event=getEventForEnvelopeItem(item,type);options.recordDroppedEvent(reason,envelopeItemTypeToDataCategory(type),event)})};return buffer.add(()=>makeRequest2({body:serializeEnvelope(filteredEnvelope,options.textEncoder)}).then(response=>(void 0!==response.statusCode&&(response.statusCode<200||response.statusCode>=300)&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Sentry responded with status code ${response.statusCode} to sent event.`),rateLimits=function updateRateLimits(limits,{statusCode,headers},now=Date.now()){const updatedRateLimits={...limits},rateLimitHeader=headers&&headers["x-sentry-rate-limits"],retryAfterHeader=headers&&headers["retry-after"];if(rateLimitHeader)for(const limit of rateLimitHeader.trim().split(",")){const[retryAfter,categories]=limit.split(":",2),headerDelay=parseInt(retryAfter,10),delay=1e3*(isNaN(headerDelay)?60:headerDelay);if(categories)for(const category of categories.split(";"))updatedRateLimits[category]=now+delay;else updatedRateLimits.all=now+delay}else retryAfterHeader?updatedRateLimits.all=now+function parseRetryAfterHeader(header,now=Date.now()){const headerDelay=parseInt(`${header}`,10);if(!isNaN(headerDelay))return 1e3*headerDelay;const headerDate=Date.parse(`${header}`);return isNaN(headerDate)?DEFAULT_RETRY_AFTER:headerDate-now}(retryAfterHeader,now):429===statusCode&&(updatedRateLimits.all=now+6e4);return updatedRateLimits}(rateLimits,response),response),error=>{throw recordEnvelopeLoss("network_error"),error})).then(result=>result,error=>{if(error instanceof SentryError)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Skipped sending event because buffer is full."),recordEnvelopeLoss("queue_overflow"),resolvedSyncPromise();throw error})}return send.__sentry__baseTransport__=!0,{send,flush:timeout=>buffer.drain(timeout)}}function getEventForEnvelopeItem(item,type){if("event"===type||"transaction"===type)return Array.isArray(item)?item[1]:void 0}let cachedFetchImpl;function makeFetchTransport(options,nativeFetch=function getNativeFetchImplementation(){if(cachedFetchImpl)return cachedFetchImpl;if(isNativeFetch(helpers_WINDOW.fetch))return cachedFetchImpl=helpers_WINDOW.fetch.bind(helpers_WINDOW);const document2=helpers_WINDOW.document;let fetchImpl=helpers_WINDOW.fetch;if(document2&&"function"==typeof document2.createElement)try{const sandbox=document2.createElement("iframe");sandbox.hidden=!0,document2.head.appendChild(sandbox);const contentWindow=sandbox.contentWindow;contentWindow&&contentWindow.fetch&&(fetchImpl=contentWindow.fetch),document2.head.removeChild(sandbox)}catch(e2){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",e2)}return cachedFetchImpl=fetchImpl.bind(helpers_WINDOW)}()){let pendingBodySize=0,pendingCount=0;return createTransport(options,function makeRequest2(request){const requestSize=request.body.length;pendingBodySize+=requestSize,pendingCount++;const requestOptions={body:request.body,method:"POST",referrerPolicy:"origin",headers:options.headers,keepalive:pendingBodySize<=6e4&&pendingCount<15,...options.fetchOptions};try{return nativeFetch(options.url,requestOptions).then(response=>(pendingBodySize-=requestSize,pendingCount--,{statusCode:response.status,headers:{"x-sentry-rate-limits":response.headers.get("X-Sentry-Rate-Limits"),"retry-after":response.headers.get("Retry-After")}}))}catch(e2){return function clearCachedFetchImplementation(){cachedFetchImpl=void 0}(),pendingBodySize-=requestSize,pendingCount--,rejectedSyncPromise(e2)}})}const XHR_READYSTATE_DONE=4;function makeXHRTransport(options){return createTransport(options,function makeRequest2(request){return new SyncPromise((resolve,reject)=>{const xhr=new XMLHttpRequest;xhr.onerror=reject,xhr.onreadystatechange=()=>{xhr.readyState===XHR_READYSTATE_DONE&&resolve({statusCode:xhr.status,headers:{"x-sentry-rate-limits":xhr.getResponseHeader("X-Sentry-Rate-Limits"),"retry-after":xhr.getResponseHeader("Retry-After")}})},xhr.open("POST",options.url);for(const header in options.headers)Object.prototype.hasOwnProperty.call(options.headers,header)&&xhr.setRequestHeader(header,options.headers[header]);xhr.send(request.body)})})}const defaultIntegrations=[new InboundFilters,new FunctionToString,new TryCatch,new Breadcrumbs,new GlobalHandlers,new LinkedErrors,new Dedupe,new HttpContext];function showReportDialog(options={},hub=hub_getCurrentHub()){if(!helpers_WINDOW.document)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Global document not defined in showReportDialog call"));const{client,scope}=hub.getStackTop(),dsn=options.dsn||client&&client.getDsn();if(!dsn)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("DSN not configured for showReportDialog call"));scope&&(options.user={...scope.getUser(),...options.user}),options.eventId||(options.eventId=hub.lastEventId());const script=helpers_WINDOW.document.createElement("script");script.async=!0,script.crossOrigin="anonymous",script.src=function getReportDialogEndpoint(dsnLike,dialogOptions){const dsn=makeDsn(dsnLike);if(!dsn)return"";const endpoint=`${getBaseApiEndpoint(dsn)}embed/error-page/`;let encodedOptions=`dsn=${dsnToString(dsn)}`;for(const key in dialogOptions)if("dsn"!==key)if("user"===key){const user2=dialogOptions.user;if(!user2)continue;user2.name&&(encodedOptions+=`&name=${encodeURIComponent(user2.name)}`),user2.email&&(encodedOptions+=`&email=${encodeURIComponent(user2.email)}`)}else encodedOptions+=`&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key])}`;return`${endpoint}?${encodedOptions}`}(dsn,options),options.onLoad&&(script.onload=options.onLoad);const injectionPoint=helpers_WINDOW.document.head||helpers_WINDOW.document.body;injectionPoint?injectionPoint.appendChild(script):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Not injecting report dialog. No injection point found in HTML")}function startSessionOnHub(hub){hub.startSession({ignoreDuration:!0}),hub.captureSession()}function filter_filter(predicate,thisArg){return operate((source,subscriber)=>{let index=0;source.subscribe(createOperatorSubscriber(subscriber,value=>predicate.call(thisArg,value,index++)&&subscriber.next(value)))})}function finalize(callback){return operate((source,subscriber)=>{try{source.subscribe(subscriber)}finally{subscriber.add(callback)}})}class HttpHandler{}class HttpBackend{}class HttpHeaders{constructor(headers){this.normalizedNames=new Map,this.lazyUpdate=null,headers?"string"==typeof headers?this.lazyInit=()=>{this.headers=new Map,headers.split("\n").forEach(line=>{const index=line.indexOf(":");if(index>0){const name=line.slice(0,index),key=name.toLowerCase(),value=line.slice(index+1).trim();this.maybeSetNormalizedName(name,key),this.headers.has(key)?this.headers.get(key).push(value):this.headers.set(key,[value])}})}:typeof Headers<"u"&&headers instanceof Headers?(this.headers=new Map,headers.forEach((values,name)=>{this.setHeaderEntries(name,values)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(headers).forEach(([name,values])=>{this.setHeaderEntries(name,values)})}:this.headers=new Map}has(name){return this.init(),this.headers.has(name.toLowerCase())}get(name){this.init();const values=this.headers.get(name.toLowerCase());return values&&values.length>0?values[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(name){return this.init(),this.headers.get(name.toLowerCase())||null}append(name,value){return this.clone({name,value,op:"a"})}set(name,value){return this.clone({name,value,op:"s"})}delete(name,value){return this.clone({name,value,op:"d"})}maybeSetNormalizedName(name,lcName){this.normalizedNames.has(lcName)||this.normalizedNames.set(lcName,name)}init(){this.lazyInit&&(this.lazyInit instanceof HttpHeaders?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(update2=>this.applyUpdate(update2)),this.lazyUpdate=null))}copyFrom(other){other.init(),Array.from(other.headers.keys()).forEach(key=>{this.headers.set(key,other.headers.get(key)),this.normalizedNames.set(key,other.normalizedNames.get(key))})}clone(update2){const clone=new HttpHeaders;return clone.lazyInit=this.lazyInit&&this.lazyInit instanceof HttpHeaders?this.lazyInit:this,clone.lazyUpdate=(this.lazyUpdate||[]).concat([update2]),clone}applyUpdate(update2){const key=update2.name.toLowerCase();switch(update2.op){case"a":case"s":let value=update2.value;if("string"==typeof value&&(value=[value]),0===value.length)return;this.maybeSetNormalizedName(update2.name,key);const base=("a"===update2.op?this.headers.get(key):void 0)||[];base.push(...value),this.headers.set(key,base);break;case"d":const toDelete=update2.value;if(toDelete){let existing=this.headers.get(key);if(!existing)return;existing=existing.filter(value2=>-1===toDelete.indexOf(value2)),0===existing.length?(this.headers.delete(key),this.normalizedNames.delete(key)):this.headers.set(key,existing)}else this.headers.delete(key),this.normalizedNames.delete(key)}}setHeaderEntries(name,values){const headerValues=(Array.isArray(values)?values:[values]).map(value=>value.toString()),key=name.toLowerCase();this.headers.set(key,headerValues),this.maybeSetNormalizedName(name,key)}forEach(fn){this.init(),Array.from(this.normalizedNames.keys()).forEach(key=>fn(this.normalizedNames.get(key),this.headers.get(key)))}}class HttpUrlEncodingCodec{encodeKey(key){return standardEncoding(key)}encodeValue(value){return standardEncoding(value)}decodeKey(key){return decodeURIComponent(key)}decodeValue(value){return decodeURIComponent(value)}}const STANDARD_ENCODING_REGEX=/%(\d[a-f0-9])/gi,STANDARD_ENCODING_REPLACEMENTS={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function standardEncoding(v){return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX,(s,t)=>STANDARD_ENCODING_REPLACEMENTS[t]??s)}function valueToString(value){return`${value}`}class HttpParams{constructor(options={}){if(this.updates=null,this.cloneFrom=null,this.encoder=options.encoder||new HttpUrlEncodingCodec,options.fromString){if(options.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function paramParser(rawParams,codec){const map2=new Map;return rawParams.length>0&&rawParams.replace(/^\?/,"").split("&").forEach(param=>{const eqIdx=param.indexOf("="),[key,val]=-1==eqIdx?[codec.decodeKey(param),""]:[codec.decodeKey(param.slice(0,eqIdx)),codec.decodeValue(param.slice(eqIdx+1))],list2=map2.get(key)||[];list2.push(val),map2.set(key,list2)}),map2}(options.fromString,this.encoder)}else options.fromObject?(this.map=new Map,Object.keys(options.fromObject).forEach(key=>{const value=options.fromObject[key],values=Array.isArray(value)?value.map(valueToString):[valueToString(value)];this.map.set(key,values)})):this.map=null}has(param){return this.init(),this.map.has(param)}get(param){this.init();const res=this.map.get(param);return res?res[0]:null}getAll(param){return this.init(),this.map.get(param)||null}keys(){return this.init(),Array.from(this.map.keys())}append(param,value){return this.clone({param,value,op:"a"})}appendAll(params){const updates=[];return Object.keys(params).forEach(param=>{const value=params[param];Array.isArray(value)?value.forEach(_value=>{updates.push({param,value:_value,op:"a"})}):updates.push({param,value,op:"a"})}),this.clone(updates)}set(param,value){return this.clone({param,value,op:"s"})}delete(param,value){return this.clone({param,value,op:"d"})}toString(){return this.init(),this.keys().map(key=>{const eKey=this.encoder.encodeKey(key);return this.map.get(key).map(value=>eKey+"="+this.encoder.encodeValue(value)).join("&")}).filter(param=>""!==param).join("&")}clone(update2){const clone=new HttpParams({encoder:this.encoder});return clone.cloneFrom=this.cloneFrom||this,clone.updates=(this.updates||[]).concat(update2),clone}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(key=>this.map.set(key,this.cloneFrom.map.get(key))),this.updates.forEach(update2=>{switch(update2.op){case"a":case"s":const base=("a"===update2.op?this.map.get(update2.param):void 0)||[];base.push(valueToString(update2.value)),this.map.set(update2.param,base);break;case"d":if(void 0===update2.value){this.map.delete(update2.param);break}{let base2=this.map.get(update2.param)||[];const idx=base2.indexOf(valueToString(update2.value));-1!==idx&&base2.splice(idx,1),base2.length>0?this.map.set(update2.param,base2):this.map.delete(update2.param)}}}),this.cloneFrom=this.updates=null)}}class http_HttpContext{constructor(){this.map=new Map}set(token,value){return this.map.set(token,value),this}get(token){return this.map.has(token)||this.map.set(token,token.defaultValue()),this.map.get(token)}delete(token){return this.map.delete(token),this}has(token){return this.map.has(token)}keys(){return this.map.keys()}}function isArrayBuffer(value){return typeof ArrayBuffer<"u"&&value instanceof ArrayBuffer}function isBlob(value){return typeof Blob<"u"&&value instanceof Blob}function isFormData(value){return typeof FormData<"u"&&value instanceof FormData}class HttpRequest{constructor(method,url,third,fourth){let options;if(this.url=url,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=method.toUpperCase(),function mightHaveBody(method){switch(method){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||fourth?(this.body=void 0!==third?third:null,options=fourth):options=third,options&&(this.reportProgress=!!options.reportProgress,this.withCredentials=!!options.withCredentials,options.responseType&&(this.responseType=options.responseType),options.headers&&(this.headers=options.headers),options.context&&(this.context=options.context),options.params&&(this.params=options.params)),this.headers||(this.headers=new HttpHeaders),this.context||(this.context=new http_HttpContext),this.params){const params=this.params.toString();if(0===params.length)this.urlWithParams=url;else{const qIdx=url.indexOf("?");this.urlWithParams=url+(-1===qIdx?"?":qIdxheaders2.set(name,update2.setHeaders[name]),headers)),update2.setParams&&(params=Object.keys(update2.setParams).reduce((params2,param)=>params2.set(param,update2.setParams[param]),params)),new HttpRequest(method,url,body,{params,headers,context:context2,reportProgress,responseType,withCredentials})}}var HttpEventType=function(HttpEventType2){return HttpEventType2[HttpEventType2.Sent=0]="Sent",HttpEventType2[HttpEventType2.UploadProgress=1]="UploadProgress",HttpEventType2[HttpEventType2.ResponseHeader=2]="ResponseHeader",HttpEventType2[HttpEventType2.DownloadProgress=3]="DownloadProgress",HttpEventType2[HttpEventType2.Response=4]="Response",HttpEventType2[HttpEventType2.User=5]="User",HttpEventType2}(HttpEventType||{});class HttpResponseBase{constructor(init2,defaultStatus=200,defaultStatusText="OK"){this.headers=init2.headers||new HttpHeaders,this.status=void 0!==init2.status?init2.status:defaultStatus,this.statusText=init2.statusText||defaultStatusText,this.url=init2.url||null,this.ok=this.status>=200&&this.status<300}}class HttpHeaderResponse extends HttpResponseBase{constructor(init2={}){super(init2),this.type=HttpEventType.ResponseHeader}clone(update2={}){return new HttpHeaderResponse({headers:update2.headers||this.headers,status:void 0!==update2.status?update2.status:this.status,statusText:update2.statusText||this.statusText,url:update2.url||this.url||void 0})}}class HttpResponse extends HttpResponseBase{constructor(init2={}){super(init2),this.type=HttpEventType.Response,this.body=void 0!==init2.body?init2.body:null}clone(update2={}){return new HttpResponse({body:void 0!==update2.body?update2.body:this.body,headers:update2.headers||this.headers,status:void 0!==update2.status?update2.status:this.status,statusText:update2.statusText||this.statusText,url:update2.url||this.url||void 0})}}class HttpErrorResponse extends HttpResponseBase{constructor(init2){super(init2,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${init2.url||"(unknown url)"}`:`Http failure response for ${init2.url||"(unknown url)"}: ${init2.status} ${init2.statusText}`,this.error=init2.error||null}}function addBody(options,body){return{body,headers:options.headers,context:options.context,observe:options.observe,params:options.params,reportProgress:options.reportProgress,responseType:options.responseType,withCredentials:options.withCredentials}}let HttpClient=(()=>{var _class2;class HttpClient2{constructor(handler){this.handler=handler}request(first2,url,options={}){let req;if(first2 instanceof HttpRequest)req=first2;else{let headers,params;headers=options.headers instanceof HttpHeaders?options.headers:new HttpHeaders(options.headers),options.params&&(params=options.params instanceof HttpParams?options.params:new HttpParams({fromObject:options.params})),req=new HttpRequest(first2,url,void 0!==options.body?options.body:null,{headers,context:options.context,params,reportProgress:options.reportProgress,responseType:options.responseType||"json",withCredentials:options.withCredentials})}const events$=of_of(req).pipe(function concatMap_concatMap(project,resultSelector){return isFunction(resultSelector)?mergeMap_mergeMap(project,resultSelector,1):mergeMap_mergeMap(project,1)}(req2=>this.handler.handle(req2)));if(first2 instanceof HttpRequest||"events"===options.observe)return events$;const res$=events$.pipe(filter_filter(event=>event instanceof HttpResponse));switch(options.observe||"body"){case"body":switch(req.responseType){case"arraybuffer":return res$.pipe(map_map(res=>{if(null!==res.body&&!(res.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return res.body}));case"blob":return res$.pipe(map_map(res=>{if(null!==res.body&&!(res.body instanceof Blob))throw new Error("Response is not a Blob.");return res.body}));case"text":return res$.pipe(map_map(res=>{if(null!==res.body&&"string"!=typeof res.body)throw new Error("Response is not a string.");return res.body}));default:return res$.pipe(map_map(res=>res.body))}case"response":return res$;default:throw new Error(`Unreachable: unhandled observe type ${options.observe}}`)}}delete(url,options={}){return this.request("DELETE",url,options)}get(url,options={}){return this.request("GET",url,options)}head(url,options={}){return this.request("HEAD",url,options)}jsonp(url,callbackParam){return this.request("JSONP",url,{params:(new HttpParams).append(callbackParam,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(url,options={}){return this.request("OPTIONS",url,options)}patch(url,body,options={}){return this.request("PATCH",url,addBody(options,body))}post(url,body,options={}){return this.request("POST",url,addBody(options,body))}put(url,body,options={}){return this.request("PUT",url,addBody(options,body))}}return(_class2=HttpClient2).\u0275fac=function(t){return new(t||_class2)(core_inject(HttpHandler))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),HttpClient2})();function interceptorChainEndFn(req,finalHandlerFn){return finalHandlerFn(req)}function adaptLegacyInterceptorToChain(chainTailFn,interceptor){return(initialRequest,finalHandlerFn)=>interceptor.intercept(initialRequest,{handle:downstreamRequest=>chainTailFn(downstreamRequest,finalHandlerFn)})}const HTTP_INTERCEPTORS=new InjectionToken(""),HTTP_INTERCEPTOR_FNS=new InjectionToken(""),HTTP_ROOT_INTERCEPTOR_FNS=new InjectionToken("");function legacyInterceptorFnFactory(){let chain=null;return(req,handler)=>{null===chain&&(chain=(fesm2022_core_inject(HTTP_INTERCEPTORS,{optional:!0})??[]).reduceRight(adaptLegacyInterceptorToChain,interceptorChainEndFn));const pendingTasks=fesm2022_core_inject(InitialRenderPendingTasks),taskId=pendingTasks.add();return chain(req,handler).pipe(finalize(()=>pendingTasks.remove(taskId)))}}let HttpInterceptorHandler=(()=>{var _class3;class HttpInterceptorHandler2 extends HttpHandler{constructor(backend,injector){super(),this.backend=backend,this.injector=injector,this.chain=null,this.pendingTasks=fesm2022_core_inject(InitialRenderPendingTasks)}handle(initialRequest){if(null===this.chain){const dedupedInterceptorFns=Array.from(new Set([...this.injector.get(HTTP_INTERCEPTOR_FNS),...this.injector.get(HTTP_ROOT_INTERCEPTOR_FNS,[])]));this.chain=dedupedInterceptorFns.reduceRight((nextSequencedFn,interceptorFn)=>function chainedInterceptorFn(chainTailFn,interceptorFn,injector){return(initialRequest,finalHandlerFn)=>injector.runInContext(()=>interceptorFn(initialRequest,downstreamRequest=>chainTailFn(downstreamRequest,finalHandlerFn)))}(nextSequencedFn,interceptorFn,this.injector),interceptorChainEndFn)}const taskId=this.pendingTasks.add();return this.chain(initialRequest,downstreamRequest=>this.backend.handle(downstreamRequest)).pipe(finalize(()=>this.pendingTasks.remove(taskId)))}}return(_class3=HttpInterceptorHandler2).\u0275fac=function(t){return new(t||_class3)(core_inject(HttpBackend),core_inject(core_EnvironmentInjector))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac}),HttpInterceptorHandler2})();const XSSI_PREFIX=/^\)\]\}',?\n/;let HttpXhrBackend=(()=>{var _class6;class HttpXhrBackend2{constructor(xhrFactory){this.xhrFactory=xhrFactory}handle(req){if("JSONP"===req.method)throw new RuntimeError(-2800,!1);const xhrFactory=this.xhrFactory;return(xhrFactory.\u0275loadImpl?from_from(xhrFactory.\u0275loadImpl()):of_of(null)).pipe(switchMap_switchMap(()=>new Observable_Observable(observer=>{const xhr=xhrFactory.build();if(xhr.open(req.method,req.urlWithParams),req.withCredentials&&(xhr.withCredentials=!0),req.headers.forEach((name,values)=>xhr.setRequestHeader(name,values.join(","))),req.headers.has("Accept")||xhr.setRequestHeader("Accept","application/json, text/plain, */*"),!req.headers.has("Content-Type")){const detectedType=req.detectContentTypeHeader();null!==detectedType&&xhr.setRequestHeader("Content-Type",detectedType)}if(req.responseType){const responseType=req.responseType.toLowerCase();xhr.responseType="json"!==responseType?responseType:"text"}const reqBody=req.serializeBody();let headerResponse=null;const partialFromXhr=()=>{if(null!==headerResponse)return headerResponse;const statusText=xhr.statusText||"OK",headers=new HttpHeaders(xhr.getAllResponseHeaders()),url=function getResponseUrl(xhr){return"responseURL"in xhr&&xhr.responseURL?xhr.responseURL:/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())?xhr.getResponseHeader("X-Request-URL"):null}(xhr)||req.url;return headerResponse=new HttpHeaderResponse({headers,status:xhr.status,statusText,url}),headerResponse},onLoad2=()=>{let{headers,status,statusText,url}=partialFromXhr(),body=null;204!==status&&(body=typeof xhr.response>"u"?xhr.responseText:xhr.response),0===status&&(status=body?200:0);let ok=status>=200&&status<300;if("json"===req.responseType&&"string"==typeof body){const originalBody=body;body=body.replace(XSSI_PREFIX,"");try{body=""!==body?JSON.parse(body):null}catch(error){body=originalBody,ok&&(ok=!1,body={error,text:body})}}ok?(observer.next(new HttpResponse({body,headers,status,statusText,url:url||void 0})),observer.complete()):observer.error(new HttpErrorResponse({error:body,headers,status,statusText,url:url||void 0}))},onError=error=>{const{url}=partialFromXhr(),res=new HttpErrorResponse({error,status:xhr.status||0,statusText:xhr.statusText||"Unknown Error",url:url||void 0});observer.error(res)};let sentHeaders=!1;const onDownProgress=event=>{sentHeaders||(observer.next(partialFromXhr()),sentHeaders=!0);let progressEvent={type:HttpEventType.DownloadProgress,loaded:event.loaded};event.lengthComputable&&(progressEvent.total=event.total),"text"===req.responseType&&xhr.responseText&&(progressEvent.partialText=xhr.responseText),observer.next(progressEvent)},onUpProgress=event=>{let progress={type:HttpEventType.UploadProgress,loaded:event.loaded};event.lengthComputable&&(progress.total=event.total),observer.next(progress)};return xhr.addEventListener("load",onLoad2),xhr.addEventListener("error",onError),xhr.addEventListener("timeout",onError),xhr.addEventListener("abort",onError),req.reportProgress&&(xhr.addEventListener("progress",onDownProgress),null!==reqBody&&xhr.upload&&xhr.upload.addEventListener("progress",onUpProgress)),xhr.send(reqBody),observer.next({type:HttpEventType.Sent}),()=>{xhr.removeEventListener("error",onError),xhr.removeEventListener("abort",onError),xhr.removeEventListener("load",onLoad2),xhr.removeEventListener("timeout",onError),req.reportProgress&&(xhr.removeEventListener("progress",onDownProgress),null!==reqBody&&xhr.upload&&xhr.upload.removeEventListener("progress",onUpProgress)),xhr.readyState!==xhr.DONE&&xhr.abort()}})))}}return(_class6=HttpXhrBackend2).\u0275fac=function(t){return new(t||_class6)(core_inject(XhrFactory))},_class6.\u0275prov=core_defineInjectable({token:_class6,factory:_class6.\u0275fac}),HttpXhrBackend2})();const XSRF_ENABLED=new InjectionToken("XSRF_ENABLED"),XSRF_COOKIE_NAME=new InjectionToken("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),XSRF_HEADER_NAME=new InjectionToken("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class HttpXsrfTokenExtractor{}let HttpXsrfCookieExtractor=(()=>{var _class7;class HttpXsrfCookieExtractor2{constructor(doc,platform,cookieName){this.doc=doc,this.platform=platform,this.cookieName=cookieName,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const cookieString=this.doc.cookie||"";return cookieString!==this.lastCookieString&&(this.parseCount++,this.lastToken=parseCookieValue(cookieString,this.cookieName),this.lastCookieString=cookieString),this.lastToken}}return(_class7=HttpXsrfCookieExtractor2).\u0275fac=function(t){return new(t||_class7)(core_inject(common_DOCUMENT),core_inject(core_PLATFORM_ID),core_inject(XSRF_COOKIE_NAME))},_class7.\u0275prov=core_defineInjectable({token:_class7,factory:_class7.\u0275fac}),HttpXsrfCookieExtractor2})();function xsrfInterceptorFn(req,next){const lcUrl=req.url.toLowerCase();if(!fesm2022_core_inject(XSRF_ENABLED)||"GET"===req.method||"HEAD"===req.method||lcUrl.startsWith("http://")||lcUrl.startsWith("https://"))return next(req);const token=fesm2022_core_inject(HttpXsrfTokenExtractor).getToken(),headerName=fesm2022_core_inject(XSRF_HEADER_NAME);return null!=token&&!req.headers.has(headerName)&&(req=req.clone({headers:req.headers.set(headerName,token)})),next(req)}var HttpFeatureKind=function(HttpFeatureKind2){return HttpFeatureKind2[HttpFeatureKind2.Interceptors=0]="Interceptors",HttpFeatureKind2[HttpFeatureKind2.LegacyInterceptors=1]="LegacyInterceptors",HttpFeatureKind2[HttpFeatureKind2.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",HttpFeatureKind2[HttpFeatureKind2.NoXsrfProtection=3]="NoXsrfProtection",HttpFeatureKind2[HttpFeatureKind2.JsonpSupport=4]="JsonpSupport",HttpFeatureKind2[HttpFeatureKind2.RequestsMadeViaParent=5]="RequestsMadeViaParent",HttpFeatureKind2[HttpFeatureKind2.Fetch=6]="Fetch",HttpFeatureKind2}(HttpFeatureKind||{});function provideHttpClient(...features){const providers=[HttpClient,HttpXhrBackend,HttpInterceptorHandler,{provide:HttpHandler,useExisting:HttpInterceptorHandler},{provide:HttpBackend,useExisting:HttpXhrBackend},{provide:HTTP_INTERCEPTOR_FNS,useValue:xsrfInterceptorFn,multi:!0},{provide:XSRF_ENABLED,useValue:!0},{provide:HttpXsrfTokenExtractor,useClass:HttpXsrfCookieExtractor}];for(const feature of features)providers.push(...feature.\u0275providers);return function core_makeEnvironmentProviders(providers){return{\u0275providers:providers}}(providers)}const LEGACY_INTERCEPTOR_FN=new InjectionToken("LEGACY_INTERCEPTOR_FN");let HttpClientModule=(()=>{var _class10,kind,providers;class HttpClientModule2{}return(_class10=HttpClientModule2).\u0275fac=function(t){return new(t||_class10)},_class10.\u0275mod=\u0275\u0275defineNgModule({type:_class10}),_class10.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient((kind=HttpFeatureKind.LegacyInterceptors,providers=[{provide:LEGACY_INTERCEPTOR_FN,useFactory:legacyInterceptorFnFactory},{provide:HTTP_INTERCEPTOR_FNS,useExisting:LEGACY_INTERCEPTOR_FN,multi:!0}],{\u0275kind:kind,\u0275providers:providers}))]}),HttpClientModule2})();const IS_DEBUG_BUILD=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,isNgZoneEnabled=typeof Zone<"u"&&!!Zone.current;function isErrorOrErrorLikeObject(value){if(value instanceof Error)return!0;if(null===value||"object"!=typeof value)return!1;const candidate=value;return isString(candidate.name)&&isString(candidate.message)&&(void 0===candidate.stack||isString(candidate.stack))}let SentryErrorHandler=(()=>{class SentryErrorHandler2{constructor(options){this._registeredAfterSendEventHandler=!1,this._options=Object.assign({logErrors:!0},options)}handleError(error){const extractedError=this._extractError(error)||"Handled unknown error",eventId=function runOutsideAngular(callback){return isNgZoneEnabled?Zone.root.run(callback):callback()}(()=>captureException(extractedError,scope=>(scope.addEventProcessor(event=>(addExceptionMechanism(event,{type:"angular",handled:!1}),event)),scope)));if(this._options.logErrors&&console.error(extractedError),this._options.showDialog){const client=hub_getCurrentHub().getClient();client&&client.on&&!this._registeredAfterSendEventHandler?(client.on("afterSendEvent",event=>{event.type||showReportDialog(Object.assign(Object.assign({},this._options.dialogOptions),{eventId:event.event_id}))}),this._registeredAfterSendEventHandler=!0):(!client||!client.on)&&showReportDialog(Object.assign(Object.assign({},this._options.dialogOptions),{eventId}))}}_extractError(error){if(this._options.extractor){const defaultExtractor=this._defaultExtractor.bind(this);return this._options.extractor(error,defaultExtractor)}return this._defaultExtractor(error)}_defaultExtractor(errorCandidate){const error=function tryToUnwrapZonejsError(error){return error&&error.ngOriginalError?error.ngOriginalError:error}(errorCandidate);return error instanceof HttpErrorResponse?function extractHttpModuleError(error){return isErrorOrErrorLikeObject(error.error)?error.error:error.error instanceof ErrorEvent&&error.error.message?error.error.message:"string"==typeof error.error?`Server returned code ${error.status} with body "${error.error}"`:error.message}(error):"string"==typeof error||isErrorOrErrorLikeObject(error)?error:null}}return SentryErrorHandler2.\u0275fac=function(t){return new(t||SentryErrorHandler2)(core_inject("errorHandlerOptions"))},SentryErrorHandler2.\u0275prov=core_defineInjectable({token:SentryErrorHandler2,factory:SentryErrorHandler2.\u0275fac,providedIn:"root"}),SentryErrorHandler2})();function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function asyncToGenerator_asyncToGenerator(fn){return function(){var self2=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self2,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)})}}var esm_node=__webpack_require__(6789);const esm_WINDOW=worldwide.n2,REPLAY_SESSION_KEY="sentryReplaySession",REPLAY_EVENT_NAME="replay_event",UNABLE_TO_SEND_REPLAY="Unable to send Replay",RETRY_BASE_INTERVAL=5e3,RETRY_MAX_COUNT=3,NETWORK_BODY_MAX_SIZE=15e4;var NodeType$1=function(NodeType2){return NodeType2[NodeType2.Document=0]="Document",NodeType2[NodeType2.DocumentType=1]="DocumentType",NodeType2[NodeType2.Element=2]="Element",NodeType2[NodeType2.Text=3]="Text",NodeType2[NodeType2.CDATA=4]="CDATA",NodeType2[NodeType2.Comment=5]="Comment",NodeType2}(NodeType$1||{});function isShadowRoot(n){const host=n?.host;return!(!host||!host.shadowRoot||host.shadowRoot!==n)}function isInputTypeMasked({maskInputOptions,tagName,type}){"option"===tagName.toLowerCase()&&(tagName="select");const actualType="string"==typeof type?type.toLowerCase():void 0;return maskInputOptions[tagName.toLowerCase()]||actualType&&maskInputOptions[actualType]||"password"===actualType||"input"===tagName&&!type&&maskInputOptions.text}function maskInputValue({input,maskInputSelector,unmaskInputSelector,maskInputOptions,tagName,type,value,maskInputFn}){let text=value||"";return unmaskInputSelector&&input.matches(unmaskInputSelector)||(input.hasAttribute("data-rr-is-password")&&(type="password"),(isInputTypeMasked({maskInputOptions,tagName,type})||maskInputSelector&&input.matches(maskInputSelector))&&(text=maskInputFn?maskInputFn(text):"*".repeat(text.length))),text}const ORIGINAL_ATTRIBUTE_NAME="__rrweb_original__";function getInputType(element){const type=element.type;return element.hasAttribute("data-rr-is-password")?"password":type?type.toLowerCase():null}function getInputValue(el,tagName,type){return"string"==typeof type&&type.toLowerCase(),"INPUT"!==tagName||"radio"!==type&&"checkbox"!==type?el.value:el.getAttribute("value")||""}let _id=1;const tagNameRegex=new RegExp("[^a-z0-9-_:]"),IGNORED_NODE=-2;function defaultMaskFn(str){return str?str.replace(/[\S]/g,"*"):""}function getCssRulesString(s){try{const rules=s.rules||s.cssRules;return rules?Array.from(rules).map(getCssRuleString).join(""):null}catch{return null}}function getCssRuleString(rule){let cssStringified=rule.cssText;if(function isCSSImportRule(rule){return"styleSheet"in rule}(rule))try{cssStringified=getCssRulesString(rule.styleSheet)||cssStringified}catch{}return validateStringifiedCssRule(cssStringified)}function validateStringifiedCssRule(cssStringified){return cssStringified.indexOf(":")>-1?cssStringified.replace(/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm,"$1\\$2"):cssStringified}let canvasService,canvasCtx;const URL_IN_CSS_REF=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,RELATIVE_PATH=/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/,DATA_URI=/^(data:)([^,]*),(.*)/i;function absoluteToStylesheet(cssText,href){return(cssText||"").replace(URL_IN_CSS_REF,(origin,quote1,path1,quote2,path2,path3)=>{const filePath=path1||path2||path3,maybeQuote=quote1||quote2||"";if(!filePath)return origin;if(!RELATIVE_PATH.test(filePath))return`url(${maybeQuote}${filePath}${maybeQuote})`;if(DATA_URI.test(filePath))return`url(${maybeQuote}${filePath}${maybeQuote})`;if("/"===filePath[0])return`url(${maybeQuote}${function extractOrigin(url){let origin="";return origin=url.indexOf("//")>-1?url.split("/").slice(0,3).join("/"):url.split("/")[0],origin=origin.split("?")[0],origin}(href)+filePath}${maybeQuote})`;const stack=href.split("/"),parts=filePath.split("/");stack.pop();for(const part of parts)"."!==part&&(".."===part?stack.pop():stack.push(part));return`url(${maybeQuote}${stack.join("/")}${maybeQuote})`})}const SRCSET_NOT_SPACES=/^[^ \t\n\r\u000c]+/,SRCSET_COMMAS_OR_SPACES=/^[, \t\n\r\u000c]+/;function absoluteToDoc(doc,attributeValue){if(!attributeValue||""===attributeValue.trim())return attributeValue;const a=doc.createElement("a");return a.href=attributeValue,a.href}function getHref(){const a=document.createElement("a");return a.href="",a.href}function transformAttribute(doc,element,_tagName,_name,value,maskAllText,unmaskTextSelector,maskTextFn){if(!value)return value;const name=_name.toLowerCase(),tagName=_tagName.toLowerCase();return"src"===name||"href"===name||"xlink:href"===name&&"#"!==value[0]||"background"===name&&("table"===tagName||"td"===tagName||"th"===tagName)?absoluteToDoc(doc,value):"srcset"===name?function getAbsoluteSrcsetString(doc,attributeValue){if(""===attributeValue.trim())return attributeValue;let pos=0;function collectCharacters(regEx){let chars2,match2=regEx.exec(attributeValue.substring(pos));return match2?(chars2=match2[0],pos+=chars2.length,chars2):""}let output=[];for(;collectCharacters(SRCSET_COMMAS_OR_SPACES),!(pos>=attributeValue.length);){let url=collectCharacters(SRCSET_NOT_SPACES);if(","===url.slice(-1))url=absoluteToDoc(doc,url.substring(0,url.length-1)),output.push(url);else{let descriptorsStr="";url=absoluteToDoc(doc,url);let inParens=!1;for(;;){let c=attributeValue.charAt(pos);if(""===c){output.push((url+descriptorsStr).trim());break}if(inParens)")"===c&&(inParens=!1);else{if(","===c){pos+=1,output.push((url+descriptorsStr).trim());break}"("===c&&(inParens=!0)}descriptorsStr+=c,pos+=1}}}return output.join(", ")}(doc,value):"style"===name?absoluteToStylesheet(value,getHref()):"object"===tagName&&"data"===name?absoluteToDoc(doc,value):maskAllText&&function _shouldMaskAttribute(element,attribute,tagName,unmaskTextSelector){return(!unmaskTextSelector||!element.matches(unmaskTextSelector))&&(["placeholder","title","aria-label"].indexOf(attribute)>-1||"input"===tagName&&"value"===attribute&&element.hasAttribute("type")&&["submit","button"].indexOf(element.getAttribute("type").toLowerCase())>-1)}(element,name,tagName,unmaskTextSelector)?maskTextFn?maskTextFn(value):defaultMaskFn(value):value}function needMaskingText(node2,maskTextClass,maskTextSelector,unmaskTextSelector,maskAllText){if(!node2)return!1;if(node2.nodeType!==node2.ELEMENT_NODE)return needMaskingText(node2.parentNode,maskTextClass,maskTextSelector,unmaskTextSelector,maskAllText);if(unmaskTextSelector&&(node2.matches(unmaskTextSelector)||node2.closest(unmaskTextSelector)))return!1;if(maskAllText)return!0;if("string"==typeof maskTextClass){if(node2.classList.contains(maskTextClass))return!0}else for(let eIndex=0;eIndex!1}=options;let{preserveWhiteSpace=!0}=options;const _serializedNode=function serializeNode(n,options){var _a;const{doc,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions={},maskTextFn,maskInputFn,dataURLOptions={},inlineImages,recordCanvas,keepIframeSrcFn}=options;let rootId;if(doc.__sn){const docId=doc.__sn.id;rootId=1===docId?void 0:docId}switch(n.nodeType){case n.DOCUMENT_NODE:return"CSS1Compat"!==n.compatMode?{type:NodeType$1.Document,childNodes:[],compatMode:n.compatMode,rootId}:{type:NodeType$1.Document,childNodes:[],rootId};case n.DOCUMENT_TYPE_NODE:return{type:NodeType$1.DocumentType,name:n.name,publicId:n.publicId,systemId:n.systemId,rootId};case n.ELEMENT_NODE:const needBlock=function _isBlockedElement(element,blockClass,blockSelector,unblockSelector){if(unblockSelector&&element.matches(unblockSelector))return!1;if("string"==typeof blockClass){if(element.classList.contains(blockClass))return!0}else for(let eIndex=0;eIndexs.href===n.href);let cssText=null;stylesheet&&(cssText=getCssRulesString(stylesheet)),cssText&&(delete attributes.rel,delete attributes.href,attributes._cssText=absoluteToStylesheet(cssText,stylesheet.href))}if("style"===tagName&&n.sheet&&!(n.innerText||n.textContent||"").trim().length){const cssText=getCssRulesString(n.sheet);cssText&&(attributes._cssText=absoluteToStylesheet(cssText,getHref()))}if("input"===tagName||"textarea"===tagName||"select"===tagName||"option"===tagName){const el=n,type=getInputType(el),value=getInputValue(el,tagName.toUpperCase(),type),checked=n.checked;"submit"!==type&&"button"!==type&&value&&(attributes.value=maskInputValue({input:el,type,tagName,value,maskInputSelector,unmaskInputSelector,maskInputOptions,maskInputFn})),checked&&(attributes.checked=checked)}if("option"===tagName&&(n.selected&&!maskInputOptions.select?attributes.selected=!0:delete attributes.selected),"canvas"===tagName&&recordCanvas)if("2d"===n.__context)(function is2DCanvasBlank(canvas){const ctx=canvas.getContext("2d");if(!ctx)return!0;for(let x=0;x0!==pixel))return!1}return!0})(n)||(attributes.rr_dataURL=n.toDataURL(dataURLOptions.type,dataURLOptions.quality));else if(!("__context"in n)){const canvasDataURL=n.toDataURL(dataURLOptions.type,dataURLOptions.quality),blankCanvas=document.createElement("canvas");blankCanvas.width=n.width,blankCanvas.height=n.height,canvasDataURL!==blankCanvas.toDataURL(dataURLOptions.type,dataURLOptions.quality)&&(attributes.rr_dataURL=canvasDataURL)}if("img"===tagName&&inlineImages){canvasService||(canvasService=doc.createElement("canvas"),canvasCtx=canvasService.getContext("2d"));const image=n,oldValue=image.crossOrigin;image.crossOrigin="anonymous";const recordInlineImage=()=>{try{canvasService.width=image.naturalWidth,canvasService.height=image.naturalHeight,canvasCtx.drawImage(image,0,0),attributes.rr_dataURL=canvasService.toDataURL(dataURLOptions.type,dataURLOptions.quality)}catch(err){console.warn(`Cannot inline img src=${image.currentSrc}! Error: ${err}`)}oldValue?attributes.crossOrigin=oldValue:delete attributes.crossOrigin};image.complete&&0!==image.naturalWidth?recordInlineImage():image.onload=recordInlineImage}if(("audio"===tagName||"video"===tagName)&&(attributes.rr_mediaState=n.paused?"paused":"played",attributes.rr_mediaCurrentTime=n.currentTime),n.scrollLeft&&(attributes.rr_scrollLeft=n.scrollLeft),n.scrollTop&&(attributes.rr_scrollTop=n.scrollTop),needBlock){const{width,height}=n.getBoundingClientRect();attributes={class:attributes.class,rr_width:`${width}px`,rr_height:`${height}px`}}return"iframe"===tagName&&!keepIframeSrcFn(attributes.src)&&(n.contentDocument||(attributes.rr_src=attributes.src),delete attributes.src),{type:NodeType$1.Element,tagName,attributes,childNodes:[],isSVG:(el=n,!("svg"!==el.tagName&&!el.ownerSVGElement)||void 0),needBlock,rootId};case n.TEXT_NODE:const parentTagName=n.parentNode&&n.parentNode.tagName;let textContent=n.textContent;const isStyle="STYLE"===parentTagName||void 0,isScript="SCRIPT"===parentTagName||void 0;if(isStyle&&textContent){try{n.nextSibling||n.previousSibling||null!==(_a=n.parentNode.sheet)&&void 0!==_a&&_a.cssRules&&(textContent=function stringifyStyleSheet(sheet){return sheet.cssRules?Array.from(sheet.cssRules).map(rule=>rule.cssText?validateStringifiedCssRule(rule.cssText):"").join(""):""}(n.parentNode.sheet))}catch(err){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${err}`,n)}textContent=absoluteToStylesheet(textContent,getHref())}return isScript&&(textContent="SCRIPT_PLACEHOLDER"),"TEXTAREA"===parentTagName&&textContent?textContent="":"OPTION"===parentTagName&&textContent?textContent=maskInputValue({input:n.parentNode,type:null,tagName:parentTagName,value:textContent,maskInputSelector,unmaskInputSelector,maskInputOptions,maskInputFn}):!isStyle&&!isScript&&needMaskingText(n,maskTextClass,maskTextSelector,unmaskTextSelector,maskAllText)&&textContent&&(textContent=maskTextFn?maskTextFn(textContent):defaultMaskFn(textContent)),{type:NodeType$1.Text,textContent:textContent||"",isStyle,rootId};case n.CDATA_SECTION_NODE:return{type:NodeType$1.CDATA,textContent:"",rootId};case n.COMMENT_NODE:return{type:NodeType$1.Comment,textContent:n.textContent||"",rootId};default:return!1}var el}(n,{doc,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions,maskTextFn,maskInputFn,dataURLOptions,inlineImages,recordCanvas,keepIframeSrcFn});if(!_serializedNode)return console.warn(n,"not serialized"),null;let id;id="__sn"in n?n.__sn.id:function slimDOMExcluded(sn,slimDOMOptions){if(slimDOMOptions.comment&&sn.type===NodeType$1.Comment)return!0;if(sn.type===NodeType$1.Element){if(slimDOMOptions.script&&("script"===sn.tagName||"link"===sn.tagName&&("preload"===sn.attributes.rel||"modulepreload"===sn.attributes.rel)&&"script"===sn.attributes.as||"link"===sn.tagName&&"prefetch"===sn.attributes.rel&&"string"==typeof sn.attributes.href&&sn.attributes.href.endsWith(".js")))return!0;if(slimDOMOptions.headFavicon&&("link"===sn.tagName&&"shortcut icon"===sn.attributes.rel||"meta"===sn.tagName&&(lowerIfExists(sn.attributes.name).match(/^msapplication-tile(image|color)$/)||"application-name"===lowerIfExists(sn.attributes.name)||"icon"===lowerIfExists(sn.attributes.rel)||"apple-touch-icon"===lowerIfExists(sn.attributes.rel)||"shortcut icon"===lowerIfExists(sn.attributes.rel))))return!0;if("meta"===sn.tagName){if(slimDOMOptions.headMetaDescKeywords&&lowerIfExists(sn.attributes.name).match(/^description|keywords$/))return!0;if(slimDOMOptions.headMetaSocial&&(lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/)||lowerIfExists(sn.attributes.name).match(/^(og|twitter):/)||"pinterest"===lowerIfExists(sn.attributes.name)))return!0;if(slimDOMOptions.headMetaRobots&&("robots"===lowerIfExists(sn.attributes.name)||"googlebot"===lowerIfExists(sn.attributes.name)||"bingbot"===lowerIfExists(sn.attributes.name)))return!0;if(slimDOMOptions.headMetaHttpEquiv&&void 0!==sn.attributes["http-equiv"])return!0;if(slimDOMOptions.headMetaAuthorship&&("author"===lowerIfExists(sn.attributes.name)||"generator"===lowerIfExists(sn.attributes.name)||"framework"===lowerIfExists(sn.attributes.name)||"publisher"===lowerIfExists(sn.attributes.name)||"progid"===lowerIfExists(sn.attributes.name)||lowerIfExists(sn.attributes.property).match(/^article:/)||lowerIfExists(sn.attributes.property).match(/^product:/)))return!0;if(slimDOMOptions.headMetaVerification&&("google-site-verification"===lowerIfExists(sn.attributes.name)||"yandex-verification"===lowerIfExists(sn.attributes.name)||"csrf-token"===lowerIfExists(sn.attributes.name)||"p:domain_verify"===lowerIfExists(sn.attributes.name)||"verify-v1"===lowerIfExists(sn.attributes.name)||"verification"===lowerIfExists(sn.attributes.name)||"shopify-checkout-api-token"===lowerIfExists(sn.attributes.name)))return!0}}return!1}(_serializedNode,slimDOMOptions)||!preserveWhiteSpace&&_serializedNode.type===NodeType$1.Text&&!_serializedNode.isStyle&&!_serializedNode.textContent.replace(/^\s+|\s+$/gm,"").length?IGNORED_NODE:function genId(){return _id++}();const serializedNode=Object.assign(_serializedNode,{id});if(n.__sn=serializedNode,id===IGNORED_NODE)return null;map2[id]=n,onSerialize&&onSerialize(n);let recordChild=!skipChild;if(serializedNode.type===NodeType$1.Element&&(recordChild=recordChild&&!serializedNode.needBlock,delete serializedNode.needBlock,n.shadowRoot&&(serializedNode.isShadowHost=!0)),(serializedNode.type===NodeType$1.Document||serializedNode.type===NodeType$1.Element)&&recordChild){slimDOMOptions.headWhitespace&&_serializedNode.type===NodeType$1.Element&&"head"===_serializedNode.tagName&&(preserveWhiteSpace=!1);const bypassOptions={doc,map:map2,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,skipChild,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions,maskTextFn,maskInputFn,slimDOMOptions,dataURLOptions,inlineImages,recordCanvas,preserveWhiteSpace,onSerialize,onIframeLoad,iframeLoadTimeout,keepIframeSrcFn};for(const childN of Array.from(n.childNodes)){const serializedChildNode=serializeNodeWithId(childN,bypassOptions);serializedChildNode&&serializedNode.childNodes.push(serializedChildNode)}if(function esm_isElement(n){return n.nodeType===n.ELEMENT_NODE}(n)&&n.shadowRoot)for(const childN of Array.from(n.shadowRoot.childNodes)){const serializedChildNode=serializeNodeWithId(childN,bypassOptions);serializedChildNode&&(serializedChildNode.isShadow=!0,serializedNode.childNodes.push(serializedChildNode))}}return n.parentNode&&isShadowRoot(n.parentNode)&&(serializedNode.isShadow=!0),serializedNode.type===NodeType$1.Element&&"iframe"===serializedNode.tagName&&function onceIframeLoaded(iframeEl,listener,iframeLoadTimeout){const win2=iframeEl.contentWindow;if(!win2)return;let readyState,fired=!1;try{readyState=win2.document.readyState}catch{return}if("complete"===readyState)"about:blank"===win2.location.href&&"about:blank"!==iframeEl.src&&""!==iframeEl.src?iframeEl.addEventListener("load",listener):setTimeout(listener,0);else{const timer2=setTimeout(()=>{fired||(listener(),fired=!0)},iframeLoadTimeout);iframeEl.addEventListener("load",()=>{clearTimeout(timer2),fired=!0,listener()})}}(n,()=>{const iframeDoc=n.contentDocument;if(iframeDoc&&onIframeLoad){const serializedIframeNode=serializeNodeWithId(iframeDoc,{doc:iframeDoc,map:map2,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,skipChild:!1,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions,maskTextFn,maskInputFn,slimDOMOptions,dataURLOptions,inlineImages,recordCanvas,preserveWhiteSpace,onSerialize,onIframeLoad,iframeLoadTimeout,keepIframeSrcFn});serializedIframeNode&&onIframeLoad(n,serializedIframeNode)}},iframeLoadTimeout),serializedNode}function skipAttribute(tagName,attributeName,value){return("video"===tagName||"audio"===tagName)&&"autoplay"===attributeName}var EventType=function(EventType2){return EventType2[EventType2.DomContentLoaded=0]="DomContentLoaded",EventType2[EventType2.Load=1]="Load",EventType2[EventType2.FullSnapshot=2]="FullSnapshot",EventType2[EventType2.IncrementalSnapshot=3]="IncrementalSnapshot",EventType2[EventType2.Meta=4]="Meta",EventType2[EventType2.Custom=5]="Custom",EventType2[EventType2.Plugin=6]="Plugin",EventType2}(EventType||{}),IncrementalSource=function(IncrementalSource2){return IncrementalSource2[IncrementalSource2.Mutation=0]="Mutation",IncrementalSource2[IncrementalSource2.MouseMove=1]="MouseMove",IncrementalSource2[IncrementalSource2.MouseInteraction=2]="MouseInteraction",IncrementalSource2[IncrementalSource2.Scroll=3]="Scroll",IncrementalSource2[IncrementalSource2.ViewportResize=4]="ViewportResize",IncrementalSource2[IncrementalSource2.Input=5]="Input",IncrementalSource2[IncrementalSource2.TouchMove=6]="TouchMove",IncrementalSource2[IncrementalSource2.MediaInteraction=7]="MediaInteraction",IncrementalSource2[IncrementalSource2.StyleSheetRule=8]="StyleSheetRule",IncrementalSource2[IncrementalSource2.CanvasMutation=9]="CanvasMutation",IncrementalSource2[IncrementalSource2.Font=10]="Font",IncrementalSource2[IncrementalSource2.Log=11]="Log",IncrementalSource2[IncrementalSource2.Drag=12]="Drag",IncrementalSource2[IncrementalSource2.StyleDeclaration=13]="StyleDeclaration",IncrementalSource2}(IncrementalSource||{}),MouseInteractions=function(MouseInteractions2){return MouseInteractions2[MouseInteractions2.MouseUp=0]="MouseUp",MouseInteractions2[MouseInteractions2.MouseDown=1]="MouseDown",MouseInteractions2[MouseInteractions2.Click=2]="Click",MouseInteractions2[MouseInteractions2.ContextMenu=3]="ContextMenu",MouseInteractions2[MouseInteractions2.DblClick=4]="DblClick",MouseInteractions2[MouseInteractions2.Focus=5]="Focus",MouseInteractions2[MouseInteractions2.Blur=6]="Blur",MouseInteractions2[MouseInteractions2.TouchStart=7]="TouchStart",MouseInteractions2[MouseInteractions2.TouchMove_Departed=8]="TouchMove_Departed",MouseInteractions2[MouseInteractions2.TouchEnd=9]="TouchEnd",MouseInteractions2[MouseInteractions2.TouchCancel=10]="TouchCancel",MouseInteractions2}(MouseInteractions||{}),CanvasContext=function(CanvasContext2){return CanvasContext2[CanvasContext2["2D"]=0]="2D",CanvasContext2[CanvasContext2.WebGL=1]="WebGL",CanvasContext2[CanvasContext2.WebGL2=2]="WebGL2",CanvasContext2}(CanvasContext||{});function on(type,fn,target=document){const options={capture:!0,passive:!0};return target.addEventListener(type,fn,options),()=>target.removeEventListener(type,fn,options)}const DEPARTED_MIRROR_ACCESS_WARNING="Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";let _mirror={map:{},getId:()=>(console.error(DEPARTED_MIRROR_ACCESS_WARNING),-1),getNode:()=>(console.error(DEPARTED_MIRROR_ACCESS_WARNING),null),removeNodeFromMap(){console.error(DEPARTED_MIRROR_ACCESS_WARNING)},has:()=>(console.error(DEPARTED_MIRROR_ACCESS_WARNING),!1),reset(){console.error(DEPARTED_MIRROR_ACCESS_WARNING)}};function throttle$1(func,wait,options={}){let timeout=null,previous=0;return function(arg){let now=Date.now();!previous&&!1===options.leading&&(previous=now);let remaining=wait-(now-previous),context2=this,args=arguments;remaining<=0||remaining>wait?(timeout&&(clearTimeout(timeout),timeout=null),previous=now,func.apply(context2,args)):!timeout&&!1!==options.trailing&&(timeout=setTimeout(()=>{previous=!1===options.leading?0:Date.now(),timeout=null,func.apply(context2,args)},remaining))}}function hookSetter(target,key,d,isRevoked,win2=window){const original=win2.Object.getOwnPropertyDescriptor(target,key);return win2.Object.defineProperty(target,key,isRevoked?d:{set(value){setTimeout(()=>{d.set.call(this,value)},0),original&&original.set&&original.set.call(this,value)}}),()=>hookSetter(target,key,original||{},!0)}function patch(source,name,replacement){try{if(!(name in source))return()=>{};const original=source[name],wrapped=replacement(original);return"function"==typeof wrapped&&(wrapped.prototype=wrapped.prototype||{},Object.defineProperties(wrapped,{__rrweb_original__:{enumerable:!1,value:original}})),source[name]=wrapped,()=>{source[name]=original}}catch{return()=>{}}}function getWindowHeight(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function getWindowWidth(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function isBlocked(node2,blockClass,blockSelector,unblockSelector){if(!node2)return!1;if(node2.nodeType===node2.ELEMENT_NODE){let needBlock=!1;const needUnblock=unblockSelector&&node2.matches(unblockSelector);return"string"==typeof blockClass?needBlock=void 0!==node2.closest?!needUnblock&&null!==node2.closest("."+blockClass):!needUnblock&&node2.classList.contains(blockClass):!needUnblock&&node2.classList.forEach(className=>{blockClass.test(className)&&(needBlock=!0)}),!needBlock&&blockSelector&&(needBlock=node2.matches(blockSelector)),!needUnblock&&needBlock||isBlocked(node2.parentNode,blockClass,blockSelector,unblockSelector)}return isBlocked(node2.parentNode,blockClass,blockSelector,unblockSelector)}function isIgnored(n){return"__sn"in n&&n.__sn.id===IGNORED_NODE}function isAncestorRemoved(target,mirror2){if(isShadowRoot(target))return!1;const id=mirror2.getId(target);return!mirror2.has(id)||(!target.parentNode||target.parentNode.nodeType!==target.DOCUMENT_NODE)&&(!target.parentNode||isAncestorRemoved(target.parentNode,mirror2))}function isTouchEvent(event){return!!event.changedTouches}function isIframeINode(node2){return"__sn"in node2&&node2.__sn.type===NodeType$1.Element&&"iframe"===node2.__sn.tagName}function hasShadowRoot(n){return!!n?.shadowRoot}function isNodeInLinkedList(n){return"__ln"in n}typeof window<"u"&&window.Proxy&&window.Reflect&&(_mirror=new Proxy(_mirror,{get:(target,prop2,receiver)=>("map"===prop2&&console.error(DEPARTED_MIRROR_ACCESS_WARNING),Reflect.get(target,prop2,receiver))}));class DoubleLinkedList{constructor(){this.length=0,this.head=null}get(position){if(position>=this.length)throw new Error("Position outside of list range");let current=this.head;for(let index=0;index`${id}@${parentId}`;function isINode(n){return"__sn"in n}class MutationBuffer{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=mutations=>{mutations.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const adds=[],addList=new DoubleLinkedList,getNextId=n=>{let ns=n,nextId2=IGNORED_NODE;for(;nextId2===IGNORED_NODE;)ns=ns&&ns.nextSibling,nextId2=ns&&this.mirror.getId(ns);return nextId2},pushAdd=n=>{var _a,_b,_c,_d,_e;const shadowHost=n.getRootNode?null===(_a=n.getRootNode())||void 0===_a?void 0:_a.host:null;let rootShadowHost=shadowHost;for(;null!==(_c=null===(_b=rootShadowHost?.getRootNode)||void 0===_b?void 0:_b.call(rootShadowHost))&&void 0!==_c&&_c.host;)rootShadowHost=(null===(_e=null===(_d=rootShadowHost?.getRootNode)||void 0===_d?void 0:_d.call(rootShadowHost))||void 0===_e?void 0:_e.host)||null;const notInDoc=!(this.doc.contains(n)||rootShadowHost&&this.doc.contains(rootShadowHost));if(!n.parentNode||notInDoc)return;const parentId=isShadowRoot(n.parentNode)?this.mirror.getId(shadowHost):this.mirror.getId(n.parentNode),nextId2=getNextId(n);if(-1===parentId||-1===nextId2)return addList.addNode(n);let sn=serializeNodeWithId(n,{doc:this.doc,map:this.mirror.map,blockClass:this.blockClass,blockSelector:this.blockSelector,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,maskInputSelector:this.maskInputSelector,unmaskInputSelector:this.unmaskInputSelector,skipChild:!0,inlineStylesheet:this.inlineStylesheet,maskAllText:this.maskAllText,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:currentN=>{isIframeINode(currentN)&&this.iframeManager.addIframe(currentN),hasShadowRoot(n)&&this.shadowDomManager.addShadowRoot(n.shadowRoot,document)},onIframeLoad:(iframe,childSn)=>{this.iframeManager.attachIframe(iframe,childSn),this.shadowDomManager.observeAttachShadow(iframe)}});sn&&adds.push({parentId,nextId:nextId2,node:sn})};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const n of this.movedSet)isParentRemoved(this.removes,n,this.mirror)&&!this.movedSet.has(n.parentNode)||pushAdd(n);for(const n of this.addedSet)!isAncestorInSet(this.droppedSet,n)&&!isParentRemoved(this.removes,n,this.mirror)||isAncestorInSet(this.movedSet,n)?pushAdd(n):this.droppedSet.add(n);let candidate=null;for(;addList.length;){let node2=null;if(candidate){const parentId=this.mirror.getId(candidate.value.parentNode),nextId2=getNextId(candidate.value);-1!==parentId&&-1!==nextId2&&(node2=candidate)}if(!node2)for(let index=addList.length-1;index>=0;index--){const _node=addList.get(index);if(_node){const parentId=this.mirror.getId(_node.value.parentNode),nextId2=getNextId(_node.value);if(-1!==parentId&&-1!==nextId2){node2=_node;break}}}if(!node2){for(;addList.head;)addList.removeNode(addList.head.value);break}candidate=node2.previous,addList.removeNode(node2.value),pushAdd(node2.value)}const payload={texts:this.texts.map(text=>({id:this.mirror.getId(text.node),value:text.value})).filter(text=>this.mirror.has(text.id)),attributes:this.attributes.map(attribute=>({id:this.mirror.getId(attribute.node),attributes:attribute.attributes})).filter(attribute=>this.mirror.has(attribute.id)),removes:this.removes,adds};!payload.texts.length&&!payload.attributes.length&&!payload.removes.length&&!payload.adds.length||(this.texts=[],this.attributes=[],this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(payload))},this.processMutation=m=>{if(!isIgnored(m.target))switch(m.type){case"characterData":{const value=m.target.textContent;!isBlocked(m.target,this.blockClass,this.blockSelector,this.unblockSelector)&&value!==m.oldValue&&this.texts.push({value:needMaskingText(m.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextSelector,this.maskAllText)&&value?this.maskTextFn?this.maskTextFn(value):value.replace(/[\S]/g,"*"):value,node:m.target});break}case"attributes":{const target=m.target;let value=target.getAttribute(m.attributeName);if("value"===m.attributeName&&(value=maskInputValue({input:target,maskInputSelector:this.maskInputSelector,unmaskInputSelector:this.unmaskInputSelector,maskInputOptions:this.maskInputOptions,tagName:target.tagName,type:target.getAttribute("type"),value,maskInputFn:this.maskInputFn})),isBlocked(m.target,this.blockClass,this.blockSelector,this.unblockSelector)||value===m.oldValue)return;let item=this.attributes.find(a=>a.node===m.target);if(item||(item={node:m.target,attributes:{}},this.attributes.push(item)),"type"===m.attributeName&&"INPUT"===target.tagName&&"password"===(m.oldValue||"").toLowerCase()&&target.setAttribute("data-rr-is-password","true"),"style"===m.attributeName){const old=this.doc.createElement("span");m.oldValue&&old.setAttribute("style",m.oldValue),null==item.attributes.style&&(item.attributes.style={});try{const styleObj=item.attributes.style;for(const pname of Array.from(target.style)){const newValue=target.style.getPropertyValue(pname),newPriority=target.style.getPropertyPriority(pname);(newValue!==old.style.getPropertyValue(pname)||newPriority!==old.style.getPropertyPriority(pname))&&(styleObj[pname]=""===newPriority?newValue:[newValue,newPriority])}for(const pname of Array.from(old.style))""===target.style.getPropertyValue(pname)&&(styleObj[pname]=!1)}catch(error){console.warn("[rrweb] Error when parsing update to style attribute:",error)}}else{const element=m.target;item.attributes[m.attributeName]=transformAttribute(this.doc,element,element.tagName,m.attributeName,value,this.maskAllText,this.unmaskTextSelector,this.maskTextFn)}break}case"childList":m.addedNodes.forEach(n=>this.genAdds(n,m.target)),m.removedNodes.forEach(n=>{const nodeId=this.mirror.getId(n),parentId=isShadowRoot(m.target)?this.mirror.getId(m.target.host):this.mirror.getId(m.target);isBlocked(m.target,this.blockClass,this.blockSelector,this.unblockSelector)||isIgnored(n)||(this.addedSet.has(n)?(deepDelete(this.addedSet,n),this.droppedSet.add(n)):this.addedSet.has(m.target)&&-1===nodeId||isAncestorRemoved(m.target,this.mirror)||(this.movedSet.has(n)&&this.movedMap[moveKey(nodeId,parentId)]?deepDelete(this.movedSet,n):this.removes.push({parentId,id:nodeId,isShadow:!!isShadowRoot(m.target)||void 0})),this.mapRemoves.push(n))})}},this.genAdds=(n,target)=>{if(!target||!isBlocked(target,this.blockClass,this.blockSelector,this.unblockSelector)){if(isINode(n)){if(isIgnored(n))return;this.movedSet.add(n);let targetId=null;target&&isINode(target)&&(targetId=target.__sn.id),targetId&&(this.movedMap[moveKey(n.__sn.id,targetId)]=!0)}else this.addedSet.add(n),this.droppedSet.delete(n);isBlocked(n,this.blockClass,this.blockSelector,this.unblockSelector)||n.childNodes.forEach(childN=>this.genAdds(childN))}}}init(options){["mutationCb","blockClass","blockSelector","unblockSelector","maskTextClass","maskTextSelector","unmaskTextSelector","maskInputSelector","unmaskInputSelector","inlineStylesheet","maskAllText","maskInputOptions","maskTextFn","maskInputFn","recordCanvas","inlineImages","slimDOMOptions","doc","mirror","iframeManager","shadowDomManager","canvasManager"].forEach(key=>{this[key]=options[key]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function deepDelete(addsSet,n){addsSet.delete(n),n.childNodes.forEach(childN=>deepDelete(addsSet,childN))}function isParentRemoved(removes,n,mirror2){const{parentNode}=n;if(!parentNode)return!1;const parentId=mirror2.getId(parentNode);return!!removes.some(r2=>r2.id===parentId)||isParentRemoved(removes,parentNode,mirror2)}function isAncestorInSet(set2,n){const{parentNode}=n;return!!parentNode&&(!!set2.has(parentNode)||isAncestorInSet(set2,parentNode))}const callbackWrapper=cb=>(...rest)=>{try{return cb(...rest)}catch(error){try{error.__rrweb__=!0}catch{}throw error}},mutationBuffers=[];function getEventTarget(event){try{if("composedPath"in event){const path=event.composedPath();if(path.length)return path[0]}else if("path"in event&&event.path.length)return event.path[0]}catch{}return event&&event.target}function initMutationObserver(options,rootEl){var _a,_b;const mutationBuffer=new MutationBuffer;mutationBuffers.push(mutationBuffer),mutationBuffer.init(options);let mutationObserverCtor=window.MutationObserver||window.__rrMutationObserver;const angularZoneSymbol=null===(_b=null===(_a=window?.Zone)||void 0===_a?void 0:_a.__symbol__)||void 0===_b?void 0:_b.call(_a,"MutationObserver");angularZoneSymbol&&window[angularZoneSymbol]&&(mutationObserverCtor=window[angularZoneSymbol]);const observer=new mutationObserverCtor(callbackWrapper(mutations=>{options.onMutation&&!1===options.onMutation(mutations)||mutationBuffer.processMutations(mutations)}));return observer.observe(rootEl,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),observer}function initScrollObserver({scrollCb,doc,mirror:mirror2,blockClass,blockSelector,unblockSelector,sampling}){const updatePosition=throttle$1(evt=>{const target=getEventTarget(evt);if(!target||isBlocked(target,blockClass,blockSelector,unblockSelector))return;const id=mirror2.getId(target);if(target===doc){const scrollEl=doc.scrollingElement||doc.documentElement;callbackWrapper(scrollCb)({id,x:scrollEl.scrollLeft,y:scrollEl.scrollTop})}else callbackWrapper(scrollCb)({id,x:target.scrollLeft,y:target.scrollTop})},sampling.scroll||100);return on("scroll",callbackWrapper(updatePosition),doc)}function wrapEventWithUserTriggeredFlag(v,enable){const value=Object.assign({},v);return enable||delete value.userTriggered,value}const INPUT_TAGS=["INPUT","TEXTAREA","SELECT"],lastInputValueMap=new WeakMap;function getNestedCSSRulePositions(rule){return function recurse(childRule,pos){if(hasNestedCSSRule("CSSGroupingRule")&&childRule.parentRule instanceof CSSGroupingRule||hasNestedCSSRule("CSSMediaRule")&&childRule.parentRule instanceof CSSMediaRule||hasNestedCSSRule("CSSSupportsRule")&&childRule.parentRule instanceof CSSSupportsRule||hasNestedCSSRule("CSSConditionRule")&&childRule.parentRule instanceof CSSConditionRule){const index=Array.from(childRule.parentRule.cssRules).indexOf(childRule);pos.unshift(index)}else{const index=Array.from(childRule.parentStyleSheet.cssRules).indexOf(childRule);pos.unshift(index)}return pos}(rule,[])}function initObservers(o,hooks={}){const currentWindow=o.doc.defaultView;if(!currentWindow)return()=>{};!function mergeHooks(o,hooks){const{mutationCb,mousemoveCb,mouseInteractionCb,scrollCb,viewportResizeCb,inputCb,mediaInteractionCb,styleSheetRuleCb,styleDeclarationCb,canvasMutationCb,fontCb}=o;o.mutationCb=(...p)=>{hooks.mutation&&hooks.mutation(...p),mutationCb(...p)},o.mousemoveCb=(...p)=>{hooks.mousemove&&hooks.mousemove(...p),mousemoveCb(...p)},o.mouseInteractionCb=(...p)=>{hooks.mouseInteraction&&hooks.mouseInteraction(...p),mouseInteractionCb(...p)},o.scrollCb=(...p)=>{hooks.scroll&&hooks.scroll(...p),scrollCb(...p)},o.viewportResizeCb=(...p)=>{hooks.viewportResize&&hooks.viewportResize(...p),viewportResizeCb(...p)},o.inputCb=(...p)=>{hooks.input&&hooks.input(...p),inputCb(...p)},o.mediaInteractionCb=(...p)=>{hooks.mediaInteaction&&hooks.mediaInteaction(...p),mediaInteractionCb(...p)},o.styleSheetRuleCb=(...p)=>{hooks.styleSheetRule&&hooks.styleSheetRule(...p),styleSheetRuleCb(...p)},o.styleDeclarationCb=(...p)=>{hooks.styleDeclaration&&hooks.styleDeclaration(...p),styleDeclarationCb(...p)},o.canvasMutationCb=(...p)=>{hooks.canvasMutation&&hooks.canvasMutation(...p),canvasMutationCb(...p)},o.fontCb=(...p)=>{hooks.font&&hooks.font(...p),fontCb(...p)}}(o,hooks);const mutationObserver=initMutationObserver(o,o.doc),mousemoveHandler=function initMoveObserver({mousemoveCb,sampling,doc,mirror:mirror2}){if(!1===sampling.mousemove)return()=>{};const threshold="number"==typeof sampling.mousemove?sampling.mousemove:50;let timeBaseline,positions=[];const wrappedCb=throttle$1(source=>{const totalOffset=Date.now()-timeBaseline;callbackWrapper(mousemoveCb)(positions.map(p=>(p.timeOffset-=totalOffset,p)),source),positions=[],timeBaseline=null},"number"==typeof sampling.mousemoveCallback?sampling.mousemoveCallback:500),updatePosition=throttle$1(evt=>{const target=getEventTarget(evt),{clientX,clientY}=isTouchEvent(evt)?evt.changedTouches[0]:evt;timeBaseline||(timeBaseline=Date.now()),positions.push({x:clientX,y:clientY,id:mirror2.getId(target),timeOffset:Date.now()-timeBaseline}),wrappedCb(typeof DragEvent<"u"&&evt instanceof DragEvent?IncrementalSource.Drag:evt instanceof MouseEvent?IncrementalSource.MouseMove:IncrementalSource.TouchMove)},threshold,{trailing:!1}),handlers2=[on("mousemove",callbackWrapper(updatePosition),doc),on("touchmove",callbackWrapper(updatePosition),doc),on("drag",callbackWrapper(updatePosition),doc)];return callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o),mouseInteractionHandler=function initMouseInteractionObserver({mouseInteractionCb,doc,mirror:mirror2,blockClass,blockSelector,unblockSelector,sampling}){if(!1===sampling.mouseInteraction)return()=>{};const disableMap=!0===sampling.mouseInteraction||void 0===sampling.mouseInteraction?{}:sampling.mouseInteraction,handlers2=[];return Object.keys(MouseInteractions).filter(key=>Number.isNaN(Number(key))&&!key.endsWith("_Departed")&&!1!==disableMap[key]).forEach(eventKey=>{const eventName=eventKey.toLowerCase(),handler=callbackWrapper((eventKey=>event=>{const target=getEventTarget(event);if(isBlocked(target,blockClass,blockSelector,unblockSelector))return;const e2=isTouchEvent(event)?event.changedTouches[0]:event;if(!e2)return;const id=mirror2.getId(target),{clientX,clientY}=e2;callbackWrapper(mouseInteractionCb)({type:MouseInteractions[eventKey],id,x:clientX,y:clientY})})(eventKey));handlers2.push(on(eventName,handler,doc))}),callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o),scrollHandler=initScrollObserver(o),viewportResizeHandler=function initViewportResizeObserver({viewportResizeCb}){let lastH=-1,lastW=-1;const updateDimension=throttle$1(()=>{const height=getWindowHeight(),width=getWindowWidth();(lastH!==height||lastW!==width)&&(callbackWrapper(viewportResizeCb)({width:Number(width),height:Number(height)}),lastH=height,lastW=width)},200);return on("resize",callbackWrapper(updateDimension),window)}(o),inputHandler=function initInputObserver({inputCb,doc,mirror:mirror2,blockClass,blockSelector,unblockSelector,ignoreClass,ignoreSelector,maskInputSelector,unmaskInputSelector,maskInputOptions,maskInputFn,sampling,userTriggeredOnInput}){function eventHandler(event){let target=getEventTarget(event);const tagName=target&&target.tagName,userTriggered=event.isTrusted;if("OPTION"===tagName&&(target=target.parentElement),!target||!tagName||INPUT_TAGS.indexOf(tagName)<0||isBlocked(target,blockClass,blockSelector,unblockSelector))return;const el=target,type=getInputType(el);if(el.classList.contains(ignoreClass)||ignoreSelector&&el.matches(ignoreSelector))return;let text=getInputValue(el,tagName,type),isChecked=!1;("radio"===type||"checkbox"===type)&&(isChecked=target.checked),function hasInputMaskOptions({tagName,type,maskInputOptions,maskInputSelector}){return maskInputSelector||isInputTypeMasked({maskInputOptions,tagName,type})}({maskInputOptions,maskInputSelector,tagName,type})&&(text=maskInputValue({input:el,maskInputOptions,maskInputSelector,unmaskInputSelector,tagName,type,value:text,maskInputFn})),cbWithDedup(target,callbackWrapper(wrapEventWithUserTriggeredFlag)({text,isChecked,userTriggered},userTriggeredOnInput));const name=target.name;"radio"===type&&name&&isChecked&&doc.querySelectorAll(`input[type="radio"][name="${name}"]`).forEach(el2=>{if(el2!==target){const text2=maskInputValue({input:el2,maskInputOptions,maskInputSelector,unmaskInputSelector,tagName,type,value:getInputValue(el2,tagName,type),maskInputFn});cbWithDedup(el2,callbackWrapper(wrapEventWithUserTriggeredFlag)({text:text2,isChecked:!isChecked,userTriggered:!1},userTriggeredOnInput))}})}function cbWithDedup(target,v){const lastInputValue=lastInputValueMap.get(target);if(!lastInputValue||lastInputValue.text!==v.text||lastInputValue.isChecked!==v.isChecked){lastInputValueMap.set(target,v);const id=mirror2.getId(target);inputCb(Object.assign(Object.assign({},v),{id}))}}const handlers2=("last"===sampling.input?["change"]:["input","change"]).map(eventName=>on(eventName,callbackWrapper(eventHandler),doc)),propertyDescriptor=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value"),hookProperties=[[HTMLInputElement.prototype,"value"],[HTMLInputElement.prototype,"checked"],[HTMLSelectElement.prototype,"value"],[HTMLTextAreaElement.prototype,"value"],[HTMLSelectElement.prototype,"selectedIndex"],[HTMLOptionElement.prototype,"selected"]];return propertyDescriptor&&propertyDescriptor.set&&handlers2.push(...hookProperties.map(p=>hookSetter(p[0],p[1],{set(){callbackWrapper(eventHandler)({target:this})}}))),callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o),mediaInteractionHandler=function initMediaInteractionObserver({mediaInteractionCb,blockClass,blockSelector,unblockSelector,mirror:mirror2,sampling}){const handler=type=>throttle$1(callbackWrapper(event=>{const target=getEventTarget(event);if(!target||isBlocked(target,blockClass,blockSelector,unblockSelector))return;const{currentTime,volume,muted}=target;mediaInteractionCb({type,id:mirror2.getId(target),currentTime,volume,muted})}),sampling.media||500),handlers2=[on("play",handler(0)),on("pause",handler(1)),on("seeked",handler(2)),on("volumechange",handler(3))];return callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o),styleSheetObserver=function initStyleSheetObserver({styleSheetRuleCb,mirror:mirror2},{win:win2}){if(!win2.CSSStyleSheet||!win2.CSSStyleSheet.prototype)return()=>{};const insertRule=win2.CSSStyleSheet.prototype.insertRule;win2.CSSStyleSheet.prototype.insertRule=new Proxy(insertRule,{apply:callbackWrapper((target,thisArg,argumentsList)=>{const[rule,index]=argumentsList,id=mirror2.getId(thisArg.ownerNode);return-1!==id&&styleSheetRuleCb({id,adds:[{rule,index}]}),target.apply(thisArg,argumentsList)})});const deleteRule=win2.CSSStyleSheet.prototype.deleteRule;win2.CSSStyleSheet.prototype.deleteRule=new Proxy(deleteRule,{apply:callbackWrapper((target,thisArg,argumentsList)=>{const[index]=argumentsList,id=mirror2.getId(thisArg.ownerNode);return-1!==id&&styleSheetRuleCb({id,removes:[{index}]}),target.apply(thisArg,argumentsList)})});const supportedNestedCSSRuleTypes={};canMonkeyPatchNestedCSSRule("CSSGroupingRule")?supportedNestedCSSRuleTypes.CSSGroupingRule=win2.CSSGroupingRule:(canMonkeyPatchNestedCSSRule("CSSMediaRule")&&(supportedNestedCSSRuleTypes.CSSMediaRule=win2.CSSMediaRule),canMonkeyPatchNestedCSSRule("CSSConditionRule")&&(supportedNestedCSSRuleTypes.CSSConditionRule=win2.CSSConditionRule),canMonkeyPatchNestedCSSRule("CSSSupportsRule")&&(supportedNestedCSSRuleTypes.CSSSupportsRule=win2.CSSSupportsRule));const unmodifiedFunctions={};return Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey,type])=>{unmodifiedFunctions[typeKey]={insertRule:type.prototype.insertRule,deleteRule:type.prototype.deleteRule},type.prototype.insertRule=new Proxy(unmodifiedFunctions[typeKey].insertRule,{apply:callbackWrapper((target,thisArg,argumentsList)=>{const[rule,index]=argumentsList,id=mirror2.getId(thisArg.parentStyleSheet.ownerNode);return-1!==id&&styleSheetRuleCb({id,adds:[{rule,index:[...getNestedCSSRulePositions(thisArg),index||0]}]}),target.apply(thisArg,argumentsList)})}),type.prototype.deleteRule=new Proxy(unmodifiedFunctions[typeKey].deleteRule,{apply:callbackWrapper((target,thisArg,argumentsList)=>{const[index]=argumentsList,id=mirror2.getId(thisArg.parentStyleSheet.ownerNode);return-1!==id&&styleSheetRuleCb({id,removes:[{index:[...getNestedCSSRulePositions(thisArg),index]}]}),target.apply(thisArg,argumentsList)})})}),callbackWrapper(()=>{win2.CSSStyleSheet.prototype.insertRule=insertRule,win2.CSSStyleSheet.prototype.deleteRule=deleteRule,Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey,type])=>{type.prototype.insertRule=unmodifiedFunctions[typeKey].insertRule,type.prototype.deleteRule=unmodifiedFunctions[typeKey].deleteRule})})}(o,{win:currentWindow}),styleDeclarationObserver=function initStyleDeclarationObserver({styleDeclarationCb,mirror:mirror2},{win:win2}){const setProperty=win2.CSSStyleDeclaration.prototype.setProperty;win2.CSSStyleDeclaration.prototype.setProperty=new Proxy(setProperty,{apply:callbackWrapper((target,thisArg,argumentsList)=>{var _a,_b;const[property,value,priority]=argumentsList,id=mirror2.getId(null===(_b=null===(_a=thisArg.parentRule)||void 0===_a?void 0:_a.parentStyleSheet)||void 0===_b?void 0:_b.ownerNode);return-1!==id&&styleDeclarationCb({id,set:{property,value,priority},index:getNestedCSSRulePositions(thisArg.parentRule)}),target.apply(thisArg,argumentsList)})});const removeProperty=win2.CSSStyleDeclaration.prototype.removeProperty;return win2.CSSStyleDeclaration.prototype.removeProperty=new Proxy(removeProperty,{apply:callbackWrapper((target,thisArg,argumentsList)=>{var _a,_b;const[property]=argumentsList,id=mirror2.getId(null===(_b=null===(_a=thisArg.parentRule)||void 0===_a?void 0:_a.parentStyleSheet)||void 0===_b?void 0:_b.ownerNode);return-1!==id&&styleDeclarationCb({id,remove:{property},index:getNestedCSSRulePositions(thisArg.parentRule)}),target.apply(thisArg,argumentsList)})}),callbackWrapper(()=>{win2.CSSStyleDeclaration.prototype.setProperty=setProperty,win2.CSSStyleDeclaration.prototype.removeProperty=removeProperty})}(o,{win:currentWindow}),fontObserver=o.collectFonts?function initFontObserver({fontCb,doc}){const win2=doc.defaultView;if(!win2)return()=>{};const handlers2=[],fontMap=new WeakMap,originalFontFace=win2.FontFace;win2.FontFace=function(family,source,descriptors){const fontFace=new originalFontFace(family,source,descriptors);return fontMap.set(fontFace,{family,buffer:"string"!=typeof source,descriptors,fontSource:"string"==typeof source?source:JSON.stringify(Array.from(new Uint8Array(source)))}),fontFace};const restoreHandler=patch(doc.fonts,"add",function(original){return function(fontFace){return setTimeout(()=>{const p=fontMap.get(fontFace);p&&(fontCb(p),fontMap.delete(fontFace))},0),original.apply(this,[fontFace])}});return handlers2.push(()=>{win2.FontFace=originalFontFace}),handlers2.push(restoreHandler),callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o):()=>{},pluginHandlers=[];for(const plugin of o.plugins)pluginHandlers.push(plugin.observer(plugin.callback,currentWindow,plugin.options));return callbackWrapper(()=>{mutationBuffers.forEach(b=>b.reset()),mutationObserver.disconnect(),mousemoveHandler(),mouseInteractionHandler(),scrollHandler(),viewportResizeHandler(),inputHandler(),mediaInteractionHandler();try{styleSheetObserver(),styleDeclarationObserver()}catch{}fontObserver(),pluginHandlers.forEach(h=>h())})}function hasNestedCSSRule(prop2){return typeof window[prop2]<"u"}function canMonkeyPatchNestedCSSRule(prop2){return!!(typeof window[prop2]<"u"&&window[prop2].prototype&&"insertRule"in window[prop2].prototype&&"deleteRule"in window[prop2].prototype)}class IframeManager{constructor(options){this.iframes=new WeakMap,this.mutationCb=options.mutationCb}addIframe(iframeEl){this.iframes.set(iframeEl,!0)}addLoadListener(cb){this.loadListener=cb}attachIframe(iframeEl,childSn){var _a;this.mutationCb({adds:[{parentId:iframeEl.__sn.id,nextId:null,node:childSn}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),null===(_a=this.loadListener)||void 0===_a||_a.call(this,iframeEl)}}class ShadowDomManager{constructor(options){this.restorePatches=[],this.mutationCb=options.mutationCb,this.scrollCb=options.scrollCb,this.bypassOptions=options.bypassOptions,this.mirror=options.mirror;const manager=this;this.restorePatches.push(patch(HTMLElement.prototype,"attachShadow",function(original){return function(){const shadowRoot=original.apply(this,arguments);return this.shadowRoot&&manager.addShadowRoot(this.shadowRoot,this.ownerDocument),shadowRoot}}))}addShadowRoot(shadowRoot,doc){initMutationObserver(Object.assign(Object.assign({},this.bypassOptions),{doc,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),shadowRoot),initScrollObserver(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:shadowRoot,mirror:this.mirror}))}observeAttachShadow(iframeElement){if(iframeElement.contentWindow){const manager=this;this.restorePatches.push(patch(iframeElement.contentWindow.HTMLElement.prototype,"attachShadow",function(original){return function(){const shadowRoot=original.apply(this,arguments);return this.shadowRoot&&manager.addShadowRoot(this.shadowRoot,iframeElement.contentDocument),shadowRoot}}))}}reset(){this.restorePatches.forEach(restorePatch=>restorePatch())}}for(var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup=typeof Uint8Array>"u"?[]:new Uint8Array(256),i=0;i<64;i++)lookup[chars.charCodeAt(i)]=i;const webGLVarMap=new Map,saveWebGLVar=(value,win2,ctx)=>{if(!value||!isInstanceOfWebGLObject(value,win2)&&"object"!=typeof value)return;const list2=function variableListFor(ctx,ctor){let contextMap=webGLVarMap.get(ctx);return contextMap||(contextMap=new Map,webGLVarMap.set(ctx,contextMap)),contextMap.has(ctor)||contextMap.set(ctor,[]),contextMap.get(ctor)}(ctx,value.constructor.name);let index=list2.indexOf(value);return-1===index&&(index=list2.length,list2.push(value)),index};function serializeArg(value,win2,ctx){if(value instanceof Array)return value.map(arg=>serializeArg(arg,win2,ctx));if(null===value)return value;if(value instanceof Float32Array||value instanceof Float64Array||value instanceof Int32Array||value instanceof Uint32Array||value instanceof Uint8Array||value instanceof Uint16Array||value instanceof Int16Array||value instanceof Int8Array||value instanceof Uint8ClampedArray)return{rr_type:value.constructor.name,args:[Object.values(value)]};if(value instanceof ArrayBuffer)return{rr_type:value.constructor.name,base64:function(arraybuffer){var i6,bytes=new Uint8Array(arraybuffer),len=bytes.length,base642="";for(i6=0;i6>2],base642+=chars[(3&bytes[i6])<<4|bytes[i6+1]>>4],base642+=chars[(15&bytes[i6+1])<<2|bytes[i6+2]>>6],base642+=chars[63&bytes[i6+2]];return len%3==2?base642=base642.substring(0,base642.length-1)+"=":len%3==1&&(base642=base642.substring(0,base642.length-2)+"=="),base642}(value)};if(value instanceof DataView)return{rr_type:value.constructor.name,args:[serializeArg(value.buffer,win2,ctx),value.byteOffset,value.byteLength]};if(value instanceof HTMLImageElement){const name=value.constructor.name,{src}=value;return{rr_type:name,src}}return value instanceof ImageData?{rr_type:value.constructor.name,args:[serializeArg(value.data,win2,ctx),value.width,value.height]}:isInstanceOfWebGLObject(value,win2)||"object"==typeof value?{rr_type:value.constructor.name,index:saveWebGLVar(value,win2,ctx)}:value}const serializeArgs=(args,win2,ctx)=>[...args].map(arg=>serializeArg(arg,win2,ctx)),isInstanceOfWebGLObject=(value,win2)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(name=>"function"==typeof win2[name]).find(name=>value instanceof win2[name]);function patchGLPrototype(prototype,type,cb,blockClass,unblockSelector,blockSelector,mirror2,win2){const handlers2=[],props=Object.getOwnPropertyNames(prototype);for(const prop2 of props)try{if("function"!=typeof prototype[prop2])continue;const restoreHandler=patch(prototype,prop2,function(original){return function(...args){const result=original.apply(this,args);if(saveWebGLVar(result,win2,prototype),!isBlocked(this.canvas,blockClass,blockSelector,unblockSelector)){mirror2.getId(this.canvas);const recordArgs=serializeArgs([...args],win2,prototype);cb(this.canvas,{type,property:prop2,args:recordArgs})}return result}});handlers2.push(restoreHandler)}catch{const hookHandler=hookSetter(prototype,prop2,{set(v){cb(this.canvas,{type,property:prop2,args:[v],setter:!0})}});handlers2.push(hookHandler)}return handlers2}class CanvasManager{reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}constructor(options){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=function(target,mutation){(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(target)||this.pendingCanvasMutations.set(target,[]),this.pendingCanvasMutations.get(target).push(mutation)},this.mutationCb=options.mutationCb,this.mirror=options.mirror,!0===options.recordCanvas&&this.initCanvasMutationObserver(options.win,options.blockClass,options.blockSelector,options.unblockSelector)}initCanvasMutationObserver(win2,blockClass,unblockSelector,blockSelector){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const canvasContextReset=function initCanvasContextObserver(win2,blockClass,blockSelector,unblockSelector){const handlers2=[];try{const restoreHandler=patch(win2.HTMLCanvasElement.prototype,"getContext",function(original){return function(contextType,...args){return isBlocked(this,blockClass,blockSelector,unblockSelector)||"__context"in this||(this.__context=contextType),original.apply(this,[contextType,...args])}});handlers2.push(restoreHandler)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{handlers2.forEach(h=>h())}}(win2,blockClass,blockSelector,unblockSelector),canvas2DReset=function initCanvas2DMutationObserver(cb,win2,blockClass,unblockSelector,blockSelector,mirror2){const handlers2=[],props2D=Object.getOwnPropertyNames(win2.CanvasRenderingContext2D.prototype);for(const prop2 of props2D)try{if("function"!=typeof win2.CanvasRenderingContext2D.prototype[prop2])continue;const restoreHandler=patch(win2.CanvasRenderingContext2D.prototype,prop2,function(original){return function(...args){return isBlocked(this.canvas,blockClass,blockSelector,unblockSelector)||setTimeout(()=>{const recordArgs=[...args];if("drawImage"===prop2&&recordArgs[0]&&recordArgs[0]instanceof HTMLCanvasElement){const canvas=recordArgs[0],ctx=canvas.getContext("2d");let imgd=ctx?.getImageData(0,0,canvas.width,canvas.height),pix=imgd?.data;recordArgs[0]=JSON.stringify(pix)}cb(this.canvas,{type:CanvasContext["2D"],property:prop2,args:recordArgs})},0),original.apply(this,args)}});handlers2.push(restoreHandler)}catch{const hookHandler=hookSetter(win2.CanvasRenderingContext2D.prototype,prop2,{set(v){cb(this.canvas,{type:CanvasContext["2D"],property:prop2,args:[v],setter:!0})}});handlers2.push(hookHandler)}return()=>{handlers2.forEach(h=>h())}}(this.processMutation.bind(this),win2,blockClass,blockSelector,unblockSelector),canvasWebGL1and2Reset=function initCanvasWebGLMutationObserver(cb,win2,blockClass,blockSelector,unblockSelector,mirror2){const handlers2=[];return handlers2.push(...patchGLPrototype(win2.WebGLRenderingContext.prototype,CanvasContext.WebGL,cb,blockClass,blockSelector,unblockSelector,mirror2,win2)),typeof win2.WebGL2RenderingContext<"u"&&handlers2.push(...patchGLPrototype(win2.WebGL2RenderingContext.prototype,CanvasContext.WebGL2,cb,blockClass,blockSelector,unblockSelector,mirror2,win2)),()=>{handlers2.forEach(h=>h())}}(this.processMutation.bind(this),win2,blockClass,blockSelector,unblockSelector,this.mirror);this.resetObservers=()=>{canvasContextReset(),canvas2DReset(),canvasWebGL1and2Reset()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const setLatestRAFTimestamp=timestamp=>{this.rafStamps.latestId=timestamp,requestAnimationFrame(setLatestRAFTimestamp)};requestAnimationFrame(setLatestRAFTimestamp)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((values,canvas)=>{const id=this.mirror.getId(canvas);this.flushPendingCanvasMutationFor(canvas,id)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(canvas,id){if(this.frozen||this.locked)return;const valuesWithType=this.pendingCanvasMutations.get(canvas);if(!valuesWithType||-1===id)return;const values=valuesWithType.map(value=>function esm_rest(s,e2){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e2.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i6=0;for(p=Object.getOwnPropertySymbols(s);i6n&&n.__sn?n.__sn.id:-1,getNode(id){return this.map[id]||null},removeNodeFromMap(n){delete this.map[n.__sn&&n.__sn.id],n.childNodes&&n.childNodes.forEach(child2=>this.removeNodeFromMap(child2))},has(id){return this.map.hasOwnProperty(id)},reset(){this.map={}}}}();function record(options={}){const{emit,checkoutEveryNms,checkoutEveryNth,blockClass="rr-block",blockSelector=null,unblockSelector=null,ignoreClass="rr-ignore",ignoreSelector=null,maskTextClass="rr-mask",maskTextSelector=null,maskInputSelector=null,unmaskTextSelector=null,unmaskInputSelector=null,inlineStylesheet=!0,maskAllText=!1,maskAllInputs,maskInputOptions:_maskInputOptions,slimDOMOptions:_slimDOMOptions,maskInputFn,maskTextFn,hooks,packFn,sampling={},mousemoveWait,recordCanvas=!1,userTriggeredOnInput=!1,collectFonts=!1,inlineImages=!1,plugins,keepIframeSrcFn=()=>!1,onMutation}=options;if(!emit)throw new Error("emit function is required");void 0!==mousemoveWait&&void 0===sampling.mousemove&&(sampling.mousemove=mousemoveWait);const maskInputOptions=!0===maskAllInputs?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:void 0!==_maskInputOptions?_maskInputOptions:{},slimDOMOptions=!0===_slimDOMOptions||"all"===_slimDOMOptions?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:"all"===_slimDOMOptions,headMetaDescKeywords:"all"===_slimDOMOptions}:_slimDOMOptions||{};!function polyfill(win2=window){"NodeList"in win2&&!win2.NodeList.prototype.forEach&&(win2.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in win2&&!win2.DOMTokenList.prototype.forEach&&(win2.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=function(node2){if(!(0 in arguments))throw new TypeError("1 argument is required");do{if(this===node2)return!0}while(node2=node2&&node2.parentNode);return!1})}();let lastFullSnapshotEvent,incrementalSnapshotCount=0;wrappedEmit=(e2,isCheckout)=>{var _a;if(!(null===(_a=mutationBuffers[0])||void 0===_a)&&_a.isFrozen()&&e2.type!==EventType.FullSnapshot&&!(e2.type===EventType.IncrementalSnapshot&&e2.data.source===IncrementalSource.Mutation)&&mutationBuffers.forEach(buf=>buf.unfreeze()),emit((e2=>{for(const plugin of plugins||[])plugin.eventProcessor&&(e2=plugin.eventProcessor(e2));return packFn&&(e2=packFn(e2)),e2})(e2),isCheckout),e2.type===EventType.FullSnapshot)lastFullSnapshotEvent=e2,incrementalSnapshotCount=0;else if(e2.type===EventType.IncrementalSnapshot){if(e2.data.source===IncrementalSource.Mutation&&e2.data.isAttachIframe)return;incrementalSnapshotCount++,(checkoutEveryNth&&incrementalSnapshotCount>=checkoutEveryNth||checkoutEveryNms&&e2.timestamp-lastFullSnapshotEvent.timestamp>checkoutEveryNms)&&takeFullSnapshot(!0)}};const wrappedMutationEmit=m=>{wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Mutation},m)}))},wrappedScrollEmit=p=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Scroll},p)})),wrappedCanvasMutationEmit=p=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.CanvasMutation},p)})),iframeManager=new IframeManager({mutationCb:wrappedMutationEmit}),canvasManager=new CanvasManager({recordCanvas,mutationCb:wrappedCanvasMutationEmit,win:window,blockClass,blockSelector,unblockSelector,mirror}),shadowDomManager=new ShadowDomManager({mutationCb:wrappedMutationEmit,scrollCb:wrappedScrollEmit,bypassOptions:{onMutation,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,maskInputSelector,unmaskInputSelector,inlineStylesheet,maskAllText,maskInputOptions,maskTextFn,maskInputFn,recordCanvas,inlineImages,sampling,slimDOMOptions,iframeManager,canvasManager},mirror});takeFullSnapshot=(isCheckout=!1)=>{var _a,_b,_c,_d;wrappedEmit(wrapEvent({type:EventType.Meta,data:{href:window.location.href,width:getWindowWidth(),height:getWindowHeight()}}),isCheckout),mutationBuffers.forEach(buf=>buf.lock());const[node2,idNodeMap]=function snapshot(n,options){const{blockClass="rr-block",blockSelector=null,unblockSelector=null,maskTextClass="rr-mask",maskTextSelector=null,unmaskTextSelector=null,inlineStylesheet=!0,inlineImages=!1,recordCanvas=!1,maskInputSelector=null,unmaskInputSelector=null,maskAllText=!1,maskAllInputs=!1,maskTextFn,maskInputFn,slimDOM=!1,dataURLOptions,preserveWhiteSpace,onSerialize,onIframeLoad,iframeLoadTimeout,keepIframeSrcFn=()=>!1}=options||{},idNodeMap={};return[serializeNodeWithId(n,{doc:n,map:idNodeMap,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,skipChild:!1,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions:!0===maskAllInputs?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:!1===maskAllInputs?{}:maskAllInputs,maskTextFn,maskInputFn,slimDOMOptions:!0===slimDOM||"all"===slimDOM?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:"all"===slimDOM,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:!1===slimDOM?{}:slimDOM,dataURLOptions,inlineImages,recordCanvas,preserveWhiteSpace,onSerialize,onIframeLoad,iframeLoadTimeout,keepIframeSrcFn}),idNodeMap]}(document,{blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,maskInputSelector,unmaskInputSelector,inlineStylesheet,maskAllText,maskAllInputs:maskInputOptions,maskTextFn,slimDOM:slimDOMOptions,recordCanvas,inlineImages,onSerialize:n=>{isIframeINode(n)&&iframeManager.addIframe(n),hasShadowRoot(n)&&shadowDomManager.addShadowRoot(n.shadowRoot,document)},onIframeLoad:(iframe,childSn)=>{iframeManager.attachIframe(iframe,childSn),shadowDomManager.observeAttachShadow(iframe)},keepIframeSrcFn});if(!node2)return console.warn("Failed to snapshot the document");mirror.map=idNodeMap,wrappedEmit(wrapEvent({type:EventType.FullSnapshot,data:{node:node2,initialOffset:{left:void 0!==window.pageXOffset?window.pageXOffset:document?.documentElement.scrollLeft||(null===(_b=null===(_a=document?.body)||void 0===_a?void 0:_a.parentElement)||void 0===_b?void 0:_b.scrollLeft)||document?.body.scrollLeft||0,top:void 0!==window.pageYOffset?window.pageYOffset:document?.documentElement.scrollTop||(null===(_d=null===(_c=document?.body)||void 0===_c?void 0:_c.parentElement)||void 0===_d?void 0:_d.scrollTop)||document?.body.scrollTop||0}}})),mutationBuffers.forEach(buf=>buf.unlock())};try{const handlers2=[];handlers2.push(on("DOMContentLoaded",()=>{wrappedEmit(wrapEvent({type:EventType.DomContentLoaded,data:{}}))}));const observe2=doc=>{var _a;return callbackWrapper(initObservers)({onMutation,mutationCb:wrappedMutationEmit,mousemoveCb:(positions,source)=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:{source,positions}})),mouseInteractionCb:d=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MouseInteraction},d)})),scrollCb:wrappedScrollEmit,viewportResizeCb:d=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.ViewportResize},d)})),inputCb:v=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Input},v)})),mediaInteractionCb:p=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MediaInteraction},p)})),styleSheetRuleCb:r2=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleSheetRule},r2)})),styleDeclarationCb:r2=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleDeclaration},r2)})),canvasMutationCb:wrappedCanvasMutationEmit,fontCb:p=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Font},p)})),blockClass,ignoreClass,ignoreSelector,maskTextClass,maskTextSelector,unmaskTextSelector,maskInputSelector,unmaskInputSelector,maskInputOptions,inlineStylesheet,sampling,recordCanvas,inlineImages,userTriggeredOnInput,collectFonts,doc,maskAllText,maskInputFn,maskTextFn,blockSelector,unblockSelector,slimDOMOptions,mirror,iframeManager,shadowDomManager,canvasManager,plugins:(null===(_a=plugins?.filter(p=>p.observer))||void 0===_a?void 0:_a.map(p=>({observer:p.observer,options:p.options,callback:payload=>wrappedEmit(wrapEvent({type:EventType.Plugin,data:{plugin:p.name,payload}}))})))||[]},hooks)};iframeManager.addLoadListener(iframeEl=>{try{handlers2.push(observe2(iframeEl.contentDocument))}catch(error){console.warn(error)}});const init2=()=>{takeFullSnapshot(),handlers2.push(observe2(document))};return"interactive"===document.readyState||"complete"===document.readyState?init2():handlers2.push(on("load",()=>{wrappedEmit(wrapEvent({type:EventType.Load,data:{}})),init2()},window)),()=>{handlers2.forEach(h=>h())}}catch(error){console.warn(error)}}function timestampToMs(timestamp){return timestamp>9999999999?timestamp:1e3*timestamp}function addBreadcrumbEvent(replay,breadcrumb){"sentry.transaction"!==breadcrumb.category&&(["ui.click","ui.input"].includes(breadcrumb.category)?replay.triggerUserActivity():replay.checkAndHandleExpiredSession(),replay.addUpdate(()=>(replay.throttledAddEvent({type:EventType.Custom,timestamp:1e3*(breadcrumb.timestamp||0),data:{tag:"breadcrumb",payload:normalize(breadcrumb,10,1e3)}}),"console"===breadcrumb.category)))}record.addCustomEvent=(tag,payload)=>{if(!wrappedEmit)throw new Error("please add custom event after start recording");wrappedEmit(wrapEvent({type:EventType.Custom,data:{tag,payload}}))},record.freezePage=()=>{mutationBuffers.forEach(buf=>buf.freeze())},record.takeFullSnapshot=isCheckout=>{if(!takeFullSnapshot)throw new Error("please take full snapshot after start recording");takeFullSnapshot(isCheckout)},record.mirror=mirror;function getClickTargetNode(event){const target=getTargetNode(event);return target&&target instanceof Element&&target.closest("button,a")||target}function getTargetNode(event){return function isEventWithTarget(event){return"object"==typeof event&&!!event&&"target"in event}(event)?event.target:event}let esm_handlers;class ClickDetector{constructor(replay,slowClickConfig,_addBreadcrumbEvent=addBreadcrumbEvent){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=slowClickConfig.timeout/1e3,this._threshold=slowClickConfig.threshold/1e3,this._scollTimeout=slowClickConfig.scrollTimeout/1e3,this._replay=replay,this._ignoreSelector=slowClickConfig.ignoreSelector,this._addBreadcrumbEvent=_addBreadcrumbEvent}addListeners(){const scrollHandler=()=>{this._lastScroll=nowInSeconds()},cleanupWindowOpen=function onWindowOpen(cb){return esm_handlers||(esm_handlers=[],function monkeyPatchWindowOpen(){fill(esm_WINDOW,"open",function(originalWindowOpen){return function(...args){if(esm_handlers)try{esm_handlers.forEach(handler=>handler())}catch{}return originalWindowOpen.apply(esm_WINDOW,args)}})}()),esm_handlers.push(cb),()=>{const pos=esm_handlers?esm_handlers.indexOf(cb):-1;pos>-1&&esm_handlers.splice(pos,1)}}(()=>{this._lastMutation=nowInSeconds()}),clickHandler=event=>{if(!event.target)return;const node2=getClickTargetNode(event);node2&&this._handleMultiClick(node2)},obs=new MutationObserver(()=>{this._lastMutation=nowInSeconds()});obs.observe(esm_WINDOW.document.documentElement,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),esm_WINDOW.addEventListener("scroll",scrollHandler,{passive:!0}),esm_WINDOW.addEventListener("click",clickHandler,{passive:!0}),this._teardown=()=>{esm_WINDOW.removeEventListener("scroll",scrollHandler),esm_WINDOW.removeEventListener("click",clickHandler),cleanupWindowOpen(),obs.disconnect(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(breadcrumb,node2){if(function ignoreElement(node2,ignoreSelector){return!!(!SLOW_CLICK_TAGS.includes(node2.tagName)||"INPUT"===node2.tagName&&!["submit","button"].includes(node2.getAttribute("type")||"")||"A"===node2.tagName&&(node2.hasAttribute("download")||node2.hasAttribute("target")&&"_self"!==node2.getAttribute("target"))||ignoreSelector&&node2.matches(ignoreSelector))}(node2,this._ignoreSelector)||!function isClickBreadcrumb(breadcrumb){return!(!breadcrumb.data||"number"!=typeof breadcrumb.data.nodeId||!breadcrumb.timestamp)}(breadcrumb))return;const newClick={timestamp:(timestamp=breadcrumb.timestamp,timestamp>9999999999?timestamp/1e3:timestamp),clickBreadcrumb:breadcrumb,clickCount:0,node:node2};var timestamp;this._clicks.push(newClick),1===this._clicks.length&&this._scheduleCheckClicks()}_handleMultiClick(node2){this._getClicks(node2).forEach(click=>{click.clickCount++})}_getClicks(node2){return this._clicks.filter(click=>click.node===node2)}_checkClicks(){const timedOutClicks=[],now=nowInSeconds();this._clicks.forEach(click=>{!click.mutationAfter&&this._lastMutation&&(click.mutationAfter=click.timestamp<=this._lastMutation?this._lastMutation-click.timestamp:void 0),!click.scrollAfter&&this._lastScroll&&(click.scrollAfter=click.timestamp<=this._lastScroll?this._lastScroll-click.timestamp:void 0),click.timestamp+this._timeout<=now&&timedOutClicks.push(click)});for(const click of timedOutClicks){const pos=this._clicks.indexOf(click);pos>-1&&(this._generateBreadcrumbs(click),this._clicks.splice(pos,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(click){const replay=this._replay,isSlowClick=!(click.scrollAfter&&click.scrollAfter<=this._scollTimeout||click.mutationAfter&&click.mutationAfter<=this._threshold),{clickCount,clickBreadcrumb}=click;if(isSlowClick){const timeAfterClickMs=1e3*Math.min(click.mutationAfter||this._timeout,this._timeout),endReason=timeAfterClickMs<1e3*this._timeout?"mutation":"timeout",breadcrumb={type:"default",message:clickBreadcrumb.message,timestamp:clickBreadcrumb.timestamp,category:"ui.slowClickDetected",data:{...clickBreadcrumb.data,url:esm_WINDOW.location.href,route:replay.getCurrentRoute(),timeAfterClickMs,endReason,clickCount:clickCount||1}};this._addBreadcrumbEvent(replay,breadcrumb)}else if(clickCount>1){const breadcrumb={type:"default",message:clickBreadcrumb.message,timestamp:clickBreadcrumb.timestamp,category:"ui.multiClick",data:{...clickBreadcrumb.data,url:esm_WINDOW.location.href,route:replay.getCurrentRoute(),clickCount,metric:!0}};this._addBreadcrumbEvent(replay,breadcrumb)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=setTimeout(()=>this._checkClicks(),1e3)}}const SLOW_CLICK_TAGS=["A","BUTTON","INPUT"];function nowInSeconds(){return Date.now()/1e3}function createBreadcrumb(breadcrumb){return{timestamp:Date.now()/1e3,type:"default",...breadcrumb}}var NodeType=function(NodeType2){return NodeType2[NodeType2.Document=0]="Document",NodeType2[NodeType2.DocumentType=1]="DocumentType",NodeType2[NodeType2.Element=2]="Element",NodeType2[NodeType2.Text=3]="Text",NodeType2[NodeType2.CDATA=4]="CDATA",NodeType2[NodeType2.Comment=5]="Comment",NodeType2}(NodeType||{});const ATTRIBUTES_TO_RECORD=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled"]);function getAttributesToRecord(attributes){const obj={};for(const key in attributes)if(ATTRIBUTES_TO_RECORD.has(key)){let normalizedKey=key;("data-testid"===key||"data-test-id"===key)&&(normalizedKey="testId"),obj[normalizedKey]=attributes[key]}return obj}function getBaseDomBreadcrumb(target,message){const serializedNode=target&&function isRrwebNode(node2){return"__sn"in node2}(target)&&target.__sn.type===NodeType.Element?target.__sn:null;return{message,data:serializedNode?{nodeId:serializedNode.id,node:{id:serializedNode.id,tagName:serializedNode.tagName,textContent:target?Array.from(target.childNodes).map(node2=>"__sn"in node2&&node2.__sn.type===NodeType.Text&&node2.__sn.textContent).filter(Boolean).map(text=>text.trim()).join(""):"",attributes:getAttributesToRecord(serializedNode.attributes)}}:{}}}const NAVIGATION_ENTRY_KEYS=["name","type","startTime","transferSize","duration"];function isNavigationEntryEqual(a){return function(b){return NAVIGATION_ENTRY_KEYS.every(key=>a[key]===b[key])}}function logInfo(message,shouldAddBreadcrumb){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(logger_logger.info(message),shouldAddBreadcrumb&&esm_addBreadcrumb(message))}function logInfoNextTick(message,shouldAddBreadcrumb){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(logger_logger.info(message),shouldAddBreadcrumb&&setTimeout(()=>{esm_addBreadcrumb(message)},0))}function esm_addBreadcrumb(message){hub_getCurrentHub().addBreadcrumb({category:"console",data:{logger:"replay"},level:"info",message},{level:"info"})}class EventBufferSizeExceededError extends Error{constructor(){super("Event buffer exceeded maximum size of 20000000.")}}class EventBufferArray{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}addEvent(event){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){const eventSize=JSON.stringify(event).length;if(_this._totalSize+=eventSize,_this._totalSize>2e7)throw new EventBufferSizeExceededError;_this.events.push(event)})()}finish(){return new Promise(resolve=>{const eventsRet=this.events;this.clear(),resolve(JSON.stringify(eventsRet))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const timestamp=this.events.map(event=>event.timestamp).sort()[0];return timestamp?timestampToMs(timestamp):null}}class WorkerHandler{constructor(worker){this._worker=worker,this._id=0}ensureReady(){return this._ensureReadyPromise||(this._ensureReadyPromise=new Promise((resolve,reject)=>{this._worker.addEventListener("message",({data})=>{data.success?resolve():reject()},{once:!0}),this._worker.addEventListener("error",error=>{reject(error)},{once:!0})})),this._ensureReadyPromise}destroy(){logInfo("[Replay] Destroying compression worker"),this._worker.terminate()}postMessage(method,arg){const id=this._getAndIncrementId();return new Promise((resolve,reject)=>{const listener=({data})=>{const response=data;if(response.method===method&&response.id===id){if(this._worker.removeEventListener("message",listener),!response.success)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay]",response.response),void reject(new Error("Error in compression worker"));resolve(response.response)}};this._worker.addEventListener("message",listener),this._worker.postMessage({id,method,arg})})}_getAndIncrementId(){return this._id++}}class EventBufferCompressionWorker{constructor(worker){this._worker=new WorkerHandler(worker),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(event){const timestamp=timestampToMs(event.timestamp);(!this._earliestTimestamp||timestamp2e7?Promise.reject(new EventBufferSizeExceededError):this._sendEventToWorker(data)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear")}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(data){return this._worker.postMessage("addEvent",data)}_finishRequest(){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){const response=yield _this2._worker.postMessage("finish");return _this2._earliestTimestamp=null,_this2._totalSize=0,response})()}}class EventBufferProxy{constructor(worker){this._fallback=new EventBufferArray,this._compression=new EventBufferCompressionWorker(worker),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(value){this._used.hasCheckout=value}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(event){return this._used.addEvent(event)}finish(){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){return yield _this3.ensureWorkerIsLoaded(),_this3._used.finish()})()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}_ensureWorkerIsLoaded(){var _this4=this;return asyncToGenerator_asyncToGenerator(function*(){try{yield _this4._compression.ensureReady()}catch{return void logInfo("[Replay] Failed to load the compression worker, falling back to simple buffer")}yield _this4._switchToCompressionWorker()})()}_switchToCompressionWorker(){var _this5=this;return asyncToGenerator_asyncToGenerator(function*(){const{events}=_this5._fallback,addEventPromises=[];for(const event of events)addEventPromises.push(_this5._compression.addEvent(event));_this5._used=_this5._compression;try{yield Promise.all(addEventPromises)}catch(error){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("[Replay] Failed to add events when switching buffers.",error)}})()}}function hasSessionStorage(){try{return"sessionStorage"in esm_WINDOW&&!!esm_WINDOW.sessionStorage}catch{return!1}}function isExpired(initialTime,expiry,targetTime=+new Date){return null===initialTime||void 0===expiry||expiry<0||0!==expiry&&initialTime+expiry<=targetTime}function isSessionExpired(session,timeouts,targetTime=+new Date){return isExpired(session.started,timeouts.maxSessionLife,targetTime)||isExpired(session.lastActivity,timeouts.sessionIdleExpire,targetTime)}function isSampled(sampleRate){return void 0!==sampleRate&&Math.random()"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] An error occured in the `beforeAddRecordingEvent` callback, skipping the event...",error),null}return event}(event,replay.getOptions().beforeAddRecordingEvent);return eventAfterPossibleCallback?yield replay.eventBuffer.addEvent(eventAfterPossibleCallback):void 0}catch(error){const reason=error&&error instanceof EventBufferSizeExceededError?"addEventSizeExceeded":"addEvent";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(error),yield replay.stop(reason);const client=hub_getCurrentHub().getClient();client&&client.recordDroppedEvent("internal_sdk_error","replay")}})).apply(this,arguments)}function esm_isErrorEvent(event){return!event.type}function esm_isTransactionEvent(event){return"transaction"===event.type}function handleAfterSendEvent(replay){const enforceStatusCode=function isBaseTransportSend(){const client=hub_getCurrentHub().getClient();if(!client)return!1;const transport=client.getTransport();return transport&&transport.send.__sentry__baseTransport__||!1}();return(event,sendResponse)=>{if(!replay.isEnabled()||!esm_isErrorEvent(event)&&!esm_isTransactionEvent(event))return;const statusCode=sendResponse&&sendResponse.statusCode;if(!enforceStatusCode||!(!statusCode||statusCode<200||statusCode>=300)){if(esm_isTransactionEvent(event))return void function handleTransactionEvent(replay,event){const replayContext=replay.getContext();event.contexts&&event.contexts.trace&&event.contexts.trace.trace_id&&replayContext.traceIds.size<100&&replayContext.traceIds.add(event.contexts.trace.trace_id)}(replay,event);!function handleErrorEvent(replay,event){const replayContext=replay.getContext();event.event_id&&replayContext.errorIds.size<100&&replayContext.errorIds.add(event.event_id),"buffer"===replay.recordingMode&&event.tags&&event.tags.replayId&&setTimeout(()=>{replay.sendBufferedReplayOrFlush()})}(replay,event)}}}function createPerformanceSpans(replay,entries){return entries.map(({type,start:start2,end,name,data})=>{const response=replay.throttledAddEvent({type:EventType.Custom,timestamp:start2,data:{tag:"performanceSpan",payload:{op:type,description:name,startTimestamp:start2,endTimestamp:end,data}}});return"string"==typeof response?Promise.resolve(null):response})}function addNetworkBreadcrumb(replay,result){replay.isEnabled()&&null!==result&&(function shouldFilterRequest(replay,url){return(!(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)||!replay.getOptions()._experiments.traceInternals)&&function _isSentryRequest(url){const client=hub_getCurrentHub().getClient(),dsn=client&&client.getDsn();return!!dsn&&url.includes(dsn.host)}(url)}(replay,result.name)||replay.addUpdate(()=>(createPerformanceSpans(replay,[result]),!0)))}const OBJ=10,OBJ_KEY=11,OBJ_KEY_STR=12,OBJ_VAL=13,OBJ_VAL_STR=14,OBJ_VAL_COMPLETED=15,ARR=20,ARR_VAL=21,ARR_VAL_STR=22,ARR_VAL_COMPLETED=23,ALLOWED_PRIMITIVES=["true","false","null"];function _evaluateJsonPos(stack,json,pos){const curStep=stack[stack.length-1],char=json[pos];if(!/\s/.test(char)){if('"'===char&&!_isEscaped(json,pos))return void function _handleQuote(stack,curStep){if(curStep===OBJ_VAL_STR)return stack.pop(),void stack.push(OBJ_VAL_COMPLETED);if(curStep===ARR_VAL_STR)return stack.pop(),void stack.push(ARR_VAL_COMPLETED);if(curStep!==OBJ_VAL)if(curStep!==ARR_VAL){if(curStep!==OBJ)return curStep===OBJ_KEY_STR?(stack.pop(),void stack.push(OBJ_KEY)):void 0;stack.push(OBJ_KEY_STR)}else stack.push(ARR_VAL_STR);else stack.push(OBJ_VAL_STR)}(stack,curStep);switch(char){case"{":!function _handleObj(stack,curStep){curStep&&curStep!==OBJ_VAL?(curStep===ARR_VAL&&stack.push(OBJ),curStep!==ARR||stack.push(OBJ)):stack.push(OBJ)}(stack,curStep);break;case"[":!function _handleArr(stack,curStep){curStep?curStep===OBJ_VAL?(stack.push(ARR),stack.push(ARR_VAL)):(curStep===ARR_VAL&&(stack.push(ARR),stack.push(ARR_VAL)),curStep===ARR&&(stack.push(ARR),stack.push(ARR_VAL))):(stack.push(ARR),stack.push(ARR_VAL))}(stack,curStep);break;case":":!function _handleColon(stack,curStep){curStep===OBJ_KEY&&(stack.pop(),stack.push(OBJ_VAL))}(stack,curStep);break;case",":!function _handleComma(stack,curStep){if(curStep!==OBJ_VAL)return curStep===OBJ_VAL_COMPLETED?(stack.pop(),void stack.pop()):void(curStep===ARR_VAL||curStep!==ARR_VAL_COMPLETED||stack.pop());stack.pop()}(stack,curStep);break;case"}":!function _handleObjClose(stack,curStep){curStep===OBJ&&stack.pop(),curStep===OBJ_VAL&&(stack.pop(),stack.pop()),curStep===OBJ_VAL_COMPLETED&&(stack.pop(),stack.pop(),stack.pop()),stack[stack.length-1]===OBJ_VAL&&stack.push(OBJ_VAL_COMPLETED),stack[stack.length-1]===ARR_VAL&&stack.push(ARR_VAL_COMPLETED)}(stack,curStep);break;case"]":!function _handleArrClose(stack,curStep){curStep===ARR&&stack.pop(),curStep===ARR_VAL&&(stack.pop(),stack.pop()),curStep===ARR_VAL_COMPLETED&&(stack.pop(),stack.pop(),stack.pop()),stack[stack.length-1]===OBJ_VAL&&stack.push(OBJ_VAL_COMPLETED),stack[stack.length-1]===ARR_VAL&&stack.push(ARR_VAL_COMPLETED)}(stack,curStep)}}}function _isEscaped(str,pos){return"\\"===str[pos-1]&&!_isEscaped(str,pos-1)}function fixJson(incompleteJson){return function completeJson(incompleteJson,stack){if(!stack.length)return incompleteJson;let json=incompleteJson;const lastPos=stack.length-1;json=function _fixLastStep(json,lastStep){switch(lastStep){case OBJ:return`${json}"~~":"~~"`;case OBJ_KEY:return`${json}:"~~"`;case OBJ_KEY_STR:return`${json}~~":"~~"`;case OBJ_VAL:return function _maybeFixIncompleteObjValue(json){const startPos=json.lastIndexOf(":"),part=json.slice(startPos+1);return ALLOWED_PRIMITIVES.includes(part.trim())?`${json},"~~":"~~"`:`${json.slice(0,startPos+1)}"~~"`}(json);case OBJ_VAL_STR:return`${json}~~"`;case OBJ_VAL_COMPLETED:return`${json},"~~":"~~"`;case ARR:return`${json}"~~"`;case ARR_VAL:return function _maybeFixIncompleteArrValue(json){const pos=function _findLastArrayDelimiter(json){for(let i6=json.length-1;i6>=0;i6--){const char=json[i6];if(","===char||"["===char)return i6}return-1}(json);if(pos>-1){const part=json.slice(pos+1);return ALLOWED_PRIMITIVES.includes(part.trim())?`${json},"~~"`:`${json.slice(0,pos+1)}"~~"`}return json}(json);case ARR_VAL_STR:return`${json}~~"`;case ARR_VAL_COMPLETED:return`${json},"~~"`}return json}(json,stack[lastPos]);for(let i6=lastPos;i6>=0;i6--)switch(stack[i6]){case OBJ:json=`${json}}`;break;case ARR:json=`${json}]`}return json}(incompleteJson,function evaluateJson(json){const stack=[];for(let pos=0;posNETWORK_BODY_MAX_SIZE;if(function _strIsProbablyJson(str){const first2=str[0],last2=str[str.length-1];return"["===first2&&"]"===last2||"{"===first2&&"}"===last2}(body))try{const json=exceedsSizeLimit?fixJson(body.slice(0,NETWORK_BODY_MAX_SIZE)):body;return{body:JSON.parse(json),warnings:exceedsSizeLimit?["JSON_TRUNCATED"]:[]}}catch{return{body:exceedsSizeLimit?`${body.slice(0,NETWORK_BODY_MAX_SIZE)}\u2026`:body,warnings:exceedsSizeLimit?["INVALID_JSON","TEXT_TRUNCATED"]:["INVALID_JSON"]}}return{body:exceedsSizeLimit?`${body.slice(0,NETWORK_BODY_MAX_SIZE)}\u2026`:body,warnings:exceedsSizeLimit?["TEXT_TRUNCATED"]:[]}}(body);return info.body=normalizedBody,warnings.length>0&&(info._meta={warnings}),info}function getAllowedHeaders(headers,allowedHeaders){return Object.keys(headers).reduce((filteredHeaders,key)=>{const normalizedKey=key.toLowerCase();return allowedHeaders.includes(normalizedKey)&&headers[key]&&(filteredHeaders[normalizedKey]=headers[key]),filteredHeaders},{})}function _serializeFormData(formData){return new URLSearchParams(formData).toString()}function urlMatches(url,urls){const fullUrl=function getFullUrl(url,baseURI=esm_WINDOW.document.baseURI){if(url.startsWith("http://")||url.startsWith("https://")||url.startsWith(esm_WINDOW.location.origin))return url;const fixedUrl=new URL(url,baseURI);if(fixedUrl.origin!==new URL(baseURI).origin)return url;const fullUrl=fixedUrl.href;return!url.endsWith("/")&&fullUrl.endsWith("/")?fullUrl.slice(0,-1):fullUrl}(url);return stringMatchesSomePattern(fullUrl,urls)}function _captureFetchBreadcrumbToReplay(){return _captureFetchBreadcrumbToReplay=asyncToGenerator_asyncToGenerator(function*(breadcrumb,hint,options){try{const data=yield function _prepareFetchData(_x7,_x8,_x9){return _prepareFetchData2.apply(this,arguments)}(breadcrumb,hint,options),result=makeNetworkReplayBreadcrumb("resource.fetch",data);addNetworkBreadcrumb(options.replay,result)}catch(error){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] Failed to capture fetch breadcrumb",error)}}),_captureFetchBreadcrumbToReplay.apply(this,arguments)}function _prepareFetchData2(){return _prepareFetchData2=asyncToGenerator_asyncToGenerator(function*(breadcrumb,hint,options){const{startTimestamp,endTimestamp}=hint,{url,method,status_code:statusCode=0,request_body_size:requestBodySize,response_body_size:responseBodySize}=breadcrumb.data,captureDetails=urlMatches(url,options.networkDetailAllowUrls)&&!urlMatches(url,options.networkDetailDenyUrls),request=captureDetails?function _getRequestInfo({networkCaptureBodies,networkRequestHeaders},input,requestBodySize){const headers=function getRequestHeaders(fetchArgs,allowedHeaders){return 1===fetchArgs.length&&"string"!=typeof fetchArgs[0]?getHeadersFromOptions(fetchArgs[0],allowedHeaders):2===fetchArgs.length?getHeadersFromOptions(fetchArgs[1],allowedHeaders):{}}(input,networkRequestHeaders);if(!networkCaptureBodies)return buildNetworkRequestOrResponse(headers,requestBodySize,void 0);return buildNetworkRequestOrResponse(headers,requestBodySize,getBodyString(_getFetchRequestArgBody(input)))}(options,hint.input,requestBodySize):buildSkippedNetworkRequestOrResponse(requestBodySize),response=yield function _getResponseInfo(_x10,_x11,_x12,_x13){return _getResponseInfo2.apply(this,arguments)}(captureDetails,options,hint.response,responseBodySize);return{startTimestamp,endTimestamp,url,method,statusCode,request,response}}),_prepareFetchData2.apply(this,arguments)}function _getResponseInfo2(){return _getResponseInfo2=asyncToGenerator_asyncToGenerator(function*(captureDetails,{networkCaptureBodies,textEncoder,networkResponseHeaders},response,responseBodySize){if(!captureDetails&&void 0!==responseBodySize)return buildSkippedNetworkRequestOrResponse(responseBodySize);const headers=getAllHeaders(response.headers,networkResponseHeaders);if(!networkCaptureBodies&&void 0!==responseBodySize)return buildNetworkRequestOrResponse(headers,responseBodySize,void 0);try{const res=response.clone(),bodyText=yield function _parseFetchBody(_x14){return _parseFetchBody2.apply(this,arguments)}(res),size=bodyText&&bodyText.length&&void 0===responseBodySize?getBodySize(bodyText,textEncoder):responseBodySize;return captureDetails?buildNetworkRequestOrResponse(headers,size,networkCaptureBodies?bodyText:void 0):buildSkippedNetworkRequestOrResponse(size)}catch{return buildNetworkRequestOrResponse(headers,responseBodySize,void 0)}}),_getResponseInfo2.apply(this,arguments)}function _parseFetchBody2(){return(_parseFetchBody2=asyncToGenerator_asyncToGenerator(function*(response){try{return yield response.text()}catch{return}})).apply(this,arguments)}function _getFetchRequestArgBody(fetchArgs=[]){if(2===fetchArgs.length&&"object"==typeof fetchArgs[1])return fetchArgs[1].body}function getAllHeaders(headers,allowedHeaders){const allHeaders={};return allowedHeaders.forEach(header=>{headers.get(header)&&(allHeaders[header]=headers.get(header))}),allHeaders}function getHeadersFromOptions(input,allowedHeaders){if(!input)return{};const headers=input.headers;return headers?headers instanceof Headers?getAllHeaders(headers,allowedHeaders):Array.isArray(headers)?{}:getAllowedHeaders(headers,allowedHeaders):{}}function _captureXhrBreadcrumbToReplay(){return(_captureXhrBreadcrumbToReplay=asyncToGenerator_asyncToGenerator(function*(breadcrumb,hint,options){try{const data=function _prepareXhrData(breadcrumb,hint,options){const{startTimestamp,endTimestamp,input,xhr}=hint,{url,method,status_code:statusCode=0,request_body_size:requestBodySize,response_body_size:responseBodySize}=breadcrumb.data;if(!url)return null;if(!urlMatches(url,options.networkDetailAllowUrls)||urlMatches(url,options.networkDetailDenyUrls))return{startTimestamp,endTimestamp,url,method,statusCode,request:buildSkippedNetworkRequestOrResponse(requestBodySize),response:buildSkippedNetworkRequestOrResponse(responseBodySize)};const xhrInfo=xhr[SENTRY_XHR_DATA_KEY],networkRequestHeaders=xhrInfo?getAllowedHeaders(xhrInfo.request_headers,options.networkRequestHeaders):{},networkResponseHeaders=getAllowedHeaders(function getResponseHeaders(xhr){const headers=xhr.getAllResponseHeaders();return headers?headers.split("\r\n").reduce((acc,line)=>{const[key,value]=line.split(": ");return acc[key.toLowerCase()]=value,acc},{}):{}}(xhr),options.networkResponseHeaders);return{startTimestamp,endTimestamp,url,method,statusCode,request:buildNetworkRequestOrResponse(networkRequestHeaders,requestBodySize,options.networkCaptureBodies?getBodyString(input):void 0),response:buildNetworkRequestOrResponse(networkResponseHeaders,responseBodySize,options.networkCaptureBodies?hint.xhr.responseText:void 0)}}(breadcrumb,hint,options),result=makeNetworkReplayBreadcrumb("resource.xhr",data);addNetworkBreadcrumb(options.replay,result)}catch(error){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] Failed to capture fetch breadcrumb",error)}})).apply(this,arguments)}function handleNetworkBreadcrumbs(replay){const client=hub_getCurrentHub().getClient();try{const textEncoder=new TextEncoder,{networkDetailAllowUrls,networkDetailDenyUrls,networkCaptureBodies,networkRequestHeaders,networkResponseHeaders}=replay.getOptions(),options={replay,textEncoder,networkDetailAllowUrls,networkDetailDenyUrls,networkCaptureBodies,networkRequestHeaders,networkResponseHeaders};client&&client.on?client.on("beforeAddBreadcrumb",(breadcrumb,hint)=>function beforeAddNetworkBreadcrumb(options,breadcrumb,hint){if(breadcrumb.data)try{(function _isXhrBreadcrumb(breadcrumb){return"xhr"===breadcrumb.category})(breadcrumb)&&function _isXhrHint(hint){return hint&&hint.xhr}(hint)&&(function enrichXhrBreadcrumb(breadcrumb,hint,options){const{xhr,input}=hint,reqSize=getBodySize(input,options.textEncoder),resSize=xhr.getResponseHeader("content-length")?parseContentLengthHeader(xhr.getResponseHeader("content-length")):getBodySize(xhr.response,options.textEncoder);void 0!==reqSize&&(breadcrumb.data.request_body_size=reqSize),void 0!==resSize&&(breadcrumb.data.response_body_size=resSize)}(breadcrumb,hint,options),function captureXhrBreadcrumbToReplay(_x15,_x16,_x17){_captureXhrBreadcrumbToReplay.apply(this,arguments)}(breadcrumb,hint,options)),function _isFetchBreadcrumb(breadcrumb){return"fetch"===breadcrumb.category}(breadcrumb)&&function _isFetchHint(hint){return hint&&hint.response}(hint)&&(function enrichFetchBreadcrumb(breadcrumb,hint,options){const{input,response}=hint,reqSize=getBodySize(_getFetchRequestArgBody(input),options.textEncoder),resSize=response?parseContentLengthHeader(response.headers.get("content-length")):void 0;void 0!==reqSize&&(breadcrumb.data.request_body_size=reqSize),void 0!==resSize&&(breadcrumb.data.response_body_size=resSize)}(breadcrumb,hint,options),function captureFetchBreadcrumbToReplay(_x4,_x5,_x6){_captureFetchBreadcrumbToReplay.apply(this,arguments)}(breadcrumb,hint,options))}catch{(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Error when enriching network breadcrumb")}}(options,breadcrumb,hint)):(addInstrumentationHandler("fetch",function handleFetchSpanListener(replay){return handlerData=>{if(!replay.isEnabled())return;const result=function handleFetch(handlerData){const{startTimestamp,endTimestamp,fetchData,response}=handlerData;if(!endTimestamp)return null;const{method,url}=fetchData;return{type:"resource.fetch",start:startTimestamp/1e3,end:endTimestamp/1e3,name:url,data:{method,statusCode:response?response.status:void 0}}}(handlerData);addNetworkBreadcrumb(replay,result)}}(replay)),addInstrumentationHandler("xhr",function handleXhrSpanListener(replay){return handlerData=>{if(!replay.isEnabled())return;const result=function handleXhr(handlerData){const{startTimestamp,endTimestamp,xhr}=handlerData,sentryXhrData=xhr[SENTRY_XHR_DATA_KEY];if(!startTimestamp||!endTimestamp||!sentryXhrData)return null;const{method,url,status_code:statusCode}=sentryXhrData;return void 0===url?null:{type:"resource.xhr",name:url,start:startTimestamp/1e3,end:endTimestamp/1e3,data:{method,statusCode}}}(handlerData);addNetworkBreadcrumb(replay,result)}}(replay)))}catch{}}let _LAST_BREADCRUMB=null;function hasHooks(client){return!(!client||!client.on)}function _addMemoryEntry(){return(_addMemoryEntry=asyncToGenerator_asyncToGenerator(function*(replay){try{return Promise.all(createPerformanceSpans(replay,[createMemoryEntry(esm_WINDOW.performance.memory)]))}catch{return[]}})).apply(this,arguments)}function createMemoryEntry(memoryEntry){const{jsHeapSizeLimit,totalJSHeapSize,usedJSHeapSize}=memoryEntry,time=Date.now()/1e3;return{type:"memory",name:"memory",start:time,end:time,data:{memory:{jsHeapSizeLimit,totalJSHeapSize,usedJSHeapSize}}}}const ENTRY_TYPES={resource:function createResourceEntry(entry){const{entryType,initiatorType,name,responseEnd,startTime,decodedBodySize,encodedBodySize,responseStatus,transferSize}=entry;return["fetch","xmlhttprequest"].includes(initiatorType)?null:{type:`${entryType}.${initiatorType}`,start:getAbsoluteTime(startTime),end:getAbsoluteTime(responseEnd),name,data:{size:transferSize,statusCode:responseStatus,decodedBodySize,encodedBodySize}}},paint:function createPaintEntry(entry){const{duration,entryType,name,startTime}=entry,start2=getAbsoluteTime(startTime);return{type:entryType,name,start:start2,end:start2+duration,data:void 0}},navigation:function createNavigationEntry(entry){const{entryType,name,decodedBodySize,duration,domComplete,encodedBodySize,domContentLoadedEventStart,domContentLoadedEventEnd,domInteractive,loadEventStart,loadEventEnd,redirectCount,startTime,transferSize,type}=entry;return 0===duration?null:{type:`${entryType}.${type}`,start:getAbsoluteTime(startTime),end:getAbsoluteTime(domComplete),name,data:{size:transferSize,decodedBodySize,encodedBodySize,duration,domInteractive,domContentLoadedEventStart,domContentLoadedEventEnd,loadEventStart,loadEventEnd,domComplete,redirectCount}}},"largest-contentful-paint":function createLargestContentfulPaint(entry){const{entryType,startTime,size}=entry;let startTimeOrNavigationActivation=0;if(esm_WINDOW.performance){const navEntry=esm_WINDOW.performance.getEntriesByType("navigation")[0];startTimeOrNavigationActivation=navEntry&&navEntry.activationStart||0}const value=Math.max(startTime-startTimeOrNavigationActivation,0),end=getAbsoluteTime(startTimeOrNavigationActivation)+value/1e3;return{type:entryType,name:entryType,start:end,end,data:{value,size,nodeId:record.mirror.getId(entry.element)}}}};function createPerformanceEntry(entry){return void 0===ENTRY_TYPES[entry.entryType]?null:ENTRY_TYPES[entry.entryType](entry)}function getAbsoluteTime(time){return((esm_time.Z1||esm_WINDOW.performance.timeOrigin)+time)/1e3}function getHandleRecordingEmit(replay){let hadFirstEvent=!1;return(event,_isCheckout)=>{if(!replay.checkAndHandleExpiredSession())return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("[Replay] Received replay event after session expired."));const isCheckout=_isCheckout||!hadFirstEvent;hadFirstEvent=!0,replay.addUpdate(()=>{if("buffer"===replay.recordingMode&&isCheckout&&replay.setInitialState(),addEvent(replay,event,isCheckout),!isCheckout)return!1;if(function addSettingsEvent(replay,isCheckout){isCheckout&&replay.session&&0===replay.session.segmentId?addEvent(replay,function createOptionsEvent(replay){const options=replay.getOptions();return{type:EventType.Custom,timestamp:Date.now(),data:{tag:"options",payload:{sessionSampleRate:options.sessionSampleRate,errorSampleRate:options.errorSampleRate,useCompressionOption:options.useCompression,blockAllMedia:options.blockAllMedia,maskAllText:options.maskAllText,maskAllInputs:options.maskAllInputs,useCompression:!!replay.eventBuffer&&"worker"===replay.eventBuffer.type,networkDetailHasUrls:options.networkDetailAllowUrls.length>0,networkCaptureBodies:options.networkCaptureBodies,networkRequestHasHeaders:options.networkRequestHeaders.length>0,networkResponseHasHeaders:options.networkResponseHeaders.length>0}}}}(replay),!1):Promise.resolve(null)}(replay,isCheckout),replay.session&&replay.session.previousSessionId)return!0;if("buffer"===replay.recordingMode&&replay.session&&replay.eventBuffer){const earliestEvent=replay.eventBuffer.getEarliestTimestamp();earliestEvent&&(logInfo(`[Replay] Updating session start time to earliest event in buffer to ${new Date(earliestEvent)}`,replay.getOptions()._experiments.traceInternals),replay.session.started=earliestEvent,replay.getOptions().stickySession&&saveSession(replay.session))}return"session"===replay.recordingMode&&replay.flush(),!0})}}function _prepareReplayEvent(){return(_prepareReplayEvent=asyncToGenerator_asyncToGenerator(function*({client,scope,replayId:event_id,event}){const integrations="object"!=typeof client._integrations||null===client._integrations||Array.isArray(client._integrations)?void 0:Object.keys(client._integrations),preparedEvent=yield prepareEvent(client.getOptions(),event,{event_id,integrations},scope);if(!preparedEvent)return null;preparedEvent.platform=preparedEvent.platform||"javascript";const metadata=client.getSdkMetadata&&client.getSdkMetadata(),{name,version:version2}=metadata&&metadata.sdk||{};return preparedEvent.sdk={...preparedEvent.sdk,name:name||"sentry.javascript.unknown",version:version2||"0.0.0"},preparedEvent})).apply(this,arguments)}function _sendReplayRequest(){return _sendReplayRequest=asyncToGenerator_asyncToGenerator(function*({recordingData,replayId,segmentId:segment_id,eventContext,timestamp,session}){const preparedRecordingData=function prepareRecordingData({recordingData,headers}){let payloadWithSequence;const replayHeaders=`${JSON.stringify(headers)}\n`;if("string"==typeof recordingData)payloadWithSequence=`${replayHeaders}${recordingData}`;else{const sequence2=(new TextEncoder).encode(replayHeaders);payloadWithSequence=new Uint8Array(sequence2.length+recordingData.length),payloadWithSequence.set(sequence2),payloadWithSequence.set(recordingData,sequence2.length)}return payloadWithSequence}({recordingData,headers:{segment_id}}),{urls,errorIds,traceIds,initialTimestamp}=eventContext,hub=hub_getCurrentHub(),client=hub.getClient(),scope=hub.getScope(),transport=client&&client.getTransport(),dsn=client&&client.getDsn();if(!(client&&transport&&dsn&&session.sampled))return;const baseEvent={type:REPLAY_EVENT_NAME,replay_start_timestamp:initialTimestamp/1e3,timestamp:timestamp/1e3,error_ids:errorIds,trace_ids:traceIds,urls,replay_id:replayId,segment_id,replay_type:session.sampled},replayEvent=yield function prepareReplayEvent(_x19){return _prepareReplayEvent.apply(this,arguments)}({scope,client,replayId,event:baseEvent});if(!replayEvent)return client.recordDroppedEvent("event_processor","replay",baseEvent),void logInfo("An event processor returned `null`, will not send event.");delete replayEvent.sdkProcessingMetadata;const envelope=function createReplayEnvelope(replayEvent,recordingData,dsn,tunnel){return createEnvelope(createEventEnvelopeHeaders(replayEvent,getSdkMetadataForEnvelopeHeader(replayEvent),tunnel,dsn),[[{type:"replay_event"},replayEvent],[{type:"replay_recording",length:"string"==typeof recordingData?(new TextEncoder).encode(recordingData).length:recordingData.length},recordingData]])}(replayEvent,preparedRecordingData,dsn,client.getOptions().tunnel);let response;try{response=yield transport.send(envelope)}catch(err){const error=new Error(UNABLE_TO_SEND_REPLAY);try{error.cause=err}catch{}throw error}if(!response)return response;if("number"==typeof response.statusCode&&(response.statusCode<200||response.statusCode>=300))throw new TransportStatusCodeError(response.statusCode);return response}),_sendReplayRequest.apply(this,arguments)}class TransportStatusCodeError extends Error{constructor(statusCode){super(`Transport returned status code ${statusCode}`)}}function sendReplay(_x21){return _sendReplay.apply(this,arguments)}function _sendReplay(){return _sendReplay=asyncToGenerator_asyncToGenerator(function*(replayData,retryConfig={count:0,interval:RETRY_BASE_INTERVAL}){const{recordingData,options}=replayData;if(recordingData.length)try{return yield function sendReplayRequest(_x20){return _sendReplayRequest.apply(this,arguments)}(replayData),!0}catch(err){if(err instanceof TransportStatusCodeError)throw err;if(setContext("Replays",{_retryCount:retryConfig.count}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&options._experiments&&options._experiments.captureExceptions&&captureException(err),retryConfig.count>=RETRY_MAX_COUNT){const error=new Error(`${UNABLE_TO_SEND_REPLAY} - max retries exceeded`);try{error.cause=err}catch{}throw error}return retryConfig.interval*=++retryConfig.count,new Promise((resolve,reject)=>{setTimeout(asyncToGenerator_asyncToGenerator(function*(){try{yield sendReplay(replayData,retryConfig),resolve(!0)}catch(err2){reject(err2)}}),retryConfig.interval)})}}),_sendReplay.apply(this,arguments)}class ReplayContainer{constructor({options,recordingOptions}){ReplayContainer.prototype.__init.call(this),ReplayContainer.prototype.__init2.call(this),ReplayContainer.prototype.__init3.call(this),ReplayContainer.prototype.__init4.call(this),ReplayContainer.prototype.__init5.call(this),ReplayContainer.prototype.__init6.call(this),this.eventBuffer=null,this.performanceEvents=[],this.recordingMode="session",this.timeouts={sessionIdlePause:3e5,sessionIdleExpire:9e5,maxSessionLife:36e5},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=recordingOptions,this._options=options,this._debouncedFlush=function debounce(func,wait,options){let callbackReturnValue,timerId,maxTimerId;const maxWait=options&&options.maxWait?Math.max(options.maxWait,wait):0;function invokeFunc(){return cancelTimers(),callbackReturnValue=func(),callbackReturnValue}function cancelTimers(){void 0!==timerId&&clearTimeout(timerId),void 0!==maxTimerId&&clearTimeout(maxTimerId),timerId=maxTimerId=void 0}function debounced(){return timerId&&clearTimeout(timerId),timerId=setTimeout(invokeFunc,wait),maxWait&&void 0===maxTimerId&&(maxTimerId=setTimeout(invokeFunc,maxWait)),callbackReturnValue}return debounced.cancel=cancelTimers,debounced.flush=function flush2(){return void 0!==timerId||void 0!==maxTimerId?invokeFunc():callbackReturnValue},debounced}(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=function throttle(fn,maxCount,durationSeconds){const counter=new Map;let isThrottled=!1;return(...rest)=>{const now=Math.floor(Date.now()/1e3);if((now=>{const threshold=now-durationSeconds;counter.forEach((_value,key)=>{keya+b,0)>=maxCount){const wasThrottled=isThrottled;return isThrottled=!0,wasThrottled?"__SKIPPED":"__THROTTLED"}isThrottled=!1;const count=counter.get(now)||0;return counter.set(now,count+1),fn(...rest)}}((event,isCheckout)=>addEvent(this,event,isCheckout),300,5);const{slowClickTimeout,slowClickIgnoreSelectors}=this.getOptions(),slowClickConfig=slowClickTimeout?{threshold:Math.min(3e3,slowClickTimeout),timeout:slowClickTimeout,scrollTimeout:300,ignoreSelector:slowClickIgnoreSelectors?slowClickIgnoreSelectors.join(","):""}:void 0;slowClickConfig&&(this.clickDetector=new ClickDetector(this,slowClickConfig))}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}getOptions(){return this._options}initializeSampling(){const{errorSampleRate,sessionSampleRate}=this._options;if(!(errorSampleRate<=0&&sessionSampleRate<=0)&&this._loadAndCheckSession()){if(!this.session)return void this._handleException(new Error("Unable to initialize and create session"));this.session.sampled&&"session"!==this.session.sampled&&(this.recordingMode="buffer"),logInfoNextTick(`[Replay] Starting replay in ${this.recordingMode} mode`,this._options._experiments.traceInternals),this._initializeRecording()}}start(){if(this._isEnabled&&"session"===this.recordingMode)throw new Error("Replay recording is already in progress");if(this._isEnabled&&"buffer"===this.recordingMode)throw new Error("Replay buffering is in progress, call `flush()` to save the replay");logInfoNextTick("[Replay] Starting replay in session mode",this._options._experiments.traceInternals);const previousSessionId=this.session&&this.session.id,{session}=getSession({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:1,allowBuffering:!1,traceInternals:this._options._experiments.traceInternals});session.previousSessionId=previousSessionId,this.session=session,this._initializeRecording()}startBuffering(){if(this._isEnabled)throw new Error("Replay recording is already in progress");logInfoNextTick("[Replay] Starting replay in buffer mode",this._options._experiments.traceInternals);const previousSessionId=this.session&&this.session.id,{session}=getSession({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:0,allowBuffering:!0,traceInternals:this._options._experiments.traceInternals});session.previousSessionId=previousSessionId,this.session=session,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{this._stopRecording=record({...this._recordingOptions,..."buffer"===this.recordingMode&&{checkoutEveryNms:6e4},emit:getHandleRecordingEmit(this),onMutation:this._onMutationHandler})}catch(err){this._handleException(err)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(err){return this._handleException(err),!1}}stop(reason){var _this6=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this6._isEnabled)try{logInfo("[Replay] Stopping Replay"+(reason?` triggered by ${reason}`:""),_this6._options._experiments.traceInternals),_this6._isEnabled=!1,_this6._removeListeners(),_this6.stopRecording(),_this6._debouncedFlush.cancel(),"session"===_this6.recordingMode&&(yield _this6._flush({force:!0})),_this6.eventBuffer&&_this6.eventBuffer.destroy(),_this6.eventBuffer=null,function clearSession(replay){(function deleteSession(){if(hasSessionStorage())try{esm_WINDOW.sessionStorage.removeItem(REPLAY_SESSION_KEY)}catch{}})(),replay.session=void 0}(_this6)}catch(err){_this6._handleException(err)}})()}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),logInfo("[Replay] Pausing replay",this._options._experiments.traceInternals))}resume(){!this._isPaused||!this._loadAndCheckSession()||(this._isPaused=!1,this.startRecording(),logInfo("[Replay] Resuming replay",this._options._experiments.traceInternals))}sendBufferedReplayOrFlush({continueRecording=!0}={}){var _this7=this;return asyncToGenerator_asyncToGenerator(function*(){if("session"===_this7.recordingMode)return _this7.flushImmediate();const activityTime=Date.now();logInfo("[Replay] Converting buffer to session",_this7._options._experiments.traceInternals),yield _this7.flushImmediate();const hasStoppedRecording=_this7.stopRecording();!continueRecording||!hasStoppedRecording||"session"!==_this7.recordingMode&&(_this7.recordingMode="session",_this7.session&&(_this7.session.shouldRefresh=!1,_this7._updateUserActivity(activityTime),_this7._updateSessionActivity(activityTime),_this7._maybeSaveSession()),_this7.startRecording())})()}addUpdate(cb){const cbResult=cb();"buffer"!==this.recordingMode&&!0!==cbResult&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),this._stopRecording)this.checkAndHandleExpiredSession(),this._updateSessionActivity();else{if(!this._loadAndCheckSession())return;this.resume()}}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return"buffer"===this.recordingMode?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(){return this.session&&this.session.id}checkAndHandleExpiredSession(){const oldSessionId=this.getSessionId();if(!(this._lastActivity&&isExpired(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&"session"===this.session.sampled))return this._loadAndCheckSession()?oldSessionId===this.getSessionId()||(this._triggerFullSnapshot(),!1):void 0;this.pause()}setInitialState(){const url=`${esm_WINDOW.location.origin}${esm_WINDOW.location.pathname}${esm_WINDOW.location.hash}${esm_WINDOW.location.search}`;this.performanceEvents=[],this._clearContext(),this._context.initialUrl=url,this._context.initialTimestamp=Date.now(),this._context.urls.push(url)}throttledAddEvent(event,isCheckout){const res=this._throttledAddEvent(event,isCheckout);if("__THROTTLED"===res){const breadcrumb=createBreadcrumb({category:"replay.throttled"});this.addUpdate(()=>{addEvent(this,{type:EventType.Custom,timestamp:breadcrumb.timestamp||0,data:{tag:"breadcrumb",payload:breadcrumb,metric:!0}})})}return res}getCurrentRoute(){const lastTransaction=this.lastTransaction||hub_getCurrentHub().getScope().getTransaction();if(lastTransaction&&["route","custom"].includes(lastTransaction.metadata.source))return lastTransaction.name}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=function createEventBuffer({useCompression}){if(useCompression&&window.Worker)try{const workerUrl=function e(){const e2=new Blob(['/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */\nfunction t(t){let e=t.length;for(;--e>=0;)t[e]=0}const e=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),a=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),i=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),n=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);const r=new Array(60);t(r);const o=new Array(512);t(o);const l=new Array(256);t(l);const h=new Array(29);t(h);const d=new Array(30);function _(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let f,c,u;function w(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}t(d);const m=t=>t<256?o[t]:o[256+(t>>>7)],b=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},g=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{g(t,a[2*e],a[2*e+1])},k=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},v=(t,e,a)=>{const i=new Array(16);let n,s,r=0;for(n=1;n<=15;n++)r=r+a[n-1]<<1,i[n]=r;for(s=0;s<=e;s++){let e=t[2*s+1];0!==e&&(t[2*s]=k(i[e]++,e))}},y=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},x=t=>{t.bi_valid>8?b(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},z=(t,e,a,i)=>{const n=2*e,s=2*a;return t[n]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{let s,r,o,_,f=0;if(0!==t.sym_next)do{s=255&t.pending_buf[t.sym_buf+f++],s+=(255&t.pending_buf[t.sym_buf+f++])<<8,r=t.pending_buf[t.sym_buf+f++],0===s?p(t,r,i):(o=l[r],p(t,o+256+1,i),_=e[o],0!==_&&(r-=h[o],g(t,r,_)),s--,o=m(s),p(t,o,n),_=a[o],0!==_&&(s-=d[o],g(t,s,_)))}while(f{const a=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,s=e.stat_desc.elems;let r,o,l,h=-1;for(t.heap_len=0,t.heap_max=573,r=0;r>1;r>=1;r--)A(t,a,r);l=s;do{r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],A(t,a,1),o=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=o,a[2*l]=a[2*r]+a[2*o],t.depth[l]=(t.depth[r]>=t.depth[o]?t.depth[r]:t.depth[o])+1,a[2*r+1]=a[2*o+1]=l,t.heap[1]=l++,A(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,s=e.stat_desc.has_stree,r=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,l=e.stat_desc.max_length;let h,d,_,f,c,u,w=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(a[2*t.heap[t.heap_max]+1]=0,h=t.heap_max+1;h<573;h++)d=t.heap[h],f=a[2*a[2*d+1]+1]+1,f>l&&(f=l,w++),a[2*d+1]=f,d>i||(t.bl_count[f]++,c=0,d>=o&&(c=r[d-o]),u=a[2*d],t.opt_len+=u*(f+c),s&&(t.static_len+=u*(n[2*d+1]+c)));if(0!==w){do{for(f=l-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[l]--,w-=2}while(w>0);for(f=l;0!==f;f--)for(d=t.bl_count[f];0!==d;)_=t.heap[--h],_>i||(a[2*_+1]!==f&&(t.opt_len+=(f-a[2*_+1])*a[2*_],a[2*_+1]=f),d--)}})(t,e),v(a,h,t.bl_count)},Z=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=r,r=e[2*(i+1)+1],++o{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),i=0;i<=a;i++)if(n=r,r=e[2*(i+1)+1],!(++o{g(t,0+(i?1:0),3),x(t),b(t,a),b(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var T=(t,e,a,i)=>{let o,l,h=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),R(t,t.l_desc),R(t,t.d_desc),h=(t=>{let e;for(Z(t,t.dyn_ltree,t.l_desc.max_code),Z(t,t.dyn_dtree,t.d_desc.max_code),R(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*n[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,l=t.static_len+3+7>>>3,l<=o&&(o=l)):o=l=a+5,a+4<=o&&-1!==e?D(t,e,a,i):4===t.strategy||l===o?(g(t,2+(i?1:0),3),E(t,s,r)):(g(t,4+(i?1:0),3),((t,e,a,i)=>{let s;for(g(t,e-257,5),g(t,a-1,5),g(t,i-4,4),s=0;s{S||((()=>{let t,n,w,m,b;const g=new Array(16);for(w=0,m=0;m<28;m++)for(h[m]=w,t=0;t<1<>=7;m<30;m++)for(d[m]=b<<7,t=0;t<1<(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=a,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(l[a]+256+1)]++,t.dyn_dtree[2*m(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{g(t,2,3),p(t,256,s),(t=>{16===t.bi_valid?(b(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var F=(t,e,a,i)=>{let n=65535&t|0,s=t>>>16&65535|0,r=0;for(;0!==a;){r=a>2e3?2e3:a,a-=r;do{n=n+e[i++]|0,s=s+n|0}while(--r);n%=65521,s%=65521}return n|s<<16|0};const L=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var N=(t,e,a,i)=>{const n=L,s=i+a;t^=-1;for(let a=i;a>>8^n[255&(t^e[a])];return-1^t},I={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},B={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:C,_tr_stored_block:H,_tr_flush_block:M,_tr_tally:j,_tr_align:K}=O,{Z_NO_FLUSH:P,Z_PARTIAL_FLUSH:Y,Z_FULL_FLUSH:G,Z_FINISH:X,Z_BLOCK:W,Z_OK:q,Z_STREAM_END:J,Z_STREAM_ERROR:Q,Z_DATA_ERROR:V,Z_BUF_ERROR:$,Z_DEFAULT_COMPRESSION:tt,Z_FILTERED:et,Z_HUFFMAN_ONLY:at,Z_RLE:it,Z_FIXED:nt,Z_DEFAULT_STRATEGY:st,Z_UNKNOWN:rt,Z_DEFLATED:ot}=B,lt=(t,e)=>(t.msg=I[e],e),ht=t=>2*t-(t>4?9:0),dt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},_t=t=>{let e,a,i,n=t.w_size;e=t.hash_size,i=e;do{a=t.head[--i],t.head[i]=a>=n?a-n:0}while(--e);e=n,i=e;do{a=t.prev[--i],t.prev[i]=a>=n?a-n:0}while(--e)};let ft=(t,e,a)=>(e<{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},ut=(t,e)=>{M(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,ct(t.strm)},wt=(t,e)=>{t.pending_buf[t.pending++]=e},mt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},bt=(t,e,a,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),a),1===t.state.wrap?t.adler=F(t.adler,e,n,a):2===t.state.wrap&&(t.adler=N(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)},gt=(t,e)=>{let a,i,n=t.max_chain_length,s=t.strstart,r=t.prev_length,o=t.nice_match;const l=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,h=t.window,d=t.w_mask,_=t.prev,f=t.strstart+258;let c=h[s+r-1],u=h[s+r];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+r]===u&&h[a+r-1]===c&&h[a]===h[s]&&h[++a]===h[s+1]){s+=2,a++;do{}while(h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&sr){if(t.match_start=e,r=i,i>=o)break;c=h[s+r-1],u=h[s+r]}}}while((e=_[e&d])>l&&0!=--n);return r<=t.lookahead?r:t.lookahead},pt=t=>{const e=t.w_size;let a,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-262)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),_t(t),i+=e),0===t.strm.avail_in)break;if(a=bt(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=a,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=ft(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=ft(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<262&&0!==t.strm.avail_in)},kt=(t,e)=>{let a,i,n,s=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,r=0,o=t.strm.avail_in;do{if(a=65535,n=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),a>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,ct(t.strm),i&&(i>a&&(i=a),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,a-=i),a&&(bt(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a)}while(0===r);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_watern&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(bt(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,s=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=s||(i||e===X)&&e!==P&&0===t.strm.avail_in&&i<=n)&&(a=i>n?n:i,r=e===X&&0===t.strm.avail_in&&a===i?1:0,H(t,t.block_start,a,r),t.block_start+=a,ct(t.strm)),r?3:1)},vt=(t,e)=>{let a,i;for(;;){if(t.lookahead<262){if(pt(t),t.lookahead<262&&e===P)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-262&&(t.match_length=gt(t,a)),t.match_length>=3)if(i=j(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=ft(t,t.ins_h,t.window[t.strstart+1]);else i=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2},yt=(t,e)=>{let a,i,n;for(;;){if(t.lookahead<262){if(pt(t),t.lookahead<262&&e===P)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=j(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(ut(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=j(t,0,t.window[t.strstart-1]),i&&ut(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=j(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2};function xt(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}const zt=[new xt(0,0,0,0,kt),new xt(4,4,8,4,vt),new xt(4,5,16,8,vt),new xt(4,6,32,32,vt),new xt(4,4,16,16,yt),new xt(8,16,32,32,yt),new xt(8,16,128,128,yt),new xt(8,32,128,256,yt),new xt(32,128,258,1024,yt),new xt(32,258,258,4096,yt)];function At(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ot,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),dt(this.dyn_ltree),dt(this.dyn_dtree),dt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),dt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),dt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Et=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||42!==e.status&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&113!==e.status&&666!==e.status?1:0},Rt=t=>{if(Et(t))return lt(t,Q);t.total_in=t.total_out=0,t.data_type=rt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?42:113,t.adler=2===e.wrap?0:1,e.last_flush=-2,C(e),q},Zt=t=>{const e=Rt(t);var a;return e===q&&((a=t.state).window_size=2*a.w_size,dt(a.head),a.max_lazy_match=zt[a.level].max_lazy,a.good_match=zt[a.level].good_length,a.nice_match=zt[a.level].nice_length,a.max_chain_length=zt[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},Ut=(t,e,a,i,n,s)=>{if(!t)return Q;let r=1;if(e===tt&&(e=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),n<1||n>9||a!==ot||i<8||i>15||e<0||e>9||s<0||s>nt||8===i&&1!==r)return lt(t,Q);8===i&&(i=9);const o=new At;return t.state=o,o.strm=t,o.status=42,o.wrap=r,o.gzhead=null,o.w_bits=i,o.w_size=1<Ut(t,e,ot,15,8,st),deflateInit2:Ut,deflateReset:Zt,deflateResetKeep:Rt,deflateSetHeader:(t,e)=>Et(t)||2!==t.state.wrap?Q:(t.state.gzhead=e,q),deflate:(t,e)=>{if(Et(t)||e>W||e<0)return t?lt(t,Q):Q;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||666===a.status&&e!==X)return lt(t,0===t.avail_out?$:Q);const i=a.last_flush;if(a.last_flush=e,0!==a.pending){if(ct(t),0===t.avail_out)return a.last_flush=-1,q}else if(0===t.avail_in&&ht(e)<=ht(i)&&e!==X)return lt(t,$);if(666===a.status&&0!==t.avail_in)return lt(t,$);if(42===a.status&&0===a.wrap&&(a.status=113),42===a.status){let e=ot+(a.w_bits-8<<4)<<8,i=-1;if(i=a.strategy>=at||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=i<<6,0!==a.strstart&&(e|=32),e+=31-e%31,mt(a,e),0!==a.strstart&&(mt(a,t.adler>>>16),mt(a,65535&t.adler)),t.adler=1,a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q}if(57===a.status)if(t.adler=0,wt(a,31),wt(a,139),wt(a,8),a.gzhead)wt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),wt(a,255&a.gzhead.time),wt(a,a.gzhead.time>>8&255),wt(a,a.gzhead.time>>16&255),wt(a,a.gzhead.time>>24&255),wt(a,9===a.level?2:a.strategy>=at||a.level<2?4:0),wt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(wt(a,255&a.gzhead.extra.length),wt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=N(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(wt(a,0),wt(a,0),wt(a,0),wt(a,0),wt(a,0),wt(a,9===a.level?2:a.strategy>=at||a.level<2?4:0),wt(a,3),a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q;if(69===a.status){if(a.gzhead.extra){let e=a.pending,i=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+i>a.pending_buf_size;){let n=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+n),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>e&&(t.adler=N(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=n,ct(t),0!==a.pending)return a.last_flush=-1,q;e=0,i-=n}let n=new Uint8Array(a.gzhead.extra);a.pending_buf.set(n.subarray(a.gzindex,a.gzindex+i),a.pending),a.pending+=i,a.gzhead.hcrc&&a.pending>e&&(t.adler=N(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex=0}a.status=73}if(73===a.status){if(a.gzhead.name){let e,i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),ct(t),0!==a.pending)return a.last_flush=-1,q;i=0}e=a.gzindexi&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),a.gzindex=0}a.status=91}if(91===a.status){if(a.gzhead.comment){let e,i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),ct(t),0!==a.pending)return a.last_flush=-1,q;i=0}e=a.gzindexi&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i))}a.status=103}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(ct(t),0!==a.pending))return a.last_flush=-1,q;wt(a,255&t.adler),wt(a,t.adler>>8&255),t.adler=0}if(a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q}if(0!==t.avail_in||0!==a.lookahead||e!==P&&666!==a.status){let i=0===a.level?kt(a,e):a.strategy===at?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(pt(t),0===t.lookahead)){if(e===P)return 1;break}if(t.match_length=0,a=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===it?((t,e)=>{let a,i,n,s;const r=t.window;for(;;){if(t.lookahead<=258){if(pt(t),t.lookahead<=258&&e===P)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=r[n],i===r[++n]&&i===r[++n]&&i===r[++n])){s=t.strstart+258;do{}while(i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=j(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2})(a,e):zt[a.level].func(a,e);if(3!==i&&4!==i||(a.status=666),1===i||3===i)return 0===t.avail_out&&(a.last_flush=-1),q;if(2===i&&(e===Y?K(a):e!==W&&(H(a,0,0,!1),e===G&&(dt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),ct(t),0===t.avail_out))return a.last_flush=-1,q}return e!==X?q:a.wrap<=0?J:(2===a.wrap?(wt(a,255&t.adler),wt(a,t.adler>>8&255),wt(a,t.adler>>16&255),wt(a,t.adler>>24&255),wt(a,255&t.total_in),wt(a,t.total_in>>8&255),wt(a,t.total_in>>16&255),wt(a,t.total_in>>24&255)):(mt(a,t.adler>>>16),mt(a,65535&t.adler)),ct(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?q:J)},deflateEnd:t=>{if(Et(t))return Q;const e=t.state.status;return t.state=null,113===e?lt(t,V):q},deflateSetDictionary:(t,e)=>{let a=e.length;if(Et(t))return Q;const i=t.state,n=i.wrap;if(2===n||1===n&&42!==i.status||i.lookahead)return Q;if(1===n&&(t.adler=F(t.adler,e,a,0)),i.wrap=0,a>=i.w_size){0===n&&(dt(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(a-i.w_size,a),0),e=t,a=i.w_size}const s=t.avail_in,r=t.next_in,o=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,pt(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=ft(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,pt(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=r,t.input=o,t.avail_in=s,i.wrap=n,q},deflateInfo:"pako deflate (from Nodeca project)"};const Dt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Tt=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)Dt(a,e)&&(t[e]=a[e])}}return t},Ot=t=>{let e=0;for(let a=0,i=t.length;a=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Lt[254]=Lt[254]=1;var Nt=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,i,n,s,r=t.length,o=0;for(n=0;n>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},It=(t,e)=>{const a=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const s=new Array(2*a);for(n=0,i=0;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?s[n++]=65533:e<65536?s[n++]=e:(e-=65536,s[n++]=55296|e>>10&1023,s[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Ft)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let a="";for(let i=0;i{(e=e||t.length)>t.length&&(e=t.length);let a=e-1;for(;a>=0&&128==(192&t[a]);)a--;return a<0||0===a?e:a+Lt[t[a]]>e?a:e};var Ct=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Ht=Object.prototype.toString,{Z_NO_FLUSH:Mt,Z_SYNC_FLUSH:jt,Z_FULL_FLUSH:Kt,Z_FINISH:Pt,Z_OK:Yt,Z_STREAM_END:Gt,Z_DEFAULT_COMPRESSION:Xt,Z_DEFAULT_STRATEGY:Wt,Z_DEFLATED:qt}=B;function Jt(t){this.options=Tt({level:Xt,method:qt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Wt},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ct,this.strm.avail_out=0;let a=St.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Yt)throw new Error(I[a]);if(e.header&&St.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Nt(e.dictionary):"[object ArrayBuffer]"===Ht.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=St.deflateSetDictionary(this.strm,t),a!==Yt)throw new Error(I[a]);this._dict_set=!0}}function Qt(t,e){const a=new Jt(e);if(a.push(t,!0),a.err)throw a.msg||I[a.err];return a.result}Jt.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize;let n,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Pt:Mt,"string"==typeof t?a.input=Nt(t):"[object ArrayBuffer]"===Ht.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(s===jt||s===Kt)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(n=St.deflate(a,s),n===Gt)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=St.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Yt;if(0!==a.avail_out){if(s>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},Jt.prototype.onData=function(t){this.chunks.push(t)},Jt.prototype.onEnd=function(t){t===Yt&&(this.result=Ot(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Vt={Deflate:Jt,deflate:Qt,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Qt(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Qt(t,e)},constants:B};var $t=function(t,e){let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z,A;const E=t.state;a=t.next_in,z=t.input,i=a+(t.avail_in-5),n=t.next_out,A=t.output,s=n-(e-t.avail_out),r=n+(t.avail_out-257),o=E.dmax,l=E.wsize,h=E.whave,d=E.wnext,_=E.window,f=E.hold,c=E.bits,u=E.lencode,w=E.distcode,m=(1<>>24,f>>>=p,c-=p,p=g>>>16&255,0===p)A[n++]=65535&g;else{if(!(16&p)){if(0==(64&p)){g=u[(65535&g)+(f&(1<>>=p,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<o){t.msg="invalid distance too far back",E.mode=16209;break t}if(f>>>=p,c-=p,p=n-s,v>p){if(p=v-p,p>h&&E.sane){t.msg="invalid distance too far back",E.mode=16209;break t}if(y=0,x=_,0===d){if(y+=l-p,p2;)A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]))}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]))}break}}break}}while(a>3,a-=k,c-=k<<3,f&=(1<{const l=o.bits;let h,d,_,f,c,u,w=0,m=0,b=0,g=0,p=0,k=0,v=0,y=0,x=0,z=0,A=null;const E=new Uint16Array(16),R=new Uint16Array(16);let Z,U,S,D=null;for(w=0;w<=15;w++)E[w]=0;for(m=0;m=1&&0===E[g];g--);if(p>g&&(p=g),0===g)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(b=1;b0&&(0===t||1!==g))return-1;for(R[1]=0,w=1;w<15;w++)R[w+1]=R[w]+E[w];for(m=0;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=1;if(0!==h?(z&=h-1,z+=h):z=0,m++,0==--E[w]){if(w===g)break;w=e[a+r[m]]}if(w>p&&(z&f)!==_){for(0===v&&(v=p),c+=b,k=w-v,y=1<852||2===t&&x>592)return 1;_=z&f,n[_]=p<<24|k<<16|c-s|0}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),o.bits=p,0};const{Z_FINISH:se,Z_BLOCK:re,Z_TREES:oe,Z_OK:le,Z_STREAM_END:he,Z_NEED_DICT:de,Z_STREAM_ERROR:_e,Z_DATA_ERROR:fe,Z_MEM_ERROR:ce,Z_BUF_ERROR:ue,Z_DEFLATED:we}=B,me=16209,be=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ge(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const pe=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<16180||e.mode>16211?1:0},ke=t=>{if(pe(t))return _e;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=16180,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,le},ve=t=>{if(pe(t))return _e;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,ke(t)},ye=(t,e)=>{let a;if(pe(t))return _e;const i=t.state;return e<0?(a=0,e=-e):(a=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?_e:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,ve(t))},xe=(t,e)=>{if(!t)return _e;const a=new ge;t.state=a,a.strm=t,a.window=null,a.mode=16180;const i=ye(t,e);return i!==le&&(t.state=null),i};let ze,Ae,Ee=!0;const Re=t=>{if(Ee){ze=new Int32Array(512),Ae=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(ne(1,t.lens,0,288,ze,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ne(2,t.lens,0,32,Ae,0,t.work,{bits:5}),Ee=!1}t.lencode=ze,t.lenbits=9,t.distcode=Ae,t.distbits=5},Ze=(t,e,a,i)=>{let n;const s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whavexe(t,15),inflateInit2:xe,inflate:(t,e)=>{let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z=0;const A=new Uint8Array(4);let E,R;const Z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(pe(t)||!t.output||!t.input&&0!==t.avail_in)return _e;a=t.state,16191===a.mode&&(a.mode=16192),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,_=o,f=l,x=le;t:for(;;)switch(a.mode){case 16180:if(0===a.wrap){a.mode=16192;break}for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=N(a.check,A,2,0),h=0,d=0,a.mode=16181;break}if(a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=me;break}if((15&h)!==we){t.msg="unknown compression method",a.mode=me;break}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits&&(a.wbits=y),y>15||y>a.wbits){t.msg="invalid window size",a.mode=me;break}a.dmax=1<>8&1),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0,a.mode=16182;case 16182:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=N(a.check,A,4,0)),h=0,d=0,a.mode=16183;case 16183:for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>8),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0,a.mode=16184;case 16184:if(1024&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0}else a.head&&(a.head.extra=null);a.mode=16185;case 16185:if(1024&a.flags&&(c=a.length,c>o&&(c=o),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&4&a.wrap&&(a.check=N(a.check,i,c,s)),o-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=16186;case 16186:if(2048&a.flags){if(0===o)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y))}while(y&&c>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=16191;break;case 16189:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>=7&d,d-=7&d,a.mode=16206;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=1,d-=1,3&h){case 0:a.mode=16193;break;case 1:if(Re(a),a.mode=16199,e===oe){h>>>=2,d-=2;break t}break;case 2:a.mode=16196;break;case 3:t.msg="invalid block type",a.mode=me}h>>>=2,d-=2;break;case 16193:for(h>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,h+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=me;break}if(a.length=65535&h,h=0,d=0,a.mode=16194,e===oe)break t;case 16194:a.mode=16195;case 16195:if(c=a.length,c){if(c>o&&(c=o),c>l&&(c=l),0===c)break t;n.set(i.subarray(s,s+c),r),o-=c,s+=c,l-=c,r+=c,a.length-=c;break}a.mode=16191;break;case 16196:for(;d<14;){if(0===o)break t;o--,h+=i[s++]<>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=me;break}a.have=0,a.mode=16197;case 16197:for(;a.have>>=3,d-=3}for(;a.have<19;)a.lens[Z[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=ne(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=me;break}a.have=0,a.mode=16198;case 16198:for(;a.have>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=m,d-=m,0===a.have){t.msg="invalid bit length repeat",a.mode=me;break}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2}else if(17===g){for(R=m+3;d>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=m,d-=m,y=0,c=11+(127&h),h>>>=7,d-=7}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=me;break}for(;c--;)a.lens[a.have++]=y}}if(a.mode===me)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=me;break}if(a.lenbits=9,E={bits:a.lenbits},x=ne(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=me;break}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=ne(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=me;break}if(a.mode=16199,e===oe)break t;case 16199:a.mode=16200;case 16200:if(o>=6&&l>=258){t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,$t(t,f),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,16191===a.mode&&(a.back=-1);break}for(a.back=0;z=a.lencode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,a.length=g,0===b){a.mode=16205;break}if(32&b){a.back=-1,a.mode=16191;break}if(64&b){t.msg="invalid literal/length code",a.mode=me;break}a.extra=15&b,a.mode=16201;case 16201:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,64&b){t.msg="invalid distance code",a.mode=me;break}a.offset=g,a.extra=15&b,a.mode=16203;case 16203:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=me;break}a.mode=16204;case 16204:if(0===l)break t;if(c=f-l,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=me;break}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window}else w=n,u=r-a.offset,c=a.length;c>l&&(c=l),l-=c,a.length-=c;do{n[r++]=w[u++]}while(--c);0===a.length&&(a.mode=16200);break;case 16205:if(0===l)break t;n[r++]=a.length,l--,a.mode=16200;break;case 16206:if(a.wrap){for(;d<32;){if(0===o)break t;o--,h|=i[s++]<{if(pe(t))return _e;let e=t.state;return e.window&&(e.window=null),t.state=null,le},inflateGetHeader:(t,e)=>{if(pe(t))return _e;const a=t.state;return 0==(2&a.wrap)?_e:(a.head=e,e.done=!1,le)},inflateSetDictionary:(t,e)=>{const a=e.length;let i,n,s;return pe(t)?_e:(i=t.state,0!==i.wrap&&16190!==i.mode?_e:16190===i.mode&&(n=1,n=F(n,e,a,0),n!==i.check)?fe:(s=Ze(t,e,a,a),s?(i.mode=16210,ce):(i.havedict=1,le)))},inflateInfo:"pako inflate (from Nodeca project)"};var Se=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const De=Object.prototype.toString,{Z_NO_FLUSH:Te,Z_FINISH:Oe,Z_OK:Fe,Z_STREAM_END:Le,Z_NEED_DICT:Ne,Z_STREAM_ERROR:Ie,Z_DATA_ERROR:Be,Z_MEM_ERROR:Ce}=B;function He(t){this.options=Tt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ct,this.strm.avail_out=0;let a=Ue.inflateInit2(this.strm,e.windowBits);if(a!==Fe)throw new Error(I[a]);if(this.header=new Se,Ue.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Nt(e.dictionary):"[object ArrayBuffer]"===De.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=Ue.inflateSetDictionary(this.strm,e.dictionary),a!==Fe)))throw new Error(I[a])}He.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let s,r,o;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Oe:Te,"[object ArrayBuffer]"===De.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=Ue.inflate(a,r),s===Ne&&n&&(s=Ue.inflateSetDictionary(a,n),s===Fe?s=Ue.inflate(a,r):s===Be&&(s=Ne));a.avail_in>0&&s===Le&&a.state.wrap>0&&0!==t[a.next_in];)Ue.inflateReset(a),s=Ue.inflate(a,r);switch(s){case Ie:case Be:case Ne:case Ce:return this.onEnd(s),this.ended=!0,!1}if(o=a.avail_out,a.next_out&&(0===a.avail_out||s===Le))if("string"===this.options.to){let t=Bt(a.output,a.next_out),e=a.next_out-t,n=It(a.output,t);a.next_out=e,a.avail_out=i-e,e&&a.output.set(a.output.subarray(t,t+e),0),this.onData(n)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==Fe||0!==o){if(s===Le)return s=Ue.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},He.prototype.onData=function(t){this.chunks.push(t)},He.prototype.onEnd=function(t){t===Fe&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ot(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};const{Deflate:Me,deflate:je,deflateRaw:Ke,gzip:Pe}=Vt;var Ye=Me,Ge=je,Xe=B;const We=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const e=this._hasEvents?",":"";this.deflate.push(e+t,Xe.Z_SYNC_FLUSH),this._hasEvents=!0}finish(){if(this.deflate.push("]",Xe.Z_FINISH),this.deflate.err)throw this.deflate.err;const t=this.deflate.result;return this._init(),t}_init(){this._hasEvents=!1,this.deflate=new Ye,this.deflate.push("[",Xe.Z_NO_FLUSH)}},qe={clear:()=>{We.clear()},addEvent:t=>We.addEvent(t),finish:()=>We.finish(),compress:t=>function(t){return Ge(t)}(t)};addEventListener("message",(function(t){const e=t.data.method,a=t.data.id,i=t.data.arg;if(e in qe&&"function"==typeof qe[e])try{const t=qe[e](i);postMessage({id:a,method:e,success:!0,response:t})}catch(t){postMessage({id:a,method:e,success:!1,response:t.message}),console.error(t)}})),postMessage({id:void 0,method:"init",success:!0,response:void 0});']);return URL.createObjectURL(e2)}();logInfo("[Replay] Using compression worker");const worker=new Worker(workerUrl);return new EventBufferProxy(worker)}catch{logInfo("[Replay] Failed to create compression worker")}return logInfo("[Replay] Using simple buffer"),new EventBufferArray}({useCompression:this._options.useCompression}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this.startRecording()}_handleException(error){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay]",error),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this._options._experiments&&this._options._experiments.captureExceptions&&captureException(error)}_loadAndCheckSession(){const{type,session}=getSession({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:this._options.errorSampleRate>0||"buffer"===this.recordingMode,traceInternals:this._options._experiments.traceInternals});"new"===type&&this.setInitialState();const currentSessionId=this.getSessionId();return session.id!==currentSessionId&&(session.previousSessionId=currentSessionId),this.session=session,!!this.session.sampled||(this.stop("session not refreshed"),!1)}_addListeners(){try{esm_WINDOW.document.addEventListener("visibilitychange",this._handleVisibilityChange),esm_WINDOW.addEventListener("blur",this._handleWindowBlur),esm_WINDOW.addEventListener("focus",this._handleWindowFocus),esm_WINDOW.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(function addGlobalListeners(replay){const scope=hub_getCurrentHub().getScope(),client=hub_getCurrentHub().getClient();scope&&scope.addScopeListener((replay=>scope=>{if(!replay.isEnabled())return;const result=function handleScope(scope){const newBreadcrumb=scope.getLastBreadcrumb&&scope.getLastBreadcrumb();return _LAST_BREADCRUMB===newBreadcrumb||!newBreadcrumb||(_LAST_BREADCRUMB=newBreadcrumb,!function isBreadcrumbWithCategory(breadcrumb){return!!breadcrumb.category}(newBreadcrumb)||["fetch","xhr","sentry.event","sentry.transaction"].includes(newBreadcrumb.category)||newBreadcrumb.category.startsWith("ui."))?null:"console"===newBreadcrumb.category?function normalizeConsoleBreadcrumb(breadcrumb){const args=breadcrumb.data&&breadcrumb.data.arguments;if(!Array.isArray(args)||0===args.length)return createBreadcrumb(breadcrumb);let isTruncated=!1;const normalizedArgs=args.map(arg=>{if(!arg)return arg;if("string"==typeof arg)return arg.length>5e3?(isTruncated=!0,`${arg.slice(0,5e3)}\u2026`):arg;if("object"==typeof arg)try{const normalizedArg=normalize(arg,7),stringified=JSON.stringify(normalizedArg);if(stringified.length>5e3){const fixedJson=fixJson(stringified.slice(0,5e3)),json=JSON.parse(fixedJson);return isTruncated=!0,json}return normalizedArg}catch{}return arg});return createBreadcrumb({...breadcrumb,data:{...breadcrumb.data,arguments:normalizedArgs,...isTruncated?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}(newBreadcrumb):createBreadcrumb(newBreadcrumb)}(scope);result&&addBreadcrumbEvent(replay,result)})(replay)),addInstrumentationHandler("dom",(replay=>handlerData=>{if(!replay.isEnabled())return;const result=function handleDom(handlerData){const{target,message}=function getDomTarget(handlerData){const isClick="click"===handlerData.name;let message,target=null;try{target=isClick?getClickTargetNode(handlerData.event):getTargetNode(handlerData.event),message=htmlTreeAsString(target,{maxStringLength:200})||""}catch{message=""}return{target,message}}(handlerData);return createBreadcrumb({category:`ui.${handlerData.name}`,...getBaseDomBreadcrumb(target,message)})}(handlerData);if(!result)return;const isClick="click"===handlerData.name,event=isClick&&handlerData.event;isClick&&replay.clickDetector&&event&&!event.altKey&&!event.metaKey&&!event.ctrlKey&&!event.shiftKey&&function handleClick(clickDetector,clickBreadcrumb,node2){clickDetector.handleClick(clickBreadcrumb,node2)}(replay.clickDetector,result,getClickTargetNode(handlerData.event)),addBreadcrumbEvent(replay,result)})(replay)),addInstrumentationHandler("history",function handleHistorySpanListener(replay){return handlerData=>{if(!replay.isEnabled())return;const result=function handleHistory(handlerData){const{from:from2,to}=handlerData,now=Date.now()/1e3;return{type:"navigation.push",start:now,end:now,name:to,data:{previous:from2}}}(handlerData);null!==result&&(replay.getContext().urls.push(result.name),replay.triggerUserActivity(),replay.addUpdate(()=>(createPerformanceSpans(replay,[result]),!1)))}}(replay)),handleNetworkBreadcrumbs(replay),addGlobalEventProcessor(function handleGlobalEventListener(replay,includeAfterSendEventHandling=!1){const afterSendHandler=includeAfterSendEventHandling?handleAfterSendEvent(replay):void 0;return(event,hint)=>replay.isEnabled()?function isReplayEvent(event){return"replay_event"===event.type}(event)?(delete event.breadcrumbs,event):esm_isErrorEvent(event)||esm_isTransactionEvent(event)?function isRrwebError(event,hint){return!(event.type||!event.exception||!event.exception.values||!event.exception.values.length)&&(!(!hint.originalException||!hint.originalException.__rrweb__)||event.exception.values.some(exception=>!!(exception.stacktrace&&exception.stacktrace.frames&&exception.stacktrace.frames.length)&&exception.stacktrace.frames.some(frame=>frame.filename&&frame.filename.includes("/rrweb/src/"))))}(event,hint)&&!replay.getOptions()._experiments.captureExceptions?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Replay] Ignoring error from rrweb internals",event),null):((function shouldSampleForBufferEvent(replay,event){return!("buffer"!==replay.recordingMode||event.message===UNABLE_TO_SEND_REPLAY||!event.exception||event.type)&&isSampled(replay.getOptions().errorSampleRate)}(replay,event)||"session"===replay.recordingMode)&&(event.tags={...event.tags,replayId:replay.getSessionId()}),afterSendHandler&&afterSendHandler(event,{statusCode:200}),event):event:event}(replay,!hasHooks(client))),hasHooks(client)&&(client.on("afterSendEvent",handleAfterSendEvent(replay)),client.on("createDsc",dsc=>{const replayId=replay.getSessionId();replayId&&replay.isEnabled()&&"session"===replay.recordingMode&&(dsc.replay_id=replayId)}),client.on("startTransaction",transaction=>{replay.lastTransaction=transaction}),client.on("finishTransaction",transaction=>{replay.lastTransaction=transaction}))}(this),this._hasInitializedCoreListeners=!0)}catch(err){this._handleException(err)}"PerformanceObserver"in esm_WINDOW&&(this._performanceObserver=function setupPerformanceObserver(replay){const performanceObserver=new PerformanceObserver(list2=>{const newPerformanceEntries=function dedupePerformanceEntries(currentList,newList){const[existingNavigationEntries,existingLcpEntries,existingEntries]=currentList.reduce((acc,entry)=>("navigation"===entry.entryType?acc[0].push(entry):"largest-contentful-paint"===entry.entryType?acc[1].push(entry):acc[2].push(entry),acc),[[],[],[]]),newEntries=[],newNavigationEntries=[];let newLcpEntry=existingLcpEntries.length?existingLcpEntries[existingLcpEntries.length-1]:void 0;return newList.forEach(entry=>{if("largest-contentful-paint"!==entry.entryType)if("navigation"!==entry.entryType)newEntries.push(entry);else{const navigationEntry=entry;entry.duration>0&&!existingNavigationEntries.find(isNavigationEntryEqual(navigationEntry))&&!newNavigationEntries.find(isNavigationEntryEqual(navigationEntry))&&newNavigationEntries.push(navigationEntry)}else(!newLcpEntry||newLcpEntry.startTimea.startTime-b.startTime)}(replay.performanceEvents,list2.getEntries());replay.performanceEvents=newPerformanceEntries});return["element","event","first-input","largest-contentful-paint","layout-shift","longtask","navigation","paint","resource"].forEach(type=>{try{performanceObserver.observe({type,buffered:!0})}catch{}}),performanceObserver}(this))}_removeListeners(){try{esm_WINDOW.document.removeEventListener("visibilitychange",this._handleVisibilityChange),esm_WINDOW.removeEventListener("blur",this._handleWindowBlur),esm_WINDOW.removeEventListener("focus",this._handleWindowFocus),esm_WINDOW.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceObserver&&(this._performanceObserver.disconnect(),this._performanceObserver=void 0)}catch(err){this._handleException(err)}}__init(){this._handleVisibilityChange=()=>{"visible"===esm_WINDOW.document.visibilityState?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()}}__init2(){this._handleWindowBlur=()=>{const breadcrumb=createBreadcrumb({category:"ui.blur"});this._doChangeToBackgroundTasks(breadcrumb)}}__init3(){this._handleWindowFocus=()=>{const breadcrumb=createBreadcrumb({category:"ui.focus"});this._doChangeToForegroundTasks(breadcrumb)}}__init4(){this._handleKeyboardEvent=event=>{!function handleKeyboardEvent(replay,event){if(!replay.isEnabled())return;replay.updateUserActivity();const breadcrumb=function getKeyboardBreadcrumb(event){const{metaKey,shiftKey,ctrlKey,altKey,key,target}=event;if(!target||function isInputElement(target){return"INPUT"===target.tagName||"TEXTAREA"===target.tagName||target.isContentEditable}(target)||!key)return null;if(!(metaKey||ctrlKey||altKey)&&1===key.length)return null;const message=htmlTreeAsString(target,{maxStringLength:200})||"";return createBreadcrumb({category:"ui.keyDown",message,data:{...getBaseDomBreadcrumb(target,message).data,metaKey,shiftKey,ctrlKey,altKey,key}})}(event);breadcrumb&&addBreadcrumbEvent(replay,breadcrumb)}(this,event)}}_doChangeToBackgroundTasks(breadcrumb){if(!this.session)return;const expired=isSessionExpired(this.session,this.timeouts);breadcrumb&&!expired&&this._createCustomBreadcrumb(breadcrumb),this.conditionalFlush()}_doChangeToForegroundTasks(breadcrumb){this.session&&(this.checkAndHandleExpiredSession()?breadcrumb&&this._createCustomBreadcrumb(breadcrumb):logInfo("[Replay] Document has become active, but session has expired"))}_triggerFullSnapshot(checkout=!0){try{logInfo("[Replay] Taking full rrweb snapshot"),record.takeFullSnapshot(checkout)}catch(err){this._handleException(err)}}_updateUserActivity(_lastActivity=Date.now()){this._lastActivity=_lastActivity}_updateSessionActivity(_lastActivity=Date.now()){this.session&&(this.session.lastActivity=_lastActivity,this._maybeSaveSession())}_createCustomBreadcrumb(breadcrumb){this.addUpdate(()=>{this.throttledAddEvent({type:EventType.Custom,timestamp:breadcrumb.timestamp||0,data:{tag:"breadcrumb",payload:breadcrumb}})})}_addPerformanceEntries(){const entries=[...this.performanceEvents];return this.performanceEvents=[],Promise.all(createPerformanceSpans(this,function createPerformanceEntries(entries){return entries.map(createPerformanceEntry).filter(Boolean)}(entries)))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session,eventBuffer}=this;if(!session||!eventBuffer||session.segmentId)return;const earliestEvent=eventBuffer.getEarliestTimestamp();earliestEvent&&earliestEvent"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] No session or eventBuffer found to flush.")})()}__init5(){var _this9=this;this._flush=asyncToGenerator_asyncToGenerator(function*({force=!1}={}){if(!_this9._isEnabled&&!force)return;if(!_this9.checkAndHandleExpiredSession())return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] Attempting to finish replay event after session expired."));if(!_this9.session)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] No session found to flush."));const start2=_this9.session.started,duration=Date.now()-start2;_this9._debouncedFlush.cancel();const tooShort=duration<_this9._options.minReplayDuration;if(tooShort||duration>_this9.timeouts.maxSessionLife+5e3)return logInfo(`[Replay] Session duration (${Math.floor(duration/1e3)}s) is too ${tooShort?"short":"long"}, not sending replay.`,_this9._options._experiments.traceInternals),void(tooShort&&_this9._debouncedFlush());const eventBuffer=_this9.eventBuffer;if(eventBuffer&&0===_this9.session.segmentId&&!eventBuffer.hasCheckout&&logInfo("[Replay] Flushing initial segment without checkout.",_this9._options._experiments.traceInternals),!_this9._flushLock)return _this9._flushLock=_this9._runFlush(),yield _this9._flushLock,void(_this9._flushLock=void 0);try{yield _this9._flushLock}catch(err){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(err)}finally{_this9._debouncedFlush()}})}_maybeSaveSession(){this.session&&this._options.stickySession&&saveSession(this.session)}__init6(){this._onMutationHandler=mutations=>{const count=mutations.length,mutationLimit=this._options.mutationLimit,overMutationLimit=mutationLimit&&count>mutationLimit;if(count>this._options.mutationBreadcrumbLimit||overMutationLimit){const breadcrumb=createBreadcrumb({category:"replay.mutations",data:{count,limit:overMutationLimit}});this._createCustomBreadcrumb(breadcrumb)}return!overMutationLimit||(this.stop("mutationLimit"),!1)}}}function getOption(selectors,defaultSelectors,deprecatedClassOption,deprecatedSelectorOption){const allSelectors=[...selectors,..."string"==typeof deprecatedSelectorOption?deprecatedSelectorOption.split(","):[],...defaultSelectors];return typeof deprecatedClassOption<"u"&&("string"==typeof deprecatedClassOption&&allSelectors.push(`.${deprecatedClassOption}`),console.warn("[Replay] You are using a deprecated configuration item for privacy. Read the documentation on how to use the new privacy configuration.")),allSelectors.join(",")}function getPrivacyOptions({mask,unmask,block,unblock,ignore,blockClass,blockSelector,maskTextClass,maskTextSelector,ignoreClass}){const maskSelector=getOption(mask,[".sentry-mask","[data-sentry-mask]"],maskTextClass,maskTextSelector),unmaskSelector=getOption(unmask,[".sentry-unmask","[data-sentry-unmask]"]),options={maskTextSelector:maskSelector,unmaskTextSelector:unmaskSelector,maskInputSelector:maskSelector,unmaskInputSelector:unmaskSelector,blockSelector:getOption(block,[".sentry-block","[data-sentry-block]",'base[href="/"]'],blockClass,blockSelector),unblockSelector:getOption(unblock,[".sentry-unblock","[data-sentry-unblock]"]),ignoreSelector:getOption(ignore,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'],ignoreClass)};return blockClass instanceof RegExp&&(options.blockClass=blockClass),maskTextClass instanceof RegExp&&(options.maskTextClass=maskTextClass),options}function isBrowser(){return typeof window<"u"&&(!(0,esm_node.KV)()||function isElectronNodeRenderer(){return typeof process<"u"&&"renderer"===process.type}())}const MEDIA_SELECTORS='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',DEFAULT_NETWORK_HEADERS=["content-length","content-type","accept"];let _initialized=!1;class Replay{static __initStatic(){this.id="Replay"}constructor({flushMinDelay=5e3,flushMaxDelay=5500,minReplayDuration=4999,stickySession=!0,useCompression=!0,_experiments={},sessionSampleRate,errorSampleRate,maskAllText=!0,maskAllInputs=!0,blockAllMedia=!0,mutationBreadcrumbLimit=750,mutationLimit=1e4,slowClickTimeout=7e3,slowClickIgnoreSelectors=[],networkDetailAllowUrls=[],networkDetailDenyUrls=[],networkCaptureBodies=!0,networkRequestHeaders=[],networkResponseHeaders=[],mask=[],unmask=[],block=[],unblock=[],ignore=[],maskFn,beforeAddRecordingEvent,blockClass,blockSelector,maskInputOptions,maskTextClass,maskTextSelector,ignoreClass}={}){if(this.name=Replay.id,this._recordingOptions={maskAllInputs,maskAllText,maskInputOptions:{...maskInputOptions||{},password:!0},maskTextFn:maskFn,maskInputFn:maskFn,...getPrivacyOptions({mask,unmask,block,unblock,ignore,blockClass,blockSelector,maskTextClass,maskTextSelector,ignoreClass}),slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0},this._initialOptions={flushMinDelay,flushMaxDelay,minReplayDuration:Math.min(minReplayDuration,15e3),stickySession,sessionSampleRate,errorSampleRate,useCompression,blockAllMedia,maskAllInputs,maskAllText,mutationBreadcrumbLimit,mutationLimit,slowClickTimeout,slowClickIgnoreSelectors,networkDetailAllowUrls,networkDetailDenyUrls,networkCaptureBodies,networkRequestHeaders:_getMergedNetworkHeaders(networkRequestHeaders),networkResponseHeaders:_getMergedNetworkHeaders(networkResponseHeaders),beforeAddRecordingEvent,_experiments},"number"==typeof sessionSampleRate&&(console.warn(`[Replay] You are passing \`sessionSampleRate\` to the Replay integration.\nThis option is deprecated and will be removed soon.\nInstead, configure \`replaysSessionSampleRate\` directly in the SDK init options, e.g.:\nSentry.init({ replaysSessionSampleRate: ${sessionSampleRate} })`),this._initialOptions.sessionSampleRate=sessionSampleRate),"number"==typeof errorSampleRate&&(console.warn(`[Replay] You are passing \`errorSampleRate\` to the Replay integration.\nThis option is deprecated and will be removed soon.\nInstead, configure \`replaysOnErrorSampleRate\` directly in the SDK init options, e.g.:\nSentry.init({ replaysOnErrorSampleRate: ${errorSampleRate} })`),this._initialOptions.errorSampleRate=errorSampleRate),this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${MEDIA_SELECTORS}`:MEDIA_SELECTORS),this._isInitialized&&isBrowser())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return _initialized}set _isInitialized(value){_initialized=value}setupOnce(){isBrowser()&&(this._setup(),setTimeout(()=>this._initialize()))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop():Promise.resolve()}flush(options){return this._replay&&this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(options):Promise.resolve()}getReplayId(){if(this._replay&&this._replay.isEnabled())return this._replay.getSessionId()}_initialize(){this._replay&&this._replay.initializeSampling()}_setup(){const finalOptions=function loadReplayOptionsFromClient(initialOptions){const client=hub_getCurrentHub().getClient(),opt=client&&client.getOptions(),finalOptions={sessionSampleRate:0,errorSampleRate:0,...dropUndefinedKeys(initialOptions)};return opt?(null==initialOptions.sessionSampleRate&&null==initialOptions.errorSampleRate&&null==opt.replaysSessionSampleRate&&null==opt.replaysOnErrorSampleRate&&console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set."),"number"==typeof opt.replaysSessionSampleRate&&(finalOptions.sessionSampleRate=opt.replaysSessionSampleRate),"number"==typeof opt.replaysOnErrorSampleRate&&(finalOptions.errorSampleRate=opt.replaysOnErrorSampleRate),finalOptions):(console.warn("SDK client is not available."),finalOptions)}(this._initialOptions);this._replay=new ReplayContainer({options:finalOptions,recordingOptions:this._recordingOptions})}}function _getMergedNetworkHeaders(headers){return[...DEFAULT_NETWORK_HEADERS,...headers.map(header=>header.toLowerCase())]}Replay.__initStatic();const BAGGAGE_HEADER_NAME="baggage",SENTRY_BAGGAGE_KEY_PREFIX="sentry-",SENTRY_BAGGAGE_KEY_PREFIX_REGEX=/^sentry-/,MAX_BAGGAGE_STRING_LENGTH=8192;function dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext){if(dynamicSamplingContext)return function objectToBaggageHeader(object){if(0!==Object.keys(object).length)return Object.entries(object).reduce((baggageHeader,[objectKey,objectValue],currentIndex)=>{const baggageEntry=`${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`,newBaggageHeader=0===currentIndex?baggageEntry:`${baggageHeader},${baggageEntry}`;return newBaggageHeader.length>MAX_BAGGAGE_STRING_LENGTH?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`),baggageHeader):newBaggageHeader},"")}(Object.entries(dynamicSamplingContext).reduce((acc,[dscKey,dscValue])=>(dscValue&&(acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`]=dscValue),acc),{}))}function baggageHeaderToObject(baggageHeader){return baggageHeader.split(",").map(baggageEntry=>baggageEntry.split("=").map(keyOrValue=>decodeURIComponent(keyOrValue.trim()))).reduce((acc,[key,value])=>(acc[key]=value,acc),{})}const TRACEPARENT_REGEXP=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function generateSentryTraceHeader(traceId=misc_uuid4(),spanId=misc_uuid4().substring(16),sampled){let sampledString="";return void 0!==sampled&&(sampledString=sampled?"-1":"-0"),`${traceId}-${spanId}${sampledString}`}class SpanRecorder{constructor(maxlen=1e3){this._maxlen=maxlen,this.spans=[]}add(span){this.spans.length>this._maxlen?span.spanRecorder=void 0:this.spans.push(span)}}class Span{constructor(spanContext){if(this.traceId=misc_uuid4(),this.spanId=misc_uuid4().substring(16),this.startTimestamp=(0,esm_time.ph)(),this.tags={},this.data={},this.instrumenter="sentry",!spanContext)return this;spanContext.traceId&&(this.traceId=spanContext.traceId),spanContext.spanId&&(this.spanId=spanContext.spanId),spanContext.parentSpanId&&(this.parentSpanId=spanContext.parentSpanId),"sampled"in spanContext&&(this.sampled=spanContext.sampled),spanContext.op&&(this.op=spanContext.op),spanContext.description&&(this.description=spanContext.description),spanContext.data&&(this.data=spanContext.data),spanContext.tags&&(this.tags=spanContext.tags),spanContext.status&&(this.status=spanContext.status),spanContext.startTimestamp&&(this.startTimestamp=spanContext.startTimestamp),spanContext.endTimestamp&&(this.endTimestamp=spanContext.endTimestamp),spanContext.instrumenter&&(this.instrumenter=spanContext.instrumenter)}startChild(spanContext){const childSpan=new Span({...spanContext,parentSpanId:this.spanId,sampled:this.sampled,traceId:this.traceId});if(childSpan.spanRecorder=this.spanRecorder,childSpan.spanRecorder&&childSpan.spanRecorder.add(childSpan),childSpan.transaction=this.transaction,(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&childSpan.transaction){const logMessage=`[Tracing] Starting '${spanContext&&spanContext.op||"< unknown op >"}' span on transaction '${childSpan.transaction.name||"< unknown name >"}' (${childSpan.transaction.spanId}).`;childSpan.transaction.metadata.spanMetadata[childSpan.spanId]={logMessage},logger_logger.log(logMessage)}return childSpan}setTag(key,value){return this.tags={...this.tags,[key]:value},this}setData(key,value){return this.data={...this.data,[key]:value},this}setStatus(value){return this.status=value,this}setHttpStatus(httpStatus){this.setTag("http.status_code",String(httpStatus)),this.setData("http.response.status_code",httpStatus);const spanStatus=function spanStatusfromHttpCode(httpStatus){if(httpStatus<400&&httpStatus>=100)return"ok";if(httpStatus>=400&&httpStatus<500)switch(httpStatus){case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 409:return"already_exists";case 413:return"failed_precondition";case 429:return"resource_exhausted";default:return"invalid_argument"}if(httpStatus>=500&&httpStatus<600)switch(httpStatus){case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline_exceeded";default:return"internal_error"}return"unknown_error"}(httpStatus);return"unknown_error"!==spanStatus&&this.setStatus(spanStatus),this}isSuccess(){return"ok"===this.status}finish(endTimestamp){if((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this.transaction&&this.transaction.spanId!==this.spanId){const{logMessage}=this.transaction.metadata.spanMetadata[this.spanId];logMessage&&logger_logger.log(logMessage.replace("Starting","Finishing"))}this.endTimestamp="number"==typeof endTimestamp?endTimestamp:(0,esm_time.ph)()}toTraceparent(){return generateSentryTraceHeader(this.traceId,this.spanId,this.sampled)}toContext(){return dropUndefinedKeys({data:this.data,description:this.description,endTimestamp:this.endTimestamp,op:this.op,parentSpanId:this.parentSpanId,sampled:this.sampled,spanId:this.spanId,startTimestamp:this.startTimestamp,status:this.status,tags:this.tags,traceId:this.traceId})}updateWithContext(spanContext){return this.data=spanContext.data||{},this.description=spanContext.description,this.endTimestamp=spanContext.endTimestamp,this.op=spanContext.op,this.parentSpanId=spanContext.parentSpanId,this.sampled=spanContext.sampled,this.spanId=spanContext.spanId||this.spanId,this.startTimestamp=spanContext.startTimestamp||this.startTimestamp,this.status=spanContext.status,this.tags=spanContext.tags||{},this.traceId=spanContext.traceId||this.traceId,this}getTraceContext(){return dropUndefinedKeys({data:Object.keys(this.data).length>0?this.data:void 0,description:this.description,op:this.op,parent_span_id:this.parentSpanId,span_id:this.spanId,status:this.status,tags:Object.keys(this.tags).length>0?this.tags:void 0,trace_id:this.traceId})}toJSON(){return dropUndefinedKeys({data:Object.keys(this.data).length>0?this.data:void 0,description:this.description,op:this.op,parent_span_id:this.parentSpanId,span_id:this.spanId,start_timestamp:this.startTimestamp,status:this.status,tags:Object.keys(this.tags).length>0?this.tags:void 0,timestamp:this.endTimestamp,trace_id:this.traceId})}}class Transaction extends Span{constructor(transactionContext,hub){super(transactionContext),this._measurements={},this._contexts={},this._hub=hub||hub_getCurrentHub(),this._name=transactionContext.name||"",this.metadata={source:"custom",...transactionContext.metadata,spanMetadata:{}},this._trimEnd=transactionContext.trimEnd,this.transaction=this;const incomingDynamicSamplingContext=this.metadata.dynamicSamplingContext;incomingDynamicSamplingContext&&(this._frozenDynamicSamplingContext={...incomingDynamicSamplingContext})}get name(){return this._name}set name(newName){this.setName(newName)}setName(name,source="custom"){this._name=name,this.metadata.source=source}initSpanRecorder(maxlen=1e3){this.spanRecorder||(this.spanRecorder=new SpanRecorder(maxlen)),this.spanRecorder.add(this)}setContext(key,context2){null===context2?delete this._contexts[key]:this._contexts[key]=context2}setMeasurement(name,value,unit=""){this._measurements[name]={value,unit}}setMetadata(newMetadata){this.metadata={...this.metadata,...newMetadata}}finish(endTimestamp){if(void 0!==this.endTimestamp)return;this.name||((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Transaction has no name, falling back to ``."),this.name=""),super.finish(endTimestamp);const client=this._hub.getClient();if(client&&client.emit&&client.emit("finishTransaction",this),!0!==this.sampled)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."),void(client&&client.recordDroppedEvent("sample_rate","transaction"));const finishedSpans=this.spanRecorder?this.spanRecorder.spans.filter(s=>s!==this&&s.endTimestamp):[];this._trimEnd&&finishedSpans.length>0&&(this.endTimestamp=finishedSpans.reduce((prev,current)=>prev.endTimestamp&¤t.endTimestamp?prev.endTimestamp>current.endTimestamp?prev:current:prev).endTimestamp);const metadata=this.metadata,transaction={contexts:{...this._contexts,trace:this.getTraceContext()},spans:finishedSpans,start_timestamp:this.startTimestamp,tags:this.tags,timestamp:this.endTimestamp,transaction:this.name,type:"transaction",sdkProcessingMetadata:{...metadata,dynamicSamplingContext:this.getDynamicSamplingContext()},...metadata.source&&{transaction_info:{source:metadata.source}}};return Object.keys(this._measurements).length>0&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding measurements to transaction",JSON.stringify(this._measurements,void 0,2)),transaction.measurements=this._measurements),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Finishing ${this.op} transaction: ${this.name}.`),this._hub.captureEvent(transaction)}toContext(){return dropUndefinedKeys({...super.toContext(),name:this.name,trimEnd:this._trimEnd})}updateWithContext(transactionContext){return super.updateWithContext(transactionContext),this.name=transactionContext.name||"",this._trimEnd=transactionContext.trimEnd,this}getDynamicSamplingContext(){if(this._frozenDynamicSamplingContext)return this._frozenDynamicSamplingContext;const hub=this._hub||hub_getCurrentHub(),client=hub.getClient();if(!client)return{};const scope=hub.getScope(),dsc=getDynamicSamplingContextFromClient(this.traceId,client,scope),maybeSampleRate=this.metadata.sampleRate;void 0!==maybeSampleRate&&(dsc.sample_rate=`${maybeSampleRate}`);const source=this.metadata.source;return source&&"url"!==source&&(dsc.transaction=this.name),void 0!==this.sampled&&(dsc.sampled=String(this.sampled)),dsc}setHub(hub){this._hub=hub}}const TRACING_DEFAULTS={idleTimeout:1e3,finalTimeout:3e4,heartbeatInterval:5e3},IDLE_TRANSACTION_FINISH_REASONS=["heartbeatFailed","idleTimeout","documentHidden","finalTimeout","externalFinish","cancelled"];class IdleTransactionSpanRecorder extends SpanRecorder{constructor(_pushActivity,_popActivity,transactionSpanId,maxlen){super(maxlen),this._pushActivity=_pushActivity,this._popActivity=_popActivity,this.transactionSpanId=transactionSpanId}add(span){span.spanId!==this.transactionSpanId&&(span.finish=endTimestamp=>{span.endTimestamp="number"==typeof endTimestamp?endTimestamp:(0,esm_time.ph)(),this._popActivity(span.spanId)},void 0===span.endTimestamp&&this._pushActivity(span.spanId)),super.add(span)}}class IdleTransaction extends Transaction{constructor(transactionContext,_idleHub,_idleTimeout=TRACING_DEFAULTS.idleTimeout,_finalTimeout=TRACING_DEFAULTS.finalTimeout,_heartbeatInterval=TRACING_DEFAULTS.heartbeatInterval,_onScope=!1){super(transactionContext,_idleHub),this._idleHub=_idleHub,this._idleTimeout=_idleTimeout,this._finalTimeout=_finalTimeout,this._heartbeatInterval=_heartbeatInterval,this._onScope=_onScope,this.activities={},this._heartbeatCounter=0,this._finished=!1,this._idleTimeoutCanceledPermanently=!1,this._beforeFinishCallbacks=[],this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[4],_onScope&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`Setting idle transaction on scope. Span ID: ${this.spanId}`),_idleHub.configureScope(scope=>scope.setSpan(this))),this._restartIdleTimeout(),setTimeout(()=>{this._finished||(this.setStatus("deadline_exceeded"),this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[3],this.finish())},this._finalTimeout)}finish(endTimestamp=(0,esm_time.ph)()){if(this._finished=!0,this.activities={},"ui.action.click"===this.op&&this.setTag("finishReason",this._finishReason),this.spanRecorder){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] finishing IdleTransaction",new Date(1e3*endTimestamp).toISOString(),this.op);for(const callback of this._beforeFinishCallbacks)callback(this,endTimestamp);this.spanRecorder.spans=this.spanRecorder.spans.filter(span=>{if(span.spanId===this.spanId)return!0;span.endTimestamp||(span.endTimestamp=endTimestamp,span.setStatus("cancelled"),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] cancelling span since transaction ended early",JSON.stringify(span,void 0,2)));const spanStartedBeforeTransactionFinish=span.startTimestamp"u"||__SENTRY_DEBUG__){const stringifiedSpan=JSON.stringify(span,void 0,2);spanStartedBeforeTransactionFinish?spanEndedBeforeFinalTimeout||logger_logger.log("[Tracing] discarding Span since it finished after Transaction final timeout",stringifiedSpan):logger_logger.log("[Tracing] discarding Span since it happened after Transaction was finished",stringifiedSpan)}return spanStartedBeforeTransactionFinish&&spanEndedBeforeFinalTimeout}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] flushing IdleTransaction")}else(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] No active IdleTransaction");if(this._onScope){const scope=this._idleHub.getScope();scope.getTransaction()===this&&scope.setSpan(void 0)}return super.finish(endTimestamp)}registerBeforeFinishCallback(callback){this._beforeFinishCallbacks.push(callback)}initSpanRecorder(maxlen){this.spanRecorder||(this.spanRecorder=new IdleTransactionSpanRecorder(id=>{this._finished||this._pushActivity(id)},id=>{this._finished||this._popActivity(id)},this.spanId,maxlen),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("Starting heartbeat"),this._pingHeartbeat()),this.spanRecorder.add(this)}cancelIdleTimeout(endTimestamp,{restartOnChildSpanChange}={restartOnChildSpanChange:!0}){this._idleTimeoutCanceledPermanently=!1===restartOnChildSpanChange,this._idleTimeoutID&&(clearTimeout(this._idleTimeoutID),this._idleTimeoutID=void 0,0===Object.keys(this.activities).length&&this._idleTimeoutCanceledPermanently&&(this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[5],this.finish(endTimestamp)))}setFinishReason(reason){this._finishReason=reason}_restartIdleTimeout(endTimestamp){this.cancelIdleTimeout(),this._idleTimeoutID=setTimeout(()=>{!this._finished&&0===Object.keys(this.activities).length&&(this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[1],this.finish(endTimestamp))},this._idleTimeout)}_pushActivity(spanId){this.cancelIdleTimeout(void 0,{restartOnChildSpanChange:!this._idleTimeoutCanceledPermanently}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] pushActivity: ${spanId}`),this.activities[spanId]=!0,(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] new activities count",Object.keys(this.activities).length)}_popActivity(spanId){if(this.activities[spanId]&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] popActivity ${spanId}`),delete this.activities[spanId],(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] new activities count",Object.keys(this.activities).length)),0===Object.keys(this.activities).length){const endTimestamp=(0,esm_time.ph)();this._idleTimeoutCanceledPermanently?(this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[5],this.finish(endTimestamp)):this._restartIdleTimeout(endTimestamp+this._idleTimeout/1e3)}}_beat(){if(this._finished)return;const heartbeatString=Object.keys(this.activities).join("");heartbeatString===this._prevHeartbeatString?this._heartbeatCounter++:this._heartbeatCounter=1,this._prevHeartbeatString=heartbeatString,this._heartbeatCounter>=3?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] Transaction finished because of no change for 3 heart beats"),this.setStatus("deadline_exceeded"),this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[0],this.finish()):this._pingHeartbeat()}_pingHeartbeat(){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`),setTimeout(()=>{this._beat()},this._heartbeatInterval)}}function hasTracingEnabled(maybeOptions){if("boolean"==typeof __SENTRY_TRACING__&&!__SENTRY_TRACING__)return!1;const client=hub_getCurrentHub().getClient(),options=maybeOptions||client&&client.getOptions();return!!options&&(options.enableTracing||"tracesSampleRate"in options||"tracesSampler"in options)}function utils_getActiveTransaction(maybeHub){return(maybeHub||hub_getCurrentHub()).getScope().getTransaction()}let errorsInstrumented=!1;function errorCallback(){const activeTransaction=utils_getActiveTransaction();if(activeTransaction){const status="internal_error";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Transaction: ${status} -> Global error occured`),activeTransaction.setStatus(status)}}function traceHeaders(){const span=this.getScope().getSpan();return span?{"sentry-trace":span.toTraceparent()}:{}}function sample(transaction,options,samplingContext){if(!hasTracingEnabled(options))return transaction.sampled=!1,transaction;if(void 0!==transaction.sampled)return transaction.setMetadata({sampleRate:Number(transaction.sampled)}),transaction;let sampleRate;return"function"==typeof options.tracesSampler?(sampleRate=options.tracesSampler(samplingContext),transaction.setMetadata({sampleRate:Number(sampleRate)})):void 0!==samplingContext.parentSampled?sampleRate=samplingContext.parentSampled:typeof options.tracesSampleRate<"u"?(sampleRate=options.tracesSampleRate,transaction.setMetadata({sampleRate:Number(sampleRate)})):(sampleRate=1,transaction.setMetadata({sampleRate})),function isValidSampleRate(rate){return is_isNaN(rate)||"number"!=typeof rate&&"boolean"!=typeof rate?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(rate)} of type ${JSON.stringify(typeof rate)}.`),!1):!(rate<0||rate>1)||((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${rate}.`),!1)}(sampleRate)?sampleRate?(transaction.sampled=Math.random()"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] starting ${transaction.op} transaction - ${transaction.name}`),transaction):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(sampleRate)})`),transaction)):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] Discarding transaction because "+("function"==typeof options.tracesSampler?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0")),transaction.sampled=!1,transaction):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("[Tracing] Discarding transaction because of invalid sample rate."),transaction.sampled=!1,transaction)}function _startTransaction(transactionContext,customSamplingContext){const client=this.getClient(),options=client&&client.getOptions()||{},configInstrumenter=options.instrumenter||"sentry",transactionInstrumenter=transactionContext.instrumenter||"sentry";configInstrumenter!==transactionInstrumenter&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(`A transaction was started with instrumenter=\`${transactionInstrumenter}\`, but the SDK is configured with the \`${configInstrumenter}\` instrumenter.\nThe transaction will not be sampled. Please use the ${configInstrumenter} instrumentation to start transactions.`),transactionContext.sampled=!1);let transaction=new Transaction(transactionContext,this);return transaction=sample(transaction,options,{parentSampled:transactionContext.parentSampled,transactionContext,...customSamplingContext}),transaction.sampled&&transaction.initSpanRecorder(options._experiments&&options._experiments.maxSpans),client&&client.emit&&client.emit("startTransaction",transaction),transaction}function startIdleTransaction(hub,transactionContext,idleTimeout,finalTimeout,onScope,customSamplingContext,heartbeatInterval){const client=hub.getClient(),options=client&&client.getOptions()||{};let transaction=new IdleTransaction(transactionContext,hub,idleTimeout,finalTimeout,heartbeatInterval,onScope);return transaction=sample(transaction,options,{parentSampled:transactionContext.parentSampled,transactionContext,...customSamplingContext}),transaction.sampled&&transaction.initSpanRecorder(options._experiments&&options._experiments.maxSpans),client&&client.emit&&client.emit("startTransaction",transaction),transaction}errorCallback.tag="sentry_tracingErrorCallback";const types_WINDOW=worldwide.n2,bindReporter=(callback,metric,reportAllChanges)=>{let prevValue,delta;return forceReport=>{metric.value>=0&&(forceReport||reportAllChanges)&&(delta=metric.value-(prevValue||0),(delta||void 0===prevValue)&&(prevValue=metric.value,metric.delta=delta,callback(metric)))}},getNavigationEntry=()=>types_WINDOW.__WEB_VITALS_POLYFILL__?types_WINDOW.performance&&(performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]||(()=>{const timing=types_WINDOW.performance.timing,type=types_WINDOW.performance.navigation.type,navigationEntry={entryType:"navigation",startTime:0,type:2==type?"back_forward":1===type?"reload":"navigate"};for(const key in timing)"navigationStart"!==key&&"toJSON"!==key&&(navigationEntry[key]=Math.max(timing[key]-timing.navigationStart,0));return navigationEntry})()):types_WINDOW.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0],getActivationStart=()=>{const navEntry=getNavigationEntry();return navEntry&&navEntry.activationStart||0},initMetric=(name,value)=>{const navEntry=getNavigationEntry();let navigationType="navigate";return navEntry&&(navigationType=types_WINDOW.document.prerendering||getActivationStart()>0?"prerender":navEntry.type.replace(/_/g,"-")),{name,value:typeof value>"u"?-1:value,rating:"good",delta:0,entries:[],id:`v3-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType}},observe=(type,callback,opts)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(type)){const po=new PerformanceObserver(list2=>{callback(list2.getEntries())});return po.observe(Object.assign({type,buffered:!0},opts||{})),po}}catch{}},onHidden=(cb,once)=>{const onHiddenOrPageHide=event=>{("pagehide"===event.type||"hidden"===types_WINDOW.document.visibilityState)&&(cb(event),once&&(removeEventListener("visibilitychange",onHiddenOrPageHide,!0),removeEventListener("pagehide",onHiddenOrPageHide,!0)))};addEventListener("visibilitychange",onHiddenOrPageHide,!0),addEventListener("pagehide",onHiddenOrPageHide,!0)};let firstHiddenTime=-1;const getVisibilityWatcher=()=>(firstHiddenTime<0&&(firstHiddenTime="hidden"!==types_WINDOW.document.visibilityState||types_WINDOW.document.prerendering?1/0:0,onHidden(({timeStamp})=>{firstHiddenTime=timeStamp},!0)),{get firstHiddenTime(){return firstHiddenTime}}),reportedMetricIDs={};function isMeasurementValue(value){return"number"==typeof value&&isFinite(value)}function _startChild(transaction,{startTimestamp,...ctx}){return startTimestamp&&transaction.startTimestamp>startTimestamp&&(transaction.startTimestamp=startTimestamp),transaction.startChild({startTimestamp,...ctx})}function msToSec(time){return time/1e3}function getBrowserPerformanceAPI(){return types_WINDOW&&types_WINDOW.addEventListener&&types_WINDOW.performance}let _lcpEntry,_clsEntry,_performanceCursor=0,_measurements={};function startTrackingWebVitals(){const performance2=getBrowserPerformanceAPI();if(performance2&&esm_time.Z1){performance2.mark&&types_WINDOW.performance.mark("sentry-tracing-init"),function _trackFID(){(onReport=>{const visibilityWatcher=getVisibilityWatcher(),metric=initMetric("FID");let report;const handleEntry=entry=>{entry.startTime{entries.forEach(handleEntry)},po=observe("first-input",handleEntries);report=bindReporter(onReport,metric),po&&onHidden(()=>{handleEntries(po.takeRecords()),po.disconnect()},!0)})(metric=>{const entry=metric.entries.pop();if(!entry)return;const timeOrigin=msToSec(esm_time.Z1),startTime=msToSec(entry.startTime);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding FID"),_measurements.fid={value:metric.value,unit:"millisecond"},_measurements["mark.fid"]={value:timeOrigin+startTime,unit:"second"}})}();const clsCallback=function _trackCLS(){return(onReport=>{const metric=initMetric("CLS",0);let report,sessionValue=0,sessionEntries=[];const handleEntries=entries=>{entries.forEach(entry=>{entry.hadRecentInput||(sessionValue&&0!==sessionEntries.length&&entry.startTime-sessionEntries[sessionEntries.length-1].startTime<1e3&&entry.startTime-sessionEntries[0].startTime<5e3?(sessionValue+=entry.value,sessionEntries.push(entry)):(sessionValue=entry.value,sessionEntries=[entry]),sessionValue>metric.value&&(metric.value=sessionValue,metric.entries=sessionEntries,report&&report()))})},po=observe("layout-shift",handleEntries);if(po){report=bindReporter(onReport,metric);const stopListening=()=>{handleEntries(po.takeRecords()),report(!0)};return onHidden(stopListening),stopListening}})(metric=>{const entry=metric.entries.pop();entry&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding CLS"),_measurements.cls={value:metric.value,unit:""},_clsEntry=entry)})}(),lcpCallback=function _trackLCP(){return(onReport=>{const visibilityWatcher=getVisibilityWatcher(),metric=initMetric("LCP");let report;const handleEntries=entries=>{const lastEntry=entries[entries.length-1];if(lastEntry){const value=Math.max(lastEntry.startTime-getActivationStart(),0);value{reportedMetricIDs[metric.id]||(handleEntries(po.takeRecords()),po.disconnect(),reportedMetricIDs[metric.id]=!0,report(!0))};return["keydown","click"].forEach(type=>{addEventListener(type,stopListening,{once:!0,capture:!0})}),onHidden(stopListening,!0),stopListening}})(metric=>{const entry=metric.entries.pop();entry&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding LCP"),_measurements.lcp={value:metric.value,unit:"millisecond"},_lcpEntry=entry)})}();return()=>{clsCallback&&clsCallback(),lcpCallback&&lcpCallback()}}return()=>{}}function _addPerformanceNavigationTiming(transaction,entry,event,timeOrigin,description,eventEnd){const end=eventEnd?entry[eventEnd]:entry[`${event}End`],start2=entry[`${event}Start`];!start2||!end||_startChild(transaction,{op:"browser",description:description||event,startTimestamp:timeOrigin+msToSec(start2),endTimestamp:timeOrigin+msToSec(end)})}const DEFAULT_TRACE_PROPAGATION_TARGETS=["localhost",/^\/(?!\/)/],defaultRequestInstrumentationOptions={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,tracingOrigins:DEFAULT_TRACE_PROPAGATION_TARGETS,tracePropagationTargets:DEFAULT_TRACE_PROPAGATION_TARGETS};function addHTTPTimings(span){const url=span.data.url,observer=new PerformanceObserver(list2=>{list2.getEntries().forEach(entry=>{("fetch"===entry.initiatorType||"xmlhttprequest"===entry.initiatorType)&&entry.name.endsWith(url)&&(function resourceTimingEntryToSpanData(resourceTiming){const{name,version:version2}=function extractNetworkProtocol(nextHopProtocol){let name="unknown",version2="unknown",_name="";for(const char of nextHopProtocol){if("/"===char){[name,version2]=nextHopProtocol.split("/");break}if(!isNaN(Number(char))){name="h"===_name?"http":_name,version2=nextHopProtocol.split(_name)[1];break}_name+=char}return _name===nextHopProtocol&&(name=_name),{name,version:version2}}(resourceTiming.nextHopProtocol),timingSpanData=[];return timingSpanData.push(["network.protocol.version",version2],["network.protocol.name",name]),esm_time.Z1?[...timingSpanData,["http.request.redirect_start",request_getAbsoluteTime(resourceTiming.redirectStart)],["http.request.fetch_start",request_getAbsoluteTime(resourceTiming.fetchStart)],["http.request.domain_lookup_start",request_getAbsoluteTime(resourceTiming.domainLookupStart)],["http.request.domain_lookup_end",request_getAbsoluteTime(resourceTiming.domainLookupEnd)],["http.request.connect_start",request_getAbsoluteTime(resourceTiming.connectStart)],["http.request.secure_connection_start",request_getAbsoluteTime(resourceTiming.secureConnectionStart)],["http.request.connection_end",request_getAbsoluteTime(resourceTiming.connectEnd)],["http.request.request_start",request_getAbsoluteTime(resourceTiming.requestStart)],["http.request.response_start",request_getAbsoluteTime(resourceTiming.responseStart)],["http.request.response_end",request_getAbsoluteTime(resourceTiming.responseEnd)]]:timingSpanData}(entry).forEach(data=>span.setData(...data)),observer.disconnect())})});observer.observe({entryTypes:["resource"]})}function request_getAbsoluteTime(time){return((esm_time.Z1||performance.timeOrigin)+time)/1e3}function setHeaderOnXhr(xhr,sentryTraceHeader,sentryBaggageHeader){try{xhr.setRequestHeader("sentry-trace",sentryTraceHeader),sentryBaggageHeader&&xhr.setRequestHeader(BAGGAGE_HEADER_NAME,sentryBaggageHeader)}catch{}}const DEFAULT_BROWSER_TRACING_OPTIONS={...TRACING_DEFAULTS,markBackgroundTransactions:!0,routingInstrumentation:function instrumentRoutingWithDefaults(customStartTransaction,startTransactionOnPageLoad=!0,startTransactionOnLocationChange=!0){if(!types_WINDOW||!types_WINDOW.location)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Could not initialize routing instrumentation due to invalid location"));let activeTransaction,startingUrl=types_WINDOW.location.href;startTransactionOnPageLoad&&(activeTransaction=customStartTransaction({name:types_WINDOW.location.pathname,startTimestamp:esm_time.Z1?esm_time.Z1/1e3:void 0,op:"pageload",metadata:{source:"url"}})),startTransactionOnLocationChange&&addInstrumentationHandler("history",({to,from:from2})=>{void 0===from2&&startingUrl&&-1!==startingUrl.indexOf(to)?startingUrl=void 0:from2!==to&&(startingUrl=void 0,activeTransaction&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Finishing current transaction with op: ${activeTransaction.op}`),activeTransaction.finish()),activeTransaction=customStartTransaction({name:types_WINDOW.location.pathname,op:"navigation",metadata:{source:"url"}}))})},startTransactionOnLocationChange:!0,startTransactionOnPageLoad:!0,enableLongTask:!0,_experiments:{},...defaultRequestInstrumentationOptions};function getMetaContent(metaName){const metaTag=function getDomElement(selector){return browser_WINDOW.document&&browser_WINDOW.document.querySelector?browser_WINDOW.document.querySelector(selector):null}(`meta[name=${metaName}]`);return metaTag?metaTag.getAttribute("content"):void 0}const stringToByteArray$1=function(str){const out=[];let p=0;for(let i6=0;i6>6|192,out[p++]=63&c|128):55296==(64512&c)&&i6+1>18|240,out[p++]=c>>12&63|128,out[p++]=c>>6&63|128,out[p++]=63&c|128):(out[p++]=c>>12|224,out[p++]=c>>6&63|128,out[p++]=63&c|128)}return out},base64={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(input,webSafe){if(!Array.isArray(input))throw Error("encodeByteArray takes an array as a parameter");this.init_();const byteToCharMap=webSafe?this.byteToCharMapWebSafe_:this.byteToCharMap_,output=[];for(let i6=0;i6>6,outByte4=63&byte3;haveByte3||(outByte4=64,haveByte2||(outByte3=64)),output.push(byteToCharMap[byte1>>2],byteToCharMap[(3&byte1)<<4|byte2>>4],byteToCharMap[outByte3],byteToCharMap[outByte4])}return output.join("")},encodeString(input,webSafe){return this.HAS_NATIVE_SUPPORT&&!webSafe?btoa(input):this.encodeByteArray(stringToByteArray$1(input),webSafe)},decodeString(input,webSafe){return this.HAS_NATIVE_SUPPORT&&!webSafe?atob(input):function(bytes){const out=[];let pos=0,c=0;for(;pos191&&c1<224){const c2=bytes[pos++];out[c++]=String.fromCharCode((31&c1)<<6|63&c2)}else if(c1>239&&c1<365){const u2=((7&c1)<<18|(63&bytes[pos++])<<12|(63&bytes[pos++])<<6|63&bytes[pos++])-65536;out[c++]=String.fromCharCode(55296+(u2>>10)),out[c++]=String.fromCharCode(56320+(1023&u2))}else{const c2=bytes[pos++],c3=bytes[pos++];out[c++]=String.fromCharCode((15&c1)<<12|(63&c2)<<6|63&c3)}}return out.join("")}(this.decodeStringToByteArray(input,webSafe))},decodeStringToByteArray(input,webSafe){this.init_();const charToByteMap=webSafe?this.charToByteMapWebSafe_:this.charToByteMap_,output=[];for(let i6=0;i6>4),64!==byte3&&(output.push(byte2<<4&240|byte3>>2),64!==byte4&&output.push(byte3<<6&192|byte4))}return output},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let i6=0;i6=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i6)]=i6,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i6)]=i6)}}};class DecodeBase64StringError extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const base64urlEncodeWithoutPadding=function(str){return function(str){const utf8Bytes=stringToByteArray$1(str);return base64.encodeByteArray(utf8Bytes,!0)}(str).replace(/\./g,"")},base64Decode=function(str){try{return base64.decodeString(str,!0)}catch(e2){console.error("base64Decode failed: ",e2)}return null},getDefaults=()=>{try{return function index_esm2017_getGlobal(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}().__FIREBASE_DEFAULTS__||(()=>{if(typeof process>"u"||typeof process.env>"u")return;const defaultsJsonString=process.env.__FIREBASE_DEFAULTS__;return defaultsJsonString?JSON.parse(defaultsJsonString):void 0})()||(()=>{if(typeof document>"u")return;let match2;try{match2=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const decoded=match2&&base64Decode(match2[1]);return decoded&&JSON.parse(decoded)})()}catch(e2){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e2}`)}},getDefaultAppConfig=()=>{var _a;return null===(_a=getDefaults())||void 0===_a?void 0:_a.config};class index_esm2017_Deferred{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((resolve,reject)=>{this.resolve=resolve,this.reject=reject})}wrapCallback(callback){return(error,value)=>{error?this.reject(error):this.resolve(value),"function"==typeof callback&&(this.promise.catch(()=>{}),1===callback.length?callback(error):callback(error,value))}}}function index_esm2017_getUA(){return typeof navigator<"u"&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function isBrowserExtension(){const runtime2="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof runtime2&&void 0!==runtime2.id}function index_esm2017_isIndexedDBAvailable(){try{return"object"==typeof indexedDB}catch{return!1}}function validateIndexedDBOpenable(){return new Promise((resolve,reject)=>{try{let preExist=!0;const DB_CHECK_NAME="validate-browser-context-for-indexeddb-analytics-module",request=self.indexedDB.open(DB_CHECK_NAME);request.onsuccess=()=>{request.result.close(),preExist||self.indexedDB.deleteDatabase(DB_CHECK_NAME),resolve(!0)},request.onupgradeneeded=()=>{preExist=!1},request.onerror=()=>{var _a;reject((null===(_a=request.error)||void 0===_a?void 0:_a.message)||"")}}catch(error){reject(error)}})}function areCookiesEnabled(){return!(typeof navigator>"u"||!navigator.cookieEnabled)}class index_esm2017_FirebaseError extends Error{constructor(code,message,customData){super(message),this.code=code,this.customData=customData,this.name="FirebaseError",Object.setPrototypeOf(this,index_esm2017_FirebaseError.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,ErrorFactory.prototype.create)}}class ErrorFactory{constructor(service,serviceName,errors){this.service=service,this.serviceName=serviceName,this.errors=errors}create(code,...data){const customData=data[0]||{},fullCode=`${this.service}/${code}`,template=this.errors[code],message=template?function replaceTemplate(template,data){return template.replace(PATTERN,(_,key)=>{const value=data[key];return null!=value?String(value):`<${key}?>`})}(template,customData):"Error";return new index_esm2017_FirebaseError(fullCode,`${this.serviceName}: ${message} (${fullCode}).`,customData)}}const PATTERN=/\{\$([^}]+)}/g;function index_esm2017_deepEqual(a,b){if(a===b)return!0;const aKeys=Object.keys(a),bKeys=Object.keys(b);for(const k of aKeys){if(!bKeys.includes(k))return!1;const aProp=a[k],bProp=b[k];if(isObject(aProp)&&isObject(bProp)){if(!index_esm2017_deepEqual(aProp,bProp))return!1}else if(aProp!==bProp)return!1}for(const k of bKeys)if(!aKeys.includes(k))return!1;return!0}function isObject(thing){return null!==thing&&"object"==typeof thing}function index_esm2017_querystring(querystringParams){const params=[];for(const[key,value]of Object.entries(querystringParams))Array.isArray(value)?value.forEach(arrayVal=>{params.push(encodeURIComponent(key)+"="+encodeURIComponent(arrayVal))}):params.push(encodeURIComponent(key)+"="+encodeURIComponent(value));return params.length?"&"+params.join("&"):""}class ObserverProxy{constructor(executor,onNoObservers){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=onNoObservers,this.task.then(()=>{executor(this)}).catch(e2=>{this.error(e2)})}next(value){this.forEachObserver(observer=>{observer.next(value)})}error(error){this.forEachObserver(observer=>{observer.error(error)}),this.close(error)}complete(){this.forEachObserver(observer=>{observer.complete()}),this.close()}subscribe(nextOrObserver,error,complete){let observer;if(void 0===nextOrObserver&&void 0===error&&void 0===complete)throw new Error("Missing Observer.");observer=function implementsAnyMethods(obj,methods){if("object"!=typeof obj||null===obj)return!1;for(const method of methods)if(method in obj&&"function"==typeof obj[method])return!0;return!1}(nextOrObserver,["next","error","complete"])?nextOrObserver:{next:nextOrObserver,error,complete},void 0===observer.next&&(observer.next=index_esm2017_noop),void 0===observer.error&&(observer.error=index_esm2017_noop),void 0===observer.complete&&(observer.complete=index_esm2017_noop);const unsub=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?observer.error(this.finalError):observer.complete()}catch{}}),this.observers.push(observer),unsub}unsubscribeOne(i6){void 0===this.observers||void 0===this.observers[i6]||(delete this.observers[i6],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(fn){if(!this.finalized)for(let i6=0;i6{if(void 0!==this.observers&&void 0!==this.observers[i6])try{fn(this.observers[i6])}catch(e2){typeof console<"u"&&console.error&&console.error(e2)}})}close(err){this.finalized||(this.finalized=!0,void 0!==err&&(this.finalError=err),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function index_esm2017_noop(){}const DEFAULT_INTERVAL_MILLIS=1e3,DEFAULT_BACKOFF_FACTOR=2,MAX_VALUE_MILLIS=144e5,RANDOM_FACTOR=.5;function index_esm2017_calculateBackoffMillis(backoffCount,intervalMillis=DEFAULT_INTERVAL_MILLIS,backoffFactor=DEFAULT_BACKOFF_FACTOR){const currBaseValue=intervalMillis*Math.pow(backoffFactor,backoffCount),randomWait=Math.round(RANDOM_FACTOR*currBaseValue*(Math.random()-.5)*2);return Math.min(MAX_VALUE_MILLIS,currBaseValue+randomWait)}function index_esm2017_getModularInstance(service){return service&&service._delegate?service._delegate:service}class index_esm2017_Component{constructor(name,instanceFactory,type){this.name=name,this.instanceFactory=instanceFactory,this.type=type,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(mode){return this.instantiationMode=mode,this}setMultipleInstances(multipleInstances){return this.multipleInstances=multipleInstances,this}setServiceProps(props){return this.serviceProps=props,this}setInstanceCreatedCallback(callback){return this.onInstanceCreated=callback,this}}class Provider{constructor(name,container){this.name=name,this.container=container,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(identifier){const normalizedIdentifier=this.normalizeInstanceIdentifier(identifier);if(!this.instancesDeferred.has(normalizedIdentifier)){const deferred=new index_esm2017_Deferred;if(this.instancesDeferred.set(normalizedIdentifier,deferred),this.isInitialized(normalizedIdentifier)||this.shouldAutoInitialize())try{const instance=this.getOrInitializeService({instanceIdentifier:normalizedIdentifier});instance&&deferred.resolve(instance)}catch{}}return this.instancesDeferred.get(normalizedIdentifier).promise}getImmediate(options){var _a;const normalizedIdentifier=this.normalizeInstanceIdentifier(options?.identifier),optional=null!==(_a=options?.optional)&&void 0!==_a&&_a;if(!this.isInitialized(normalizedIdentifier)&&!this.shouldAutoInitialize()){if(optional)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:normalizedIdentifier})}catch(e2){if(optional)return null;throw e2}}getComponent(){return this.component}setComponent(component){if(component.name!==this.name)throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=component,this.shouldAutoInitialize()){if(function isComponentEager(component){return"EAGER"===component.instantiationMode}(component))try{this.getOrInitializeService({instanceIdentifier:"[DEFAULT]"})}catch{}for(const[instanceIdentifier,instanceDeferred]of this.instancesDeferred.entries()){const normalizedIdentifier=this.normalizeInstanceIdentifier(instanceIdentifier);try{const instance=this.getOrInitializeService({instanceIdentifier:normalizedIdentifier});instanceDeferred.resolve(instance)}catch{}}}}clearInstance(identifier="[DEFAULT]"){this.instancesDeferred.delete(identifier),this.instancesOptions.delete(identifier),this.instances.delete(identifier)}delete(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){const services=Array.from(_this.instances.values());yield Promise.all([...services.filter(service=>"INTERNAL"in service).map(service=>service.INTERNAL.delete()),...services.filter(service=>"_delete"in service).map(service=>service._delete())])})()}isComponentSet(){return null!=this.component}isInitialized(identifier="[DEFAULT]"){return this.instances.has(identifier)}getOptions(identifier="[DEFAULT]"){return this.instancesOptions.get(identifier)||{}}initialize(opts={}){const{options={}}=opts,normalizedIdentifier=this.normalizeInstanceIdentifier(opts.instanceIdentifier);if(this.isInitialized(normalizedIdentifier))throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const instance=this.getOrInitializeService({instanceIdentifier:normalizedIdentifier,options});for(const[instanceIdentifier,instanceDeferred]of this.instancesDeferred.entries())normalizedIdentifier===this.normalizeInstanceIdentifier(instanceIdentifier)&&instanceDeferred.resolve(instance);return instance}onInit(callback,identifier){var _a;const normalizedIdentifier=this.normalizeInstanceIdentifier(identifier),existingCallbacks=null!==(_a=this.onInitCallbacks.get(normalizedIdentifier))&&void 0!==_a?_a:new Set;existingCallbacks.add(callback),this.onInitCallbacks.set(normalizedIdentifier,existingCallbacks);const existingInstance=this.instances.get(normalizedIdentifier);return existingInstance&&callback(existingInstance,normalizedIdentifier),()=>{existingCallbacks.delete(callback)}}invokeOnInitCallbacks(instance,identifier){const callbacks=this.onInitCallbacks.get(identifier);if(callbacks)for(const callback of callbacks)try{callback(instance,identifier)}catch{}}getOrInitializeService({instanceIdentifier,options={}}){let instance=this.instances.get(instanceIdentifier);if(!instance&&this.component&&(instance=this.component.instanceFactory(this.container,{instanceIdentifier:(identifier=instanceIdentifier,"[DEFAULT]"===identifier?void 0:identifier),options}),this.instances.set(instanceIdentifier,instance),this.instancesOptions.set(instanceIdentifier,options),this.invokeOnInitCallbacks(instance,instanceIdentifier),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,instanceIdentifier,instance)}catch{}var identifier;return instance||null}normalizeInstanceIdentifier(identifier="[DEFAULT]"){return this.component?this.component.multipleInstances?identifier:"[DEFAULT]":identifier}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class ComponentContainer{constructor(name){this.name=name,this.providers=new Map}addComponent(component){const provider=this.getProvider(component.name);if(provider.isComponentSet())throw new Error(`Component ${component.name} has already been registered with ${this.name}`);provider.setComponent(component)}addOrOverwriteComponent(component){this.getProvider(component.name).isComponentSet()&&this.providers.delete(component.name),this.addComponent(component)}getProvider(name){if(this.providers.has(name))return this.providers.get(name);const provider=new Provider(name,this);return this.providers.set(name,provider),provider}getProviders(){return Array.from(this.providers.values())}}const instances=[];var index_esm2017_LogLevel=function(LogLevel2){return LogLevel2[LogLevel2.DEBUG=0]="DEBUG",LogLevel2[LogLevel2.VERBOSE=1]="VERBOSE",LogLevel2[LogLevel2.INFO=2]="INFO",LogLevel2[LogLevel2.WARN=3]="WARN",LogLevel2[LogLevel2.ERROR=4]="ERROR",LogLevel2[LogLevel2.SILENT=5]="SILENT",LogLevel2}(index_esm2017_LogLevel||{});const levelStringToEnum={debug:index_esm2017_LogLevel.DEBUG,verbose:index_esm2017_LogLevel.VERBOSE,info:index_esm2017_LogLevel.INFO,warn:index_esm2017_LogLevel.WARN,error:index_esm2017_LogLevel.ERROR,silent:index_esm2017_LogLevel.SILENT},defaultLogLevel=index_esm2017_LogLevel.INFO,ConsoleMethod={[index_esm2017_LogLevel.DEBUG]:"log",[index_esm2017_LogLevel.VERBOSE]:"log",[index_esm2017_LogLevel.INFO]:"info",[index_esm2017_LogLevel.WARN]:"warn",[index_esm2017_LogLevel.ERROR]:"error"},defaultLogHandler=(instance,logType,...args)=>{if(logTypeconstructors.some(c=>object instanceof c);let idbProxyableTypes,cursorAdvanceMethods;const cursorRequestMap=new WeakMap,transactionDoneMap=new WeakMap,transactionStoreNamesMap=new WeakMap,transformCache=new WeakMap,reverseTransformCache=new WeakMap;let idbProxyTraps={get(target,prop2,receiver){if(target instanceof IDBTransaction){if("done"===prop2)return transactionDoneMap.get(target);if("objectStoreNames"===prop2)return target.objectStoreNames||transactionStoreNamesMap.get(target);if("store"===prop2)return receiver.objectStoreNames[1]?void 0:receiver.objectStore(receiver.objectStoreNames[0])}return wrap_idb_value_wrap(target[prop2])},set:(target,prop2,value)=>(target[prop2]=value,!0),has:(target,prop2)=>target instanceof IDBTransaction&&("done"===prop2||"store"===prop2)||prop2 in target};function transformCachableValue(value){return"function"==typeof value?function wrapFunction(func){return func!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?function getCursorAdvanceMethods(){return cursorAdvanceMethods||(cursorAdvanceMethods=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}().includes(func)?function(...args){return func.apply(unwrap(this),args),wrap_idb_value_wrap(cursorRequestMap.get(this))}:function(...args){return wrap_idb_value_wrap(func.apply(unwrap(this),args))}:function(storeNames,...args){const tx=func.call(unwrap(this),storeNames,...args);return transactionStoreNamesMap.set(tx,storeNames.sort?storeNames.sort():[storeNames]),wrap_idb_value_wrap(tx)}}(value):(value instanceof IDBTransaction&&function cacheDonePromiseForTransaction(tx){if(transactionDoneMap.has(tx))return;const done=new Promise((resolve,reject)=>{const unlisten=()=>{tx.removeEventListener("complete",complete),tx.removeEventListener("error",error),tx.removeEventListener("abort",error)},complete=()=>{resolve(),unlisten()},error=()=>{reject(tx.error||new DOMException("AbortError","AbortError")),unlisten()};tx.addEventListener("complete",complete),tx.addEventListener("error",error),tx.addEventListener("abort",error)});transactionDoneMap.set(tx,done)}(value),instanceOfAny(value,function getIdbProxyableTypes(){return idbProxyableTypes||(idbProxyableTypes=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}())?new Proxy(value,idbProxyTraps):value)}function wrap_idb_value_wrap(value){if(value instanceof IDBRequest)return function promisifyRequest(request){const promise=new Promise((resolve,reject)=>{const unlisten=()=>{request.removeEventListener("success",success),request.removeEventListener("error",error)},success=()=>{resolve(wrap_idb_value_wrap(request.result)),unlisten()},error=()=>{reject(request.error),unlisten()};request.addEventListener("success",success),request.addEventListener("error",error)});return promise.then(value=>{value instanceof IDBCursor&&cursorRequestMap.set(value,request)}).catch(()=>{}),reverseTransformCache.set(promise,request),promise}(value);if(transformCache.has(value))return transformCache.get(value);const newValue=transformCachableValue(value);return newValue!==value&&(transformCache.set(value,newValue),reverseTransformCache.set(newValue,value)),newValue}const unwrap=value=>reverseTransformCache.get(value),readMethods=["get","getKey","getAll","getAllKeys","count"],writeMethods=["put","add","delete","clear"],cachedMethods=new Map;function getMethod(target,prop2){if(!(target instanceof IDBDatabase)||prop2 in target||"string"!=typeof prop2)return;if(cachedMethods.get(prop2))return cachedMethods.get(prop2);const targetFuncName=prop2.replace(/FromIndex$/,""),useIndex=prop2!==targetFuncName,isWrite=writeMethods.includes(targetFuncName);if(!(targetFuncName in(useIndex?IDBIndex:IDBObjectStore).prototype)||!isWrite&&!readMethods.includes(targetFuncName))return;const method=function(){var _ref=asyncToGenerator_asyncToGenerator(function*(storeName,...args){const tx=this.transaction(storeName,isWrite?"readwrite":"readonly");let target2=tx.store;return useIndex&&(target2=target2.index(args.shift())),(yield Promise.all([target2[targetFuncName](...args),isWrite&&tx.done]))[0]});return function(_x){return _ref.apply(this,arguments)}}();return cachedMethods.set(prop2,method),method}!function replaceTraps(callback){idbProxyTraps=callback(idbProxyTraps)}(oldTraps=>({...oldTraps,get:(target,prop2,receiver)=>getMethod(target,prop2)||oldTraps.get(target,prop2,receiver),has:(target,prop2)=>!!getMethod(target,prop2)||oldTraps.has(target,prop2)}));class PlatformLoggerServiceImpl{constructor(container){this.container=container}getPlatformInfoString(){return this.container.getProviders().map(provider=>{if(function isVersionServiceProvider(provider){const component=provider.getComponent();return"VERSION"===component?.type}(provider)){const service=provider.getImmediate();return`${service.library}/${service.version}`}return null}).filter(logString=>logString).join(" ")}}const name$o="@firebase/app",index_esm2017_logger=new Logger("@firebase/app"),index_esm2017_DEFAULT_ENTRY_NAME="[DEFAULT]",PLATFORM_LOG_STRING={[name$o]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","fire-js":"fire-js",firebase:"fire-js-all"},_apps=new Map,_components=new Map;function _addComponent(app,component){try{app.container.addComponent(component)}catch(e2){index_esm2017_logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`,e2)}}function _registerComponent(component){const componentName=component.name;if(_components.has(componentName))return index_esm2017_logger.debug(`There were multiple attempts to register component ${componentName}.`),!1;_components.set(componentName,component);for(const app of _apps.values())_addComponent(app,component);return!0}function index_esm2017_getProvider(app,name){const heartbeatController=app.container.getProvider("heartbeat").getImmediate({optional:!0});return heartbeatController&&heartbeatController.triggerHeartbeat(),app.container.getProvider(name)}const ERROR_FACTORY=new ErrorFactory("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}."});class FirebaseAppImpl{constructor(options,config2,container){this._isDeleted=!1,this._options=Object.assign({},options),this._config=Object.assign({},config2),this._name=config2.name,this._automaticDataCollectionEnabled=config2.automaticDataCollectionEnabled,this._container=container,this.container.addComponent(new index_esm2017_Component("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(val){this.checkDestroyed(),this._automaticDataCollectionEnabled=val}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(val){this._isDeleted=val}checkDestroyed(){if(this.isDeleted)throw ERROR_FACTORY.create("app-deleted",{appName:this._name})}}const index_esm2017_SDK_VERSION="9.23.0";function initializeApp(_options,rawConfig={}){let options=_options;"object"!=typeof rawConfig&&(rawConfig={name:rawConfig});const config2=Object.assign({name:index_esm2017_DEFAULT_ENTRY_NAME,automaticDataCollectionEnabled:!1},rawConfig),name=config2.name;if("string"!=typeof name||!name)throw ERROR_FACTORY.create("bad-app-name",{appName:String(name)});if(options||(options=getDefaultAppConfig()),!options)throw ERROR_FACTORY.create("no-options");const existingApp=_apps.get(name);if(existingApp){if(index_esm2017_deepEqual(options,existingApp.options)&&index_esm2017_deepEqual(config2,existingApp.config))return existingApp;throw ERROR_FACTORY.create("duplicate-app",{appName:name})}const container=new ComponentContainer(name);for(const component of _components.values())container.addComponent(component);const newApp=new FirebaseAppImpl(options,config2,container);return _apps.set(name,newApp),newApp}function index_esm2017_getApp(name=index_esm2017_DEFAULT_ENTRY_NAME){const app=_apps.get(name);if(!app&&name===index_esm2017_DEFAULT_ENTRY_NAME&&getDefaultAppConfig())return initializeApp();if(!app)throw ERROR_FACTORY.create("no-app",{appName:name});return app}function getApps(){return Array.from(_apps.values())}function index_esm2017_registerVersion(libraryKeyOrName,version2,variant){var _a;let library=null!==(_a=PLATFORM_LOG_STRING[libraryKeyOrName])&&void 0!==_a?_a:libraryKeyOrName;variant&&(library+=`-${variant}`);const libraryMismatch=library.match(/\s|\//),versionMismatch=version2.match(/\s|\//);if(libraryMismatch||versionMismatch){const warning=[`Unable to register library "${library}" with version "${version2}":`];return libraryMismatch&&warning.push(`library name "${library}" contains illegal characters (whitespace or "/")`),libraryMismatch&&versionMismatch&&warning.push("and"),versionMismatch&&warning.push(`version name "${version2}" contains illegal characters (whitespace or "/")`),void index_esm2017_logger.warn(warning.join(" "))}_registerComponent(new index_esm2017_Component(`${library}-version`,()=>({library,version:version2}),"VERSION"))}const DB_NAME="firebase-heartbeat-database",DB_VERSION=1,STORE_NAME="firebase-heartbeat-store";let dbPromise=null;function getDbPromise(){return dbPromise||(dbPromise=function openDB(name,version2,{blocked,upgrade,blocking,terminated}={}){const request=indexedDB.open(name,version2),openPromise=wrap_idb_value_wrap(request);return upgrade&&request.addEventListener("upgradeneeded",event=>{upgrade(wrap_idb_value_wrap(request.result),event.oldVersion,event.newVersion,wrap_idb_value_wrap(request.transaction),event)}),blocked&&request.addEventListener("blocked",event=>blocked(event.oldVersion,event.newVersion,event)),openPromise.then(db=>{terminated&&db.addEventListener("close",()=>terminated()),blocking&&db.addEventListener("versionchange",event=>blocking(event.oldVersion,event.newVersion,event))}).catch(()=>{}),openPromise}(DB_NAME,DB_VERSION,{upgrade:(db,oldVersion)=>{0===oldVersion&&db.createObjectStore(STORE_NAME)}}).catch(e2=>{throw ERROR_FACTORY.create("idb-open",{originalErrorMessage:e2.message})})),dbPromise}function _readHeartbeatsFromIndexedDB(){return(_readHeartbeatsFromIndexedDB=asyncToGenerator_asyncToGenerator(function*(app){try{return yield(yield getDbPromise()).transaction(STORE_NAME).objectStore(STORE_NAME).get(computeKey(app))}catch(e2){if(e2 instanceof index_esm2017_FirebaseError)index_esm2017_logger.warn(e2.message);else{const idbGetError=ERROR_FACTORY.create("idb-get",{originalErrorMessage:e2?.message});index_esm2017_logger.warn(idbGetError.message)}}})).apply(this,arguments)}function writeHeartbeatsToIndexedDB(_x3,_x4){return _writeHeartbeatsToIndexedDB.apply(this,arguments)}function _writeHeartbeatsToIndexedDB(){return(_writeHeartbeatsToIndexedDB=asyncToGenerator_asyncToGenerator(function*(app,heartbeatObject){try{const tx=(yield getDbPromise()).transaction(STORE_NAME,"readwrite");yield tx.objectStore(STORE_NAME).put(heartbeatObject,computeKey(app)),yield tx.done}catch(e2){if(e2 instanceof index_esm2017_FirebaseError)index_esm2017_logger.warn(e2.message);else{const idbGetError=ERROR_FACTORY.create("idb-set",{originalErrorMessage:e2?.message});index_esm2017_logger.warn(idbGetError.message)}}})).apply(this,arguments)}function computeKey(app){return`${app.name}!${app.options.appId}`}class HeartbeatServiceImpl{constructor(container){this.container=container,this._heartbeatsCache=null;const app=this.container.getProvider("app").getImmediate();this._storage=new HeartbeatStorageImpl(app),this._heartbeatsCachePromise=this._storage.read().then(result=>(this._heartbeatsCache=result,result))}triggerHeartbeat(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){const agent=_this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),date=getUTCDateString();if(null===_this._heartbeatsCache&&(_this._heartbeatsCache=yield _this._heartbeatsCachePromise),_this._heartbeatsCache.lastSentHeartbeatDate!==date&&!_this._heartbeatsCache.heartbeats.some(singleDateHeartbeat=>singleDateHeartbeat.date===date))return _this._heartbeatsCache.heartbeats.push({date,agent}),_this._heartbeatsCache.heartbeats=_this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat=>{const hbTimestamp=new Date(singleDateHeartbeat.date).valueOf();return Date.now()-hbTimestamp<=2592e6}),_this._storage.overwrite(_this._heartbeatsCache)})()}getHeartbeatsHeader(){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){if(null===_this2._heartbeatsCache&&(yield _this2._heartbeatsCachePromise),null===_this2._heartbeatsCache||0===_this2._heartbeatsCache.heartbeats.length)return"";const date=getUTCDateString(),{heartbeatsToSend,unsentEntries}=function extractHeartbeatsForHeader(heartbeatsCache,maxSize=1024){const heartbeatsToSend=[];let unsentEntries=heartbeatsCache.slice();for(const singleDateHeartbeat of heartbeatsCache){const heartbeatEntry=heartbeatsToSend.find(hb=>hb.agent===singleDateHeartbeat.agent);if(heartbeatEntry){if(heartbeatEntry.dates.push(singleDateHeartbeat.date),countBytes(heartbeatsToSend)>maxSize){heartbeatEntry.dates.pop();break}}else if(heartbeatsToSend.push({agent:singleDateHeartbeat.agent,dates:[singleDateHeartbeat.date]}),countBytes(heartbeatsToSend)>maxSize){heartbeatsToSend.pop();break}unsentEntries=unsentEntries.slice(1)}return{heartbeatsToSend,unsentEntries}}(_this2._heartbeatsCache.heartbeats),headerString=base64urlEncodeWithoutPadding(JSON.stringify({version:2,heartbeats:heartbeatsToSend}));return _this2._heartbeatsCache.lastSentHeartbeatDate=date,unsentEntries.length>0?(_this2._heartbeatsCache.heartbeats=unsentEntries,yield _this2._storage.overwrite(_this2._heartbeatsCache)):(_this2._heartbeatsCache.heartbeats=[],_this2._storage.overwrite(_this2._heartbeatsCache)),headerString})()}}function getUTCDateString(){return(new Date).toISOString().substring(0,10)}class HeartbeatStorageImpl{constructor(app){this.app=app,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}runIndexedDBEnvironmentCheck(){return asyncToGenerator_asyncToGenerator(function*(){return!!index_esm2017_isIndexedDBAvailable()&&validateIndexedDBOpenable().then(()=>!0).catch(()=>!1)})()}read(){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){return(yield _this3._canUseIndexedDBPromise)&&(yield function readHeartbeatsFromIndexedDB(_x2){return _readHeartbeatsFromIndexedDB.apply(this,arguments)}(_this3.app))||{heartbeats:[]}})()}overwrite(heartbeatsObject){var _this4=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;if(yield _this4._canUseIndexedDBPromise){const existingHeartbeatsObject=yield _this4.read();return writeHeartbeatsToIndexedDB(_this4.app,{lastSentHeartbeatDate:null!==(_a=heartbeatsObject.lastSentHeartbeatDate)&&void 0!==_a?_a:existingHeartbeatsObject.lastSentHeartbeatDate,heartbeats:heartbeatsObject.heartbeats})}})()}add(heartbeatsObject){var _this5=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;if(yield _this5._canUseIndexedDBPromise){const existingHeartbeatsObject=yield _this5.read();return writeHeartbeatsToIndexedDB(_this5.app,{lastSentHeartbeatDate:null!==(_a=heartbeatsObject.lastSentHeartbeatDate)&&void 0!==_a?_a:existingHeartbeatsObject.lastSentHeartbeatDate,heartbeats:[...existingHeartbeatsObject.heartbeats,...heartbeatsObject.heartbeats]})}})()}}function countBytes(heartbeatsCache){return base64urlEncodeWithoutPadding(JSON.stringify({version:2,heartbeats:heartbeatsCache})).length}!function registerCoreComponents(variant){_registerComponent(new index_esm2017_Component("platform-logger",container=>new PlatformLoggerServiceImpl(container),"PRIVATE")),_registerComponent(new index_esm2017_Component("heartbeat",container=>new HeartbeatServiceImpl(container),"PRIVATE")),index_esm2017_registerVersion(name$o,"0.9.13",variant),index_esm2017_registerVersion(name$o,"0.9.13","esm2017"),index_esm2017_registerVersion("fire-js","")}(""),index_esm2017_registerVersion("firebase","9.23.0","app");const wrap_idb_value_instanceOfAny=(object,constructors)=>constructors.some(c=>object instanceof c);let wrap_idb_value_idbProxyableTypes,wrap_idb_value_cursorAdvanceMethods;const wrap_idb_value_cursorRequestMap=new WeakMap,wrap_idb_value_transactionDoneMap=new WeakMap,wrap_idb_value_transactionStoreNamesMap=new WeakMap,wrap_idb_value_transformCache=new WeakMap,wrap_idb_value_reverseTransformCache=new WeakMap;let wrap_idb_value_idbProxyTraps={get(target,prop2,receiver){if(target instanceof IDBTransaction){if("done"===prop2)return wrap_idb_value_transactionDoneMap.get(target);if("objectStoreNames"===prop2)return target.objectStoreNames||wrap_idb_value_transactionStoreNamesMap.get(target);if("store"===prop2)return receiver.objectStoreNames[1]?void 0:receiver.objectStore(receiver.objectStoreNames[0])}return wrap_idb_value_wrap_0(target[prop2])},set:(target,prop2,value)=>(target[prop2]=value,!0),has:(target,prop2)=>target instanceof IDBTransaction&&("done"===prop2||"store"===prop2)||prop2 in target};function wrap_idb_value_transformCachableValue(value){return"function"==typeof value?function wrap_idb_value_wrapFunction(func){return func!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?function wrap_idb_value_getCursorAdvanceMethods(){return wrap_idb_value_cursorAdvanceMethods||(wrap_idb_value_cursorAdvanceMethods=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}().includes(func)?function(...args){return func.apply(wrap_idb_value_unwrap(this),args),wrap_idb_value_wrap_0(wrap_idb_value_cursorRequestMap.get(this))}:function(...args){return wrap_idb_value_wrap_0(func.apply(wrap_idb_value_unwrap(this),args))}:function(storeNames,...args){const tx=func.call(wrap_idb_value_unwrap(this),storeNames,...args);return wrap_idb_value_transactionStoreNamesMap.set(tx,storeNames.sort?storeNames.sort():[storeNames]),wrap_idb_value_wrap_0(tx)}}(value):(value instanceof IDBTransaction&&function wrap_idb_value_cacheDonePromiseForTransaction(tx){if(wrap_idb_value_transactionDoneMap.has(tx))return;const done=new Promise((resolve,reject)=>{const unlisten=()=>{tx.removeEventListener("complete",complete),tx.removeEventListener("error",error),tx.removeEventListener("abort",error)},complete=()=>{resolve(),unlisten()},error=()=>{reject(tx.error||new DOMException("AbortError","AbortError")),unlisten()};tx.addEventListener("complete",complete),tx.addEventListener("error",error),tx.addEventListener("abort",error)});wrap_idb_value_transactionDoneMap.set(tx,done)}(value),wrap_idb_value_instanceOfAny(value,function wrap_idb_value_getIdbProxyableTypes(){return wrap_idb_value_idbProxyableTypes||(wrap_idb_value_idbProxyableTypes=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}())?new Proxy(value,wrap_idb_value_idbProxyTraps):value)}function wrap_idb_value_wrap_0(value){if(value instanceof IDBRequest)return function wrap_idb_value_promisifyRequest(request){const promise=new Promise((resolve,reject)=>{const unlisten=()=>{request.removeEventListener("success",success),request.removeEventListener("error",error)},success=()=>{resolve(wrap_idb_value_wrap_0(request.result)),unlisten()},error=()=>{reject(request.error),unlisten()};request.addEventListener("success",success),request.addEventListener("error",error)});return promise.then(value=>{value instanceof IDBCursor&&wrap_idb_value_cursorRequestMap.set(value,request)}).catch(()=>{}),wrap_idb_value_reverseTransformCache.set(promise,request),promise}(value);if(wrap_idb_value_transformCache.has(value))return wrap_idb_value_transformCache.get(value);const newValue=wrap_idb_value_transformCachableValue(value);return newValue!==value&&(wrap_idb_value_transformCache.set(value,newValue),wrap_idb_value_reverseTransformCache.set(newValue,value)),newValue}const wrap_idb_value_unwrap=value=>wrap_idb_value_reverseTransformCache.get(value),idb_readMethods=["get","getKey","getAll","getAllKeys","count"],idb_writeMethods=["put","add","delete","clear"],idb_cachedMethods=new Map;function idb_getMethod(target,prop2){if(!(target instanceof IDBDatabase)||prop2 in target||"string"!=typeof prop2)return;if(idb_cachedMethods.get(prop2))return idb_cachedMethods.get(prop2);const targetFuncName=prop2.replace(/FromIndex$/,""),useIndex=prop2!==targetFuncName,isWrite=idb_writeMethods.includes(targetFuncName);if(!(targetFuncName in(useIndex?IDBIndex:IDBObjectStore).prototype)||!isWrite&&!idb_readMethods.includes(targetFuncName))return;const method=function(){var _ref=asyncToGenerator_asyncToGenerator(function*(storeName,...args){const tx=this.transaction(storeName,isWrite?"readwrite":"readonly");let target2=tx.store;return useIndex&&(target2=target2.index(args.shift())),(yield Promise.all([target2[targetFuncName](...args),isWrite&&tx.done]))[0]});return function(_x){return _ref.apply(this,arguments)}}();return idb_cachedMethods.set(prop2,method),method}!function wrap_idb_value_replaceTraps(callback){wrap_idb_value_idbProxyTraps=callback(wrap_idb_value_idbProxyTraps)}(oldTraps=>({...oldTraps,get:(target,prop2,receiver)=>idb_getMethod(target,prop2)||oldTraps.get(target,prop2,receiver),has:(target,prop2)=>!!idb_getMethod(target,prop2)||oldTraps.has(target,prop2)}));const PENDING_TIMEOUT_MS=1e4,PACKAGE_VERSION="w:0.6.4",INTERNAL_AUTH_VERSION="FIS_v2",INSTALLATIONS_API_URL="https://firebaseinstallations.googleapis.com/v1",TOKEN_EXPIRATION_BUFFER=36e5,index_esm2017_ERROR_FACTORY=new ErrorFactory("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function isServerError(error){return error instanceof index_esm2017_FirebaseError&&error.code.includes("request-failed")}function getInstallationsEndpoint({projectId}){return`${INSTALLATIONS_API_URL}/projects/${projectId}/installations`}function extractAuthTokenInfoFromResponse(response){return{token:response.token,requestStatus:2,expiresIn:(responseExpiresIn=response.expiresIn,Number(responseExpiresIn.replace("s","000"))),creationTime:Date.now()};var responseExpiresIn}function getErrorFromResponse(_x,_x2){return _getErrorFromResponse.apply(this,arguments)}function _getErrorFromResponse(){return(_getErrorFromResponse=asyncToGenerator_asyncToGenerator(function*(requestName,response){const errorData=(yield response.json()).error;return index_esm2017_ERROR_FACTORY.create("request-failed",{requestName,serverCode:errorData.code,serverMessage:errorData.message,serverStatus:errorData.status})})).apply(this,arguments)}function getHeaders({apiKey}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":apiKey})}function retryIfServerError(_x3){return _retryIfServerError.apply(this,arguments)}function _retryIfServerError(){return(_retryIfServerError=asyncToGenerator_asyncToGenerator(function*(fn){const result=yield fn();return result.status>=500&&result.status<600?fn():result})).apply(this,arguments)}function _createInstallationRequest(){return(_createInstallationRequest=asyncToGenerator_asyncToGenerator(function*({appConfig,heartbeatServiceProvider},{fid}){const endpoint=getInstallationsEndpoint(appConfig),headers=getHeaders(appConfig),heartbeatService=heartbeatServiceProvider.getImmediate({optional:!0});if(heartbeatService){const heartbeatsHeader=yield heartbeatService.getHeartbeatsHeader();heartbeatsHeader&&headers.append("x-firebase-client",heartbeatsHeader)}const request={method:"POST",headers,body:JSON.stringify({fid,authVersion:INTERNAL_AUTH_VERSION,appId:appConfig.appId,sdkVersion:PACKAGE_VERSION})},response=yield retryIfServerError(()=>fetch(endpoint,request));if(response.ok){const responseValue=yield response.json();return{fid:responseValue.fid||fid,registrationStatus:2,refreshToken:responseValue.refreshToken,authToken:extractAuthTokenInfoFromResponse(responseValue.authToken)}}throw yield getErrorFromResponse("Create Installation",response)})).apply(this,arguments)}function sleep(ms){return new Promise(resolve=>{setTimeout(resolve,ms)})}const VALID_FID_PATTERN=/^[cdef][\w-]{21}$/,INVALID_FID="";function generateFid(){try{const fidByteArray=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(fidByteArray),fidByteArray[0]=112+fidByteArray[0]%16;const fid=function index_esm2017_encode(fidByteArray){return function bufferToBase64UrlSafe(array){return btoa(String.fromCharCode(...array)).replace(/\+/g,"-").replace(/\//g,"_")}(fidByteArray).substr(0,22)}(fidByteArray);return VALID_FID_PATTERN.test(fid)?fid:INVALID_FID}catch{return INVALID_FID}}function getKey(appConfig){return`${appConfig.appName}!${appConfig.appId}`}const fidChangeCallbacks=new Map;function fidChanged(appConfig,fid){const key=getKey(appConfig);callFidChangeCallbacks(key,fid),function broadcastFidChange(key,fid){const channel=function getBroadcastChannel(){return!broadcastChannel&&"BroadcastChannel"in self&&(broadcastChannel=new BroadcastChannel("[Firebase] FID Change"),broadcastChannel.onmessage=e2=>{callFidChangeCallbacks(e2.data.key,e2.data.fid)}),broadcastChannel}();channel&&channel.postMessage({key,fid}),function closeBroadcastChannel(){0===fidChangeCallbacks.size&&broadcastChannel&&(broadcastChannel.close(),broadcastChannel=null)}()}(key,fid)}function callFidChangeCallbacks(key,fid){const callbacks=fidChangeCallbacks.get(key);if(callbacks)for(const callback of callbacks)callback(fid)}let broadcastChannel=null;const DATABASE_NAME="firebase-installations-database",DATABASE_VERSION=1,OBJECT_STORE_NAME="firebase-installations-store";let index_esm2017_dbPromise=null;function index_esm2017_getDbPromise(){return index_esm2017_dbPromise||(index_esm2017_dbPromise=function idb_openDB(name,version2,{blocked,upgrade,blocking,terminated}={}){const request=indexedDB.open(name,version2),openPromise=wrap_idb_value_wrap_0(request);return upgrade&&request.addEventListener("upgradeneeded",event=>{upgrade(wrap_idb_value_wrap_0(request.result),event.oldVersion,event.newVersion,wrap_idb_value_wrap_0(request.transaction))}),blocked&&request.addEventListener("blocked",()=>blocked()),openPromise.then(db=>{terminated&&db.addEventListener("close",()=>terminated()),blocking&&db.addEventListener("versionchange",()=>blocking())}).catch(()=>{}),openPromise}(DATABASE_NAME,DATABASE_VERSION,{upgrade:(db,oldVersion)=>{0===oldVersion&&db.createObjectStore(OBJECT_STORE_NAME)}})),index_esm2017_dbPromise}function set(_x6,_x7){return _set.apply(this,arguments)}function _set(){return(_set=asyncToGenerator_asyncToGenerator(function*(appConfig,value){const key=getKey(appConfig),tx=(yield index_esm2017_getDbPromise()).transaction(OBJECT_STORE_NAME,"readwrite"),objectStore=tx.objectStore(OBJECT_STORE_NAME),oldValue=yield objectStore.get(key);return yield objectStore.put(value,key),yield tx.done,(!oldValue||oldValue.fid!==value.fid)&&fidChanged(appConfig,value.fid),value})).apply(this,arguments)}function index_esm2017_remove(_x8){return _remove.apply(this,arguments)}function _remove(){return(_remove=asyncToGenerator_asyncToGenerator(function*(appConfig){const key=getKey(appConfig),tx=(yield index_esm2017_getDbPromise()).transaction(OBJECT_STORE_NAME,"readwrite");yield tx.objectStore(OBJECT_STORE_NAME).delete(key),yield tx.done})).apply(this,arguments)}function update(_x9,_x10){return _update.apply(this,arguments)}function _update(){return(_update=asyncToGenerator_asyncToGenerator(function*(appConfig,updateFn){const key=getKey(appConfig),tx=(yield index_esm2017_getDbPromise()).transaction(OBJECT_STORE_NAME,"readwrite"),store2=tx.objectStore(OBJECT_STORE_NAME),oldValue=yield store2.get(key),newValue=updateFn(oldValue);return void 0===newValue?yield store2.delete(key):yield store2.put(newValue,key),yield tx.done,newValue&&(!oldValue||oldValue.fid!==newValue.fid)&&fidChanged(appConfig,newValue.fid),newValue})).apply(this,arguments)}function getInstallationEntry(_x11){return _getInstallationEntry.apply(this,arguments)}function _getInstallationEntry(){return _getInstallationEntry=asyncToGenerator_asyncToGenerator(function*(installations){let registrationPromise;const installationEntry=yield update(installations.appConfig,oldEntry=>{const installationEntry2=function updateOrCreateInstallationEntry(oldEntry){return clearTimedOutRequest(oldEntry||{fid:generateFid(),registrationStatus:0})}(oldEntry),entryWithPromise=function triggerRegistrationIfNecessary(installations,installationEntry){if(0===installationEntry.registrationStatus){if(!navigator.onLine)return{installationEntry,registrationPromise:Promise.reject(index_esm2017_ERROR_FACTORY.create("app-offline"))};const inProgressEntry={fid:installationEntry.fid,registrationStatus:1,registrationTime:Date.now()},registrationPromise=function registerInstallation(_x12,_x13){return _registerInstallation.apply(this,arguments)}(installations,inProgressEntry);return{installationEntry:inProgressEntry,registrationPromise}}return 1===installationEntry.registrationStatus?{installationEntry,registrationPromise:waitUntilFidRegistration(installations)}:{installationEntry}}(installations,installationEntry2);return registrationPromise=entryWithPromise.registrationPromise,entryWithPromise.installationEntry});return installationEntry.fid===INVALID_FID?{installationEntry:yield registrationPromise}:{installationEntry,registrationPromise}}),_getInstallationEntry.apply(this,arguments)}function _registerInstallation(){return _registerInstallation=asyncToGenerator_asyncToGenerator(function*(installations,installationEntry){try{const registeredInstallationEntry=yield function createInstallationRequest(_x4,_x5){return _createInstallationRequest.apply(this,arguments)}(installations,installationEntry);return set(installations.appConfig,registeredInstallationEntry)}catch(e2){throw isServerError(e2)&&409===e2.customData.serverCode?yield index_esm2017_remove(installations.appConfig):yield set(installations.appConfig,{fid:installationEntry.fid,registrationStatus:0}),e2}}),_registerInstallation.apply(this,arguments)}function waitUntilFidRegistration(_x14){return _waitUntilFidRegistration.apply(this,arguments)}function _waitUntilFidRegistration(){return(_waitUntilFidRegistration=asyncToGenerator_asyncToGenerator(function*(installations){let entry=yield updateInstallationRequest(installations.appConfig);for(;1===entry.registrationStatus;)yield sleep(100),entry=yield updateInstallationRequest(installations.appConfig);if(0===entry.registrationStatus){const{installationEntry,registrationPromise}=yield getInstallationEntry(installations);return registrationPromise||installationEntry}return entry})).apply(this,arguments)}function updateInstallationRequest(appConfig){return update(appConfig,oldEntry=>{if(!oldEntry)throw index_esm2017_ERROR_FACTORY.create("installation-not-found");return clearTimedOutRequest(oldEntry)})}function clearTimedOutRequest(entry){return function hasInstallationRequestTimedOut(installationEntry){return 1===installationEntry.registrationStatus&&installationEntry.registrationTime+PENDING_TIMEOUT_MSfetch(endpoint,request));if(response.ok)return extractAuthTokenInfoFromResponse(yield response.json());throw yield getErrorFromResponse("Generate Auth Token",response)})).apply(this,arguments)}function refreshAuthToken(_x17){return _refreshAuthToken.apply(this,arguments)}function _refreshAuthToken(){return _refreshAuthToken=asyncToGenerator_asyncToGenerator(function*(installations,forceRefresh=!1){let tokenPromise;const entry=yield update(installations.appConfig,oldEntry=>{if(!isEntryRegistered(oldEntry))throw index_esm2017_ERROR_FACTORY.create("not-registered");const oldAuthToken=oldEntry.authToken;if(!forceRefresh&&function isAuthTokenValid(authToken){return 2===authToken.requestStatus&&!function isAuthTokenExpired(authToken){const now=Date.now();return now{if(!isEntryRegistered(oldEntry))throw index_esm2017_ERROR_FACTORY.create("not-registered");return function hasAuthTokenRequestTimedOut(authToken){return 1===authToken.requestStatus&&authToken.requestTime+PENDING_TIMEOUT_MS{const app=container.getProvider("app").getImmediate(),appConfig=function extractAppConfig(app){if(!app||!app.options)throw getMissingValueError("App Configuration");if(!app.name)throw getMissingValueError("App Name");const configKeys=["projectId","apiKey","appId"];for(const keyName of configKeys)if(!app.options[keyName])throw getMissingValueError(keyName);return{appName:app.name,projectId:app.options.projectId,apiKey:app.options.apiKey,appId:app.options.appId}}(app);return{app,appConfig,heartbeatServiceProvider:index_esm2017_getProvider(app,"heartbeat"),_delete:()=>Promise.resolve()}},internalFactory=container=>{const installations=index_esm2017_getProvider(container.getProvider("app").getImmediate(),"installations").getImmediate();return{getId:()=>function getId(_x22){return _getId.apply(this,arguments)}(installations),getToken:forceRefresh=>function getToken(_x23){return _getToken.apply(this,arguments)}(installations,forceRefresh)}};(function registerInstallations(){_registerComponent(new index_esm2017_Component("installations",publicFactory,"PUBLIC")),_registerComponent(new index_esm2017_Component("installations-internal",internalFactory,"PRIVATE"))})(),index_esm2017_registerVersion("@firebase/installations","0.6.4"),index_esm2017_registerVersion("@firebase/installations","0.6.4","esm2017");const esm_index_esm2017_ERROR_FACTORY=new ErrorFactory("remoteconfig","Remote Config",{"registration-window":"Undefined window object. This SDK only supports usage in a browser environment.","registration-project-id":"Undefined project identifier. Check Firebase app initialization.","registration-api-key":"Undefined API key. Check Firebase app initialization.","registration-app-id":"Undefined app identifier. Check Firebase app initialization.","storage-open":"Error thrown when opening storage. Original error: {$originalErrorMessage}.","storage-get":"Error thrown when reading from storage. Original error: {$originalErrorMessage}.","storage-set":"Error thrown when writing to storage. Original error: {$originalErrorMessage}.","storage-delete":"Error thrown when deleting from storage. Original error: {$originalErrorMessage}.","fetch-client-network":"Fetch client failed to connect to a network. Check Internet connection. Original error: {$originalErrorMessage}.","fetch-timeout":'The config fetch request timed out. Configure timeout using "fetchTimeoutMillis" SDK setting.',"fetch-throttle":'The config fetch request timed out while in an exponential backoff state. Configure timeout using "fetchTimeoutMillis" SDK setting. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.',"fetch-client-parse":"Fetch client could not parse response. Original error: {$originalErrorMessage}.","fetch-status":"Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.","indexed-db-unavailable":"Indexed DB is not supported by current browser"});class CachingClient{constructor(client,storage,storageCache,logger2){this.client=client,this.storage=storage,this.storageCache=storageCache,this.logger=logger2}isCachedDataFresh(cacheMaxAgeMillis,lastSuccessfulFetchTimestampMillis){if(!lastSuccessfulFetchTimestampMillis)return this.logger.debug("Config fetch cache check. Cache unpopulated."),!1;const cacheAgeMillis=Date.now()-lastSuccessfulFetchTimestampMillis,isCachedDataFresh=cacheAgeMillis<=cacheMaxAgeMillis;return this.logger.debug(`Config fetch cache check. Cache age millis: ${cacheAgeMillis}. Cache max age millis (minimumFetchIntervalMillis setting): ${cacheMaxAgeMillis}. Is cache hit: ${isCachedDataFresh}.`),isCachedDataFresh}fetch(request){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){const[lastSuccessfulFetchTimestampMillis,lastSuccessfulFetchResponse]=yield Promise.all([_this.storage.getLastSuccessfulFetchTimestampMillis(),_this.storage.getLastSuccessfulFetchResponse()]);if(lastSuccessfulFetchResponse&&_this.isCachedDataFresh(request.cacheMaxAgeMillis,lastSuccessfulFetchTimestampMillis))return lastSuccessfulFetchResponse;request.eTag=lastSuccessfulFetchResponse&&lastSuccessfulFetchResponse.eTag;const response=yield _this.client.fetch(request),storageOperations=[_this.storageCache.setLastSuccessfulFetchTimestampMillis(Date.now())];return 200===response.status&&storageOperations.push(_this.storage.setLastSuccessfulFetchResponse(response)),yield Promise.all(storageOperations),response})()}}function getUserLanguage(navigatorLanguage=navigator){return navigatorLanguage.languages&&navigatorLanguage.languages[0]||navigatorLanguage.language}class RestClient{constructor(firebaseInstallations,sdkVersion,namespace,projectId,apiKey,appId){this.firebaseInstallations=firebaseInstallations,this.sdkVersion=sdkVersion,this.namespace=namespace,this.projectId=projectId,this.apiKey=apiKey,this.appId=appId}fetch(request){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){const[installationId,installationToken]=yield Promise.all([_this2.firebaseInstallations.getId(),_this2.firebaseInstallations.getToken()]),url=`${window.FIREBASE_REMOTE_CONFIG_URL_BASE||"https://firebaseremoteconfig.googleapis.com"}/v1/projects/${_this2.projectId}/namespaces/${_this2.namespace}:fetch?key=${_this2.apiKey}`,headers={"Content-Type":"application/json","Content-Encoding":"gzip","If-None-Match":request.eTag||"*"},requestBody={sdk_version:_this2.sdkVersion,app_instance_id:installationId,app_instance_id_token:installationToken,app_id:_this2.appId,language_code:getUserLanguage()},options={method:"POST",headers,body:JSON.stringify(requestBody)},fetchPromise=fetch(url,options),timeoutPromise=new Promise((_resolve,reject)=>{request.signal.addEventListener(()=>{const error=new Error("The operation was aborted.");error.name="AbortError",reject(error)})});let response;try{yield Promise.race([fetchPromise,timeoutPromise]),response=yield fetchPromise}catch(originalError){let errorCode="fetch-client-network";throw"AbortError"===originalError?.name&&(errorCode="fetch-timeout"),esm_index_esm2017_ERROR_FACTORY.create(errorCode,{originalErrorMessage:originalError?.message})}let status=response.status;const responseEtag=response.headers.get("ETag")||void 0;let config2,state2;if(200===response.status){let responseBody;try{responseBody=yield response.json()}catch(originalError){throw esm_index_esm2017_ERROR_FACTORY.create("fetch-client-parse",{originalErrorMessage:originalError?.message})}config2=responseBody.entries,state2=responseBody.state}if("INSTANCE_STATE_UNSPECIFIED"===state2?status=500:"NO_CHANGE"===state2?status=304:("NO_TEMPLATE"===state2||"EMPTY_CONFIG"===state2)&&(config2={}),304!==status&&200!==status)throw esm_index_esm2017_ERROR_FACTORY.create("fetch-status",{httpStatus:status});return{status,eTag:responseEtag,config:config2}})()}}class RetryingClient{constructor(client,storage){this.client=client,this.storage=storage}fetch(request){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){const throttleMetadata=(yield _this3.storage.getThrottleMetadata())||{backoffCount:0,throttleEndTimeMillis:Date.now()};return _this3.attemptFetch(request,throttleMetadata)})()}attemptFetch(request,{throttleEndTimeMillis,backoffCount}){var _this4=this;return asyncToGenerator_asyncToGenerator(function*(){yield function setAbortableTimeout(signal2,throttleEndTimeMillis){return new Promise((resolve,reject)=>{const backoffMillis=Math.max(throttleEndTimeMillis-Date.now(),0),timeout=setTimeout(resolve,backoffMillis);signal2.addEventListener(()=>{clearTimeout(timeout),reject(esm_index_esm2017_ERROR_FACTORY.create("fetch-throttle",{throttleEndTimeMillis}))})})}(request.signal,throttleEndTimeMillis);try{const response=yield _this4.client.fetch(request);return yield _this4.storage.deleteThrottleMetadata(),response}catch(e2){if(!function isRetriableError(e2){if(!(e2 instanceof index_esm2017_FirebaseError&&e2.customData))return!1;const httpStatus=Number(e2.customData.httpStatus);return 429===httpStatus||500===httpStatus||503===httpStatus||504===httpStatus}(e2))throw e2;const throttleMetadata={throttleEndTimeMillis:Date.now()+index_esm2017_calculateBackoffMillis(backoffCount),backoffCount:backoffCount+1};return yield _this4.storage.setThrottleMetadata(throttleMetadata),_this4.attemptFetch(request,throttleMetadata)}})()}}class RemoteConfig{constructor(app,_client,_storageCache,_storage,_logger){this.app=app,this._client=_client,this._storageCache=_storageCache,this._storage=_storage,this._logger=_logger,this._isInitializationComplete=!1,this.settings={fetchTimeoutMillis:6e4,minimumFetchIntervalMillis:432e5},this.defaultConfig={}}get fetchTimeMillis(){return this._storageCache.getLastSuccessfulFetchTimestampMillis()||-1}get lastFetchStatus(){return this._storageCache.getLastFetchStatus()||"no-fetch-yet"}}function toFirebaseError(event,errorCode){const originalError=event.target.error||void 0;return esm_index_esm2017_ERROR_FACTORY.create(errorCode,{originalErrorMessage:originalError&&originalError?.message})}class Storage{constructor(appId,appName,namespace,openDbPromise=function openDatabase(){return new Promise((resolve,reject)=>{try{const request=indexedDB.open("firebase_remote_config",1);request.onerror=event=>{reject(toFirebaseError(event,"storage-open"))},request.onsuccess=event=>{resolve(event.target.result)},request.onupgradeneeded=event=>{0===event.oldVersion&&event.target.result.createObjectStore("app_namespace_store",{keyPath:"compositeKey"})}}catch(error){reject(esm_index_esm2017_ERROR_FACTORY.create("storage-open",{originalErrorMessage:error?.message}))}})}()){this.appId=appId,this.appName=appName,this.namespace=namespace,this.openDbPromise=openDbPromise}getLastFetchStatus(){return this.get("last_fetch_status")}setLastFetchStatus(status){return this.set("last_fetch_status",status)}getLastSuccessfulFetchTimestampMillis(){return this.get("last_successful_fetch_timestamp_millis")}setLastSuccessfulFetchTimestampMillis(timestamp){return this.set("last_successful_fetch_timestamp_millis",timestamp)}getLastSuccessfulFetchResponse(){return this.get("last_successful_fetch_response")}setLastSuccessfulFetchResponse(response){return this.set("last_successful_fetch_response",response)}getActiveConfig(){return this.get("active_config")}setActiveConfig(config2){return this.set("active_config",config2)}getActiveConfigEtag(){return this.get("active_config_etag")}setActiveConfigEtag(etag){return this.set("active_config_etag",etag)}getThrottleMetadata(){return this.get("throttle_metadata")}setThrottleMetadata(metadata){return this.set("throttle_metadata",metadata)}deleteThrottleMetadata(){return this.delete("throttle_metadata")}get(key){var _this5=this;return asyncToGenerator_asyncToGenerator(function*(){const db=yield _this5.openDbPromise;return new Promise((resolve,reject)=>{const objectStore=db.transaction(["app_namespace_store"],"readonly").objectStore("app_namespace_store"),compositeKey=_this5.createCompositeKey(key);try{const request=objectStore.get(compositeKey);request.onerror=event=>{reject(toFirebaseError(event,"storage-get"))},request.onsuccess=event=>{const result=event.target.result;resolve(result?result.value:void 0)}}catch(e2){reject(esm_index_esm2017_ERROR_FACTORY.create("storage-get",{originalErrorMessage:e2?.message}))}})})()}set(key,value){var _this6=this;return asyncToGenerator_asyncToGenerator(function*(){const db=yield _this6.openDbPromise;return new Promise((resolve,reject)=>{const objectStore=db.transaction(["app_namespace_store"],"readwrite").objectStore("app_namespace_store"),compositeKey=_this6.createCompositeKey(key);try{const request=objectStore.put({compositeKey,value});request.onerror=event=>{reject(toFirebaseError(event,"storage-set"))},request.onsuccess=()=>{resolve()}}catch(e2){reject(esm_index_esm2017_ERROR_FACTORY.create("storage-set",{originalErrorMessage:e2?.message}))}})})()}delete(key){var _this7=this;return asyncToGenerator_asyncToGenerator(function*(){const db=yield _this7.openDbPromise;return new Promise((resolve,reject)=>{const objectStore=db.transaction(["app_namespace_store"],"readwrite").objectStore("app_namespace_store"),compositeKey=_this7.createCompositeKey(key);try{const request=objectStore.delete(compositeKey);request.onerror=event=>{reject(toFirebaseError(event,"storage-delete"))},request.onsuccess=()=>{resolve()}}catch(e2){reject(esm_index_esm2017_ERROR_FACTORY.create("storage-delete",{originalErrorMessage:e2?.message}))}})})()}createCompositeKey(key){return[this.appId,this.appName,this.namespace,key].join()}}class StorageCache{constructor(storage){this.storage=storage}getLastFetchStatus(){return this.lastFetchStatus}getLastSuccessfulFetchTimestampMillis(){return this.lastSuccessfulFetchTimestampMillis}getActiveConfig(){return this.activeConfig}loadFromStorage(){var _this8=this;return asyncToGenerator_asyncToGenerator(function*(){const lastFetchStatusPromise=_this8.storage.getLastFetchStatus(),lastSuccessfulFetchTimestampMillisPromise=_this8.storage.getLastSuccessfulFetchTimestampMillis(),activeConfigPromise=_this8.storage.getActiveConfig(),lastFetchStatus=yield lastFetchStatusPromise;lastFetchStatus&&(_this8.lastFetchStatus=lastFetchStatus);const lastSuccessfulFetchTimestampMillis=yield lastSuccessfulFetchTimestampMillisPromise;lastSuccessfulFetchTimestampMillis&&(_this8.lastSuccessfulFetchTimestampMillis=lastSuccessfulFetchTimestampMillis);const activeConfig=yield activeConfigPromise;activeConfig&&(_this8.activeConfig=activeConfig)})()}setLastFetchStatus(status){return this.lastFetchStatus=status,this.storage.setLastFetchStatus(status)}setLastSuccessfulFetchTimestampMillis(timestampMillis){return this.lastSuccessfulFetchTimestampMillis=timestampMillis,this.storage.setLastSuccessfulFetchTimestampMillis(timestampMillis)}setActiveConfig(activeConfig){return this.activeConfig=activeConfig,this.storage.setActiveConfig(activeConfig)}}function isSupported(){return _isSupported.apply(this,arguments)}function _isSupported(){return(_isSupported=asyncToGenerator_asyncToGenerator(function*(){if(!index_esm2017_isIndexedDBAvailable())return!1;try{return yield validateIndexedDBOpenable()}catch{return!1}})).apply(this,arguments)}!function registerRemoteConfig(){_registerComponent(new index_esm2017_Component("remote-config",function remoteConfigFactory(container,{instanceIdentifier:namespace}){const app=container.getProvider("app").getImmediate(),installations=container.getProvider("installations-internal").getImmediate();if(typeof window>"u")throw esm_index_esm2017_ERROR_FACTORY.create("registration-window");if(!index_esm2017_isIndexedDBAvailable())throw esm_index_esm2017_ERROR_FACTORY.create("indexed-db-unavailable");const{projectId,apiKey,appId}=app.options;if(!projectId)throw esm_index_esm2017_ERROR_FACTORY.create("registration-project-id");if(!apiKey)throw esm_index_esm2017_ERROR_FACTORY.create("registration-api-key");if(!appId)throw esm_index_esm2017_ERROR_FACTORY.create("registration-app-id");const storage=new Storage(appId,app.name,namespace=namespace||"firebase"),storageCache=new StorageCache(storage),logger2=new Logger("@firebase/remote-config");logger2.logLevel=index_esm2017_LogLevel.ERROR;const restClient=new RestClient(installations,index_esm2017_SDK_VERSION,namespace,projectId,apiKey,appId),retryingClient=new RetryingClient(restClient,storage),cachingClient=new CachingClient(retryingClient,storage,storageCache,logger2),remoteConfigInstance=new RemoteConfig(app,cachingClient,storageCache,storage,logger2);return function ensureInitialized(remoteConfig){const rc=index_esm2017_getModularInstance(remoteConfig);rc._initializePromise||(rc._initializePromise=rc._storageCache.loadFromStorage().then(()=>{rc._isInitializationComplete=!0}))}(remoteConfigInstance),remoteConfigInstance},"PUBLIC").setMultipleInstances(!0)),index_esm2017_registerVersion("@firebase/remote-config","0.4.4"),index_esm2017_registerVersion("@firebase/remote-config","0.4.4","esm2017")}();const build_wrap_idb_value_instanceOfAny=(object,constructors)=>constructors.some(c=>object instanceof c);let build_wrap_idb_value_idbProxyableTypes,build_wrap_idb_value_cursorAdvanceMethods;const build_wrap_idb_value_cursorRequestMap=new WeakMap,build_wrap_idb_value_transactionDoneMap=new WeakMap,build_wrap_idb_value_transactionStoreNamesMap=new WeakMap,build_wrap_idb_value_transformCache=new WeakMap,build_wrap_idb_value_reverseTransformCache=new WeakMap;let build_wrap_idb_value_idbProxyTraps={get(target,prop2,receiver){if(target instanceof IDBTransaction){if("done"===prop2)return build_wrap_idb_value_transactionDoneMap.get(target);if("objectStoreNames"===prop2)return target.objectStoreNames||build_wrap_idb_value_transactionStoreNamesMap.get(target);if("store"===prop2)return receiver.objectStoreNames[1]?void 0:receiver.objectStore(receiver.objectStoreNames[0])}return build_wrap_idb_value_wrap(target[prop2])},set:(target,prop2,value)=>(target[prop2]=value,!0),has:(target,prop2)=>target instanceof IDBTransaction&&("done"===prop2||"store"===prop2)||prop2 in target};function build_wrap_idb_value_transformCachableValue(value){return"function"==typeof value?function build_wrap_idb_value_wrapFunction(func){return func!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?function build_wrap_idb_value_getCursorAdvanceMethods(){return build_wrap_idb_value_cursorAdvanceMethods||(build_wrap_idb_value_cursorAdvanceMethods=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}().includes(func)?function(...args){return func.apply(build_wrap_idb_value_unwrap(this),args),build_wrap_idb_value_wrap(build_wrap_idb_value_cursorRequestMap.get(this))}:function(...args){return build_wrap_idb_value_wrap(func.apply(build_wrap_idb_value_unwrap(this),args))}:function(storeNames,...args){const tx=func.call(build_wrap_idb_value_unwrap(this),storeNames,...args);return build_wrap_idb_value_transactionStoreNamesMap.set(tx,storeNames.sort?storeNames.sort():[storeNames]),build_wrap_idb_value_wrap(tx)}}(value):(value instanceof IDBTransaction&&function build_wrap_idb_value_cacheDonePromiseForTransaction(tx){if(build_wrap_idb_value_transactionDoneMap.has(tx))return;const done=new Promise((resolve,reject)=>{const unlisten=()=>{tx.removeEventListener("complete",complete),tx.removeEventListener("error",error),tx.removeEventListener("abort",error)},complete=()=>{resolve(),unlisten()},error=()=>{reject(tx.error||new DOMException("AbortError","AbortError")),unlisten()};tx.addEventListener("complete",complete),tx.addEventListener("error",error),tx.addEventListener("abort",error)});build_wrap_idb_value_transactionDoneMap.set(tx,done)}(value),build_wrap_idb_value_instanceOfAny(value,function build_wrap_idb_value_getIdbProxyableTypes(){return build_wrap_idb_value_idbProxyableTypes||(build_wrap_idb_value_idbProxyableTypes=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}())?new Proxy(value,build_wrap_idb_value_idbProxyTraps):value)}function build_wrap_idb_value_wrap(value){if(value instanceof IDBRequest)return function build_wrap_idb_value_promisifyRequest(request){const promise=new Promise((resolve,reject)=>{const unlisten=()=>{request.removeEventListener("success",success),request.removeEventListener("error",error)},success=()=>{resolve(build_wrap_idb_value_wrap(request.result)),unlisten()},error=()=>{reject(request.error),unlisten()};request.addEventListener("success",success),request.addEventListener("error",error)});return promise.then(value=>{value instanceof IDBCursor&&build_wrap_idb_value_cursorRequestMap.set(value,request)}).catch(()=>{}),build_wrap_idb_value_reverseTransformCache.set(promise,request),promise}(value);if(build_wrap_idb_value_transformCache.has(value))return build_wrap_idb_value_transformCache.get(value);const newValue=build_wrap_idb_value_transformCachableValue(value);return newValue!==value&&(build_wrap_idb_value_transformCache.set(value,newValue),build_wrap_idb_value_reverseTransformCache.set(newValue,value)),newValue}const build_wrap_idb_value_unwrap=value=>build_wrap_idb_value_reverseTransformCache.get(value);function build_openDB(name,version2,{blocked,upgrade,blocking,terminated}={}){const request=indexedDB.open(name,version2),openPromise=build_wrap_idb_value_wrap(request);return upgrade&&request.addEventListener("upgradeneeded",event=>{upgrade(build_wrap_idb_value_wrap(request.result),event.oldVersion,event.newVersion,build_wrap_idb_value_wrap(request.transaction))}),blocked&&request.addEventListener("blocked",()=>blocked()),openPromise.then(db=>{terminated&&db.addEventListener("close",()=>terminated()),blocking&&db.addEventListener("versionchange",()=>blocking())}).catch(()=>{}),openPromise}function build_deleteDB(name,{blocked}={}){const request=indexedDB.deleteDatabase(name);return blocked&&request.addEventListener("blocked",()=>blocked()),build_wrap_idb_value_wrap(request).then(()=>{})}const build_readMethods=["get","getKey","getAll","getAllKeys","count"],build_writeMethods=["put","add","delete","clear"],build_cachedMethods=new Map;function build_getMethod(target,prop2){if(!(target instanceof IDBDatabase)||prop2 in target||"string"!=typeof prop2)return;if(build_cachedMethods.get(prop2))return build_cachedMethods.get(prop2);const targetFuncName=prop2.replace(/FromIndex$/,""),useIndex=prop2!==targetFuncName,isWrite=build_writeMethods.includes(targetFuncName);if(!(targetFuncName in(useIndex?IDBIndex:IDBObjectStore).prototype)||!isWrite&&!build_readMethods.includes(targetFuncName))return;const method=function(){var _ref=asyncToGenerator_asyncToGenerator(function*(storeName,...args){const tx=this.transaction(storeName,isWrite?"readwrite":"readonly");let target2=tx.store;return useIndex&&(target2=target2.index(args.shift())),(yield Promise.all([target2[targetFuncName](...args),isWrite&&tx.done]))[0]});return function(_x){return _ref.apply(this,arguments)}}();return build_cachedMethods.set(prop2,method),method}!function build_wrap_idb_value_replaceTraps(callback){build_wrap_idb_value_idbProxyTraps=callback(build_wrap_idb_value_idbProxyTraps)}(oldTraps=>({...oldTraps,get:(target,prop2,receiver)=>build_getMethod(target,prop2)||oldTraps.get(target,prop2,receiver),has:(target,prop2)=>!!build_getMethod(target,prop2)||oldTraps.has(target,prop2)}));const DEFAULT_SW_PATH="/firebase-messaging-sw.js",DEFAULT_SW_SCOPE="/firebase-cloud-messaging-push-scope",DEFAULT_VAPID_KEY="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",ENDPOINT="https://fcmregistrations.googleapis.com/v1",CONSOLE_CAMPAIGN_ID="google.c.a.c_id",CONSOLE_CAMPAIGN_NAME="google.c.a.c_l",CONSOLE_CAMPAIGN_TIME="google.c.a.ts";var MessageType=function(MessageType2){return MessageType2.PUSH_RECEIVED="push-received",MessageType2.NOTIFICATION_CLICKED="notification-clicked",MessageType2}(MessageType||{});function arrayToBase64(array){const uint8Array=new Uint8Array(array);return btoa(String.fromCharCode(...uint8Array)).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function base64ToArray(base64String){const base642=(base64String+"=".repeat((4-base64String.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),rawData=atob(base642),outputArray=new Uint8Array(rawData.length);for(let i6=0;i6db2.name).includes(OLD_DB_NAME))return null;let tokenDetails=null;return(yield build_openDB(OLD_DB_NAME,OLD_DB_VERSION,{upgrade:(_ref=asyncToGenerator_asyncToGenerator(function*(db2,oldVersion,newVersion,upgradeTransaction){var _a;if(oldVersion<2||!db2.objectStoreNames.contains(OLD_OBJECT_STORE_NAME))return;const objectStore=upgradeTransaction.objectStore(OLD_OBJECT_STORE_NAME),value=yield objectStore.index("fcmSenderId").get(senderId);if(yield objectStore.clear(),value)if(2===oldVersion){const oldDetails=value;if(!oldDetails.auth||!oldDetails.p256dh||!oldDetails.endpoint)return;tokenDetails={token:oldDetails.fcmToken,createTime:null!==(_a=oldDetails.createTime)&&void 0!==_a?_a:Date.now(),subscriptionOptions:{auth:oldDetails.auth,p256dh:oldDetails.p256dh,endpoint:oldDetails.endpoint,swScope:oldDetails.swScope,vapidKey:"string"==typeof oldDetails.vapidKey?oldDetails.vapidKey:arrayToBase64(oldDetails.vapidKey)}}}else if(3===oldVersion){const oldDetails=value;tokenDetails={token:oldDetails.fcmToken,createTime:oldDetails.createTime,subscriptionOptions:{auth:arrayToBase64(oldDetails.auth),p256dh:arrayToBase64(oldDetails.p256dh),endpoint:oldDetails.endpoint,swScope:oldDetails.swScope,vapidKey:arrayToBase64(oldDetails.vapidKey)}}}else if(4===oldVersion){const oldDetails=value;tokenDetails={token:oldDetails.fcmToken,createTime:oldDetails.createTime,subscriptionOptions:{auth:arrayToBase64(oldDetails.auth),p256dh:arrayToBase64(oldDetails.p256dh),endpoint:oldDetails.endpoint,swScope:oldDetails.swScope,vapidKey:arrayToBase64(oldDetails.vapidKey)}}}}),function(_x36,_x37,_x38,_x39){return _ref.apply(this,arguments)})})).close(),yield build_deleteDB(OLD_DB_NAME),yield build_deleteDB("fcm_vapid_details_db"),yield build_deleteDB("undefined"),function checkTokenDetails(tokenDetails){if(!tokenDetails||!tokenDetails.subscriptionOptions)return!1;const{subscriptionOptions}=tokenDetails;return"number"==typeof tokenDetails.createTime&&tokenDetails.createTime>0&&"string"==typeof tokenDetails.token&&tokenDetails.token.length>0&&"string"==typeof subscriptionOptions.auth&&subscriptionOptions.auth.length>0&&"string"==typeof subscriptionOptions.p256dh&&subscriptionOptions.p256dh.length>0&&"string"==typeof subscriptionOptions.endpoint&&subscriptionOptions.endpoint.length>0&&"string"==typeof subscriptionOptions.swScope&&subscriptionOptions.swScope.length>0&&"string"==typeof subscriptionOptions.vapidKey&&subscriptionOptions.vapidKey.length>0}(tokenDetails)?tokenDetails:null;var _ref}),_migrateOldDatabase.apply(this,arguments)}const index_esm2017_DATABASE_NAME="firebase-messaging-database",index_esm2017_DATABASE_VERSION=1,index_esm2017_OBJECT_STORE_NAME="firebase-messaging-store";let esm_index_esm2017_dbPromise=null;function esm_index_esm2017_getDbPromise(){return esm_index_esm2017_dbPromise||(esm_index_esm2017_dbPromise=build_openDB(index_esm2017_DATABASE_NAME,index_esm2017_DATABASE_VERSION,{upgrade:(upgradeDb,oldVersion)=>{0===oldVersion&&upgradeDb.createObjectStore(index_esm2017_OBJECT_STORE_NAME)}})),esm_index_esm2017_dbPromise}function dbGet(_x2){return _dbGet.apply(this,arguments)}function _dbGet(){return _dbGet=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies){const key=index_esm2017_getKey(firebaseDependencies),tokenDetails=yield(yield esm_index_esm2017_getDbPromise()).transaction(index_esm2017_OBJECT_STORE_NAME).objectStore(index_esm2017_OBJECT_STORE_NAME).get(key);if(tokenDetails)return tokenDetails;{const oldTokenDetails=yield function migrateOldDatabase(_x){return _migrateOldDatabase.apply(this,arguments)}(firebaseDependencies.appConfig.senderId);if(oldTokenDetails)return yield dbSet(firebaseDependencies,oldTokenDetails),oldTokenDetails}}),_dbGet.apply(this,arguments)}function dbSet(_x3,_x4){return _dbSet.apply(this,arguments)}function _dbSet(){return(_dbSet=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,tokenDetails){const key=index_esm2017_getKey(firebaseDependencies),tx=(yield esm_index_esm2017_getDbPromise()).transaction(index_esm2017_OBJECT_STORE_NAME,"readwrite");return yield tx.objectStore(index_esm2017_OBJECT_STORE_NAME).put(tokenDetails,key),yield tx.done,tokenDetails})).apply(this,arguments)}function _dbRemove(){return(_dbRemove=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies){const key=index_esm2017_getKey(firebaseDependencies),tx=(yield esm_index_esm2017_getDbPromise()).transaction(index_esm2017_OBJECT_STORE_NAME,"readwrite");yield tx.objectStore(index_esm2017_OBJECT_STORE_NAME).delete(key),yield tx.done})).apply(this,arguments)}function index_esm2017_getKey({appConfig}){return appConfig.appId}const dist_esm_index_esm2017_ERROR_FACTORY=new ErrorFactory("messaging","Messaging",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"only-available-in-window":"This method is available in a Window context.","only-available-in-sw":"This method is available in a service worker context.","permission-default":"The notification permission was not granted and dismissed instead.","permission-blocked":"The notification permission was not granted and blocked instead.","unsupported-browser":"This browser doesn't support the API's required to use the Firebase SDK.","indexed-db-unsupported":"This browser doesn't support indexedDb.open() (ex. Safari iFrame, Firefox Private Browsing, etc)","failed-service-worker-registration":"We are unable to register the default service worker. {$browserErrorMessage}","token-subscribe-failed":"A problem occurred while subscribing the user to FCM: {$errorInfo}","token-subscribe-no-token":"FCM returned no token when subscribing the user to push.","token-unsubscribe-failed":"A problem occurred while unsubscribing the user from FCM: {$errorInfo}","token-update-failed":"A problem occurred while updating the user from FCM: {$errorInfo}","token-update-no-token":"FCM returned no token when updating the user to push.","use-sw-after-get-token":"The useServiceWorker() method may only be called once and must be called before calling getToken() to ensure your service worker is used.","invalid-sw-registration":"The input to useServiceWorker() must be a ServiceWorkerRegistration.","invalid-bg-handler":"The input to setBackgroundMessageHandler() must be a function.","invalid-vapid-key":"The public VAPID key must be a string.","use-vapid-key-after-get-token":"The usePublicVapidKey() method may only be called once and must be called before calling getToken() to ensure your VAPID key is used."});function requestGetToken(_x6,_x7){return _requestGetToken.apply(this,arguments)}function _requestGetToken(){return(_requestGetToken=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,subscriptionOptions){const headers=yield index_esm2017_getHeaders(firebaseDependencies),body=getBody(subscriptionOptions),subscribeOptions={method:"POST",headers,body:JSON.stringify(body)};let responseData;try{responseData=yield(yield fetch(getEndpoint(firebaseDependencies.appConfig),subscribeOptions)).json()}catch(err){throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-subscribe-failed",{errorInfo:err?.toString()})}if(responseData.error)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-subscribe-failed",{errorInfo:responseData.error.message});if(!responseData.token)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-subscribe-no-token");return responseData.token})).apply(this,arguments)}function _requestUpdateToken(){return(_requestUpdateToken=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,tokenDetails){const headers=yield index_esm2017_getHeaders(firebaseDependencies),body=getBody(tokenDetails.subscriptionOptions),updateOptions={method:"PATCH",headers,body:JSON.stringify(body)};let responseData;try{responseData=yield(yield fetch(`${getEndpoint(firebaseDependencies.appConfig)}/${tokenDetails.token}`,updateOptions)).json()}catch(err){throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-update-failed",{errorInfo:err?.toString()})}if(responseData.error)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-update-failed",{errorInfo:responseData.error.message});if(!responseData.token)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-update-no-token");return responseData.token})).apply(this,arguments)}function requestDeleteToken(_x10,_x11){return _requestDeleteToken.apply(this,arguments)}function _requestDeleteToken(){return(_requestDeleteToken=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,token){const unsubscribeOptions={method:"DELETE",headers:yield index_esm2017_getHeaders(firebaseDependencies)};try{const responseData=yield(yield fetch(`${getEndpoint(firebaseDependencies.appConfig)}/${token}`,unsubscribeOptions)).json();if(responseData.error)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-unsubscribe-failed",{errorInfo:responseData.error.message})}catch(err){throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-unsubscribe-failed",{errorInfo:err?.toString()})}})).apply(this,arguments)}function getEndpoint({projectId}){return`${ENDPOINT}/projects/${projectId}/registrations`}function index_esm2017_getHeaders(_x12){return _getHeaders.apply(this,arguments)}function _getHeaders(){return(_getHeaders=asyncToGenerator_asyncToGenerator(function*({appConfig,installations}){const authToken=yield installations.getToken();return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":appConfig.apiKey,"x-goog-firebase-installations-auth":`FIS ${authToken}`})})).apply(this,arguments)}function getBody({p256dh,auth,endpoint,vapidKey}){const body={web:{endpoint,auth,p256dh}};return vapidKey!==DEFAULT_VAPID_KEY&&(body.web.applicationPubKey=vapidKey),body}const TOKEN_EXPIRATION_MS=6048e5;function _getTokenInternal(){return _getTokenInternal=asyncToGenerator_asyncToGenerator(function*(messaging){const pushSubscription=yield function getPushSubscription(_x19,_x20){return _getPushSubscription.apply(this,arguments)}(messaging.swRegistration,messaging.vapidKey),subscriptionOptions={vapidKey:messaging.vapidKey,swScope:messaging.swRegistration.scope,endpoint:pushSubscription.endpoint,auth:arrayToBase64(pushSubscription.getKey("auth")),p256dh:arrayToBase64(pushSubscription.getKey("p256dh"))},tokenDetails=yield dbGet(messaging.firebaseDependencies);if(tokenDetails){if(function isTokenValid(dbOptions,currentOptions){return currentOptions.vapidKey===dbOptions.vapidKey&¤tOptions.endpoint===dbOptions.endpoint&¤tOptions.auth===dbOptions.auth&¤tOptions.p256dh===dbOptions.p256dh}(tokenDetails.subscriptionOptions,subscriptionOptions))return Date.now()>=tokenDetails.createTime+TOKEN_EXPIRATION_MS?function updateToken(_x15,_x16){return _updateToken.apply(this,arguments)}(messaging,{token:tokenDetails.token,createTime:Date.now(),subscriptionOptions}):tokenDetails.token;try{yield requestDeleteToken(messaging.firebaseDependencies,tokenDetails.token)}catch(e2){console.warn(e2)}return getNewToken(messaging.firebaseDependencies,subscriptionOptions)}return getNewToken(messaging.firebaseDependencies,subscriptionOptions)}),_getTokenInternal.apply(this,arguments)}function _deleteTokenInternal(){return _deleteTokenInternal=asyncToGenerator_asyncToGenerator(function*(messaging){const tokenDetails=yield dbGet(messaging.firebaseDependencies);tokenDetails&&(yield requestDeleteToken(messaging.firebaseDependencies,tokenDetails.token),yield function dbRemove(_x5){return _dbRemove.apply(this,arguments)}(messaging.firebaseDependencies));const pushSubscription=yield messaging.swRegistration.pushManager.getSubscription();return!pushSubscription||pushSubscription.unsubscribe()}),_deleteTokenInternal.apply(this,arguments)}function _updateToken(){return _updateToken=asyncToGenerator_asyncToGenerator(function*(messaging,tokenDetails){try{const updatedToken=yield function requestUpdateToken(_x8,_x9){return _requestUpdateToken.apply(this,arguments)}(messaging.firebaseDependencies,tokenDetails),updatedTokenDetails=Object.assign(Object.assign({},tokenDetails),{token:updatedToken,createTime:Date.now()});return yield dbSet(messaging.firebaseDependencies,updatedTokenDetails),updatedToken}catch(e2){throw yield function deleteTokenInternal(_x14){return _deleteTokenInternal.apply(this,arguments)}(messaging),e2}}),_updateToken.apply(this,arguments)}function getNewToken(_x17,_x18){return _getNewToken.apply(this,arguments)}function _getNewToken(){return(_getNewToken=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,subscriptionOptions){const tokenDetails={token:yield requestGetToken(firebaseDependencies,subscriptionOptions),createTime:Date.now(),subscriptionOptions};return yield dbSet(firebaseDependencies,tokenDetails),tokenDetails.token})).apply(this,arguments)}function _getPushSubscription(){return(_getPushSubscription=asyncToGenerator_asyncToGenerator(function*(swRegistration,vapidKey){return(yield swRegistration.pushManager.getSubscription())||swRegistration.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:base64ToArray(vapidKey)})})).apply(this,arguments)}function externalizePayload(internalPayload){const payload={from:internalPayload.from,collapseKey:internalPayload.collapse_key,messageId:internalPayload.fcmMessageId};return function propagateNotificationPayload(payload,messagePayloadInternal){if(!messagePayloadInternal.notification)return;payload.notification={};const title=messagePayloadInternal.notification.title;title&&(payload.notification.title=title);const body=messagePayloadInternal.notification.body;body&&(payload.notification.body=body);const image=messagePayloadInternal.notification.image;image&&(payload.notification.image=image);const icon=messagePayloadInternal.notification.icon;icon&&(payload.notification.icon=icon)}(payload,internalPayload),function propagateDataPayload(payload,messagePayloadInternal){messagePayloadInternal.data&&(payload.data=messagePayloadInternal.data)}(payload,internalPayload),function propagateFcmOptions(payload,messagePayloadInternal){var _a,_b,_c,_d,_e;if(!(messagePayloadInternal.fcmOptions||null!==(_a=messagePayloadInternal.notification)&&void 0!==_a&&_a.click_action))return;payload.fcmOptions={};const link=null!==(_c=null===(_b=messagePayloadInternal.fcmOptions)||void 0===_b?void 0:_b.link)&&void 0!==_c?_c:null===(_d=messagePayloadInternal.notification)||void 0===_d?void 0:_d.click_action;link&&(payload.fcmOptions.link=link);const analyticsLabel=null===(_e=messagePayloadInternal.fcmOptions)||void 0===_e?void 0:_e.analytics_label;analyticsLabel&&(payload.fcmOptions.analyticsLabel=analyticsLabel)}(payload,internalPayload),payload}function _mergeStrings(s1,s2){const resultArray=[];for(let i6=0;i6{})}catch(e2){throw dist_esm_index_esm2017_ERROR_FACTORY.create("failed-service-worker-registration",{browserErrorMessage:e2?.message})}})).apply(this,arguments)}function _updateSwReg(){return(_updateSwReg=asyncToGenerator_asyncToGenerator(function*(messaging,swRegistration){if(!swRegistration&&!messaging.swRegistration&&(yield function registerDefaultSw(_x21){return _registerDefaultSw.apply(this,arguments)}(messaging)),swRegistration||!messaging.swRegistration){if(!(swRegistration instanceof ServiceWorkerRegistration))throw dist_esm_index_esm2017_ERROR_FACTORY.create("invalid-sw-registration");messaging.swRegistration=swRegistration}})).apply(this,arguments)}function _updateVapidKey(){return(_updateVapidKey=asyncToGenerator_asyncToGenerator(function*(messaging,vapidKey){vapidKey?messaging.vapidKey=vapidKey:messaging.vapidKey||(messaging.vapidKey=DEFAULT_VAPID_KEY)})).apply(this,arguments)}function _getToken$(){return _getToken$=asyncToGenerator_asyncToGenerator(function*(messaging,options){if(!navigator)throw dist_esm_index_esm2017_ERROR_FACTORY.create("only-available-in-window");if("default"===Notification.permission&&(yield Notification.requestPermission()),"granted"!==Notification.permission)throw dist_esm_index_esm2017_ERROR_FACTORY.create("permission-blocked");return yield function updateVapidKey(_x24,_x25){return _updateVapidKey.apply(this,arguments)}(messaging,options?.vapidKey),yield function updateSwReg(_x22,_x23){return _updateSwReg.apply(this,arguments)}(messaging,options?.serviceWorkerRegistration),function getTokenInternal(_x13){return _getTokenInternal.apply(this,arguments)}(messaging)}),_getToken$.apply(this,arguments)}function _logToScion(){return(_logToScion=asyncToGenerator_asyncToGenerator(function*(messaging,messageType,data){const eventType=function getEventType(messageType){switch(messageType){case MessageType.NOTIFICATION_CLICKED:return"notification_open";case MessageType.PUSH_RECEIVED:return"notification_foreground";default:throw new Error}}(messageType);(yield messaging.firebaseDependencies.analyticsProvider.get()).logEvent(eventType,{message_id:data[CONSOLE_CAMPAIGN_ID],message_name:data[CONSOLE_CAMPAIGN_NAME],message_time:data[CONSOLE_CAMPAIGN_TIME],message_device_time:Math.floor(Date.now()/1e3)})})).apply(this,arguments)}function _messageEventListener(){return _messageEventListener=asyncToGenerator_asyncToGenerator(function*(messaging,event){const internalPayload=event.data;if(!internalPayload.isFirebaseMessaging)return;messaging.onMessageHandler&&internalPayload.messageType===MessageType.PUSH_RECEIVED&&("function"==typeof messaging.onMessageHandler?messaging.onMessageHandler(externalizePayload(internalPayload)):messaging.onMessageHandler.next(externalizePayload(internalPayload)));const dataPayload=internalPayload.data;(function isConsoleMessage(data){return"object"==typeof data&&!!data&&CONSOLE_CAMPAIGN_ID in data})(dataPayload)&&"1"===dataPayload["google.c.a.e"]&&(yield function logToScion(_x28,_x29,_x30){return _logToScion.apply(this,arguments)}(messaging,internalPayload.messageType,dataPayload))}),_messageEventListener.apply(this,arguments)}const WindowMessagingFactory=container=>{const messaging=new MessagingService(container.getProvider("app").getImmediate(),container.getProvider("installations-internal").getImmediate(),container.getProvider("analytics-internal"));return navigator.serviceWorker.addEventListener("message",e2=>function messageEventListener(_x31,_x32){return _messageEventListener.apply(this,arguments)}(messaging,e2)),messaging},WindowMessagingInternalFactory=container=>{const messaging=container.getProvider("messaging").getImmediate();return{getToken:options=>function index_esm2017_getToken$1(_x26,_x27){return _getToken$.apply(this,arguments)}(messaging,options)}};function isWindowSupported(){return _isWindowSupported.apply(this,arguments)}function _isWindowSupported(){return(_isWindowSupported=asyncToGenerator_asyncToGenerator(function*(){try{yield validateIndexedDBOpenable()}catch{return!1}return typeof window<"u"&&index_esm2017_isIndexedDBAvailable()&&areCookiesEnabled()&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window&&"fetch"in window&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")})).apply(this,arguments)}!function registerMessagingInWindow(){_registerComponent(new index_esm2017_Component("messaging",WindowMessagingFactory,"PUBLIC")),_registerComponent(new index_esm2017_Component("messaging-internal",WindowMessagingInternalFactory,"PRIVATE")),index_esm2017_registerVersion("@firebase/messaging","0.12.4"),index_esm2017_registerVersion("@firebase/messaging","0.12.4","esm2017")}();const GA_FID_KEY="firebase_id",ORIGIN_KEY="origin",FETCH_TIMEOUT_MILLIS=6e4,DYNAMIC_CONFIG_URL="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig",GTAG_URL="https://www.googletagmanager.com/gtag/js",esm_index_esm2017_logger=new Logger("@firebase/analytics"),analytics_dist_esm_index_esm2017_ERROR_FACTORY=new ErrorFactory("analytics","Analytics",{"already-exists":"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.","already-initialized":"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-intialized instance.","already-initialized-settings":"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.","interop-component-reg-failed":"Firebase Analytics Interop Component failed to instantiate: {$reason}","invalid-analytics-context":"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","indexeddb-unavailable":"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","fetch-throttle":"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.","config-fetch-failed":"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}","no-api-key":'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',"no-app-id":'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.',"no-client-id":'The "client_id" field is empty.',"invalid-gtag-resource":"Trusted Types detected an invalid gtag resource: {$gtagURL}."});function createGtagTrustedTypesScriptURL(url){if(!url.startsWith(GTAG_URL)){const err=analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("invalid-gtag-resource",{gtagURL:url});return esm_index_esm2017_logger.warn(err.message),""}return url}function promiseAllSettled(promises){return Promise.all(promises.map(promise=>promise.catch(e2=>e2)))}function _gtagOnConfig(){return(_gtagOnConfig=asyncToGenerator_asyncToGenerator(function*(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2,measurementId,gtagParams){const correspondingAppId=measurementIdToAppId2[measurementId];try{if(correspondingAppId)yield initializationPromisesMap2[correspondingAppId];else{const foundConfig=(yield promiseAllSettled(dynamicConfigPromisesList2)).find(config2=>config2.measurementId===measurementId);foundConfig&&(yield initializationPromisesMap2[foundConfig.appId])}}catch(e2){esm_index_esm2017_logger.error(e2)}gtagCore("config",measurementId,gtagParams)})).apply(this,arguments)}function _gtagOnEvent(){return(_gtagOnEvent=asyncToGenerator_asyncToGenerator(function*(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementId,gtagParams){try{let initializationPromisesToWaitFor=[];if(gtagParams&>agParams.send_to){let gaSendToList=gtagParams.send_to;Array.isArray(gaSendToList)||(gaSendToList=[gaSendToList]);const dynamicConfigResults=yield promiseAllSettled(dynamicConfigPromisesList2);for(const sendToId of gaSendToList){const foundConfig=dynamicConfigResults.find(config2=>config2.measurementId===sendToId),initializationPromise=foundConfig&&initializationPromisesMap2[foundConfig.appId];if(!initializationPromise){initializationPromisesToWaitFor=[];break}initializationPromisesToWaitFor.push(initializationPromise)}}0===initializationPromisesToWaitFor.length&&(initializationPromisesToWaitFor=Object.values(initializationPromisesMap2)),yield Promise.all(initializationPromisesToWaitFor),gtagCore("event",measurementId,gtagParams||{})}catch(e2){esm_index_esm2017_logger.error(e2)}})).apply(this,arguments)}const LONG_RETRY_FACTOR=30,defaultRetryData=new class RetryData{constructor(throttleMetadata={},intervalMillis=1e3){this.throttleMetadata=throttleMetadata,this.intervalMillis=intervalMillis}getThrottleMetadata(appId){return this.throttleMetadata[appId]}setThrottleMetadata(appId,metadata){this.throttleMetadata[appId]=metadata}deleteThrottleMetadata(appId){delete this.throttleMetadata[appId]}};function esm_index_esm2017_getHeaders(apiKey){return new Headers({Accept:"application/json","x-goog-api-key":apiKey})}function _fetchDynamicConfig(){return(_fetchDynamicConfig=asyncToGenerator_asyncToGenerator(function*(appFields){var _a;const{appId,apiKey}=appFields,request={method:"GET",headers:esm_index_esm2017_getHeaders(apiKey)},appUrl=DYNAMIC_CONFIG_URL.replace("{app-id}",appId),response=yield fetch(appUrl,request);if(200!==response.status&&304!==response.status){let errorMessage="";try{const jsonResponse=yield response.json();null!==(_a=jsonResponse.error)&&void 0!==_a&&_a.message&&(errorMessage=jsonResponse.error.message)}catch{}throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("config-fetch-failed",{httpStatus:response.status,responseMessage:errorMessage})}return response.json()})).apply(this,arguments)}function _fetchDynamicConfigWithRetry(){return(_fetchDynamicConfigWithRetry=asyncToGenerator_asyncToGenerator(function*(app,retryData=defaultRetryData,timeoutMillis){const{appId,apiKey,measurementId}=app.options;if(!appId)throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("no-app-id");if(!apiKey){if(measurementId)return{measurementId,appId};throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("no-api-key")}const throttleMetadata=retryData.getThrottleMetadata(appId)||{backoffCount:0,throttleEndTimeMillis:Date.now()},signal2=new AnalyticsAbortSignal;return setTimeout(asyncToGenerator_asyncToGenerator(function*(){signal2.abort()}),void 0!==timeoutMillis?timeoutMillis:FETCH_TIMEOUT_MILLIS),attemptFetchDynamicConfigWithRetry({appId,apiKey,measurementId},throttleMetadata,signal2,retryData)})).apply(this,arguments)}function attemptFetchDynamicConfigWithRetry(_x15,_x16,_x17){return _attemptFetchDynamicConfigWithRetry.apply(this,arguments)}function _attemptFetchDynamicConfigWithRetry(){return _attemptFetchDynamicConfigWithRetry=asyncToGenerator_asyncToGenerator(function*(appFields,{throttleEndTimeMillis,backoffCount},signal2,retryData=defaultRetryData){var _a;const{appId,measurementId}=appFields;try{yield function index_esm2017_setAbortableTimeout(signal2,throttleEndTimeMillis){return new Promise((resolve,reject)=>{const backoffMillis=Math.max(throttleEndTimeMillis-Date.now(),0),timeout=setTimeout(resolve,backoffMillis);signal2.addEventListener(()=>{clearTimeout(timeout),reject(analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-throttle",{throttleEndTimeMillis}))})})}(signal2,throttleEndTimeMillis)}catch(e2){if(measurementId)return esm_index_esm2017_logger.warn(`Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID ${measurementId} provided in the "measurementId" field in the local Firebase config. [${e2?.message}]`),{appId,measurementId};throw e2}try{const response=yield function fetchDynamicConfig(_x13){return _fetchDynamicConfig.apply(this,arguments)}(appFields);return retryData.deleteThrottleMetadata(appId),response}catch(e2){const error=e2;if(!function index_esm2017_isRetriableError(e2){if(!(e2 instanceof index_esm2017_FirebaseError&&e2.customData))return!1;const httpStatus=Number(e2.customData.httpStatus);return 429===httpStatus||500===httpStatus||503===httpStatus||504===httpStatus}(error)){if(retryData.deleteThrottleMetadata(appId),measurementId)return esm_index_esm2017_logger.warn(`Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID ${measurementId} provided in the "measurementId" field in the local Firebase config. [${error?.message}]`),{appId,measurementId};throw e2}const backoffMillis=503===Number(null===(_a=error?.customData)||void 0===_a?void 0:_a.httpStatus)?index_esm2017_calculateBackoffMillis(backoffCount,retryData.intervalMillis,LONG_RETRY_FACTOR):index_esm2017_calculateBackoffMillis(backoffCount,retryData.intervalMillis),throttleMetadata={throttleEndTimeMillis:Date.now()+backoffMillis,backoffCount:backoffCount+1};return retryData.setThrottleMetadata(appId,throttleMetadata),esm_index_esm2017_logger.debug(`Calling attemptFetch again in ${backoffMillis} millis`),attemptFetchDynamicConfigWithRetry(appFields,throttleMetadata,signal2,retryData)}}),_attemptFetchDynamicConfigWithRetry.apply(this,arguments)}class AnalyticsAbortSignal{constructor(){this.listeners=[]}addEventListener(listener){this.listeners.push(listener)}abort(){this.listeners.forEach(listener=>listener())}}let defaultEventParametersForInit,defaultConsentSettingsForInit;function _logEvent$(){return(_logEvent$=asyncToGenerator_asyncToGenerator(function*(gtagFunction,initializationPromise,eventName,eventParams,options){if(options&&options.global)gtagFunction("event",eventName,eventParams);else{const measurementId=yield initializationPromise;gtagFunction("event",eventName,Object.assign(Object.assign({},eventParams),{send_to:measurementId}))}})).apply(this,arguments)}function _validateIndexedDB(){return(_validateIndexedDB=asyncToGenerator_asyncToGenerator(function*(){if(!index_esm2017_isIndexedDBAvailable())return esm_index_esm2017_logger.warn(analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;try{yield validateIndexedDBOpenable()}catch(e2){return esm_index_esm2017_logger.warn(analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("indexeddb-unavailable",{errorInfo:e2?.toString()}).message),!1}return!0})).apply(this,arguments)}function _initializeAnalytics2(){return _initializeAnalytics2=asyncToGenerator_asyncToGenerator(function*(app,dynamicConfigPromisesList2,measurementIdToAppId2,installations,gtagCore,dataLayerName2,options){var _a;const dynamicConfigPromise=function fetchDynamicConfigWithRetry(_x14){return _fetchDynamicConfigWithRetry.apply(this,arguments)}(app);dynamicConfigPromise.then(config2=>{measurementIdToAppId2[config2.measurementId]=config2.appId,app.options.measurementId&&config2.measurementId!==app.options.measurementId&&esm_index_esm2017_logger.warn(`The measurement ID in the local Firebase config (${app.options.measurementId}) does not match the measurement ID fetched from the server (${config2.measurementId}). To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.`)}).catch(e2=>esm_index_esm2017_logger.error(e2)),dynamicConfigPromisesList2.push(dynamicConfigPromise);const fidPromise=function validateIndexedDB(){return _validateIndexedDB.apply(this,arguments)}().then(envIsValid=>{if(envIsValid)return installations.getId()}),[dynamicConfig,fid]=yield Promise.all([dynamicConfigPromise,fidPromise]);(function findGtagScriptOnPage(dataLayerName2){const scriptTags=window.document.getElementsByTagName("script");for(const tag of Object.values(scriptTags))if(tag.src&&tag.src.includes(GTAG_URL)&&tag.src.includes(dataLayerName2))return tag;return null})(dataLayerName2)||function insertScriptTag(dataLayerName2,measurementId){const trustedTypesPolicy=function createTrustedTypesPolicy(policyName,policyOptions){let trustedTypesPolicy;return window.trustedTypes&&(trustedTypesPolicy=window.trustedTypes.createPolicy(policyName,policyOptions)),trustedTypesPolicy}("firebase-js-sdk-policy",{createScriptURL:createGtagTrustedTypesScriptURL}),script=document.createElement("script"),gtagScriptURL=`${GTAG_URL}?l=${dataLayerName2}&id=${measurementId}`;script.src=trustedTypesPolicy?trustedTypesPolicy?.createScriptURL(gtagScriptURL):gtagScriptURL,script.async=!0,document.head.appendChild(script)}(dataLayerName2,dynamicConfig.measurementId),defaultConsentSettingsForInit&&(gtagCore("consent","default",defaultConsentSettingsForInit),function _setConsentDefaultForInit(consentSettings){defaultConsentSettingsForInit=consentSettings}(void 0)),gtagCore("js",new Date);const configProperties=null!==(_a=options?.config)&&void 0!==_a?_a:{};return configProperties[ORIGIN_KEY]="firebase",configProperties.update=!0,null!=fid&&(configProperties[GA_FID_KEY]=fid),gtagCore("config",dynamicConfig.measurementId,configProperties),defaultEventParametersForInit&&(gtagCore("set",defaultEventParametersForInit),function _setDefaultEventParametersForInit(customParams){defaultEventParametersForInit=customParams}(void 0)),dynamicConfig.measurementId}),_initializeAnalytics2.apply(this,arguments)}class AnalyticsService{constructor(app){this.app=app}_delete(){return delete initializationPromisesMap[this.app.options.appId],Promise.resolve()}}let initializationPromisesMap={},dynamicConfigPromisesList=[];const measurementIdToAppId={};let gtagCoreFunction,wrappedGtagFunction,globalInitDone=!1;function factory(app,installations,options){!function warnOnBrowserContextMismatch(){const mismatchedEnvMessages=[];if(isBrowserExtension()&&mismatchedEnvMessages.push("This is a browser extension environment."),areCookiesEnabled()||mismatchedEnvMessages.push("Cookies are not available."),mismatchedEnvMessages.length>0){const details=mismatchedEnvMessages.map((message,index)=>`(${index+1}) ${message}`).join(" "),err=analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("invalid-analytics-context",{errorInfo:details});esm_index_esm2017_logger.warn(err.message)}}();const appId=app.options.appId;if(!appId)throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("no-app-id");if(!app.options.apiKey){if(!app.options.measurementId)throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("no-api-key");esm_index_esm2017_logger.warn(`The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID ${app.options.measurementId} provided in the "measurementId" field in the local Firebase config.`)}if(null!=initializationPromisesMap[appId])throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("already-exists",{id:appId});if(!globalInitDone){!function getOrCreateDataLayer(dataLayerName2){let dataLayer=[];Array.isArray(window[dataLayerName2])?dataLayer=window[dataLayerName2]:window[dataLayerName2]=dataLayer}("dataLayer");const{wrappedGtag,gtagCore}=function wrapOrCreateGtag(initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2,dataLayerName2,gtagFunctionName){let gtagCore=function(..._args){window[dataLayerName2].push(arguments)};return window[gtagFunctionName]&&"function"==typeof window[gtagFunctionName]&&(gtagCore=window[gtagFunctionName]),window[gtagFunctionName]=function wrapGtag(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2){function _gtagWrapper(){return _gtagWrapper=asyncToGenerator_asyncToGenerator(function*(command,...args){try{if("event"===command){const[measurementId,gtagParams]=args;yield function gtagOnEvent(_x7,_x8,_x9,_x10,_x11){return _gtagOnEvent.apply(this,arguments)}(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementId,gtagParams)}else if("config"===command){const[measurementId,gtagParams]=args;yield function gtagOnConfig(_x,_x2,_x3,_x4,_x5,_x6){return _gtagOnConfig.apply(this,arguments)}(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2,measurementId,gtagParams)}else if("consent"===command){const[gtagParams]=args;gtagCore("consent","update",gtagParams)}else if("get"===command){const[measurementId,fieldName,callback]=args;gtagCore("get",measurementId,fieldName,callback)}else if("set"===command){const[customParams]=args;gtagCore("set",customParams)}else gtagCore(command,...args)}catch(e2){esm_index_esm2017_logger.error(e2)}}),_gtagWrapper.apply(this,arguments)}return function gtagWrapper(_x12){return _gtagWrapper.apply(this,arguments)}}(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2),{gtagCore,wrappedGtag:window[gtagFunctionName]}}(initializationPromisesMap,dynamicConfigPromisesList,measurementIdToAppId,"dataLayer","gtag");wrappedGtagFunction=wrappedGtag,gtagCoreFunction=gtagCore,globalInitDone=!0}return initializationPromisesMap[appId]=function _initializeAnalytics(_x39,_x40,_x41,_x42,_x43,_x44,_x45){return _initializeAnalytics2.apply(this,arguments)}(app,dynamicConfigPromisesList,measurementIdToAppId,installations,gtagCoreFunction,"dataLayer",options),new AnalyticsService(app)}function index_esm2017_isSupported(){return esm_index_esm2017_isSupported.apply(this,arguments)}function esm_index_esm2017_isSupported(){return(esm_index_esm2017_isSupported=asyncToGenerator_asyncToGenerator(function*(){if(isBrowserExtension()||!areCookiesEnabled()||!index_esm2017_isIndexedDBAvailable())return!1;try{return yield validateIndexedDBOpenable()}catch{return!1}})).apply(this,arguments)}!function registerAnalytics(){_registerComponent(new index_esm2017_Component("analytics",(container,{options:analyticsOptions})=>factory(container.getProvider("app").getImmediate(),container.getProvider("installations-internal").getImmediate(),analyticsOptions),"PUBLIC")),_registerComponent(new index_esm2017_Component("analytics-internal",function internalFactory2(container){try{const analytics=container.getProvider("analytics").getImmediate();return{logEvent:(eventName,eventParams,options)=>function logEvent(analyticsInstance,eventName,eventParams,options){analyticsInstance=index_esm2017_getModularInstance(analyticsInstance),function logEvent$1(_x18,_x19,_x20,_x21,_x22){return _logEvent$.apply(this,arguments)}(wrappedGtagFunction,initializationPromisesMap[analyticsInstance.app.options.appId],eventName,eventParams,options).catch(e2=>esm_index_esm2017_logger.error(e2))}(analytics,eventName,eventParams,options)}}catch(e2){throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("interop-component-reg-failed",{reason:e2})}},"PRIVATE")),index_esm2017_registerVersion("@firebase/analytics","0.10.0"),index_esm2017_registerVersion("@firebase/analytics","0.10.0","esm2017")}();class Action extends Subscription_Subscription{constructor(scheduler,work){super()}schedule(state2,delay=0){return this}}const intervalProvider={setInterval(handler,timeout,...args){const{delegate}=intervalProvider;return delegate?.setInterval?delegate.setInterval(handler,timeout,...args):setInterval(handler,timeout,...args)},clearInterval(handle){const{delegate}=intervalProvider;return(delegate?.clearInterval||clearInterval)(handle)},delegate:void 0};class AsyncAction extends Action{constructor(scheduler,work){super(scheduler,work),this.scheduler=scheduler,this.work=work,this.pending=!1}schedule(state2,delay=0){var _a;if(this.closed)return this;this.state=state2;const id=this.id,scheduler=this.scheduler;return null!=id&&(this.id=this.recycleAsyncId(scheduler,id,delay)),this.pending=!0,this.delay=delay,this.id=null!==(_a=this.id)&&void 0!==_a?_a:this.requestAsyncId(scheduler,this.id,delay),this}requestAsyncId(scheduler,_id2,delay=0){return intervalProvider.setInterval(scheduler.flush.bind(scheduler,this),delay)}recycleAsyncId(_scheduler,id,delay=0){if(null!=delay&&this.delay===delay&&!1===this.pending)return id;null!=id&&intervalProvider.clearInterval(id)}execute(state2,delay){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const error=this._execute(state2,delay);if(error)return error;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(state2,_delay){let errorValue,errored=!1;try{this.work(state2)}catch(e2){errored=!0,errorValue=e2||new Error("Scheduled action threw falsy error")}if(errored)return this.unsubscribe(),errorValue}unsubscribe(){if(!this.closed){const{id,scheduler}=this,{actions}=scheduler;this.work=this.state=this.scheduler=null,this.pending=!1,arrRemove(actions,this),null!=id&&(this.id=this.recycleAsyncId(scheduler,id,null)),this.delay=null,super.unsubscribe()}}}const dateTimestampProvider={now:()=>(dateTimestampProvider.delegate||Date).now(),delegate:void 0};class Scheduler{constructor(schedulerActionCtor,now=Scheduler.now){this.schedulerActionCtor=schedulerActionCtor,this.now=now}schedule(work,delay=0,state2){return new this.schedulerActionCtor(this,work).schedule(state2,delay)}}Scheduler.now=dateTimestampProvider.now;class AsyncScheduler extends Scheduler{constructor(SchedulerAction,now=Scheduler.now){super(SchedulerAction,now),this.actions=[],this._active=!1}flush(action){const{actions}=this;if(this._active)return void actions.push(action);let error;this._active=!0;do{if(error=action.execute(action.state,action.delay))break}while(action=actions.shift());if(this._active=!1,error){for(;action=actions.shift();)action.unsubscribe();throw error}}}const queueScheduler=new class QueueScheduler extends AsyncScheduler{}(class QueueAction extends AsyncAction{constructor(scheduler,work){super(scheduler,work),this.scheduler=scheduler,this.work=work}schedule(state2,delay=0){return delay>0?super.schedule(state2,delay):(this.delay=delay,this.state=state2,this.scheduler.flush(this),this)}execute(state2,delay){return delay>0||this.closed?super.execute(state2,delay):this._execute(state2,delay)}requestAsyncId(scheduler,id,delay=0){return null!=delay&&delay>0||null==delay&&this.delay>0?super.requestAsyncId(scheduler,id,delay):(scheduler.flush(this),0)}}),asyncScheduler=new AsyncScheduler(AsyncAction),async_async=asyncScheduler;function tap_tap(observerOrNext,error,complete){const tapObserver=isFunction(observerOrNext)||error||complete?{next:observerOrNext,error,complete}:observerOrNext;return tapObserver?operate((source,subscriber)=>{var _a;null===(_a=tapObserver.subscribe)||void 0===_a||_a.call(tapObserver);let isUnsub=!0;source.subscribe(createOperatorSubscriber(subscriber,value=>{var _a2;null===(_a2=tapObserver.next)||void 0===_a2||_a2.call(tapObserver,value),subscriber.next(value)},()=>{var _a2;isUnsub=!1,null===(_a2=tapObserver.complete)||void 0===_a2||_a2.call(tapObserver),subscriber.complete()},err=>{var _a2;isUnsub=!1,null===(_a2=tapObserver.error)||void 0===_a2||_a2.call(tapObserver,err),subscriber.error(err)},()=>{var _a2,_b;isUnsub&&(null===(_a2=tapObserver.unsubscribe)||void 0===_a2||_a2.call(tapObserver)),null===(_b=tapObserver.finalize)||void 0===_b||_b.call(tapObserver)}))}):identity}const angular_fire_VERSION=new Version("7.6.1");globalThis.__angularfire_symbol__analyticsIsSupported||(globalThis.__angularfire_symbol__analyticsIsSupported=index_esm2017_isSupported().then(it=>globalThis.__angularfire_symbol__analyticsIsSupportedValue=it).catch(()=>globalThis.__angularfire_symbol__analyticsIsSupportedValue=!1)),globalThis.__angularfire_symbol__messagingIsSupported||(globalThis.__angularfire_symbol__messagingIsSupported=isWindowSupported().then(it=>globalThis.__angularfire_symbol__messagingIsSupportedValue=it).catch(()=>globalThis.__angularfire_symbol__messagingIsSupportedValue=!1)),globalThis.__angularfire_symbol__remoteConfigIsSupported||(globalThis.__angularfire_symbol__remoteConfigIsSupported=isSupported().then(it=>globalThis.__angularfire_symbol__remoteConfigIsSupportedValue=it).catch(()=>globalThis.__angularfire_symbol__remoteConfigIsSupportedValue=!1));const angular_fire_getAllInstancesOf=(identifier,app)=>{const apps=app?[app]:getApps(),instances2=[];return apps.forEach(app2=>{app2.container.getProvider(identifier).instances.forEach(instance=>{instances2.includes(instance)||instances2.push(instance)})}),instances2};function angular_fire_noop(){}class \u0275ZoneScheduler{constructor(zone,delegate=queueScheduler){this.zone=zone,this.delegate=delegate}now(){return this.delegate.now()}schedule(work,delay,state2){const targetZone=this.zone;return this.delegate.schedule(function(state3){targetZone.runGuarded(()=>{work.apply(this,[state3])})},delay,state2)}}class BlockUntilFirstOperator{constructor(zone){this.zone=zone,this.task=null}call(subscriber,source){const unscheduleTask=this.unscheduleTask.bind(this);return this.task=this.zone.run(()=>Zone.current.scheduleMacroTask("firebaseZoneBlock",angular_fire_noop,{},angular_fire_noop,angular_fire_noop)),source.pipe(tap_tap({next:unscheduleTask,complete:unscheduleTask,error:unscheduleTask})).subscribe(subscriber).add(unscheduleTask)}unscheduleTask(){setTimeout(()=>{null!=this.task&&"scheduled"===this.task.state&&(this.task.invoke(),this.task=null)},10)}}let angular_fire_AngularFireSchedulers=(()=>{class \u0275AngularFireSchedulers2{constructor(ngZone){this.ngZone=ngZone,this.outsideAngular=ngZone.runOutsideAngular(()=>new \u0275ZoneScheduler(Zone.current)),this.insideAngular=ngZone.run(()=>new \u0275ZoneScheduler(Zone.current,asyncScheduler)),globalThis.\u0275AngularFireScheduler||(globalThis.\u0275AngularFireScheduler=this)}}return \u0275AngularFireSchedulers2.\u0275fac=function(t){return new(t||\u0275AngularFireSchedulers2)(core_inject(core_NgZone))},\u0275AngularFireSchedulers2.\u0275prov=core_defineInjectable({token:\u0275AngularFireSchedulers2,factory:\u0275AngularFireSchedulers2.\u0275fac,providedIn:"root"}),\u0275AngularFireSchedulers2})();function getSchedulers(){const schedulers=globalThis.\u0275AngularFireScheduler;if(!schedulers)throw new Error("Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using\nprovideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).");return schedulers}function run(fn){return getSchedulers().ngZone.run(()=>fn())}function keepUnstableUntilFirst(obs$){return getSchedulers(),function \u0275keepUnstableUntilFirstFactory(schedulers){return function(obs$){return(obs$=obs$.lift(new BlockUntilFirstOperator(schedulers.ngZone))).pipe(subscribeOn(schedulers.outsideAngular),observeOn_observeOn(schedulers.insideAngular))}}(getSchedulers())(obs$)}const zoneWrapFn=(it,macrotask)=>function(){const _arguments=arguments;return macrotask&&setTimeout(()=>{"scheduled"===macrotask.state&¯otask.invoke()},10),run(()=>it.apply(void 0,_arguments))},angular_fire_zoneWrap=(it,blockUntilFirst)=>function(){let macrotask;const _arguments=arguments;for(let i6=0;i6Zone.current.scheduleMacroTask("firebaseZoneBlock",angular_fire_noop,{},angular_fire_noop,angular_fire_noop)))),_arguments[i6]=zoneWrapFn(_arguments[i6],macrotask));const ret=function angular_fire_runOutsideAngular(fn){return getSchedulers().ngZone.runOutsideAngular(()=>fn())}(()=>it.apply(this,_arguments));if(!blockUntilFirst){if(ret instanceof Observable_Observable){const schedulers=getSchedulers();return ret.pipe(subscribeOn(schedulers.outsideAngular),observeOn_observeOn(schedulers.insideAngular))}return run(()=>ret)}return ret instanceof Observable_Observable?ret.pipe(keepUnstableUntilFirst):ret instanceof Promise?run(()=>new Promise((resolve,reject)=>ret.then(it2=>run(()=>resolve(it2)),reason=>run(()=>reject(reason))))):"function"==typeof ret&¯otask?function(){return setTimeout(()=>{macrotask&&"scheduled"===macrotask.state&¯otask.invoke()},10),ret.apply(this,arguments)}:run(()=>ret)};class FirebaseApp{constructor(app){return app}}class angular_fire_app_FirebaseApps{constructor(){return getApps()}}const PROVIDED_FIREBASE_APPS=new InjectionToken("angularfire2._apps"),DEFAULT_FIREBASE_APP_PROVIDER={provide:FirebaseApp,useFactory:function defaultFirebaseAppFactory(provided){return provided&&1===provided.length?provided[0]:new FirebaseApp(index_esm2017_getApp())},deps:[[new core_Optional,PROVIDED_FIREBASE_APPS]]},FIREBASE_APPS_PROVIDER={provide:angular_fire_app_FirebaseApps,deps:[[new core_Optional,PROVIDED_FIREBASE_APPS]]};function firebaseAppFactory(fn){return(zone,injector)=>{const app=zone.runOutsideAngular(()=>fn(injector));return new FirebaseApp(app)}}let FirebaseAppModule=(()=>{class FirebaseAppModule2{constructor(platformId){index_esm2017_registerVersion("angularfire",angular_fire_VERSION.full,"core"),index_esm2017_registerVersion("angularfire",angular_fire_VERSION.full,"app"),index_esm2017_registerVersion("angular",core_VERSION.full,platformId.toString())}}return FirebaseAppModule2.\u0275fac=function(t){return new(t||FirebaseAppModule2)(core_inject(core_PLATFORM_ID))},FirebaseAppModule2.\u0275mod=\u0275\u0275defineNgModule({type:FirebaseAppModule2}),FirebaseAppModule2.\u0275inj=\u0275\u0275defineInjector({providers:[DEFAULT_FIREBASE_APP_PROVIDER,FIREBASE_APPS_PROVIDER]}),FirebaseAppModule2})();function provideFirebaseApp(fn,...deps){return{ngModule:FirebaseAppModule,providers:[{provide:PROVIDED_FIREBASE_APPS,useFactory:firebaseAppFactory(fn),multi:!0,deps:[core_NgZone,core_Injector,angular_fire_AngularFireSchedulers,...deps]}]}}const angular_fire_app_initializeApp=angular_fire_zoneWrap(initializeApp,!0);const prodErrorMap=function _prodErrorMap(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}},_DEFAULT_AUTH_ERROR_FACTORY=new ErrorFactory("auth","Firebase",{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}),logClient=new Logger("@firebase/auth");function _logError(msg,...args){logClient.logLevel<=index_esm2017_LogLevel.ERROR&&logClient.error(`Auth (${index_esm2017_SDK_VERSION}): ${msg}`,...args)}function _fail(authOrCode,...rest){throw createErrorInternal(authOrCode,...rest)}function _createError(authOrCode,...rest){return createErrorInternal(authOrCode,...rest)}function createErrorInternal(authOrCode,...rest){if("string"!=typeof authOrCode){const code=rest[0],fullParams=[...rest.slice(1)];return fullParams[0]&&(fullParams[0].appName=authOrCode.name),authOrCode._errorFactory.create(code,...fullParams)}return _DEFAULT_AUTH_ERROR_FACTORY.create(authOrCode,...rest)}function _assert(assertion,authOrCode,...rest){if(!assertion)throw createErrorInternal(authOrCode,...rest)}function debugFail(failure){const message="INTERNAL ASSERTION FAILED: "+failure;throw _logError(message),new Error(message)}function debugAssert(assertion,message){assertion||debugFail(message)}function _getCurrentScheme(){var _a;return typeof self<"u"&&(null===(_a=self.location)||void 0===_a?void 0:_a.protocol)||null}class Delay{constructor(shortDelay,longDelay){this.shortDelay=shortDelay,this.longDelay=longDelay,debugAssert(longDelay>shortDelay,"Short delay should be less than long delay!"),this.isMobile=function isMobileCordova(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(index_esm2017_getUA())}()||function isReactNative(){return"object"==typeof navigator&&"ReactNative"===navigator.product}()}get(){return function _isOnline(){return!(typeof navigator<"u"&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&(function _isHttpOrHttps(){return"http:"===_getCurrentScheme()||"https:"===_getCurrentScheme()}()||isBrowserExtension()||"connection"in navigator))||navigator.onLine}()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}class FetchProvider{static initialize(fetchImpl,headersImpl,responseImpl){this.fetchImpl=fetchImpl,headersImpl&&(this.headersImpl=headersImpl),responseImpl&&(this.responseImpl=responseImpl)}static fetch(){return this.fetchImpl?this.fetchImpl:typeof self<"u"&&"fetch"in self?self.fetch:void debugFail("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:typeof self<"u"&&"Headers"in self?self.Headers:void debugFail("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:typeof self<"u"&&"Response"in self?self.Response:void debugFail("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}const SERVER_ERROR_MAP={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-recaptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"},DEFAULT_API_TIMEOUT_MS=new Delay(3e4,6e4);function _performApiRequest(_x,_x2,_x3,_x4){return _performApiRequest2.apply(this,arguments)}function _performApiRequest2(){return(_performApiRequest2=asyncToGenerator_asyncToGenerator(function*(auth,method,path,request,customErrorMap={}){return _performFetchWithErrorHandling(auth,customErrorMap,asyncToGenerator_asyncToGenerator(function*(){let body={},params={};request&&("GET"===method?params=request:body={body:JSON.stringify(request)});const query2=index_esm2017_querystring(Object.assign({key:auth.config.apiKey},params)).slice(1),headers=yield auth._getAdditionalHeaders();return headers["Content-Type"]="application/json",auth.languageCode&&(headers["X-Firebase-Locale"]=auth.languageCode),FetchProvider.fetch()(_getFinalTarget(auth,auth.config.apiHost,path,query2),Object.assign({method,headers,referrerPolicy:"no-referrer"},body))}))})).apply(this,arguments)}function _performFetchWithErrorHandling(_x5,_x6,_x7){return _performFetchWithErrorHandling2.apply(this,arguments)}function _performFetchWithErrorHandling2(){return(_performFetchWithErrorHandling2=asyncToGenerator_asyncToGenerator(function*(auth,customErrorMap,fetchFn){auth._canInitEmulator=!1;const errorMap=Object.assign(Object.assign({},SERVER_ERROR_MAP),customErrorMap);try{const networkTimeout=new NetworkTimeout(auth),response=yield Promise.race([fetchFn(),networkTimeout.promise]);networkTimeout.clearNetworkTimeout();const json=yield response.json();if("needConfirmation"in json)throw _makeTaggedError(auth,"account-exists-with-different-credential",json);if(response.ok&&!("errorMessage"in json))return json;{const errorMessage=response.ok?json.errorMessage:json.error.message,[serverErrorCode,serverErrorMessage]=errorMessage.split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===serverErrorCode)throw _makeTaggedError(auth,"credential-already-in-use",json);if("EMAIL_EXISTS"===serverErrorCode)throw _makeTaggedError(auth,"email-already-in-use",json);if("USER_DISABLED"===serverErrorCode)throw _makeTaggedError(auth,"user-disabled",json);const authError=errorMap[serverErrorCode]||serverErrorCode.toLowerCase().replace(/[_\s]+/g,"-");if(serverErrorMessage)throw function _errorWithCustomMessage(auth,code,message){const errorMap=Object.assign(Object.assign({},prodErrorMap()),{[code]:message});return new ErrorFactory("auth","Firebase",errorMap).create(code,{appName:auth.name})}(auth,authError,serverErrorMessage);_fail(auth,authError)}}catch(e2){if(e2 instanceof index_esm2017_FirebaseError)throw e2;_fail(auth,"network-request-failed",{message:String(e2)})}})).apply(this,arguments)}function _getFinalTarget(auth,host,path,query2){const base=`${host}${path}?${query2}`;return auth.config.emulator?function _emulatorUrl(config2,path){debugAssert(config2.emulator,"Emulator should always be set here");const{url}=config2.emulator;return path?`${url}${path.startsWith("/")?path.slice(1):path}`:url}(auth.config,base):`${auth.config.apiScheme}://${base}`}class NetworkTimeout{constructor(auth){this.auth=auth,this.timer=null,this.promise=new Promise((_,reject)=>{this.timer=setTimeout(()=>reject(_createError(this.auth,"network-request-failed")),DEFAULT_API_TIMEOUT_MS.get())})}clearNetworkTimeout(){clearTimeout(this.timer)}}function _makeTaggedError(auth,code,response){const errorParams={appName:auth.name};response.email&&(errorParams.email=response.email),response.phoneNumber&&(errorParams.phoneNumber=response.phoneNumber);const error=_createError(auth,code,errorParams);return error.customData._tokenResponse=response,error}function _deleteAccount(){return(_deleteAccount=asyncToGenerator_asyncToGenerator(function*(auth,request){return _performApiRequest(auth,"POST","/v1/accounts:delete",request)})).apply(this,arguments)}function _getAccountInfo(){return(_getAccountInfo=asyncToGenerator_asyncToGenerator(function*(auth,request){return _performApiRequest(auth,"POST","/v1/accounts:lookup",request)})).apply(this,arguments)}function utcTimestampToDateString(utcTimestamp){if(utcTimestamp)try{const date=new Date(Number(utcTimestamp));if(!isNaN(date.getTime()))return date.toUTCString()}catch{}}function _getIdTokenResult(){return(_getIdTokenResult=asyncToGenerator_asyncToGenerator(function*(user2,forceRefresh=!1){const userInternal=index_esm2017_getModularInstance(user2),token=yield userInternal.getIdToken(forceRefresh),claims=_parseToken(token);_assert(claims&&claims.exp&&claims.auth_time&&claims.iat,userInternal.auth,"internal-error");const firebase="object"==typeof claims.firebase?claims.firebase:void 0,signInProvider=firebase?.sign_in_provider;return{claims,token,authTime:utcTimestampToDateString(secondsStringToMilliseconds(claims.auth_time)),issuedAtTime:utcTimestampToDateString(secondsStringToMilliseconds(claims.iat)),expirationTime:utcTimestampToDateString(secondsStringToMilliseconds(claims.exp)),signInProvider:signInProvider||null,signInSecondFactor:firebase?.sign_in_second_factor||null}})).apply(this,arguments)}function secondsStringToMilliseconds(seconds){return 1e3*Number(seconds)}function _parseToken(token){const[algorithm,payload,signature]=token.split(".");if(void 0===algorithm||void 0===payload||void 0===signature)return _logError("JWT malformed, contained fewer than 3 sections"),null;try{const decoded=base64Decode(payload);return decoded?JSON.parse(decoded):(_logError("Failed to decode base64 JWT payload"),null)}catch(e2){return _logError("Caught error parsing JWT payload as JSON",e2?.toString()),null}}function _logoutIfInvalidated(_x19,_x20){return _logoutIfInvalidated2.apply(this,arguments)}function _logoutIfInvalidated2(){return(_logoutIfInvalidated2=asyncToGenerator_asyncToGenerator(function*(user2,promise,bypassAuthState=!1){if(bypassAuthState)return promise;try{return yield promise}catch(e2){throw e2 instanceof index_esm2017_FirebaseError&&function isUserInvalidated({code}){return"auth/user-disabled"===code||"auth/user-token-expired"===code}(e2)&&user2.auth.currentUser===user2&&(yield user2.auth.signOut()),e2}})).apply(this,arguments)}class ProactiveRefresh{constructor(user2){this.user=user2,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(wasError){var _a;if(wasError){const interval=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),interval}{this.errorBackoff=3e4;const interval=(null!==(_a=this.user.stsTokenManager.expirationTime)&&void 0!==_a?_a:0)-Date.now()-3e5;return Math.max(0,interval)}}schedule(wasError=!1){var _this=this;if(!this.isRunning)return;const interval=this.getInterval(wasError);this.timerId=setTimeout(asyncToGenerator_asyncToGenerator(function*(){yield _this.iteration()}),interval)}iteration(){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){try{yield _this2.user.getIdToken(!0)}catch(e2){return void("auth/network-request-failed"===e2?.code&&_this2.schedule(!0))}_this2.schedule()})()}}class UserMetadata{constructor(createdAt,lastLoginAt){this.createdAt=createdAt,this.lastLoginAt=lastLoginAt,this._initializeTime()}_initializeTime(){this.lastSignInTime=utcTimestampToDateString(this.lastLoginAt),this.creationTime=utcTimestampToDateString(this.createdAt)}_copy(metadata){this.createdAt=metadata.createdAt,this.lastLoginAt=metadata.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}function _reloadWithoutSaving(_x21){return _reloadWithoutSaving2.apply(this,arguments)}function _reloadWithoutSaving2(){return _reloadWithoutSaving2=asyncToGenerator_asyncToGenerator(function*(user2){var _a;const auth=user2.auth,idToken2=yield user2.getIdToken(),response=yield _logoutIfInvalidated(user2,function getAccountInfo(_x16,_x17){return _getAccountInfo.apply(this,arguments)}(auth,{idToken:idToken2}));_assert(response?.users.length,auth,"internal-error");const coreAccount=response.users[0];user2._notifyReloadListener(coreAccount);const newProviderData=null!==(_a=coreAccount.providerUserInfo)&&void 0!==_a&&_a.length?function extractProviderData(providers){return providers.map(_a=>{var{providerId}=_a,provider=tslib_es6_rest(_a,["providerId"]);return{providerId,uid:provider.rawId||"",displayName:provider.displayName||null,email:provider.email||null,phoneNumber:provider.phoneNumber||null,photoURL:provider.photoUrl||null}})}(coreAccount.providerUserInfo):[],providerData=function mergeProviderData(original,newData){return[...original.filter(o=>!newData.some(n=>n.providerId===o.providerId)),...newData]}(user2.providerData,newProviderData),isAnonymous=!!user2.isAnonymous&&!(user2.email&&coreAccount.passwordHash||providerData?.length),updates={uid:coreAccount.localId,displayName:coreAccount.displayName||null,photoURL:coreAccount.photoUrl||null,email:coreAccount.email||null,emailVerified:coreAccount.emailVerified||!1,phoneNumber:coreAccount.phoneNumber||null,tenantId:coreAccount.tenantId||null,providerData,metadata:new UserMetadata(coreAccount.createdAt,coreAccount.lastLoginAt),isAnonymous};Object.assign(user2,updates)}),_reloadWithoutSaving2.apply(this,arguments)}function _reload(){return(_reload=asyncToGenerator_asyncToGenerator(function*(user2){const userInternal=index_esm2017_getModularInstance(user2);yield _reloadWithoutSaving(userInternal),yield userInternal.auth._persistUserIfCurrent(userInternal),userInternal.auth._notifyListenersIfCurrent(userInternal)})).apply(this,arguments)}function _requestStsToken(){return(_requestStsToken=asyncToGenerator_asyncToGenerator(function*(auth,refreshToken){const response=yield _performFetchWithErrorHandling(auth,{},asyncToGenerator_asyncToGenerator(function*(){const body=index_esm2017_querystring({grant_type:"refresh_token",refresh_token:refreshToken}).slice(1),{tokenApiHost,apiKey}=auth.config,url=_getFinalTarget(auth,tokenApiHost,"/v1/token",`key=${apiKey}`),headers=yield auth._getAdditionalHeaders();return headers["Content-Type"]="application/x-www-form-urlencoded",FetchProvider.fetch()(url,{method:"POST",headers,body})}));return{accessToken:response.access_token,expiresIn:response.expires_in,refreshToken:response.refresh_token}})).apply(this,arguments)}class StsTokenManager{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(response){_assert(response.idToken,"internal-error"),_assert(typeof response.idToken<"u","internal-error"),_assert(typeof response.refreshToken<"u","internal-error");const expiresIn="expiresIn"in response&&typeof response.expiresIn<"u"?Number(response.expiresIn):function _tokenExpiresIn(token){const parsedToken=_parseToken(token);return _assert(parsedToken,"internal-error"),_assert(typeof parsedToken.exp<"u","internal-error"),_assert(typeof parsedToken.iat<"u","internal-error"),Number(parsedToken.exp)-Number(parsedToken.iat)}(response.idToken);this.updateTokensAndExpiration(response.idToken,response.refreshToken,expiresIn)}getToken(auth,forceRefresh=!1){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){return _assert(!_this3.accessToken||_this3.refreshToken,auth,"user-token-expired"),forceRefresh||!_this3.accessToken||_this3.isExpired?_this3.refreshToken?(yield _this3.refresh(auth,_this3.refreshToken),_this3.accessToken):null:_this3.accessToken})()}clearRefreshToken(){this.refreshToken=null}refresh(auth,oldToken){var _this4=this;return asyncToGenerator_asyncToGenerator(function*(){const{accessToken,refreshToken,expiresIn}=yield function requestStsToken(_x23,_x24){return _requestStsToken.apply(this,arguments)}(auth,oldToken);_this4.updateTokensAndExpiration(accessToken,refreshToken,Number(expiresIn))})()}updateTokensAndExpiration(accessToken,refreshToken,expiresInSec){this.refreshToken=refreshToken||null,this.accessToken=accessToken||null,this.expirationTime=Date.now()+1e3*expiresInSec}static fromJSON(appName,object){const{refreshToken,accessToken,expirationTime}=object,manager=new StsTokenManager;return refreshToken&&(_assert("string"==typeof refreshToken,"internal-error",{appName}),manager.refreshToken=refreshToken),accessToken&&(_assert("string"==typeof accessToken,"internal-error",{appName}),manager.accessToken=accessToken),expirationTime&&(_assert("number"==typeof expirationTime,"internal-error",{appName}),manager.expirationTime=expirationTime),manager}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(stsTokenManager){this.accessToken=stsTokenManager.accessToken,this.refreshToken=stsTokenManager.refreshToken,this.expirationTime=stsTokenManager.expirationTime}_clone(){return Object.assign(new StsTokenManager,this.toJSON())}_performRefresh(){return debugFail("not implemented")}}function assertStringOrUndefined(assertion,appName){_assert("string"==typeof assertion||typeof assertion>"u","internal-error",{appName})}class UserImpl{constructor(_a){var{uid,auth,stsTokenManager}=_a,opt=tslib_es6_rest(_a,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new ProactiveRefresh(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=uid,this.auth=auth,this.stsTokenManager=stsTokenManager,this.accessToken=stsTokenManager.accessToken,this.displayName=opt.displayName||null,this.email=opt.email||null,this.emailVerified=opt.emailVerified||!1,this.phoneNumber=opt.phoneNumber||null,this.photoURL=opt.photoURL||null,this.isAnonymous=opt.isAnonymous||!1,this.tenantId=opt.tenantId||null,this.providerData=opt.providerData?[...opt.providerData]:[],this.metadata=new UserMetadata(opt.createdAt||void 0,opt.lastLoginAt||void 0)}getIdToken(forceRefresh){var _this5=this;return asyncToGenerator_asyncToGenerator(function*(){const accessToken=yield _logoutIfInvalidated(_this5,_this5.stsTokenManager.getToken(_this5.auth,forceRefresh));return _assert(accessToken,_this5.auth,"internal-error"),_this5.accessToken!==accessToken&&(_this5.accessToken=accessToken,yield _this5.auth._persistUserIfCurrent(_this5),_this5.auth._notifyListenersIfCurrent(_this5)),accessToken})()}getIdTokenResult(forceRefresh){return function getIdTokenResult(_x18){return _getIdTokenResult.apply(this,arguments)}(this,forceRefresh)}reload(){return function reload(_x22){return _reload.apply(this,arguments)}(this)}_assign(user2){this!==user2&&(_assert(this.uid===user2.uid,this.auth,"internal-error"),this.displayName=user2.displayName,this.photoURL=user2.photoURL,this.email=user2.email,this.emailVerified=user2.emailVerified,this.phoneNumber=user2.phoneNumber,this.isAnonymous=user2.isAnonymous,this.tenantId=user2.tenantId,this.providerData=user2.providerData.map(userInfo=>Object.assign({},userInfo)),this.metadata._copy(user2.metadata),this.stsTokenManager._assign(user2.stsTokenManager))}_clone(auth){const newUser=new UserImpl(Object.assign(Object.assign({},this),{auth,stsTokenManager:this.stsTokenManager._clone()}));return newUser.metadata._copy(this.metadata),newUser}_onReload(callback){_assert(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=callback,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(userInfo){this.reloadListener?this.reloadListener(userInfo):this.reloadUserInfo=userInfo}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}_updateTokensIfNecessary(response,reload2=!1){var _this6=this;return asyncToGenerator_asyncToGenerator(function*(){let tokensRefreshed=!1;response.idToken&&response.idToken!==_this6.stsTokenManager.accessToken&&(_this6.stsTokenManager.updateFromServerResponse(response),tokensRefreshed=!0),reload2&&(yield _reloadWithoutSaving(_this6)),yield _this6.auth._persistUserIfCurrent(_this6),tokensRefreshed&&_this6.auth._notifyListenersIfCurrent(_this6)})()}delete(){var _this7=this;return asyncToGenerator_asyncToGenerator(function*(){const idToken2=yield _this7.getIdToken();return yield _logoutIfInvalidated(_this7,function deleteAccount(_x12,_x13){return _deleteAccount.apply(this,arguments)}(_this7.auth,{idToken:idToken2})),_this7.stsTokenManager.clearRefreshToken(),_this7.auth.signOut()})()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(userInfo=>Object.assign({},userInfo)),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId},this.metadata.toJSON()),{apiKey:this.auth.config.apiKey,appName:this.auth.name})}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(auth,object){var _a,_b,_c,_d,_e,_f,_g,_h;const displayName=null!==(_a=object.displayName)&&void 0!==_a?_a:void 0,email=null!==(_b=object.email)&&void 0!==_b?_b:void 0,phoneNumber=null!==(_c=object.phoneNumber)&&void 0!==_c?_c:void 0,photoURL=null!==(_d=object.photoURL)&&void 0!==_d?_d:void 0,tenantId=null!==(_e=object.tenantId)&&void 0!==_e?_e:void 0,_redirectEventId=null!==(_f=object._redirectEventId)&&void 0!==_f?_f:void 0,createdAt=null!==(_g=object.createdAt)&&void 0!==_g?_g:void 0,lastLoginAt=null!==(_h=object.lastLoginAt)&&void 0!==_h?_h:void 0,{uid,emailVerified,isAnonymous,providerData,stsTokenManager:plainObjectTokenManager}=object;_assert(uid&&plainObjectTokenManager,auth,"internal-error");const stsTokenManager=StsTokenManager.fromJSON(this.name,plainObjectTokenManager);_assert("string"==typeof uid,auth,"internal-error"),assertStringOrUndefined(displayName,auth.name),assertStringOrUndefined(email,auth.name),_assert("boolean"==typeof emailVerified,auth,"internal-error"),_assert("boolean"==typeof isAnonymous,auth,"internal-error"),assertStringOrUndefined(phoneNumber,auth.name),assertStringOrUndefined(photoURL,auth.name),assertStringOrUndefined(tenantId,auth.name),assertStringOrUndefined(_redirectEventId,auth.name),assertStringOrUndefined(createdAt,auth.name),assertStringOrUndefined(lastLoginAt,auth.name);const user2=new UserImpl({uid,auth,email,emailVerified,displayName,isAnonymous,photoURL,phoneNumber,tenantId,stsTokenManager,createdAt,lastLoginAt});return providerData&&Array.isArray(providerData)&&(user2.providerData=providerData.map(userInfo=>Object.assign({},userInfo))),_redirectEventId&&(user2._redirectEventId=_redirectEventId),user2}static _fromIdTokenResponse(auth,idTokenResponse,isAnonymous=!1){return asyncToGenerator_asyncToGenerator(function*(){const stsTokenManager=new StsTokenManager;stsTokenManager.updateFromServerResponse(idTokenResponse);const user2=new UserImpl({uid:idTokenResponse.localId,auth,stsTokenManager,isAnonymous});return yield _reloadWithoutSaving(user2),user2})()}}const instanceCache=new Map;function _getInstance(cls){debugAssert(cls instanceof Function,"Expected a class definition");let instance=instanceCache.get(cls);return instance?(debugAssert(instance instanceof cls,"Instance stored in cache mismatched with class"),instance):(instance=new cls,instanceCache.set(cls,instance),instance)}const inMemoryPersistence=(()=>{class InMemoryPersistence2{constructor(){this.type="NONE",this.storage={}}_isAvailable(){return asyncToGenerator_asyncToGenerator(function*(){return!0})()}_set(key,value){var _this8=this;return asyncToGenerator_asyncToGenerator(function*(){_this8.storage[key]=value})()}_get(key){var _this9=this;return asyncToGenerator_asyncToGenerator(function*(){const value=_this9.storage[key];return void 0===value?null:value})()}_remove(key){var _this10=this;return asyncToGenerator_asyncToGenerator(function*(){delete _this10.storage[key]})()}_addListener(_key,_listener){}_removeListener(_key,_listener){}}return InMemoryPersistence2.type="NONE",InMemoryPersistence2})();function _persistenceKeyName(key,apiKey,appName){return`firebase:${key}:${apiKey}:${appName}`}class PersistenceUserManager{constructor(persistence,auth,userKey){this.persistence=persistence,this.auth=auth,this.userKey=userKey;const{config:config2,name}=this.auth;this.fullUserKey=_persistenceKeyName(this.userKey,config2.apiKey,name),this.fullPersistenceKey=_persistenceKeyName("persistence",config2.apiKey,name),this.boundEventHandler=auth._onStorageEvent.bind(auth),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(user2){return this.persistence._set(this.fullUserKey,user2.toJSON())}getCurrentUser(){var _this11=this;return asyncToGenerator_asyncToGenerator(function*(){const blob=yield _this11.persistence._get(_this11.fullUserKey);return blob?UserImpl._fromJSON(_this11.auth,blob):null})()}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}setPersistence(newPersistence){var _this12=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this12.persistence===newPersistence)return;const currentUser=yield _this12.getCurrentUser();return yield _this12.removeCurrentUser(),_this12.persistence=newPersistence,currentUser?_this12.setCurrentUser(currentUser):void 0})()}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static create(auth,persistenceHierarchy,userKey="authUser"){return asyncToGenerator_asyncToGenerator(function*(){if(!persistenceHierarchy.length)return new PersistenceUserManager(_getInstance(inMemoryPersistence),auth,userKey);const availablePersistences=(yield Promise.all(persistenceHierarchy.map(function(){var _ref2=asyncToGenerator_asyncToGenerator(function*(persistence){if(yield persistence._isAvailable())return persistence});return function(_x25){return _ref2.apply(this,arguments)}}()))).filter(persistence=>persistence);let selectedPersistence=availablePersistences[0]||_getInstance(inMemoryPersistence);const key=_persistenceKeyName(userKey,auth.config.apiKey,auth.name);let userToMigrate=null;for(const persistence of persistenceHierarchy)try{const blob=yield persistence._get(key);if(blob){const user2=UserImpl._fromJSON(auth,blob);persistence!==selectedPersistence&&(userToMigrate=user2),selectedPersistence=persistence;break}}catch{}const migrationHierarchy=availablePersistences.filter(p=>p._shouldAllowMigration);return selectedPersistence._shouldAllowMigration&&migrationHierarchy.length?(selectedPersistence=migrationHierarchy[0],userToMigrate&&(yield selectedPersistence._set(key,userToMigrate.toJSON())),yield Promise.all(persistenceHierarchy.map(function(){var _ref3=asyncToGenerator_asyncToGenerator(function*(persistence){if(persistence!==selectedPersistence)try{yield persistence._remove(key)}catch{}});return function(_x26){return _ref3.apply(this,arguments)}}())),new PersistenceUserManager(selectedPersistence,auth,userKey)):new PersistenceUserManager(selectedPersistence,auth,userKey)})()}}function _getBrowserName(userAgent){const ua=userAgent.toLowerCase();if(ua.includes("opera/")||ua.includes("opr/")||ua.includes("opios/"))return"Opera";if(function _isIEMobile(ua=index_esm2017_getUA()){return/iemobile/i.test(ua)}(ua))return"IEMobile";if(ua.includes("msie")||ua.includes("trident/"))return"IE";if(ua.includes("edge/"))return"Edge";if(function _isFirefox(ua=index_esm2017_getUA()){return/firefox\//i.test(ua)}(ua))return"Firefox";if(ua.includes("silk/"))return"Silk";if(function _isBlackBerry(ua=index_esm2017_getUA()){return/blackberry/i.test(ua)}(ua))return"Blackberry";if(function _isWebOS(ua=index_esm2017_getUA()){return/webos/i.test(ua)}(ua))return"Webos";if(function _isSafari(userAgent=index_esm2017_getUA()){const ua=userAgent.toLowerCase();return ua.includes("safari/")&&!ua.includes("chrome/")&&!ua.includes("crios/")&&!ua.includes("android")}(ua))return"Safari";if((ua.includes("chrome/")||function _isChromeIOS(ua=index_esm2017_getUA()){return/crios\//i.test(ua)}(ua))&&!ua.includes("edge/"))return"Chrome";if(function _isAndroid(ua=index_esm2017_getUA()){return/android/i.test(ua)}(ua))return"Android";{const matches=userAgent.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(2===matches?.length)return matches[1]}return"Other"}function _getClientVersion(clientPlatform,frameworks=[]){let reportedPlatform;switch(clientPlatform){case"Browser":reportedPlatform=_getBrowserName(index_esm2017_getUA());break;case"Worker":reportedPlatform=`${_getBrowserName(index_esm2017_getUA())}-${clientPlatform}`;break;default:reportedPlatform=clientPlatform}const reportedFrameworks=frameworks.length?frameworks.join(","):"FirebaseCore-web";return`${reportedPlatform}/JsCore/${index_esm2017_SDK_VERSION}/${reportedFrameworks}`}function getRecaptchaConfig(_x28,_x29){return _getRecaptchaConfig.apply(this,arguments)}function _getRecaptchaConfig(){return(_getRecaptchaConfig=asyncToGenerator_asyncToGenerator(function*(auth,request){return _performApiRequest(auth,"GET","/v2/recaptchaConfig",function _addTidIfNecessary(auth,request){return auth.tenantId&&!request.tenantId?Object.assign(Object.assign({},request),{tenantId:auth.tenantId}):request}(auth,request))})).apply(this,arguments)}function isEnterprise(grecaptcha){return void 0!==grecaptcha&&void 0!==grecaptcha.enterprise}class RecaptchaConfig{constructor(response){if(this.siteKey="",this.emailPasswordEnabled=!1,void 0===response.recaptchaKey)throw new Error("recaptchaKey undefined");this.siteKey=response.recaptchaKey.split("/")[3],this.emailPasswordEnabled=response.recaptchaEnforcementState.some(enforcementState=>"EMAIL_PASSWORD_PROVIDER"===enforcementState.provider&&"OFF"!==enforcementState.enforcementState)}}class RecaptchaEnterpriseVerifier{constructor(authExtern){this.type="recaptcha-enterprise",this.auth=_castAuth(authExtern)}verify(action="verify",forceRefresh=!1){var _this13=this;return asyncToGenerator_asyncToGenerator(function*(){function _retrieveSiteKey(){return _retrieveSiteKey=asyncToGenerator_asyncToGenerator(function*(auth){if(!forceRefresh){if(null==auth.tenantId&&null!=auth._agentRecaptchaConfig)return auth._agentRecaptchaConfig.siteKey;if(null!=auth.tenantId&&void 0!==auth._tenantRecaptchaConfigs[auth.tenantId])return auth._tenantRecaptchaConfigs[auth.tenantId].siteKey}return new Promise(function(){var _ref4=asyncToGenerator_asyncToGenerator(function*(resolve,reject){getRecaptchaConfig(auth,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(response=>{if(void 0!==response.recaptchaKey){const config2=new RecaptchaConfig(response);return null==auth.tenantId?auth._agentRecaptchaConfig=config2:auth._tenantRecaptchaConfigs[auth.tenantId]=config2,resolve(config2.siteKey)}reject(new Error("recaptcha Enterprise site key undefined"))}).catch(error=>{reject(error)})});return function(_x31,_x32){return _ref4.apply(this,arguments)}}())}),_retrieveSiteKey.apply(this,arguments)}function retrieveRecaptchaToken(siteKey,resolve,reject){const grecaptcha=window.grecaptcha;isEnterprise(grecaptcha)?grecaptcha.enterprise.ready(()=>{grecaptcha.enterprise.execute(siteKey,{action}).then(token=>{resolve(token)}).catch(()=>{resolve("NO_RECAPTCHA")})}):reject(Error("No reCAPTCHA enterprise script loaded."))}return new Promise((resolve,reject)=>{(function retrieveSiteKey(_x30){return _retrieveSiteKey.apply(this,arguments)})(_this13.auth).then(siteKey=>{if(!forceRefresh&&isEnterprise(window.grecaptcha))retrieveRecaptchaToken(siteKey,resolve,reject);else{if(typeof window>"u")return void reject(new Error("RecaptchaVerifier is only supported in browser"));(function _loadJS(url){return new Promise((resolve,reject)=>{const el=document.createElement("script");el.setAttribute("src",url),el.onload=resolve,el.onerror=e2=>{const error=_createError("internal-error");error.customData=e2,reject(error)},el.type="text/javascript",el.charset="UTF-8",function getScriptParentElement(){var _a,_b;return null!==(_b=null===(_a=document.getElementsByTagName("head"))||void 0===_a?void 0:_a[0])&&void 0!==_b?_b:document}().appendChild(el)})})("https://www.google.com/recaptcha/enterprise.js?render="+siteKey).then(()=>{retrieveRecaptchaToken(siteKey,resolve,reject)}).catch(error=>{reject(error)})}}).catch(error=>{reject(error)})})})()}}class AuthMiddlewareQueue{constructor(auth){this.auth=auth,this.queue=[]}pushCallback(callback,onAbort){const wrappedCallback=user2=>new Promise((resolve,reject)=>{try{resolve(callback(user2))}catch(e2){reject(e2)}});wrappedCallback.onAbort=onAbort,this.queue.push(wrappedCallback);const index=this.queue.length-1;return()=>{this.queue[index]=()=>Promise.resolve()}}runMiddleware(nextUser){var _this14=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this14.auth.currentUser===nextUser)return;const onAbortStack=[];try{for(const beforeStateCallback of _this14.queue)yield beforeStateCallback(nextUser),beforeStateCallback.onAbort&&onAbortStack.push(beforeStateCallback.onAbort)}catch(e2){onAbortStack.reverse();for(const onAbort of onAbortStack)try{onAbort()}catch{}throw _this14.auth._errorFactory.create("login-blocked",{originalMessage:e2?.message})}})()}}class AuthImpl{constructor(app,heartbeatServiceProvider,appCheckServiceProvider,config2){this.app=app,this.heartbeatServiceProvider=heartbeatServiceProvider,this.appCheckServiceProvider=appCheckServiceProvider,this.config=config2,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new index_e3d5d3f4_Subscription(this),this.idTokenSubscription=new index_e3d5d3f4_Subscription(this),this.beforeStateQueue=new AuthMiddlewareQueue(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=_DEFAULT_AUTH_ERROR_FACTORY,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=app.name,this.clientVersion=config2.sdkClientVersion}_initializeWithPersistence(persistenceHierarchy,popupRedirectResolver){var _this15=this;return popupRedirectResolver&&(this._popupRedirectResolver=_getInstance(popupRedirectResolver)),this._initializationPromise=this.queue(asyncToGenerator_asyncToGenerator(function*(){var _a,_b;if(!_this15._deleted&&(_this15.persistenceManager=yield PersistenceUserManager.create(_this15,persistenceHierarchy),!_this15._deleted)){if(null!==(_a=_this15._popupRedirectResolver)&&void 0!==_a&&_a._shouldInitProactively)try{yield _this15._popupRedirectResolver._initialize(_this15)}catch{}yield _this15.initializeCurrentUser(popupRedirectResolver),_this15.lastNotifiedUid=(null===(_b=_this15.currentUser)||void 0===_b?void 0:_b.uid)||null,!_this15._deleted&&(_this15._isInitialized=!0)}})),this._initializationPromise}_onStorageEvent(){var _this16=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this16._deleted)return;const user2=yield _this16.assertedPersistence.getCurrentUser();if(_this16.currentUser||user2){if(_this16.currentUser&&user2&&_this16.currentUser.uid===user2.uid)return _this16._currentUser._assign(user2),void(yield _this16.currentUser.getIdToken());yield _this16._updateCurrentUser(user2,!0)}})()}initializeCurrentUser(popupRedirectResolver){var _this17=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;const previouslyStoredUser=yield _this17.assertedPersistence.getCurrentUser();let futureCurrentUser=previouslyStoredUser,needsTocheckMiddleware=!1;if(popupRedirectResolver&&_this17.config.authDomain){yield _this17.getOrInitRedirectPersistenceManager();const redirectUserEventId=null===(_a=_this17.redirectUser)||void 0===_a?void 0:_a._redirectEventId,storedUserEventId=futureCurrentUser?._redirectEventId,result=yield _this17.tryRedirectSignIn(popupRedirectResolver);(!redirectUserEventId||redirectUserEventId===storedUserEventId)&&result?.user&&(futureCurrentUser=result.user,needsTocheckMiddleware=!0)}if(!futureCurrentUser)return _this17.directlySetCurrentUser(null);if(!futureCurrentUser._redirectEventId){if(needsTocheckMiddleware)try{yield _this17.beforeStateQueue.runMiddleware(futureCurrentUser)}catch(e2){futureCurrentUser=previouslyStoredUser,_this17._popupRedirectResolver._overrideRedirectResult(_this17,()=>Promise.reject(e2))}return futureCurrentUser?_this17.reloadAndSetCurrentUserOrClear(futureCurrentUser):_this17.directlySetCurrentUser(null)}return _assert(_this17._popupRedirectResolver,_this17,"argument-error"),yield _this17.getOrInitRedirectPersistenceManager(),_this17.redirectUser&&_this17.redirectUser._redirectEventId===futureCurrentUser._redirectEventId?_this17.directlySetCurrentUser(futureCurrentUser):_this17.reloadAndSetCurrentUserOrClear(futureCurrentUser)})()}tryRedirectSignIn(redirectResolver){var _this18=this;return asyncToGenerator_asyncToGenerator(function*(){let result=null;try{result=yield _this18._popupRedirectResolver._completeRedirectFn(_this18,redirectResolver,!0)}catch{yield _this18._setRedirectUser(null)}return result})()}reloadAndSetCurrentUserOrClear(user2){var _this19=this;return asyncToGenerator_asyncToGenerator(function*(){try{yield _reloadWithoutSaving(user2)}catch(e2){if("auth/network-request-failed"!==e2?.code)return _this19.directlySetCurrentUser(null)}return _this19.directlySetCurrentUser(user2)})()}useDeviceLanguage(){this.languageCode=function _getUserLanguage(){if(typeof navigator>"u")return null;const navigatorLanguage=navigator;return navigatorLanguage.languages&&navigatorLanguage.languages[0]||navigatorLanguage.language||null}()}_delete(){var _this20=this;return asyncToGenerator_asyncToGenerator(function*(){_this20._deleted=!0})()}updateCurrentUser(userExtern){var _this21=this;return asyncToGenerator_asyncToGenerator(function*(){const user2=userExtern?index_esm2017_getModularInstance(userExtern):null;return user2&&_assert(user2.auth.config.apiKey===_this21.config.apiKey,_this21,"invalid-user-token"),_this21._updateCurrentUser(user2&&user2._clone(_this21))})()}_updateCurrentUser(user2,skipBeforeStateCallbacks=!1){var _this22=this;return asyncToGenerator_asyncToGenerator(function*(){if(!_this22._deleted)return user2&&_assert(_this22.tenantId===user2.tenantId,_this22,"tenant-id-mismatch"),skipBeforeStateCallbacks||(yield _this22.beforeStateQueue.runMiddleware(user2)),_this22.queue(asyncToGenerator_asyncToGenerator(function*(){yield _this22.directlySetCurrentUser(user2),_this22.notifyAuthListeners()}))})()}signOut(){var _this23=this;return asyncToGenerator_asyncToGenerator(function*(){return yield _this23.beforeStateQueue.runMiddleware(null),(_this23.redirectPersistenceManager||_this23._popupRedirectResolver)&&(yield _this23._setRedirectUser(null)),_this23._updateCurrentUser(null,!0)})()}setPersistence(persistence){var _this24=this;return this.queue(asyncToGenerator_asyncToGenerator(function*(){yield _this24.assertedPersistence.setPersistence(_getInstance(persistence))}))}initializeRecaptchaConfig(){var _this25=this;return asyncToGenerator_asyncToGenerator(function*(){const response=yield getRecaptchaConfig(_this25,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}),config2=new RecaptchaConfig(response);null==_this25.tenantId?_this25._agentRecaptchaConfig=config2:_this25._tenantRecaptchaConfigs[_this25.tenantId]=config2,config2.emailPasswordEnabled&&new RecaptchaEnterpriseVerifier(_this25).verify()})()}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(errorMap){this._errorFactory=new ErrorFactory("auth","Firebase",errorMap())}onAuthStateChanged(nextOrObserver,error,completed){return this.registerStateListener(this.authStateSubscription,nextOrObserver,error,completed)}beforeAuthStateChanged(callback,onAbort){return this.beforeStateQueue.pushCallback(callback,onAbort)}onIdTokenChanged(nextOrObserver,error,completed){return this.registerStateListener(this.idTokenSubscription,nextOrObserver,error,completed)}toJSON(){var _a;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:null===(_a=this._currentUser)||void 0===_a?void 0:_a.toJSON()}}_setRedirectUser(user2,popupRedirectResolver){var _this26=this;return asyncToGenerator_asyncToGenerator(function*(){const redirectManager=yield _this26.getOrInitRedirectPersistenceManager(popupRedirectResolver);return null===user2?redirectManager.removeCurrentUser():redirectManager.setCurrentUser(user2)})()}getOrInitRedirectPersistenceManager(popupRedirectResolver){var _this27=this;return asyncToGenerator_asyncToGenerator(function*(){if(!_this27.redirectPersistenceManager){const resolver=popupRedirectResolver&&_getInstance(popupRedirectResolver)||_this27._popupRedirectResolver;_assert(resolver,_this27,"argument-error"),_this27.redirectPersistenceManager=yield PersistenceUserManager.create(_this27,[_getInstance(resolver._redirectPersistence)],"redirectUser"),_this27.redirectUser=yield _this27.redirectPersistenceManager.getCurrentUser()}return _this27.redirectPersistenceManager})()}_redirectUserForId(id){var _this28=this;return asyncToGenerator_asyncToGenerator(function*(){var _a,_b;return _this28._isInitialized&&(yield _this28.queue(asyncToGenerator_asyncToGenerator(function*(){}))),(null===(_a=_this28._currentUser)||void 0===_a?void 0:_a._redirectEventId)===id?_this28._currentUser:(null===(_b=_this28.redirectUser)||void 0===_b?void 0:_b._redirectEventId)===id?_this28.redirectUser:null})()}_persistUserIfCurrent(user2){var _this29=this;return asyncToGenerator_asyncToGenerator(function*(){if(user2===_this29.currentUser)return _this29.queue(asyncToGenerator_asyncToGenerator(function*(){return _this29.directlySetCurrentUser(user2)}))})()}_notifyListenersIfCurrent(user2){user2===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){var _a,_b;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);const currentUid=null!==(_b=null===(_a=this.currentUser)||void 0===_a?void 0:_a.uid)&&void 0!==_b?_b:null;this.lastNotifiedUid!==currentUid&&(this.lastNotifiedUid=currentUid,this.authStateSubscription.next(this.currentUser))}registerStateListener(subscription,nextOrObserver,error,completed){if(this._deleted)return()=>{};const cb="function"==typeof nextOrObserver?nextOrObserver:nextOrObserver.next.bind(nextOrObserver),promise=this._isInitialized?Promise.resolve():this._initializationPromise;return _assert(promise,this,"internal-error"),promise.then(()=>cb(this.currentUser)),"function"==typeof nextOrObserver?subscription.addObserver(nextOrObserver,error,completed):subscription.addObserver(nextOrObserver)}directlySetCurrentUser(user2){var _this30=this;return asyncToGenerator_asyncToGenerator(function*(){_this30.currentUser&&_this30.currentUser!==user2&&_this30._currentUser._stopProactiveRefresh(),user2&&_this30.isProactiveRefreshEnabled&&user2._startProactiveRefresh(),_this30.currentUser=user2,user2?yield _this30.assertedPersistence.setCurrentUser(user2):yield _this30.assertedPersistence.removeCurrentUser()})()}queue(action){return this.operations=this.operations.then(action,action),this.operations}get assertedPersistence(){return _assert(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(framework){!framework||this.frameworks.includes(framework)||(this.frameworks.push(framework),this.frameworks.sort(),this.clientVersion=_getClientVersion(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}_getAdditionalHeaders(){var _this31=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;const headers={"X-Client-Version":_this31.clientVersion};_this31.app.options.appId&&(headers["X-Firebase-gmpid"]=_this31.app.options.appId);const heartbeatsHeader=yield null===(_a=_this31.heartbeatServiceProvider.getImmediate({optional:!0}))||void 0===_a?void 0:_a.getHeartbeatsHeader();heartbeatsHeader&&(headers["X-Firebase-Client"]=heartbeatsHeader);const appCheckToken=yield _this31._getAppCheckToken();return appCheckToken&&(headers["X-Firebase-AppCheck"]=appCheckToken),headers})()}_getAppCheckToken(){var _this32=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;const appCheckTokenResult=yield null===(_a=_this32.appCheckServiceProvider.getImmediate({optional:!0}))||void 0===_a?void 0:_a.getToken();return appCheckTokenResult?.error&&function _logWarn(msg,...args){logClient.logLevel<=index_esm2017_LogLevel.WARN&&logClient.warn(`Auth (${index_esm2017_SDK_VERSION}): ${msg}`,...args)}(`Error while retrieving App Check token: ${appCheckTokenResult.error}`),appCheckTokenResult?.token})()}}function _castAuth(auth){return index_esm2017_getModularInstance(auth)}class index_e3d5d3f4_Subscription{constructor(auth){this.auth=auth,this.observer=null,this.addObserver=function createSubscribe(executor,onNoObservers){const proxy=new ObserverProxy(executor,onNoObservers);return proxy.subscribe.bind(proxy)}(observer=>this.observer=observer)}get next(){return _assert(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}(function _generateCallbackName(prefix){return`__${prefix}${Math.floor(1e6*Math.random())}`})("rcb"),new Delay(3e4,6e4),new Delay(2e3,1e4),new Delay(3e4,6e4),new Delay(5e3,15e3),encodeURIComponent("fac");class AuthInterop{constructor(auth){this.auth=auth,this.internalListeners=new Map}getUid(){var _a;return this.assertAuthConfigured(),(null===(_a=this.auth.currentUser)||void 0===_a?void 0:_a.uid)||null}getToken(forceRefresh){var _this71=this;return asyncToGenerator_asyncToGenerator(function*(){return _this71.assertAuthConfigured(),yield _this71.auth._initializationPromise,_this71.auth.currentUser?{accessToken:yield _this71.auth.currentUser.getIdToken(forceRefresh)}:null})()}addAuthTokenListener(listener){if(this.assertAuthConfigured(),this.internalListeners.has(listener))return;const unsubscribe=this.auth.onIdTokenChanged(user2=>{listener(user2?.stsTokenManager.accessToken||null)});this.internalListeners.set(listener,unsubscribe),this.updateProactiveRefresh()}removeAuthTokenListener(listener){this.assertAuthConfigured();const unsubscribe=this.internalListeners.get(listener);unsubscribe&&(this.internalListeners.delete(listener),unsubscribe(),this.updateProactiveRefresh())}assertAuthConfigured(){_assert(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}getDefaults(),function registerAuth(clientPlatform){_registerComponent(new index_esm2017_Component("auth",(container,{options:deps})=>{const app=container.getProvider("app").getImmediate(),heartbeatServiceProvider=container.getProvider("heartbeat"),appCheckServiceProvider=container.getProvider("app-check-internal"),{apiKey,authDomain}=app.options;_assert(apiKey&&!apiKey.includes(":"),"invalid-api-key",{appName:app.name});const config2={apiKey,authDomain,clientPlatform,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:_getClientVersion(clientPlatform)},authInstance=new AuthImpl(app,heartbeatServiceProvider,appCheckServiceProvider,config2);return function _initializeAuthInstance(auth,deps){const persistence=deps?.persistence||[],hierarchy=(Array.isArray(persistence)?persistence:[persistence]).map(_getInstance);deps?.errorMap&&auth._updateErrorMap(deps.errorMap),auth._initializeWithPersistence(hierarchy,deps?.popupRedirectResolver)}(authInstance,deps),authInstance},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((container,_instanceIdentifier,_instance)=>{container.getProvider("auth-internal").initialize()})),_registerComponent(new index_esm2017_Component("auth-internal",container=>{const auth=_castAuth(container.getProvider("auth").getImmediate());return new AuthInterop(auth)},"PRIVATE").setInstantiationMode("EXPLICIT")),index_esm2017_registerVersion("@firebase/auth","0.23.2",function getVersionForPlatform(clientPlatform){switch(clientPlatform){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";default:return}}(clientPlatform)),index_esm2017_registerVersion("@firebase/auth","0.23.2","esm2017")}("Browser");class AuthInstances{constructor(){return angular_fire_getAllInstancesOf("auth")}}const APP_CHECK_STATES=new Map,DEFAULT_STATE={activated:!1,tokenObservers:[]},DEBUG_STATE={initialized:!1,enabled:!1};function getStateReference(app){return APP_CHECK_STATES.get(app)||Object.assign({},DEFAULT_STATE)}function getDebugState(){return DEBUG_STATE}const BASE_ENDPOINT="https://content-firebaseappcheck.googleapis.com/v1",EXCHANGE_DEBUG_TOKEN_METHOD="exchangeDebugToken",TOKEN_REFRESH_TIME={OFFSET_DURATION:3e5,RETRIAL_MIN_WAIT:3e4,RETRIAL_MAX_WAIT:96e4};class Refresher{constructor(operation,retryPolicy,getWaitDuration,lowerBound,upperBound){if(this.operation=operation,this.retryPolicy=retryPolicy,this.getWaitDuration=getWaitDuration,this.lowerBound=lowerBound,this.upperBound=upperBound,this.pending=null,this.nextErrorWaitInterval=lowerBound,lowerBound>upperBound)throw new Error("Proactive refresh lower bound greater than upper bound!")}start(){this.nextErrorWaitInterval=this.lowerBound,this.process(!0).catch(()=>{})}stop(){this.pending&&(this.pending.reject("cancelled"),this.pending=null)}isRunning(){return!!this.pending}process(hasSucceeded){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){_this.stop();try{_this.pending=new index_esm2017_Deferred,yield function index_esm2017_sleep(ms){return new Promise(resolve=>{setTimeout(resolve,ms)})}(_this.getNextRun(hasSucceeded)),_this.pending.resolve(),yield _this.pending.promise,_this.pending=new index_esm2017_Deferred,yield _this.operation(),_this.pending.resolve(),yield _this.pending.promise,_this.process(!0).catch(()=>{})}catch(error){_this.retryPolicy(error)?_this.process(!1).catch(()=>{}):_this.stop()}})()}getNextRun(hasSucceeded){if(hasSucceeded)return this.nextErrorWaitInterval=this.lowerBound,this.getWaitDuration();{const currentErrorWaitInterval=this.nextErrorWaitInterval;return this.nextErrorWaitInterval*=2,this.nextErrorWaitInterval>this.upperBound&&(this.nextErrorWaitInterval=this.upperBound),currentErrorWaitInterval}}}const app_check_dist_esm_index_esm2017_ERROR_FACTORY=new ErrorFactory("appCheck","AppCheck",{"already-initialized":"You have already called initializeAppCheck() for FirebaseApp {$appName} with different options. To avoid this error, call initializeAppCheck() with the same options as when it was originally called. This will return the already initialized instance.","use-before-activation":"App Check is being used before initializeAppCheck() is called for FirebaseApp {$appName}. Call initializeAppCheck() before instantiating other Firebase services.","fetch-network-error":"Fetch failed to connect to a network. Check Internet connection. Original error: {$originalErrorMessage}.","fetch-parse-error":"Fetch client could not parse response. Original error: {$originalErrorMessage}.","fetch-status-error":"Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.","storage-open":"Error thrown when opening storage. Original error: {$originalErrorMessage}.","storage-get":"Error thrown when reading from storage. Original error: {$originalErrorMessage}.","storage-set":"Error thrown when writing to storage. Original error: {$originalErrorMessage}.","recaptcha-error":"ReCAPTCHA error.",throttled:"Requests throttled due to {$httpStatus} error. Attempts allowed again after {$time}"});function ensureActivated(app){if(!getStateReference(app).activated)throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("use-before-activation",{appName:app.name})}function exchangeToken(_x,_x2){return _exchangeToken.apply(this,arguments)}function _exchangeToken(){return(_exchangeToken=asyncToGenerator_asyncToGenerator(function*({url,body},heartbeatServiceProvider){const headers={"Content-Type":"application/json"},heartbeatService=heartbeatServiceProvider.getImmediate({optional:!0});if(heartbeatService){const heartbeatsHeader=yield heartbeatService.getHeartbeatsHeader();heartbeatsHeader&&(headers["X-Firebase-Client"]=heartbeatsHeader)}const options={method:"POST",body:JSON.stringify(body),headers};let response,responseBody;try{response=yield fetch(url,options)}catch(originalError){throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-network-error",{originalErrorMessage:originalError?.message})}if(200!==response.status)throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-status-error",{httpStatus:response.status});try{responseBody=yield response.json()}catch(originalError){throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-parse-error",{originalErrorMessage:originalError?.message})}const match2=responseBody.ttl.match(/^([\d.]+)(s)$/);if(!match2||!match2[2]||isNaN(Number(match2[1])))throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-parse-error",{originalErrorMessage:`ttl field (timeToLive) is not in standard Protobuf Duration format: ${responseBody.ttl}`});const timeToLiveAsNumber=1e3*Number(match2[1]),now=Date.now();return{token:responseBody.token,expireTimeMillis:now+timeToLiveAsNumber,issuedAtTimeMillis:now}})).apply(this,arguments)}function getExchangeDebugTokenRequest(app,debugToken){const{projectId,appId,apiKey}=app.options;return{url:`${BASE_ENDPOINT}/projects/${projectId}/apps/${appId}:${EXCHANGE_DEBUG_TOKEN_METHOD}?key=${apiKey}`,body:{debug_token:debugToken}}}const esm_index_esm2017_DB_NAME="firebase-app-check-database",esm_index_esm2017_DB_VERSION=1,index_esm2017_STORE_NAME="firebase-app-check-store";let dist_esm_index_esm2017_dbPromise=null;function _write(){return _write=asyncToGenerator_asyncToGenerator(function*(key,value){const transaction=(yield function getDBPromise(){return dist_esm_index_esm2017_dbPromise||(dist_esm_index_esm2017_dbPromise=new Promise((resolve,reject)=>{try{const request=indexedDB.open(esm_index_esm2017_DB_NAME,esm_index_esm2017_DB_VERSION);request.onsuccess=event=>{resolve(event.target.result)},request.onerror=event=>{var _a;reject(app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("storage-open",{originalErrorMessage:null===(_a=event.target.error)||void 0===_a?void 0:_a.message}))},request.onupgradeneeded=event=>{0===event.oldVersion&&event.target.result.createObjectStore(index_esm2017_STORE_NAME,{keyPath:"compositeKey"})}}catch(e2){reject(app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("storage-open",{originalErrorMessage:e2?.message}))}}),dist_esm_index_esm2017_dbPromise)}()).transaction(index_esm2017_STORE_NAME,"readwrite"),request=transaction.objectStore(index_esm2017_STORE_NAME).put({compositeKey:key,value});return new Promise((resolve,reject)=>{request.onsuccess=_event=>{resolve()},transaction.onerror=event=>{var _a;reject(app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("storage-set",{originalErrorMessage:null===(_a=event.target.error)||void 0===_a?void 0:_a.message}))}})}),_write.apply(this,arguments)}const dist_esm_index_esm2017_logger=new Logger("@firebase/app-check");function writeTokenToStorage(app,token){return index_esm2017_isIndexedDBAvailable()?function writeTokenToIndexedDB(app,token){return function write(_x3,_x4){return _write.apply(this,arguments)}(function index_esm2017_computeKey(app){return`${app.options.appId}-${app.name}`}(app),token)}(app,token).catch(e2=>{dist_esm_index_esm2017_logger.warn(`Failed to write token to IndexedDB. Error: ${e2}`)}):Promise.resolve()}function isDebugMode(){return getDebugState().enabled}function getDebugToken(){return _getDebugToken.apply(this,arguments)}function _getDebugToken(){return(_getDebugToken=asyncToGenerator_asyncToGenerator(function*(){const state2=getDebugState();if(state2.enabled&&state2.token)return state2.token.promise;throw Error("\n Can't get debug token in production mode.\n ")})).apply(this,arguments)}const defaultTokenErrorData={error:"UNKNOWN_ERROR"};function getToken$2(_x7){return index_esm2017_getToken$.apply(this,arguments)}function index_esm2017_getToken$(){return(index_esm2017_getToken$=asyncToGenerator_asyncToGenerator(function*(appCheck,forceRefresh=!1){const app=appCheck.app;ensureActivated(app);const state2=getStateReference(app);let error,token=state2.token;if(token&&!isValid(token)&&(state2.token=void 0,token=void 0),!token){const cachedToken=yield state2.cachedTokenPromise;cachedToken&&(isValid(cachedToken)?token=cachedToken:yield writeTokenToStorage(app,void 0))}if(!forceRefresh&&token&&isValid(token))return{token:token.token};let interopTokenResult,shouldCallListeners=!1;if(isDebugMode()){state2.exchangeTokenPromise||(state2.exchangeTokenPromise=exchangeToken(getExchangeDebugTokenRequest(app,yield getDebugToken()),appCheck.heartbeatServiceProvider).finally(()=>{state2.exchangeTokenPromise=void 0}),shouldCallListeners=!0);const tokenFromDebugExchange=yield state2.exchangeTokenPromise;return yield writeTokenToStorage(app,tokenFromDebugExchange),state2.token=tokenFromDebugExchange,{token:tokenFromDebugExchange.token}}try{state2.exchangeTokenPromise||(state2.exchangeTokenPromise=state2.provider.getToken().finally(()=>{state2.exchangeTokenPromise=void 0}),shouldCallListeners=!0),token=yield getStateReference(app).exchangeTokenPromise}catch(e2){"appCheck/throttled"===e2.code?dist_esm_index_esm2017_logger.warn(e2.message):dist_esm_index_esm2017_logger.error(e2),error=e2}return token?error?interopTokenResult=isValid(token)?{token:token.token,internalError:error}:makeDummyTokenResult(error):(interopTokenResult={token:token.token},state2.token=token,yield writeTokenToStorage(app,token)):interopTokenResult=makeDummyTokenResult(error),shouldCallListeners&&function notifyTokenListeners(app,token){const observers=getStateReference(app).tokenObservers;for(const observer of observers)try{"EXTERNAL"===observer.type&&null!=token.error?observer.error(token.error):observer.next(token)}catch{}}(app,interopTokenResult),interopTokenResult})).apply(this,arguments)}function getLimitedUseToken$1(_x8){return _getLimitedUseToken$.apply(this,arguments)}function _getLimitedUseToken$(){return(_getLimitedUseToken$=asyncToGenerator_asyncToGenerator(function*(appCheck){const app=appCheck.app;ensureActivated(app);const{provider}=getStateReference(app);if(isDebugMode()){const debugToken=yield getDebugToken(),{token}=yield exchangeToken(getExchangeDebugTokenRequest(app,debugToken),appCheck.heartbeatServiceProvider);return{token}}{const{token}=yield provider.getToken();return{token}}})).apply(this,arguments)}function removeTokenListener(app,listener){const state2=getStateReference(app),newObservers=state2.tokenObservers.filter(tokenObserver=>tokenObserver.next!==listener);0===newObservers.length&&state2.tokenRefresher&&state2.tokenRefresher.isRunning()&&state2.tokenRefresher.stop(),state2.tokenObservers=newObservers}function initTokenRefresher(appCheck){const{app}=appCheck,state2=getStateReference(app);let refresher=state2.tokenRefresher;refresher||(refresher=function createTokenRefresher(appCheck){const{app}=appCheck;return new Refresher(asyncToGenerator_asyncToGenerator(function*(){let result;if(result=getStateReference(app).token?yield getToken$2(appCheck,!0):yield getToken$2(appCheck),result.error)throw result.error;if(result.internalError)throw result.internalError}),()=>!0,()=>{const state2=getStateReference(app);if(state2.token){let nextRefreshTimeMillis=state2.token.issuedAtTimeMillis+.5*(state2.token.expireTimeMillis-state2.token.issuedAtTimeMillis)+3e5;return nextRefreshTimeMillis=Math.min(nextRefreshTimeMillis,state2.token.expireTimeMillis-3e5),Math.max(0,nextRefreshTimeMillis-Date.now())}return 0},TOKEN_REFRESH_TIME.RETRIAL_MIN_WAIT,TOKEN_REFRESH_TIME.RETRIAL_MAX_WAIT)}(appCheck),state2.tokenRefresher=refresher),!refresher.isRunning()&&state2.isTokenAutoRefreshEnabled&&refresher.start()}function isValid(token){return token.expireTimeMillis-Date.now()>0}function makeDummyTokenResult(error){return{token:(tokenErrorData=defaultTokenErrorData,base64.encodeString(JSON.stringify(tokenErrorData),!1)),error};var tokenErrorData}class AppCheckService{constructor(app,heartbeatServiceProvider){this.app=app,this.heartbeatServiceProvider=heartbeatServiceProvider}_delete(){const{tokenObservers}=getStateReference(this.app);for(const tokenObserver of tokenObservers)removeTokenListener(this.app,tokenObserver.next);return Promise.resolve()}}!function registerAppCheck(){_registerComponent(new index_esm2017_Component("app-check",container=>function index_esm2017_factory(app,heartbeatServiceProvider){return new AppCheckService(app,heartbeatServiceProvider)}(container.getProvider("app").getImmediate(),container.getProvider("heartbeat")),"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((container,_identifier,_appcheckService)=>{container.getProvider("app-check-internal").initialize()})),_registerComponent(new index_esm2017_Component("app-check-internal",container=>function index_esm2017_internalFactory(appCheck){return{getToken:forceRefresh=>getToken$2(appCheck,forceRefresh),getLimitedUseToken:()=>getLimitedUseToken$1(appCheck),addTokenListener:listener=>function addTokenListener(appCheck,type,listener,onError){const{app}=appCheck,state2=getStateReference(app);if(state2.tokenObservers=[...state2.tokenObservers,{next:listener,error:onError,type}],state2.token&&isValid(state2.token)){const validToken=state2.token;Promise.resolve().then(()=>{listener({token:validToken.token}),initTokenRefresher(appCheck)}).catch(()=>{})}state2.cachedTokenPromise.then(()=>initTokenRefresher(appCheck))}(appCheck,"INTERNAL",listener),removeTokenListener:listener=>removeTokenListener(appCheck.app,listener)}}(container.getProvider("app-check").getImmediate()),"PUBLIC").setInstantiationMode("EXPLICIT")),index_esm2017_registerVersion("@firebase/app-check","0.8.0")}();class angular_fire_app_check_AppCheckInstances{constructor(){return angular_fire_getAllInstancesOf("app-check")}}typeof window<"u"&&window;const CONFIG_STORAGE_BUCKET_KEY="storageBucket";class StorageError extends index_esm2017_FirebaseError{constructor(code,message,status_=0){super(prependCode(code),`Firebase Storage: ${message} (${prependCode(code)})`),this.status_=status_,this.customData={serverResponse:null},this._baseMessage=this.message,Object.setPrototypeOf(this,StorageError.prototype)}get status(){return this.status_}set status(status){this.status_=status}_codeEquals(code){return prependCode(code)===this.code}get serverResponse(){return this.customData.serverResponse}set serverResponse(serverResponse){this.customData.serverResponse=serverResponse,this.message=this.customData.serverResponse?`${this._baseMessage}\n${this.customData.serverResponse}`:this._baseMessage}}var StorageErrorCode=function(StorageErrorCode2){return StorageErrorCode2.UNKNOWN="unknown",StorageErrorCode2.OBJECT_NOT_FOUND="object-not-found",StorageErrorCode2.BUCKET_NOT_FOUND="bucket-not-found",StorageErrorCode2.PROJECT_NOT_FOUND="project-not-found",StorageErrorCode2.QUOTA_EXCEEDED="quota-exceeded",StorageErrorCode2.UNAUTHENTICATED="unauthenticated",StorageErrorCode2.UNAUTHORIZED="unauthorized",StorageErrorCode2.UNAUTHORIZED_APP="unauthorized-app",StorageErrorCode2.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",StorageErrorCode2.INVALID_CHECKSUM="invalid-checksum",StorageErrorCode2.CANCELED="canceled",StorageErrorCode2.INVALID_EVENT_NAME="invalid-event-name",StorageErrorCode2.INVALID_URL="invalid-url",StorageErrorCode2.INVALID_DEFAULT_BUCKET="invalid-default-bucket",StorageErrorCode2.NO_DEFAULT_BUCKET="no-default-bucket",StorageErrorCode2.CANNOT_SLICE_BLOB="cannot-slice-blob",StorageErrorCode2.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",StorageErrorCode2.NO_DOWNLOAD_URL="no-download-url",StorageErrorCode2.INVALID_ARGUMENT="invalid-argument",StorageErrorCode2.INVALID_ARGUMENT_COUNT="invalid-argument-count",StorageErrorCode2.APP_DELETED="app-deleted",StorageErrorCode2.INVALID_ROOT_OPERATION="invalid-root-operation",StorageErrorCode2.INVALID_FORMAT="invalid-format",StorageErrorCode2.INTERNAL_ERROR="internal-error",StorageErrorCode2.UNSUPPORTED_ENVIRONMENT="unsupported-environment",StorageErrorCode2}(StorageErrorCode||{});function prependCode(code){return"storage/"+code}function unknown(){return new StorageError(StorageErrorCode.UNKNOWN,"An unknown error occurred, please check the error payload for server response.")}function invalidArgument(message){return new StorageError(StorageErrorCode.INVALID_ARGUMENT,message)}function appDeleted(){return new StorageError(StorageErrorCode.APP_DELETED,"The Firebase app was deleted.")}function invalidFormat(format,message){return new StorageError(StorageErrorCode.INVALID_FORMAT,"String does not match format '"+format+"': "+message)}function internalError(message){throw new StorageError(StorageErrorCode.INTERNAL_ERROR,"Internal error: "+message)}class index_esm2017_Location{constructor(bucket,path){this.bucket=bucket,this.path_=path}get path(){return this.path_}get isRoot(){return 0===this.path.length}fullServerUrl(){const encode2=encodeURIComponent;return"/b/"+encode2(this.bucket)+"/o/"+encode2(this.path)}bucketOnlyServerUrl(){return"/b/"+encodeURIComponent(this.bucket)+"/o"}static makeFromBucketSpec(bucketString,host){let bucketLocation;try{bucketLocation=index_esm2017_Location.makeFromUrl(bucketString,host)}catch{return new index_esm2017_Location(bucketString,"")}if(""===bucketLocation.path)return bucketLocation;throw function invalidDefaultBucket(bucket){return new StorageError(StorageErrorCode.INVALID_DEFAULT_BUCKET,"Invalid default bucket '"+bucket+"'.")}(bucketString)}static makeFromUrl(url,host){let location2=null;const gsRegex=new RegExp("^gs://([A-Za-z0-9.\\-_]+)(/(.*))?$","i");function httpModify(loc){loc.path_=decodeURIComponent(loc.path)}const firebaseStorageHost=host.replace(/[.]/g,"\\."),groups=[{regex:gsRegex,indices:{bucket:1,path:3},postModify:function gsModify(loc){"/"===loc.path.charAt(loc.path.length-1)&&(loc.path_=loc.path_.slice(0,-1))}},{regex:new RegExp(`^https?://${firebaseStorageHost}/v[A-Za-z0-9_]+/b/([A-Za-z0-9.\\-_]+)/o(/([^?#]*).*)?$`,"i"),indices:{bucket:1,path:3},postModify:httpModify},{regex:new RegExp(`^https?://${"firebasestorage.googleapis.com"===host?"(?:storage.googleapis.com|storage.cloud.google.com)":host}/([A-Za-z0-9.\\-_]+)/([^?#]*)`,"i"),indices:{bucket:1,path:2},postModify:httpModify}];for(let i6=0;i6maxValue)throw invalidArgument(`Invalid value for '${argument}'. Expected ${maxValue} or less.`)}function makeUrl(urlPart,host,protocol){let origin=host;return null==protocol&&(origin=`https://${host}`),`${protocol}://${origin}/v0${urlPart}`}var ErrorCode=function(ErrorCode2){return ErrorCode2[ErrorCode2.NO_ERROR=0]="NO_ERROR",ErrorCode2[ErrorCode2.NETWORK_ERROR=1]="NETWORK_ERROR",ErrorCode2[ErrorCode2.ABORT=2]="ABORT",ErrorCode2}(ErrorCode||{});class NetworkRequest{constructor(url_,method_,headers_,body_,successCodes_,additionalRetryCodes_,callback_,errorCallback_,timeout_,progressCallback_,connectionFactory_,retry2=!0){this.url_=url_,this.method_=method_,this.headers_=headers_,this.body_=body_,this.successCodes_=successCodes_,this.additionalRetryCodes_=additionalRetryCodes_,this.callback_=callback_,this.errorCallback_=errorCallback_,this.timeout_=timeout_,this.progressCallback_=progressCallback_,this.connectionFactory_=connectionFactory_,this.retry=retry2,this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.promise_=new Promise((resolve,reject)=>{this.resolve_=resolve,this.reject_=reject,this.start_()})}start_(){const backoffDone=(requestWentThrough,status)=>{const resolve=this.resolve_,reject=this.reject_,connection=status.connection;if(status.wasSuccessCode)try{const result=this.callback_(connection,connection.getResponse());!function isJustDef(p){return void 0!==p}(result)?resolve():resolve(result)}catch(e2){reject(e2)}else if(null!==connection){const err=unknown();err.serverResponse=connection.getErrorText(),reject(this.errorCallback_?this.errorCallback_(connection,err):err)}else reject(status.canceled?this.appDelete_?appDeleted():function canceled(){return new StorageError(StorageErrorCode.CANCELED,"User canceled the upload/download.")}():function retryLimitExceeded(){return new StorageError(StorageErrorCode.RETRY_LIMIT_EXCEEDED,"Max retry time for operation exceeded, please try again.")}())};this.canceled_?backoffDone(0,new RequestEndStatus(!1,null,!0)):this.backoffId_=function start(doRequest,backoffCompleteCb,timeout){let waitSeconds=1,retryTimeoutId=null,globalTimeoutId=null,hitTimeout=!1,cancelState=0;function canceled2(){return 2===cancelState}let triggeredCallback=!1;function triggerCallback(...args){triggeredCallback||(triggeredCallback=!0,backoffCompleteCb.apply(null,args))}function callWithDelay(millis){retryTimeoutId=setTimeout(()=>{retryTimeoutId=null,doRequest(responseHandler,canceled2())},millis)}function clearGlobalTimeout(){globalTimeoutId&&clearTimeout(globalTimeoutId)}function responseHandler(success,...args){if(triggeredCallback)return void clearGlobalTimeout();if(success)return clearGlobalTimeout(),void triggerCallback.call(null,success,...args);if(canceled2()||hitTimeout)return clearGlobalTimeout(),void triggerCallback.call(null,success,...args);let waitMillis;waitSeconds<64&&(waitSeconds*=2),1===cancelState?(cancelState=2,waitMillis=0):waitMillis=1e3*(waitSeconds+Math.random()),callWithDelay(waitMillis)}let stopped=!1;function stop2(wasTimeout){stopped||(stopped=!0,clearGlobalTimeout(),!triggeredCallback&&(null!==retryTimeoutId?(wasTimeout||(cancelState=2),clearTimeout(retryTimeoutId),callWithDelay(0)):wasTimeout||(cancelState=1)))}return callWithDelay(0),globalTimeoutId=setTimeout(()=>{hitTimeout=!0,stop2(!0)},timeout),stop2}((backoffCallback,canceled2)=>{if(canceled2)return void backoffCallback(!1,new RequestEndStatus(!1,null,!0));const connection=this.connectionFactory_();this.pendingConnection_=connection;const progressListener=progressEvent=>{null!==this.progressCallback_&&this.progressCallback_(progressEvent.loaded,progressEvent.lengthComputable?progressEvent.total:-1)};null!==this.progressCallback_&&connection.addUploadProgressListener(progressListener),connection.send(this.url_,this.method_,this.body_,this.headers_).then(()=>{null!==this.progressCallback_&&connection.removeUploadProgressListener(progressListener),this.pendingConnection_=null;const hitServer=connection.getErrorCode()===ErrorCode.NO_ERROR,status=connection.getStatus();if(!hitServer||function isRetryStatusCode(status,additionalRetryCodes){const isFiveHundredCode=status>=500&&status<600,isExtraRetryCode=-1!==[408,429].indexOf(status),isAdditionalRetryCode=-1!==additionalRetryCodes.indexOf(status);return isFiveHundredCode||isExtraRetryCode||isAdditionalRetryCode}(status,this.additionalRetryCodes_)&&this.retry){const wasCanceled=connection.getErrorCode()===ErrorCode.ABORT;return void backoffCallback(!1,new RequestEndStatus(!1,null,wasCanceled))}const successCode=-1!==this.successCodes_.indexOf(status);backoffCallback(!0,new RequestEndStatus(successCode,connection))})},backoffDone,this.timeout_)}getPromise(){return this.promise_}cancel(appDelete){this.canceled_=!0,this.appDelete_=appDelete||!1,null!==this.backoffId_&&function stop(id){id(!1)}(this.backoffId_),null!==this.pendingConnection_&&this.pendingConnection_.abort()}}class RequestEndStatus{constructor(wasSuccessCode,connection,canceled2){this.wasSuccessCode=wasSuccessCode,this.connection=connection,this.canceled=!!canceled2}}function getBlob$1(...args){const BlobBuilder2=function getBlobBuilder(){return typeof BlobBuilder<"u"?BlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:void 0}();if(void 0!==BlobBuilder2){const bb=new BlobBuilder2;for(let i6=0;i6>6,128|63&c):55296==(64512&c)?i6>18,128|c>>12&63,128|c>>6&63,128|63&c)):b.push(239,191,189):56320==(64512&c)?b.push(239,191,189):b.push(224|c>>12,128|c>>6&63,128|63&c)}return new Uint8Array(b)}function base64Bytes_(format,value){switch(format){case StringFormat.BASE64:{const hasMinus=-1!==value.indexOf("-"),hasUnder=-1!==value.indexOf("_");if(hasMinus||hasUnder)throw invalidFormat(format,"Invalid character '"+(hasMinus?"-":"_")+"' found: is it base64url encoded?");break}case StringFormat.BASE64URL:{const hasPlus=-1!==value.indexOf("+"),hasSlash=-1!==value.indexOf("/");if(hasPlus||hasSlash)throw invalidFormat(format,"Invalid character '"+(hasPlus?"+":"/")+"' found: is it base64 encoded?");value=value.replace(/-/g,"+").replace(/_/g,"/");break}}let bytes;try{bytes=function decodeBase64(encoded){if(typeof atob>"u")throw function missingPolyFill(polyFill){return new StorageError(StorageErrorCode.UNSUPPORTED_ENVIRONMENT,`${polyFill} is missing. Make sure to install the required polyfills. See https://firebase.google.com/docs/web/environments-js-sdk#polyfills for more information.`)}("base-64");return atob(encoded)}(value)}catch(e2){throw e2.message.includes("polyfill")?e2:invalidFormat(format,"Invalid character found")}const array=new Uint8Array(bytes.length);for(let i6=0;i6][;base64],");const middle=matches[1]||null;null!=middle&&(this.base64=function endsWith(s,end){return s.length>=end.length&&s.substring(s.length-end.length)===end}(middle,";base64"),this.contentType=this.base64?middle.substring(0,middle.length-7):middle),this.rest=dataURL.substring(dataURL.indexOf(",")+1)}}class FbsBlob{constructor(data,elideCopy){let size=0,blobType="";isNativeBlob(data)?(this.data_=data,size=data.size,blobType=data.type):data instanceof ArrayBuffer?(elideCopy?this.data_=new Uint8Array(data):(this.data_=new Uint8Array(data.byteLength),this.data_.set(new Uint8Array(data))),size=this.data_.length):data instanceof Uint8Array&&(elideCopy?this.data_=data:(this.data_=new Uint8Array(data.length),this.data_.set(data)),size=data.length),this.size_=size,this.type_=blobType}size(){return this.size_}type(){return this.type_}slice(startByte,endByte){if(isNativeBlob(this.data_)){const sliced=function sliceBlob(blob,start2,end){return blob.webkitSlice?blob.webkitSlice(start2,end):blob.mozSlice?blob.mozSlice(start2,end):blob.slice?blob.slice(start2,end):null}(this.data_,startByte,endByte);return null===sliced?null:new FbsBlob(sliced)}{const slice=new Uint8Array(this.data_.buffer,startByte,endByte-startByte);return new FbsBlob(slice,!0)}}static getBlob(...args){if(isNativeBlobDefined()){const blobby=args.map(val=>val instanceof FbsBlob?val.data_:val);return new FbsBlob(getBlob$1.apply(null,blobby))}{const uint8Arrays=args.map(val=>index_esm2017_isString(val)?dataFromString(StringFormat.RAW,val).data:val.data_);let finalLength=0;uint8Arrays.forEach(array=>{finalLength+=array.byteLength});const merged=new Uint8Array(finalLength);let index=0;return uint8Arrays.forEach(array=>{for(let i6=0;i6data,service.maxOperationRetryTime);return requestInfo.errorHandler=function objectErrorHandler(location2){const shared=sharedErrorHandler(location2);return function errorHandler2(xhr,err){let newErr=shared(xhr,err);return 404===xhr.getStatus()&&(newErr=function objectNotFound(path){return new StorageError(StorageErrorCode.OBJECT_NOT_FOUND,"Object '"+path+"' does not exist.")}(location2.path)),newErr.serverResponse=err.serverResponse,newErr}}(location2),void 0!==maxDownloadSizeBytes&&(requestInfo.headers.Range=`bytes=0-${maxDownloadSizeBytes}`,requestInfo.successCodes=[200,206]),requestInfo}function multipartUpload(service,location2,mappings,blob,metadata){const urlPart=location2.bucketOnlyServerUrl(),headers={"X-Goog-Upload-Protocol":"multipart"},boundary=function genBoundary(){let str="";for(let i6=0;i6<2;i6++)str+=Math.random().toString().slice(2);return str}();headers["Content-Type"]="multipart/related; boundary="+boundary;const metadata_=function metadataForUpload_(location2,blob,metadata){const metadataClone=Object.assign({},metadata);return metadataClone.fullPath=location2.path,metadataClone.size=blob.size(),metadataClone.contentType||(metadataClone.contentType=function determineContentType_(metadata,blob){return metadata&&metadata.contentType||blob&&blob.type()||"application/octet-stream"}(null,blob)),metadataClone}(location2,blob,metadata),metadataString=function toResourceString(metadata,mappings){const resource={},len=mappings.length;for(let i6=0;i6{this.xhr_.addEventListener("abort",()=>{this.errorCode_=ErrorCode.ABORT,resolve()}),this.xhr_.addEventListener("error",()=>{this.errorCode_=ErrorCode.NETWORK_ERROR,resolve()}),this.xhr_.addEventListener("load",()=>{resolve()})})}send(url,method,body,headers){if(this.sent_)throw internalError("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(method,url,!0),void 0!==headers)for(const key in headers)headers.hasOwnProperty(key)&&this.xhr_.setRequestHeader(key,headers[key].toString());return void 0!==body?this.xhr_.send(body):this.xhr_.send(),this.sendPromise_}getErrorCode(){if(!this.sent_)throw internalError("cannot .getErrorCode() before sending");return this.errorCode_}getStatus(){if(!this.sent_)throw internalError("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}}getResponse(){if(!this.sent_)throw internalError("cannot .getResponse() before sending");return this.xhr_.response}getErrorText(){if(!this.sent_)throw internalError("cannot .getErrorText() before sending");return this.xhr_.statusText}abort(){this.xhr_.abort()}getResponseHeader(header){return this.xhr_.getResponseHeader(header)}addUploadProgressListener(listener){null!=this.xhr_.upload&&this.xhr_.upload.addEventListener("progress",listener)}removeUploadProgressListener(listener){null!=this.xhr_.upload&&this.xhr_.upload.removeEventListener("progress",listener)}}class XhrTextConnection extends XhrConnection{initXhr(){this.xhr_.responseType="text"}}function newTextConnection(){return textFactoryOverride?textFactoryOverride():new XhrTextConnection}class XhrBlobConnection extends XhrConnection{initXhr(){this.xhr_.responseType="blob"}}function newBlobConnection(){return new XhrBlobConnection}class Reference{constructor(_service,location2){this._service=_service,this._location=location2 instanceof index_esm2017_Location?location2:index_esm2017_Location.makeFromUrl(location2,_service.host)}toString(){return"gs://"+this._location.bucket+"/"+this._location.path}_newRef(service,location2){return new Reference(service,location2)}get root(){const location2=new index_esm2017_Location(this._location.bucket,"");return this._newRef(this._service,location2)}get bucket(){return this._location.bucket}get fullPath(){return this._location.path}get name(){return lastComponent(this._location.path)}get storage(){return this._service}get parent(){const newPath=function index_esm2017_parent(path){if(0===path.length)return null;const index=path.lastIndexOf("/");return-1===index?"":path.slice(0,index)}(this._location.path);if(null===newPath)return null;const location2=new index_esm2017_Location(this._location.bucket,newPath);return new Reference(this._service,location2)}_throwIfRoot(name){if(""===this._location.path)throw function invalidRootOperation(name){return new StorageError(StorageErrorCode.INVALID_ROOT_OPERATION,"The operation '"+name+"' cannot be performed on a root reference, create a non-root reference using child, such as .child('file.png').")}(name)}}function index_esm2017_uploadBytes$1(ref2,data,metadata){ref2._throwIfRoot("uploadBytes");const requestInfo=multipartUpload(ref2.storage,ref2._location,function getMappings(){if(mappings_)return mappings_;const mappings=[];mappings.push(new Mapping("bucket")),mappings.push(new Mapping("generation")),mappings.push(new Mapping("metageneration")),mappings.push(new Mapping("name","fullPath",!0));const nameMapping=new Mapping("name");nameMapping.xform=function mappingsXformPath(_metadata,fullPath){return function xformPath(fullPath){return!index_esm2017_isString(fullPath)||fullPath.length<2?fullPath:lastComponent(fullPath)}(fullPath)},mappings.push(nameMapping);const sizeMapping=new Mapping("size");return sizeMapping.xform=function xformSize(_metadata,size){return void 0!==size?Number(size):size},mappings.push(sizeMapping),mappings.push(new Mapping("timeCreated")),mappings.push(new Mapping("updated")),mappings.push(new Mapping("md5Hash",null,!0)),mappings.push(new Mapping("cacheControl",null,!0)),mappings.push(new Mapping("contentDisposition",null,!0)),mappings.push(new Mapping("contentEncoding",null,!0)),mappings.push(new Mapping("contentLanguage",null,!0)),mappings.push(new Mapping("contentType",null,!0)),mappings.push(new Mapping("metadata","customMetadata",!0)),mappings_=mappings,mappings_}(),new FbsBlob(data,!0),metadata);return ref2.storage.makeRequestWithTokens(requestInfo,newTextConnection).then(finalMetadata=>({metadata:finalMetadata,ref:ref2}))}function refFromPath(ref2,path){if(ref2 instanceof FirebaseStorageImpl){const service=ref2;if(null==service._bucket)throw function noDefaultBucket(){return new StorageError(StorageErrorCode.NO_DEFAULT_BUCKET,"No default bucket found. Did you set the '"+CONFIG_STORAGE_BUCKET_KEY+"' property when initializing the app?")}();const reference=new Reference(service,service._bucket);return null!=path?refFromPath(reference,path):reference}return void 0!==path?function _getChild$1(ref2,childPath){const newPath=function child(path,childPath){const canonicalChildPath=childPath.split("/").filter(component=>component.length>0).join("/");return 0===path.length?canonicalChildPath:path+"/"+canonicalChildPath}(ref2._location.path,childPath),location2=new index_esm2017_Location(ref2._location.bucket,newPath);return new Reference(ref2.storage,location2)}(ref2,path):ref2}function extractBucket(host,config2){const bucketString=config2?.[CONFIG_STORAGE_BUCKET_KEY];return null==bucketString?null:index_esm2017_Location.makeFromBucketSpec(bucketString,host)}class FirebaseStorageImpl{constructor(app,_authProvider,_appCheckProvider,_url,_firebaseVersion){this.app=app,this._authProvider=_authProvider,this._appCheckProvider=_appCheckProvider,this._url=_url,this._firebaseVersion=_firebaseVersion,this._bucket=null,this._host="firebasestorage.googleapis.com",this._protocol="https",this._appId=null,this._deleted=!1,this._maxOperationRetryTime=12e4,this._maxUploadRetryTime=6e5,this._requests=new Set,this._bucket=null!=_url?index_esm2017_Location.makeFromBucketSpec(_url,this._host):extractBucket(this._host,this.app.options)}get host(){return this._host}set host(host){this._host=host,this._bucket=null!=this._url?index_esm2017_Location.makeFromBucketSpec(this._url,host):extractBucket(host,this.app.options)}get maxUploadRetryTime(){return this._maxUploadRetryTime}set maxUploadRetryTime(time){validateNumber("time",0,Number.POSITIVE_INFINITY,time),this._maxUploadRetryTime=time}get maxOperationRetryTime(){return this._maxOperationRetryTime}set maxOperationRetryTime(time){validateNumber("time",0,Number.POSITIVE_INFINITY,time),this._maxOperationRetryTime=time}_getAuthToken(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this._overrideAuthToken)return _this._overrideAuthToken;const auth=_this._authProvider.getImmediate({optional:!0});if(auth){const tokenData=yield auth.getToken();if(null!==tokenData)return tokenData.accessToken}return null})()}_getAppCheckToken(){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){const appCheck=_this2._appCheckProvider.getImmediate({optional:!0});return appCheck?(yield appCheck.getToken()).token:null})()}_delete(){return this._deleted||(this._deleted=!0,this._requests.forEach(request=>request.cancel()),this._requests.clear()),Promise.resolve()}_makeStorageReference(loc){return new Reference(this,loc)}_makeRequest(requestInfo,requestFactory,authToken,appCheckToken,retry2=!0){if(this._deleted)return new FailRequest(appDeleted());{const request=function makeRequest(requestInfo,appId,authToken,appCheckToken,requestFactory,firebaseVersion,retry2=!0){const queryPart=function makeQueryString(params){const encode2=encodeURIComponent;let queryPart="?";for(const key in params)params.hasOwnProperty(key)&&(queryPart=queryPart+(encode2(key)+"=")+encode2(params[key])+"&");return queryPart=queryPart.slice(0,-1),queryPart}(requestInfo.urlParams),url=requestInfo.url+queryPart,headers=Object.assign({},requestInfo.headers);return function addGmpidHeader_(headers,appId){appId&&(headers["X-Firebase-GMPID"]=appId)}(headers,appId),function addAuthHeader_(headers,authToken){null!==authToken&&authToken.length>0&&(headers.Authorization="Firebase "+authToken)}(headers,authToken),function addVersionHeader_(headers,firebaseVersion){headers["X-Firebase-Storage-Version"]="webjs/"+(firebaseVersion??"AppManager")}(headers,firebaseVersion),function addAppCheckHeader_(headers,appCheckToken){null!==appCheckToken&&(headers["X-Firebase-AppCheck"]=appCheckToken)}(headers,appCheckToken),new NetworkRequest(url,requestInfo.method,headers,requestInfo.body,requestInfo.successCodes,requestInfo.additionalRetryCodes,requestInfo.handler,requestInfo.errorHandler,requestInfo.timeout,requestInfo.progressCallback,requestFactory,retry2)}(requestInfo,this._appId,authToken,appCheckToken,requestFactory,this._firebaseVersion,retry2);return this._requests.add(request),request.getPromise().then(()=>this._requests.delete(request),()=>this._requests.delete(request)),request}}makeRequestWithTokens(requestInfo,requestFactory){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){const[authToken,appCheckToken]=yield Promise.all([_this3._getAuthToken(),_this3._getAppCheckToken()]);return _this3._makeRequest(requestInfo,requestFactory,authToken,appCheckToken).getPromise()})()}}function uploadString(ref2,value,format,metadata){return function uploadString$1(ref2,value,format=StringFormat.RAW,metadata){ref2._throwIfRoot("uploadString");const data=dataFromString(format,value),metadataClone=Object.assign({},metadata);return null==metadataClone.contentType&&null!=data.contentType&&(metadataClone.contentType=data.contentType),index_esm2017_uploadBytes$1(ref2,data.data,metadataClone)}(ref2=index_esm2017_getModularInstance(ref2),value,format,metadata)}function ref(serviceOrRef,pathOrUrl){return function ref$1(serviceOrRef,pathOrUrl){if(pathOrUrl&&function isUrl(path){return/^[A-Za-z]+:\/\//.test(path)}(pathOrUrl)){if(serviceOrRef instanceof FirebaseStorageImpl)return function refFromURL(service,url){return new Reference(service,url)}(serviceOrRef,pathOrUrl);throw invalidArgument("To use ref(service, url), the first argument must be a Storage instance.")}return refFromPath(serviceOrRef,pathOrUrl)}(serviceOrRef=index_esm2017_getModularInstance(serviceOrRef),pathOrUrl)}function getStorage(app=index_esm2017_getApp(),bucketUrl){const storageInstance=index_esm2017_getProvider(app=index_esm2017_getModularInstance(app),"storage").getImmediate({identifier:bucketUrl}),emulator=(productName=>{const host=(productName=>{var _a,_b;return null===(_b=null===(_a=getDefaults())||void 0===_a?void 0:_a.emulatorHosts)||void 0===_b?void 0:_b[productName]})(productName);if(!host)return;const separatorIndex=host.lastIndexOf(":");if(separatorIndex<=0||separatorIndex+1===host.length)throw new Error(`Invalid host ${host} with no separate hostname and port!`);const port=parseInt(host.substring(separatorIndex+1),10);return"["===host[0]?[host.substring(1,separatorIndex-1),port]:[host.substring(0,separatorIndex),port]})("storage");return emulator&&function connectStorageEmulator(storage,host,port,options={}){!function index_esm2017_connectStorageEmulator$1(storage,host,port,options={}){storage.host=`${host}:${port}`,storage._protocol="http";const{mockUserToken}=options;mockUserToken&&(storage._overrideAuthToken="string"==typeof mockUserToken?mockUserToken:function createMockUserToken(token,projectId){if(token.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');const project=projectId||"demo-project",iat=token.iat||0,sub=token.sub||token.user_id;if(!sub)throw new Error("mockUserToken must contain 'sub' or 'user_id' field!");const payload=Object.assign({iss:`https://securetoken.google.com/${project}`,aud:project,iat,exp:iat+3600,auth_time:iat,sub,user_id:sub,firebase:{sign_in_provider:"custom",identities:{}}},token);return[base64urlEncodeWithoutPadding(JSON.stringify({alg:"none",type:"JWT"})),base64urlEncodeWithoutPadding(JSON.stringify(payload)),""].join(".")}(mockUserToken,storage.app.options.projectId))}(storage,host,port,options)}(storageInstance,...emulator),storageInstance}function getBlob(ref2,maxDownloadSizeBytes){return function getBlobInternal(ref2,maxDownloadSizeBytes){ref2._throwIfRoot("getBlob");const requestInfo=index_esm2017_getBytes$1(ref2.storage,ref2._location,maxDownloadSizeBytes);return ref2.storage.makeRequestWithTokens(requestInfo,newBlobConnection).then(blob=>void 0!==maxDownloadSizeBytes?blob.slice(0,maxDownloadSizeBytes):blob)}(ref2=index_esm2017_getModularInstance(ref2),maxDownloadSizeBytes)}function dist_index_esm2017_factory(container,{instanceIdentifier:url}){const app=container.getProvider("app").getImmediate(),authProvider=container.getProvider("auth-internal"),appCheckProvider=container.getProvider("app-check-internal");return new FirebaseStorageImpl(app,authProvider,appCheckProvider,url,index_esm2017_SDK_VERSION)}!function registerStorage(){_registerComponent(new index_esm2017_Component("storage",dist_index_esm2017_factory,"PUBLIC").setMultipleInstances(!0)),index_esm2017_registerVersion("@firebase/storage","0.11.2",""),index_esm2017_registerVersion("@firebase/storage","0.11.2","esm2017")}();class angular_fire_storage_Storage{constructor(auth){return auth}}const PROVIDED_STORAGE_INSTANCES=new InjectionToken("angularfire2.storage-instances");function storageInstanceFactory(fn){return(zone,injector)=>{const storage=zone.runOutsideAngular(()=>fn(injector));return new angular_fire_storage_Storage(storage)}}const STORAGE_INSTANCES_PROVIDER={provide:class StorageInstances{constructor(){return angular_fire_getAllInstancesOf("storage")}},deps:[[new core_Optional,PROVIDED_STORAGE_INSTANCES]]},DEFAULT_STORAGE_INSTANCE_PROVIDER={provide:angular_fire_storage_Storage,useFactory:function defaultStorageInstanceFactory(provided,defaultApp){const defaultStorage=function \u0275getDefaultInstanceOf(identifier,provided,defaultApp){if(provided){if(1===provided.length)return provided[0];const providedUsingDefaultApp=provided.filter(it=>it.app===defaultApp);if(1===providedUsingDefaultApp.length)return providedUsingDefaultApp[0]}return defaultApp.container.getProvider(identifier).getImmediate({optional:!0})}("storage",provided,defaultApp);return defaultStorage&&new angular_fire_storage_Storage(defaultStorage)},deps:[[new core_Optional,PROVIDED_STORAGE_INSTANCES],FirebaseApp]};let StorageModule=(()=>{class StorageModule2{constructor(){index_esm2017_registerVersion("angularfire",angular_fire_VERSION.full,"gcs")}}return StorageModule2.\u0275fac=function(t){return new(t||StorageModule2)},StorageModule2.\u0275mod=\u0275\u0275defineNgModule({type:StorageModule2}),StorageModule2.\u0275inj=\u0275\u0275defineInjector({providers:[DEFAULT_STORAGE_INSTANCE_PROVIDER,STORAGE_INSTANCES_PROVIDER]}),StorageModule2})();function provideStorage(fn,...deps){return{ngModule:StorageModule,providers:[{provide:PROVIDED_STORAGE_INSTANCES,useFactory:storageInstanceFactory(fn),multi:!0,deps:[core_NgZone,core_Injector,angular_fire_AngularFireSchedulers,angular_fire_app_FirebaseApps,[new core_Optional,AuthInstances],[new core_Optional,angular_fire_app_check_AppCheckInstances],...deps]}]}}const angular_fire_storage_getBlob=angular_fire_zoneWrap(getBlob,!0),angular_fire_storage_getStorage=angular_fire_zoneWrap(getStorage,!0),angular_fire_storage_ref=angular_fire_zoneWrap(ref,!0),angular_fire_storage_uploadString=angular_fire_zoneWrap(uploadString,!0),{isArray}=Array,{getPrototypeOf,prototype:objectProto,keys:getKeys}=Object;function argsArgArrayOrObject(args){if(1===args.length){const first2=args[0];if(isArray(first2))return{args:first2,keys:null};if(function isPOJO(obj){return obj&&"object"==typeof obj&&getPrototypeOf(obj)===objectProto}(first2)){const keys=getKeys(first2);return{args:keys.map(key=>first2[key]),keys}}}return{args,keys:null}}const{isArray:mapOneOrManyArgs_isArray}=Array;function mapOneOrManyArgs(fn){return map_map(args=>function callOrApply(fn,args){return mapOneOrManyArgs_isArray(args)?fn(...args):fn(args)}(fn,args))}function createObject(keys,values){return keys.reduce((result,key,i6)=>(result[key]=values[i6],result),{})}function forkJoin(...args){const resultSelector=popResultSelector(args),{args:sources,keys}=argsArgArrayOrObject(args),result=new Observable_Observable(subscriber=>{const{length}=sources;if(!length)return void subscriber.complete();const values=new Array(length);let remainingCompletions=length,remainingEmissions=length;for(let sourceIndex=0;sourceIndex{hasValue||(hasValue=!0,remainingEmissions--),values[sourceIndex]=value},()=>remainingCompletions--,void 0,()=>{(!remainingCompletions||!hasValue)&&(remainingEmissions||subscriber.next(keys?createObject(keys,values):values),subscriber.complete())}))}});return resultSelector?result.pipe(mapOneOrManyArgs(resultSelector)):result}let BaseControlValueAccessor=(()=>{var _class2;class BaseControlValueAccessor2{constructor(_renderer,_elementRef){this._renderer=_renderer,this._elementRef=_elementRef,this.onChange=_=>{},this.onTouched=()=>{}}setProperty(key,value){this._renderer.setProperty(this._elementRef.nativeElement,key,value)}registerOnTouched(fn){this.onTouched=fn}registerOnChange(fn){this.onChange=fn}setDisabledState(isDisabled){this.setProperty("disabled",isDisabled)}}return(_class2=BaseControlValueAccessor2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(core_ElementRef))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2}),BaseControlValueAccessor2})(),BuiltInControlValueAccessor=(()=>{var _class2;class BuiltInControlValueAccessor2 extends BaseControlValueAccessor{}return(_class2=BuiltInControlValueAccessor2).\u0275fac=function(){let \u0275_class2_BaseFactory;return function(t){return(\u0275_class2_BaseFactory||(\u0275_class2_BaseFactory=\u0275\u0275getInheritedFactory(_class2)))(t||_class2)}}(),_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,features:[\u0275\u0275InheritDefinitionFeature]}),BuiltInControlValueAccessor2})();const NG_VALUE_ACCESSOR=new InjectionToken("NgValueAccessor"),DEFAULT_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:core_forwardRef(()=>DefaultValueAccessor),multi:!0},COMPOSITION_BUFFER_MODE=new InjectionToken("CompositionEventMode");let DefaultValueAccessor=(()=>{var _class4;class DefaultValueAccessor2 extends BaseControlValueAccessor{constructor(renderer,elementRef,_compositionMode){super(renderer,elementRef),this._compositionMode=_compositionMode,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function forms_isAndroid(){const userAgent=getDOM()?getDOM().getUserAgent():"";return/android (\d+)/.test(userAgent.toLowerCase())}())}writeValue(value){this.setProperty("value",value??"")}_handleInput(value){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(value)}_compositionStart(){this._composing=!0}_compositionEnd(value){this._composing=!1,this._compositionMode&&this.onChange(value)}}return(_class4=DefaultValueAccessor2).\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(COMPOSITION_BUFFER_MODE,8))},_class4.\u0275dir=\u0275\u0275defineDirective({type:_class4,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(rf,ctx){1&rf&&\u0275\u0275listener("input",function($event){return ctx._handleInput($event.target.value)})("blur",function(){return ctx.onTouched()})("compositionstart",function(){return ctx._compositionStart()})("compositionend",function($event){return ctx._compositionEnd($event.target.value)})},features:[\u0275\u0275ProvidersFeature([DEFAULT_VALUE_ACCESSOR]),\u0275\u0275InheritDefinitionFeature]}),DefaultValueAccessor2})();const NG_VALIDATORS=new InjectionToken("NgValidators"),NG_ASYNC_VALIDATORS=new InjectionToken("NgAsyncValidators");function isPresent(o){return null!=o}function toObservable(value){return core_isPromise(value)?from_from(value):value}function mergeErrors(arrayOfErrors){let res={};return arrayOfErrors.forEach(errors=>{res=null!=errors?{...res,...errors}:res}),0===Object.keys(res).length?null:res}function executeValidators(control,validators){return validators.map(validator=>validator(control))}function normalizeValidators(validators){return validators.map(validator=>function isValidatorFn(validator){return!validator.validate}(validator)?validator:c=>validator.validate(c))}function composeValidators(validators){return null!=validators?function compose(validators){if(!validators)return null;const presentValidators=validators.filter(isPresent);return 0==presentValidators.length?null:function(control){return mergeErrors(executeValidators(control,presentValidators))}}(normalizeValidators(validators)):null}function composeAsyncValidators(validators){return null!=validators?function composeAsync(validators){if(!validators)return null;const presentValidators=validators.filter(isPresent);return 0==presentValidators.length?null:function(control){return forkJoin(executeValidators(control,presentValidators).map(toObservable)).pipe(map_map(mergeErrors))}}(normalizeValidators(validators)):null}function mergeValidators(controlValidators,dirValidator){return null===controlValidators?[dirValidator]:Array.isArray(controlValidators)?[...controlValidators,dirValidator]:[controlValidators,dirValidator]}function makeValidatorsArray(validators){return validators?Array.isArray(validators)?validators:[validators]:[]}function hasValidator(validators,validator){return Array.isArray(validators)?validators.includes(validator):validators===validator}function addValidators(validators,currentValidators){const current=makeValidatorsArray(currentValidators);return makeValidatorsArray(validators).forEach(v=>{hasValidator(current,v)||current.push(v)}),current}function removeValidators(validators,currentValidators){return makeValidatorsArray(currentValidators).filter(v=>!hasValidator(validators,v))}class AbstractControlDirective{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(validators){this._rawValidators=validators||[],this._composedValidatorFn=composeValidators(this._rawValidators)}_setAsyncValidators(validators){this._rawAsyncValidators=validators||[],this._composedAsyncValidatorFn=composeAsyncValidators(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(fn){this._onDestroyCallbacks.push(fn)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(fn=>fn()),this._onDestroyCallbacks=[]}reset(value=void 0){this.control&&this.control.reset(value)}hasError(errorCode,path){return!!this.control&&this.control.hasError(errorCode,path)}getError(errorCode,path){return this.control?this.control.getError(errorCode,path):null}}class ControlContainer extends AbstractControlDirective{get formDirective(){return null}get path(){return null}}class NgControl extends AbstractControlDirective{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AbstractControlStatus{constructor(cd){this._cd=cd}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let NgControlStatus=(()=>{var _class5;class NgControlStatus2 extends AbstractControlStatus{constructor(cd){super(cd)}}return(_class5=NgControlStatus2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(NgControl,2))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275classProp("ng-untouched",ctx.isUntouched)("ng-touched",ctx.isTouched)("ng-pristine",ctx.isPristine)("ng-dirty",ctx.isDirty)("ng-valid",ctx.isValid)("ng-invalid",ctx.isInvalid)("ng-pending",ctx.isPending)},features:[\u0275\u0275InheritDefinitionFeature]}),NgControlStatus2})();function isOptionsObj(validatorOrOpts){return null!=validatorOrOpts&&!Array.isArray(validatorOrOpts)&&"object"==typeof validatorOrOpts}class AbstractControl{constructor(validators,asyncValidators){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(validators),this._assignAsyncValidators(asyncValidators)}get validator(){return this._composedValidatorFn}set validator(validatorFn){this._rawValidators=this._composedValidatorFn=validatorFn}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(asyncValidatorFn){this._rawAsyncValidators=this._composedAsyncValidatorFn=asyncValidatorFn}get parent(){return this._parent}get valid(){return"VALID"===this.status}get invalid(){return"INVALID"===this.status}get pending(){return"PENDING"==this.status}get disabled(){return"DISABLED"===this.status}get enabled(){return"DISABLED"!==this.status}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(validators){this._assignValidators(validators)}setAsyncValidators(validators){this._assignAsyncValidators(validators)}addValidators(validators){this.setValidators(addValidators(validators,this._rawValidators))}addAsyncValidators(validators){this.setAsyncValidators(addValidators(validators,this._rawAsyncValidators))}removeValidators(validators){this.setValidators(removeValidators(validators,this._rawValidators))}removeAsyncValidators(validators){this.setAsyncValidators(removeValidators(validators,this._rawAsyncValidators))}hasValidator(validator){return hasValidator(this._rawValidators,validator)}hasAsyncValidator(validator){return hasValidator(this._rawAsyncValidators,validator)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(opts={}){this.touched=!0,this._parent&&!opts.onlySelf&&this._parent.markAsTouched(opts)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(control=>control.markAllAsTouched())}markAsUntouched(opts={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(control=>{control.markAsUntouched({onlySelf:!0})}),this._parent&&!opts.onlySelf&&this._parent._updateTouched(opts)}markAsDirty(opts={}){this.pristine=!1,this._parent&&!opts.onlySelf&&this._parent.markAsDirty(opts)}markAsPristine(opts={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(control=>{control.markAsPristine({onlySelf:!0})}),this._parent&&!opts.onlySelf&&this._parent._updatePristine(opts)}markAsPending(opts={}){this.status="PENDING",!1!==opts.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!opts.onlySelf&&this._parent.markAsPending(opts)}disable(opts={}){const skipPristineCheck=this._parentMarkedDirty(opts.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild(control=>{control.disable({...opts,onlySelf:!0})}),this._updateValue(),!1!==opts.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...opts,skipPristineCheck}),this._onDisabledChange.forEach(changeFn=>changeFn(!0))}enable(opts={}){const skipPristineCheck=this._parentMarkedDirty(opts.onlySelf);this.status="VALID",this._forEachChild(control=>{control.enable({...opts,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:opts.emitEvent}),this._updateAncestors({...opts,skipPristineCheck}),this._onDisabledChange.forEach(changeFn=>changeFn(!1))}_updateAncestors(opts){this._parent&&!opts.onlySelf&&(this._parent.updateValueAndValidity(opts),opts.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(parent){this._parent=parent}getRawValue(){return this.value}updateValueAndValidity(opts={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),("VALID"===this.status||"PENDING"===this.status)&&this._runAsyncValidator(opts.emitEvent)),!1!==opts.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!opts.onlySelf&&this._parent.updateValueAndValidity(opts)}_updateTreeValidity(opts={emitEvent:!0}){this._forEachChild(ctrl=>ctrl._updateTreeValidity(opts)),this.updateValueAndValidity({onlySelf:!0,emitEvent:opts.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(emitEvent){if(this.asyncValidator){this.status="PENDING",this._hasOwnPendingAsyncValidator=!0;const obs=toObservable(this.asyncValidator(this));this._asyncValidationSubscription=obs.subscribe(errors=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(errors,{emitEvent})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(errors,opts={}){this.errors=errors,this._updateControlsErrors(!1!==opts.emitEvent)}get(path){let currPath=path;return null==currPath||(Array.isArray(currPath)||(currPath=currPath.split(".")),0===currPath.length)?null:currPath.reduce((control,name)=>control&&control._find(name),this)}getError(errorCode,path){const control=path?this.get(path):this;return control&&control.errors?control.errors[errorCode]:null}hasError(errorCode,path){return!!this.getError(errorCode,path)}get root(){let x=this;for(;x._parent;)x=x._parent;return x}_updateControlsErrors(emitEvent){this.status=this._calculateStatus(),emitEvent&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(emitEvent)}_initObservables(){this.valueChanges=new core_EventEmitter,this.statusChanges=new core_EventEmitter}_calculateStatus(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"}_anyControlsHaveStatus(status){return this._anyControls(control=>control.status===status)}_anyControlsDirty(){return this._anyControls(control=>control.dirty)}_anyControlsTouched(){return this._anyControls(control=>control.touched)}_updatePristine(opts={}){this.pristine=!this._anyControlsDirty(),this._parent&&!opts.onlySelf&&this._parent._updatePristine(opts)}_updateTouched(opts={}){this.touched=this._anyControlsTouched(),this._parent&&!opts.onlySelf&&this._parent._updateTouched(opts)}_registerOnCollectionChange(fn){this._onCollectionChange=fn}_setUpdateStrategy(opts){isOptionsObj(opts)&&null!=opts.updateOn&&(this._updateOn=opts.updateOn)}_parentMarkedDirty(onlySelf){return!onlySelf&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(name){return null}_assignValidators(validators){this._rawValidators=Array.isArray(validators)?validators.slice():validators,this._composedValidatorFn=function coerceToValidator(validator){return Array.isArray(validator)?composeValidators(validator):validator||null}(this._rawValidators)}_assignAsyncValidators(validators){this._rawAsyncValidators=Array.isArray(validators)?validators.slice():validators,this._composedAsyncValidatorFn=function coerceToAsyncValidator(asyncValidator){return Array.isArray(asyncValidator)?composeAsyncValidators(asyncValidator):asyncValidator||null}(this._rawAsyncValidators)}}const CALL_SET_DISABLED_STATE=new InjectionToken("CallSetDisabledState",{providedIn:"root",factory:()=>setDisabledStateDefault}),setDisabledStateDefault="always";function setUpControl(control,dir,callSetDisabledState=setDisabledStateDefault){(function setUpValidators(control,dir){const validators=function getControlValidators(control){return control._rawValidators}(control);null!==dir.validator?control.setValidators(mergeValidators(validators,dir.validator)):"function"==typeof validators&&control.setValidators([validators]);const asyncValidators=function getControlAsyncValidators(control){return control._rawAsyncValidators}(control);null!==dir.asyncValidator?control.setAsyncValidators(mergeValidators(asyncValidators,dir.asyncValidator)):"function"==typeof asyncValidators&&control.setAsyncValidators([asyncValidators]);const onValidatorChange=()=>control.updateValueAndValidity();registerOnValidatorChange(dir._rawValidators,onValidatorChange),registerOnValidatorChange(dir._rawAsyncValidators,onValidatorChange)})(control,dir),dir.valueAccessor.writeValue(control.value),(control.disabled||"always"===callSetDisabledState)&&dir.valueAccessor.setDisabledState?.(control.disabled),function setUpViewChangePipeline(control,dir){dir.valueAccessor.registerOnChange(newValue=>{control._pendingValue=newValue,control._pendingChange=!0,control._pendingDirty=!0,"change"===control.updateOn&&updateControl(control,dir)})}(control,dir),function setUpModelChangePipeline(control,dir){const onChange=(newValue,emitModelEvent)=>{dir.valueAccessor.writeValue(newValue),emitModelEvent&&dir.viewToModelUpdate(newValue)};control.registerOnChange(onChange),dir._registerOnDestroy(()=>{control._unregisterOnChange(onChange)})}(control,dir),function setUpBlurPipeline(control,dir){dir.valueAccessor.registerOnTouched(()=>{control._pendingTouched=!0,"blur"===control.updateOn&&control._pendingChange&&updateControl(control,dir),"submit"!==control.updateOn&&control.markAsTouched()})}(control,dir),function setUpDisabledChangeHandler(control,dir){if(dir.valueAccessor.setDisabledState){const onDisabledChange=isDisabled=>{dir.valueAccessor.setDisabledState(isDisabled)};control.registerOnDisabledChange(onDisabledChange),dir._registerOnDestroy(()=>{control._unregisterOnDisabledChange(onDisabledChange)})}}(control,dir)}function registerOnValidatorChange(validators,onChange){validators.forEach(validator=>{validator.registerOnValidatorChange&&validator.registerOnValidatorChange(onChange)})}function updateControl(control,dir){control._pendingDirty&&control.markAsDirty(),control.setValue(control._pendingValue,{emitModelToViewChange:!1}),dir.viewToModelUpdate(control._pendingValue),control._pendingChange=!1}function removeListItem(list2,el){const index=list2.indexOf(el);index>-1&&list2.splice(index,1)}function isFormControlState(formState){return"object"==typeof formState&&null!==formState&&2===Object.keys(formState).length&&"value"in formState&&"disabled"in formState}const FormControl=class extends AbstractControl{constructor(formState=null,validatorOrOpts,asyncValidator){super(function pickValidators(validatorOrOpts){return(isOptionsObj(validatorOrOpts)?validatorOrOpts.validators:validatorOrOpts)||null}(validatorOrOpts),function pickAsyncValidators(asyncValidator,validatorOrOpts){return(isOptionsObj(validatorOrOpts)?validatorOrOpts.asyncValidators:asyncValidator)||null}(asyncValidator,validatorOrOpts)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(formState),this._setUpdateStrategy(validatorOrOpts),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),isOptionsObj(validatorOrOpts)&&(validatorOrOpts.nonNullable||validatorOrOpts.initialValueIsDefault)&&(this.defaultValue=isFormControlState(formState)?formState.value:formState)}setValue(value,options={}){this.value=this._pendingValue=value,this._onChange.length&&!1!==options.emitModelToViewChange&&this._onChange.forEach(changeFn=>changeFn(this.value,!1!==options.emitViewToModelChange)),this.updateValueAndValidity(options)}patchValue(value,options={}){this.setValue(value,options)}reset(formState=this.defaultValue,options={}){this._applyFormState(formState),this.markAsPristine(options),this.markAsUntouched(options),this.setValue(this.value,options),this._pendingChange=!1}_updateValue(){}_anyControls(condition){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(fn){this._onChange.push(fn)}_unregisterOnChange(fn){removeListItem(this._onChange,fn)}registerOnDisabledChange(fn){this._onDisabledChange.push(fn)}_unregisterOnDisabledChange(fn){removeListItem(this._onDisabledChange,fn)}_forEachChild(cb){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(formState){isFormControlState(formState)?(this.value=this._pendingValue=formState.value,formState.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=formState}},formControlBinding$1={provide:NgControl,useExisting:core_forwardRef(()=>NgModel)},resolvedPromise=(()=>Promise.resolve())();let hasV8BreakIterator,NgModel=(()=>{var _class10;class NgModel2 extends NgControl{constructor(parent,validators,asyncValidators,valueAccessors,_changeDetectorRef,callSetDisabledState){super(),this._changeDetectorRef=_changeDetectorRef,this.callSetDisabledState=callSetDisabledState,this.control=new FormControl,this._registered=!1,this.name="",this.update=new core_EventEmitter,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators),this.valueAccessor=function selectValueAccessor(dir,valueAccessors){if(!valueAccessors)return null;let defaultAccessor,builtinAccessor,customAccessor;return Array.isArray(valueAccessors),valueAccessors.forEach(v=>{v.constructor===DefaultValueAccessor?defaultAccessor=v:function isBuiltInAccessor(valueAccessor){return Object.getPrototypeOf(valueAccessor.constructor)===BuiltInControlValueAccessor}(v)?builtinAccessor=v:customAccessor=v}),customAccessor||builtinAccessor||defaultAccessor||null}(0,valueAccessors)}ngOnChanges(changes){if(this._checkForErrors(),!this._registered||"name"in changes){if(this._registered&&(this._checkName(),this.formDirective)){const oldName=changes.name.previousValue;this.formDirective.removeControl({name:oldName,path:this._getPath(oldName)})}this._setUpControl()}"isDisabled"in changes&&this._updateDisabled(changes),function isPropertyUpdated(changes,viewModel){if(!changes.hasOwnProperty("model"))return!1;const change=changes.model;return!!change.isFirstChange()||!Object.is(viewModel,change.currentValue)}(changes,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(newValue){this.viewModel=newValue,this.update.emit(newValue)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){setUpControl(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(value){resolvedPromise.then(()=>{this.control.setValue(value,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(changes){const disabledValue=changes.isDisabled.currentValue,isDisabled=0!==disabledValue&&function core_booleanAttribute(value){return"boolean"==typeof value?value:null!=value&&"false"!==value}(disabledValue);resolvedPromise.then(()=>{isDisabled&&!this.control.disabled?this.control.disable():!isDisabled&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(controlName){return this._parent?function controlPath(name,parent){return[...parent.path,name]}(controlName,this._parent):[controlName]}}return(_class10=NgModel2).\u0275fac=function(t){return new(t||_class10)(\u0275\u0275directiveInject(ControlContainer,9),\u0275\u0275directiveInject(NG_VALIDATORS,10),\u0275\u0275directiveInject(NG_ASYNC_VALIDATORS,10),\u0275\u0275directiveInject(NG_VALUE_ACCESSOR,10),\u0275\u0275directiveInject(ChangeDetectorRef,8),\u0275\u0275directiveInject(CALL_SET_DISABLED_STATE,8))},_class10.\u0275dir=\u0275\u0275defineDirective({type:_class10,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[\u0275\u0275ProvidersFeature([formControlBinding$1]),\u0275\u0275InheritDefinitionFeature,\u0275\u0275NgOnChangesFeature]}),NgModel2})(),RadioControlRegistryModule=(()=>{var _class13;class RadioControlRegistryModule2{}return(_class13=RadioControlRegistryModule2).\u0275fac=function(t){return new(t||_class13)},_class13.\u0275mod=\u0275\u0275defineNgModule({type:_class13}),_class13.\u0275inj=\u0275\u0275defineInjector({}),RadioControlRegistryModule2})(),\u0275InternalFormsSharedModule=(()=>{var _class35;class \u0275InternalFormsSharedModule2{}return(_class35=\u0275InternalFormsSharedModule2).\u0275fac=function(t){return new(t||_class35)},_class35.\u0275mod=\u0275\u0275defineNgModule({type:_class35}),_class35.\u0275inj=\u0275\u0275defineInjector({imports:[RadioControlRegistryModule]}),\u0275InternalFormsSharedModule2})(),FormsModule=(()=>{var _class39;class FormsModule2{static withConfig(opts){return{ngModule:FormsModule2,providers:[{provide:CALL_SET_DISABLED_STATE,useValue:opts.callSetDisabledState??setDisabledStateDefault}]}}}return(_class39=FormsModule2).\u0275fac=function(t){return new(t||_class39)},_class39.\u0275mod=\u0275\u0275defineNgModule({type:_class39}),_class39.\u0275inj=\u0275\u0275defineInjector({imports:[\u0275InternalFormsSharedModule]}),FormsModule2})();try{hasV8BreakIterator=typeof Intl<"u"&&Intl.v8BreakIterator}catch{hasV8BreakIterator=!1}let supportsPassiveEvents,scrollBehaviorSupported,shadowDomIsSupported,platform_Platform=(()=>{var _class2;class Platform2{constructor(_platformId){this._platformId=_platformId,this.isBrowser=this._platformId?function common_isPlatformBrowser(platformId){return"browser"===platformId}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!hasV8BreakIterator)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return(_class2=Platform2).\u0275fac=function(t){return new(t||_class2)(core_inject(core_PLATFORM_ID))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),Platform2})();function normalizePassiveListenerOptions(options){return function supportsPassiveEventListeners(){if(null==supportsPassiveEvents&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>supportsPassiveEvents=!0}))}finally{supportsPassiveEvents=supportsPassiveEvents||!1}return supportsPassiveEvents}()?options:!!options.capture}function platform_supportsScrollBehavior(){if(null==scrollBehaviorSupported){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return scrollBehaviorSupported=!1,scrollBehaviorSupported;if("scrollBehavior"in document.documentElement.style)scrollBehaviorSupported=!0;else{const scrollToFunction=Element.prototype.scrollTo;scrollBehaviorSupported=!!scrollToFunction&&!/\{\s*\[native code\]\s*\}/.test(scrollToFunction.toString())}}return scrollBehaviorSupported}function platform_getFocusedElementPierceShadowDom(){let activeElement=typeof document<"u"&&document?document.activeElement:null;for(;activeElement&&activeElement.shadowRoot;){const newActiveElement=activeElement.shadowRoot.activeElement;if(newActiveElement===activeElement)break;activeElement=newActiveElement}return activeElement}function _getEventTarget(event){return event.composedPath?event.composedPath()[0]:event.target}function _isTestEnvironment(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}function keycodes_hasModifierKey(event,...modifiers2){return modifiers2.length?modifiers2.some(modifier=>event[modifier]):event.altKey||event.shiftKey||event.ctrlKey||event.metaKey}function debounceTime(dueTime,scheduler=asyncScheduler){return operate((source,subscriber)=>{let activeTask=null,lastValue=null,lastTime=null;const emit=()=>{if(activeTask){activeTask.unsubscribe(),activeTask=null;const value=lastValue;lastValue=null,subscriber.next(value)}};function emitWhenIdle(){const targetTime=lastTime+dueTime,now=scheduler.now();if(now{lastValue=value,lastTime=scheduler.now(),activeTask||(activeTask=scheduler.schedule(emitWhenIdle,dueTime),subscriber.add(activeTask))},()=>{emit(),subscriber.complete()},void 0,()=>{lastValue=activeTask=null}))})}function take_take(count){return count<=0?()=>EMPTY:operate((source,subscriber)=>{let seen=0;source.subscribe(createOperatorSubscriber(subscriber,value=>{++seen<=count&&(subscriber.next(value),count<=seen&&subscriber.complete())}))})}function skip(count){return filter_filter((_,index)=>count<=index)}function takeUntil_takeUntil(notifier){return operate((source,subscriber)=>{innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber,()=>subscriber.complete(),noop)),!subscriber.closed&&source.subscribe(subscriber)})}function coercion_coerceBooleanProperty(value){return null!=value&&"false"!=`${value}`}function coercion_coerceNumberProperty(value,fallbackValue=0){return function _isNumberValue(value){return!isNaN(parseFloat(value))&&!isNaN(Number(value))}(value)?Number(value):fallbackValue}function coerceArray(value){return Array.isArray(value)?value:[value]}function coerceCssPixelValue(value){return null==value?"":"string"==typeof value?value:`${value}px`}function coerceElement(elementOrRef){return elementOrRef instanceof core_ElementRef?elementOrRef.nativeElement:elementOrRef}let MutationObserverFactory=(()=>{var _class2;class MutationObserverFactory2{create(callback){return typeof MutationObserver>"u"?null:new MutationObserver(callback)}}return(_class2=MutationObserverFactory2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),MutationObserverFactory2})(),ContentObserver=(()=>{var _class2;class ContentObserver2{constructor(_mutationObserverFactory){this._mutationObserverFactory=_mutationObserverFactory,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((_,element)=>this._cleanupObserver(element))}observe(elementOrRef){const element=coerceElement(elementOrRef);return new Observable_Observable(observer=>{const subscription=this._observeElement(element).subscribe(observer);return()=>{subscription.unsubscribe(),this._unobserveElement(element)}})}_observeElement(element){if(this._observedElements.has(element))this._observedElements.get(element).count++;else{const stream=new Subject_Subject,observer=this._mutationObserverFactory.create(mutations=>stream.next(mutations));observer&&observer.observe(element,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(element,{observer,stream,count:1})}return this._observedElements.get(element).stream}_unobserveElement(element){this._observedElements.has(element)&&(this._observedElements.get(element).count--,this._observedElements.get(element).count||this._cleanupObserver(element))}_cleanupObserver(element){if(this._observedElements.has(element)){const{observer,stream}=this._observedElements.get(element);observer&&observer.disconnect(),stream.complete(),this._observedElements.delete(element)}}}return(_class2=ContentObserver2).\u0275fac=function(t){return new(t||_class2)(core_inject(MutationObserverFactory))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),ContentObserver2})(),CdkObserveContent=(()=>{var _class3;class CdkObserveContent2{get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(value){this._debounce=coercion_coerceNumberProperty(value),this._subscribe()}constructor(_contentObserver,_elementRef,_ngZone){this._contentObserver=_contentObserver,this._elementRef=_elementRef,this._ngZone=_ngZone,this.event=new core_EventEmitter,this._disabled=!1,this._currentSubscription=null}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const stream=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?stream.pipe(debounceTime(this.debounce)):stream).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}}return(_class3=CdkObserveContent2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(ContentObserver),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_NgZone))},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),CdkObserveContent2})(),ObserversModule=(()=>{var _class4;class ObserversModule2{}return(_class4=ObserversModule2).\u0275fac=function(t){return new(t||_class4)},_class4.\u0275mod=\u0275\u0275defineNgModule({type:_class4}),_class4.\u0275inj=\u0275\u0275defineInjector({providers:[MutationObserverFactory]}),ObserversModule2})();function maybeSchedule(scheduler,execute,subscription){scheduler?executeSchedule(subscription,scheduler,execute):execute()}function concat(...args){return function concatAll(){return mergeAll_mergeAll(1)}()(from_from(args,popScheduler(args)))}function startWith_startWith(...values){const scheduler=popScheduler(values);return operate((source,subscriber)=>{(scheduler?concat(values,source,scheduler):concat(values,source)).subscribe(subscriber)})}const mediaQueriesForWebkitCompatibility=new Set;let mediaQueryStyleNode,MediaMatcher=(()=>{var _class2;class MediaMatcher2{constructor(_platform,_nonce){this._platform=_platform,this._nonce=_nonce,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):noopMatchMedia}matchMedia(query2){return(this._platform.WEBKIT||this._platform.BLINK)&&function createEmptyStyleRule(query2,nonce){if(!mediaQueriesForWebkitCompatibility.has(query2))try{mediaQueryStyleNode||(mediaQueryStyleNode=document.createElement("style"),nonce&&(mediaQueryStyleNode.nonce=nonce),mediaQueryStyleNode.setAttribute("type","text/css"),document.head.appendChild(mediaQueryStyleNode)),mediaQueryStyleNode.sheet&&(mediaQueryStyleNode.sheet.insertRule(`@media ${query2} {body{ }}`,0),mediaQueriesForWebkitCompatibility.add(query2))}catch(e2){console.error(e2)}}(query2,this._nonce),this._matchMedia(query2)}}return(_class2=MediaMatcher2).\u0275fac=function(t){return new(t||_class2)(core_inject(platform_Platform),core_inject(CSP_NONCE,8))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),MediaMatcher2})();function noopMatchMedia(query2){return{matches:"all"===query2||""===query2,media:query2,addListener:()=>{},removeListener:()=>{}}}let BreakpointObserver=(()=>{var _class3;class BreakpointObserver2{constructor(_mediaMatcher,_zone){this._mediaMatcher=_mediaMatcher,this._zone=_zone,this._queries=new Map,this._destroySubject=new Subject_Subject}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(value){return splitQueries(coerceArray(value)).some(mediaQuery=>this._registerQuery(mediaQuery).mql.matches)}observe(value){let stateObservable=function combineLatest_combineLatest(...args){const scheduler=popScheduler(args),resultSelector=popResultSelector(args),{args:observables,keys}=argsArgArrayOrObject(args);if(0===observables.length)return from_from([],scheduler);const result=new Observable_Observable(function combineLatestInit(observables,scheduler,valueTransform=identity){return subscriber=>{maybeSchedule(scheduler,()=>{const{length}=observables,values=new Array(length);let active=length,remainingFirstValues=length;for(let i6=0;i6{const source=from_from(observables[i6],scheduler);let hasFirstValue=!1;source.subscribe(createOperatorSubscriber(subscriber,value=>{values[i6]=value,hasFirstValue||(hasFirstValue=!0,remainingFirstValues--),remainingFirstValues||subscriber.next(valueTransform(values.slice()))},()=>{--active||subscriber.complete()}))},subscriber)},subscriber)}}(observables,scheduler,keys?values=>createObject(keys,values):identity));return resultSelector?result.pipe(mapOneOrManyArgs(resultSelector)):result}(splitQueries(coerceArray(value)).map(query2=>this._registerQuery(query2).observable));return stateObservable=concat(stateObservable.pipe(take_take(1)),stateObservable.pipe(skip(1),debounceTime(0))),stateObservable.pipe(map_map(breakpointStates=>{const response={matches:!1,breakpoints:{}};return breakpointStates.forEach(({matches,query:query2})=>{response.matches=response.matches||matches,response.breakpoints[query2]=matches}),response}))}_registerQuery(query2){if(this._queries.has(query2))return this._queries.get(query2);const mql=this._mediaMatcher.matchMedia(query2),output={observable:new Observable_Observable(observer=>{const handler=e2=>this._zone.run(()=>observer.next(e2));return mql.addListener(handler),()=>{mql.removeListener(handler)}}).pipe(startWith_startWith(mql),map_map(({matches})=>({query:query2,matches})),takeUntil_takeUntil(this._destroySubject)),mql};return this._queries.set(query2,output),output}}return(_class3=BreakpointObserver2).\u0275fac=function(t){return new(t||_class3)(core_inject(MediaMatcher),core_inject(core_NgZone))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac,providedIn:"root"}),BreakpointObserver2})();function splitQueries(queries){return queries.map(query2=>query2.split(",")).reduce((a1,a2)=>a1.concat(a2)).map(query2=>query2.trim())}function getAriaReferenceIds(el,attr){return(el.getAttribute(attr)||"").match(/\S+/g)||[]}let nextId=0,AriaDescriber=(()=>{var _class2;class AriaDescriber2{constructor(_document2,_platform){this._platform=_platform,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+nextId++,this._document=_document2,this._id=fesm2022_core_inject(APP_ID)+"-"+nextId++}describe(hostElement,message,role){if(!this._canBeDescribed(hostElement,message))return;const key=a11y_getKey(message,role);"string"!=typeof message?(setMessageId(message,this._id),this._messageRegistry.set(key,{messageElement:message,referenceCount:0})):this._messageRegistry.has(key)||this._createMessageElement(message,role),this._isElementDescribedByMessage(hostElement,key)||this._addMessageReference(hostElement,key)}removeDescription(hostElement,message,role){if(!message||!this._isElementNode(hostElement))return;const key=a11y_getKey(message,role);if(this._isElementDescribedByMessage(hostElement,key)&&this._removeMessageReference(hostElement,key),"string"==typeof message){const registeredMessage=this._messageRegistry.get(key);registeredMessage&&0===registeredMessage.referenceCount&&this._deleteMessageElement(key)}0===this._messagesContainer?.childNodes.length&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){const describedElements=this._document.querySelectorAll(`[cdk-describedby-host="${this._id}"]`);for(let i6=0;i60!=id.indexOf("cdk-describedby-message"));element.setAttribute("aria-describedby",originalReferenceIds.join(" "))}_addMessageReference(element,key){const registeredMessage=this._messageRegistry.get(key);(function addAriaReferencedId(el,attr,id){const ids=getAriaReferenceIds(el,attr);ids.some(existingId=>existingId.trim()==id.trim())||(ids.push(id.trim()),el.setAttribute(attr,ids.join(" ")))})(element,"aria-describedby",registeredMessage.messageElement.id),element.setAttribute("cdk-describedby-host",this._id),registeredMessage.referenceCount++}_removeMessageReference(element,key){const registeredMessage=this._messageRegistry.get(key);registeredMessage.referenceCount--,function removeAriaReferencedId(el,attr,id){const filteredIds=getAriaReferenceIds(el,attr).filter(val=>val!=id.trim());filteredIds.length?el.setAttribute(attr,filteredIds.join(" ")):el.removeAttribute(attr)}(element,"aria-describedby",registeredMessage.messageElement.id),element.removeAttribute("cdk-describedby-host")}_isElementDescribedByMessage(element,key){const referenceIds=getAriaReferenceIds(element,"aria-describedby"),registeredMessage=this._messageRegistry.get(key),messageId=registeredMessage&®isteredMessage.messageElement.id;return!!messageId&&-1!=referenceIds.indexOf(messageId)}_canBeDescribed(element,message){if(!this._isElementNode(element))return!1;if(message&&"object"==typeof message)return!0;const trimmedMessage=null==message?"":`${message}`.trim(),ariaLabel=element.getAttribute("aria-label");return!(!trimmedMessage||ariaLabel&&ariaLabel.trim()===trimmedMessage)}_isElementNode(element){return element.nodeType===this._document.ELEMENT_NODE}}return(_class2=AriaDescriber2).\u0275fac=function(t){return new(t||_class2)(core_inject(common_DOCUMENT),core_inject(platform_Platform))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),AriaDescriber2})();function a11y_getKey(message,role){return"string"==typeof message?`${role||""}/${message}`:message}function setMessageId(element,serviceId){element.id||(element.id=`cdk-describedby-message-${serviceId}-${nextId++}`)}class ListKeyManager{constructor(_items){this._items=_items,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new Subject_Subject,this._typeaheadSubscription=Subscription_Subscription.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=item=>item.disabled,this._pressedLetters=[],this.tabOut=new Subject_Subject,this.change=new Subject_Subject,_items instanceof QueryList&&(this._itemChangesSubscription=_items.changes.subscribe(newItems=>{if(this._activeItem){const newIndex=newItems.toArray().indexOf(this._activeItem);newIndex>-1&&newIndex!==this._activeItemIndex&&(this._activeItemIndex=newIndex)}}))}skipPredicate(predicate){return this._skipPredicateFn=predicate,this}withWrap(shouldWrap=!0){return this._wrap=shouldWrap,this}withVerticalOrientation(enabled=!0){return this._vertical=enabled,this}withHorizontalOrientation(direction){return this._horizontal=direction,this}withAllowedModifierKeys(keys){return this._allowedModifierKeys=keys,this}withTypeAhead(debounceInterval=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(tap_tap(letter=>this._pressedLetters.push(letter)),debounceTime(debounceInterval),filter_filter(()=>this._pressedLetters.length>0),map_map(()=>this._pressedLetters.join(""))).subscribe(inputString=>{const items=this._getItemsArray();for(let i6=1;i6!event[modifier]||this._allowedModifierKeys.indexOf(modifier)>-1);switch(keyCode){case 9:return void this.tabOut.next();case 40:if(this._vertical&&isModifierAllowed){this.setNextItemActive();break}return;case 38:if(this._vertical&&isModifierAllowed){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&isModifierAllowed){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&isModifierAllowed){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&isModifierAllowed){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&isModifierAllowed){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&isModifierAllowed){const targetIndex=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(targetIndex>0?targetIndex:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&isModifierAllowed){const targetIndex=this._activeItemIndex+this._pageUpAndDown.delta,itemsLength=this._getItemsArray().length;this._setActiveItemByIndex(targetIndex=65&&keyCode<=90||keyCode>=48&&keyCode<=57)&&this._letterKeyStream.next(String.fromCharCode(keyCode))))}this._pressedLetters=[],event.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(item){const itemArray=this._getItemsArray(),index="number"==typeof item?item:itemArray.indexOf(item);this._activeItem=itemArray[index]??null,this._activeItemIndex=index}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(delta){this._wrap?this._setActiveInWrapMode(delta):this._setActiveInDefaultMode(delta)}_setActiveInWrapMode(delta){const items=this._getItemsArray();for(let i6=1;i6<=items.length;i6++){const index=(this._activeItemIndex+delta*i6+items.length)%items.length;if(!this._skipPredicateFn(items[index]))return void this.setActiveItem(index)}}_setActiveInDefaultMode(delta){this._setActiveItemByIndex(this._activeItemIndex+delta,delta)}_setActiveItemByIndex(index,fallbackDelta){const items=this._getItemsArray();if(items[index]){for(;this._skipPredicateFn(items[index]);)if(!items[index+=fallbackDelta])return;this.setActiveItem(index)}}_getItemsArray(){return this._items instanceof QueryList?this._items.toArray():this._items}}class FocusKeyManager extends ListKeyManager{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(origin){return this._origin=origin,this}setActiveItem(item){super.setActiveItem(item),this.activeItem&&this.activeItem.focus(this._origin)}}let InteractivityChecker=(()=>{var _class2;class InteractivityChecker2{constructor(_platform){this._platform=_platform}isDisabled(element){return element.hasAttribute("disabled")}isVisible(element){return function hasGeometry(element){return!!(element.offsetWidth||element.offsetHeight||"function"==typeof element.getClientRects&&element.getClientRects().length)}(element)&&"visible"===getComputedStyle(element).visibility}isTabbable(element){if(!this._platform.isBrowser)return!1;const frameElement=function getFrameElement(window2){try{return window2.frameElement}catch{return null}}(function getWindow(node2){return node2.ownerDocument&&node2.ownerDocument.defaultView||window}(element));if(frameElement&&(-1===getTabIndexValue(frameElement)||!this.isVisible(frameElement)))return!1;let nodeName=element.nodeName.toLowerCase(),tabIndexValue=getTabIndexValue(element);return element.hasAttribute("contenteditable")?-1!==tabIndexValue:!("iframe"===nodeName||"object"===nodeName||this._platform.WEBKIT&&this._platform.IOS&&!function isPotentiallyTabbableIOS(element){let nodeName=element.nodeName.toLowerCase(),inputType="input"===nodeName&&element.type;return"text"===inputType||"password"===inputType||"select"===nodeName||"textarea"===nodeName}(element))&&("audio"===nodeName?!!element.hasAttribute("controls")&&-1!==tabIndexValue:"video"===nodeName?-1!==tabIndexValue&&(null!==tabIndexValue||this._platform.FIREFOX||element.hasAttribute("controls")):element.tabIndex>=0)}isFocusable(element,config2){return function isPotentiallyFocusable(element){return!function isHiddenInput(element){return function a11y_isInputElement(element){return"input"==element.nodeName.toLowerCase()}(element)&&"hidden"==element.type}(element)&&(function isNativeFormElement(element){let nodeName=element.nodeName.toLowerCase();return"input"===nodeName||"select"===nodeName||"button"===nodeName||"textarea"===nodeName}(element)||function isAnchorWithHref(element){return function isAnchorElement(element){return"a"==element.nodeName.toLowerCase()}(element)&&element.hasAttribute("href")}(element)||element.hasAttribute("contenteditable")||hasValidTabIndex(element))}(element)&&!this.isDisabled(element)&&(config2?.ignoreVisibility||this.isVisible(element))}}return(_class2=InteractivityChecker2).\u0275fac=function(t){return new(t||_class2)(core_inject(platform_Platform))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),InteractivityChecker2})();function hasValidTabIndex(element){if(!element.hasAttribute("tabindex")||void 0===element.tabIndex)return!1;let tabIndex=element.getAttribute("tabindex");return!(!tabIndex||isNaN(parseInt(tabIndex,10)))}function getTabIndexValue(element){if(!hasValidTabIndex(element))return null;const tabIndex=parseInt(element.getAttribute("tabindex")||"",10);return isNaN(tabIndex)?-1:tabIndex}class FocusTrap{get enabled(){return this._enabled}set enabled(value){this._enabled=value,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(value,this._startAnchor),this._toggleAnchorTabIndex(value,this._endAnchor))}constructor(_element,_checker,_ngZone,_document2,deferAnchors=!1){this._element=_element,this._checker=_checker,this._ngZone=_ngZone,this._document=_document2,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,deferAnchors||this.attachAnchors()}destroy(){const startAnchor=this._startAnchor,endAnchor=this._endAnchor;startAnchor&&(startAnchor.removeEventListener("focus",this.startAnchorListener),startAnchor.remove()),endAnchor&&(endAnchor.removeEventListener("focus",this.endAnchorListener),endAnchor.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(options){return new Promise(resolve=>{this._executeOnStable(()=>resolve(this.focusInitialElement(options)))})}focusFirstTabbableElementWhenReady(options){return new Promise(resolve=>{this._executeOnStable(()=>resolve(this.focusFirstTabbableElement(options)))})}focusLastTabbableElementWhenReady(options){return new Promise(resolve=>{this._executeOnStable(()=>resolve(this.focusLastTabbableElement(options)))})}_getRegionBoundary(bound){const markers=this._element.querySelectorAll(`[cdk-focus-region-${bound}], [cdkFocusRegion${bound}], [cdk-focus-${bound}]`);return"start"==bound?markers.length?markers[0]:this._getFirstTabbableElement(this._element):markers.length?markers[markers.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(options){const redirectToElement=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(redirectToElement){if(!this._checker.isFocusable(redirectToElement)){const focusableChild=this._getFirstTabbableElement(redirectToElement);return focusableChild?.focus(options),!!focusableChild}return redirectToElement.focus(options),!0}return this.focusFirstTabbableElement(options)}focusFirstTabbableElement(options){const redirectToElement=this._getRegionBoundary("start");return redirectToElement&&redirectToElement.focus(options),!!redirectToElement}focusLastTabbableElement(options){const redirectToElement=this._getRegionBoundary("end");return redirectToElement&&redirectToElement.focus(options),!!redirectToElement}hasAttached(){return this._hasAttached}_getFirstTabbableElement(root){if(this._checker.isFocusable(root)&&this._checker.isTabbable(root))return root;const children=root.children;for(let i6=0;i6=0;i6--){const tabbableChild=children[i6].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(children[i6]):null;if(tabbableChild)return tabbableChild}return null}_createAnchor(){const anchor=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,anchor),anchor.classList.add("cdk-visually-hidden"),anchor.classList.add("cdk-focus-trap-anchor"),anchor.setAttribute("aria-hidden","true"),anchor}_toggleAnchorTabIndex(isEnabled,anchor){isEnabled?anchor.setAttribute("tabindex","0"):anchor.removeAttribute("tabindex")}toggleAnchors(enabled){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(enabled,this._startAnchor),this._toggleAnchorTabIndex(enabled,this._endAnchor))}_executeOnStable(fn){this._ngZone.isStable?fn():this._ngZone.onStable.pipe(take_take(1)).subscribe(fn)}}let FocusTrapFactory=(()=>{var _class3;class FocusTrapFactory2{constructor(_checker,_ngZone,_document2){this._checker=_checker,this._ngZone=_ngZone,this._document=_document2}create(element,deferCaptureElements=!1){return new FocusTrap(element,this._checker,this._ngZone,this._document,deferCaptureElements)}}return(_class3=FocusTrapFactory2).\u0275fac=function(t){return new(t||_class3)(core_inject(InteractivityChecker),core_inject(core_NgZone),core_inject(common_DOCUMENT))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac,providedIn:"root"}),FocusTrapFactory2})();function isFakeMousedownFromScreenReader(event){return 0===event.buttons||0===event.offsetX&&0===event.offsetY}function isFakeTouchstartFromScreenReader(event){const touch=event.touches&&event.touches[0]||event.changedTouches&&event.changedTouches[0];return!(!touch||-1!==touch.identifier||null!=touch.radiusX&&1!==touch.radiusX||null!=touch.radiusY&&1!==touch.radiusY)}const INPUT_MODALITY_DETECTOR_OPTIONS=new InjectionToken("cdk-input-modality-detector-options"),INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS={ignoreKeys:[18,17,224,91,16]},modalityEventListenerOptions=normalizePassiveListenerOptions({passive:!0,capture:!0});let InputModalityDetector=(()=>{var _class7;class InputModalityDetector2{get mostRecentModality(){return this._modality.value}constructor(_platform,ngZone,document2,options){this._platform=_platform,this._mostRecentTarget=null,this._modality=new BehaviorSubject_BehaviorSubject(null),this._lastTouchMs=0,this._onKeydown=event=>{this._options?.ignoreKeys?.some(keyCode=>keyCode===event.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=_getEventTarget(event))},this._onMousedown=event=>{Date.now()-this._lastTouchMs<650||(this._modality.next(isFakeMousedownFromScreenReader(event)?"keyboard":"mouse"),this._mostRecentTarget=_getEventTarget(event))},this._onTouchstart=event=>{isFakeTouchstartFromScreenReader(event)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=_getEventTarget(event))},this._options={...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,...options},this.modalityDetected=this._modality.pipe(skip(1)),this.modalityChanged=this.modalityDetected.pipe(distinctUntilChanged_distinctUntilChanged()),_platform.isBrowser&&ngZone.runOutsideAngular(()=>{document2.addEventListener("keydown",this._onKeydown,modalityEventListenerOptions),document2.addEventListener("mousedown",this._onMousedown,modalityEventListenerOptions),document2.addEventListener("touchstart",this._onTouchstart,modalityEventListenerOptions)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,modalityEventListenerOptions),document.removeEventListener("mousedown",this._onMousedown,modalityEventListenerOptions),document.removeEventListener("touchstart",this._onTouchstart,modalityEventListenerOptions))}}return(_class7=InputModalityDetector2).\u0275fac=function(t){return new(t||_class7)(core_inject(platform_Platform),core_inject(core_NgZone),core_inject(common_DOCUMENT),core_inject(INPUT_MODALITY_DETECTOR_OPTIONS,8))},_class7.\u0275prov=core_defineInjectable({token:_class7,factory:_class7.\u0275fac,providedIn:"root"}),InputModalityDetector2})();const LIVE_ANNOUNCER_ELEMENT_TOKEN=new InjectionToken("liveAnnouncerElement",{providedIn:"root",factory:function LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY(){return null}}),LIVE_ANNOUNCER_DEFAULT_OPTIONS=new InjectionToken("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let uniqueIds=0,LiveAnnouncer=(()=>{var _class8;class LiveAnnouncer2{constructor(elementToken,_ngZone,_document2,_defaultOptions){this._ngZone=_ngZone,this._defaultOptions=_defaultOptions,this._document=_document2,this._liveElement=elementToken||this._createLiveElement()}announce(message,...args){const defaultOptions=this._defaultOptions;let politeness,duration;return 1===args.length&&"number"==typeof args[0]?duration=args[0]:[politeness,duration]=args,this.clear(),clearTimeout(this._previousTimeout),politeness||(politeness=defaultOptions&&defaultOptions.politeness?defaultOptions.politeness:"polite"),null==duration&&defaultOptions&&(duration=defaultOptions.duration),this._liveElement.setAttribute("aria-live",politeness),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(resolve=>this._currentResolve=resolve)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=message,"number"==typeof duration&&(this._previousTimeout=setTimeout(()=>this.clear(),duration)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const previousElements=this._document.getElementsByClassName("cdk-live-announcer-element"),liveEl=this._document.createElement("div");for(let i6=0;i6 .cdk-overlay-container [aria-modal="true"]');for(let i6=0;i6{var _class10;class FocusMonitor2{constructor(_ngZone,_platform,_inputModalityDetector,document2,options){this._ngZone=_ngZone,this._platform=_platform,this._inputModalityDetector=_inputModalityDetector,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new Subject_Subject,this._rootNodeFocusAndBlurListener=event=>{for(let element=_getEventTarget(event);element;element=element.parentElement)"focus"===event.type?this._onFocus(event,element):this._onBlur(event,element)},this._document=document2,this._detectionMode=options?.detectionMode||0}monitor(element,checkChildren=!1){const nativeElement=coerceElement(element);if(!this._platform.isBrowser||1!==nativeElement.nodeType)return of_of();const rootNode=function _getShadowRoot(element){if(function _supportsShadowDom(){if(null==shadowDomIsSupported){const head=typeof document<"u"?document.head:null;shadowDomIsSupported=!(!head||!head.createShadowRoot&&!head.attachShadow)}return shadowDomIsSupported}()){const rootNode=element.getRootNode?element.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&rootNode instanceof ShadowRoot)return rootNode}return null}(nativeElement)||this._getDocument(),cachedInfo=this._elementInfo.get(nativeElement);if(cachedInfo)return checkChildren&&(cachedInfo.checkChildren=!0),cachedInfo.subject;const info={checkChildren,subject:new Subject_Subject,rootNode};return this._elementInfo.set(nativeElement,info),this._registerGlobalListeners(info),info.subject}stopMonitoring(element){const nativeElement=coerceElement(element),elementInfo=this._elementInfo.get(nativeElement);elementInfo&&(elementInfo.subject.complete(),this._setClasses(nativeElement),this._elementInfo.delete(nativeElement),this._removeGlobalListeners(elementInfo))}focusVia(element,origin,options){const nativeElement=coerceElement(element);nativeElement===this._getDocument().activeElement?this._getClosestElementsInfo(nativeElement).forEach(([currentElement,info])=>this._originChanged(currentElement,origin,info)):(this._setOrigin(origin),"function"==typeof nativeElement.focus&&nativeElement.focus(options))}ngOnDestroy(){this._elementInfo.forEach((_info,element)=>this.stopMonitoring(element))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(focusEventTarget){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(focusEventTarget)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:focusEventTarget&&this._isLastInteractionFromInputLabel(focusEventTarget)?"mouse":"program"}_shouldBeAttributedToTouch(focusEventTarget){return 1===this._detectionMode||!!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(element,origin){element.classList.toggle("cdk-focused",!!origin),element.classList.toggle("cdk-touch-focused","touch"===origin),element.classList.toggle("cdk-keyboard-focused","keyboard"===origin),element.classList.toggle("cdk-mouse-focused","mouse"===origin),element.classList.toggle("cdk-program-focused","program"===origin)}_setOrigin(origin,isFromInteraction=!1){this._ngZone.runOutsideAngular(()=>{this._origin=origin,this._originFromTouchInteraction="touch"===origin&&isFromInteraction,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(event,element){const elementInfo=this._elementInfo.get(element),focusEventTarget=_getEventTarget(event);!elementInfo||!elementInfo.checkChildren&&element!==focusEventTarget||this._originChanged(element,this._getFocusOrigin(focusEventTarget),elementInfo)}_onBlur(event,element){const elementInfo=this._elementInfo.get(element);!elementInfo||elementInfo.checkChildren&&event.relatedTarget instanceof Node&&element.contains(event.relatedTarget)||(this._setClasses(element),this._emitOrigin(elementInfo,null))}_emitOrigin(info,origin){info.subject.observers.length&&this._ngZone.run(()=>info.subject.next(origin))}_registerGlobalListeners(elementInfo){if(!this._platform.isBrowser)return;const rootNode=elementInfo.rootNode,rootNodeFocusListeners=this._rootNodeFocusListenerCount.get(rootNode)||0;rootNodeFocusListeners||this._ngZone.runOutsideAngular(()=>{rootNode.addEventListener("focus",this._rootNodeFocusAndBlurListener,captureEventListenerOptions),rootNode.addEventListener("blur",this._rootNodeFocusAndBlurListener,captureEventListenerOptions)}),this._rootNodeFocusListenerCount.set(rootNode,rootNodeFocusListeners+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(takeUntil_takeUntil(this._stopInputModalityDetector)).subscribe(modality=>{this._setOrigin(modality,!0)}))}_removeGlobalListeners(elementInfo){const rootNode=elementInfo.rootNode;if(this._rootNodeFocusListenerCount.has(rootNode)){const rootNodeFocusListeners=this._rootNodeFocusListenerCount.get(rootNode);rootNodeFocusListeners>1?this._rootNodeFocusListenerCount.set(rootNode,rootNodeFocusListeners-1):(rootNode.removeEventListener("focus",this._rootNodeFocusAndBlurListener,captureEventListenerOptions),rootNode.removeEventListener("blur",this._rootNodeFocusAndBlurListener,captureEventListenerOptions),this._rootNodeFocusListenerCount.delete(rootNode))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(element,origin,elementInfo){this._setClasses(element,origin),this._emitOrigin(elementInfo,origin),this._lastFocusOrigin=origin}_getClosestElementsInfo(element){const results=[];return this._elementInfo.forEach((info,currentElement)=>{(currentElement===element||info.checkChildren&¤tElement.contains(element))&&results.push([currentElement,info])}),results}_isLastInteractionFromInputLabel(focusEventTarget){const{_mostRecentTarget:mostRecentTarget,mostRecentModality}=this._inputModalityDetector;if("mouse"!==mostRecentModality||!mostRecentTarget||mostRecentTarget===focusEventTarget||"INPUT"!==focusEventTarget.nodeName&&"TEXTAREA"!==focusEventTarget.nodeName||focusEventTarget.disabled)return!1;const labels=focusEventTarget.labels;if(labels)for(let i6=0;i6{var _class112;class CdkMonitorFocus2{constructor(_elementRef,_focusMonitor){this._elementRef=_elementRef,this._focusMonitor=_focusMonitor,this._focusOrigin=null,this.cdkFocusChange=new core_EventEmitter}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){const element=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(element,1===element.nodeType&&element.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(origin=>{this._focusOrigin=origin,this.cdkFocusChange.emit(origin)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return(_class112=CdkMonitorFocus2).\u0275fac=function(t){return new(t||_class112)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(FocusMonitor))},_class112.\u0275dir=\u0275\u0275defineDirective({type:_class112,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]}),CdkMonitorFocus2})(),HighContrastModeDetector=(()=>{var _class12;class HighContrastModeDetector2{constructor(_platform,document2){this._platform=_platform,this._document=document2,this._breakpointSubscription=fesm2022_core_inject(BreakpointObserver).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const testElement=this._document.createElement("div");testElement.style.backgroundColor="rgb(1,2,3)",testElement.style.position="absolute",this._document.body.appendChild(testElement);const documentWindow=this._document.defaultView||window,computedStyle=documentWindow&&documentWindow.getComputedStyle?documentWindow.getComputedStyle(testElement):null,computedColor=(computedStyle&&computedStyle.backgroundColor||"").replace(/ /g,"");switch(testElement.remove(),computedColor){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return 2;case"rgb(255,255,255)":case"rgb(255,250,239)":return 1}return 0}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const bodyClasses=this._document.body.classList;bodyClasses.remove("cdk-high-contrast-active","cdk-high-contrast-black-on-white","cdk-high-contrast-white-on-black"),this._hasCheckedHighContrastMode=!0;const mode=this.getHighContrastMode();1===mode?bodyClasses.add("cdk-high-contrast-active","cdk-high-contrast-black-on-white"):2===mode&&bodyClasses.add("cdk-high-contrast-active","cdk-high-contrast-white-on-black")}}}return(_class12=HighContrastModeDetector2).\u0275fac=function(t){return new(t||_class12)(core_inject(platform_Platform),core_inject(common_DOCUMENT))},_class12.\u0275prov=core_defineInjectable({token:_class12,factory:_class12.\u0275fac,providedIn:"root"}),HighContrastModeDetector2})(),A11yModule=(()=>{var _class13;class A11yModule2{constructor(highContrastModeDetector){highContrastModeDetector._applyBodyHighContrastModeCssClasses()}}return(_class13=A11yModule2).\u0275fac=function(t){return new(t||_class13)(core_inject(HighContrastModeDetector))},_class13.\u0275mod=\u0275\u0275defineNgModule({type:_class13}),_class13.\u0275inj=\u0275\u0275defineInjector({imports:[ObserversModule]}),A11yModule2})();const DIR_DOCUMENT=new InjectionToken("cdk-dir-doc",{providedIn:"root",factory:function DIR_DOCUMENT_FACTORY(){return fesm2022_core_inject(common_DOCUMENT)}}),RTL_LOCALE_PATTERN=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Directionality=(()=>{var _class2;class Directionality2{constructor(_document2){this.value="ltr",this.change=new core_EventEmitter,_document2&&(this.value=function _resolveDirectionality(rawValue){const value=rawValue?.toLowerCase()||"";return"auto"===value&&typeof navigator<"u"&&navigator?.language?RTL_LOCALE_PATTERN.test(navigator.language)?"rtl":"ltr":"rtl"===value?"rtl":"ltr"}((_document2.body?_document2.body.dir:null)||(_document2.documentElement?_document2.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}}return(_class2=Directionality2).\u0275fac=function(t){return new(t||_class2)(core_inject(DIR_DOCUMENT,8))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),Directionality2})(),BidiModule=(()=>{var _class3;class BidiModule2{}return(_class3=BidiModule2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({}),BidiModule2})();const MATERIAL_SANITY_CHECKS=new InjectionToken("mat-sanity-checks",{providedIn:"root",factory:function MATERIAL_SANITY_CHECKS_FACTORY(){return!0}});let MatCommonModule=(()=>{var _class3;class MatCommonModule2{constructor(highContrastModeDetector,_sanityChecks,_document2){this._sanityChecks=_sanityChecks,this._document=_document2,this._hasDoneGlobalChecks=!1,highContrastModeDetector._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(name){return!_isTestEnvironment()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[name])}}return(_class3=MatCommonModule2).\u0275fac=function(t){return new(t||_class3)(core_inject(HighContrastModeDetector),core_inject(MATERIAL_SANITY_CHECKS,8),core_inject(common_DOCUMENT))},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({imports:[BidiModule,BidiModule]}),MatCommonModule2})();function core_mixinDisabled(base){return class extends base{get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value)}constructor(...args){super(...args),this._disabled=!1}}}function mixinColor(base,defaultColor){return class extends base{get color(){return this._color}set color(value){const colorPalette=value||this.defaultColor;colorPalette!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),colorPalette&&this._elementRef.nativeElement.classList.add(`mat-${colorPalette}`),this._color=colorPalette)}constructor(...args){super(...args),this.defaultColor=defaultColor,this.color=defaultColor}}}function core_mixinDisableRipple(base){return class extends base{get disableRipple(){return this._disableRipple}set disableRipple(value){this._disableRipple=coercion_coerceBooleanProperty(value)}constructor(...args){super(...args),this._disableRipple=!1}}}function core_mixinTabIndex(base,defaultTabIndex=0){return class extends base{get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(value){this._tabIndex=null!=value?coercion_coerceNumberProperty(value):this.defaultTabIndex}constructor(...args){super(...args),this._tabIndex=defaultTabIndex,this.defaultTabIndex=defaultTabIndex}}}class RippleRef{constructor(_renderer,element,config2,_animationForciblyDisabledThroughCss=!1){this._renderer=_renderer,this.element=element,this.config=config2,this._animationForciblyDisabledThroughCss=_animationForciblyDisabledThroughCss,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const passiveCapturingEventOptions$1=normalizePassiveListenerOptions({passive:!0,capture:!0});class RippleEventManager{constructor(){this._events=new Map,this._delegateEventHandler=event=>{const target=_getEventTarget(event);target&&this._events.get(event.type)?.forEach((handlers2,element)=>{(element===target||element.contains(target))&&handlers2.forEach(handler=>handler.handleEvent(event))})}}addHandler(ngZone,name,element,handler){const handlersForEvent=this._events.get(name);if(handlersForEvent){const handlersForElement=handlersForEvent.get(element);handlersForElement?handlersForElement.add(handler):handlersForEvent.set(element,new Set([handler]))}else this._events.set(name,new Map([[element,new Set([handler])]])),ngZone.runOutsideAngular(()=>{document.addEventListener(name,this._delegateEventHandler,passiveCapturingEventOptions$1)})}removeHandler(name,element,handler){const handlersForEvent=this._events.get(name);if(!handlersForEvent)return;const handlersForElement=handlersForEvent.get(element);handlersForElement&&(handlersForElement.delete(handler),0===handlersForElement.size&&handlersForEvent.delete(element),0===handlersForEvent.size&&(this._events.delete(name),document.removeEventListener(name,this._delegateEventHandler,passiveCapturingEventOptions$1)))}}const defaultRippleAnimationConfig={enterDuration:225,exitDuration:150},passiveCapturingEventOptions=normalizePassiveListenerOptions({passive:!0,capture:!0}),pointerDownEvents=["mousedown","touchstart"],pointerUpEvents=["mouseup","mouseleave","touchend","touchcancel"];class RippleRenderer{constructor(_target,_ngZone,elementOrElementRef,_platform){this._target=_target,this._ngZone=_ngZone,this._platform=_platform,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,_platform.isBrowser&&(this._containerElement=coerceElement(elementOrElementRef))}fadeInRipple(x,y,config2={}){const containerRect=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),animationConfig={...defaultRippleAnimationConfig,...config2.animation};config2.centered&&(x=containerRect.left+containerRect.width/2,y=containerRect.top+containerRect.height/2);const radius=config2.radius||function distanceToFurthestCorner(x,y,rect){const distX=Math.max(Math.abs(x-rect.left),Math.abs(x-rect.right)),distY=Math.max(Math.abs(y-rect.top),Math.abs(y-rect.bottom));return Math.sqrt(distX*distX+distY*distY)}(x,y,containerRect),offsetX=x-containerRect.left,offsetY=y-containerRect.top,enterDuration=animationConfig.enterDuration,ripple=document.createElement("div");ripple.classList.add("mat-ripple-element"),ripple.style.left=offsetX-radius+"px",ripple.style.top=offsetY-radius+"px",ripple.style.height=2*radius+"px",ripple.style.width=2*radius+"px",null!=config2.color&&(ripple.style.backgroundColor=config2.color),ripple.style.transitionDuration=`${enterDuration}ms`,this._containerElement.appendChild(ripple);const computedStyles=window.getComputedStyle(ripple),userTransitionDuration=computedStyles.transitionDuration,animationForciblyDisabledThroughCss="none"===computedStyles.transitionProperty||"0s"===userTransitionDuration||"0s, 0s"===userTransitionDuration||0===containerRect.width&&0===containerRect.height,rippleRef=new RippleRef(this,ripple,config2,animationForciblyDisabledThroughCss);ripple.style.transform="scale3d(1, 1, 1)",rippleRef.state=0,config2.persistent||(this._mostRecentTransientRipple=rippleRef);let eventListeners=null;return!animationForciblyDisabledThroughCss&&(enterDuration||animationConfig.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const onTransitionEnd=()=>this._finishRippleTransition(rippleRef),onTransitionCancel=()=>this._destroyRipple(rippleRef);ripple.addEventListener("transitionend",onTransitionEnd),ripple.addEventListener("transitioncancel",onTransitionCancel),eventListeners={onTransitionEnd,onTransitionCancel}}),this._activeRipples.set(rippleRef,eventListeners),(animationForciblyDisabledThroughCss||!enterDuration)&&this._finishRippleTransition(rippleRef),rippleRef}fadeOutRipple(rippleRef){if(2===rippleRef.state||3===rippleRef.state)return;const rippleEl=rippleRef.element,animationConfig={...defaultRippleAnimationConfig,...rippleRef.config.animation};rippleEl.style.transitionDuration=`${animationConfig.exitDuration}ms`,rippleEl.style.opacity="0",rippleRef.state=2,(rippleRef._animationForciblyDisabledThroughCss||!animationConfig.exitDuration)&&this._finishRippleTransition(rippleRef)}fadeOutAll(){this._getActiveRipples().forEach(ripple=>ripple.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(ripple=>{ripple.config.persistent||ripple.fadeOut()})}setupTriggerEvents(elementOrElementRef){const element=coerceElement(elementOrElementRef);!this._platform.isBrowser||!element||element===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=element,pointerDownEvents.forEach(type=>{RippleRenderer._eventManager.addHandler(this._ngZone,type,element,this)}))}handleEvent(event){"mousedown"===event.type?this._onMousedown(event):"touchstart"===event.type?this._onTouchStart(event):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{pointerUpEvents.forEach(type=>{this._triggerElement.addEventListener(type,this,passiveCapturingEventOptions)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(rippleRef){0===rippleRef.state?this._startFadeOutTransition(rippleRef):2===rippleRef.state&&this._destroyRipple(rippleRef)}_startFadeOutTransition(rippleRef){const isMostRecentTransientRipple=rippleRef===this._mostRecentTransientRipple,{persistent}=rippleRef.config;rippleRef.state=1,!persistent&&(!isMostRecentTransientRipple||!this._isPointerDown)&&rippleRef.fadeOut()}_destroyRipple(rippleRef){const eventListeners=this._activeRipples.get(rippleRef)??null;this._activeRipples.delete(rippleRef),this._activeRipples.size||(this._containerRect=null),rippleRef===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),rippleRef.state=3,null!==eventListeners&&(rippleRef.element.removeEventListener("transitionend",eventListeners.onTransitionEnd),rippleRef.element.removeEventListener("transitioncancel",eventListeners.onTransitionCancel)),rippleRef.element.remove()}_onMousedown(event){const isFakeMousedown=isFakeMousedownFromScreenReader(event),isSyntheticEvent2=this._lastTouchStartEvent&&Date.now(){!ripple.config.persistent&&(1===ripple.state||ripple.config.terminateOnPointerUp&&0===ripple.state)&&ripple.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){const trigger2=this._triggerElement;trigger2&&(pointerDownEvents.forEach(type=>RippleRenderer._eventManager.removeHandler(type,trigger2,this)),this._pointerUpEventsRegistered&&pointerUpEvents.forEach(type=>trigger2.removeEventListener(type,this,passiveCapturingEventOptions)))}}RippleRenderer._eventManager=new RippleEventManager;const core_MAT_RIPPLE_GLOBAL_OPTIONS=new InjectionToken("mat-ripple-global-options");let MatRipple=(()=>{var _class12;class MatRipple2{get disabled(){return this._disabled}set disabled(value){value&&this.fadeOutAllNonPersistent(),this._disabled=value,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(trigger2){this._trigger=trigger2,this._setupTriggerEventsIfEnabled()}constructor(_elementRef,ngZone,platform,globalOptions,_animationMode){this._elementRef=_elementRef,this._animationMode=_animationMode,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=globalOptions||{},this._rippleRenderer=new RippleRenderer(this,ngZone,_elementRef,platform)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(configOrX,y=0,config2){return"number"==typeof configOrX?this._rippleRenderer.fadeInRipple(configOrX,y,{...this.rippleConfig,...config2}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...configOrX})}}return(_class12=MatRipple2).\u0275fac=function(t){return new(t||_class12)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_MAT_RIPPLE_GLOBAL_OPTIONS,8),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class12.\u0275dir=\u0275\u0275defineDirective({type:_class12,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275classProp("mat-ripple-unbounded",ctx.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]}),MatRipple2})(),MatRippleModule=(()=>{var _class13;class MatRippleModule2{}return(_class13=MatRippleModule2).\u0275fac=function(t){return new(t||_class13)},_class13.\u0275mod=\u0275\u0275defineNgModule({type:_class13}),_class13.\u0275inj=\u0275\u0275defineInjector({imports:[MatCommonModule,MatCommonModule]}),MatRippleModule2})();const eventListenerOptions={capture:!0},rippleInteractionEvents=["focus","click","mouseenter","touchstart"];let MatRippleLoader=(()=>{var _class21;class MatRippleLoader2{constructor(){this._document=fesm2022_core_inject(common_DOCUMENT,{optional:!0}),this._animationMode=fesm2022_core_inject(core_ANIMATION_MODULE_TYPE,{optional:!0}),this._globalRippleOptions=fesm2022_core_inject(core_MAT_RIPPLE_GLOBAL_OPTIONS,{optional:!0}),this._platform=fesm2022_core_inject(platform_Platform),this._ngZone=fesm2022_core_inject(core_NgZone),this._onInteraction=event=>{if(!(event.target instanceof HTMLElement))return;const element=event.target.closest("[mat-ripple-loader-uninitialized]");element&&this.createRipple(element)},this._ngZone.runOutsideAngular(()=>{for(const event of rippleInteractionEvents)this._document?.addEventListener(event,this._onInteraction,eventListenerOptions)})}ngOnDestroy(){for(const event of rippleInteractionEvents)this._document?.removeEventListener(event,this._onInteraction,eventListenerOptions)}configureRipple(host,config2){host.setAttribute("mat-ripple-loader-uninitialized",""),(config2.className||!host.hasAttribute("mat-ripple-loader-class-name"))&&host.setAttribute("mat-ripple-loader-class-name",config2.className||""),config2.centered&&host.setAttribute("mat-ripple-loader-centered",""),config2.disabled&&host.setAttribute("mat-ripple-loader-disabled","")}getRipple(host){return host.matRipple?host.matRipple:this.createRipple(host)}setDisabled(host,disabled){const ripple=host.matRipple;ripple?ripple.disabled=disabled:disabled?host.setAttribute("mat-ripple-loader-disabled",""):host.removeAttribute("mat-ripple-loader-disabled")}createRipple(host){if(!this._document)return;host.querySelector(".mat-ripple")?.remove();const rippleEl=this._document.createElement("span");rippleEl.classList.add("mat-ripple",host.getAttribute("mat-ripple-loader-class-name")),host.append(rippleEl);const ripple=new MatRipple(new core_ElementRef(rippleEl),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return ripple._isInitialized=!0,ripple.trigger=host,ripple.centered=host.hasAttribute("mat-ripple-loader-centered"),ripple.disabled=host.hasAttribute("mat-ripple-loader-disabled"),this.attachRipple(host,ripple),ripple}attachRipple(host,ripple){host.removeAttribute("mat-ripple-loader-uninitialized"),host.matRipple=ripple}}return(_class21=MatRippleLoader2).\u0275fac=function(t){return new(t||_class21)},_class21.\u0275prov=core_defineInjectable({token:_class21,factory:_class21.\u0275fac,providedIn:"root"}),MatRippleLoader2})();const button_c0=["mat-button",""],button_c1=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],button_c2=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],_c8=["mat-icon-button",""],_c9=["*"],HOST_SELECTOR_MDC_CLASS_PAIR=[{selector:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{selector:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{selector:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{selector:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{selector:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab"]},{selector:"mat-mini-fab",mdcClasses:["mdc-fab","mdc-fab--mini","mat-mdc-mini-fab"]},{selector:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}],_MatButtonMixin=mixinColor(core_mixinDisabled(core_mixinDisableRipple(class{constructor(_elementRef){this._elementRef=_elementRef}})));let MatButtonBase=(()=>{var _class2;class MatButtonBase2 extends _MatButtonMixin{get ripple(){return this._rippleLoader?.getRipple(this._elementRef.nativeElement)}set ripple(v){this._rippleLoader?.attachRipple(this._elementRef.nativeElement,v)}get disableRipple(){return this._disableRipple}set disableRipple(value){this._disableRipple=coercion_coerceBooleanProperty(value),this._updateRippleDisabled()}get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value),this._updateRippleDisabled()}constructor(elementRef,_platform,_ngZone,_animationMode){super(elementRef),this._platform=_platform,this._ngZone=_ngZone,this._animationMode=_animationMode,this._focusMonitor=fesm2022_core_inject(FocusMonitor),this._rippleLoader=fesm2022_core_inject(MatRippleLoader),this._isFab=!1,this._disableRipple=!1,this._disabled=!1,this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-button-ripple"});const classList=elementRef.nativeElement.classList;for(const pair of HOST_SELECTOR_MDC_CLASS_PAIR)this._hasHostAttributes(pair.selector)&&pair.mdcClasses.forEach(className=>{classList.add(className)})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(_origin="program",options){_origin?this._focusMonitor.focusVia(this._elementRef.nativeElement,_origin,options):this._elementRef.nativeElement.focus(options)}_hasHostAttributes(...attributes){return attributes.some(attribute=>this._elementRef.nativeElement.hasAttribute(attribute))}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}}return(_class2=MatButtonBase2).\u0275fac=function(t){\u0275\u0275invalidFactory()},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,features:[\u0275\u0275InheritDefinitionFeature]}),MatButtonBase2})(),MatButton=(()=>{var _class3;class MatButton2 extends MatButtonBase{constructor(elementRef,platform,ngZone,animationMode){super(elementRef,platform,ngZone,animationMode)}}return(_class3=MatButton2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class3.\u0275cmp=\u0275\u0275defineComponent({type:_class3,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostVars:7,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("disabled",ctx.disabled||null),\u0275\u0275classProp("_mat-animation-noopable","NoopAnimations"===ctx._animationMode)("mat-unthemed",!ctx.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[\u0275\u0275InheritDefinitionFeature],attrs:button_c0,ngContentSelectors:button_c2,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(button_c1),\u0275\u0275element(0,"span",0),\u0275\u0275projection(1),\u0275\u0275elementStart(2,"span",1),\u0275\u0275projection(3,1),\u0275\u0275elementEnd(),\u0275\u0275projection(4,2),\u0275\u0275element(5,"span",2)(6,"span",3)),2&rf&&\u0275\u0275classProp("mdc-button__ripple",!ctx._isFab)("mdc-fab__ripple",ctx._isFab)},styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px) * -1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0}),MatButton2})(),MatIconButton=(()=>{var _class9;class MatIconButton2 extends MatButtonBase{constructor(elementRef,platform,ngZone,animationMode){super(elementRef,platform,ngZone,animationMode),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}}return(_class9=MatIconButton2).\u0275fac=function(t){return new(t||_class9)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class9.\u0275cmp=\u0275\u0275defineComponent({type:_class9,selectors:[["button","mat-icon-button",""]],hostVars:7,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("disabled",ctx.disabled||null),\u0275\u0275classProp("_mat-animation-noopable","NoopAnimations"===ctx._animationMode)("mat-unthemed",!ctx.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[\u0275\u0275InheritDefinitionFeature],attrs:_c8,ngContentSelectors:_c9,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275element(0,"span",0),\u0275\u0275projection(1),\u0275\u0275element(2,"span",1)(3,"span",2))},styles:['.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;z-index:0;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}@media screen and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block}}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button[hidden]{display:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%;display:none}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring{border-color:CanvasText}}.mdc-icon-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}.mdc-icon-button__link{height:100%;left:0;outline:none;position:absolute;top:0;width:100%}.mat-mdc-icon-button{height:var(--mdc-icon-button-state-layer-size);width:var(--mdc-icon-button-state-layer-size);color:var(--mdc-icon-button-icon-color);--mdc-icon-button-state-layer-size:48px;--mdc-icon-button-icon-size:24px;--mdc-icon-button-disabled-icon-color:black;--mdc-icon-button-disabled-icon-opacity:0.38}.mat-mdc-icon-button .mdc-button__icon{font-size:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button svg,.mat-mdc-icon-button img{width:var(--mdc-icon-button-icon-size);height:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button:disabled{opacity:var(--mdc-icon-button-disabled-icon-opacity)}.mat-mdc-icon-button:disabled{color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button{padding:12px;font-size:var(--mdc-icon-button-icon-size);border-radius:50%;flex-shrink:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button svg{vertical-align:baseline}.mat-mdc-icon-button[disabled]{cursor:default;pointer-events:none;opacity:1}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-icon-button .mdc-button__label{z-index:1}.mat-mdc-icon-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-icon-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0}),MatIconButton2})(),MatButtonModule=(()=>{var _class112;class MatButtonModule2{}return(_class112=MatButtonModule2).\u0275fac=function(t){return new(t||_class112)},_class112.\u0275mod=\u0275\u0275defineNgModule({type:_class112}),_class112.\u0275inj=\u0275\u0275defineInjector({imports:[MatCommonModule,MatRippleModule,MatCommonModule]}),MatButtonModule2})();const nodeEventEmitterMethods=["addListener","removeListener"],eventTargetMethods=["addEventListener","removeEventListener"],jqueryMethods=["on","off"];function fromEvent_fromEvent(target,eventName,options,resultSelector){if(isFunction(options)&&(resultSelector=options,options=void 0),resultSelector)return fromEvent_fromEvent(target,eventName,options).pipe(mapOneOrManyArgs(resultSelector));const[add,remove2]=function isEventTarget(target){return isFunction(target.addEventListener)&&isFunction(target.removeEventListener)}(target)?eventTargetMethods.map(methodName=>handler=>target[methodName](eventName,handler,options)):function isNodeStyleEventEmitter(target){return isFunction(target.addListener)&&isFunction(target.removeListener)}(target)?nodeEventEmitterMethods.map(toCommonHandlerRegistry(target,eventName)):function isJQueryStyleEventEmitter(target){return isFunction(target.on)&&isFunction(target.off)}(target)?jqueryMethods.map(toCommonHandlerRegistry(target,eventName)):[];if(!add&&isArrayLike(target))return mergeMap_mergeMap(subTarget=>fromEvent_fromEvent(subTarget,eventName,options))(innerFrom(target));if(!add)throw new TypeError("Invalid event target");return new Observable_Observable(subscriber=>{const handler=(...args)=>subscriber.next(1remove2(handler)})}function toCommonHandlerRegistry(target,eventName){return methodName=>handler=>target[methodName](eventName,handler)}const animationFrameProvider={schedule(callback){let request=requestAnimationFrame,cancel=cancelAnimationFrame;const{delegate}=animationFrameProvider;delegate&&(request=delegate.requestAnimationFrame,cancel=delegate.cancelAnimationFrame);const handle=request(timestamp=>{cancel=void 0,callback(timestamp)});return new Subscription_Subscription(()=>cancel?.(handle))},requestAnimationFrame(...args){const{delegate}=animationFrameProvider;return(delegate?.requestAnimationFrame||requestAnimationFrame)(...args)},cancelAnimationFrame(...args){const{delegate}=animationFrameProvider;return(delegate?.cancelAnimationFrame||cancelAnimationFrame)(...args)},delegate:void 0};new class AnimationFrameScheduler extends AsyncScheduler{flush(action){this._active=!0;const flushId=this._scheduled;this._scheduled=void 0;const{actions}=this;let error;action=action||actions.shift();do{if(error=action.execute(action.state,action.delay))break}while((action=actions[0])&&action.id===flushId&&actions.shift());if(this._active=!1,error){for(;(action=actions[0])&&action.id===flushId&&actions.shift();)action.unsubscribe();throw error}}}(class AnimationFrameAction extends AsyncAction{constructor(scheduler,work){super(scheduler,work),this.scheduler=scheduler,this.work=work}requestAsyncId(scheduler,id,delay=0){return null!==delay&&delay>0?super.requestAsyncId(scheduler,id,delay):(scheduler.actions.push(this),scheduler._scheduled||(scheduler._scheduled=animationFrameProvider.requestAnimationFrame(()=>scheduler.flush(void 0))))}recycleAsyncId(scheduler,id,delay=0){var _a;if(null!=delay?delay>0:this.delay>0)return super.recycleAsyncId(scheduler,id,delay);const{actions}=scheduler;null!=id&&(null===(_a=actions[actions.length-1])||void 0===_a?void 0:_a.id)!==id&&(animationFrameProvider.cancelAnimationFrame(id),scheduler._scheduled=void 0)}});let resolved,nextHandle=1;const activeHandles={};function findAndClearHandle(handle){return handle in activeHandles&&(delete activeHandles[handle],!0)}const Immediate={setImmediate(cb){const handle=nextHandle++;return activeHandles[handle]=!0,resolved||(resolved=Promise.resolve()),resolved.then(()=>findAndClearHandle(handle)&&cb()),handle},clearImmediate(handle){findAndClearHandle(handle)}},{setImmediate,clearImmediate}=Immediate,immediateProvider={setImmediate(...args){const{delegate}=immediateProvider;return(delegate?.setImmediate||setImmediate)(...args)},clearImmediate(handle){const{delegate}=immediateProvider;return(delegate?.clearImmediate||clearImmediate)(handle)},delegate:void 0};new class AsapScheduler extends AsyncScheduler{flush(action){this._active=!0;const flushId=this._scheduled;this._scheduled=void 0;const{actions}=this;let error;action=action||actions.shift();do{if(error=action.execute(action.state,action.delay))break}while((action=actions[0])&&action.id===flushId&&actions.shift());if(this._active=!1,error){for(;(action=actions[0])&&action.id===flushId&&actions.shift();)action.unsubscribe();throw error}}}(class AsapAction extends AsyncAction{constructor(scheduler,work){super(scheduler,work),this.scheduler=scheduler,this.work=work}requestAsyncId(scheduler,id,delay=0){return null!==delay&&delay>0?super.requestAsyncId(scheduler,id,delay):(scheduler.actions.push(this),scheduler._scheduled||(scheduler._scheduled=immediateProvider.setImmediate(scheduler.flush.bind(scheduler,void 0))))}recycleAsyncId(scheduler,id,delay=0){var _a;if(null!=delay?delay>0:this.delay>0)return super.recycleAsyncId(scheduler,id,delay);const{actions}=scheduler;null!=id&&(null===(_a=actions[actions.length-1])||void 0===_a?void 0:_a.id)!==id&&(immediateProvider.clearImmediate(id),scheduler._scheduled===id&&(scheduler._scheduled=void 0))}});function timer_timer(dueTime=0,intervalOrScheduler,scheduler=async_async){let intervalDuration=-1;return null!=intervalOrScheduler&&(isScheduler(intervalOrScheduler)?scheduler=intervalOrScheduler:intervalDuration=intervalOrScheduler),new Observable_Observable(subscriber=>{let due=function isValidDate(value){return value instanceof Date&&!isNaN(value)}(dueTime)?+dueTime-scheduler.now():dueTime;due<0&&(due=0);let n=0;return scheduler.schedule(function(){subscriber.closed||(subscriber.next(n++),0<=intervalDuration?this.schedule(void 0,intervalDuration):subscriber.complete())},due)})}function auditTime_auditTime(duration,scheduler=asyncScheduler){return function audit(durationSelector){return operate((source,subscriber)=>{let hasValue=!1,lastValue=null,durationSubscriber=null,isComplete=!1;const endDuration=()=>{if(durationSubscriber?.unsubscribe(),durationSubscriber=null,hasValue){hasValue=!1;const value=lastValue;lastValue=null,subscriber.next(value)}isComplete&&subscriber.complete()},cleanupDuration=()=>{durationSubscriber=null,isComplete&&subscriber.complete()};source.subscribe(createOperatorSubscriber(subscriber,value=>{hasValue=!0,lastValue=value,durationSubscriber||innerFrom(durationSelector(value)).subscribe(durationSubscriber=createOperatorSubscriber(subscriber,endDuration,cleanupDuration))},()=>{isComplete=!0,(!hasValue||!durationSubscriber||durationSubscriber.closed)&&subscriber.complete()}))})}(()=>timer_timer(duration,scheduler))}let ScrollDispatcher=(()=>{var _class2;class ScrollDispatcher2{constructor(_ngZone,_platform,document2){this._ngZone=_ngZone,this._platform=_platform,this._scrolled=new Subject_Subject,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=document2}register(scrollable){this.scrollContainers.has(scrollable)||this.scrollContainers.set(scrollable,scrollable.elementScrolled().subscribe(()=>this._scrolled.next(scrollable)))}deregister(scrollable){const scrollableReference=this.scrollContainers.get(scrollable);scrollableReference&&(scrollableReference.unsubscribe(),this.scrollContainers.delete(scrollable))}scrolled(auditTimeInMs=20){return this._platform.isBrowser?new Observable_Observable(observer=>{this._globalSubscription||this._addGlobalListener();const subscription=auditTimeInMs>0?this._scrolled.pipe(auditTime_auditTime(auditTimeInMs)).subscribe(observer):this._scrolled.subscribe(observer);return this._scrolledCount++,()=>{subscription.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):of_of()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((_,container)=>this.deregister(container)),this._scrolled.complete()}ancestorScrolled(elementOrElementRef,auditTimeInMs){const ancestors=this.getAncestorScrollContainers(elementOrElementRef);return this.scrolled(auditTimeInMs).pipe(filter_filter(target=>!target||ancestors.indexOf(target)>-1))}getAncestorScrollContainers(elementOrElementRef){const scrollingContainers=[];return this.scrollContainers.forEach((_subscription,scrollable)=>{this._scrollableContainsElement(scrollable,elementOrElementRef)&&scrollingContainers.push(scrollable)}),scrollingContainers}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(scrollable,elementOrElementRef){let element=coerceElement(elementOrElementRef),scrollableElement=scrollable.getElementRef().nativeElement;do{if(element==scrollableElement)return!0}while(element=element.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>fromEvent_fromEvent(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return(_class2=ScrollDispatcher2).\u0275fac=function(t){return new(t||_class2)(core_inject(core_NgZone),core_inject(platform_Platform),core_inject(common_DOCUMENT,8))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),ScrollDispatcher2})(),ViewportRuler=(()=>{var _class4;class ViewportRuler2{constructor(_platform,ngZone,document2){this._platform=_platform,this._change=new Subject_Subject,this._changeListener=event=>{this._change.next(event)},this._document=document2,ngZone.runOutsideAngular(()=>{if(_platform.isBrowser){const window2=this._getWindow();window2.addEventListener("resize",this._changeListener),window2.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const window2=this._getWindow();window2.removeEventListener("resize",this._changeListener),window2.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const output={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),output}getViewportRect(){const scrollPosition=this.getViewportScrollPosition(),{width,height}=this.getViewportSize();return{top:scrollPosition.top,left:scrollPosition.left,bottom:scrollPosition.top+height,right:scrollPosition.left+width,height,width}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const document2=this._document,window2=this._getWindow(),documentElement2=document2.documentElement,documentRect=documentElement2.getBoundingClientRect();return{top:-documentRect.top||document2.body.scrollTop||window2.scrollY||documentElement2.scrollTop||0,left:-documentRect.left||document2.body.scrollLeft||window2.scrollX||documentElement2.scrollLeft||0}}change(throttleTime=20){return throttleTime>0?this._change.pipe(auditTime_auditTime(throttleTime)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const window2=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:window2.innerWidth,height:window2.innerHeight}:{width:0,height:0}}}return(_class4=ViewportRuler2).\u0275fac=function(t){return new(t||_class4)(core_inject(platform_Platform),core_inject(core_NgZone),core_inject(common_DOCUMENT,8))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac,providedIn:"root"}),ViewportRuler2})(),CdkScrollableModule=(()=>{var _class10;class CdkScrollableModule2{}return(_class10=CdkScrollableModule2).\u0275fac=function(t){return new(t||_class10)},_class10.\u0275mod=\u0275\u0275defineNgModule({type:_class10}),_class10.\u0275inj=\u0275\u0275defineInjector({}),CdkScrollableModule2})(),ScrollingModule=(()=>{var _class112;class ScrollingModule2{}return(_class112=ScrollingModule2).\u0275fac=function(t){return new(t||_class112)},_class112.\u0275mod=\u0275\u0275defineNgModule({type:_class112}),_class112.\u0275inj=\u0275\u0275defineInjector({imports:[BidiModule,CdkScrollableModule,BidiModule,CdkScrollableModule]}),ScrollingModule2})();class Portal{attach(host){return this._attachedHost=host,host.attach(this)}detach(){let host=this._attachedHost;null!=host&&(this._attachedHost=null,host.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(host){this._attachedHost=host}}class ComponentPortal extends Portal{constructor(component,viewContainerRef,injector,componentFactoryResolver,projectableNodes){super(),this.component=component,this.viewContainerRef=viewContainerRef,this.injector=injector,this.componentFactoryResolver=componentFactoryResolver,this.projectableNodes=projectableNodes}}class portal_TemplatePortal extends Portal{constructor(templateRef,viewContainerRef,context2,injector){super(),this.templateRef=templateRef,this.viewContainerRef=viewContainerRef,this.context=context2,this.injector=injector}get origin(){return this.templateRef.elementRef}attach(host,context2=this.context){return this.context=context2,super.attach(host)}detach(){return this.context=void 0,super.detach()}}class DomPortal extends Portal{constructor(element){super(),this.element=element instanceof core_ElementRef?element.nativeElement:element}}class BasePortalOutlet{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(portal){return portal instanceof ComponentPortal?(this._attachedPortal=portal,this.attachComponentPortal(portal)):portal instanceof portal_TemplatePortal?(this._attachedPortal=portal,this.attachTemplatePortal(portal)):this.attachDomPortal&&portal instanceof DomPortal?(this._attachedPortal=portal,this.attachDomPortal(portal)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(fn){this._disposeFn=fn}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class DomPortalOutlet extends BasePortalOutlet{constructor(outletElement,_componentFactoryResolver,_appRef,_defaultInjector,_document2){super(),this.outletElement=outletElement,this._componentFactoryResolver=_componentFactoryResolver,this._appRef=_appRef,this._defaultInjector=_defaultInjector,this.attachDomPortal=portal=>{const element=portal.element,anchorNode=this._document.createComment("dom-portal");element.parentNode.insertBefore(anchorNode,element),this.outletElement.appendChild(element),this._attachedPortal=portal,super.setDisposeFn(()=>{anchorNode.parentNode&&anchorNode.parentNode.replaceChild(element,anchorNode)})},this._document=_document2}attachComponentPortal(portal){const componentFactory=(portal.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(portal.component);let componentRef;return portal.viewContainerRef?(componentRef=portal.viewContainerRef.createComponent(componentFactory,portal.viewContainerRef.length,portal.injector||portal.viewContainerRef.injector,portal.projectableNodes||void 0),this.setDisposeFn(()=>componentRef.destroy())):(componentRef=componentFactory.create(portal.injector||this._defaultInjector||core_Injector.NULL),this._appRef.attachView(componentRef.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(componentRef.hostView),componentRef.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(componentRef)),this._attachedPortal=portal,componentRef}attachTemplatePortal(portal){let viewContainer=portal.viewContainerRef,viewRef=viewContainer.createEmbeddedView(portal.templateRef,portal.context,{injector:portal.injector});return viewRef.rootNodes.forEach(rootNode=>this.outletElement.appendChild(rootNode)),viewRef.detectChanges(),this.setDisposeFn(()=>{let index=viewContainer.indexOf(viewRef);-1!==index&&viewContainer.remove(index)}),this._attachedPortal=portal,viewRef}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(componentRef){return componentRef.hostView.rootNodes[0]}}let CdkPortal=(()=>{var _class2;class CdkPortal2 extends portal_TemplatePortal{constructor(templateRef,viewContainerRef){super(templateRef,viewContainerRef)}}return(_class2=CdkPortal2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(ViewContainerRef))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[\u0275\u0275InheritDefinitionFeature]}),CdkPortal2})(),CdkPortalOutlet=(()=>{var _class3;class CdkPortalOutlet2 extends BasePortalOutlet{constructor(_componentFactoryResolver,_viewContainerRef,_document2){super(),this._componentFactoryResolver=_componentFactoryResolver,this._viewContainerRef=_viewContainerRef,this._isInitialized=!1,this.attached=new core_EventEmitter,this.attachDomPortal=portal=>{const element=portal.element,anchorNode=this._document.createComment("dom-portal");portal.setAttachedHost(this),element.parentNode.insertBefore(anchorNode,element),this._getRootNode().appendChild(element),this._attachedPortal=portal,super.setDisposeFn(()=>{anchorNode.parentNode&&anchorNode.parentNode.replaceChild(element,anchorNode)})},this._document=_document2}get portal(){return this._attachedPortal}set portal(portal){this.hasAttached()&&!portal&&!this._isInitialized||(this.hasAttached()&&super.detach(),portal&&super.attach(portal),this._attachedPortal=portal||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(portal){portal.setAttachedHost(this);const viewContainerRef=null!=portal.viewContainerRef?portal.viewContainerRef:this._viewContainerRef,componentFactory=(portal.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(portal.component),ref2=viewContainerRef.createComponent(componentFactory,viewContainerRef.length,portal.injector||viewContainerRef.injector,portal.projectableNodes||void 0);return viewContainerRef!==this._viewContainerRef&&this._getRootNode().appendChild(ref2.hostView.rootNodes[0]),super.setDisposeFn(()=>ref2.destroy()),this._attachedPortal=portal,this._attachedRef=ref2,this.attached.emit(ref2),ref2}attachTemplatePortal(portal){portal.setAttachedHost(this);const viewRef=this._viewContainerRef.createEmbeddedView(portal.templateRef,portal.context,{injector:portal.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=portal,this._attachedRef=viewRef,this.attached.emit(viewRef),viewRef}_getRootNode(){const nativeElement=this._viewContainerRef.element.nativeElement;return nativeElement.nodeType===nativeElement.ELEMENT_NODE?nativeElement:nativeElement.parentNode}}return(_class3=CdkPortalOutlet2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(ComponentFactoryResolver$1),\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(common_DOCUMENT))},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[\u0275\u0275InheritDefinitionFeature]}),CdkPortalOutlet2})(),PortalModule=(()=>{var _class5;class PortalModule2{}return(_class5=PortalModule2).\u0275fac=function(t){return new(t||_class5)},_class5.\u0275mod=\u0275\u0275defineNgModule({type:_class5}),_class5.\u0275inj=\u0275\u0275defineInjector({}),PortalModule2})();const overlay_scrollBehaviorSupported=platform_supportsScrollBehavior();class BlockScrollStrategy{constructor(_viewportRuler,document2){this._viewportRuler=_viewportRuler,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=document2}attach(){}enable(){if(this._canBeEnabled()){const root=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=root.style.left||"",this._previousHTMLStyles.top=root.style.top||"",root.style.left=coerceCssPixelValue(-this._previousScrollPosition.left),root.style.top=coerceCssPixelValue(-this._previousScrollPosition.top),root.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const html=this._document.documentElement,htmlStyle=html.style,bodyStyle=this._document.body.style,previousHtmlScrollBehavior=htmlStyle.scrollBehavior||"",previousBodyScrollBehavior=bodyStyle.scrollBehavior||"";this._isEnabled=!1,htmlStyle.left=this._previousHTMLStyles.left,htmlStyle.top=this._previousHTMLStyles.top,html.classList.remove("cdk-global-scrollblock"),overlay_scrollBehaviorSupported&&(htmlStyle.scrollBehavior=bodyStyle.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),overlay_scrollBehaviorSupported&&(htmlStyle.scrollBehavior=previousHtmlScrollBehavior,bodyStyle.scrollBehavior=previousBodyScrollBehavior)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const body=this._document.body,viewport=this._viewportRuler.getViewportSize();return body.scrollHeight>viewport.height||body.scrollWidth>viewport.width}}class CloseScrollStrategy{constructor(_scrollDispatcher,_ngZone,_viewportRuler,_config){this._scrollDispatcher=_scrollDispatcher,this._ngZone=_ngZone,this._viewportRuler=_viewportRuler,this._config=_config,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(overlayRef){this._overlayRef=overlayRef}enable(){if(this._scrollSubscription)return;const stream=this._scrollDispatcher.scrolled(0).pipe(filter_filter(scrollable=>!scrollable||!this._overlayRef.overlayElement.contains(scrollable.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=stream.subscribe(()=>{const scrollPosition=this._viewportRuler.getViewportScrollPosition().top;Math.abs(scrollPosition-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=stream.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class NoopScrollStrategy{enable(){}disable(){}attach(){}}function isElementScrolledOutsideView(element,scrollContainers){return scrollContainers.some(containerBounds=>element.bottomcontainerBounds.bottom||element.rightcontainerBounds.right)}function isElementClippedByScrolling(element,scrollContainers){return scrollContainers.some(scrollContainerRect=>element.topscrollContainerRect.bottom||element.leftscrollContainerRect.right)}class RepositionScrollStrategy{constructor(_scrollDispatcher,_viewportRuler,_ngZone,_config){this._scrollDispatcher=_scrollDispatcher,this._viewportRuler=_viewportRuler,this._ngZone=_ngZone,this._config=_config,this._scrollSubscription=null}attach(overlayRef){this._overlayRef=overlayRef}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const overlayRect=this._overlayRef.overlayElement.getBoundingClientRect(),{width,height}=this._viewportRuler.getViewportSize();isElementScrolledOutsideView(overlayRect,[{width,height,bottom:height,right:width,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let ScrollStrategyOptions=(()=>{var _class2;class ScrollStrategyOptions2{constructor(_scrollDispatcher,_viewportRuler,_ngZone,document2){this._scrollDispatcher=_scrollDispatcher,this._viewportRuler=_viewportRuler,this._ngZone=_ngZone,this.noop=()=>new NoopScrollStrategy,this.close=config2=>new CloseScrollStrategy(this._scrollDispatcher,this._ngZone,this._viewportRuler,config2),this.block=()=>new BlockScrollStrategy(this._viewportRuler,this._document),this.reposition=config2=>new RepositionScrollStrategy(this._scrollDispatcher,this._viewportRuler,this._ngZone,config2),this._document=document2}}return(_class2=ScrollStrategyOptions2).\u0275fac=function(t){return new(t||_class2)(core_inject(ScrollDispatcher),core_inject(ViewportRuler),core_inject(core_NgZone),core_inject(common_DOCUMENT))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),ScrollStrategyOptions2})();class OverlayConfig{constructor(config2){if(this.scrollStrategy=new NoopScrollStrategy,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,config2){const configKeys=Object.keys(config2);for(const key of configKeys)void 0!==config2[key]&&(this[key]=config2[key])}}}class ConnectedOverlayPositionChange{constructor(connectionPair,scrollableViewProperties){this.connectionPair=connectionPair,this.scrollableViewProperties=scrollableViewProperties}}let BaseOverlayDispatcher=(()=>{var _class2;class BaseOverlayDispatcher2{constructor(document2){this._attachedOverlays=[],this._document=document2}ngOnDestroy(){this.detach()}add(overlayRef){this.remove(overlayRef),this._attachedOverlays.push(overlayRef)}remove(overlayRef){const index=this._attachedOverlays.indexOf(overlayRef);index>-1&&this._attachedOverlays.splice(index,1),0===this._attachedOverlays.length&&this.detach()}}return(_class2=BaseOverlayDispatcher2).\u0275fac=function(t){return new(t||_class2)(core_inject(common_DOCUMENT))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),BaseOverlayDispatcher2})(),OverlayKeyboardDispatcher=(()=>{var _class3;class OverlayKeyboardDispatcher2 extends BaseOverlayDispatcher{constructor(document2,_ngZone){super(document2),this._ngZone=_ngZone,this._keydownListener=event=>{const overlays=this._attachedOverlays;for(let i6=overlays.length-1;i6>-1;i6--)if(overlays[i6]._keydownEvents.observers.length>0){const keydownEvents=overlays[i6]._keydownEvents;this._ngZone?this._ngZone.run(()=>keydownEvents.next(event)):keydownEvents.next(event);break}}}add(overlayRef){super.add(overlayRef),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return(_class3=OverlayKeyboardDispatcher2).\u0275fac=function(t){return new(t||_class3)(core_inject(common_DOCUMENT),core_inject(core_NgZone,8))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac,providedIn:"root"}),OverlayKeyboardDispatcher2})(),OverlayOutsideClickDispatcher=(()=>{var _class4;class OverlayOutsideClickDispatcher2 extends BaseOverlayDispatcher{constructor(document2,_platform,_ngZone){super(document2),this._platform=_platform,this._ngZone=_ngZone,this._cursorStyleIsSet=!1,this._pointerDownListener=event=>{this._pointerDownEventTarget=_getEventTarget(event)},this._clickListener=event=>{const target=_getEventTarget(event),origin="click"===event.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:target;this._pointerDownEventTarget=null;const overlays=this._attachedOverlays.slice();for(let i6=overlays.length-1;i6>-1;i6--){const overlayRef=overlays[i6];if(overlayRef._outsidePointerEvents.observers.length<1||!overlayRef.hasAttached())continue;if(overlayRef.overlayElement.contains(target)||overlayRef.overlayElement.contains(origin))break;const outsidePointerEvents=overlayRef._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>outsidePointerEvents.next(event)):outsidePointerEvents.next(event)}}}add(overlayRef){if(super.add(overlayRef),!this._isAttached){const body=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(body)):this._addEventListeners(body),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=body.style.cursor,body.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const body=this._document.body;body.removeEventListener("pointerdown",this._pointerDownListener,!0),body.removeEventListener("click",this._clickListener,!0),body.removeEventListener("auxclick",this._clickListener,!0),body.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(body.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(body){body.addEventListener("pointerdown",this._pointerDownListener,!0),body.addEventListener("click",this._clickListener,!0),body.addEventListener("auxclick",this._clickListener,!0),body.addEventListener("contextmenu",this._clickListener,!0)}}return(_class4=OverlayOutsideClickDispatcher2).\u0275fac=function(t){return new(t||_class4)(core_inject(common_DOCUMENT),core_inject(platform_Platform),core_inject(core_NgZone,8))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac,providedIn:"root"}),OverlayOutsideClickDispatcher2})(),OverlayContainer=(()=>{var _class5;class OverlayContainer2{constructor(document2,_platform){this._platform=_platform,this._document=document2}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){if(this._platform.isBrowser||_isTestEnvironment()){const oppositePlatformContainers=this._document.querySelectorAll('.cdk-overlay-container[platform="server"], .cdk-overlay-container[platform="test"]');for(let i6=0;i6this._backdropClick.next(event),this._backdropTransitionendHandler=event=>{this._disposeBackdrop(event.target)},this._keydownEvents=new Subject_Subject,this._outsidePointerEvents=new Subject_Subject,_config.scrollStrategy&&(this._scrollStrategy=_config.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=_config.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(portal){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const attachResult=this._portalOutlet.attach(portal);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(take_take(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof attachResult?.onDestroy&&attachResult.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),attachResult}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const detachmentResult=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),detachmentResult}dispose(){const isAttached=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,isAttached&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(strategy){strategy!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=strategy,this.hasAttached()&&(strategy.attach(this),this.updatePosition()))}updateSize(sizeConfig){this._config={...this._config,...sizeConfig},this._updateElementSize()}setDirection(dir){this._config={...this._config,direction:dir},this._updateElementDirection()}addPanelClass(classes){this._pane&&this._toggleClasses(this._pane,classes,!0)}removePanelClass(classes){this._pane&&this._toggleClasses(this._pane,classes,!1)}getDirection(){const direction=this._config.direction;return direction?"string"==typeof direction?direction:direction.value:"ltr"}updateScrollStrategy(strategy){strategy!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=strategy,this.hasAttached()&&(strategy.attach(this),strategy.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const style2=this._pane.style;style2.width=coerceCssPixelValue(this._config.width),style2.height=coerceCssPixelValue(this._config.height),style2.minWidth=coerceCssPixelValue(this._config.minWidth),style2.minHeight=coerceCssPixelValue(this._config.minHeight),style2.maxWidth=coerceCssPixelValue(this._config.maxWidth),style2.maxHeight=coerceCssPixelValue(this._config.maxHeight)}_togglePointerEvents(enablePointer){this._pane.style.pointerEvents=enablePointer?"":"none"}_attachBackdrop(){this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const backdropToDetach=this._backdropElement;if(backdropToDetach){if(this._animationsDisabled)return void this._disposeBackdrop(backdropToDetach);backdropToDetach.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{backdropToDetach.addEventListener("transitionend",this._backdropTransitionendHandler)}),backdropToDetach.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(backdropToDetach)},500))}}_toggleClasses(element,cssClasses,isAdd){const classes=coerceArray(cssClasses||[]).filter(c=>!!c);classes.length&&(isAdd?element.classList.add(...classes):element.classList.remove(...classes))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const subscription=this._ngZone.onStable.pipe(takeUntil_takeUntil(merge_merge(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),subscription.unsubscribe())})})}_disposeScrollStrategy(){const scrollStrategy=this._scrollStrategy;scrollStrategy&&(scrollStrategy.disable(),scrollStrategy.detach&&scrollStrategy.detach())}_disposeBackdrop(backdrop){backdrop&&(backdrop.removeEventListener("click",this._backdropClickHandler),backdrop.removeEventListener("transitionend",this._backdropTransitionendHandler),backdrop.remove(),this._backdropElement===backdrop&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const cssUnitPattern=/([A-Za-z%]+)$/;class FlexibleConnectedPositionStrategy{get positions(){return this._preferredPositions}constructor(connectedTo,_viewportRuler,_document2,_platform,_overlayContainer){this._viewportRuler=_viewportRuler,this._document=_document2,this._platform=_platform,this._overlayContainer=_overlayContainer,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new Subject_Subject,this._resizeSubscription=Subscription_Subscription.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(connectedTo)}attach(overlayRef){this._validatePositions(),overlayRef.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=overlayRef,this._boundingBox=overlayRef.hostElement,this._pane=overlayRef.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const originRect=this._originRect,overlayRect=this._overlayRect,viewportRect=this._viewportRect,containerRect=this._containerRect,flexibleFits=[];let fallback;for(let pos of this._preferredPositions){let originPoint=this._getOriginPoint(originRect,containerRect,pos),overlayPoint=this._getOverlayPoint(originPoint,overlayRect,pos),overlayFit=this._getOverlayFit(overlayPoint,overlayRect,viewportRect,pos);if(overlayFit.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(pos,originPoint);this._canFitWithFlexibleDimensions(overlayFit,overlayPoint,viewportRect)?flexibleFits.push({position:pos,origin:originPoint,overlayRect,boundingBoxRect:this._calculateBoundingBoxRect(originPoint,pos)}):(!fallback||fallback.overlayFit.visibleAreabestScore&&(bestScore=score,bestFit=fit)}return this._isPushed=!1,void this._applyPosition(bestFit.position,bestFit.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(fallback.position,fallback.originPoint);this._applyPosition(fallback.position,fallback.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&extendStyles(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove("cdk-overlay-connected-position-bounding-box"),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const lastPosition=this._lastPosition;if(lastPosition){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const originPoint=this._getOriginPoint(this._originRect,this._containerRect,lastPosition);this._applyPosition(lastPosition,originPoint)}else this.apply()}withScrollableContainers(scrollables){return this._scrollables=scrollables,this}withPositions(positions){return this._preferredPositions=positions,-1===positions.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(margin){return this._viewportMargin=margin,this}withFlexibleDimensions(flexibleDimensions=!0){return this._hasFlexibleDimensions=flexibleDimensions,this}withGrowAfterOpen(growAfterOpen=!0){return this._growAfterOpen=growAfterOpen,this}withPush(canPush=!0){return this._canPush=canPush,this}withLockedPosition(isLocked=!0){return this._positionLocked=isLocked,this}setOrigin(origin){return this._origin=origin,this}withDefaultOffsetX(offset){return this._offsetX=offset,this}withDefaultOffsetY(offset){return this._offsetY=offset,this}withTransformOriginOn(selector){return this._transformOriginSelector=selector,this}_getOriginPoint(originRect,containerRect,pos){let x,y;if("center"==pos.originX)x=originRect.left+originRect.width/2;else{const startX=this._isRtl()?originRect.right:originRect.left,endX=this._isRtl()?originRect.left:originRect.right;x="start"==pos.originX?startX:endX}return containerRect.left<0&&(x-=containerRect.left),y="center"==pos.originY?originRect.top+originRect.height/2:"top"==pos.originY?originRect.top:originRect.bottom,containerRect.top<0&&(y-=containerRect.top),{x,y}}_getOverlayPoint(originPoint,overlayRect,pos){let overlayStartX,overlayStartY;return overlayStartX="center"==pos.overlayX?-overlayRect.width/2:"start"===pos.overlayX?this._isRtl()?-overlayRect.width:0:this._isRtl()?0:-overlayRect.width,overlayStartY="center"==pos.overlayY?-overlayRect.height/2:"top"==pos.overlayY?0:-overlayRect.height,{x:originPoint.x+overlayStartX,y:originPoint.y+overlayStartY}}_getOverlayFit(point,rawOverlayRect,viewport,position){const overlay=getRoundedBoundingClientRect(rawOverlayRect);let{x,y}=point,offsetX=this._getOffset(position,"x"),offsetY=this._getOffset(position,"y");offsetX&&(x+=offsetX),offsetY&&(y+=offsetY);let topOverflow=0-y,bottomOverflow=y+overlay.height-viewport.height,visibleWidth=this._subtractOverflows(overlay.width,0-x,x+overlay.width-viewport.width),visibleHeight=this._subtractOverflows(overlay.height,topOverflow,bottomOverflow),visibleArea=visibleWidth*visibleHeight;return{visibleArea,isCompletelyWithinViewport:overlay.width*overlay.height===visibleArea,fitsInViewportVertically:visibleHeight===overlay.height,fitsInViewportHorizontally:visibleWidth==overlay.width}}_canFitWithFlexibleDimensions(fit,point,viewport){if(this._hasFlexibleDimensions){const availableHeight=viewport.bottom-point.y,availableWidth=viewport.right-point.x,minHeight=getPixelValue(this._overlayRef.getConfig().minHeight),minWidth=getPixelValue(this._overlayRef.getConfig().minWidth);return(fit.fitsInViewportVertically||null!=minHeight&&minHeight<=availableHeight)&&(fit.fitsInViewportHorizontally||null!=minWidth&&minWidth<=availableWidth)}return!1}_pushOverlayOnScreen(start2,rawOverlayRect,scrollPosition){if(this._previousPushAmount&&this._positionLocked)return{x:start2.x+this._previousPushAmount.x,y:start2.y+this._previousPushAmount.y};const overlay=getRoundedBoundingClientRect(rawOverlayRect),viewport=this._viewportRect,overflowRight=Math.max(start2.x+overlay.width-viewport.width,0),overflowBottom=Math.max(start2.y+overlay.height-viewport.height,0),overflowTop=Math.max(viewport.top-scrollPosition.top-start2.y,0),overflowLeft=Math.max(viewport.left-scrollPosition.left-start2.x,0);let pushX=0,pushY=0;return pushX=overlay.width<=viewport.width?overflowLeft||-overflowRight:start2.xpreviousHeight&&!this._isInitialRender&&!this._growAfterOpen&&(top=origin.y-previousHeight/2)}if("end"===position.overlayX&&!isRtl||"start"===position.overlayX&&isRtl)right=viewport.width-origin.x+this._viewportMargin,width=origin.x-this._viewportMargin;else if("start"===position.overlayX&&!isRtl||"end"===position.overlayX&&isRtl)left=origin.x,width=viewport.right-origin.x;else{const smallestDistanceToViewportEdge=Math.min(viewport.right-origin.x+viewport.left,origin.x),previousWidth=this._lastBoundingBoxSize.width;width=2*smallestDistanceToViewportEdge,left=origin.x-smallestDistanceToViewportEdge,width>previousWidth&&!this._isInitialRender&&!this._growAfterOpen&&(left=origin.x-previousWidth/2)}return{top,left,bottom,right,width,height}}_setBoundingBoxStyles(origin,position){const boundingBoxRect=this._calculateBoundingBoxRect(origin,position);!this._isInitialRender&&!this._growAfterOpen&&(boundingBoxRect.height=Math.min(boundingBoxRect.height,this._lastBoundingBoxSize.height),boundingBoxRect.width=Math.min(boundingBoxRect.width,this._lastBoundingBoxSize.width));const styles={};if(this._hasExactPosition())styles.top=styles.left="0",styles.bottom=styles.right=styles.maxHeight=styles.maxWidth="",styles.width=styles.height="100%";else{const maxHeight=this._overlayRef.getConfig().maxHeight,maxWidth=this._overlayRef.getConfig().maxWidth;styles.height=coerceCssPixelValue(boundingBoxRect.height),styles.top=coerceCssPixelValue(boundingBoxRect.top),styles.bottom=coerceCssPixelValue(boundingBoxRect.bottom),styles.width=coerceCssPixelValue(boundingBoxRect.width),styles.left=coerceCssPixelValue(boundingBoxRect.left),styles.right=coerceCssPixelValue(boundingBoxRect.right),styles.alignItems="center"===position.overlayX?"center":"end"===position.overlayX?"flex-end":"flex-start",styles.justifyContent="center"===position.overlayY?"center":"bottom"===position.overlayY?"flex-end":"flex-start",maxHeight&&(styles.maxHeight=coerceCssPixelValue(maxHeight)),maxWidth&&(styles.maxWidth=coerceCssPixelValue(maxWidth))}this._lastBoundingBoxSize=boundingBoxRect,extendStyles(this._boundingBox.style,styles)}_resetBoundingBoxStyles(){extendStyles(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){extendStyles(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(originPoint,position){const styles={},hasExactPosition=this._hasExactPosition(),hasFlexibleDimensions=this._hasFlexibleDimensions,config2=this._overlayRef.getConfig();if(hasExactPosition){const scrollPosition=this._viewportRuler.getViewportScrollPosition();extendStyles(styles,this._getExactOverlayY(position,originPoint,scrollPosition)),extendStyles(styles,this._getExactOverlayX(position,originPoint,scrollPosition))}else styles.position="static";let transformString="",offsetX=this._getOffset(position,"x"),offsetY=this._getOffset(position,"y");offsetX&&(transformString+=`translateX(${offsetX}px) `),offsetY&&(transformString+=`translateY(${offsetY}px)`),styles.transform=transformString.trim(),config2.maxHeight&&(hasExactPosition?styles.maxHeight=coerceCssPixelValue(config2.maxHeight):hasFlexibleDimensions&&(styles.maxHeight="")),config2.maxWidth&&(hasExactPosition?styles.maxWidth=coerceCssPixelValue(config2.maxWidth):hasFlexibleDimensions&&(styles.maxWidth="")),extendStyles(this._pane.style,styles)}_getExactOverlayY(position,originPoint,scrollPosition){let styles={top:"",bottom:""},overlayPoint=this._getOverlayPoint(originPoint,this._overlayRect,position);return this._isPushed&&(overlayPoint=this._pushOverlayOnScreen(overlayPoint,this._overlayRect,scrollPosition)),"bottom"===position.overlayY?styles.bottom=this._document.documentElement.clientHeight-(overlayPoint.y+this._overlayRect.height)+"px":styles.top=coerceCssPixelValue(overlayPoint.y),styles}_getExactOverlayX(position,originPoint,scrollPosition){let horizontalStyleProperty,styles={left:"",right:""},overlayPoint=this._getOverlayPoint(originPoint,this._overlayRect,position);return this._isPushed&&(overlayPoint=this._pushOverlayOnScreen(overlayPoint,this._overlayRect,scrollPosition)),horizontalStyleProperty=this._isRtl()?"end"===position.overlayX?"left":"right":"end"===position.overlayX?"right":"left","right"===horizontalStyleProperty?styles.right=this._document.documentElement.clientWidth-(overlayPoint.x+this._overlayRect.width)+"px":styles.left=coerceCssPixelValue(overlayPoint.x),styles}_getScrollVisibility(){const originBounds=this._getOriginRect(),overlayBounds=this._pane.getBoundingClientRect(),scrollContainerBounds=this._scrollables.map(scrollable=>scrollable.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:isElementClippedByScrolling(originBounds,scrollContainerBounds),isOriginOutsideView:isElementScrolledOutsideView(originBounds,scrollContainerBounds),isOverlayClipped:isElementClippedByScrolling(overlayBounds,scrollContainerBounds),isOverlayOutsideView:isElementScrolledOutsideView(overlayBounds,scrollContainerBounds)}}_subtractOverflows(length,...overflows){return overflows.reduce((currentValue,currentOverflow)=>currentValue-Math.max(currentOverflow,0),length)}_getNarrowedViewportRect(){const width=this._document.documentElement.clientWidth,height=this._document.documentElement.clientHeight,scrollPosition=this._viewportRuler.getViewportScrollPosition();return{top:scrollPosition.top+this._viewportMargin,left:scrollPosition.left+this._viewportMargin,right:scrollPosition.left+width-this._viewportMargin,bottom:scrollPosition.top+height-this._viewportMargin,width:width-2*this._viewportMargin,height:height-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(position,axis){return"x"===axis?null==position.offsetX?this._offsetX:position.offsetX:null==position.offsetY?this._offsetY:position.offsetY}_validatePositions(){}_addPanelClasses(cssClasses){this._pane&&coerceArray(cssClasses).forEach(cssClass=>{""!==cssClass&&-1===this._appliedPanelClasses.indexOf(cssClass)&&(this._appliedPanelClasses.push(cssClass),this._pane.classList.add(cssClass))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(cssClass=>{this._pane.classList.remove(cssClass)}),this._appliedPanelClasses=[])}_getOriginRect(){const origin=this._origin;if(origin instanceof core_ElementRef)return origin.nativeElement.getBoundingClientRect();if(origin instanceof Element)return origin.getBoundingClientRect();const width=origin.width||0,height=origin.height||0;return{top:origin.y,bottom:origin.y+height,left:origin.x,right:origin.x+width,height,width}}}function extendStyles(destination,source){for(let key in source)source.hasOwnProperty(key)&&(destination[key]=source[key]);return destination}function getPixelValue(input){if("number"!=typeof input&&null!=input){const[value,units]=input.split(cssUnitPattern);return units&&"px"!==units?null:parseFloat(value)}return input||null}function getRoundedBoundingClientRect(clientRect){return{top:Math.floor(clientRect.top),right:Math.floor(clientRect.right),bottom:Math.floor(clientRect.bottom),left:Math.floor(clientRect.left),width:Math.floor(clientRect.width),height:Math.floor(clientRect.height)}}class GlobalPositionStrategy{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(overlayRef){const config2=overlayRef.getConfig();this._overlayRef=overlayRef,this._width&&!config2.width&&overlayRef.updateSize({width:this._width}),this._height&&!config2.height&&overlayRef.updateSize({height:this._height}),overlayRef.hostElement.classList.add("cdk-global-overlay-wrapper"),this._isDisposed=!1}top(value=""){return this._bottomOffset="",this._topOffset=value,this._alignItems="flex-start",this}left(value=""){return this._xOffset=value,this._xPosition="left",this}bottom(value=""){return this._topOffset="",this._bottomOffset=value,this._alignItems="flex-end",this}right(value=""){return this._xOffset=value,this._xPosition="right",this}start(value=""){return this._xOffset=value,this._xPosition="start",this}end(value=""){return this._xOffset=value,this._xPosition="end",this}width(value=""){return this._overlayRef?this._overlayRef.updateSize({width:value}):this._width=value,this}height(value=""){return this._overlayRef?this._overlayRef.updateSize({height:value}):this._height=value,this}centerHorizontally(offset=""){return this.left(offset),this._xPosition="center",this}centerVertically(offset=""){return this.top(offset),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const styles=this._overlayRef.overlayElement.style,parentStyles=this._overlayRef.hostElement.style,config2=this._overlayRef.getConfig(),{width,height,maxWidth,maxHeight}=config2,shouldBeFlushHorizontally=!("100%"!==width&&"100vw"!==width||maxWidth&&"100%"!==maxWidth&&"100vw"!==maxWidth),shouldBeFlushVertically=!("100%"!==height&&"100vh"!==height||maxHeight&&"100%"!==maxHeight&&"100vh"!==maxHeight),xPosition=this._xPosition,xOffset=this._xOffset,isRtl="rtl"===this._overlayRef.getConfig().direction;let marginLeft="",marginRight="",justifyContent="";shouldBeFlushHorizontally?justifyContent="flex-start":"center"===xPosition?(justifyContent="center",isRtl?marginRight=xOffset:marginLeft=xOffset):isRtl?"left"===xPosition||"end"===xPosition?(justifyContent="flex-end",marginLeft=xOffset):("right"===xPosition||"start"===xPosition)&&(justifyContent="flex-start",marginRight=xOffset):"left"===xPosition||"start"===xPosition?(justifyContent="flex-start",marginLeft=xOffset):("right"===xPosition||"end"===xPosition)&&(justifyContent="flex-end",marginRight=xOffset),styles.position=this._cssPosition,styles.marginLeft=shouldBeFlushHorizontally?"0":marginLeft,styles.marginTop=shouldBeFlushVertically?"0":this._topOffset,styles.marginBottom=this._bottomOffset,styles.marginRight=shouldBeFlushHorizontally?"0":marginRight,parentStyles.justifyContent=justifyContent,parentStyles.alignItems=shouldBeFlushVertically?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const styles=this._overlayRef.overlayElement.style,parent=this._overlayRef.hostElement,parentStyles=parent.style;parent.classList.remove("cdk-global-overlay-wrapper"),parentStyles.justifyContent=parentStyles.alignItems=styles.marginTop=styles.marginBottom=styles.marginLeft=styles.marginRight=styles.position="",this._overlayRef=null,this._isDisposed=!0}}let OverlayPositionBuilder=(()=>{var _class6;class OverlayPositionBuilder2{constructor(_viewportRuler,_document2,_platform,_overlayContainer){this._viewportRuler=_viewportRuler,this._document=_document2,this._platform=_platform,this._overlayContainer=_overlayContainer}global(){return new GlobalPositionStrategy}flexibleConnectedTo(origin){return new FlexibleConnectedPositionStrategy(origin,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return(_class6=OverlayPositionBuilder2).\u0275fac=function(t){return new(t||_class6)(core_inject(ViewportRuler),core_inject(common_DOCUMENT),core_inject(platform_Platform),core_inject(OverlayContainer))},_class6.\u0275prov=core_defineInjectable({token:_class6,factory:_class6.\u0275fac,providedIn:"root"}),OverlayPositionBuilder2})(),nextUniqueId=0,Overlay=(()=>{var _class7;class Overlay2{constructor(scrollStrategies,_overlayContainer,_componentFactoryResolver,_positionBuilder,_keyboardDispatcher,_injector,_ngZone,_document2,_directionality,_location,_outsideClickDispatcher,_animationsModuleType){this.scrollStrategies=scrollStrategies,this._overlayContainer=_overlayContainer,this._componentFactoryResolver=_componentFactoryResolver,this._positionBuilder=_positionBuilder,this._keyboardDispatcher=_keyboardDispatcher,this._injector=_injector,this._ngZone=_ngZone,this._document=_document2,this._directionality=_directionality,this._location=_location,this._outsideClickDispatcher=_outsideClickDispatcher,this._animationsModuleType=_animationsModuleType}create(config2){const host=this._createHostElement(),pane=this._createPaneElement(host),portalOutlet=this._createPortalOutlet(pane),overlayConfig=new OverlayConfig(config2);return overlayConfig.direction=overlayConfig.direction||this._directionality.value,new OverlayRef(portalOutlet,host,pane,overlayConfig,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(host){const pane=this._document.createElement("div");return pane.id="cdk-overlay-"+nextUniqueId++,pane.classList.add("cdk-overlay-pane"),host.appendChild(pane),pane}_createHostElement(){const host=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(host),host}_createPortalOutlet(pane){return this._appRef||(this._appRef=this._injector.get(core_ApplicationRef)),new DomPortalOutlet(pane,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return(_class7=Overlay2).\u0275fac=function(t){return new(t||_class7)(core_inject(ScrollStrategyOptions),core_inject(OverlayContainer),core_inject(ComponentFactoryResolver$1),core_inject(OverlayPositionBuilder),core_inject(OverlayKeyboardDispatcher),core_inject(core_Injector),core_inject(core_NgZone),core_inject(common_DOCUMENT),core_inject(Directionality),core_inject(Location),core_inject(OverlayOutsideClickDispatcher),core_inject(core_ANIMATION_MODULE_TYPE,8))},_class7.\u0275prov=core_defineInjectable({token:_class7,factory:_class7.\u0275fac,providedIn:"root"}),Overlay2})();const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER={provide:new InjectionToken("cdk-connected-overlay-scroll-strategy"),deps:[Overlay],useFactory:function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay){return()=>overlay.scrollStrategies.reposition()}};let OverlayModule=(()=>{var _class10;class OverlayModule2{}return(_class10=OverlayModule2).\u0275fac=function(t){return new(t||_class10)},_class10.\u0275mod=\u0275\u0275defineNgModule({type:_class10}),_class10.\u0275inj=\u0275\u0275defineInjector({providers:[Overlay,CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER],imports:[BidiModule,PortalModule,ScrollingModule,ScrollingModule]}),OverlayModule2})();function defer(observableFactory){return new Observable_Observable(subscriber=>{innerFrom(observableFactory()).subscribe(subscriber)})}function _class_ng_template_0_Template(rf,ctx){}class DialogConfig{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}}let CdkDialogContainer=(()=>{var _class2;class CdkDialogContainer2 extends BasePortalOutlet{constructor(_elementRef,_focusTrapFactory,_document2,_config,_interactivityChecker,_ngZone,_overlayRef,_focusMonitor){super(),this._elementRef=_elementRef,this._focusTrapFactory=_focusTrapFactory,this._config=_config,this._interactivityChecker=_interactivityChecker,this._ngZone=_ngZone,this._overlayRef=_overlayRef,this._focusMonitor=_focusMonitor,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=portal=>{this._portalOutlet.hasAttached();const result=this._portalOutlet.attachDomPortal(portal);return this._contentAttached(),result},this._ariaLabelledBy=this._config.ariaLabelledBy||null,this._document=_document2}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(portal){this._portalOutlet.hasAttached();const result=this._portalOutlet.attachComponentPortal(portal);return this._contentAttached(),result}attachTemplatePortal(portal){this._portalOutlet.hasAttached();const result=this._portalOutlet.attachTemplatePortal(portal);return this._contentAttached(),result}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(element,options){this._interactivityChecker.isFocusable(element)||(element.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const callback=()=>{element.removeEventListener("blur",callback),element.removeEventListener("mousedown",callback),element.removeAttribute("tabindex")};element.addEventListener("blur",callback),element.addEventListener("mousedown",callback)})),element.focus(options)}_focusByCssSelector(selector,options){let elementToFocus=this._elementRef.nativeElement.querySelector(selector);elementToFocus&&this._forceFocus(elementToFocus,options)}_trapFocus(){const element=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||element.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(focusedSuccessfully=>{focusedSuccessfully||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const focusConfig=this._config.restoreFocus;let focusTargetElement=null;if("string"==typeof focusConfig?focusTargetElement=this._document.querySelector(focusConfig):"boolean"==typeof focusConfig?focusTargetElement=focusConfig?this._elementFocusedBeforeDialogWasOpened:null:focusConfig&&(focusTargetElement=focusConfig),this._config.restoreFocus&&focusTargetElement&&"function"==typeof focusTargetElement.focus){const activeElement=platform_getFocusedElementPierceShadowDom(),element=this._elementRef.nativeElement;(!activeElement||activeElement===this._document.body||activeElement===element||element.contains(activeElement))&&(this._focusMonitor?(this._focusMonitor.focusVia(focusTargetElement,this._closeInteractionType),this._closeInteractionType=null):focusTargetElement.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const element=this._elementRef.nativeElement,activeElement=platform_getFocusedElementPierceShadowDom();return element===activeElement||element.contains(activeElement)}_initializeFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=platform_getFocusedElementPierceShadowDom())}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}}return(_class2=CdkDialogContainer2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(FocusTrapFactory),\u0275\u0275directiveInject(common_DOCUMENT,8),\u0275\u0275directiveInject(DialogConfig),\u0275\u0275directiveInject(InteractivityChecker),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(OverlayRef),\u0275\u0275directiveInject(FocusMonitor))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["cdk-dialog-container"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(CdkPortalOutlet,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._portalOutlet=_t.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275attribute("id",ctx._config.id||null)("role",ctx._config.role)("aria-modal",ctx._config.ariaModal)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledBy)("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null)},features:[\u0275\u0275InheritDefinitionFeature],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(rf,ctx){1&rf&&\u0275\u0275template(0,_class_ng_template_0_Template,0,0,"ng-template",0)},dependencies:[CdkPortalOutlet],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2}),CdkDialogContainer2})();class DialogRef{constructor(overlayRef,config2){this.overlayRef=overlayRef,this.config=config2,this.closed=new Subject_Subject,this.disableClose=config2.disableClose,this.backdropClick=overlayRef.backdropClick(),this.keydownEvents=overlayRef.keydownEvents(),this.outsidePointerEvents=overlayRef.outsidePointerEvents(),this.id=config2.id,this.keydownEvents.subscribe(event=>{27===event.keyCode&&!this.disableClose&&!keycodes_hasModifierKey(event)&&(event.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=overlayRef.detachments().subscribe(()=>{!1!==config2.closeOnOverlayDetachments&&this.close()})}close(result,options){if(this.containerInstance){const closedSubject=this.closed;this.containerInstance._closeInteractionType=options?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),closedSubject.next(result),closedSubject.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(width="",height=""){return this.overlayRef.updateSize({width,height}),this}addPanelClass(classes){return this.overlayRef.addPanelClass(classes),this}removePanelClass(classes){return this.overlayRef.removePanelClass(classes),this}}const DIALOG_SCROLL_STRATEGY=new InjectionToken("DialogScrollStrategy"),DIALOG_DATA=new InjectionToken("DialogData"),DEFAULT_DIALOG_CONFIG=new InjectionToken("DefaultDialogConfig"),DIALOG_SCROLL_STRATEGY_PROVIDER={provide:DIALOG_SCROLL_STRATEGY,deps:[Overlay],useFactory:function DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay){return()=>overlay.scrollStrategies.block()}};let uniqueId=0,Dialog=(()=>{var _class2;class Dialog2{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(_overlay,_injector,_defaultOptions,_parentDialog,_overlayContainer,scrollStrategy){this._overlay=_overlay,this._injector=_injector,this._defaultOptions=_defaultOptions,this._parentDialog=_parentDialog,this._overlayContainer=_overlayContainer,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Subject_Subject,this._afterOpenedAtThisLevel=new Subject_Subject,this._ariaHiddenElements=new Map,this.afterAllClosed=defer(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(startWith_startWith(void 0))),this._scrollStrategy=scrollStrategy}open(componentOrTemplateRef,config2){(config2={...this._defaultOptions||new DialogConfig,...config2}).id=config2.id||"cdk-dialog-"+uniqueId++,config2.id&&this.getDialogById(config2.id);const overlayConfig=this._getOverlayConfig(config2),overlayRef=this._overlay.create(overlayConfig),dialogRef=new DialogRef(overlayRef,config2),dialogContainer=this._attachContainer(overlayRef,dialogRef,config2);return dialogRef.containerInstance=dialogContainer,this._attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config2),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(dialogRef),dialogRef.closed.subscribe(()=>this._removeOpenDialog(dialogRef,!0)),this.afterOpened.next(dialogRef),dialogRef}closeAll(){reverseForEach(this.openDialogs,dialog=>dialog.close())}getDialogById(id){return this.openDialogs.find(dialog=>dialog.id===id)}ngOnDestroy(){reverseForEach(this._openDialogsAtThisLevel,dialog=>{!1===dialog.config.closeOnDestroy&&this._removeOpenDialog(dialog,!1)}),reverseForEach(this._openDialogsAtThisLevel,dialog=>dialog.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(config2){const state2=new OverlayConfig({positionStrategy:config2.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:config2.scrollStrategy||this._scrollStrategy(),panelClass:config2.panelClass,hasBackdrop:config2.hasBackdrop,direction:config2.direction,minWidth:config2.minWidth,minHeight:config2.minHeight,maxWidth:config2.maxWidth,maxHeight:config2.maxHeight,width:config2.width,height:config2.height,disposeOnNavigation:config2.closeOnNavigation});return config2.backdropClass&&(state2.backdropClass=config2.backdropClass),state2}_attachContainer(overlay,dialogRef,config2){const userInjector=config2.injector||config2.viewContainerRef?.injector,providers=[{provide:DialogConfig,useValue:config2},{provide:DialogRef,useValue:dialogRef},{provide:OverlayRef,useValue:overlay}];let containerType;config2.container?"function"==typeof config2.container?containerType=config2.container:(containerType=config2.container.type,providers.push(...config2.container.providers(config2))):containerType=CdkDialogContainer;const containerPortal=new ComponentPortal(containerType,config2.viewContainerRef,core_Injector.create({parent:userInjector||this._injector,providers}),config2.componentFactoryResolver);return overlay.attach(containerPortal).instance}_attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config2){if(componentOrTemplateRef instanceof core_TemplateRef){const injector=this._createInjector(config2,dialogRef,dialogContainer,void 0);let context2={$implicit:config2.data,dialogRef};config2.templateContext&&(context2={...context2,..."function"==typeof config2.templateContext?config2.templateContext():config2.templateContext}),dialogContainer.attachTemplatePortal(new portal_TemplatePortal(componentOrTemplateRef,null,context2,injector))}else{const injector=this._createInjector(config2,dialogRef,dialogContainer,this._injector),contentRef=dialogContainer.attachComponentPortal(new ComponentPortal(componentOrTemplateRef,config2.viewContainerRef,injector,config2.componentFactoryResolver));dialogRef.componentRef=contentRef,dialogRef.componentInstance=contentRef.instance}}_createInjector(config2,dialogRef,dialogContainer,fallbackInjector){const userInjector=config2.injector||config2.viewContainerRef?.injector,providers=[{provide:DIALOG_DATA,useValue:config2.data},{provide:DialogRef,useValue:dialogRef}];return config2.providers&&("function"==typeof config2.providers?providers.push(...config2.providers(dialogRef,config2,dialogContainer)):providers.push(...config2.providers)),config2.direction&&(!userInjector||!userInjector.get(Directionality,null,{optional:!0}))&&providers.push({provide:Directionality,useValue:{value:config2.direction,change:of_of()}}),core_Injector.create({parent:userInjector||fallbackInjector,providers})}_removeOpenDialog(dialogRef,emitEvent){const index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((previousValue,element)=>{previousValue?element.setAttribute("aria-hidden",previousValue):element.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),emitEvent&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const overlayContainer=this._overlayContainer.getContainerElement();if(overlayContainer.parentElement){const siblings=overlayContainer.parentElement.children;for(let i6=siblings.length-1;i6>-1;i6--){const sibling=siblings[i6];sibling!==overlayContainer&&"SCRIPT"!==sibling.nodeName&&"STYLE"!==sibling.nodeName&&!sibling.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(sibling,sibling.getAttribute("aria-hidden")),sibling.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}}return(_class2=Dialog2).\u0275fac=function(t){return new(t||_class2)(core_inject(Overlay),core_inject(core_Injector),core_inject(DEFAULT_DIALOG_CONFIG,8),core_inject(_class2,12),core_inject(OverlayContainer),core_inject(DIALOG_SCROLL_STRATEGY))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),Dialog2})();function reverseForEach(items,callback){let i6=items.length;for(;i6--;)callback(items[i6])}let DialogModule=(()=>{var _class3;class DialogModule2{}return(_class3=DialogModule2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({providers:[Dialog,DIALOG_SCROLL_STRATEGY_PROVIDER],imports:[OverlayModule,PortalModule,A11yModule,PortalModule]}),DialogModule2})();class AnimationBuilder{}class AnimationFactory{}function animations_trigger(name,definitions){return{type:7,name,definitions,options:{}}}function animations_animate(timings,styles=null){return{type:4,styles,timings}}function sequence(steps,options=null){return{type:2,steps,options}}function animations_style(tokens){return{type:6,styles:tokens,offset:null}}function state(name,styles,options){return{type:0,name,styles,options}}function animations_transition(stateChangeExpr,steps,options=null){return{type:1,expr:stateChangeExpr,animation:steps,options}}class NoopAnimationPlayer{constructor(duration=0,delay=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=duration+delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(fn=>fn()),this._onDoneFns=[])}onStart(fn){this._originalOnStartFns.push(fn),this._onStartFns.push(fn)}onDone(fn){this._originalOnDoneFns.push(fn),this._onDoneFns.push(fn)}onDestroy(fn){this._onDestroyFns.push(fn)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(fn=>fn()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(fn=>fn()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(position){this._position=this.totalTime?position*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(phaseName){const methods="start"==phaseName?this._onStartFns:this._onDoneFns;methods.forEach(fn=>fn()),methods.length=0}}class AnimationGroupPlayer{constructor(_players){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=_players;let doneCount=0,destroyCount=0,startCount=0;const total=this.players.length;0==total?queueMicrotask(()=>this._onFinish()):this.players.forEach(player=>{player.onDone(()=>{++doneCount==total&&this._onFinish()}),player.onDestroy(()=>{++destroyCount==total&&this._onDestroy()}),player.onStart(()=>{++startCount==total&&this._onStart()})}),this.totalTime=this.players.reduce((time,player)=>Math.max(time,player.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(fn=>fn()),this._onDoneFns=[])}init(){this.players.forEach(player=>player.init())}onStart(fn){this._onStartFns.push(fn)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(fn=>fn()),this._onStartFns=[])}onDone(fn){this._onDoneFns.push(fn)}onDestroy(fn){this._onDestroyFns.push(fn)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(player=>player.play())}pause(){this.players.forEach(player=>player.pause())}restart(){this.players.forEach(player=>player.restart())}finish(){this._onFinish(),this.players.forEach(player=>player.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(player=>player.destroy()),this._onDestroyFns.forEach(fn=>fn()),this._onDestroyFns=[])}reset(){this.players.forEach(player=>player.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(p){const timeAtPosition=p*this.totalTime;this.players.forEach(player=>{const position=player.totalTime?Math.min(1,timeAtPosition/player.totalTime):1;player.setPosition(position)})}getPosition(){const longestPlayer=this.players.reduce((longestSoFar,player)=>null===longestSoFar||player.totalTime>longestSoFar.totalTime?player:longestSoFar,null);return null!=longestPlayer?longestPlayer.getPosition():0}beforeDestroy(){this.players.forEach(player=>{player.beforeDestroy&&player.beforeDestroy()})}triggerCallback(phaseName){const methods="start"==phaseName?this._onStartFns:this._onDoneFns;methods.forEach(fn=>fn()),methods.length=0}}function _class2_ng_template_2_Template(rf,ctx){}class MatDialogConfig{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}let _MatDialogContainerBase=(()=>{var _class2;class _MatDialogContainerBase2 extends CdkDialogContainer{constructor(elementRef,focusTrapFactory,_document2,dialogConfig,interactivityChecker,ngZone,overlayRef,focusMonitor){super(elementRef,focusTrapFactory,_document2,dialogConfig,interactivityChecker,ngZone,overlayRef,focusMonitor),this._animationStateChanged=new core_EventEmitter}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(totalTime){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime})}}return(_class2=_MatDialogContainerBase2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(FocusTrapFactory),\u0275\u0275directiveInject(common_DOCUMENT,8),\u0275\u0275directiveInject(MatDialogConfig),\u0275\u0275directiveInject(InteractivityChecker),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(OverlayRef),\u0275\u0275directiveInject(FocusMonitor))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["ng-component"]],features:[\u0275\u0275InheritDefinitionFeature],decls:0,vars:0,template:function(rf,ctx){},encapsulation:2}),_MatDialogContainerBase2})();function parseCssTime(time){return null==time?null:"number"==typeof time?time:time.endsWith("ms")?coercion_coerceNumberProperty(time.substring(0,time.length-2)):time.endsWith("s")?1e3*coercion_coerceNumberProperty(time.substring(0,time.length-1)):"0"===time?0:null}let MatDialogContainer=(()=>{var _class2;class MatDialogContainer2 extends _MatDialogContainerBase{constructor(elementRef,focusTrapFactory,document2,dialogConfig,checker,ngZone,overlayRef,_animationMode,focusMonitor){super(elementRef,focusTrapFactory,document2,dialogConfig,checker,ngZone,overlayRef,focusMonitor),this._animationMode=_animationMode,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?parseCssTime(this._config.enterAnimationDuration)??150:0,this._exitAnimationDuration=this._animationsEnabled?parseCssTime(this._config.exitAnimationDuration)??75:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty("--mat-dialog-transition-duration",`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add("mdc-dialog--opening","mdc-dialog--open")),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add("mdc-dialog--open"),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove("mdc-dialog--open"),this._animationsEnabled?(this._hostElement.style.setProperty("--mat-dialog-transition-duration",`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add("mdc-dialog--closing")),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_clearAnimationClasses(){this._hostElement.classList.remove("mdc-dialog--opening","mdc-dialog--closing")}_waitForAnimationToComplete(duration,callback){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(callback,duration)}_requestAnimationFrame(callback){this._ngZone.runOutsideAngular(()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(callback):callback()})}}return(_class2=MatDialogContainer2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(FocusTrapFactory),\u0275\u0275directiveInject(common_DOCUMENT,8),\u0275\u0275directiveInject(MatDialogConfig),\u0275\u0275directiveInject(InteractivityChecker),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(OverlayRef),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8),\u0275\u0275directiveInject(FocusMonitor))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:8,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275hostProperty("id",ctx._config.id),\u0275\u0275attribute("aria-modal",ctx._config.ariaModal)("role",ctx._config.role)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledBy)("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null),\u0275\u0275classProp("_mat-animation-noopable",!ctx._animationsEnabled))},features:[\u0275\u0275InheritDefinitionFeature],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1),\u0275\u0275template(2,_class2_ng_template_2_Template,0,0,"ng-template",2),\u0275\u0275elementEnd()())},dependencies:[CdkPortalOutlet],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:var(--mdc-dialog-z-index, 7)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-width:none}@media(max-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px;width:560px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 112px)}}@media(max-width: 720px)and (min-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:560px}}@media(max-width: 720px)and (max-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:calc(100vh - 160px)}}@media(max-width: 720px)and (min-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px}}@media(max-width: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-height: 400px),(max-width: 600px),(min-width: 720px)and (max-height: 400px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{height:100%;max-height:100vh;max-width:100vw;width:100vw;border-radius:0}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{order:-1;left:-12px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__header{padding:0 16px 9px;justify-content:flex-start}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__title{margin-left:calc(16px - 2 * 12px)}}@media(min-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 400px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}.mdc-dialog.mdc-dialog__scrim--hidden .mdc-dialog__scrim{opacity:0}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;transform:scale(0.8);opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto;outline:0}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}[dir=rtl] .mdc-dialog__surface,.mdc-dialog__surface[dir=rtl]{text-align:right}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-dialog__surface{outline:2px solid windowText}}.mdc-dialog__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-dialog__surface::before{border-color:CanvasText}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.mdc-dialog__surface::before{content:none}}.mdc-dialog__title{display:block;margin-top:0;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mdc-dialog__title,.mdc-dialog__title[dir=rtl]{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{margin-bottom:1px;padding-bottom:15px}.mdc-dialog--fullscreen .mdc-dialog__header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,0);display:inline-flex;justify-content:space-between;padding:0 24px 9px;z-index:1}@media screen and (forced-colors: active){.mdc-dialog--fullscreen .mdc-dialog__header{border-bottom-color:CanvasText}}.mdc-dialog--fullscreen .mdc-dialog__header .mdc-dialog__close{right:-12px}.mdc-dialog--fullscreen .mdc-dialog__title{margin-bottom:0;padding:0;border-bottom:0}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__title{border-bottom:0;margin-bottom:0}.mdc-dialog--fullscreen .mdc-dialog__close{top:5px}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--fullscreen--titleless .mdc-dialog__close{margin-top:4px}.mdc-dialog--fullscreen--titleless.mdc-dialog--scrollable .mdc-dialog__close{margin-top:0}.mdc-dialog__content{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content,.mdc-dialog__header+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:none;opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim{opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{transition:opacity 75ms linear}.mdc-dialog--open.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim{transition:opacity 150ms linear}.mdc-dialog__surface-scrim{display:none;opacity:0;position:absolute;width:100%;height:100%;z-index:1}.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{display:block}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-dialog--no-content-padding .mdc-dialog__content{padding:0}.mdc-dialog--sheet .mdc-dialog__container .mdc-dialog__close{right:12px;top:9px;position:absolute;z-index:1}.mdc-dialog__scrim--removed{pointer-events:none}.mdc-dialog__scrim--removed .mdc-dialog__scrim,.mdc-dialog__scrim--removed .mdc-dialog__surface-scrim{display:none}.mat-mdc-dialog-content{max-height:65vh}.mat-mdc-dialog-container{position:static;display:block}.mat-mdc-dialog-container,.mat-mdc-dialog-container .mdc-dialog__container,.mat-mdc-dialog-container .mdc-dialog__surface{max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mat-mdc-dialog-container .mdc-dialog__surface{display:block;width:100%;height:100%}.mat-mdc-dialog-container{--mdc-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);--mdc-dialog-container-shadow-color:#000;--mdc-dialog-container-shape:4px;--mdc-dialog-container-elevation: var(--mdc-dialog-container-elevation-shadow);outline:0}.mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--mdc-dialog-container-color, white)}.mat-mdc-dialog-container .mdc-dialog__surface{box-shadow:var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--mdc-dialog-container-shape, 4px)}.mat-mdc-dialog-container .mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87))}.mat-mdc-dialog-container .mdc-dialog__content{font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6))}.mat-mdc-dialog-container .mdc-dialog__container{transition-duration:var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container{transition:none}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-actions{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2}),MatDialogContainer2})();class MatDialogRef{constructor(_ref,config2,_containerInstance){this._ref=_ref,this._containerInstance=_containerInstance,this._afterOpened=new Subject_Subject,this._beforeClosed=new Subject_Subject,this._state=0,this.disableClose=config2.disableClose,this.id=_ref.id,_containerInstance._animationStateChanged.pipe(filter_filter(event=>"opened"===event.state),take_take(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),_containerInstance._animationStateChanged.pipe(filter_filter(event=>"closed"===event.state),take_take(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),_ref.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),merge_merge(this.backdropClick(),this.keydownEvents().pipe(filter_filter(event=>27===event.keyCode&&!this.disableClose&&!keycodes_hasModifierKey(event)))).subscribe(event=>{this.disableClose||(event.preventDefault(),_closeDialogVia(this,"keydown"===event.type?"keyboard":"mouse"))})}close(dialogResult){this._result=dialogResult,this._containerInstance._animationStateChanged.pipe(filter_filter(event=>"closing"===event.state),take_take(1)).subscribe(event=>{this._beforeClosed.next(dialogResult),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),event.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(position){let strategy=this._ref.config.positionStrategy;return position&&(position.left||position.right)?position.left?strategy.left(position.left):strategy.right(position.right):strategy.centerHorizontally(),position&&(position.top||position.bottom)?position.top?strategy.top(position.top):strategy.bottom(position.bottom):strategy.centerVertically(),this._ref.updatePosition(),this}updateSize(width="",height=""){return this._ref.updateSize(width,height),this}addPanelClass(classes){return this._ref.addPanelClass(classes),this}removePanelClass(classes){return this._ref.removePanelClass(classes),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function _closeDialogVia(ref2,interactionType,result){return ref2._closeInteractionType=interactionType,ref2.close(result)}const MAT_DIALOG_DATA=new InjectionToken("MatMdcDialogData"),MAT_DIALOG_DEFAULT_OPTIONS=new InjectionToken("mat-mdc-dialog-default-options"),MAT_DIALOG_SCROLL_STRATEGY=new InjectionToken("mat-mdc-dialog-scroll-strategy"),MAT_DIALOG_SCROLL_STRATEGY_PROVIDER={provide:MAT_DIALOG_SCROLL_STRATEGY,deps:[Overlay],useFactory:function MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay){return()=>overlay.scrollStrategies.block()}};let dialog_uniqueId=0,_MatDialogBase=(()=>{var _class3;class _MatDialogBase2{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(_overlay,injector,_defaultOptions,_parentDialog,_overlayContainer,scrollStrategy,_dialogRefConstructor,_dialogContainerType,_dialogDataToken,_animationMode){this._overlay=_overlay,this._defaultOptions=_defaultOptions,this._parentDialog=_parentDialog,this._dialogRefConstructor=_dialogRefConstructor,this._dialogContainerType=_dialogContainerType,this._dialogDataToken=_dialogDataToken,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Subject_Subject,this._afterOpenedAtThisLevel=new Subject_Subject,this._idPrefix="mat-dialog-",this.dialogConfigClass=MatDialogConfig,this.afterAllClosed=defer(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(startWith_startWith(void 0))),this._scrollStrategy=scrollStrategy,this._dialog=injector.get(Dialog)}open(componentOrTemplateRef,config2){let dialogRef;(config2={...this._defaultOptions||new MatDialogConfig,...config2}).id=config2.id||`${this._idPrefix}${dialog_uniqueId++}`,config2.scrollStrategy=config2.scrollStrategy||this._scrollStrategy();const cdkRef=this._dialog.open(componentOrTemplateRef,{...config2,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:config2},{provide:DialogConfig,useValue:config2}]},templateContext:()=>({dialogRef}),providers:(ref2,cdkConfig,dialogContainer)=>(dialogRef=new this._dialogRefConstructor(ref2,config2,dialogContainer),dialogRef.updatePosition(config2?.position),[{provide:this._dialogContainerType,useValue:dialogContainer},{provide:this._dialogDataToken,useValue:cdkConfig.data},{provide:this._dialogRefConstructor,useValue:dialogRef}])});return dialogRef.componentRef=cdkRef.componentRef,dialogRef.componentInstance=cdkRef.componentInstance,this.openDialogs.push(dialogRef),this.afterOpened.next(dialogRef),dialogRef.afterClosed().subscribe(()=>{const index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||this._getAfterAllClosed().next())}),dialogRef}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(id){return this.openDialogs.find(dialog=>dialog.id===id)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(dialogs){let i6=dialogs.length;for(;i6--;)dialogs[i6].close()}}return(_class3=_MatDialogBase2).\u0275fac=function(t){\u0275\u0275invalidFactory()},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac}),_MatDialogBase2})(),MatDialog=(()=>{var _class4;class MatDialog2 extends _MatDialogBase{constructor(overlay,injector,location2,defaultOptions,scrollStrategy,parentDialog,overlayContainer,animationMode){super(overlay,injector,defaultOptions,parentDialog,overlayContainer,scrollStrategy,MatDialogRef,MatDialogContainer,MAT_DIALOG_DATA,animationMode),this._idPrefix="mat-mdc-dialog-"}}return(_class4=MatDialog2).\u0275fac=function(t){return new(t||_class4)(core_inject(Overlay),core_inject(core_Injector),core_inject(Location,8),core_inject(MAT_DIALOG_DEFAULT_OPTIONS,8),core_inject(MAT_DIALOG_SCROLL_STRATEGY),core_inject(_class4,12),core_inject(OverlayContainer),core_inject(core_ANIMATION_MODULE_TYPE,8))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac}),MatDialog2})(),dialogElementUid=0,MatDialogClose=(()=>{var _class5;class MatDialogClose2{constructor(dialogRef,_elementRef,_dialog){this.dialogRef=dialogRef,this._elementRef=_elementRef,this._dialog=_dialog,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=getClosestDialog(this._elementRef,this._dialog.openDialogs))}ngOnChanges(changes){const proxiedChange=changes._matDialogClose||changes._matDialogCloseResult;proxiedChange&&(this.dialogResult=proxiedChange.currentValue)}_onButtonClick(event){_closeDialogVia(this.dialogRef,0===event.screenX&&0===event.screenY?"keyboard":"mouse",this.dialogResult)}}return(_class5=MatDialogClose2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(MatDialogRef,8),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(MatDialog))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(rf,ctx){1&rf&&\u0275\u0275listener("click",function($event){return ctx._onButtonClick($event)}),2&rf&&\u0275\u0275attribute("aria-label",ctx.ariaLabel||null)("type",ctx.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[\u0275\u0275NgOnChangesFeature]}),MatDialogClose2})(),MatDialogTitle=(()=>{var _class6;class MatDialogTitle2{constructor(_dialogRef,_elementRef,_dialog){this._dialogRef=_dialogRef,this._elementRef=_elementRef,this._dialog=_dialog,this.id="mat-mdc-dialog-title-"+dialogElementUid++}ngOnInit(){this._dialogRef||(this._dialogRef=getClosestDialog(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const container=this._dialogRef._containerInstance;container&&!container._ariaLabelledBy&&(container._ariaLabelledBy=this.id)})}}return(_class6=MatDialogTitle2).\u0275fac=function(t){return new(t||_class6)(\u0275\u0275directiveInject(MatDialogRef,8),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(MatDialog))},_class6.\u0275dir=\u0275\u0275defineDirective({type:_class6,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275hostProperty("id",ctx.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),MatDialogTitle2})(),MatDialogContent=(()=>{var _class7;class MatDialogContent2{}return(_class7=MatDialogContent2).\u0275fac=function(t){return new(t||_class7)},_class7.\u0275dir=\u0275\u0275defineDirective({type:_class7,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"]}),MatDialogContent2})();function getClosestDialog(element,openDialogs){let parent=element.nativeElement.parentElement;for(;parent&&!parent.classList.contains("mat-mdc-dialog-container");)parent=parent.parentElement;return parent?openDialogs.find(dialog=>dialog.id===parent.id):null}let MatDialogModule=(()=>{var _class9;class MatDialogModule2{}return(_class9=MatDialogModule2).\u0275fac=function(t){return new(t||_class9)},_class9.\u0275mod=\u0275\u0275defineNgModule({type:_class9}),_class9.\u0275inj=\u0275\u0275defineInjector({providers:[MatDialog,MAT_DIALOG_SCROLL_STRATEGY_PROVIDER],imports:[DialogModule,OverlayModule,PortalModule,MatCommonModule,MatCommonModule]}),MatDialogModule2})();function throwError_throwError(errorOrErrorFactory,scheduler){const errorFactory=isFunction(errorOrErrorFactory)?errorOrErrorFactory:()=>errorOrErrorFactory,init2=subscriber=>subscriber.error(errorFactory());return new Observable_Observable(scheduler?subscriber=>scheduler.schedule(init2,0,subscriber):init2)}function catchError_catchError(selector){return operate((source,subscriber)=>{let handledResult,innerSub=null,syncUnsub=!1;innerSub=source.subscribe(createOperatorSubscriber(subscriber,void 0,void 0,err=>{handledResult=innerFrom(selector(err,catchError_catchError(selector)(source))),innerSub?(innerSub.unsubscribe(),innerSub=null,handledResult.subscribe(subscriber)):syncUnsub=!0})),syncUnsub&&(innerSub.unsubscribe(),innerSub=null,handledResult.subscribe(subscriber))})}const icon_c0=["*"];let icon_policy;function icon_trustedHTMLFromString(html){return function icon_getPolicy(){if(void 0===icon_policy&&(icon_policy=null,typeof window<"u")){const ttWindow=window;void 0!==ttWindow.trustedTypes&&(icon_policy=ttWindow.trustedTypes.createPolicy("angular#components",{createHTML:s=>s}))}return icon_policy}()?.createHTML(html)||html}function getMatIconNameNotFoundError(iconName){return Error(`Unable to find icon with the name "${iconName}"`)}function getMatIconFailedToSanitizeUrlError(url){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${url}".`)}function getMatIconFailedToSanitizeLiteralError(literal){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${literal}".`)}class SvgIconConfig{constructor(url,svgText,options){this.url=url,this.svgText=svgText,this.options=options}}let MatIconRegistry=(()=>{var _class2;class MatIconRegistry2{constructor(_httpClient,_sanitizer,document2,_errorHandler){this._httpClient=_httpClient,this._sanitizer=_sanitizer,this._errorHandler=_errorHandler,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=document2}addSvgIcon(iconName,url,options){return this.addSvgIconInNamespace("",iconName,url,options)}addSvgIconLiteral(iconName,literal,options){return this.addSvgIconLiteralInNamespace("",iconName,literal,options)}addSvgIconInNamespace(namespace,iconName,url,options){return this._addSvgIconConfig(namespace,iconName,new SvgIconConfig(url,null,options))}addSvgIconResolver(resolver){return this._resolvers.push(resolver),this}addSvgIconLiteralInNamespace(namespace,iconName,literal,options){const cleanLiteral=this._sanitizer.sanitize(SecurityContext.HTML,literal);if(!cleanLiteral)throw getMatIconFailedToSanitizeLiteralError(literal);const trustedLiteral=icon_trustedHTMLFromString(cleanLiteral);return this._addSvgIconConfig(namespace,iconName,new SvgIconConfig("",trustedLiteral,options))}addSvgIconSet(url,options){return this.addSvgIconSetInNamespace("",url,options)}addSvgIconSetLiteral(literal,options){return this.addSvgIconSetLiteralInNamespace("",literal,options)}addSvgIconSetInNamespace(namespace,url,options){return this._addSvgIconSetConfig(namespace,new SvgIconConfig(url,null,options))}addSvgIconSetLiteralInNamespace(namespace,literal,options){const cleanLiteral=this._sanitizer.sanitize(SecurityContext.HTML,literal);if(!cleanLiteral)throw getMatIconFailedToSanitizeLiteralError(literal);const trustedLiteral=icon_trustedHTMLFromString(cleanLiteral);return this._addSvgIconSetConfig(namespace,new SvgIconConfig("",trustedLiteral,options))}registerFontClassAlias(alias,classNames=alias){return this._fontCssClassesByAlias.set(alias,classNames),this}classNameForFontAlias(alias){return this._fontCssClassesByAlias.get(alias)||alias}setDefaultFontSetClass(...classNames){return this._defaultFontSetClass=classNames,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(safeUrl){const url=this._sanitizer.sanitize(SecurityContext.RESOURCE_URL,safeUrl);if(!url)throw getMatIconFailedToSanitizeUrlError(safeUrl);const cachedIcon=this._cachedIconsByUrl.get(url);return cachedIcon?of_of(cloneSvg(cachedIcon)):this._loadSvgIconFromConfig(new SvgIconConfig(safeUrl,null)).pipe(tap_tap(svg=>this._cachedIconsByUrl.set(url,svg)),map_map(svg=>cloneSvg(svg)))}getNamedSvgIcon(name,namespace=""){const key=iconKey(namespace,name);let config2=this._svgIconConfigs.get(key);if(config2)return this._getSvgFromConfig(config2);if(config2=this._getIconConfigFromResolvers(namespace,name),config2)return this._svgIconConfigs.set(key,config2),this._getSvgFromConfig(config2);const iconSetConfigs=this._iconSetConfigs.get(namespace);return iconSetConfigs?this._getSvgFromIconSetConfigs(name,iconSetConfigs):throwError_throwError(getMatIconNameNotFoundError(key))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(config2){return config2.svgText?of_of(cloneSvg(this._svgElementFromConfig(config2))):this._loadSvgIconFromConfig(config2).pipe(map_map(svg=>cloneSvg(svg)))}_getSvgFromIconSetConfigs(name,iconSetConfigs){const namedIcon=this._extractIconWithNameFromAnySet(name,iconSetConfigs);return namedIcon?of_of(namedIcon):forkJoin(iconSetConfigs.filter(iconSetConfig=>!iconSetConfig.svgText).map(iconSetConfig=>this._loadSvgIconSetFromConfig(iconSetConfig).pipe(catchError_catchError(err=>{const errorMessage=`Loading icon set URL: ${this._sanitizer.sanitize(SecurityContext.RESOURCE_URL,iconSetConfig.url)} failed: ${err.message}`;return this._errorHandler.handleError(new Error(errorMessage)),of_of(null)})))).pipe(map_map(()=>{const foundIcon=this._extractIconWithNameFromAnySet(name,iconSetConfigs);if(!foundIcon)throw getMatIconNameNotFoundError(name);return foundIcon}))}_extractIconWithNameFromAnySet(iconName,iconSetConfigs){for(let i6=iconSetConfigs.length-1;i6>=0;i6--){const config2=iconSetConfigs[i6];if(config2.svgText&&config2.svgText.toString().indexOf(iconName)>-1){const svg=this._svgElementFromConfig(config2),foundIcon=this._extractSvgIconFromSet(svg,iconName,config2.options);if(foundIcon)return foundIcon}}return null}_loadSvgIconFromConfig(config2){return this._fetchIcon(config2).pipe(tap_tap(svgText=>config2.svgText=svgText),map_map(()=>this._svgElementFromConfig(config2)))}_loadSvgIconSetFromConfig(config2){return config2.svgText?of_of(null):this._fetchIcon(config2).pipe(tap_tap(svgText=>config2.svgText=svgText))}_extractSvgIconFromSet(iconSet,iconName,options){const iconSource=iconSet.querySelector(`[id="${iconName}"]`);if(!iconSource)return null;const iconElement=iconSource.cloneNode(!0);if(iconElement.removeAttribute("id"),"svg"===iconElement.nodeName.toLowerCase())return this._setSvgAttributes(iconElement,options);if("symbol"===iconElement.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(iconElement),options);const svg=this._svgElementFromString(icon_trustedHTMLFromString(""));return svg.appendChild(iconElement),this._setSvgAttributes(svg,options)}_svgElementFromString(str){const div=this._document.createElement("DIV");div.innerHTML=str;const svg=div.querySelector("svg");if(!svg)throw Error(" tag not found");return svg}_toSvgElement(element){const svg=this._svgElementFromString(icon_trustedHTMLFromString("")),attributes=element.attributes;for(let i6=0;i6icon_trustedHTMLFromString(svg)),finalize(()=>this._inProgressUrlFetches.delete(url)),share());return this._inProgressUrlFetches.set(url,req),req}_addSvgIconConfig(namespace,iconName,config2){return this._svgIconConfigs.set(iconKey(namespace,iconName),config2),this}_addSvgIconSetConfig(namespace,config2){const configNamespace=this._iconSetConfigs.get(namespace);return configNamespace?configNamespace.push(config2):this._iconSetConfigs.set(namespace,[config2]),this}_svgElementFromConfig(config2){if(!config2.svgElement){const svg=this._svgElementFromString(config2.svgText);this._setSvgAttributes(svg,config2.options),config2.svgElement=svg}return config2.svgElement}_getIconConfigFromResolvers(namespace,name){for(let i6=0;i6_location?_location.pathname+_location.search:""}}}),funcIriAttributes=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],funcIriAttributeSelector=funcIriAttributes.map(attr=>`[${attr}]`).join(", "),funcIriPattern=/^url\(['"]?#(.*?)['"]?\)$/;let MatIcon=(()=>{var _class2;class MatIcon2 extends _MatIconBase{get inline(){return this._inline}set inline(inline){this._inline=coercion_coerceBooleanProperty(inline)}get svgIcon(){return this._svgIcon}set svgIcon(value){value!==this._svgIcon&&(value?this._updateSvgIcon(value):this._svgIcon&&this._clearSvgElement(),this._svgIcon=value)}get fontSet(){return this._fontSet}set fontSet(value){const newValue=this._cleanupFontValue(value);newValue!==this._fontSet&&(this._fontSet=newValue,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(value){const newValue=this._cleanupFontValue(value);newValue!==this._fontIcon&&(this._fontIcon=newValue,this._updateFontIconClasses())}constructor(elementRef,_iconRegistry,ariaHidden,_location,_errorHandler,defaults2){super(elementRef),this._iconRegistry=_iconRegistry,this._location=_location,this._errorHandler=_errorHandler,this._inline=!1,this._previousFontSetClass=[],this._currentIconFetch=Subscription_Subscription.EMPTY,defaults2&&(defaults2.color&&(this.color=this.defaultColor=defaults2.color),defaults2.fontSet&&(this.fontSet=defaults2.fontSet)),ariaHidden||elementRef.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(iconName){if(!iconName)return["",""];const parts=iconName.split(":");switch(parts.length){case 1:return["",parts[0]];case 2:return parts;default:throw Error(`Invalid icon name: "${iconName}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const cachedElements=this._elementsWithExternalReferences;if(cachedElements&&cachedElements.size){const newPath=this._location.getPathname();newPath!==this._previousPath&&(this._previousPath=newPath,this._prependPathToReferences(newPath))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(svg){this._clearSvgElement();const path=this._location.getPathname();this._previousPath=path,this._cacheChildrenWithExternalReferences(svg),this._prependPathToReferences(path),this._elementRef.nativeElement.appendChild(svg)}_clearSvgElement(){const layoutElement=this._elementRef.nativeElement;let childCount=layoutElement.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();childCount--;){const child2=layoutElement.childNodes[childCount];(1!==child2.nodeType||"svg"===child2.nodeName.toLowerCase())&&child2.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const elem=this._elementRef.nativeElement,fontSetClasses=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(className=>className.length>0);this._previousFontSetClass.forEach(className=>elem.classList.remove(className)),fontSetClasses.forEach(className=>elem.classList.add(className)),this._previousFontSetClass=fontSetClasses,this.fontIcon!==this._previousFontIconClass&&!fontSetClasses.includes("mat-ligature-font")&&(this._previousFontIconClass&&elem.classList.remove(this._previousFontIconClass),this.fontIcon&&elem.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(value){return"string"==typeof value?value.trim().split(" ")[0]:value}_prependPathToReferences(path){const elements=this._elementsWithExternalReferences;elements&&elements.forEach((attrs,element)=>{attrs.forEach(attr=>{element.setAttribute(attr.name,`url('${path}#${attr.value}')`)})})}_cacheChildrenWithExternalReferences(element){const elementsWithFuncIri=element.querySelectorAll(funcIriAttributeSelector),elements=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i6=0;i6{const elementWithReference=elementsWithFuncIri[i6],value=elementWithReference.getAttribute(attr),match2=value?value.match(funcIriPattern):null;if(match2){let attributes=elements.get(elementWithReference);attributes||(attributes=[],elements.set(elementWithReference,attributes)),attributes.push({name:attr,value:match2[1]})}})}_updateSvgIcon(rawName){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),rawName){const[namespace,iconName]=this._splitIconName(rawName);namespace&&(this._svgNamespace=namespace),iconName&&(this._svgName=iconName),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(iconName,namespace).pipe(take_take(1)).subscribe(svg=>this._setSvgElement(svg),err=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${namespace}:${iconName}! ${err.message}`))})}}}return(_class2=MatIcon2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(MatIconRegistry),\u0275\u0275injectAttribute("aria-hidden"),\u0275\u0275directiveInject(MAT_ICON_LOCATION),\u0275\u0275directiveInject(ErrorHandler),\u0275\u0275directiveInject(MAT_ICON_DEFAULT_OPTIONS,8))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:8,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("data-mat-icon-type",ctx._usingFontIcon()?"font":"svg")("data-mat-icon-name",ctx._svgName||ctx.fontIcon)("data-mat-icon-namespace",ctx._svgNamespace||ctx.fontSet)("fontIcon",ctx._usingFontIcon()?ctx.fontIcon:null),\u0275\u0275classProp("mat-icon-inline",ctx.inline)("mat-icon-no-color","primary"!==ctx.color&&"accent"!==ctx.color&&"warn"!==ctx.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[\u0275\u0275InheritDefinitionFeature],ngContentSelectors:icon_c0,decls:1,vars:0,template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275projection(0))},styles:["mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0}),MatIcon2})(),MatIconModule=(()=>{var _class3;class MatIconModule2{}return(_class3=MatIconModule2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({imports:[MatCommonModule,MatCommonModule]}),MatIconModule2})();const progress_spinner_c0=["determinateSpinner"];function progress_spinner_class_ng_template_0_Template(rf,ctx){if(1&rf&&(\u0275\u0275namespaceSVG(),\u0275\u0275elementStart(0,"svg",11),\u0275\u0275element(1,"circle",12),\u0275\u0275elementEnd()),2&rf){const ctx_r1=\u0275\u0275nextContext();\u0275\u0275attribute("viewBox",ctx_r1._viewBox()),\u0275\u0275advance(1),\u0275\u0275styleProp("stroke-dasharray",ctx_r1._strokeCircumference(),"px")("stroke-dashoffset",ctx_r1._strokeCircumference()/2,"px")("stroke-width",ctx_r1._circleStrokeWidth(),"%"),\u0275\u0275attribute("r",ctx_r1._circleRadius())}}const _MatProgressSpinnerBase=mixinColor(class{constructor(_elementRef){this._elementRef=_elementRef}},"primary"),MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS=new InjectionToken("mat-progress-spinner-default-options",{providedIn:"root",factory:function MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY(){return{diameter:BASE_SIZE}}}),BASE_SIZE=100;let MatProgressSpinner=(()=>{var _class2;class MatProgressSpinner2 extends _MatProgressSpinnerBase{constructor(elementRef,animationMode,defaults2){super(elementRef),this.mode="mat-spinner"===this._elementRef.nativeElement.nodeName.toLowerCase()?"indeterminate":"determinate",this._value=0,this._diameter=BASE_SIZE,this._noopAnimations="NoopAnimations"===animationMode&&!!defaults2&&!defaults2._forceAnimations,defaults2&&(defaults2.color&&(this.color=this.defaultColor=defaults2.color),defaults2.diameter&&(this.diameter=defaults2.diameter),defaults2.strokeWidth&&(this.strokeWidth=defaults2.strokeWidth))}get value(){return"determinate"===this.mode?this._value:0}set value(v){this._value=Math.max(0,Math.min(100,coercion_coerceNumberProperty(v)))}get diameter(){return this._diameter}set diameter(size){this._diameter=coercion_coerceNumberProperty(size)}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(value){this._strokeWidth=coercion_coerceNumberProperty(value)}_circleRadius(){return(this.diameter-10)/2}_viewBox(){const viewBox=2*this._circleRadius()+this.strokeWidth;return`0 0 ${viewBox} ${viewBox}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}}return(_class2=MatProgressSpinner2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8),\u0275\u0275directiveInject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(progress_spinner_c0,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._determinateCircle=_t.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:16,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow","determinate"===ctx.mode?ctx.value:null)("mode",ctx.mode),\u0275\u0275styleProp("width",ctx.diameter,"px")("height",ctx.diameter,"px")("--mdc-circular-progress-size",ctx.diameter+"px")("--mdc-circular-progress-active-indicator-width",ctx.diameter+"px"),\u0275\u0275classProp("_mat-animation-noopable",ctx._noopAnimations)("mdc-circular-progress--indeterminate","indeterminate"===ctx.mode))},inputs:{color:"color",mode:"mode",value:"value",diameter:"diameter",strokeWidth:"strokeWidth"},exportAs:["matProgressSpinner"],features:[\u0275\u0275InheritDefinitionFeature],decls:14,vars:11,consts:[["circle",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["determinateSpinner",""],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(rf,ctx){if(1&rf&&(\u0275\u0275template(0,progress_spinner_class_ng_template_0_Template,2,8,"ng-template",null,0,\u0275\u0275templateRefExtractor),\u0275\u0275elementStart(2,"div",1,2),\u0275\u0275namespaceSVG(),\u0275\u0275elementStart(4,"svg",3),\u0275\u0275element(5,"circle",4),\u0275\u0275elementEnd()(),function \u0275\u0275namespaceHTML(){!function namespaceHTMLInternal(){instructionState.lFrame.currentNamespace=null}()}(),\u0275\u0275elementStart(6,"div",5)(7,"div",6)(8,"div",7),\u0275\u0275elementContainer(9,8),\u0275\u0275elementEnd(),\u0275\u0275elementStart(10,"div",9),\u0275\u0275elementContainer(11,8),\u0275\u0275elementEnd(),\u0275\u0275elementStart(12,"div",10),\u0275\u0275elementContainer(13,8),\u0275\u0275elementEnd()()()),2&rf){const _r0=\u0275\u0275reference(1);\u0275\u0275advance(4),\u0275\u0275attribute("viewBox",ctx._viewBox()),\u0275\u0275advance(1),\u0275\u0275styleProp("stroke-dasharray",ctx._strokeCircumference(),"px")("stroke-dashoffset",ctx._strokeDashOffset(),"px")("stroke-width",ctx._circleStrokeWidth(),"%"),\u0275\u0275attribute("r",ctx._circleRadius()),\u0275\u0275advance(4),\u0275\u0275property("ngTemplateOutlet",_r0),\u0275\u0275advance(2),\u0275\u0275property("ngTemplateOutlet",_r0),\u0275\u0275advance(2),\u0275\u0275property("ngTemplateOutlet",_r0)}},dependencies:[NgTemplateOutlet],styles:["@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}.mdc-circular-progress{display:inline-flex;position:relative;direction:ltr;line-height:0;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--closed{opacity:0}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-width:4px;--mdc-circular-progress-size:48px}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-1 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-2 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-3 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-4 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner .mdc-circular-progress{width:var(--mdc-circular-progress-size) !important;height:var(--mdc-circular-progress-size) !important}.mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}"],encapsulation:2,changeDetection:0}),MatProgressSpinner2})(),MatProgressSpinnerModule=(()=>{var _class2;class MatProgressSpinnerModule2{}return(_class2=MatProgressSpinnerModule2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275mod=\u0275\u0275defineNgModule({type:_class2}),_class2.\u0275inj=\u0275\u0275defineInjector({imports:[common_CommonModule,MatCommonModule]}),MatProgressSpinnerModule2})();function _class4_div_2_Template(rf,ctx){if(1&rf){const _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",2)(1,"button",3),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r2),\u0275\u0275resetView(\u0275\u0275nextContext().action())}),\u0275\u0275text(2),\u0275\u0275elementEnd()()}if(2&rf){const ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",ctx_r0.data.action," ")}}const snack_bar_c0=["label"];function _class6_ng_template_4_Template(rf,ctx){}const MAX_TIMEOUT=Math.pow(2,31)-1;class MatSnackBarRef{constructor(containerInstance,_overlayRef){this._overlayRef=_overlayRef,this._afterDismissed=new Subject_Subject,this._afterOpened=new Subject_Subject,this._onAction=new Subject_Subject,this._dismissedByAction=!1,this.containerInstance=containerInstance,containerInstance._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(duration){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(duration,MAX_TIMEOUT))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}const MAT_SNACK_BAR_DATA=new InjectionToken("MatSnackBarData");class MatSnackBarConfig{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}let MatSnackBarLabel=(()=>{var _class2;class MatSnackBarLabel2{}return(_class2=MatSnackBarLabel2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"]}),MatSnackBarLabel2})(),MatSnackBarActions=(()=>{var _class2;class MatSnackBarActions2{}return(_class2=MatSnackBarActions2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"]}),MatSnackBarActions2})(),MatSnackBarAction=(()=>{var _class3;class MatSnackBarAction2{}return(_class3=MatSnackBarAction2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"]}),MatSnackBarAction2})(),SimpleSnackBar=(()=>{var _class4;class SimpleSnackBar2{constructor(snackBarRef,data){this.snackBarRef=snackBarRef,this.data=data}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return(_class4=SimpleSnackBar2).\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(MatSnackBarRef),\u0275\u0275directiveInject(MAT_SNACK_BAR_DATA))},_class4.\u0275cmp=\u0275\u0275defineComponent({type:_class4,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions","",4,"ngIf"],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0),\u0275\u0275text(1),\u0275\u0275elementEnd(),\u0275\u0275template(2,_class4_div_2_Template,3,1,"div",1)),2&rf&&(\u0275\u0275advance(1),\u0275\u0275textInterpolate1(" ",ctx.data.message,"\n"),\u0275\u0275advance(1),\u0275\u0275property("ngIf",ctx.hasAction))},dependencies:[NgIf,MatButton,MatSnackBarLabel,MatSnackBarActions,MatSnackBarAction],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0}),SimpleSnackBar2})();const matSnackBarAnimations={snackBarState:animations_trigger("state",[state("void, hidden",animations_style({transform:"scale(0.8)",opacity:0})),state("visible",animations_style({transform:"scale(1)",opacity:1})),animations_transition("* => visible",animations_animate("150ms cubic-bezier(0, 0, 0.2, 1)")),animations_transition("* => void, * => hidden",animations_animate("75ms cubic-bezier(0.4, 0.0, 1, 1)",animations_style({opacity:0})))])};let snack_bar_uniqueId=0,_MatSnackBarContainerBase=(()=>{var _class5;class _MatSnackBarContainerBase2 extends BasePortalOutlet{constructor(_ngZone,_elementRef,_changeDetectorRef,_platform,snackBarConfig){super(),this._ngZone=_ngZone,this._elementRef=_elementRef,this._changeDetectorRef=_changeDetectorRef,this._platform=_platform,this.snackBarConfig=snackBarConfig,this._document=fesm2022_core_inject(common_DOCUMENT),this._trackedModals=new Set,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new Subject_Subject,this._onExit=new Subject_Subject,this._onEnter=new Subject_Subject,this._animationState="void",this._liveElementId="mat-snack-bar-container-live-"+snack_bar_uniqueId++,this.attachDomPortal=portal=>{this._assertNotAttached();const result=this._portalOutlet.attachDomPortal(portal);return this._afterPortalAttached(),result},this._live="assertive"!==snackBarConfig.politeness||snackBarConfig.announcementMessage?"off"===snackBarConfig.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(portal){this._assertNotAttached();const result=this._portalOutlet.attachComponentPortal(portal);return this._afterPortalAttached(),result}attachTemplatePortal(portal){this._assertNotAttached();const result=this._portalOutlet.attachTemplatePortal(portal);return this._afterPortalAttached(),result}onAnimationEnd(event){const{fromState,toState}=event;if(("void"===toState&&"void"!==fromState||"hidden"===toState)&&this._completeExit(),"visible"===toState){const onEnter2=this._onEnter;this._ngZone.run(()=>{onEnter2.next(),onEnter2.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(take_take(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_afterPortalAttached(){const element=this._elementRef.nativeElement,panelClasses=this.snackBarConfig.panelClass;panelClasses&&(Array.isArray(panelClasses)?panelClasses.forEach(cssClass=>element.classList.add(cssClass)):element.classList.add(panelClasses)),this._exposeToModals()}_exposeToModals(){const id=this._liveElementId,modals=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let i6=0;i6{const ariaOwns=modal.getAttribute("aria-owns");if(ariaOwns){const newValue=ariaOwns.replace(this._liveElementId,"").trim();newValue.length>0?modal.setAttribute("aria-owns",newValue):modal.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const inertElement=this._elementRef.nativeElement.querySelector("[aria-hidden]"),liveElement=this._elementRef.nativeElement.querySelector("[aria-live]");if(inertElement&&liveElement){let focusedElement=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&inertElement.contains(document.activeElement)&&(focusedElement=document.activeElement),inertElement.removeAttribute("aria-hidden"),liveElement.appendChild(inertElement),focusedElement?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return(_class5=_MatSnackBarContainerBase2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(MatSnackBarConfig))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(CdkPortalOutlet,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._portalOutlet=_t.first)}},features:[\u0275\u0275InheritDefinitionFeature]}),_MatSnackBarContainerBase2})(),MatSnackBarContainer=(()=>{var _class6;class MatSnackBarContainer2 extends _MatSnackBarContainerBase{_afterPortalAttached(){super._afterPortalAttached();const label=this._label.nativeElement;label.classList.toggle("mdc-snackbar__label",!label.querySelector(".mdc-snackbar__label"))}}return(_class6=MatSnackBarContainer2).\u0275fac=function(){let \u0275_class6_BaseFactory;return function(t){return(\u0275_class6_BaseFactory||(\u0275_class6_BaseFactory=\u0275\u0275getInheritedFactory(_class6)))(t||_class6)}}(),_class6.\u0275cmp=\u0275\u0275defineComponent({type:_class6,selectors:[["mat-snack-bar-container"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(snack_bar_c0,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._label=_t.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container","mdc-snackbar--open"],hostVars:1,hostBindings:function(rf,ctx){1&rf&&\u0275\u0275syntheticHostListener("@state.done",function($event){return ctx.onAnimationEnd($event)}),2&rf&&\u0275\u0275syntheticHostProperty("@state",ctx._animationState)},features:[\u0275\u0275InheritDefinitionFeature],decls:6,vars:3,consts:[[1,"mdc-snackbar__surface"],[1,"mat-mdc-snack-bar-label"],["label",""],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1,2)(3,"div",3),\u0275\u0275template(4,_class6_ng_template_4_Template,0,0,"ng-template",4),\u0275\u0275elementEnd(),\u0275\u0275element(5,"div"),\u0275\u0275elementEnd()()),2&rf&&(\u0275\u0275advance(5),\u0275\u0275attribute("aria-live",ctx._live)("role",ctx._role)("id",ctx._liveElementId))},dependencies:[CdkPortalOutlet],styles:['.mdc-snackbar{display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{margin:8px;--mdc-snackbar-container-shape:4px;position:static}.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:100%}}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container{width:100vw}}.mat-mdc-snack-bar-container .mdc-snackbar__surface{max-width:672px}.mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background-color:var(--mdc-snackbar-container-color)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{border-radius:var(--mdc-snackbar-container-shape)}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:var(--mdc-snackbar-supporting-text-color)}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-size:var(--mdc-snackbar-supporting-text-size);font-family:var(--mdc-snackbar-supporting-text-font);font-weight:var(--mdc-snackbar-supporting-text-weight);line-height:var(--mdc-snackbar-supporting-text-line-height)}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){color:var(--mat-snack-bar-button-color);--mat-mdc-button-persistent-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{background-color:currentColor;opacity:.1}.mat-mdc-snack-bar-container .mdc-snackbar__label::before{display:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}'],encapsulation:2,data:{animation:[matSnackBarAnimations.snackBarState]}}),MatSnackBarContainer2})(),MatSnackBarModule=(()=>{var _class7;class MatSnackBarModule2{}return(_class7=MatSnackBarModule2).\u0275fac=function(t){return new(t||_class7)},_class7.\u0275mod=\u0275\u0275defineNgModule({type:_class7}),_class7.\u0275inj=\u0275\u0275defineInjector({imports:[OverlayModule,PortalModule,common_CommonModule,MatButtonModule,MatCommonModule,MatCommonModule]}),MatSnackBarModule2})();const MAT_SNACK_BAR_DEFAULT_OPTIONS=new InjectionToken("mat-snack-bar-default-options",{providedIn:"root",factory:function MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(){return new MatSnackBarConfig}});let _MatSnackBarBase=(()=>{var _class8;class _MatSnackBarBase2{get _openedSnackBarRef(){const parent=this._parentSnackBar;return parent?parent._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(value){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=value:this._snackBarRefAtThisLevel=value}constructor(_overlay,_live,_injector,_breakpointObserver,_parentSnackBar,_defaultConfig){this._overlay=_overlay,this._live=_live,this._injector=_injector,this._breakpointObserver=_breakpointObserver,this._parentSnackBar=_parentSnackBar,this._defaultConfig=_defaultConfig,this._snackBarRefAtThisLevel=null}openFromComponent(component,config2){return this._attach(component,config2)}openFromTemplate(template,config2){return this._attach(template,config2)}open(message,action="",config2){const _config={...this._defaultConfig,...config2};return _config.data={message,action},_config.announcementMessage===message&&(_config.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,_config)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(overlayRef,config2){const injector=core_Injector.create({parent:config2&&config2.viewContainerRef&&config2.viewContainerRef.injector||this._injector,providers:[{provide:MatSnackBarConfig,useValue:config2}]}),containerPortal=new ComponentPortal(this.snackBarContainerComponent,config2.viewContainerRef,injector),containerRef=overlayRef.attach(containerPortal);return containerRef.instance.snackBarConfig=config2,containerRef.instance}_attach(content,userConfig){const config2={...new MatSnackBarConfig,...this._defaultConfig,...userConfig},overlayRef=this._createOverlay(config2),container=this._attachSnackBarContainer(overlayRef,config2),snackBarRef=new MatSnackBarRef(container,overlayRef);if(content instanceof core_TemplateRef){const portal=new portal_TemplatePortal(content,null,{$implicit:config2.data,snackBarRef});snackBarRef.instance=container.attachTemplatePortal(portal)}else{const injector=this._createInjector(config2,snackBarRef),portal=new ComponentPortal(content,void 0,injector),contentRef=container.attachComponentPortal(portal);snackBarRef.instance=contentRef.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(takeUntil_takeUntil(overlayRef.detachments())).subscribe(state2=>{overlayRef.overlayElement.classList.toggle(this.handsetCssClass,state2.matches)}),config2.announcementMessage&&container._onAnnounce.subscribe(()=>{this._live.announce(config2.announcementMessage,config2.politeness)}),this._animateSnackBar(snackBarRef,config2),this._openedSnackBarRef=snackBarRef,this._openedSnackBarRef}_animateSnackBar(snackBarRef,config2){snackBarRef.afterDismissed().subscribe(()=>{this._openedSnackBarRef==snackBarRef&&(this._openedSnackBarRef=null),config2.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{snackBarRef.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):snackBarRef.containerInstance.enter(),config2.duration&&config2.duration>0&&snackBarRef.afterOpened().subscribe(()=>snackBarRef._dismissAfter(config2.duration))}_createOverlay(config2){const overlayConfig=new OverlayConfig;overlayConfig.direction=config2.direction;let positionStrategy=this._overlay.position().global();const isRtl="rtl"===config2.direction,isLeft="left"===config2.horizontalPosition||"start"===config2.horizontalPosition&&!isRtl||"end"===config2.horizontalPosition&&isRtl,isRight=!isLeft&&"center"!==config2.horizontalPosition;return isLeft?positionStrategy.left("0"):isRight?positionStrategy.right("0"):positionStrategy.centerHorizontally(),"top"===config2.verticalPosition?positionStrategy.top("0"):positionStrategy.bottom("0"),overlayConfig.positionStrategy=positionStrategy,this._overlay.create(overlayConfig)}_createInjector(config2,snackBarRef){return core_Injector.create({parent:config2&&config2.viewContainerRef&&config2.viewContainerRef.injector||this._injector,providers:[{provide:MatSnackBarRef,useValue:snackBarRef},{provide:MAT_SNACK_BAR_DATA,useValue:config2.data}]})}}return(_class8=_MatSnackBarBase2).\u0275fac=function(t){return new(t||_class8)(core_inject(Overlay),core_inject(LiveAnnouncer),core_inject(core_Injector),core_inject(BreakpointObserver),core_inject(_class8,12),core_inject(MAT_SNACK_BAR_DEFAULT_OPTIONS))},_class8.\u0275prov=core_defineInjectable({token:_class8,factory:_class8.\u0275fac}),_MatSnackBarBase2})(),MatSnackBar=(()=>{var _class9;class MatSnackBar2 extends _MatSnackBarBase{constructor(overlay,live,injector,breakpointObserver,parentSnackBar,defaultConfig2){super(overlay,live,injector,breakpointObserver,parentSnackBar,defaultConfig2),this.simpleSnackBarComponent=SimpleSnackBar,this.snackBarContainerComponent=MatSnackBarContainer,this.handsetCssClass="mat-mdc-snack-bar-handset"}}return(_class9=MatSnackBar2).\u0275fac=function(t){return new(t||_class9)(core_inject(Overlay),core_inject(LiveAnnouncer),core_inject(core_Injector),core_inject(BreakpointObserver),core_inject(_class9,12),core_inject(MAT_SNACK_BAR_DEFAULT_OPTIONS))},_class9.\u0275prov=core_defineInjectable({token:_class9,factory:_class9.\u0275fac,providedIn:MatSnackBarModule}),MatSnackBar2})();function _class3_ng_template_2_Template(rf,ctx){}const tabs_c0=function(a0){return{animationDuration:a0}},tabs_c1=function(a0,a1){return{value:a0,params:a1}};function _class9_ng_template_0_Template(rf,ctx){1&rf&&\u0275\u0275projection(0)}const tabs_c2=["*"],tabs_c3=["tabListContainer"],tabs_c4=["tabList"],tabs_c5=["tabListInner"],tabs_c6=["nextPaginator"],tabs_c7=["previousPaginator"],tabs_c8=["tabBodyWrapper"],tabs_c9=["tabHeader"];function _class14_div_2_ng_template_6_ng_template_0_Template(rf,ctx){}function _class14_div_2_ng_template_6_Template(rf,ctx){1&rf&&\u0275\u0275template(0,_class14_div_2_ng_template_6_ng_template_0_Template,0,0,"ng-template",14),2&rf&&\u0275\u0275property("cdkPortalOutlet",\u0275\u0275nextContext().$implicit.templateLabel)}function _class14_div_2_ng_template_7_Template(rf,ctx){1&rf&&\u0275\u0275text(0),2&rf&&\u0275\u0275textInterpolate(\u0275\u0275nextContext().$implicit.textLabel)}function _class14_div_2_Template(rf,ctx){if(1&rf){const _r14=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",6,7),\u0275\u0275listener("click",function(){const restoredCtx=\u0275\u0275restoreView(_r14),tab_r4=restoredCtx.$implicit,i_r5=restoredCtx.index,ctx_r13=\u0275\u0275nextContext(),_r0=\u0275\u0275reference(1);return \u0275\u0275resetView(ctx_r13._handleClick(tab_r4,_r0,i_r5))})("cdkFocusChange",function($event){const i_r5=\u0275\u0275restoreView(_r14).index;return \u0275\u0275resetView(\u0275\u0275nextContext()._tabFocusChanged($event,i_r5))}),\u0275\u0275element(2,"span",8)(3,"div",9),\u0275\u0275elementStart(4,"span",10)(5,"span",11),\u0275\u0275template(6,_class14_div_2_ng_template_6_Template,1,1,"ng-template",12),\u0275\u0275template(7,_class14_div_2_ng_template_7_Template,1,1,"ng-template",null,13,\u0275\u0275templateRefExtractor),\u0275\u0275elementEnd()()()}if(2&rf){const tab_r4=ctx.$implicit,i_r5=ctx.index,_r6=\u0275\u0275reference(1),_r8=\u0275\u0275reference(8),ctx_r1=\u0275\u0275nextContext();\u0275\u0275classProp("mdc-tab--active",ctx_r1.selectedIndex===i_r5),\u0275\u0275property("id",ctx_r1._getTabLabelId(i_r5))("ngClass",tab_r4.labelClass)("disabled",tab_r4.disabled)("fitInkBarToContent",ctx_r1.fitInkBarToContent),\u0275\u0275attribute("tabIndex",ctx_r1._getTabIndex(i_r5))("aria-posinset",i_r5+1)("aria-setsize",ctx_r1._tabs.length)("aria-controls",ctx_r1._getTabContentId(i_r5))("aria-selected",ctx_r1.selectedIndex===i_r5)("aria-label",tab_r4.ariaLabel||null)("aria-labelledby",!tab_r4.ariaLabel&&tab_r4.ariaLabelledby?tab_r4.ariaLabelledby:null),\u0275\u0275advance(3),\u0275\u0275property("matRippleTrigger",_r6)("matRippleDisabled",tab_r4.disabled||ctx_r1.disableRipple),\u0275\u0275advance(3),\u0275\u0275property("ngIf",tab_r4.templateLabel)("ngIfElse",_r8)}}function _class14_mat_tab_body_5_Template(rf,ctx){if(1&rf){const _r19=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-tab-body",15),\u0275\u0275listener("_onCentered",function(){return \u0275\u0275restoreView(_r19),\u0275\u0275resetView(\u0275\u0275nextContext()._removeTabBodyWrapperHeight())})("_onCentering",function($event){return \u0275\u0275restoreView(_r19),\u0275\u0275resetView(\u0275\u0275nextContext()._setTabBodyWrapperHeight($event))}),\u0275\u0275elementEnd()}if(2&rf){const tab_r16=ctx.$implicit,i_r17=ctx.index,ctx_r3=\u0275\u0275nextContext();\u0275\u0275classProp("mat-mdc-tab-body-active",ctx_r3.selectedIndex===i_r17),\u0275\u0275property("id",ctx_r3._getTabContentId(i_r17))("ngClass",tab_r16.bodyClass)("content",tab_r16.content)("position",tab_r16.position)("origin",tab_r16.origin)("animationDuration",ctx_r3.animationDuration)("preserveContent",ctx_r3.preserveContent),\u0275\u0275attribute("tabindex",null!=ctx_r3.contentTabIndex&&ctx_r3.selectedIndex===i_r17?ctx_r3.contentTabIndex:null)("aria-labelledby",ctx_r3._getTabLabelId(i_r17))}}const matTabsAnimations={translateTab:animations_trigger("translateTab",[state("center, void, left-origin-center, right-origin-center",animations_style({transform:"none"})),state("left",animations_style({transform:"translate3d(-100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),state("right",animations_style({transform:"translate3d(100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),animations_transition("* => left, * => right, left => center, right => center",animations_animate("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),animations_transition("void => left-origin-center",[animations_style({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"}),animations_animate("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),animations_transition("void => right-origin-center",[animations_style({transform:"translate3d(100%, 0, 0)",visibility:"hidden"}),animations_animate("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let MatTabBodyPortal=(()=>{var _class2;class MatTabBodyPortal2 extends CdkPortalOutlet{constructor(componentFactoryResolver,viewContainerRef,_host,_document2){super(componentFactoryResolver,viewContainerRef,_document2),this._host=_host,this._centeringSub=Subscription_Subscription.EMPTY,this._leavingSub=Subscription_Subscription.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(startWith_startWith(this._host._isCenterPosition(this._host._position))).subscribe(isCentering=>{isCentering&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return(_class2=MatTabBodyPortal2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(ComponentFactoryResolver$1),\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_forwardRef(()=>MatTabBody)),\u0275\u0275directiveInject(common_DOCUMENT))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matTabBodyHost",""]],features:[\u0275\u0275InheritDefinitionFeature]}),MatTabBodyPortal2})(),_MatTabBodyBase=(()=>{var _class2;class _MatTabBodyBase2{set position(position){this._positionIndex=position,this._computePositionAnimationState()}constructor(_elementRef,_dir,changeDetectorRef){this._elementRef=_elementRef,this._dir=_dir,this._dirChangeSubscription=Subscription_Subscription.EMPTY,this._translateTabComplete=new Subject_Subject,this._onCentering=new core_EventEmitter,this._beforeCentering=new core_EventEmitter,this._afterLeavingCenter=new core_EventEmitter,this._onCentered=new core_EventEmitter(!0),this.animationDuration="500ms",this.preserveContent=!1,_dir&&(this._dirChangeSubscription=_dir.change.subscribe(dir=>{this._computePositionAnimationState(dir),changeDetectorRef.markForCheck()})),this._translateTabComplete.pipe(distinctUntilChanged_distinctUntilChanged((x,y)=>x.fromState===y.fromState&&x.toState===y.toState)).subscribe(event=>{this._isCenterPosition(event.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(event.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(event){const isCentering=this._isCenterPosition(event.toState);this._beforeCentering.emit(isCentering),isCentering&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(position){return"center"==position||"left-origin-center"==position||"right-origin-center"==position}_computePositionAnimationState(dir=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==dir?"left":"right":this._positionIndex>0?"ltr"==dir?"right":"left":"center"}_computePositionFromOrigin(origin){const dir=this._getLayoutDirection();return"ltr"==dir&&origin<=0||"rtl"==dir&&origin>0?"left-origin-center":"right-origin-center"}}return(_class2=_MatTabBodyBase2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(ChangeDetectorRef))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),_MatTabBodyBase2})(),MatTabBody=(()=>{var _class3;class MatTabBody2 extends _MatTabBodyBase{constructor(elementRef,dir,changeDetectorRef){super(elementRef,dir,changeDetectorRef)}}return(_class3=MatTabBody2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(ChangeDetectorRef))},_class3.\u0275cmp=\u0275\u0275defineComponent({type:_class3,selectors:[["mat-tab-body"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(CdkPortalOutlet,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._portalHost=_t.first)}},hostAttrs:[1,"mat-mdc-tab-body"],features:[\u0275\u0275InheritDefinitionFeature],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-mdc-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0,1),\u0275\u0275listener("@translateTab.start",function($event){return ctx._onTranslateTabStarted($event)})("@translateTab.done",function($event){return ctx._translateTabComplete.next($event)}),\u0275\u0275template(2,_class3_ng_template_2_Template,0,0,"ng-template",2),\u0275\u0275elementEnd()),2&rf&&\u0275\u0275property("@translateTab",function \u0275\u0275pureFunction2(slotOffset,pureFn,exp1,exp2,thisArg){return pureFunction2Internal(getLView(),getBindingRoot(),slotOffset,pureFn,exp1,exp2,thisArg)}(3,tabs_c1,ctx._position,\u0275\u0275pureFunction1(1,tabs_c0,ctx.animationDuration)))},dependencies:[MatTabBodyPortal],styles:['.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-mdc-tab-body-content[style*="visibility: hidden"]{display:none}'],encapsulation:2,data:{animation:[matTabsAnimations.translateTab]}}),MatTabBody2})();const MAT_TAB_CONTENT=new InjectionToken("MatTabContent");let MatTabContent=(()=>{var _class4;class MatTabContent2{constructor(template){this.template=template}}return(_class4=MatTabContent2).\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(core_TemplateRef))},_class4.\u0275dir=\u0275\u0275defineDirective({type:_class4,selectors:[["","matTabContent",""]],features:[\u0275\u0275ProvidersFeature([{provide:MAT_TAB_CONTENT,useExisting:_class4}])]}),MatTabContent2})();const MAT_TAB_LABEL=new InjectionToken("MatTabLabel"),MAT_TAB=new InjectionToken("MAT_TAB");let MatTabLabel=(()=>{var _class5;class MatTabLabel2 extends CdkPortal{constructor(templateRef,viewContainerRef,_closestTab){super(templateRef,viewContainerRef),this._closestTab=_closestTab}}return(_class5=MatTabLabel2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(MAT_TAB,8))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[\u0275\u0275ProvidersFeature([{provide:MAT_TAB_LABEL,useExisting:_class5}]),\u0275\u0275InheritDefinitionFeature]}),MatTabLabel2})();const ACTIVE_CLASS="mdc-tab-indicator--active";class MatInkBar{constructor(_items){this._items=_items}hide(){this._items.forEach(item=>item.deactivateInkBar())}alignToElement(element){const correspondingItem=this._items.find(item=>item.elementRef.nativeElement===element),currentItem=this._currentItem;if(correspondingItem!==currentItem&&(currentItem?.deactivateInkBar(),correspondingItem)){const clientRect=currentItem?.elementRef.nativeElement.getBoundingClientRect?.();correspondingItem.activateInkBar(clientRect),this._currentItem=correspondingItem}}}function mixinInkBarItem(base){return class extends base{constructor(...args){super(...args),this._fitToContent=!1}get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(v){const newValue=coercion_coerceBooleanProperty(v);this._fitToContent!==newValue&&(this._fitToContent=newValue,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(previousIndicatorClientRect){const element=this.elementRef.nativeElement;if(!previousIndicatorClientRect||!element.getBoundingClientRect||!this._inkBarContentElement)return void element.classList.add(ACTIVE_CLASS);const currentClientRect=element.getBoundingClientRect(),widthDelta=previousIndicatorClientRect.width/currentClientRect.width,xPosition=previousIndicatorClientRect.left-currentClientRect.left;element.classList.add("mdc-tab-indicator--no-transition"),this._inkBarContentElement.style.setProperty("transform",`translateX(${xPosition}px) scaleX(${widthDelta})`),element.getBoundingClientRect(),element.classList.remove("mdc-tab-indicator--no-transition"),element.classList.add(ACTIVE_CLASS),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this.elementRef.nativeElement.classList.remove(ACTIVE_CLASS)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){const documentNode=this.elementRef.nativeElement.ownerDocument||document;this._inkBarElement=documentNode.createElement("span"),this._inkBarContentElement=documentNode.createElement("span"),this._inkBarElement.className="mdc-tab-indicator",this._inkBarContentElement.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",this._inkBarElement.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){(this._fitToContent?this.elementRef.nativeElement.querySelector(".mdc-tab__content"):this.elementRef.nativeElement).appendChild(this._inkBarElement)}}}const _MatTabLabelWrapperMixinBase=core_mixinDisabled(class{}),_MatTabLabelWrapperBaseWithInkBarItem=mixinInkBarItem((()=>{var _class6;class _MatTabLabelWrapperBase2 extends _MatTabLabelWrapperMixinBase{constructor(elementRef){super(),this.elementRef=elementRef}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return(_class6=_MatTabLabelWrapperBase2).\u0275fac=function(t){return new(t||_class6)(\u0275\u0275directiveInject(core_ElementRef))},_class6.\u0275dir=\u0275\u0275defineDirective({type:_class6,features:[\u0275\u0275InheritDefinitionFeature]}),_MatTabLabelWrapperBase2})());let MatTabLabelWrapper=(()=>{var _class7;class MatTabLabelWrapper2 extends _MatTabLabelWrapperBaseWithInkBarItem{}return(_class7=MatTabLabelWrapper2).\u0275fac=function(){let \u0275_class7_BaseFactory;return function(t){return(\u0275_class7_BaseFactory||(\u0275_class7_BaseFactory=\u0275\u0275getInheritedFactory(_class7)))(t||_class7)}}(),_class7.\u0275dir=\u0275\u0275defineDirective({type:_class7,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("aria-disabled",!!ctx.disabled),\u0275\u0275classProp("mat-mdc-tab-disabled",ctx.disabled))},inputs:{disabled:"disabled",fitInkBarToContent:"fitInkBarToContent"},features:[\u0275\u0275InheritDefinitionFeature]}),MatTabLabelWrapper2})();const _MatTabMixinBase=core_mixinDisabled(class{}),MAT_TAB_GROUP=new InjectionToken("MAT_TAB_GROUP");let _MatTabBase=(()=>{var _class8;class _MatTabBase2 extends _MatTabMixinBase{get content(){return this._contentPortal}constructor(_viewContainerRef,_closestTabGroup){super(),this._viewContainerRef=_viewContainerRef,this._closestTabGroup=_closestTabGroup,this.textLabel="",this._contentPortal=null,this._stateChanges=new Subject_Subject,this.position=null,this.origin=null,this.isActive=!1}ngOnChanges(changes){(changes.hasOwnProperty("textLabel")||changes.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new portal_TemplatePortal(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(value){value&&value._closestTab===this&&(this._templateLabel=value)}}return(_class8=_MatTabBase2).\u0275fac=function(t){return new(t||_class8)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(MAT_TAB_GROUP,8))},_class8.\u0275dir=\u0275\u0275defineDirective({type:_class8,viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(core_TemplateRef,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._implicitContent=_t.first)}},inputs:{textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},features:[\u0275\u0275InheritDefinitionFeature,\u0275\u0275NgOnChangesFeature]}),_MatTabBase2})(),MatTab=(()=>{var _class9;class MatTab2 extends _MatTabBase{constructor(){super(...arguments),this._explicitContent=void 0}get templateLabel(){return this._templateLabel}set templateLabel(value){this._setTemplateLabelInput(value)}}return(_class9=MatTab2).\u0275fac=function(){let \u0275_class9_BaseFactory;return function(t){return(\u0275_class9_BaseFactory||(\u0275_class9_BaseFactory=\u0275\u0275getInheritedFactory(_class9)))(t||_class9)}}(),_class9.\u0275cmp=\u0275\u0275defineComponent({type:_class9,selectors:[["mat-tab"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&(\u0275\u0275contentQuery(dirIndex,MatTabContent,7,core_TemplateRef),\u0275\u0275contentQuery(dirIndex,MatTabLabel,5)),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._explicitContent=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.templateLabel=_t.first)}},inputs:{disabled:"disabled"},exportAs:["matTab"],features:[\u0275\u0275ProvidersFeature([{provide:MAT_TAB,useExisting:_class9}]),\u0275\u0275InheritDefinitionFeature],ngContentSelectors:tabs_c2,decls:1,vars:0,template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275template(0,_class9_ng_template_0_Template,1,0,"ng-template"))},encapsulation:2}),MatTab2})();const passiveEventListenerOptions=normalizePassiveListenerOptions({passive:!0});let MatPaginatedTabHeader=(()=>{var _class10;class MatPaginatedTabHeader2{get disablePagination(){return this._disablePagination}set disablePagination(value){this._disablePagination=coercion_coerceBooleanProperty(value)}get selectedIndex(){return this._selectedIndex}set selectedIndex(value){value=coercion_coerceNumberProperty(value),this._selectedIndex!=value&&(this._selectedIndexChanged=!0,this._selectedIndex=value,this._keyManager&&this._keyManager.updateActiveItem(value))}constructor(_elementRef,_changeDetectorRef,_viewportRuler,_dir,_ngZone,_platform,_animationMode){this._elementRef=_elementRef,this._changeDetectorRef=_changeDetectorRef,this._viewportRuler=_viewportRuler,this._dir=_dir,this._ngZone=_ngZone,this._platform=_platform,this._animationMode=_animationMode,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new Subject_Subject,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new Subject_Subject,this._disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new core_EventEmitter,this.indexFocused=new core_EventEmitter,_ngZone.runOutsideAngular(()=>{fromEvent_fromEvent(_elementRef.nativeElement,"mouseleave").pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._stopInterval()})})}ngAfterViewInit(){fromEvent_fromEvent(this._previousPaginator.nativeElement,"touchstart",passiveEventListenerOptions).pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),fromEvent_fromEvent(this._nextPaginator.nativeElement,"touchstart",passiveEventListenerOptions).pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const dirChange=this._dir?this._dir.change:of_of("ltr"),resize=this._viewportRuler.change(150),realign=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new FocusKeyManager(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe(take_take(1)).subscribe(realign),merge_merge(dirChange,resize,this._items.changes,this._itemsResized()).pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),realign()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(newFocusIndex=>{this.indexFocused.emit(newFocusIndex),this._setTabFocus(newFocusIndex)})}_itemsResized(){return"function"!=typeof ResizeObserver?EMPTY:this._items.changes.pipe(startWith_startWith(this._items),switchMap_switchMap(tabItems=>new Observable_Observable(observer=>this._ngZone.runOutsideAngular(()=>{const resizeObserver=new ResizeObserver(entries=>observer.next(entries));return tabItems.forEach(item=>resizeObserver.observe(item.elementRef.nativeElement)),()=>{resizeObserver.disconnect()}}))),skip(1),filter_filter(entries=>entries.some(e2=>e2.contentRect.width>0&&e2.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(event){if(!keycodes_hasModifierKey(event))switch(event.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){const item=this._items.get(this.focusIndex);item&&!item.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(event))}break;default:this._keyManager.onKeydown(event)}}_onContentChanges(){const textContent=this._elementRef.nativeElement.textContent;textContent!==this._currentTextContent&&(this._currentTextContent=textContent||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(value){!this._isValidIndex(value)||this.focusIndex===value||!this._keyManager||this._keyManager.setActiveItem(value)}_isValidIndex(index){return!this._items||!!this._items.toArray()[index]}_setTabFocus(tabIndex){if(this._showPaginationControls&&this._scrollToLabel(tabIndex),this._items&&this._items.length){this._items.toArray()[tabIndex].focus();const containerEl=this._tabListContainer.nativeElement;containerEl.scrollLeft="ltr"==this._getLayoutDirection()?0:containerEl.scrollWidth-containerEl.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const scrollDistance=this.scrollDistance,translateX="ltr"===this._getLayoutDirection()?-scrollDistance:scrollDistance;this._tabList.nativeElement.style.transform=`translateX(${Math.round(translateX)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(value){this._scrollTo(value)}_scrollHeader(direction){return this._scrollTo(this._scrollDistance+("before"==direction?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(direction){this._stopInterval(),this._scrollHeader(direction)}_scrollToLabel(labelIndex){if(this.disablePagination)return;const selectedLabel=this._items?this._items.toArray()[labelIndex]:null;if(!selectedLabel)return;const viewLength=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft,offsetWidth}=selectedLabel.elementRef.nativeElement;let labelBeforePos,labelAfterPos;"ltr"==this._getLayoutDirection()?(labelBeforePos=offsetLeft,labelAfterPos=labelBeforePos+offsetWidth):(labelAfterPos=this._tabListInner.nativeElement.offsetWidth-offsetLeft,labelBeforePos=labelAfterPos-offsetWidth);const beforeVisiblePos=this.scrollDistance,afterVisiblePos=this.scrollDistance+viewLength;labelBeforePosafterVisiblePos&&(this.scrollDistance+=Math.min(labelAfterPos-afterVisiblePos,labelBeforePos-beforeVisiblePos))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const isEnabled=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;isEnabled||(this.scrollDistance=0),isEnabled!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=isEnabled}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const selectedItem=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,selectedLabelWrapper=selectedItem?selectedItem.elementRef.nativeElement:null;selectedLabelWrapper?this._inkBar.alignToElement(selectedLabelWrapper):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(direction,mouseEvent){mouseEvent&&null!=mouseEvent.button&&0!==mouseEvent.button||(this._stopInterval(),timer_timer(650,100).pipe(takeUntil_takeUntil(merge_merge(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance,distance}=this._scrollHeader(direction);(0===distance||distance>=maxScrollDistance)&&this._stopInterval()}))}_scrollTo(position){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const maxScrollDistance=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(maxScrollDistance,position)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance,distance:this._scrollDistance}}}return(_class10=MatPaginatedTabHeader2).\u0275fac=function(t){return new(t||_class10)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(ViewportRuler),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class10.\u0275dir=\u0275\u0275defineDirective({type:_class10,inputs:{disablePagination:"disablePagination"}}),MatPaginatedTabHeader2})(),_MatTabHeaderBase=(()=>{var _class112;class _MatTabHeaderBase2 extends MatPaginatedTabHeader{get disableRipple(){return this._disableRipple}set disableRipple(value){this._disableRipple=coercion_coerceBooleanProperty(value)}constructor(elementRef,changeDetectorRef,viewportRuler,dir,ngZone,platform,animationMode){super(elementRef,changeDetectorRef,viewportRuler,dir,ngZone,platform,animationMode),this._disableRipple=!1}_itemSelected(event){event.preventDefault()}}return(_class112=_MatTabHeaderBase2).\u0275fac=function(t){return new(t||_class112)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(ViewportRuler),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class112.\u0275dir=\u0275\u0275defineDirective({type:_class112,inputs:{disableRipple:"disableRipple"},features:[\u0275\u0275InheritDefinitionFeature]}),_MatTabHeaderBase2})(),MatTabHeader=(()=>{var _class12;class MatTabHeader2 extends _MatTabHeaderBase{constructor(elementRef,changeDetectorRef,viewportRuler,dir,ngZone,platform,animationMode){super(elementRef,changeDetectorRef,viewportRuler,dir,ngZone,platform,animationMode)}ngAfterContentInit(){this._inkBar=new MatInkBar(this._items),super.ngAfterContentInit()}}return(_class12=MatTabHeader2).\u0275fac=function(t){return new(t||_class12)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(ViewportRuler),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class12.\u0275cmp=\u0275\u0275defineComponent({type:_class12,selectors:[["mat-tab-header"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&\u0275\u0275contentQuery(dirIndex,MatTabLabelWrapper,4),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._items=_t)}},viewQuery:function(rf,ctx){if(1&rf&&(\u0275\u0275viewQuery(tabs_c3,7),\u0275\u0275viewQuery(tabs_c4,7),\u0275\u0275viewQuery(tabs_c5,7),\u0275\u0275viewQuery(tabs_c6,5),\u0275\u0275viewQuery(tabs_c7,5)),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabListContainer=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabList=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabListInner=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._nextPaginator=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._previousPaginator=_t.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275classProp("mat-mdc-tab-header-pagination-controls-enabled",ctx._showPaginationControls)("mat-mdc-tab-header-rtl","rtl"==ctx._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[\u0275\u0275InheritDefinitionFeature],ngContentSelectors:tabs_c2,decls:13,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-mdc-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275elementStart(0,"button",0,1),\u0275\u0275listener("click",function(){return ctx._handlePaginatorClick("before")})("mousedown",function($event){return ctx._handlePaginatorPress("before",$event)})("touchend",function(){return ctx._stopInterval()}),\u0275\u0275element(2,"div",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"div",3,4),\u0275\u0275listener("keydown",function($event){return ctx._handleKeydown($event)}),\u0275\u0275elementStart(5,"div",5,6),\u0275\u0275listener("cdkObserveContent",function(){return ctx._onContentChanges()}),\u0275\u0275elementStart(7,"div",7,8),\u0275\u0275projection(9),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(10,"button",9,10),\u0275\u0275listener("mousedown",function($event){return ctx._handlePaginatorPress("after",$event)})("click",function(){return ctx._handlePaginatorClick("after")})("touchend",function(){return ctx._stopInterval()}),\u0275\u0275element(12,"div",2),\u0275\u0275elementEnd()),2&rf&&(\u0275\u0275classProp("mat-mdc-tab-header-pagination-disabled",ctx._disableScrollBefore),\u0275\u0275property("matRippleDisabled",ctx._disableScrollBefore||ctx.disableRipple)("disabled",ctx._disableScrollBefore||null),\u0275\u0275advance(3),\u0275\u0275classProp("_mat-animation-noopable","NoopAnimations"===ctx._animationMode),\u0275\u0275advance(7),\u0275\u0275classProp("mat-mdc-tab-header-pagination-disabled",ctx._disableScrollAfter),\u0275\u0275property("matRippleDisabled",ctx._disableScrollAfter||ctx.disableRipple)("disabled",ctx._disableScrollAfter||null))},dependencies:[MatRipple,CdkObserveContent],styles:[".mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0;--mdc-tab-indicator-active-indicator-height:2px;--mdc-tab-indicator-active-indicator-shape:0;--mdc-secondary-navigation-tab-container-height:48px}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color)}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}._mat-animation-noopable span.mdc-tab-indicator__content,._mat-animation-noopable span.mdc-tab__text-label{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.mat-mdc-tab::before{margin:5px}.cdk-high-contrast-active .mat-mdc-tab[aria-disabled=true]{color:GrayText}"],encapsulation:2}),MatTabHeader2})();const MAT_TABS_CONFIG=new InjectionToken("MAT_TABS_CONFIG");let tabs_nextId=0;const _MatTabGroupMixinBase=mixinColor(core_mixinDisableRipple(class{constructor(_elementRef){this._elementRef=_elementRef}}),"primary");let _MatTabGroupBase=(()=>{var _class13;class _MatTabGroupBase2 extends _MatTabGroupMixinBase{get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(value){this._dynamicHeight=coercion_coerceBooleanProperty(value)}get selectedIndex(){return this._selectedIndex}set selectedIndex(value){this._indexToSelect=coercion_coerceNumberProperty(value,null)}get animationDuration(){return this._animationDuration}set animationDuration(value){this._animationDuration=/^\d+$/.test(value+"")?value+"ms":value}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(value){this._contentTabIndex=coercion_coerceNumberProperty(value,null)}get disablePagination(){return this._disablePagination}set disablePagination(value){this._disablePagination=coercion_coerceBooleanProperty(value)}get preserveContent(){return this._preserveContent}set preserveContent(value){this._preserveContent=coercion_coerceBooleanProperty(value)}get backgroundColor(){return this._backgroundColor}set backgroundColor(value){const classList=this._elementRef.nativeElement.classList;classList.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),value&&classList.add("mat-tabs-with-background",`mat-background-${value}`),this._backgroundColor=value}constructor(elementRef,_changeDetectorRef,defaultConfig2,_animationMode){super(elementRef),this._changeDetectorRef=_changeDetectorRef,this._animationMode=_animationMode,this._tabs=new QueryList,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=Subscription_Subscription.EMPTY,this._tabLabelSubscription=Subscription_Subscription.EMPTY,this._dynamicHeight=!1,this._selectedIndex=null,this.headerPosition="above",this._disablePagination=!1,this._preserveContent=!1,this.selectedIndexChange=new core_EventEmitter,this.focusChange=new core_EventEmitter,this.animationDone=new core_EventEmitter,this.selectedTabChange=new core_EventEmitter(!0),this._groupId=tabs_nextId++,this.animationDuration=defaultConfig2&&defaultConfig2.animationDuration?defaultConfig2.animationDuration:"500ms",this.disablePagination=!(!defaultConfig2||null==defaultConfig2.disablePagination)&&defaultConfig2.disablePagination,this.dynamicHeight=!(!defaultConfig2||null==defaultConfig2.dynamicHeight)&&defaultConfig2.dynamicHeight,this.contentTabIndex=defaultConfig2?.contentTabIndex??null,this.preserveContent=!!defaultConfig2?.preserveContent}ngAfterContentChecked(){const indexToSelect=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=indexToSelect){const isFirstRun=null==this._selectedIndex;if(!isFirstRun){this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));const wrapper=this._tabBodyWrapper.nativeElement;wrapper.style.minHeight=wrapper.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((tab,index)=>tab.isActive=index===indexToSelect),isFirstRun||(this.selectedIndexChange.emit(indexToSelect),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((tab,index)=>{tab.position=index-indexToSelect,null!=this._selectedIndex&&0==tab.position&&!tab.origin&&(tab.origin=indexToSelect-this._selectedIndex)}),this._selectedIndex!==indexToSelect&&(this._selectedIndex=indexToSelect,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const indexToSelect=this._clampTabIndex(this._indexToSelect);if(indexToSelect===this._selectedIndex){const tabs=this._tabs.toArray();let selectedTab;for(let i6=0;i6{tabs[indexToSelect].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(indexToSelect))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(startWith_startWith(this._allTabs)).subscribe(tabs=>{this._tabs.reset(tabs.filter(tab=>tab._closestTabGroup===this||!tab._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(index){const header=this._tabHeader;header&&(header.focusIndex=index)}_focusChanged(index){this._lastFocusedTabIndex=index,this.focusChange.emit(this._createChangeEvent(index))}_createChangeEvent(index){const event=new MatTabChangeEvent;return event.index=index,this._tabs&&this._tabs.length&&(event.tab=this._tabs.toArray()[index]),event}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=merge_merge(...this._tabs.map(tab=>tab._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(index){return Math.min(this._tabs.length-1,Math.max(index||0,0))}_getTabLabelId(i6){return`mat-tab-label-${this._groupId}-${i6}`}_getTabContentId(i6){return`mat-tab-content-${this._groupId}-${i6}`}_setTabBodyWrapperHeight(tabHeight){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const wrapper=this._tabBodyWrapper.nativeElement;wrapper.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(wrapper.style.height=tabHeight+"px")}_removeTabBodyWrapperHeight(){const wrapper=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=wrapper.clientHeight,wrapper.style.height="",this.animationDone.emit()}_handleClick(tab,tabHeader,index){tabHeader.focusIndex=index,tab.disabled||(this.selectedIndex=index)}_getTabIndex(index){return index===(this._lastFocusedTabIndex??this.selectedIndex)?0:-1}_tabFocusChanged(focusOrigin,index){focusOrigin&&"mouse"!==focusOrigin&&"touch"!==focusOrigin&&(this._tabHeader.focusIndex=index)}}return(_class13=_MatTabGroupBase2).\u0275fac=function(t){return new(t||_class13)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(MAT_TABS_CONFIG,8),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class13.\u0275dir=\u0275\u0275defineDirective({type:_class13,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",preserveContent:"preserveContent",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[\u0275\u0275InheritDefinitionFeature]}),_MatTabGroupBase2})(),MatTabGroup=(()=>{var _class14;class MatTabGroup2 extends _MatTabGroupBase{get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(v){this._fitInkBarToContent=coercion_coerceBooleanProperty(v),this._changeDetectorRef.markForCheck()}get stretchTabs(){return this._stretchTabs}set stretchTabs(v){this._stretchTabs=coercion_coerceBooleanProperty(v)}constructor(elementRef,changeDetectorRef,defaultConfig2,animationMode){super(elementRef,changeDetectorRef,defaultConfig2,animationMode),this._fitInkBarToContent=!1,this._stretchTabs=!0,this.fitInkBarToContent=!(!defaultConfig2||null==defaultConfig2.fitInkBarToContent)&&defaultConfig2.fitInkBarToContent,this.stretchTabs=!defaultConfig2||null==defaultConfig2.stretchTabs||defaultConfig2.stretchTabs}}return(_class14=MatTabGroup2).\u0275fac=function(t){return new(t||_class14)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(MAT_TABS_CONFIG,8),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class14.\u0275cmp=\u0275\u0275defineComponent({type:_class14,selectors:[["mat-tab-group"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&\u0275\u0275contentQuery(dirIndex,MatTab,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._allTabs=_t)}},viewQuery:function(rf,ctx){if(1&rf&&(\u0275\u0275viewQuery(tabs_c8,5),\u0275\u0275viewQuery(tabs_c9,5)),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabBodyWrapper=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabHeader=_t.first)}},hostAttrs:["ngSkipHydration","",1,"mat-mdc-tab-group"],hostVars:8,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275styleProp("--mat-tab-animation-duration",ctx.animationDuration),\u0275\u0275classProp("mat-mdc-tab-group-dynamic-height",ctx.dynamicHeight)("mat-mdc-tab-group-inverted-header","below"===ctx.headerPosition)("mat-mdc-tab-group-stretch-tabs",ctx.stretchTabs))},inputs:{color:"color",disableRipple:"disableRipple",fitInkBarToContent:"fitInkBarToContent",stretchTabs:["mat-stretch-tabs","stretchTabs"]},exportAs:["matTabGroup"],features:[\u0275\u0275ProvidersFeature([{provide:MAT_TAB_GROUP,useExisting:_class14}]),\u0275\u0275InheritDefinitionFeature],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mdc-tab mat-mdc-tab mat-mdc-focus-indicator","role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",3,"id","mdc-tab--active","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-mdc-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-mdc-tab-body-active","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-mdc-focus-indicator",3,"id","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange"],["tabNode",""],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"mat-tab-header",0,1),\u0275\u0275listener("indexFocused",function($event){return ctx._focusChanged($event)})("selectFocusedIndex",function($event){return ctx.selectedIndex=$event}),\u0275\u0275template(2,_class14_div_2_Template,9,17,"div",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"div",3,4),\u0275\u0275template(5,_class14_mat_tab_body_5_Template,1,11,"mat-tab-body",5),\u0275\u0275elementEnd()),2&rf&&(\u0275\u0275property("selectedIndex",ctx.selectedIndex||0)("disableRipple",ctx.disableRipple)("disablePagination",ctx.disablePagination),\u0275\u0275advance(2),\u0275\u0275property("ngForOf",ctx._tabs),\u0275\u0275advance(1),\u0275\u0275classProp("_mat-animation-noopable","NoopAnimations"===ctx._animationMode),\u0275\u0275advance(2),\u0275\u0275property("ngForOf",ctx._tabs))},dependencies:[NgClass,NgForOf,NgIf,CdkPortalOutlet,MatRipple,CdkMonitorFocus,MatTabBody,MatTabLabelWrapper,MatTabHeader],styles:['.mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;font-family:var(--mat-tab-header-label-text-font);font-size:var(--mat-tab-header-label-text-size);letter-spacing:var(--mat-tab-header-label-text-tracking);line-height:var(--mat-tab-header-label-text-line-height);font-weight:var(--mat-tab-header-label-text-weight)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-top-width:var(--mdc-tab-indicator-active-indicator-height)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-radius:var(--mdc-tab-indicator-active-indicator-shape)}.mat-mdc-tab:not(.mdc-tab--stacked){height:var(--mdc-secondary-navigation-tab-container-height)}.mat-mdc-tab:not(:disabled).mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color)}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color)}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color);display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}'],encapsulation:2}),MatTabGroup2})();class MatTabChangeEvent{}let MatTabsModule=(()=>{var _class20;class MatTabsModule2{}return(_class20=MatTabsModule2).\u0275fac=function(t){return new(t||_class20)},_class20.\u0275mod=\u0275\u0275defineNgModule({type:_class20}),_class20.\u0275inj=\u0275\u0275defineInjector({imports:[common_CommonModule,MatCommonModule,PortalModule,MatRippleModule,ObserversModule,A11yModule,MatCommonModule]}),MatTabsModule2})();const tooltip_c0=["tooltip"],MAT_TOOLTIP_SCROLL_STRATEGY=new InjectionToken("mat-tooltip-scroll-strategy"),MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER={provide:MAT_TOOLTIP_SCROLL_STRATEGY,deps:[Overlay],useFactory:function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay){return()=>overlay.scrollStrategies.reposition({scrollThrottle:20})}},MAT_TOOLTIP_DEFAULT_OPTIONS=new InjectionToken("mat-tooltip-default-options",{providedIn:"root",factory:function MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),passiveListenerOptions=normalizePassiveListenerOptions({passive:!0});let _MatTooltipBase=(()=>{var _class2;class _MatTooltipBase2{get position(){return this._position}set position(value){value!==this._position&&(this._position=value,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(value){this._positionAtOrigin=coercion_coerceBooleanProperty(value),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(value){this._showDelay=coercion_coerceNumberProperty(value)}get hideDelay(){return this._hideDelay}set hideDelay(value){this._hideDelay=coercion_coerceNumberProperty(value),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(value){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=value?String(value).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(value){this._tooltipClass=value,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(_overlay,_elementRef,_scrollDispatcher,_viewContainerRef,_ngZone,_platform,_ariaDescriber,_focusMonitor,scrollStrategy,_dir,_defaultOptions,_document2){this._overlay=_overlay,this._elementRef=_elementRef,this._scrollDispatcher=_scrollDispatcher,this._viewContainerRef=_viewContainerRef,this._ngZone=_ngZone,this._platform=_platform,this._ariaDescriber=_ariaDescriber,this._focusMonitor=_focusMonitor,this._dir=_dir,this._defaultOptions=_defaultOptions,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new Subject_Subject,this._scrollStrategy=scrollStrategy,this._document=_document2,_defaultOptions&&(this._showDelay=_defaultOptions.showDelay,this._hideDelay=_defaultOptions.hideDelay,_defaultOptions.position&&(this.position=_defaultOptions.position),_defaultOptions.positionAtOrigin&&(this.positionAtOrigin=_defaultOptions.positionAtOrigin),_defaultOptions.touchGestures&&(this.touchGestures=_defaultOptions.touchGestures)),_dir.change.pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(takeUntil_takeUntil(this._destroyed)).subscribe(origin=>{origin?"keyboard"===origin&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const nativeElement=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([event,listener])=>{nativeElement.removeEventListener(event,listener,passiveListenerOptions)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(nativeElement,this.message,"tooltip"),this._focusMonitor.stopMonitoring(nativeElement)}show(delay=this.showDelay,origin){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const overlayRef=this._createOverlay(origin);this._detach(),this._portal=this._portal||new ComponentPortal(this._tooltipComponent,this._viewContainerRef);const instance=this._tooltipInstance=overlayRef.attach(this._portal).instance;instance._triggerElement=this._elementRef.nativeElement,instance._mouseLeaveHideDelay=this._hideDelay,instance.afterHidden().pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),instance.show(delay)}hide(delay=this.hideDelay){const instance=this._tooltipInstance;instance&&(instance.isVisible()?instance.hide(delay):(instance._cancelPendingAnimations(),this._detach()))}toggle(origin){this._isTooltipVisible()?this.hide():this.show(void 0,origin)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(origin){if(this._overlayRef){const existingStrategy=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!origin)&&existingStrategy._origin instanceof core_ElementRef)return this._overlayRef;this._detach()}const scrollableAncestors=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),strategy=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin&&origin||this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(scrollableAncestors);return strategy.positionChanges.pipe(takeUntil_takeUntil(this._destroyed)).subscribe(change=>{this._updateCurrentPositionClass(change.connectionPair),this._tooltipInstance&&change.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:strategy,panelClass:`${this._cssClassPrefix}-tooltip-panel`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(takeUntil_takeUntil(this._destroyed)).subscribe(event=>{this._isTooltipVisible()&&27===event.keyCode&&!keycodes_hasModifierKey(event)&&(event.preventDefault(),event.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(overlayRef){const position=overlayRef.getConfig().positionStrategy,origin=this._getOrigin(),overlay=this._getOverlayPosition();position.withPositions([this._addOffset({...origin.main,...overlay.main}),this._addOffset({...origin.fallback,...overlay.fallback})])}_addOffset(position){return position}_getOrigin(){const isLtr=!this._dir||"ltr"==this._dir.value,position=this.position;let originPosition;"above"==position||"below"==position?originPosition={originX:"center",originY:"above"==position?"top":"bottom"}:"before"==position||"left"==position&&isLtr||"right"==position&&!isLtr?originPosition={originX:"start",originY:"center"}:("after"==position||"right"==position&&isLtr||"left"==position&&!isLtr)&&(originPosition={originX:"end",originY:"center"});const{x,y}=this._invertPosition(originPosition.originX,originPosition.originY);return{main:originPosition,fallback:{originX:x,originY:y}}}_getOverlayPosition(){const isLtr=!this._dir||"ltr"==this._dir.value,position=this.position;let overlayPosition;"above"==position?overlayPosition={overlayX:"center",overlayY:"bottom"}:"below"==position?overlayPosition={overlayX:"center",overlayY:"top"}:"before"==position||"left"==position&&isLtr||"right"==position&&!isLtr?overlayPosition={overlayX:"end",overlayY:"center"}:("after"==position||"right"==position&&isLtr||"left"==position&&!isLtr)&&(overlayPosition={overlayX:"start",overlayY:"center"});const{x,y}=this._invertPosition(overlayPosition.overlayX,overlayPosition.overlayY);return{main:overlayPosition,fallback:{overlayX:x,overlayY:y}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(take_take(1),takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(tooltipClass){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=tooltipClass,this._tooltipInstance._markForCheck())}_invertPosition(x,y){return"above"===this.position||"below"===this.position?"top"===y?y="bottom":"bottom"===y&&(y="top"):"end"===x?x="start":"start"===x&&(x="end"),{x,y}}_updateCurrentPositionClass(connectionPair){const{overlayY,originX,originY}=connectionPair;let newPosition;if(newPosition="center"===overlayY?this._dir&&"rtl"===this._dir.value?"end"===originX?"left":"right":"start"===originX?"left":"right":"bottom"===overlayY&&"top"===originY?"above":"below",newPosition!==this._currentPosition){const overlayRef=this._overlayRef;if(overlayRef){const classPrefix=`${this._cssClassPrefix}-tooltip-panel-`;overlayRef.removePanelClass(classPrefix+this._currentPosition),overlayRef.addPanelClass(classPrefix+newPosition)}this._currentPosition=newPosition}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",event=>{let point;this._setupPointerExitEventsIfNeeded(),void 0!==event.x&&void 0!==event.y&&(point=event),this.show(void 0,point)}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",event=>{const touch=event.targetTouches?.[0],origin=touch?{x:touch.clientX,y:touch.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(void 0,origin),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const exitListeners=[];if(this._platformSupportsMouseEvents())exitListeners.push(["mouseleave",event=>{const newTarget=event.relatedTarget;(!newTarget||!this._overlayRef?.overlayElement.contains(newTarget))&&this.hide()}],["wheel",event=>this._wheelListener(event)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const touchendListener=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};exitListeners.push(["touchend",touchendListener],["touchcancel",touchendListener])}this._addListeners(exitListeners),this._passiveListeners.push(...exitListeners)}_addListeners(listeners){listeners.forEach(([event,listener])=>{this._elementRef.nativeElement.addEventListener(event,listener,passiveListenerOptions)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(event){if(this._isTooltipVisible()){const elementUnderPointer=this._document.elementFromPoint(event.clientX,event.clientY),element=this._elementRef.nativeElement;elementUnderPointer!==element&&!element.contains(elementUnderPointer)&&this.hide()}}_disableNativeGesturesIfNecessary(){const gestures=this.touchGestures;if("off"!==gestures){const element=this._elementRef.nativeElement,style2=element.style;("on"===gestures||"INPUT"!==element.nodeName&&"TEXTAREA"!==element.nodeName)&&(style2.userSelect=style2.msUserSelect=style2.webkitUserSelect=style2.MozUserSelect="none"),("on"===gestures||!element.draggable)&&(style2.webkitUserDrag="none"),style2.touchAction="none",style2.webkitTapHighlightColor="transparent"}}}return(_class2=_MatTooltipBase2).\u0275fac=function(t){\u0275\u0275invalidFactory()},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,inputs:{position:["matTooltipPosition","position"],positionAtOrigin:["matTooltipPositionAtOrigin","positionAtOrigin"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),_MatTooltipBase2})(),MatTooltip=(()=>{var _class2;class MatTooltip2 extends _MatTooltipBase{constructor(overlay,elementRef,scrollDispatcher,viewContainerRef,ngZone,platform,ariaDescriber,focusMonitor,scrollStrategy,dir,defaultOptions,_document2){super(overlay,elementRef,scrollDispatcher,viewContainerRef,ngZone,platform,ariaDescriber,focusMonitor,scrollStrategy,dir,defaultOptions,_document2),this._tooltipComponent=TooltipComponent,this._cssClassPrefix="mat-mdc",this._viewportMargin=8}_addOffset(position){const isLtr=!this._dir||"ltr"==this._dir.value;return"top"===position.originY?position.offsetY=-8:"bottom"===position.originY?position.offsetY=8:"start"===position.originX?position.offsetX=isLtr?-8:8:"end"===position.originX&&(position.offsetX=isLtr?8:-8),position}}return(_class2=MatTooltip2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(Overlay),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ScrollDispatcher),\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(AriaDescriber),\u0275\u0275directiveInject(FocusMonitor),\u0275\u0275directiveInject(MAT_TOOLTIP_SCROLL_STRATEGY),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(MAT_TOOLTIP_DEFAULT_OPTIONS,8),\u0275\u0275directiveInject(common_DOCUMENT))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275classProp("mat-mdc-tooltip-disabled",ctx.disabled)},exportAs:["matTooltip"],features:[\u0275\u0275InheritDefinitionFeature]}),MatTooltip2})(),_TooltipComponentBase=(()=>{var _class3;class _TooltipComponentBase2{constructor(_changeDetectorRef,animationMode){this._changeDetectorRef=_changeDetectorRef,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new Subject_Subject,this._animationsDisabled="NoopAnimations"===animationMode}show(delay){null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},delay)}hide(delay){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},delay)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget}){(!relatedTarget||!this._triggerElement.contains(relatedTarget))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){}_handleAnimationEnd({animationName}){(animationName===this._showAnimation||animationName===this._hideAnimation)&&this._finalizeAnimation(animationName===this._showAnimation)}_cancelPendingAnimations(){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(toVisible){toVisible?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(isVisible){const tooltip=this._tooltip.nativeElement,showClass=this._showAnimation,hideClass=this._hideAnimation;if(tooltip.classList.remove(isVisible?hideClass:showClass),tooltip.classList.add(isVisible?showClass:hideClass),this._isVisible=isVisible,isVisible&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const styles=getComputedStyle(tooltip);("0s"===styles.getPropertyValue("animation-duration")||"none"===styles.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}isVisible&&this._onShow(),this._animationsDisabled&&(tooltip.classList.add("_mat-animation-noopable"),this._finalizeAnimation(isVisible))}}return(_class3=_TooltipComponentBase2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3}),_TooltipComponentBase2})(),TooltipComponent=(()=>{var _class4;class TooltipComponent2 extends _TooltipComponentBase{constructor(changeDetectorRef,_elementRef,animationMode){super(changeDetectorRef,animationMode),this._elementRef=_elementRef,this._isMultiline=!1,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide"}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){const rect=this._elementRef.nativeElement.getBoundingClientRect();return rect.height>24&&rect.width>=200}}return(_class4=TooltipComponent2).\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class4.\u0275cmp=\u0275\u0275defineComponent({type:_class4,selectors:[["mat-tooltip-component"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(tooltip_c0,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tooltip=_t.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(rf,ctx){1&rf&&\u0275\u0275listener("mouseleave",function($event){return ctx._handleMouseLeave($event)}),2&rf&&\u0275\u0275styleProp("zoom",ctx.isVisible()?1:null)},features:[\u0275\u0275InheritDefinitionFeature],decls:4,vars:4,consts:[[1,"mdc-tooltip","mdc-tooltip--shown","mat-mdc-tooltip",3,"ngClass","animationend"],["tooltip",""],[1,"mdc-tooltip__surface","mdc-tooltip__surface-animation"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0,1),\u0275\u0275listener("animationend",function($event){return ctx._handleAnimationEnd($event)}),\u0275\u0275elementStart(2,"div",2),\u0275\u0275text(3),\u0275\u0275elementEnd()()),2&rf&&(\u0275\u0275classProp("mdc-tooltip--multiline",ctx._isMultiline),\u0275\u0275property("ngClass",ctx.tooltipClass),\u0275\u0275advance(3),\u0275\u0275textInterpolate(ctx.message))},dependencies:[NgClass],styles:['.mdc-tooltip__surface{word-break:break-all;word-break:var(--mdc-tooltip-word-break, normal);overflow-wrap:anywhere}.mdc-tooltip--showing-transition .mdc-tooltip__surface-animation{transition:opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-tooltip--hide-transition .mdc-tooltip__surface-animation{transition:opacity 75ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-tooltip{position:fixed;display:none;z-index:9}.mdc-tooltip-wrapper--rich{position:relative}.mdc-tooltip--shown,.mdc-tooltip--showing,.mdc-tooltip--hide{display:inline-flex}.mdc-tooltip--shown.mdc-tooltip--rich,.mdc-tooltip--showing.mdc-tooltip--rich,.mdc-tooltip--hide.mdc-tooltip--rich{display:inline-block;left:-320px;position:absolute}.mdc-tooltip__surface{line-height:16px;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center}.mdc-tooltip__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-tooltip__surface::before{border-color:CanvasText}}.mdc-tooltip--rich .mdc-tooltip__surface{align-items:flex-start;display:flex;flex-direction:column;min-height:24px;min-width:40px;max-width:320px;position:relative}.mdc-tooltip--multiline .mdc-tooltip__surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mdc-tooltip__surface,.mdc-tooltip--multiline .mdc-tooltip__surface[dir=rtl]{text-align:right}.mdc-tooltip__surface .mdc-tooltip__title{margin:0 8px}.mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(200px - (2 * 8px));margin:8px;text-align:left}[dir=rtl] .mdc-tooltip__surface .mdc-tooltip__content,.mdc-tooltip__surface .mdc-tooltip__content[dir=rtl]{text-align:right}.mdc-tooltip--rich .mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(320px - (2 * 8px));align-self:stretch}.mdc-tooltip__surface .mdc-tooltip__content-link{text-decoration:none}.mdc-tooltip--rich-actions,.mdc-tooltip__content,.mdc-tooltip__title{z-index:1}.mdc-tooltip__surface-animation{opacity:0;transform:scale(0.8);will-change:transform,opacity}.mdc-tooltip--shown .mdc-tooltip__surface-animation{transform:scale(1);opacity:1}.mdc-tooltip--hide .mdc-tooltip__surface-animation{transform:scale(1)}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{position:absolute;height:24px;width:24px;transform:rotate(35deg) skewY(20deg) scaleX(0.9396926208)}.mdc-tooltip__caret-surface-top .mdc-elevation-overlay,.mdc-tooltip__caret-surface-bottom .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-tooltip__caret-surface-bottom{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);outline:1px solid rgba(0,0,0,0);z-index:-1}@media screen and (forced-colors: active){.mdc-tooltip__caret-surface-bottom{outline-color:CanvasText}}.mat-mdc-tooltip{--mdc-plain-tooltip-container-shape:4px;--mdc-plain-tooltip-supporting-text-line-height:16px}.mat-mdc-tooltip .mdc-tooltip__surface{background-color:var(--mdc-plain-tooltip-container-color)}.mat-mdc-tooltip .mdc-tooltip__surface{border-radius:var(--mdc-plain-tooltip-container-shape)}.mat-mdc-tooltip .mdc-tooltip__caret-surface-top,.mat-mdc-tooltip .mdc-tooltip__caret-surface-bottom{border-radius:var(--mdc-plain-tooltip-container-shape)}.mat-mdc-tooltip .mdc-tooltip__surface{color:var(--mdc-plain-tooltip-supporting-text-color)}.mat-mdc-tooltip .mdc-tooltip__surface{font-family:var(--mdc-plain-tooltip-supporting-text-font);line-height:var(--mdc-plain-tooltip-supporting-text-line-height);font-size:var(--mdc-plain-tooltip-supporting-text-size);font-weight:var(--mdc-plain-tooltip-supporting-text-weight);letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking)}.mat-mdc-tooltip{position:relative;transform:scale(0)}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0}),TooltipComponent2})(),MatTooltipModule=(()=>{var _class5;class MatTooltipModule2{}return(_class5=MatTooltipModule2).\u0275fac=function(t){return new(t||_class5)},_class5.\u0275mod=\u0275\u0275defineNgModule({type:_class5}),_class5.\u0275inj=\u0275\u0275defineInjector({providers:[MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER],imports:[A11yModule,common_CommonModule,OverlayModule,MatCommonModule,MatCommonModule,CdkScrollableModule]}),MatTooltipModule2})();class ConnectableObservable extends Observable_Observable{constructor(source,subjectFactory){super(),this.source=source,this.subjectFactory=subjectFactory,this._subject=null,this._refCount=0,this._connection=null,hasLift(source)&&(this.lift=source.lift)}_subscribe(subscriber){return this.getSubject().subscribe(subscriber)}getSubject(){const subject=this._subject;return(!subject||subject.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection}=this;this._subject=this._connection=null,_connection?.unsubscribe()}connect(){let connection=this._connection;if(!connection){connection=this._connection=new Subscription_Subscription;const subject=this.getSubject();connection.add(this.source.subscribe(createOperatorSubscriber(subject,void 0,()=>{this._teardown(),subject.complete()},err=>{this._teardown(),subject.error(err)},()=>this._teardown()))),connection.closed&&(this._connection=null,connection=Subscription_Subscription.EMPTY)}return connection}refCount(){return function refCount(){return operate((source,subscriber)=>{let connection=null;source._refCount++;const refCounter=createOperatorSubscriber(subscriber,void 0,void 0,void 0,()=>{if(!source||source._refCount<=0||0<--source._refCount)return void(connection=null);const sharedConnection=source._connection,conn=connection;connection=null,sharedConnection&&(!conn||sharedConnection===conn)&&sharedConnection.unsubscribe(),subscriber.unsubscribe()});source.subscribe(refCounter),refCounter.closed||(connection=source.connect())})}()(this)}}class collections_DataSource{}class SelectionModel{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(_multiple=!1,initiallySelectedValues,_emitChanges=!0,compareWith){this._multiple=_multiple,this._emitChanges=_emitChanges,this.compareWith=compareWith,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new Subject_Subject,initiallySelectedValues&&initiallySelectedValues.length&&(_multiple?initiallySelectedValues.forEach(value=>this._markSelected(value)):this._markSelected(initiallySelectedValues[0]),this._selectedToEmit.length=0)}select(...values){this._verifyValueAssignment(values),values.forEach(value=>this._markSelected(value));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}deselect(...values){this._verifyValueAssignment(values),values.forEach(value=>this._unmarkSelected(value));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}setSelection(...values){this._verifyValueAssignment(values);const oldValues=this.selected,newSelectedSet=new Set(values);values.forEach(value=>this._markSelected(value)),oldValues.filter(value=>!newSelectedSet.has(value)).forEach(value=>this._unmarkSelected(value));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}toggle(value){return this.isSelected(value)?this.deselect(value):this.select(value)}clear(flushEvent=!0){this._unmarkAll();const changed=this._hasQueuedChanges();return flushEvent&&this._emitChangeEvent(),changed}isSelected(value){return this._selection.has(this._getConcreteValue(value))}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(predicate){this._multiple&&this.selected&&this._selected.sort(predicate)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(value){value=this._getConcreteValue(value),this.isSelected(value)||(this._multiple||this._unmarkAll(),this.isSelected(value)||this._selection.add(value),this._emitChanges&&this._selectedToEmit.push(value))}_unmarkSelected(value){value=this._getConcreteValue(value),this.isSelected(value)&&(this._selection.delete(value),this._emitChanges&&this._deselectedToEmit.push(value))}_unmarkAll(){this.isEmpty()||this._selection.forEach(value=>this._unmarkSelected(value))}_verifyValueAssignment(values){}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}_getConcreteValue(inputValue){if(this.compareWith){for(let selectedValue of this._selection)if(this.compareWith(inputValue,selectedValue))return selectedValue;return inputValue}return inputValue}}function isObservable_isObservable(obj){return!!obj&&(obj instanceof Observable_Observable||isFunction(obj.lift)&&isFunction(obj.subscribe))}class BaseTreeControl{constructor(){this.expansionModel=new SelectionModel(!0)}toggle(dataNode){this.expansionModel.toggle(this._trackByValue(dataNode))}expand(dataNode){this.expansionModel.select(this._trackByValue(dataNode))}collapse(dataNode){this.expansionModel.deselect(this._trackByValue(dataNode))}isExpanded(dataNode){return this.expansionModel.isSelected(this._trackByValue(dataNode))}toggleDescendants(dataNode){this.expansionModel.isSelected(this._trackByValue(dataNode))?this.collapseDescendants(dataNode):this.expandDescendants(dataNode)}collapseAll(){this.expansionModel.clear()}expandDescendants(dataNode){let toBeProcessed=[dataNode];toBeProcessed.push(...this.getDescendants(dataNode)),this.expansionModel.select(...toBeProcessed.map(value=>this._trackByValue(value)))}collapseDescendants(dataNode){let toBeProcessed=[dataNode];toBeProcessed.push(...this.getDescendants(dataNode)),this.expansionModel.deselect(...toBeProcessed.map(value=>this._trackByValue(value)))}_trackByValue(value){return this.trackBy?this.trackBy(value):value}}class NestedTreeControl extends BaseTreeControl{constructor(getChildren,options){super(),this.getChildren=getChildren,this.options=options,this.options&&(this.trackBy=this.options.trackBy)}expandAll(){this.expansionModel.clear();const allNodes=this.dataNodes.reduce((accumulator,dataNode)=>[...accumulator,...this.getDescendants(dataNode),dataNode],[]);this.expansionModel.select(...allNodes.map(node2=>this._trackByValue(node2)))}getDescendants(dataNode){const descendants=[];return this._getDescendants(descendants,dataNode),descendants.splice(1)}_getDescendants(descendants,dataNode){descendants.push(dataNode);const childrenNodes=this.getChildren(dataNode);Array.isArray(childrenNodes)?childrenNodes.forEach(child2=>this._getDescendants(descendants,child2)):isObservable_isObservable(childrenNodes)&&childrenNodes.pipe(take_take(1),filter_filter(Boolean)).subscribe(children=>{for(const child2 of children)this._getDescendants(descendants,child2)})}}const CDK_TREE_NODE_OUTLET_NODE=new InjectionToken("CDK_TREE_NODE_OUTLET_NODE");let CdkTreeNodeOutlet=(()=>{var _class2;class CdkTreeNodeOutlet2{constructor(viewContainer,_node){this.viewContainer=viewContainer,this._node=_node}}return(_class2=CdkTreeNodeOutlet2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(CDK_TREE_NODE_OUTLET_NODE,8))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","cdkTreeNodeOutlet",""]]}),CdkTreeNodeOutlet2})();class CdkTreeNodeOutletContext{constructor(data){this.$implicit=data}}let CdkTreeNodeDef=(()=>{var _class2;class CdkTreeNodeDef2{constructor(template){this.template=template}}return(_class2=CdkTreeNodeDef2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_TemplateRef))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),CdkTreeNodeDef2})(),CdkTree=(()=>{var _class3;class CdkTree2{get dataSource(){return this._dataSource}set dataSource(dataSource){this._dataSource!==dataSource&&this._switchDataSource(dataSource)}constructor(_differs,_changeDetectorRef){this._differs=_differs,this._changeDetectorRef=_changeDetectorRef,this._onDestroy=new Subject_Subject,this._levels=new Map,this.viewChange=new BehaviorSubject_BehaviorSubject({start:0,end:Number.MAX_VALUE})}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const defaultNodeDefs=this._nodeDefs.filter(def=>!def.when);this._defaultNodeDef=defaultNodeDefs[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(dataSource){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),dataSource||this._nodeOutlet.viewContainer.clear(),this._dataSource=dataSource,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let dataStream;!function collections_isDataSource(value){return value&&"function"==typeof value.connect&&!(value instanceof ConnectableObservable)}(this._dataSource)?isObservable_isObservable(this._dataSource)?dataStream=this._dataSource:Array.isArray(this._dataSource)&&(dataStream=of_of(this._dataSource)):dataStream=this._dataSource.connect(this),dataStream&&(this._dataSubscription=dataStream.pipe(takeUntil_takeUntil(this._onDestroy)).subscribe(data=>this.renderNodeChanges(data)))}renderNodeChanges(data,dataDiffer=this._dataDiffer,viewContainer=this._nodeOutlet.viewContainer,parentData){const changes=dataDiffer.diff(data);changes&&(changes.forEachOperation((item,adjustedPreviousIndex,currentIndex)=>{if(null==item.previousIndex)this.insertNode(data[currentIndex],currentIndex,viewContainer,parentData);else if(null==currentIndex)viewContainer.remove(adjustedPreviousIndex),this._levels.delete(item.item);else{const view=viewContainer.get(adjustedPreviousIndex);viewContainer.move(view,currentIndex)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(data,i6){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(def=>def.when&&def.when(i6,data))||this._defaultNodeDef}insertNode(nodeData,index,viewContainer,parentData){const node2=this._getNodeDef(nodeData,index),context2=new CdkTreeNodeOutletContext(nodeData);context2.level=this.treeControl.getLevel?this.treeControl.getLevel(nodeData):typeof parentData<"u"&&this._levels.has(parentData)?this._levels.get(parentData)+1:0,this._levels.set(nodeData,context2.level),(viewContainer||this._nodeOutlet.viewContainer).createEmbeddedView(node2.template,context2,index),CdkTreeNode.mostRecentTreeNode&&(CdkTreeNode.mostRecentTreeNode.data=nodeData)}}return(_class3=CdkTree2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(IterableDiffers),\u0275\u0275directiveInject(ChangeDetectorRef))},_class3.\u0275cmp=\u0275\u0275defineComponent({type:_class3,selectors:[["cdk-tree"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&\u0275\u0275contentQuery(dirIndex,CdkTreeNodeDef,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._nodeDefs=_t)}},viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(CdkTreeNodeOutlet,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._nodeOutlet=_t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(rf,ctx){1&rf&&\u0275\u0275elementContainer(0,0)},dependencies:[CdkTreeNodeOutlet],encapsulation:2}),CdkTree2})(),CdkTreeNode=(()=>{var _class4;class CdkTreeNode2{get role(){return"treeitem"}set role(_role){this._elementRef.nativeElement.setAttribute("role",_role)}get data(){return this._data}set data(value){value!==this._data&&(this._data=value,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}constructor(_elementRef,_tree){this._elementRef=_elementRef,this._tree=_tree,this._destroyed=new Subject_Subject,this._dataChanges=new Subject_Subject,CdkTreeNode2.mostRecentTreeNode=this,this.role="treeitem"}ngOnInit(){this._parentNodeAriaLevel=function getParentNodeAriaLevel(nodeElement){let parent=nodeElement.parentElement;for(;parent&&!isNodeElement(parent);)parent=parent.parentElement;return parent?parent.classList.contains("cdk-nested-tree-node")?coercion_coerceNumberProperty(parent.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngOnDestroy(){CdkTreeNode2.mostRecentTreeNode===this&&(CdkTreeNode2.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return(_class4=CdkTreeNode2).mostRecentTreeNode=null,_class4.\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(CdkTree))},_class4.\u0275dir=\u0275\u0275defineDirective({type:_class4,selectors:[["cdk-tree-node"]],hostAttrs:[1,"cdk-tree-node"],hostVars:1,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275attribute("aria-expanded",ctx.isExpanded)},inputs:{role:"role"},exportAs:["cdkTreeNode"]}),CdkTreeNode2})();function isNodeElement(element){const classList=element.classList;return!(!classList?.contains("cdk-nested-tree-node")&&!classList?.contains("cdk-tree"))}let CdkNestedTreeNode=(()=>{var _class5;class CdkNestedTreeNode2 extends CdkTreeNode{constructor(elementRef,tree2,_differs){super(elementRef,tree2),this._differs=_differs}ngAfterContentInit(){this._dataDiffer=this._differs.find([]).create(this._tree.trackBy);const childrenNodes=this._tree.treeControl.getChildren(this.data);Array.isArray(childrenNodes)?this.updateChildrenNodes(childrenNodes):isObservable_isObservable(childrenNodes)&&childrenNodes.pipe(takeUntil_takeUntil(this._destroyed)).subscribe(result=>this.updateChildrenNodes(result)),this.nodeOutlet.changes.pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>this.updateChildrenNodes())}ngOnInit(){super.ngOnInit()}ngOnDestroy(){this._clear(),super.ngOnDestroy()}updateChildrenNodes(children){const outlet=this._getNodeOutlet();children&&(this._children=children),outlet&&this._children?this._tree.renderNodeChanges(this._children,this._dataDiffer,outlet.viewContainer,this._data):this._dataDiffer.diff([])}_clear(){const outlet=this._getNodeOutlet();outlet&&(outlet.viewContainer.clear(),this._dataDiffer.diff([]))}_getNodeOutlet(){const outlets=this.nodeOutlet;return outlets&&outlets.find(outlet=>!outlet._node||outlet._node===this)}}return(_class5=CdkNestedTreeNode2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(CdkTree),\u0275\u0275directiveInject(IterableDiffers))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["cdk-nested-tree-node"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&\u0275\u0275contentQuery(dirIndex,CdkTreeNodeOutlet,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.nodeOutlet=_t)}},hostAttrs:[1,"cdk-nested-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["cdkNestedTreeNode"],features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNode,useExisting:_class5},{provide:CDK_TREE_NODE_OUTLET_NODE,useExisting:_class5}]),\u0275\u0275InheritDefinitionFeature]}),CdkNestedTreeNode2})(),CdkTreeNodeToggle=(()=>{var _class7;class CdkTreeNodeToggle2{get recursive(){return this._recursive}set recursive(value){this._recursive=coercion_coerceBooleanProperty(value)}constructor(_tree,_treeNode){this._tree=_tree,this._treeNode=_treeNode,this._recursive=!1}_toggle(event){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),event.stopPropagation()}}return(_class7=CdkTreeNodeToggle2).\u0275fac=function(t){return new(t||_class7)(\u0275\u0275directiveInject(CdkTree),\u0275\u0275directiveInject(CdkTreeNode))},_class7.\u0275dir=\u0275\u0275defineDirective({type:_class7,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(rf,ctx){1&rf&&\u0275\u0275listener("click",function($event){return ctx._toggle($event)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),CdkTreeNodeToggle2})(),CdkTreeModule=(()=>{var _class8;class CdkTreeModule2{}return(_class8=CdkTreeModule2).\u0275fac=function(t){return new(t||_class8)},_class8.\u0275mod=\u0275\u0275defineNgModule({type:_class8}),_class8.\u0275inj=\u0275\u0275defineInjector({}),CdkTreeModule2})();const _MatTreeNodeBase=core_mixinTabIndex(core_mixinDisabled(CdkTreeNode));let MatTreeNode=(()=>{var _class2;class MatTreeNode2 extends _MatTreeNodeBase{constructor(elementRef,tree2,tabIndex){super(elementRef,tree2),this.tabIndex=Number(tabIndex)||0}ngOnInit(){super.ngOnInit()}ngOnDestroy(){super.ngOnDestroy()}}return(_class2=MatTreeNode2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(CdkTree),\u0275\u0275injectAttribute("tabindex"))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["mat-tree-node"]],hostAttrs:[1,"mat-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNode,useExisting:_class2}]),\u0275\u0275InheritDefinitionFeature]}),MatTreeNode2})(),MatTreeNodeDef=(()=>{var _class2;class MatTreeNodeDef2 extends CdkTreeNodeDef{}return(_class2=MatTreeNodeDef2).\u0275fac=function(){let \u0275_class2_BaseFactory;return function(t){return(\u0275_class2_BaseFactory||(\u0275_class2_BaseFactory=\u0275\u0275getInheritedFactory(_class2)))(t||_class2)}}(),_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNodeDef,useExisting:_class2}]),\u0275\u0275InheritDefinitionFeature]}),MatTreeNodeDef2})(),MatNestedTreeNode=(()=>{var _class3;class MatNestedTreeNode2 extends CdkNestedTreeNode{get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value)}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(value){this._tabIndex=value??0}constructor(elementRef,tree2,differs,tabIndex){super(elementRef,tree2,differs),this._disabled=!1,this.tabIndex=Number(tabIndex)||0}ngOnInit(){super.ngOnInit()}ngAfterContentInit(){super.ngAfterContentInit()}ngOnDestroy(){super.ngOnDestroy()}}return(_class3=MatNestedTreeNode2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(CdkTree),\u0275\u0275directiveInject(IterableDiffers),\u0275\u0275injectAttribute("tabindex"))},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3,selectors:[["mat-nested-tree-node"]],hostAttrs:[1,"mat-nested-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex",node:["matNestedTreeNode","node"]},exportAs:["matNestedTreeNode"],features:[\u0275\u0275ProvidersFeature([{provide:CdkNestedTreeNode,useExisting:_class3},{provide:CdkTreeNode,useExisting:_class3},{provide:CDK_TREE_NODE_OUTLET_NODE,useExisting:_class3}]),\u0275\u0275InheritDefinitionFeature]}),MatNestedTreeNode2})(),MatTreeNodeOutlet=(()=>{var _class5;class MatTreeNodeOutlet2{constructor(viewContainer,_node){this.viewContainer=viewContainer,this._node=_node}}return(_class5=MatTreeNodeOutlet2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(CDK_TREE_NODE_OUTLET_NODE,8))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["","matTreeNodeOutlet",""]],features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNodeOutlet,useExisting:_class5}])]}),MatTreeNodeOutlet2})(),MatTree=(()=>{var _class6;class MatTree2 extends CdkTree{constructor(){super(...arguments),this._nodeOutlet=void 0}}return(_class6=MatTree2).\u0275fac=function(){let \u0275_class6_BaseFactory;return function(t){return(\u0275_class6_BaseFactory||(\u0275_class6_BaseFactory=\u0275\u0275getInheritedFactory(_class6)))(t||_class6)}}(),_class6.\u0275cmp=\u0275\u0275defineComponent({type:_class6,selectors:[["mat-tree"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(MatTreeNodeOutlet,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._nodeOutlet=_t.first)}},hostAttrs:["role","tree",1,"mat-tree"],exportAs:["matTree"],features:[\u0275\u0275ProvidersFeature([{provide:CdkTree,useExisting:_class6}]),\u0275\u0275InheritDefinitionFeature],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(rf,ctx){1&rf&&\u0275\u0275elementContainer(0,0)},dependencies:[MatTreeNodeOutlet],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}"],encapsulation:2}),MatTree2})(),MatTreeNodeToggle=(()=>{var _class7;class MatTreeNodeToggle2 extends CdkTreeNodeToggle{}return(_class7=MatTreeNodeToggle2).\u0275fac=function(){let \u0275_class7_BaseFactory;return function(t){return(\u0275_class7_BaseFactory||(\u0275_class7_BaseFactory=\u0275\u0275getInheritedFactory(_class7)))(t||_class7)}}(),_class7.\u0275dir=\u0275\u0275defineDirective({type:_class7,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNodeToggle,useExisting:_class7}]),\u0275\u0275InheritDefinitionFeature]}),MatTreeNodeToggle2})(),MatTreeModule=(()=>{var _class8;class MatTreeModule2{}return(_class8=MatTreeModule2).\u0275fac=function(t){return new(t||_class8)},_class8.\u0275mod=\u0275\u0275defineNgModule({type:_class8}),_class8.\u0275inj=\u0275\u0275defineInjector({imports:[CdkTreeModule,MatCommonModule,MatCommonModule]}),MatTreeModule2})();class MatTreeNestedDataSource extends collections_DataSource{constructor(){super(...arguments),this._data=new BehaviorSubject_BehaviorSubject([])}get data(){return this._data.value}set data(value){this._data.next(value)}connect(collectionViewer){return merge_merge(collectionViewer.viewChange,this._data).pipe(map_map(()=>this.data))}disconnect(){}}function invalidTimingValue(exp){return new RuntimeError(3e3,!1)}function optimizeGroupPlayer(players){switch(players.length){case 0:return new NoopAnimationPlayer;case 1:return players[0];default:return new AnimationGroupPlayer(players)}}function normalizeKeyframes$1(normalizer,keyframes2,preStyles=new Map,postStyles=new Map){const errors=[],normalizedKeyframes=[];let previousOffset=-1,previousKeyframe=null;if(keyframes2.forEach(kf=>{const offset=kf.get("offset"),isSameOffset=offset==previousOffset,normalizedKeyframe=isSameOffset&&previousKeyframe||new Map;kf.forEach((val,prop2)=>{let normalizedProp=prop2,normalizedValue=val;if("offset"!==prop2)switch(normalizedProp=normalizer.normalizePropertyName(normalizedProp,errors),normalizedValue){case"!":normalizedValue=preStyles.get(prop2);break;case"*":normalizedValue=postStyles.get(prop2);break;default:normalizedValue=normalizer.normalizeStyleValue(prop2,normalizedProp,normalizedValue,errors)}normalizedKeyframe.set(normalizedProp,normalizedValue)}),isSameOffset||normalizedKeyframes.push(normalizedKeyframe),previousKeyframe=normalizedKeyframe,previousOffset=offset}),errors.length)throw function animationFailed(errors){return new RuntimeError(3502,!1)}();return normalizedKeyframes}function listenOnPlayer(player,eventName,event,callback){switch(eventName){case"start":player.onStart(()=>callback(event&©AnimationEvent(event,"start",player)));break;case"done":player.onDone(()=>callback(event&©AnimationEvent(event,"done",player)));break;case"destroy":player.onDestroy(()=>callback(event&©AnimationEvent(event,"destroy",player)))}}function copyAnimationEvent(e2,phaseName,player){const event=makeAnimationEvent(e2.element,e2.triggerName,e2.fromState,e2.toState,phaseName||e2.phaseName,player.totalTime??e2.totalTime,!!player.disabled),data=e2._data;return null!=data&&(event._data=data),event}function makeAnimationEvent(element,triggerName,fromState,toState,phaseName="",totalTime=0,disabled){return{element,triggerName,fromState,toState,phaseName,totalTime,disabled:!!disabled}}function getOrSetDefaultValue(map2,key,defaultValue){let value=map2.get(key);return value||map2.set(key,value=defaultValue),value}function parseTimelineCommand(command){const separatorPos=command.indexOf(":");return[command.substring(1,separatorPos),command.slice(separatorPos+1)]}const documentElement=(()=>typeof document>"u"?null:document.documentElement)();function getParentElement(element){const parent=element.parentNode||element.host||null;return parent===documentElement?null:parent}let _CACHED_BODY=null,_IS_WEBKIT=!1;function containsElement(elm1,elm2){for(;elm2;){if(elm2===elm1)return!0;elm2=getParentElement(elm2)}return!1}function invokeQuery(element,selector,multi){if(multi)return Array.from(element.querySelectorAll(selector));const elem=element.querySelector(selector);return elem?[elem]:[]}let NoopAnimationDriver=(()=>{var _class2;class NoopAnimationDriver2{validateStyleProperty(prop2){return function validateStyleProperty(prop2){_CACHED_BODY||(_CACHED_BODY=function getBodyNode(){return typeof document<"u"?document.body:null}()||{},_IS_WEBKIT=!!_CACHED_BODY.style&&"WebkitAppearance"in _CACHED_BODY.style);let result=!0;return _CACHED_BODY.style&&!function containsVendorPrefix(prop2){return"ebkit"==prop2.substring(1,6)}(prop2)&&(result=prop2 in _CACHED_BODY.style,!result&&_IS_WEBKIT&&(result="Webkit"+prop2.charAt(0).toUpperCase()+prop2.slice(1)in _CACHED_BODY.style)),result}(prop2)}matchesElement(_element,_selector){return!1}containsElement(elm1,elm2){return containsElement(elm1,elm2)}getParentElement(element){return getParentElement(element)}query(element,selector,multi){return invokeQuery(element,selector,multi)}computeStyle(element,prop2,defaultValue){return defaultValue||""}animate(element,keyframes2,duration,delay,easing,previousPlayers=[],scrubberAccessRequested){return new NoopAnimationPlayer(duration,delay)}}return(_class2=NoopAnimationDriver2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),NoopAnimationDriver2})(),AnimationDriver=(()=>{class AnimationDriver2{}return AnimationDriver2.NOOP=new NoopAnimationDriver,AnimationDriver2})();const ONE_SECOND=1e3;function resolveTimingValue(value){if("number"==typeof value)return value;const matches=value.match(/^(-?[\.\d]+)(m?s)/);return!matches||matches.length<2?0:_convertTimeValueToMS(parseFloat(matches[1]),matches[2])}function _convertTimeValueToMS(value,unit){return"s"===unit?value*ONE_SECOND:value}function resolveTiming(timings,errors,allowNegativeValues){return timings.hasOwnProperty("duration")?timings:function parseTimeExpression(exp,errors,allowNegativeValues){let duration,delay=0,easing="";if("string"==typeof exp){const matches=exp.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===matches)return errors.push(invalidTimingValue()),{duration:0,delay:0,easing:""};duration=_convertTimeValueToMS(parseFloat(matches[1]),matches[2]);const delayMatch=matches[3];null!=delayMatch&&(delay=_convertTimeValueToMS(parseFloat(delayMatch),matches[4]));const easingVal=matches[5];easingVal&&(easing=easingVal)}else duration=exp;if(!allowNegativeValues){let containsErrors=!1,startIndex=errors.length;duration<0&&(errors.push(function negativeStepValue(){return new RuntimeError(3100,!1)}()),containsErrors=!0),delay<0&&(errors.push(function negativeDelayValue(){return new RuntimeError(3101,!1)}()),containsErrors=!0),containsErrors&&errors.splice(startIndex,0,invalidTimingValue())}return{duration,delay,easing}}(timings,errors,allowNegativeValues)}function copyObj(obj,destination={}){return Object.keys(obj).forEach(prop2=>{destination[prop2]=obj[prop2]}),destination}function convertToMap(obj){const styleMap=new Map;return Object.keys(obj).forEach(prop2=>{styleMap.set(prop2,obj[prop2])}),styleMap}function copyStyles(styles,destination=new Map,backfill){if(backfill)for(let[prop2,val]of backfill)destination.set(prop2,val);for(let[prop2,val]of styles)destination.set(prop2,val);return destination}function setStyles(element,styles,formerStyles){styles.forEach((val,prop2)=>{const camelProp=dashCaseToCamelCase(prop2);formerStyles&&!formerStyles.has(prop2)&&formerStyles.set(prop2,element.style[camelProp]),element.style[camelProp]=val})}function eraseStyles(element,styles){styles.forEach((_,prop2)=>{const camelProp=dashCaseToCamelCase(prop2);element.style[camelProp]=""})}function normalizeAnimationEntry(steps){return Array.isArray(steps)?1==steps.length?steps[0]:sequence(steps):steps}const PARAM_REGEX=new RegExp("{{\\s*(.+?)\\s*}}","g");function extractStyleParams(value){let params=[];if("string"==typeof value){let match2;for(;match2=PARAM_REGEX.exec(value);)params.push(match2[1]);PARAM_REGEX.lastIndex=0}return params}function interpolateParams(value,params,errors){const original=value.toString(),str=original.replace(PARAM_REGEX,(_,varName)=>{let localVal=params[varName];return null==localVal&&(errors.push(function invalidParamValue(varName){return new RuntimeError(3003,!1)}()),localVal=""),localVal.toString()});return str==original?value:str}function iteratorToArray(iterator){const arr=[];let item=iterator.next();for(;!item.done;)arr.push(item.value),item=iterator.next();return arr}const DASH_CASE_REGEXP=/-+([a-z0-9])/g;function dashCaseToCamelCase(input){return input.replace(DASH_CASE_REGEXP,(...m)=>m[1].toUpperCase())}function visitDslNode(visitor,node2,context2){switch(node2.type){case 7:return visitor.visitTrigger(node2,context2);case 0:return visitor.visitState(node2,context2);case 1:return visitor.visitTransition(node2,context2);case 2:return visitor.visitSequence(node2,context2);case 3:return visitor.visitGroup(node2,context2);case 4:return visitor.visitAnimate(node2,context2);case 5:return visitor.visitKeyframes(node2,context2);case 6:return visitor.visitStyle(node2,context2);case 8:return visitor.visitReference(node2,context2);case 9:return visitor.visitAnimateChild(node2,context2);case 10:return visitor.visitAnimateRef(node2,context2);case 11:return visitor.visitQuery(node2,context2);case 12:return visitor.visitStagger(node2,context2);default:throw function invalidNodeType(nodeType){return new RuntimeError(3004,!1)}()}}function computeStyle(element,prop2){return window.getComputedStyle(element)[prop2]}const ANY_STATE="*";function parseTransitionExpr(transitionValue,errors){const expressions=[];return"string"==typeof transitionValue?transitionValue.split(/\s*,\s*/).forEach(str=>function parseInnerTransitionStr(eventStr,expressions,errors){if(":"==eventStr[0]){const result=function parseAnimationAlias(alias,errors){switch(alias){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(fromState,toState)=>parseFloat(toState)>parseFloat(fromState);case":decrement":return(fromState,toState)=>parseFloat(toState) *"}}(eventStr,errors);if("function"==typeof result)return void expressions.push(result);eventStr=result}const match2=eventStr.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==match2||match2.length<4)return errors.push(function invalidExpression(expr){return new RuntimeError(3015,!1)}()),expressions;const fromState=match2[1],separator=match2[2],toState=match2[3];expressions.push(makeLambdaFromStates(fromState,toState));"<"==separator[0]&&!(fromState==ANY_STATE&&toState==ANY_STATE)&&expressions.push(makeLambdaFromStates(toState,fromState))}(str,expressions,errors)):expressions.push(transitionValue),expressions}const TRUE_BOOLEAN_VALUES=new Set(["true","1"]),FALSE_BOOLEAN_VALUES=new Set(["false","0"]);function makeLambdaFromStates(lhs,rhs){const LHS_MATCH_BOOLEAN=TRUE_BOOLEAN_VALUES.has(lhs)||FALSE_BOOLEAN_VALUES.has(lhs),RHS_MATCH_BOOLEAN=TRUE_BOOLEAN_VALUES.has(rhs)||FALSE_BOOLEAN_VALUES.has(rhs);return(fromState,toState)=>{let lhsMatch=lhs==ANY_STATE||lhs==fromState,rhsMatch=rhs==ANY_STATE||rhs==toState;return!lhsMatch&&LHS_MATCH_BOOLEAN&&"boolean"==typeof fromState&&(lhsMatch=fromState?TRUE_BOOLEAN_VALUES.has(lhs):FALSE_BOOLEAN_VALUES.has(lhs)),!rhsMatch&&RHS_MATCH_BOOLEAN&&"boolean"==typeof toState&&(rhsMatch=toState?TRUE_BOOLEAN_VALUES.has(rhs):FALSE_BOOLEAN_VALUES.has(rhs)),lhsMatch&&rhsMatch}}const SELF_TOKEN_REGEX=new RegExp("s*:selfs*,?","g");function buildAnimationAst(driver,metadata,errors,warnings){return new AnimationAstBuilderVisitor(driver).build(metadata,errors,warnings)}class AnimationAstBuilderVisitor{constructor(_driver){this._driver=_driver}build(metadata,errors,warnings){const context2=new AnimationAstBuilderContext(errors);return this._resetContextStyleTimingState(context2),visitDslNode(this,normalizeAnimationEntry(metadata),context2)}_resetContextStyleTimingState(context2){context2.currentQuerySelector="",context2.collectedStyles=new Map,context2.collectedStyles.set("",new Map),context2.currentTime=0}visitTrigger(metadata,context2){let queryCount=context2.queryCount=0,depCount=context2.depCount=0;const states=[],transitions=[];return"@"==metadata.name.charAt(0)&&context2.errors.push(function invalidTrigger(){return new RuntimeError(3006,!1)}()),metadata.definitions.forEach(def=>{if(this._resetContextStyleTimingState(context2),0==def.type){const stateDef=def,name=stateDef.name;name.toString().split(/\s*,\s*/).forEach(n=>{stateDef.name=n,states.push(this.visitState(stateDef,context2))}),stateDef.name=name}else if(1==def.type){const transition2=this.visitTransition(def,context2);queryCount+=transition2.queryCount,depCount+=transition2.depCount,transitions.push(transition2)}else context2.errors.push(function invalidDefinition(){return new RuntimeError(3007,!1)}())}),{type:7,name:metadata.name,states,transitions,queryCount,depCount,options:null}}visitState(metadata,context2){const styleAst=this.visitStyle(metadata.styles,context2),astParams=metadata.options&&metadata.options.params||null;if(styleAst.containsDynamicStyles){const missingSubs=new Set,params=astParams||{};styleAst.styles.forEach(style2=>{style2 instanceof Map&&style2.forEach(value=>{extractStyleParams(value).forEach(sub=>{params.hasOwnProperty(sub)||missingSubs.add(sub)})})}),missingSubs.size&&(iteratorToArray(missingSubs.values()),context2.errors.push(function invalidState(metadataName,missingSubs){return new RuntimeError(3008,!1)}()))}return{type:0,name:metadata.name,style:styleAst,options:astParams?{params:astParams}:null}}visitTransition(metadata,context2){context2.queryCount=0,context2.depCount=0;const animation2=visitDslNode(this,normalizeAnimationEntry(metadata.animation),context2);return{type:1,matchers:parseTransitionExpr(metadata.expr,context2.errors),animation:animation2,queryCount:context2.queryCount,depCount:context2.depCount,options:normalizeAnimationOptions(metadata.options)}}visitSequence(metadata,context2){return{type:2,steps:metadata.steps.map(s=>visitDslNode(this,s,context2)),options:normalizeAnimationOptions(metadata.options)}}visitGroup(metadata,context2){const currentTime=context2.currentTime;let furthestTime=0;const steps=metadata.steps.map(step=>{context2.currentTime=currentTime;const innerAst=visitDslNode(this,step,context2);return furthestTime=Math.max(furthestTime,context2.currentTime),innerAst});return context2.currentTime=furthestTime,{type:3,steps,options:normalizeAnimationOptions(metadata.options)}}visitAnimate(metadata,context2){const timingAst=function constructTimingAst(value,errors){if(value.hasOwnProperty("duration"))return value;if("number"==typeof value)return makeTimingAst(resolveTiming(value,errors).duration,0,"");const strValue=value;if(strValue.split(/\s+/).some(v=>"{"==v.charAt(0)&&"{"==v.charAt(1))){const ast=makeTimingAst(0,0,"");return ast.dynamic=!0,ast.strValue=strValue,ast}const timings=resolveTiming(strValue,errors);return makeTimingAst(timings.duration,timings.delay,timings.easing)}(metadata.timings,context2.errors);context2.currentAnimateTimings=timingAst;let styleAst,styleMetadata=metadata.styles?metadata.styles:animations_style({});if(5==styleMetadata.type)styleAst=this.visitKeyframes(styleMetadata,context2);else{let styleMetadata2=metadata.styles,isEmpty2=!1;if(!styleMetadata2){isEmpty2=!0;const newStyleData={};timingAst.easing&&(newStyleData.easing=timingAst.easing),styleMetadata2=animations_style(newStyleData)}context2.currentTime+=timingAst.duration+timingAst.delay;const _styleAst=this.visitStyle(styleMetadata2,context2);_styleAst.isEmptyStep=isEmpty2,styleAst=_styleAst}return context2.currentAnimateTimings=null,{type:4,timings:timingAst,style:styleAst,options:null}}visitStyle(metadata,context2){const ast=this._makeStyleAst(metadata,context2);return this._validateStyleAst(ast,context2),ast}_makeStyleAst(metadata,context2){const styles=[],metadataStyles=Array.isArray(metadata.styles)?metadata.styles:[metadata.styles];for(let styleTuple of metadataStyles)"string"==typeof styleTuple?"*"===styleTuple?styles.push(styleTuple):context2.errors.push(new RuntimeError(3002,!1)):styles.push(convertToMap(styleTuple));let containsDynamicStyles=!1,collectedEasing=null;return styles.forEach(styleData=>{if(styleData instanceof Map&&(styleData.has("easing")&&(collectedEasing=styleData.get("easing"),styleData.delete("easing")),!containsDynamicStyles))for(let value of styleData.values())if(value.toString().indexOf("{{")>=0){containsDynamicStyles=!0;break}}),{type:6,styles,easing:collectedEasing,offset:metadata.offset,containsDynamicStyles,options:null}}_validateStyleAst(ast,context2){const timings=context2.currentAnimateTimings;let endTime=context2.currentTime,startTime=context2.currentTime;timings&&startTime>0&&(startTime-=timings.duration+timings.delay),ast.styles.forEach(tuple=>{"string"!=typeof tuple&&tuple.forEach((value,prop2)=>{const collectedStyles=context2.collectedStyles.get(context2.currentQuerySelector),collectedEntry=collectedStyles.get(prop2);let updateCollectedStyle=!0;collectedEntry&&(startTime!=endTime&&startTime>=collectedEntry.startTime&&endTime<=collectedEntry.endTime&&(context2.errors.push(function invalidParallelAnimation(prop2,firstStart,firstEnd,secondStart,secondEnd){return new RuntimeError(3010,!1)}()),updateCollectedStyle=!1),startTime=collectedEntry.startTime),updateCollectedStyle&&collectedStyles.set(prop2,{startTime,endTime}),context2.options&&function validateStyleParams(value,options,errors){const params=options.params||{},matches=extractStyleParams(value);matches.length&&matches.forEach(varName=>{params.hasOwnProperty(varName)||errors.push(function invalidStyleParams(varName){return new RuntimeError(3001,!1)}())})}(value,context2.options,context2.errors)})})}visitKeyframes(metadata,context2){const ast={type:5,styles:[],options:null};if(!context2.currentAnimateTimings)return context2.errors.push(function invalidKeyframes(){return new RuntimeError(3011,!1)}()),ast;let totalKeyframesWithOffsets=0;const offsets=[];let offsetsOutOfOrder=!1,keyframesOutOfRange=!1,previousOffset=0;const keyframes2=metadata.steps.map(styles=>{const style2=this._makeStyleAst(styles,context2);let offsetVal=null!=style2.offset?style2.offset:function consumeOffset(styles){if("string"==typeof styles)return null;let offset=null;if(Array.isArray(styles))styles.forEach(styleTuple=>{if(styleTuple instanceof Map&&styleTuple.has("offset")){const obj=styleTuple;offset=parseFloat(obj.get("offset")),obj.delete("offset")}});else if(styles instanceof Map&&styles.has("offset")){const obj=styles;offset=parseFloat(obj.get("offset")),obj.delete("offset")}return offset}(style2.styles),offset=0;return null!=offsetVal&&(totalKeyframesWithOffsets++,offset=style2.offset=offsetVal),keyframesOutOfRange=keyframesOutOfRange||offset<0||offset>1,offsetsOutOfOrder=offsetsOutOfOrder||offset0&&totalKeyframesWithOffsets{const offset=generatedOffset>0?i6==limit?1:generatedOffset*i6:offsets[i6],durationUpToThisFrame=offset*animateDuration;context2.currentTime=currentTime+currentAnimateTimings.delay+durationUpToThisFrame,currentAnimateTimings.duration=durationUpToThisFrame,this._validateStyleAst(kf,context2),kf.offset=offset,ast.styles.push(kf)}),ast}visitReference(metadata,context2){return{type:8,animation:visitDslNode(this,normalizeAnimationEntry(metadata.animation),context2),options:normalizeAnimationOptions(metadata.options)}}visitAnimateChild(metadata,context2){return context2.depCount++,{type:9,options:normalizeAnimationOptions(metadata.options)}}visitAnimateRef(metadata,context2){return{type:10,animation:this.visitReference(metadata.animation,context2),options:normalizeAnimationOptions(metadata.options)}}visitQuery(metadata,context2){const parentSelector=context2.currentQuerySelector,options=metadata.options||{};context2.queryCount++,context2.currentQuery=metadata;const[selector,includeSelf]=function normalizeSelector(selector){const hasAmpersand=!!selector.split(/\s*,\s*/).find(token=>":self"==token);return hasAmpersand&&(selector=selector.replace(SELF_TOKEN_REGEX,"")),[selector=selector.replace(/@\*/g,".ng-trigger").replace(/@\w+/g,match2=>".ng-trigger-"+match2.slice(1)).replace(/:animating/g,".ng-animating"),hasAmpersand]}(metadata.selector);context2.currentQuerySelector=parentSelector.length?parentSelector+" "+selector:selector,getOrSetDefaultValue(context2.collectedStyles,context2.currentQuerySelector,new Map);const animation2=visitDslNode(this,normalizeAnimationEntry(metadata.animation),context2);return context2.currentQuery=null,context2.currentQuerySelector=parentSelector,{type:11,selector,limit:options.limit||0,optional:!!options.optional,includeSelf,animation:animation2,originalSelector:metadata.selector,options:normalizeAnimationOptions(metadata.options)}}visitStagger(metadata,context2){context2.currentQuery||context2.errors.push(function invalidStagger(){return new RuntimeError(3013,!1)}());const timings="full"===metadata.timings?{duration:0,delay:0,easing:"full"}:resolveTiming(metadata.timings,context2.errors,!0);return{type:12,animation:visitDslNode(this,normalizeAnimationEntry(metadata.animation),context2),timings,options:null}}}class AnimationAstBuilderContext{constructor(errors){this.errors=errors,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function normalizeAnimationOptions(options){return options?(options=copyObj(options)).params&&(options.params=function normalizeParams(obj){return obj?copyObj(obj):null}(options.params)):options={},options}function makeTimingAst(duration,delay,easing){return{duration,delay,easing}}function createTimelineInstruction(element,keyframes2,preStyleProps,postStyleProps,duration,delay,easing=null,subTimeline=!1){return{type:1,element,keyframes:keyframes2,preStyleProps,postStyleProps,duration,delay,totalTime:duration+delay,easing,subTimeline}}class ElementInstructionMap{constructor(){this._map=new Map}get(element){return this._map.get(element)||[]}append(element,instructions){let existingInstructions=this._map.get(element);existingInstructions||this._map.set(element,existingInstructions=[]),existingInstructions.push(...instructions)}has(element){return this._map.has(element)}clear(){this._map.clear()}}const ENTER_TOKEN_REGEX=new RegExp(":enter","g"),LEAVE_TOKEN_REGEX=new RegExp(":leave","g");function buildAnimationTimelines(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles=new Map,finalStyles=new Map,options,subInstructions,errors=[]){return(new AnimationTimelineBuilderVisitor).buildKeyframes(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles,finalStyles,options,subInstructions,errors)}class AnimationTimelineBuilderVisitor{buildKeyframes(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles,finalStyles,options,subInstructions,errors=[]){subInstructions=subInstructions||new ElementInstructionMap;const context2=new AnimationTimelineContext(driver,rootElement,subInstructions,enterClassName,leaveClassName,errors,[]);context2.options=options;const delay=options.delay?resolveTimingValue(options.delay):0;context2.currentTimeline.delayNextStep(delay),context2.currentTimeline.setStyles([startingStyles],null,context2.errors,options),visitDslNode(this,ast,context2);const timelines=context2.timelines.filter(timeline=>timeline.containsAnimation());if(timelines.length&&finalStyles.size){let lastRootTimeline;for(let i6=timelines.length-1;i6>=0;i6--){const timeline=timelines[i6];if(timeline.element===rootElement){lastRootTimeline=timeline;break}}lastRootTimeline&&!lastRootTimeline.allowOnlyTimelineStyles()&&lastRootTimeline.setStyles([finalStyles],null,context2.errors,options)}return timelines.length?timelines.map(timeline=>timeline.buildKeyframes()):[createTimelineInstruction(rootElement,[],[],[],0,delay,"",!1)]}visitTrigger(ast,context2){}visitState(ast,context2){}visitTransition(ast,context2){}visitAnimateChild(ast,context2){const elementInstructions=context2.subInstructions.get(context2.element);if(elementInstructions){const innerContext=context2.createSubContext(ast.options),startTime=context2.currentTimeline.currentTime,endTime=this._visitSubInstructions(elementInstructions,innerContext,innerContext.options);startTime!=endTime&&context2.transformIntoNewTimeline(endTime)}context2.previousNode=ast}visitAnimateRef(ast,context2){const innerContext=context2.createSubContext(ast.options);innerContext.transformIntoNewTimeline(),this._applyAnimationRefDelays([ast.options,ast.animation.options],context2,innerContext),this.visitReference(ast.animation,innerContext),context2.transformIntoNewTimeline(innerContext.currentTimeline.currentTime),context2.previousNode=ast}_applyAnimationRefDelays(animationsRefsOptions,context2,innerContext){for(const animationRefOptions of animationsRefsOptions){const animationDelay=animationRefOptions?.delay;if(animationDelay){const animationDelayValue="number"==typeof animationDelay?animationDelay:resolveTimingValue(interpolateParams(animationDelay,animationRefOptions?.params??{},context2.errors));innerContext.delayNextStep(animationDelayValue)}}}_visitSubInstructions(instructions,context2,options){let furthestTime=context2.currentTimeline.currentTime;const duration=null!=options.duration?resolveTimingValue(options.duration):null,delay=null!=options.delay?resolveTimingValue(options.delay):null;return 0!==duration&&instructions.forEach(instruction=>{const instructionTimings=context2.appendInstructionToTimeline(instruction,duration,delay);furthestTime=Math.max(furthestTime,instructionTimings.duration+instructionTimings.delay)}),furthestTime}visitReference(ast,context2){context2.updateOptions(ast.options,!0),visitDslNode(this,ast.animation,context2),context2.previousNode=ast}visitSequence(ast,context2){const subContextCount=context2.subContextCount;let ctx=context2;const options=ast.options;if(options&&(options.params||options.delay)&&(ctx=context2.createSubContext(options),ctx.transformIntoNewTimeline(),null!=options.delay)){6==ctx.previousNode.type&&(ctx.currentTimeline.snapshotCurrentStyles(),ctx.previousNode=DEFAULT_NOOP_PREVIOUS_NODE);const delay=resolveTimingValue(options.delay);ctx.delayNextStep(delay)}ast.steps.length&&(ast.steps.forEach(s=>visitDslNode(this,s,ctx)),ctx.currentTimeline.applyStylesToKeyframe(),ctx.subContextCount>subContextCount&&ctx.transformIntoNewTimeline()),context2.previousNode=ast}visitGroup(ast,context2){const innerTimelines=[];let furthestTime=context2.currentTimeline.currentTime;const delay=ast.options&&ast.options.delay?resolveTimingValue(ast.options.delay):0;ast.steps.forEach(s=>{const innerContext=context2.createSubContext(ast.options);delay&&innerContext.delayNextStep(delay),visitDslNode(this,s,innerContext),furthestTime=Math.max(furthestTime,innerContext.currentTimeline.currentTime),innerTimelines.push(innerContext.currentTimeline)}),innerTimelines.forEach(timeline=>context2.currentTimeline.mergeTimelineCollectedStyles(timeline)),context2.transformIntoNewTimeline(furthestTime),context2.previousNode=ast}_visitTiming(ast,context2){if(ast.dynamic){const strValue=ast.strValue;return resolveTiming(context2.params?interpolateParams(strValue,context2.params,context2.errors):strValue,context2.errors)}return{duration:ast.duration,delay:ast.delay,easing:ast.easing}}visitAnimate(ast,context2){const timings=context2.currentAnimateTimings=this._visitTiming(ast.timings,context2),timeline=context2.currentTimeline;timings.delay&&(context2.incrementTime(timings.delay),timeline.snapshotCurrentStyles());const style2=ast.style;5==style2.type?this.visitKeyframes(style2,context2):(context2.incrementTime(timings.duration),this.visitStyle(style2,context2),timeline.applyStylesToKeyframe()),context2.currentAnimateTimings=null,context2.previousNode=ast}visitStyle(ast,context2){const timeline=context2.currentTimeline,timings=context2.currentAnimateTimings;!timings&&timeline.hasCurrentStyleProperties()&&timeline.forwardFrame();const easing=timings&&timings.easing||ast.easing;ast.isEmptyStep?timeline.applyEmptyStep(easing):timeline.setStyles(ast.styles,easing,context2.errors,context2.options),context2.previousNode=ast}visitKeyframes(ast,context2){const currentAnimateTimings=context2.currentAnimateTimings,startTime=context2.currentTimeline.duration,duration=currentAnimateTimings.duration,innerTimeline=context2.createSubContext().currentTimeline;innerTimeline.easing=currentAnimateTimings.easing,ast.styles.forEach(step=>{innerTimeline.forwardTime((step.offset||0)*duration),innerTimeline.setStyles(step.styles,step.easing,context2.errors,context2.options),innerTimeline.applyStylesToKeyframe()}),context2.currentTimeline.mergeTimelineCollectedStyles(innerTimeline),context2.transformIntoNewTimeline(startTime+duration),context2.previousNode=ast}visitQuery(ast,context2){const startTime=context2.currentTimeline.currentTime,options=ast.options||{},delay=options.delay?resolveTimingValue(options.delay):0;delay&&(6===context2.previousNode.type||0==startTime&&context2.currentTimeline.hasCurrentStyleProperties())&&(context2.currentTimeline.snapshotCurrentStyles(),context2.previousNode=DEFAULT_NOOP_PREVIOUS_NODE);let furthestTime=startTime;const elms=context2.invokeQuery(ast.selector,ast.originalSelector,ast.limit,ast.includeSelf,!!options.optional,context2.errors);context2.currentQueryTotal=elms.length;let sameElementTimeline=null;elms.forEach((element,i6)=>{context2.currentQueryIndex=i6;const innerContext=context2.createSubContext(ast.options,element);delay&&innerContext.delayNextStep(delay),element===context2.element&&(sameElementTimeline=innerContext.currentTimeline),visitDslNode(this,ast.animation,innerContext),innerContext.currentTimeline.applyStylesToKeyframe(),furthestTime=Math.max(furthestTime,innerContext.currentTimeline.currentTime)}),context2.currentQueryIndex=0,context2.currentQueryTotal=0,context2.transformIntoNewTimeline(furthestTime),sameElementTimeline&&(context2.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline),context2.currentTimeline.snapshotCurrentStyles()),context2.previousNode=ast}visitStagger(ast,context2){const parentContext=context2.parentContext,tl=context2.currentTimeline,timings=ast.timings,duration=Math.abs(timings.duration),maxTime=duration*(context2.currentQueryTotal-1);let delay=duration*context2.currentQueryIndex;switch(timings.duration<0?"reverse":timings.easing){case"reverse":delay=maxTime-delay;break;case"full":delay=parentContext.currentStaggerTime}const timeline=context2.currentTimeline;delay&&timeline.delayNextStep(delay);const startingTime=timeline.currentTime;visitDslNode(this,ast.animation,context2),context2.previousNode=ast,parentContext.currentStaggerTime=tl.currentTime-startingTime+(tl.startTime-parentContext.currentTimeline.startTime)}}const DEFAULT_NOOP_PREVIOUS_NODE={};class AnimationTimelineContext{constructor(_driver,element,subInstructions,_enterClassName,_leaveClassName,errors,timelines,initialTimeline){this._driver=_driver,this.element=element,this.subInstructions=subInstructions,this._enterClassName=_enterClassName,this._leaveClassName=_leaveClassName,this.errors=errors,this.timelines=timelines,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=DEFAULT_NOOP_PREVIOUS_NODE,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=initialTimeline||new TimelineBuilder(this._driver,element,0),timelines.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(options,skipIfExists){if(!options)return;const newOptions=options;let optionsToUpdate=this.options;null!=newOptions.duration&&(optionsToUpdate.duration=resolveTimingValue(newOptions.duration)),null!=newOptions.delay&&(optionsToUpdate.delay=resolveTimingValue(newOptions.delay));const newParams=newOptions.params;if(newParams){let paramsToUpdate=optionsToUpdate.params;paramsToUpdate||(paramsToUpdate=this.options.params={}),Object.keys(newParams).forEach(name=>{(!skipIfExists||!paramsToUpdate.hasOwnProperty(name))&&(paramsToUpdate[name]=interpolateParams(newParams[name],paramsToUpdate,this.errors))})}}_copyOptions(){const options={};if(this.options){const oldParams=this.options.params;if(oldParams){const params=options.params={};Object.keys(oldParams).forEach(name=>{params[name]=oldParams[name]})}}return options}createSubContext(options=null,element,newTime){const target=element||this.element,context2=new AnimationTimelineContext(this._driver,target,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(target,newTime||0));return context2.previousNode=this.previousNode,context2.currentAnimateTimings=this.currentAnimateTimings,context2.options=this._copyOptions(),context2.updateOptions(options),context2.currentQueryIndex=this.currentQueryIndex,context2.currentQueryTotal=this.currentQueryTotal,context2.parentContext=this,this.subContextCount++,context2}transformIntoNewTimeline(newTime){return this.previousNode=DEFAULT_NOOP_PREVIOUS_NODE,this.currentTimeline=this.currentTimeline.fork(this.element,newTime),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(instruction,duration,delay){const updatedTimings={duration:duration??instruction.duration,delay:this.currentTimeline.currentTime+(delay??0)+instruction.delay,easing:""},builder=new SubTimelineBuilder(this._driver,instruction.element,instruction.keyframes,instruction.preStyleProps,instruction.postStyleProps,updatedTimings,instruction.stretchStartingKeyframe);return this.timelines.push(builder),updatedTimings}incrementTime(time){this.currentTimeline.forwardTime(this.currentTimeline.duration+time)}delayNextStep(delay){delay>0&&this.currentTimeline.delayNextStep(delay)}invokeQuery(selector,originalSelector,limit,includeSelf,optional,errors){let results=[];if(includeSelf&&results.push(this.element),selector.length>0){selector=(selector=selector.replace(ENTER_TOKEN_REGEX,"."+this._enterClassName)).replace(LEAVE_TOKEN_REGEX,"."+this._leaveClassName);let elements=this._driver.query(this.element,selector,1!=limit);0!==limit&&(elements=limit<0?elements.slice(elements.length+limit,elements.length):elements.slice(0,limit)),results.push(...elements)}return!optional&&0==results.length&&errors.push(function invalidQuery(selector){return new RuntimeError(3014,!1)}()),results}}class TimelineBuilder{constructor(_driver,element,startTime,_elementTimelineStylesLookup){this._driver=_driver,this.element=element,this.startTime=startTime,this._elementTimelineStylesLookup=_elementTimelineStylesLookup,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(element),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(element,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(delay){const hasPreStyleStep=1===this._keyframes.size&&this._pendingStyles.size;this.duration||hasPreStyleStep?(this.forwardTime(this.currentTime+delay),hasPreStyleStep&&this.snapshotCurrentStyles()):this.startTime+=delay}fork(element,currentTime){return this.applyStylesToKeyframe(),new TimelineBuilder(this._driver,element,currentTime||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(time){this.applyStylesToKeyframe(),this.duration=time,this._loadKeyframe()}_updateStyle(prop2,value){this._localTimelineStyles.set(prop2,value),this._globalTimelineStyles.set(prop2,value),this._styleSummary.set(prop2,{time:this.currentTime,value})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(easing){easing&&this._previousKeyframe.set("easing",easing);for(let[prop2,value]of this._globalTimelineStyles)this._backFill.set(prop2,value||"*"),this._currentKeyframe.set(prop2,"*");this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(input,easing,errors,options){easing&&this._previousKeyframe.set("easing",easing);const params=options&&options.params||{},styles=function flattenStyles(input,allStyles){const styles=new Map;let allProperties;return input.forEach(token=>{if("*"===token){allProperties=allProperties||allStyles.keys();for(let prop2 of allProperties)styles.set(prop2,"*")}else copyStyles(token,styles)}),styles}(input,this._globalTimelineStyles);for(let[prop2,value]of styles){const val=interpolateParams(value,params,errors);this._pendingStyles.set(prop2,val),this._localTimelineStyles.has(prop2)||this._backFill.set(prop2,this._globalTimelineStyles.get(prop2)??"*"),this._updateStyle(prop2,val)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((val,prop2)=>{this._currentKeyframe.set(prop2,val)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((val,prop2)=>{this._currentKeyframe.has(prop2)||this._currentKeyframe.set(prop2,val)}))}snapshotCurrentStyles(){for(let[prop2,val]of this._localTimelineStyles)this._pendingStyles.set(prop2,val),this._updateStyle(prop2,val)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const properties=[];for(let prop2 in this._currentKeyframe)properties.push(prop2);return properties}mergeTimelineCollectedStyles(timeline){timeline._styleSummary.forEach((details1,prop2)=>{const details0=this._styleSummary.get(prop2);(!details0||details1.time>details0.time)&&this._updateStyle(prop2,details1.value)})}buildKeyframes(){this.applyStylesToKeyframe();const preStyleProps=new Set,postStyleProps=new Set,isEmpty2=1===this._keyframes.size&&0===this.duration;let finalKeyframes=[];this._keyframes.forEach((keyframe,time)=>{const finalKeyframe=copyStyles(keyframe,new Map,this._backFill);finalKeyframe.forEach((value,prop2)=>{"!"===value?preStyleProps.add(prop2):"*"===value&&postStyleProps.add(prop2)}),isEmpty2||finalKeyframe.set("offset",time/this.duration),finalKeyframes.push(finalKeyframe)});const preProps=preStyleProps.size?iteratorToArray(preStyleProps.values()):[],postProps=postStyleProps.size?iteratorToArray(postStyleProps.values()):[];if(isEmpty2){const kf0=finalKeyframes[0],kf1=new Map(kf0);kf0.set("offset",0),kf1.set("offset",1),finalKeyframes=[kf0,kf1]}return createTimelineInstruction(this.element,finalKeyframes,preProps,postProps,this.duration,this.startTime,this.easing,!1)}}class SubTimelineBuilder extends TimelineBuilder{constructor(driver,element,keyframes2,preStyleProps,postStyleProps,timings,_stretchStartingKeyframe=!1){super(driver,element,timings.delay),this.keyframes=keyframes2,this.preStyleProps=preStyleProps,this.postStyleProps=postStyleProps,this._stretchStartingKeyframe=_stretchStartingKeyframe,this.timings={duration:timings.duration,delay:timings.delay,easing:timings.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let keyframes2=this.keyframes,{delay,duration,easing}=this.timings;if(this._stretchStartingKeyframe&&delay){const newKeyframes=[],totalTime=duration+delay,startingGap=delay/totalTime,newFirstKeyframe=copyStyles(keyframes2[0]);newFirstKeyframe.set("offset",0),newKeyframes.push(newFirstKeyframe);const oldFirstKeyframe=copyStyles(keyframes2[0]);oldFirstKeyframe.set("offset",roundOffset(startingGap)),newKeyframes.push(oldFirstKeyframe);const limit=keyframes2.length-1;for(let i6=1;i6<=limit;i6++){let kf=copyStyles(keyframes2[i6]);const oldOffset=kf.get("offset");kf.set("offset",roundOffset((delay+oldOffset*duration)/totalTime)),newKeyframes.push(kf)}duration=totalTime,delay=0,easing="",keyframes2=newKeyframes}return createTimelineInstruction(this.element,keyframes2,this.preStyleProps,this.postStyleProps,duration,delay,easing,!0)}}function roundOffset(offset,decimalPoints=3){const mult=Math.pow(10,decimalPoints-1);return Math.round(offset*mult)/mult}class AnimationStyleNormalizer{}const DIMENSIONAL_PROP_SET=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class WebAnimationsStyleNormalizer extends AnimationStyleNormalizer{normalizePropertyName(propertyName,errors){return dashCaseToCamelCase(propertyName)}normalizeStyleValue(userProvidedProperty,normalizedProperty,value,errors){let unit="";const strVal=value.toString().trim();if(DIMENSIONAL_PROP_SET.has(normalizedProperty)&&0!==value&&"0"!==value)if("number"==typeof value)unit="px";else{const valAndSuffixMatch=value.match(/^[+-]?[\d\.]+([a-z]*)$/);valAndSuffixMatch&&0==valAndSuffixMatch[1].length&&errors.push(function invalidCssUnitValue(userProvidedProperty,value){return new RuntimeError(3005,!1)}())}return strVal+unit}}function createTransitionInstruction(element,triggerName,fromState,toState,isRemovalTransition,fromStyles,toStyles,timelines,queriedElements,preStyleProps,postStyleProps,totalTime,errors){return{type:0,element,triggerName,isRemovalTransition,fromState,fromStyles,toState,toStyles,timelines,queriedElements,preStyleProps,postStyleProps,totalTime,errors}}const EMPTY_OBJECT={};class AnimationTransitionFactory{constructor(_triggerName,ast,_stateStyles){this._triggerName=_triggerName,this.ast=ast,this._stateStyles=_stateStyles}match(currentState,nextState,element,params){return function oneOrMoreTransitionsMatch(matchFns,currentState,nextState,element,params){return matchFns.some(fn=>fn(currentState,nextState,element,params))}(this.ast.matchers,currentState,nextState,element,params)}buildStyles(stateName,params,errors){let styler=this._stateStyles.get("*");return void 0!==stateName&&(styler=this._stateStyles.get(stateName?.toString())||styler),styler?styler.buildStyles(params,errors):new Map}build(driver,element,currentState,nextState,enterClassName,leaveClassName,currentOptions,nextOptions,subInstructions,skipAstBuild){const errors=[],transitionAnimationParams=this.ast.options&&this.ast.options.params||EMPTY_OBJECT,currentStateStyles=this.buildStyles(currentState,currentOptions&¤tOptions.params||EMPTY_OBJECT,errors),nextAnimationParams=nextOptions&&nextOptions.params||EMPTY_OBJECT,nextStateStyles=this.buildStyles(nextState,nextAnimationParams,errors),queriedElements=new Set,preStyleMap=new Map,postStyleMap=new Map,isRemoval="void"===nextState,animationOptions={params:applyParamDefaults(nextAnimationParams,transitionAnimationParams),delay:this.ast.options?.delay},timelines=skipAstBuild?[]:buildAnimationTimelines(driver,element,this.ast.animation,enterClassName,leaveClassName,currentStateStyles,nextStateStyles,animationOptions,subInstructions,errors);let totalTime=0;if(timelines.forEach(tl=>{totalTime=Math.max(tl.duration+tl.delay,totalTime)}),errors.length)return createTransitionInstruction(element,this._triggerName,currentState,nextState,isRemoval,currentStateStyles,nextStateStyles,[],[],preStyleMap,postStyleMap,totalTime,errors);timelines.forEach(tl=>{const elm=tl.element,preProps=getOrSetDefaultValue(preStyleMap,elm,new Set);tl.preStyleProps.forEach(prop2=>preProps.add(prop2));const postProps=getOrSetDefaultValue(postStyleMap,elm,new Set);tl.postStyleProps.forEach(prop2=>postProps.add(prop2)),elm!==element&&queriedElements.add(elm)});const queriedElementsList=iteratorToArray(queriedElements.values());return createTransitionInstruction(element,this._triggerName,currentState,nextState,isRemoval,currentStateStyles,nextStateStyles,timelines,queriedElementsList,preStyleMap,postStyleMap,totalTime)}}function applyParamDefaults(userParams,defaults2){const result=copyObj(defaults2);for(const key in userParams)userParams.hasOwnProperty(key)&&null!=userParams[key]&&(result[key]=userParams[key]);return result}class AnimationStateStyles{constructor(styles,defaultParams,normalizer){this.styles=styles,this.defaultParams=defaultParams,this.normalizer=normalizer}buildStyles(params,errors){const finalStyles=new Map,combinedParams=copyObj(this.defaultParams);return Object.keys(params).forEach(key=>{const value=params[key];null!==value&&(combinedParams[key]=value)}),this.styles.styles.forEach(value=>{"string"!=typeof value&&value.forEach((val,prop2)=>{val&&(val=interpolateParams(val,combinedParams,errors));const normalizedProp=this.normalizer.normalizePropertyName(prop2,errors);val=this.normalizer.normalizeStyleValue(prop2,normalizedProp,val,errors),finalStyles.set(prop2,val)})}),finalStyles}}class AnimationTrigger{constructor(name,ast,_normalizer){this.name=name,this.ast=ast,this._normalizer=_normalizer,this.transitionFactories=[],this.states=new Map,ast.states.forEach(ast2=>{this.states.set(ast2.name,new AnimationStateStyles(ast2.style,ast2.options&&ast2.options.params||{},_normalizer))}),balanceProperties(this.states,"true","1"),balanceProperties(this.states,"false","0"),ast.transitions.forEach(ast2=>{this.transitionFactories.push(new AnimationTransitionFactory(name,ast2,this.states))}),this.fallbackTransition=function createFallbackTransition(triggerName,states,normalizer){return new AnimationTransitionFactory(triggerName,{type:1,animation:{type:2,steps:[],options:null},matchers:[(fromState,toState)=>!0],options:null,queryCount:0,depCount:0},states)}(name,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(currentState,nextState,element,params){return this.transitionFactories.find(f=>f.match(currentState,nextState,element,params))||null}matchStyles(currentState,params,errors){return this.fallbackTransition.buildStyles(currentState,params,errors)}}function balanceProperties(stateMap,key1,key2){stateMap.has(key1)?stateMap.has(key2)||stateMap.set(key2,stateMap.get(key1)):stateMap.has(key2)&&stateMap.set(key1,stateMap.get(key2))}const EMPTY_INSTRUCTION_MAP=new ElementInstructionMap;class TimelineAnimationEngine{constructor(bodyNode,_driver,_normalizer){this.bodyNode=bodyNode,this._driver=_driver,this._normalizer=_normalizer,this._animations=new Map,this._playersById=new Map,this.players=[]}register(id,metadata){const errors=[],ast=buildAnimationAst(this._driver,metadata,errors,[]);if(errors.length)throw function registerFailed(errors){return new RuntimeError(3503,!1)}();this._animations.set(id,ast)}_buildPlayer(i6,preStyles,postStyles){const element=i6.element,keyframes2=normalizeKeyframes$1(this._normalizer,i6.keyframes,preStyles,postStyles);return this._driver.animate(element,keyframes2,i6.duration,i6.delay,i6.easing,[],!0)}create(id,element,options={}){const errors=[],ast=this._animations.get(id);let instructions;const autoStylesMap=new Map;if(ast?(instructions=buildAnimationTimelines(this._driver,element,ast,"ng-enter","ng-leave",new Map,new Map,options,EMPTY_INSTRUCTION_MAP,errors),instructions.forEach(inst=>{const styles=getOrSetDefaultValue(autoStylesMap,inst.element,new Map);inst.postStyleProps.forEach(prop2=>styles.set(prop2,null))})):(errors.push(function missingOrDestroyedAnimation(){return new RuntimeError(3300,!1)}()),instructions=[]),errors.length)throw function createAnimationFailed(errors){return new RuntimeError(3504,!1)}();autoStylesMap.forEach((styles,element2)=>{styles.forEach((_,prop2)=>{styles.set(prop2,this._driver.computeStyle(element2,prop2,"*"))})});const player=optimizeGroupPlayer(instructions.map(i6=>{const styles=autoStylesMap.get(i6.element);return this._buildPlayer(i6,new Map,styles)}));return this._playersById.set(id,player),player.onDestroy(()=>this.destroy(id)),this.players.push(player),player}destroy(id){const player=this._getPlayer(id);player.destroy(),this._playersById.delete(id);const index=this.players.indexOf(player);index>=0&&this.players.splice(index,1)}_getPlayer(id){const player=this._playersById.get(id);if(!player)throw function missingPlayer(id){return new RuntimeError(3301,!1)}();return player}listen(id,element,eventName,callback){const baseEvent=makeAnimationEvent(element,"","","");return listenOnPlayer(this._getPlayer(id),eventName,baseEvent,callback),()=>{}}command(id,element,command,args){if("register"==command)return void this.register(id,args[0]);if("create"==command)return void this.create(id,element,args[0]||{});const player=this._getPlayer(id);switch(command){case"play":player.play();break;case"pause":player.pause();break;case"reset":player.reset();break;case"restart":player.restart();break;case"finish":player.finish();break;case"init":player.init();break;case"setPosition":player.setPosition(parseFloat(args[0]));break;case"destroy":this.destroy(id)}}}const EMPTY_PLAYER_ARRAY=[],NULL_REMOVAL_STATE={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},NULL_REMOVED_QUERIED_STATE={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0};class StateValue{get params(){return this.options.params}constructor(input,namespaceId=""){this.namespaceId=namespaceId;const isObj=input&&input.hasOwnProperty("value");if(this.value=function normalizeTriggerValue(value){return value??null}(isObj?input.value:input),isObj){const options=copyObj(input);delete options.value,this.options=options}else this.options={};this.options.params||(this.options.params={})}absorbOptions(options){const newParams=options.params;if(newParams){const oldParams=this.options.params;Object.keys(newParams).forEach(prop2=>{null==oldParams[prop2]&&(oldParams[prop2]=newParams[prop2])})}}}const DEFAULT_STATE_VALUE=new StateValue("void");class AnimationTransitionNamespace{constructor(id,hostElement,_engine){this.id=id,this.hostElement=hostElement,this._engine=_engine,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+id,addClass(hostElement,this._hostClassName)}listen(element,name,phase,callback){if(!this._triggers.has(name))throw function missingTrigger(phase,name){return new RuntimeError(3302,!1)}();if(null==phase||0==phase.length)throw function missingEvent(name){return new RuntimeError(3303,!1)}();if(!function isTriggerEventValid(eventName){return"start"==eventName||"done"==eventName}(phase))throw function unsupportedTriggerEvent(phase,name){return new RuntimeError(3400,!1)}();const listeners=getOrSetDefaultValue(this._elementListeners,element,[]),data={name,phase,callback};listeners.push(data);const triggersWithStates=getOrSetDefaultValue(this._engine.statesByElement,element,new Map);return triggersWithStates.has(name)||(addClass(element,"ng-trigger"),addClass(element,"ng-trigger-"+name),triggersWithStates.set(name,DEFAULT_STATE_VALUE)),()=>{this._engine.afterFlush(()=>{const index=listeners.indexOf(data);index>=0&&listeners.splice(index,1),this._triggers.has(name)||triggersWithStates.delete(name)})}}register(name,ast){return!this._triggers.has(name)&&(this._triggers.set(name,ast),!0)}_getTrigger(name){const trigger2=this._triggers.get(name);if(!trigger2)throw function unregisteredTrigger(name){return new RuntimeError(3401,!1)}();return trigger2}trigger(element,triggerName,value,defaultToFallback=!0){const trigger2=this._getTrigger(triggerName),player=new TransitionAnimationPlayer(this.id,triggerName,element);let triggersWithStates=this._engine.statesByElement.get(element);triggersWithStates||(addClass(element,"ng-trigger"),addClass(element,"ng-trigger-"+triggerName),this._engine.statesByElement.set(element,triggersWithStates=new Map));let fromState=triggersWithStates.get(triggerName);const toState=new StateValue(value,this.id);if(!(value&&value.hasOwnProperty("value"))&&fromState&&toState.absorbOptions(fromState.options),triggersWithStates.set(triggerName,toState),fromState||(fromState=DEFAULT_STATE_VALUE),"void"!==toState.value&&fromState.value===toState.value){if(!function objEquals(a,b){const k1=Object.keys(a),k2=Object.keys(b);if(k1.length!=k2.length)return!1;for(let i6=0;i6{eraseStyles(element,fromStyles),setStyles(element,toStyles)})}return}const playersOnElement=getOrSetDefaultValue(this._engine.playersByElement,element,[]);playersOnElement.forEach(player2=>{player2.namespaceId==this.id&&player2.triggerName==triggerName&&player2.queued&&player2.destroy()});let transition2=trigger2.matchTransition(fromState.value,toState.value,element,toState.params),isFallbackTransition=!1;if(!transition2){if(!defaultToFallback)return;transition2=trigger2.fallbackTransition,isFallbackTransition=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element,triggerName,transition:transition2,fromState,toState,player,isFallbackTransition}),isFallbackTransition||(addClass(element,"ng-animate-queued"),player.onStart(()=>{removeClass(element,"ng-animate-queued")})),player.onDone(()=>{let index=this.players.indexOf(player);index>=0&&this.players.splice(index,1);const players=this._engine.playersByElement.get(element);if(players){let index2=players.indexOf(player);index2>=0&&players.splice(index2,1)}}),this.players.push(player),playersOnElement.push(player),player}deregister(name){this._triggers.delete(name),this._engine.statesByElement.forEach(stateMap=>stateMap.delete(name)),this._elementListeners.forEach((listeners,element)=>{this._elementListeners.set(element,listeners.filter(entry=>entry.name!=name))})}clearElementCache(element){this._engine.statesByElement.delete(element),this._elementListeners.delete(element);const elementPlayers=this._engine.playersByElement.get(element);elementPlayers&&(elementPlayers.forEach(player=>player.destroy()),this._engine.playersByElement.delete(element))}_signalRemovalForInnerTriggers(rootElement,context2){const elements=this._engine.driver.query(rootElement,".ng-trigger",!0);elements.forEach(elm=>{if(elm.__ng_removed)return;const namespaces=this._engine.fetchNamespacesByElement(elm);namespaces.size?namespaces.forEach(ns=>ns.triggerLeaveAnimation(elm,context2,!1,!0)):this.clearElementCache(elm)}),this._engine.afterFlushAnimationsDone(()=>elements.forEach(elm=>this.clearElementCache(elm)))}triggerLeaveAnimation(element,context2,destroyAfterComplete,defaultToFallback){const triggerStates=this._engine.statesByElement.get(element),previousTriggersValues=new Map;if(triggerStates){const players=[];if(triggerStates.forEach((state2,triggerName)=>{if(previousTriggersValues.set(triggerName,state2.value),this._triggers.has(triggerName)){const player=this.trigger(element,triggerName,"void",defaultToFallback);player&&players.push(player)}}),players.length)return this._engine.markElementAsRemoved(this.id,element,!0,context2,previousTriggersValues),destroyAfterComplete&&optimizeGroupPlayer(players).onDone(()=>this._engine.processLeaveNode(element)),!0}return!1}prepareLeaveAnimationListeners(element){const listeners=this._elementListeners.get(element),elementStates=this._engine.statesByElement.get(element);if(listeners&&elementStates){const visitedTriggers=new Set;listeners.forEach(listener=>{const triggerName=listener.name;if(visitedTriggers.has(triggerName))return;visitedTriggers.add(triggerName);const transition2=this._triggers.get(triggerName).fallbackTransition,fromState=elementStates.get(triggerName)||DEFAULT_STATE_VALUE,toState=new StateValue("void"),player=new TransitionAnimationPlayer(this.id,triggerName,element);this._engine.totalQueuedPlayers++,this._queue.push({element,triggerName,transition:transition2,fromState,toState,player,isFallbackTransition:!0})})}}removeNode(element,context2){const engine=this._engine;if(element.childElementCount&&this._signalRemovalForInnerTriggers(element,context2),this.triggerLeaveAnimation(element,context2,!0))return;let containsPotentialParentTransition=!1;if(engine.totalAnimations){const currentPlayers=engine.players.length?engine.playersByQueriedElement.get(element):[];if(currentPlayers&¤tPlayers.length)containsPotentialParentTransition=!0;else{let parent=element;for(;parent=parent.parentNode;)if(engine.statesByElement.get(parent)){containsPotentialParentTransition=!0;break}}}if(this.prepareLeaveAnimationListeners(element),containsPotentialParentTransition)engine.markElementAsRemoved(this.id,element,!1,context2);else{const removalFlag=element.__ng_removed;(!removalFlag||removalFlag===NULL_REMOVAL_STATE)&&(engine.afterFlush(()=>this.clearElementCache(element)),engine.destroyInnerAnimations(element),engine._onRemovalComplete(element,context2))}}insertNode(element,parent){addClass(element,this._hostClassName)}drainQueuedTransitions(microtaskId){const instructions=[];return this._queue.forEach(entry=>{const player=entry.player;if(player.destroyed)return;const element=entry.element,listeners=this._elementListeners.get(element);listeners&&listeners.forEach(listener=>{if(listener.name==entry.triggerName){const baseEvent=makeAnimationEvent(element,entry.triggerName,entry.fromState.value,entry.toState.value);baseEvent._data=microtaskId,listenOnPlayer(entry.player,listener.phase,baseEvent,listener.callback)}}),player.markedForDestroy?this._engine.afterFlush(()=>{player.destroy()}):instructions.push(entry)}),this._queue=[],instructions.sort((a,b)=>{const d0=a.transition.ast.depCount,d1=b.transition.ast.depCount;return 0==d0||0==d1?d0-d1:this._engine.driver.containsElement(a.element,b.element)?1:-1})}destroy(context2){this.players.forEach(p=>p.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,context2)}}class TransitionAnimationEngine{_onRemovalComplete(element,context2){this.onRemovalComplete(element,context2)}constructor(bodyNode,driver,_normalizer){this.bodyNode=bodyNode,this.driver=driver,this._normalizer=_normalizer,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(element,context2)=>{}}get queuedPlayers(){const players=[];return this._namespaceList.forEach(ns=>{ns.players.forEach(player=>{player.queued&&players.push(player)})}),players}createNamespace(namespaceId,hostElement){const ns=new AnimationTransitionNamespace(namespaceId,hostElement,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,hostElement)?this._balanceNamespaceList(ns,hostElement):(this.newHostElements.set(hostElement,ns),this.collectEnterElement(hostElement)),this._namespaceLookup[namespaceId]=ns}_balanceNamespaceList(ns,hostElement){const namespaceList=this._namespaceList,namespacesByHostElement=this.namespacesByHostElement;if(namespaceList.length-1>=0){let found=!1,ancestor=this.driver.getParentElement(hostElement);for(;ancestor;){const ancestorNs=namespacesByHostElement.get(ancestor);if(ancestorNs){const index=namespaceList.indexOf(ancestorNs);namespaceList.splice(index+1,0,ns),found=!0;break}ancestor=this.driver.getParentElement(ancestor)}found||namespaceList.unshift(ns)}else namespaceList.push(ns);return namespacesByHostElement.set(hostElement,ns),ns}register(namespaceId,hostElement){let ns=this._namespaceLookup[namespaceId];return ns||(ns=this.createNamespace(namespaceId,hostElement)),ns}registerTrigger(namespaceId,name,trigger2){let ns=this._namespaceLookup[namespaceId];ns&&ns.register(name,trigger2)&&this.totalAnimations++}destroy(namespaceId,context2){namespaceId&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const ns=this._fetchNamespace(namespaceId);this.namespacesByHostElement.delete(ns.hostElement);const index=this._namespaceList.indexOf(ns);index>=0&&this._namespaceList.splice(index,1),ns.destroy(context2),delete this._namespaceLookup[namespaceId]}))}_fetchNamespace(id){return this._namespaceLookup[id]}fetchNamespacesByElement(element){const namespaces=new Set,elementStates=this.statesByElement.get(element);if(elementStates)for(let stateValue of elementStates.values())if(stateValue.namespaceId){const ns=this._fetchNamespace(stateValue.namespaceId);ns&&namespaces.add(ns)}return namespaces}trigger(namespaceId,element,name,value){if(isElementNode(element)){const ns=this._fetchNamespace(namespaceId);if(ns)return ns.trigger(element,name,value),!0}return!1}insertNode(namespaceId,element,parent,insertBefore){if(!isElementNode(element))return;const details=element.__ng_removed;if(details&&details.setForRemoval){details.setForRemoval=!1,details.setForMove=!0;const index=this.collectedLeaveElements.indexOf(element);index>=0&&this.collectedLeaveElements.splice(index,1)}if(namespaceId){const ns=this._fetchNamespace(namespaceId);ns&&ns.insertNode(element,parent)}insertBefore&&this.collectEnterElement(element)}collectEnterElement(element){this.collectedEnterElements.push(element)}markElementAsDisabled(element,value){value?this.disabledNodes.has(element)||(this.disabledNodes.add(element),addClass(element,"ng-animate-disabled")):this.disabledNodes.has(element)&&(this.disabledNodes.delete(element),removeClass(element,"ng-animate-disabled"))}removeNode(namespaceId,element,context2){if(isElementNode(element)){const ns=namespaceId?this._fetchNamespace(namespaceId):null;ns?ns.removeNode(element,context2):this.markElementAsRemoved(namespaceId,element,!1,context2);const hostNS=this.namespacesByHostElement.get(element);hostNS&&hostNS.id!==namespaceId&&hostNS.removeNode(element,context2)}else this._onRemovalComplete(element,context2)}markElementAsRemoved(namespaceId,element,hasAnimation,context2,previousTriggersValues){this.collectedLeaveElements.push(element),element.__ng_removed={namespaceId,setForRemoval:context2,hasAnimation,removedBeforeQueried:!1,previousTriggersValues}}listen(namespaceId,element,name,phase,callback){return isElementNode(element)?this._fetchNamespace(namespaceId).listen(element,name,phase,callback):()=>{}}_buildInstruction(entry,subTimelines,enterClassName,leaveClassName,skipBuildAst){return entry.transition.build(this.driver,entry.element,entry.fromState.value,entry.toState.value,enterClassName,leaveClassName,entry.fromState.options,entry.toState.options,subTimelines,skipBuildAst)}destroyInnerAnimations(containerElement){let elements=this.driver.query(containerElement,".ng-trigger",!0);elements.forEach(element=>this.destroyActiveAnimationsForElement(element)),0!=this.playersByQueriedElement.size&&(elements=this.driver.query(containerElement,".ng-animating",!0),elements.forEach(element=>this.finishActiveQueriedAnimationOnElement(element)))}destroyActiveAnimationsForElement(element){const players=this.playersByElement.get(element);players&&players.forEach(player=>{player.queued?player.markedForDestroy=!0:player.destroy()})}finishActiveQueriedAnimationOnElement(element){const players=this.playersByQueriedElement.get(element);players&&players.forEach(player=>player.finish())}whenRenderingDone(){return new Promise(resolve=>{if(this.players.length)return optimizeGroupPlayer(this.players).onDone(()=>resolve());resolve()})}processLeaveNode(element){const details=element.__ng_removed;if(details&&details.setForRemoval){if(element.__ng_removed=NULL_REMOVAL_STATE,details.namespaceId){this.destroyInnerAnimations(element);const ns=this._fetchNamespace(details.namespaceId);ns&&ns.clearElementCache(element)}this._onRemovalComplete(element,details.setForRemoval)}element.classList?.contains("ng-animate-disabled")&&this.markElementAsDisabled(element,!1),this.driver.query(element,".ng-animate-disabled",!0).forEach(node2=>{this.markElementAsDisabled(node2,!1)})}flush(microtaskId=-1){let players=[];if(this.newHostElements.size&&(this.newHostElements.forEach((ns,element)=>this._balanceNamespaceList(ns,element)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i6=0;i6fn()),this._flushFns=[],this._whenQuietFns.length){const quietFns=this._whenQuietFns;this._whenQuietFns=[],players.length?optimizeGroupPlayer(players).onDone(()=>{quietFns.forEach(fn=>fn())}):quietFns.forEach(fn=>fn())}}reportError(errors){throw function triggerTransitionsFailed(errors){return new RuntimeError(3402,!1)}()}_flushAnimations(cleanupFns,microtaskId){const subTimelines=new ElementInstructionMap,skippedPlayers=[],skippedPlayersMap=new Map,queuedInstructions=[],queriedElements=new Map,allPreStyleElements=new Map,allPostStyleElements=new Map,disabledElementsSet=new Set;this.disabledNodes.forEach(node2=>{disabledElementsSet.add(node2);const nodesThatAreDisabled=this.driver.query(node2,".ng-animate-queued",!0);for(let i7=0;i7{const className="ng-enter"+i6++;enterNodeMapIds.set(root,className),nodes.forEach(node2=>addClass(node2,className))});const allLeaveNodes=[],mergedLeaveNodes=new Set,leaveNodesWithoutAnimations=new Set;for(let i7=0;i7mergedLeaveNodes.add(elm)):leaveNodesWithoutAnimations.add(element))}const leaveNodeMapIds=new Map,leaveNodeMap=buildRootMap(allTriggerElements,Array.from(mergedLeaveNodes));leaveNodeMap.forEach((nodes,root)=>{const className="ng-leave"+i6++;leaveNodeMapIds.set(root,className),nodes.forEach(node2=>addClass(node2,className))}),cleanupFns.push(()=>{enterNodeMap.forEach((nodes,root)=>{const className=enterNodeMapIds.get(root);nodes.forEach(node2=>removeClass(node2,className))}),leaveNodeMap.forEach((nodes,root)=>{const className=leaveNodeMapIds.get(root);nodes.forEach(node2=>removeClass(node2,className))}),allLeaveNodes.forEach(element=>{this.processLeaveNode(element)})});const allPlayers=[],erroneousTransitions=[];for(let i7=this._namespaceList.length-1;i7>=0;i7--)this._namespaceList[i7].drainQueuedTransitions(microtaskId).forEach(entry=>{const player=entry.player,element=entry.element;if(allPlayers.push(player),this.collectedEnterElements.length){const details=element.__ng_removed;if(details&&details.setForMove){if(details.previousTriggersValues&&details.previousTriggersValues.has(entry.triggerName)){const previousValue=details.previousTriggersValues.get(entry.triggerName),triggersWithStates=this.statesByElement.get(entry.element);if(triggersWithStates&&triggersWithStates.has(entry.triggerName)){const state2=triggersWithStates.get(entry.triggerName);state2.value=previousValue,triggersWithStates.set(entry.triggerName,state2)}}return void player.destroy()}}const nodeIsOrphaned=!bodyNode||!this.driver.containsElement(bodyNode,element),leaveClassName=leaveNodeMapIds.get(element),enterClassName=enterNodeMapIds.get(element),instruction=this._buildInstruction(entry,subTimelines,enterClassName,leaveClassName,nodeIsOrphaned);if(instruction.errors&&instruction.errors.length)return void erroneousTransitions.push(instruction);if(nodeIsOrphaned)return player.onStart(()=>eraseStyles(element,instruction.fromStyles)),player.onDestroy(()=>setStyles(element,instruction.toStyles)),void skippedPlayers.push(player);if(entry.isFallbackTransition)return player.onStart(()=>eraseStyles(element,instruction.fromStyles)),player.onDestroy(()=>setStyles(element,instruction.toStyles)),void skippedPlayers.push(player);const timelines=[];instruction.timelines.forEach(tl=>{tl.stretchStartingKeyframe=!0,this.disabledNodes.has(tl.element)||timelines.push(tl)}),instruction.timelines=timelines,subTimelines.append(element,instruction.timelines),queuedInstructions.push({instruction,player,element}),instruction.queriedElements.forEach(element2=>getOrSetDefaultValue(queriedElements,element2,[]).push(player)),instruction.preStyleProps.forEach((stringMap,element2)=>{if(stringMap.size){let setVal=allPreStyleElements.get(element2);setVal||allPreStyleElements.set(element2,setVal=new Set),stringMap.forEach((_,prop2)=>setVal.add(prop2))}}),instruction.postStyleProps.forEach((stringMap,element2)=>{let setVal=allPostStyleElements.get(element2);setVal||allPostStyleElements.set(element2,setVal=new Set),stringMap.forEach((_,prop2)=>setVal.add(prop2))})});if(erroneousTransitions.length){const errors=[];erroneousTransitions.forEach(instruction=>{errors.push(function transitionFailed(name,errors){return new RuntimeError(3505,!1)}())}),allPlayers.forEach(player=>player.destroy()),this.reportError(errors)}const allPreviousPlayersMap=new Map,animationElementMap=new Map;queuedInstructions.forEach(entry=>{const element=entry.element;subTimelines.has(element)&&(animationElementMap.set(element,element),this._beforeAnimationBuild(entry.player.namespaceId,entry.instruction,allPreviousPlayersMap))}),skippedPlayers.forEach(player=>{const element=player.element;this._getPreviousPlayers(element,!1,player.namespaceId,player.triggerName,null).forEach(prevPlayer=>{getOrSetDefaultValue(allPreviousPlayersMap,element,[]).push(prevPlayer),prevPlayer.destroy()})});const replaceNodes=allLeaveNodes.filter(node2=>replacePostStylesAsPre(node2,allPreStyleElements,allPostStyleElements)),postStylesMap=new Map;cloakAndComputeStyles(postStylesMap,this.driver,leaveNodesWithoutAnimations,allPostStyleElements,"*").forEach(node2=>{replacePostStylesAsPre(node2,allPreStyleElements,allPostStyleElements)&&replaceNodes.push(node2)});const preStylesMap=new Map;enterNodeMap.forEach((nodes,root)=>{cloakAndComputeStyles(preStylesMap,this.driver,new Set(nodes),allPreStyleElements,"!")}),replaceNodes.forEach(node2=>{const post=postStylesMap.get(node2),pre=preStylesMap.get(node2);postStylesMap.set(node2,new Map([...post?.entries()??[],...pre?.entries()??[]]))});const rootPlayers=[],subPlayers=[],NO_PARENT_ANIMATION_ELEMENT_DETECTED={};queuedInstructions.forEach(entry=>{const{element,player,instruction}=entry;if(subTimelines.has(element)){if(disabledElementsSet.has(element))return player.onDestroy(()=>setStyles(element,instruction.toStyles)),player.disabled=!0,player.overrideTotalTime(instruction.totalTime),void skippedPlayers.push(player);let parentWithAnimation=NO_PARENT_ANIMATION_ELEMENT_DETECTED;if(animationElementMap.size>1){let elm=element;const parentsToAdd=[];for(;elm=elm.parentNode;){const detectedParent=animationElementMap.get(elm);if(detectedParent){parentWithAnimation=detectedParent;break}parentsToAdd.push(elm)}parentsToAdd.forEach(parent=>animationElementMap.set(parent,parentWithAnimation))}const innerPlayer=this._buildAnimation(player.namespaceId,instruction,allPreviousPlayersMap,skippedPlayersMap,preStylesMap,postStylesMap);if(player.setRealPlayer(innerPlayer),parentWithAnimation===NO_PARENT_ANIMATION_ELEMENT_DETECTED)rootPlayers.push(player);else{const parentPlayers=this.playersByElement.get(parentWithAnimation);parentPlayers&&parentPlayers.length&&(player.parentPlayer=optimizeGroupPlayer(parentPlayers)),skippedPlayers.push(player)}}else eraseStyles(element,instruction.fromStyles),player.onDestroy(()=>setStyles(element,instruction.toStyles)),subPlayers.push(player),disabledElementsSet.has(element)&&skippedPlayers.push(player)}),subPlayers.forEach(player=>{const playersForElement=skippedPlayersMap.get(player.element);if(playersForElement&&playersForElement.length){const innerPlayer=optimizeGroupPlayer(playersForElement);player.setRealPlayer(innerPlayer)}}),skippedPlayers.forEach(player=>{player.parentPlayer?player.syncPlayerEvents(player.parentPlayer):player.destroy()});for(let i7=0;i7!p.destroyed);activePlayers.length?removeNodesAfterAnimationDone(this,element,activePlayers):this.processLeaveNode(element)}return allLeaveNodes.length=0,rootPlayers.forEach(player=>{this.players.push(player),player.onDone(()=>{player.destroy();const index=this.players.indexOf(player);this.players.splice(index,1)}),player.play()}),rootPlayers}afterFlush(callback){this._flushFns.push(callback)}afterFlushAnimationsDone(callback){this._whenQuietFns.push(callback)}_getPreviousPlayers(element,isQueriedElement,namespaceId,triggerName,toStateValue){let players=[];if(isQueriedElement){const queriedElementPlayers=this.playersByQueriedElement.get(element);queriedElementPlayers&&(players=queriedElementPlayers)}else{const elementPlayers=this.playersByElement.get(element);if(elementPlayers){const isRemovalAnimation=!toStateValue||"void"==toStateValue;elementPlayers.forEach(player=>{player.queued||!isRemovalAnimation&&player.triggerName!=triggerName||players.push(player)})}}return(namespaceId||triggerName)&&(players=players.filter(player=>!(namespaceId&&namespaceId!=player.namespaceId||triggerName&&triggerName!=player.triggerName))),players}_beforeAnimationBuild(namespaceId,instruction,allPreviousPlayersMap){const rootElement=instruction.element,targetNameSpaceId=instruction.isRemovalTransition?void 0:namespaceId,targetTriggerName=instruction.isRemovalTransition?void 0:instruction.triggerName;for(const timelineInstruction of instruction.timelines){const element=timelineInstruction.element,isQueriedElement=element!==rootElement,players=getOrSetDefaultValue(allPreviousPlayersMap,element,[]);this._getPreviousPlayers(element,isQueriedElement,targetNameSpaceId,targetTriggerName,instruction.toState).forEach(player=>{const realPlayer=player.getRealPlayer();realPlayer.beforeDestroy&&realPlayer.beforeDestroy(),player.destroy(),players.push(player)})}eraseStyles(rootElement,instruction.fromStyles)}_buildAnimation(namespaceId,instruction,allPreviousPlayersMap,skippedPlayersMap,preStylesMap,postStylesMap){const triggerName=instruction.triggerName,rootElement=instruction.element,allQueriedPlayers=[],allConsumedElements=new Set,allSubElements=new Set,allNewPlayers=instruction.timelines.map(timelineInstruction=>{const element=timelineInstruction.element;allConsumedElements.add(element);const details=element.__ng_removed;if(details&&details.removedBeforeQueried)return new NoopAnimationPlayer(timelineInstruction.duration,timelineInstruction.delay);const isQueriedElement=element!==rootElement,previousPlayers=function flattenGroupPlayers(players){const finalPlayers=[];return _flattenGroupPlayersRecur(players,finalPlayers),finalPlayers}((allPreviousPlayersMap.get(element)||EMPTY_PLAYER_ARRAY).map(p=>p.getRealPlayer())).filter(p=>!!p.element&&p.element===element),preStyles=preStylesMap.get(element),postStyles=postStylesMap.get(element),keyframes2=normalizeKeyframes$1(this._normalizer,timelineInstruction.keyframes,preStyles,postStyles),player2=this._buildPlayer(timelineInstruction,keyframes2,previousPlayers);if(timelineInstruction.subTimeline&&skippedPlayersMap&&allSubElements.add(element),isQueriedElement){const wrappedPlayer=new TransitionAnimationPlayer(namespaceId,triggerName,element);wrappedPlayer.setRealPlayer(player2),allQueriedPlayers.push(wrappedPlayer)}return player2});allQueriedPlayers.forEach(player2=>{getOrSetDefaultValue(this.playersByQueriedElement,player2.element,[]).push(player2),player2.onDone(()=>function deleteOrUnsetInMap(map2,key,value){let currentValues=map2.get(key);if(currentValues){if(currentValues.length){const index=currentValues.indexOf(value);currentValues.splice(index,1)}0==currentValues.length&&map2.delete(key)}return currentValues}(this.playersByQueriedElement,player2.element,player2))}),allConsumedElements.forEach(element=>addClass(element,"ng-animating"));const player=optimizeGroupPlayer(allNewPlayers);return player.onDestroy(()=>{allConsumedElements.forEach(element=>removeClass(element,"ng-animating")),setStyles(rootElement,instruction.toStyles)}),allSubElements.forEach(element=>{getOrSetDefaultValue(skippedPlayersMap,element,[]).push(player)}),player}_buildPlayer(instruction,keyframes2,previousPlayers){return keyframes2.length>0?this.driver.animate(instruction.element,keyframes2,instruction.duration,instruction.delay,instruction.easing,previousPlayers):new NoopAnimationPlayer(instruction.duration,instruction.delay)}}class TransitionAnimationPlayer{constructor(namespaceId,triggerName,element){this.namespaceId=namespaceId,this.triggerName=triggerName,this.element=element,this._player=new NoopAnimationPlayer,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(player){this._containsRealPlayer||(this._player=player,this._queuedCallbacks.forEach((callbacks,phase)=>{callbacks.forEach(callback=>listenOnPlayer(player,phase,void 0,callback))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(player.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(totalTime){this.totalTime=totalTime}syncPlayerEvents(player){const p=this._player;p.triggerCallback&&player.onStart(()=>p.triggerCallback("start")),player.onDone(()=>this.finish()),player.onDestroy(()=>this.destroy())}_queueEvent(name,callback){getOrSetDefaultValue(this._queuedCallbacks,name,[]).push(callback)}onDone(fn){this.queued&&this._queueEvent("done",fn),this._player.onDone(fn)}onStart(fn){this.queued&&this._queueEvent("start",fn),this._player.onStart(fn)}onDestroy(fn){this.queued&&this._queueEvent("destroy",fn),this._player.onDestroy(fn)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(p){this.queued||this._player.setPosition(p)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(phaseName){const p=this._player;p.triggerCallback&&p.triggerCallback(phaseName)}}function isElementNode(node2){return node2&&1===node2.nodeType}function cloakElement(element,value){const oldValue=element.style.display;return element.style.display=value??"none",oldValue}function cloakAndComputeStyles(valuesMap,driver,elements,elementPropsMap,defaultStyle){const cloakVals=[];elements.forEach(element=>cloakVals.push(cloakElement(element)));const failedElements=[];elementPropsMap.forEach((props,element)=>{const styles=new Map;props.forEach(prop2=>{const value=driver.computeStyle(element,prop2,defaultStyle);styles.set(prop2,value),(!value||0==value.length)&&(element.__ng_removed=NULL_REMOVED_QUERIED_STATE,failedElements.push(element))}),valuesMap.set(element,styles)});let i6=0;return elements.forEach(element=>cloakElement(element,cloakVals[i6++])),failedElements}function buildRootMap(roots,nodes){const rootMap=new Map;if(roots.forEach(root=>rootMap.set(root,[])),0==nodes.length)return rootMap;const nodeSet=new Set(nodes),localRootMap=new Map;function getRoot(node2){if(!node2)return 1;let root=localRootMap.get(node2);if(root)return root;const parent=node2.parentNode;return root=rootMap.has(parent)?parent:nodeSet.has(parent)?1:getRoot(parent),localRootMap.set(node2,root),root}return nodes.forEach(node2=>{const root=getRoot(node2);1!==root&&rootMap.get(root).push(node2)}),rootMap}function addClass(element,className){element.classList?.add(className)}function removeClass(element,className){element.classList?.remove(className)}function removeNodesAfterAnimationDone(engine,element,players){optimizeGroupPlayer(players).onDone(()=>engine.processLeaveNode(element))}function _flattenGroupPlayersRecur(players,finalPlayers){for(let i6=0;i6preEntry.add(data)):allPreStyleElements.set(element,postEntry),allPostStyleElements.delete(element),!0}class AnimationEngine{constructor(bodyNode,_driver,_normalizer){this.bodyNode=bodyNode,this._driver=_driver,this._normalizer=_normalizer,this._triggerCache={},this.onRemovalComplete=(element,context2)=>{},this._transitionEngine=new TransitionAnimationEngine(bodyNode,_driver,_normalizer),this._timelineEngine=new TimelineAnimationEngine(bodyNode,_driver,_normalizer),this._transitionEngine.onRemovalComplete=(element,context2)=>this.onRemovalComplete(element,context2)}registerTrigger(componentId,namespaceId,hostElement,name,metadata){const cacheKey=componentId+"-"+name;let trigger2=this._triggerCache[cacheKey];if(!trigger2){const errors=[],ast=buildAnimationAst(this._driver,metadata,errors,[]);if(errors.length)throw function triggerBuildFailed(name,errors){return new RuntimeError(3404,!1)}();trigger2=function buildTrigger(name,ast,normalizer){return new AnimationTrigger(name,ast,normalizer)}(name,ast,this._normalizer),this._triggerCache[cacheKey]=trigger2}this._transitionEngine.registerTrigger(namespaceId,name,trigger2)}register(namespaceId,hostElement){this._transitionEngine.register(namespaceId,hostElement)}destroy(namespaceId,context2){this._transitionEngine.destroy(namespaceId,context2)}onInsert(namespaceId,element,parent,insertBefore){this._transitionEngine.insertNode(namespaceId,element,parent,insertBefore)}onRemove(namespaceId,element,context2){this._transitionEngine.removeNode(namespaceId,element,context2)}disableAnimations(element,disable){this._transitionEngine.markElementAsDisabled(element,disable)}process(namespaceId,element,property,value){if("@"==property.charAt(0)){const[id,action]=parseTimelineCommand(property);this._timelineEngine.command(id,element,action,value)}else this._transitionEngine.trigger(namespaceId,element,property,value)}listen(namespaceId,element,eventName,eventPhase,callback){if("@"==eventName.charAt(0)){const[id,action]=parseTimelineCommand(eventName);return this._timelineEngine.listen(id,element,action,callback)}return this._transitionEngine.listen(namespaceId,element,eventName,eventPhase,callback)}flush(microtaskId=-1){this._transitionEngine.flush(microtaskId)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(cb){this._transitionEngine.afterFlushAnimationsDone(cb)}}let SpecialCasedStyles=(()=>{class SpecialCasedStyles2{constructor(_element,_startStyles,_endStyles){this._element=_element,this._startStyles=_startStyles,this._endStyles=_endStyles,this._state=0;let initialStyles=SpecialCasedStyles2.initialStylesByElement.get(_element);initialStyles||SpecialCasedStyles2.initialStylesByElement.set(_element,initialStyles=new Map),this._initialStyles=initialStyles}start(){this._state<1&&(this._startStyles&&setStyles(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(setStyles(this._element,this._initialStyles),this._endStyles&&(setStyles(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(SpecialCasedStyles2.initialStylesByElement.delete(this._element),this._startStyles&&(eraseStyles(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(eraseStyles(this._element,this._endStyles),this._endStyles=null),setStyles(this._element,this._initialStyles),this._state=3)}}return SpecialCasedStyles2.initialStylesByElement=new WeakMap,SpecialCasedStyles2})();function filterNonAnimatableStyles(styles){let result=null;return styles.forEach((val,prop2)=>{(function isNonAnimatableStyle(prop2){return"display"===prop2||"position"===prop2})(prop2)&&(result=result||new Map,result.set(prop2,val))}),result}class WebAnimationsPlayer{constructor(element,keyframes2,options,_specialStyles){this.element=element,this.keyframes=keyframes2,this.options=options,this._specialStyles=_specialStyles,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=options.duration,this._delay=options.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(fn=>fn()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const keyframes2=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,keyframes2,this.options),this._finalKeyframe=keyframes2.length?keyframes2[keyframes2.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(keyframes2){const kfs=[];return keyframes2.forEach(frame=>{kfs.push(Object.fromEntries(frame))}),kfs}_triggerWebAnimation(element,keyframes2,options){return element.animate(this._convertKeyframesToObject(keyframes2),options)}onStart(fn){this._originalOnStartFns.push(fn),this._onStartFns.push(fn)}onDone(fn){this._originalOnDoneFns.push(fn),this._onDoneFns.push(fn)}onDestroy(fn){this._onDestroyFns.push(fn)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(fn=>fn()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(fn=>fn()),this._onDestroyFns=[])}setPosition(p){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=p*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const styles=new Map;this.hasStarted()&&this._finalKeyframe.forEach((val,prop2)=>{"offset"!==prop2&&styles.set(prop2,this._finished?val:computeStyle(this.element,prop2))}),this.currentSnapshot=styles}triggerCallback(phaseName){const methods="start"===phaseName?this._onStartFns:this._onDoneFns;methods.forEach(fn=>fn()),methods.length=0}}class WebAnimationsDriver{validateStyleProperty(prop2){return!0}validateAnimatableStyleProperty(prop2){return!0}matchesElement(_element,_selector){return!1}containsElement(elm1,elm2){return containsElement(elm1,elm2)}getParentElement(element){return getParentElement(element)}query(element,selector,multi){return invokeQuery(element,selector,multi)}computeStyle(element,prop2,defaultValue){return window.getComputedStyle(element)[prop2]}animate(element,keyframes2,duration,delay,easing,previousPlayers=[]){const playerOptions={duration,delay,fill:0==delay?"both":"forwards"};easing&&(playerOptions.easing=easing);const previousStyles=new Map,previousWebAnimationPlayers=previousPlayers.filter(player=>player instanceof WebAnimationsPlayer);(function allowPreviousPlayerStylesMerge(duration,delay){return 0===duration||0===delay})(duration,delay)&&previousWebAnimationPlayers.forEach(player=>{player.currentSnapshot.forEach((val,prop2)=>previousStyles.set(prop2,val))});let _keyframes=function normalizeKeyframes(keyframes2){return keyframes2.length?keyframes2[0]instanceof Map?keyframes2:keyframes2.map(kf=>convertToMap(kf)):[]}(keyframes2).map(styles=>copyStyles(styles));_keyframes=function balancePreviousStylesIntoKeyframes(element,keyframes2,previousStyles){if(previousStyles.size&&keyframes2.length){let startingKeyframe=keyframes2[0],missingStyleProps=[];if(previousStyles.forEach((val,prop2)=>{startingKeyframe.has(prop2)||missingStyleProps.push(prop2),startingKeyframe.set(prop2,val)}),missingStyleProps.length)for(let i6=1;i6kf.set(prop2,computeStyle(element,prop2)))}}return keyframes2}(element,_keyframes,previousStyles);const specialStyles=function packageNonAnimatableStyles(element,styles){let startStyles=null,endStyles=null;return Array.isArray(styles)&&styles.length?(startStyles=filterNonAnimatableStyles(styles[0]),styles.length>1&&(endStyles=filterNonAnimatableStyles(styles[styles.length-1]))):styles instanceof Map&&(startStyles=filterNonAnimatableStyles(styles)),startStyles||endStyles?new SpecialCasedStyles(element,startStyles,endStyles):null}(element,_keyframes);return new WebAnimationsPlayer(element,_keyframes,playerOptions,specialStyles)}}let BrowserAnimationBuilder=(()=>{var _class2;class BrowserAnimationBuilder2 extends AnimationBuilder{constructor(rootRenderer,doc){super(),this._nextAnimationId=0,this._renderer=rootRenderer.createRenderer(doc.body,{id:"0",encapsulation:ViewEncapsulation$1.None,styles:[],data:{animation:[]}})}build(animation2){const id=this._nextAnimationId.toString();this._nextAnimationId++;const entry=Array.isArray(animation2)?sequence(animation2):animation2;return issueAnimationCommand(this._renderer,null,id,"register",[entry]),new BrowserAnimationFactory(id,this._renderer)}}return(_class2=BrowserAnimationBuilder2).\u0275fac=function(t){return new(t||_class2)(core_inject(RendererFactory2),core_inject(common_DOCUMENT))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),BrowserAnimationBuilder2})();class BrowserAnimationFactory extends AnimationFactory{constructor(_id2,_renderer){super(),this._id=_id2,this._renderer=_renderer}create(element,options){return new RendererAnimationPlayer(this._id,element,options||{},this._renderer)}}class RendererAnimationPlayer{constructor(id,element,options,_renderer){this.id=id,this.element=element,this._renderer=_renderer,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",options)}_listen(eventName,callback){return this._renderer.listen(this.element,`@@${this.id}:${eventName}`,callback)}_command(command,...args){return issueAnimationCommand(this._renderer,this.element,this.id,command,args)}onDone(fn){this._listen("done",fn)}onStart(fn){this._listen("start",fn)}onDestroy(fn){this._listen("destroy",fn)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(p){this._command("setPosition",p)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function issueAnimationCommand(renderer,element,id,command,args){return renderer.setProperty(element,`@@${id}:${command}`,args)}let AnimationRendererFactory=(()=>{var _class2;class AnimationRendererFactory2{constructor(delegate,engine,_zone){this.delegate=delegate,this.engine=engine,this._zone=_zone,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,engine.onRemovalComplete=(element,delegate2)=>{const parentNode=delegate2?.parentNode(element);parentNode&&delegate2.removeChild(parentNode,element)}}createRenderer(hostElement,type){const delegate=this.delegate.createRenderer(hostElement,type);if(!(hostElement&&type&&type.data&&type.data.animation)){let renderer=this._rendererCache.get(delegate);return renderer||(renderer=new BaseAnimationRenderer("",delegate,this.engine,()=>this._rendererCache.delete(delegate)),this._rendererCache.set(delegate,renderer)),renderer}const componentId=type.id,namespaceId=type.id+"-"+this._currentId;this._currentId++,this.engine.register(namespaceId,hostElement);const registerTrigger=trigger2=>{Array.isArray(trigger2)?trigger2.forEach(registerTrigger):this.engine.registerTrigger(componentId,namespaceId,hostElement,trigger2.name,trigger2)};return type.data.animation.forEach(registerTrigger),new AnimationRenderer(this,namespaceId,delegate,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(count,fn,data){count>=0&&countfn(data)):(0==this._animationCallbacksBuffer.length&&queueMicrotask(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(tuple=>{const[fn2,data2]=tuple;fn2(data2)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([fn,data]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return(_class2=AnimationRendererFactory2).\u0275fac=function(t){return new(t||_class2)(core_inject(RendererFactory2),core_inject(AnimationEngine),core_inject(core_NgZone))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),AnimationRendererFactory2})();class BaseAnimationRenderer{constructor(namespaceId,delegate,engine,_onDestroy){this.namespaceId=namespaceId,this.delegate=delegate,this.engine=engine,this._onDestroy=_onDestroy}get data(){return this.delegate.data}destroyNode(node2){this.delegate.destroyNode?.(node2)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(name,namespace){return this.delegate.createElement(name,namespace)}createComment(value){return this.delegate.createComment(value)}createText(value){return this.delegate.createText(value)}appendChild(parent,newChild){this.delegate.appendChild(parent,newChild),this.engine.onInsert(this.namespaceId,newChild,parent,!1)}insertBefore(parent,newChild,refChild,isMove=!0){this.delegate.insertBefore(parent,newChild,refChild),this.engine.onInsert(this.namespaceId,newChild,parent,isMove)}removeChild(parent,oldChild,isHostElement){this.engine.onRemove(this.namespaceId,oldChild,this.delegate)}selectRootElement(selectorOrNode,preserveContent){return this.delegate.selectRootElement(selectorOrNode,preserveContent)}parentNode(node2){return this.delegate.parentNode(node2)}nextSibling(node2){return this.delegate.nextSibling(node2)}setAttribute(el,name,value,namespace){this.delegate.setAttribute(el,name,value,namespace)}removeAttribute(el,name,namespace){this.delegate.removeAttribute(el,name,namespace)}addClass(el,name){this.delegate.addClass(el,name)}removeClass(el,name){this.delegate.removeClass(el,name)}setStyle(el,style2,value,flags){this.delegate.setStyle(el,style2,value,flags)}removeStyle(el,style2,flags){this.delegate.removeStyle(el,style2,flags)}setProperty(el,name,value){"@"==name.charAt(0)&&"@.disabled"==name?this.disableAnimations(el,!!value):this.delegate.setProperty(el,name,value)}setValue(node2,value){this.delegate.setValue(node2,value)}listen(target,eventName,callback){return this.delegate.listen(target,eventName,callback)}disableAnimations(element,value){this.engine.disableAnimations(element,value)}}class AnimationRenderer extends BaseAnimationRenderer{constructor(factory2,namespaceId,delegate,engine,onDestroy){super(namespaceId,delegate,engine,onDestroy),this.factory=factory2,this.namespaceId=namespaceId}setProperty(el,name,value){"@"==name.charAt(0)?"."==name.charAt(1)&&"@.disabled"==name?this.disableAnimations(el,value=void 0===value||!!value):this.engine.process(this.namespaceId,el,name.slice(1),value):this.delegate.setProperty(el,name,value)}listen(target,eventName,callback){if("@"==eventName.charAt(0)){const element=function resolveElementFromTarget(target){switch(target){case"body":return document.body;case"document":return document;case"window":return window;default:return target}}(target);let name=eventName.slice(1),phase="";return"@"!=name.charAt(0)&&([name,phase]=function parseTriggerCallbackName(triggerName){const dotIndex=triggerName.indexOf(".");return[triggerName.substring(0,dotIndex),triggerName.slice(dotIndex+1)]}(name)),this.engine.listen(this.namespaceId,element,name,phase,event=>{this.factory.scheduleListenerCallback(event._data||-1,callback,event)})}return this.delegate.listen(target,eventName,callback)}}const SHARED_ANIMATION_PROVIDERS=[{provide:AnimationBuilder,useClass:BrowserAnimationBuilder},{provide:AnimationStyleNormalizer,useFactory:function instantiateDefaultStyleNormalizer(){return new WebAnimationsStyleNormalizer}},{provide:AnimationEngine,useClass:(()=>{var _class3;class InjectableAnimationEngine2 extends AnimationEngine{constructor(doc,driver,normalizer,appRef){super(doc.body,driver,normalizer)}ngOnDestroy(){this.flush()}}return(_class3=InjectableAnimationEngine2).\u0275fac=function(t){return new(t||_class3)(core_inject(common_DOCUMENT),core_inject(AnimationDriver),core_inject(AnimationStyleNormalizer),core_inject(core_ApplicationRef))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac}),InjectableAnimationEngine2})()},{provide:RendererFactory2,useFactory:function instantiateRendererFactory(renderer,engine,zone){return new AnimationRendererFactory(renderer,engine,zone)},deps:[DomRendererFactory2,AnimationEngine,core_NgZone]}],BROWSER_ANIMATIONS_PROVIDERS=[{provide:AnimationDriver,useFactory:()=>new WebAnimationsDriver},{provide:core_ANIMATION_MODULE_TYPE,useValue:"BrowserAnimations"},...SHARED_ANIMATION_PROVIDERS],BROWSER_NOOP_ANIMATIONS_PROVIDERS=[{provide:AnimationDriver,useClass:NoopAnimationDriver},{provide:core_ANIMATION_MODULE_TYPE,useValue:"NoopAnimations"},...SHARED_ANIMATION_PROVIDERS];let BrowserAnimationsModule=(()=>{var _class4;class BrowserAnimationsModule2{static withConfig(config2){return{ngModule:BrowserAnimationsModule2,providers:config2.disableAnimations?BROWSER_NOOP_ANIMATIONS_PROVIDERS:BROWSER_ANIMATIONS_PROVIDERS}}}return(_class4=BrowserAnimationsModule2).\u0275fac=function(t){return new(t||_class4)},_class4.\u0275mod=\u0275\u0275defineNgModule({type:_class4}),_class4.\u0275inj=\u0275\u0275defineInjector({providers:BROWSER_ANIMATIONS_PROVIDERS,imports:[platform_browser_BrowserModule]}),BrowserAnimationsModule2})();const materia_ui_ngx_monaco_editor_c0=["editor"];let MonacoEditorLoaderService=(()=>{class MonacoEditorLoaderService2{constructor(ngZone,monacoPathConfig){this.ngZone=ngZone,this.monacoPathConfig=monacoPathConfig,this.isMonacoLoaded$=new BehaviorSubject_BehaviorSubject(!1),this._monacoPath="assets/monaco-editor/min/vs",window.monacoEditorAlreadyInitialized?ngZone.run(()=>this.isMonacoLoaded$.next(!0)):(window.monacoEditorAlreadyInitialized=!0,this.monacoPathConfig&&(this.monacoPath=this.monacoPathConfig),this.loadMonaco())}set monacoPath(value){value&&(this._monacoPath=value)}loadMonaco(){const onGotAmdLoader=()=>{let vsPath=this._monacoPath;window.amdRequire=window.require;const isElectron3=!!this.nodeRequire,isPathUrl=vsPath.includes("http");isElectron3&&(window.require=this.nodeRequire,isPathUrl||(vsPath=window.require("path").resolve(window.__dirname,this._monacoPath))),window.amdRequire.config({paths:{vs:vsPath}}),window.amdRequire(["vs/editor/editor.main"],()=>{this.ngZone.run(()=>this.isMonacoLoaded$.next(!0))},error=>console.error("Error loading monaco-editor: ",error))};if(window.amdRequire)return onGotAmdLoader();window.require&&(this.addElectronFixScripts(),this.nodeRequire=window.require);const loaderScript=document.createElement("script");loaderScript.type="text/javascript",loaderScript.src=`${this._monacoPath}/loader.js`,loaderScript.addEventListener("load",onGotAmdLoader),document.body.appendChild(loaderScript)}addElectronFixScripts(){const electronFixScript=document.createElement("script"),inlineScript=document.createTextNode("self.module = undefined;"),inlineScript2=document.createTextNode("self.process.browser = true;");electronFixScript.appendChild(inlineScript),electronFixScript.appendChild(inlineScript2),document.body.appendChild(electronFixScript)}}return MonacoEditorLoaderService2.\u0275fac=function(t){return new(t||MonacoEditorLoaderService2)(core_inject(core_NgZone),core_inject("MONACO_PATH",8))},MonacoEditorLoaderService2.\u0275prov=core_defineInjectable({token:MonacoEditorLoaderService2,factory:MonacoEditorLoaderService2.\u0275fac,providedIn:"root"}),MonacoEditorLoaderService2})(),MonacoEditorComponent=(()=>{class MonacoEditorComponent2{constructor(monacoLoader){this.monacoLoader=monacoLoader,this.init=new core_EventEmitter,this.onTouched=()=>{},this.onErrorStatusChange=()=>{},this.propagateChange=()=>{}}get model(){return this.editor&&this.editor.getModel()}get modelMarkers(){return this.model&&monaco.editor.getModelMarkers({resource:this.model.uri})}ngOnInit(){this.monacoLoader.isMonacoLoaded$.pipe(filter_filter(isLoaded=>isLoaded),take_take(1)).subscribe(()=>{this.initEditor()})}ngOnChanges(changes){if(this.editor&&changes.options&&!changes.options.firstChange){const{language:toLanguage,theme:toTheme,...options}=changes.options.currentValue,{language:fromLanguage,theme:fromTheme}=changes.options.previousValue;fromLanguage!==toLanguage&&monaco.editor.setModelLanguage(this.editor.getModel(),this.options&&this.options.language?this.options.language:"text"),fromTheme!==toTheme&&monaco.editor.setTheme(toTheme),this.editor.updateOptions(options)}if(this.editor&&changes.uri){const toUri=changes.uri.currentValue,fromUri=changes.uri.previousValue;if(fromUri&&!toUri||!fromUri&&toUri||toUri&&fromUri&&toUri.path!==fromUri.path){const value=this.editor.getValue();let existingModel;this.modelUriInstance&&this.modelUriInstance.dispose(),toUri&&(existingModel=monaco.editor.getModels().find(model=>model.uri.path===toUri.path)),this.modelUriInstance=existingModel||monaco.editor.createModel(value,this.options.language||"text",this.uri),this.editor.setModel(this.modelUriInstance)}}}writeValue(value){this.value=value,this.editor&&value?this.editor.setValue(value):this.editor&&this.editor.setValue("")}registerOnChange(fn){this.propagateChange=fn}registerOnTouched(fn){this.onTouched=fn}validate(){return this.parsedError?{monaco:{value:this.parsedError.split("|")}}:null}registerOnValidatorChange(fn){this.onErrorStatusChange=fn}initEditor(){const options={value:[this.value].join("\n"),language:"text",automaticLayout:!0,scrollBeyondLastLine:!1,theme:"vc"};this.editor=monaco.editor.create(this.editorContent.nativeElement,this.options?{...options,...this.options}:options),this.registerEditorListeners(),this.init.emit(this.editor)}registerEditorListeners(){this.editor.onDidChangeModelContent(()=>{this.propagateChange(this.editor.getValue())}),this.editor.onDidChangeModelDecorations(()=>{const currentParsedError=this.modelMarkers.map(({message})=>message).join("|");this.parsedError!==currentParsedError&&(this.parsedError=currentParsedError,this.onErrorStatusChange())}),this.editor.onDidBlurEditorText(()=>{this.onTouched()})}ngOnDestroy(){this.editor&&this.editor.dispose()}}return MonacoEditorComponent2.\u0275fac=function(t){return new(t||MonacoEditorComponent2)(\u0275\u0275directiveInject(MonacoEditorLoaderService))},MonacoEditorComponent2.\u0275cmp=\u0275\u0275defineComponent({type:MonacoEditorComponent2,selectors:[["ngx-monaco-editor"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(materia_ui_ngx_monaco_editor_c0,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.editorContent=_t.first)}},inputs:{options:"options",uri:"uri"},outputs:{init:"init"},features:[\u0275\u0275ProvidersFeature([{provide:NG_VALUE_ACCESSOR,useExisting:core_forwardRef(()=>MonacoEditorComponent2),multi:!0},{provide:NG_VALIDATORS,useExisting:core_forwardRef(()=>MonacoEditorComponent2),multi:!0}]),\u0275\u0275NgOnChangesFeature],decls:4,vars:0,consts:[["fxFlex","",1,"editor-container"],["container",""],[1,"monaco-editor"],["editor",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0,1),\u0275\u0275element(2,"div",2,3),\u0275\u0275elementEnd())},styles:[".monaco-editor[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.editor-container[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:table;width:100%;height:100%;min-width:0}"],changeDetection:0}),MonacoEditorComponent2})(),MonacoEditorModule=(()=>{class MonacoEditorModule2{}return MonacoEditorModule2.\u0275fac=function(t){return new(t||MonacoEditorModule2)},MonacoEditorModule2.\u0275mod=\u0275\u0275defineNgModule({type:MonacoEditorModule2}),MonacoEditorModule2.\u0275inj=\u0275\u0275defineInjector({imports:[[]]}),MonacoEditorModule2})();const angular_split_c0=["gutterEls"];function _class_ng_template_1_div_0_Template(rf,ctx){if(1&rf){const _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",2,3),\u0275\u0275listener("keydown",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().startKeyboardDrag($event,2*index_r2+1,index_r2+1))})("mousedown",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().startMouseDrag($event,2*index_r2+1,index_r2+1))})("touchstart",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().startMouseDrag($event,2*index_r2+1,index_r2+1))})("mouseup",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().clickGutter($event,index_r2+1))})("touchend",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().clickGutter($event,index_r2+1))}),\u0275\u0275element(2,"div",4),\u0275\u0275elementEnd()}if(2&rf){const ctx_r17=\u0275\u0275nextContext(),index_r2=ctx_r17.index,area_r1=ctx_r17.$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275styleProp("flex-basis",ctx_r4.gutterSize,"px")("order",2*index_r2+1),\u0275\u0275attribute("aria-label",ctx_r4.gutterAriaLabel)("aria-orientation",ctx_r4.direction)("aria-valuemin",area_r1.minSize)("aria-valuemax",area_r1.maxSize)("aria-valuenow",area_r1.size)("aria-valuetext",ctx_r4.getAriaAreaSizeText(area_r1.size))}}function _class_ng_template_1_Template(rf,ctx){1&rf&&\u0275\u0275template(0,_class_ng_template_1_div_0_Template,3,10,"div",1),2&rf&&\u0275\u0275property("ngIf",!1===ctx.last)}const angular_split_c1=["*"];function getPointFromEvent(event){if(void 0!==event.changedTouches&&event.changedTouches.length>0)return{x:event.changedTouches[0].clientX,y:event.changedTouches[0].clientY};if(void 0!==event.clientX&&void 0!==event.clientY)return{x:event.clientX,y:event.clientY};if(void 0!==event.currentTarget){const gutterEl=event.currentTarget;return{x:gutterEl.offsetLeft,y:gutterEl.offsetTop}}return null}function pointDeltaEquals(lhs,rhs,deltaPx){return Math.abs(lhs.x-rhs.x)<=deltaPx&&Math.abs(lhs.y-rhs.y)<=deltaPx}function getElementPixelSize(elRef,direction){const rect=elRef.nativeElement.getBoundingClientRect();return"horizontal"===direction?rect.width:rect.height}function getInputBoolean(v){return"boolean"==typeof v?v:"false"!==v}function getInputPositiveNumber(v,defaultValue){return null==v?defaultValue:(v=Number(v),!isNaN(v)&&v>=0?v:defaultValue)}function isUserSizesValid(unit,sizes){if("percent"===unit){const total=sizes.reduce((total2,s)=>"*"!==s?total2+s:total2,0),wildcardSizeAreas=sizes.filter(size=>"*"===size);return!(wildcardSizeAreas.length>1)&&(1===wildcardSizeAreas.length||total>99.9)&&total<100.1}if("pixel"===unit)return 1===sizes.filter(s=>"*"===s).length}function getAreaMinSize(a){return"*"===a.size?null:!0===a.component.lockSize?a.size:null===a.component.minSize?null:a.component.minSize>a.size?a.size:a.component.minSize}function getAreaMaxSize(a){return"*"===a.size?null:!0===a.component.lockSize?a.size:null===a.component.maxSize?null:a.component.maxSize{const res=function getAreaAbsorptionCapacity(unit,areaSnapshot,pixels,allAreasSizePixel){return 0===pixels?{areaSnapshot,pixelAbsorb:0,percentAfterAbsorption:areaSnapshot.sizePercentAtStart,pixelRemain:0}:0===areaSnapshot.sizePixelAtStart&&pixels<0?{areaSnapshot,pixelAbsorb:0,percentAfterAbsorption:0,pixelRemain:pixels}:"percent"===unit?function getAreaAbsorptionCapacityPercent(areaSnapshot,pixels,allAreasSizePixel){const tempPercentSize=(areaSnapshot.sizePixelAtStart+pixels)/allAreasSizePixel*100;if(pixels>0){if(null!==areaSnapshot.area.maxSize&&tempPercentSize>areaSnapshot.area.maxSize){const maxSizePixel=areaSnapshot.area.maxSize/100*allAreasSizePixel;return{areaSnapshot,pixelAbsorb:maxSizePixel,percentAfterAbsorption:areaSnapshot.area.maxSize,pixelRemain:areaSnapshot.sizePixelAtStart+pixels-maxSizePixel}}return{areaSnapshot,pixelAbsorb:pixels,percentAfterAbsorption:tempPercentSize>100?100:tempPercentSize,pixelRemain:0}}if(pixels<0){if(null!==areaSnapshot.area.minSize&&tempPercentSize0?null!==areaSnapshot.area.maxSize&&tempPixelSize>areaSnapshot.area.maxSize?{areaSnapshot,pixelAbsorb:areaSnapshot.area.maxSize-areaSnapshot.sizePixelAtStart,percentAfterAbsorption:-1,pixelRemain:tempPixelSize-areaSnapshot.area.maxSize}:{areaSnapshot,pixelAbsorb:pixels,percentAfterAbsorption:-1,pixelRemain:0}:pixels<0?null!==areaSnapshot.area.minSize&&tempPixelSize{var _class2;class SplitComponent2{set direction(v){this._direction="vertical"===v?"vertical":"horizontal",this.renderer.addClass(this.elRef.nativeElement,`as-${this._direction}`),this.renderer.removeClass(this.elRef.nativeElement,"as-"+("vertical"===this._direction?"horizontal":"vertical")),this.build(!1,!1)}get direction(){return this._direction}set unit(v){this._unit="pixel"===v?"pixel":"percent",this.renderer.addClass(this.elRef.nativeElement,`as-${this._unit}`),this.renderer.removeClass(this.elRef.nativeElement,"as-"+("pixel"===this._unit?"percent":"pixel")),this.build(!1,!0)}get unit(){return this._unit}set gutterSize(v){this._gutterSize=getInputPositiveNumber(v,11),this.build(!1,!1)}get gutterSize(){return this._gutterSize}set gutterStep(v){this._gutterStep=getInputPositiveNumber(v,1)}get gutterStep(){return this._gutterStep}set restrictMove(v){this._restrictMove=getInputBoolean(v)}get restrictMove(){return this._restrictMove}set useTransition(v){this._useTransition=getInputBoolean(v),this._useTransition?this.renderer.addClass(this.elRef.nativeElement,"as-transition"):this.renderer.removeClass(this.elRef.nativeElement,"as-transition")}get useTransition(){return this._useTransition}set disabled(v){this._disabled=getInputBoolean(v),this._disabled?this.renderer.addClass(this.elRef.nativeElement,"as-disabled"):this.renderer.removeClass(this.elRef.nativeElement,"as-disabled")}get disabled(){return this._disabled}set dir(v){this._dir="rtl"===v?"rtl":"ltr",this.renderer.setAttribute(this.elRef.nativeElement,"dir",this._dir)}get dir(){return this._dir}set gutterDblClickDuration(v){this._gutterDblClickDuration=getInputPositiveNumber(v,0)}get gutterDblClickDuration(){return this._gutterDblClickDuration}get transitionEnd(){return new Observable_Observable(subscriber=>this.transitionEndSubscriber=subscriber).pipe(debounceTime(20))}constructor(ngZone,elRef,cdRef,renderer,globalConfig){this.ngZone=ngZone,this.elRef=elRef,this.cdRef=cdRef,this.renderer=renderer,this.gutterClickDeltaPx=2,this._config={direction:"horizontal",unit:"percent",gutterSize:11,gutterStep:1,restrictMove:!1,useTransition:!1,disabled:!1,dir:"ltr",gutterDblClickDuration:0},this.dragStart=new core_EventEmitter(!1),this.dragEnd=new core_EventEmitter(!1),this.gutterClick=new core_EventEmitter(!1),this.gutterDblClick=new core_EventEmitter(!1),this.dragProgressSubject=new Subject_Subject,this.dragProgress$=this.dragProgressSubject.asObservable(),this.isDragging=!1,this.isWaitingClear=!1,this.isWaitingInitialMove=!1,this.dragListeners=[],this.snapshot=null,this.startPoint=null,this.endPoint=null,this.displayedAreas=[],this.hiddenAreas=[],this._clickTimeout=null,this.direction=this._direction,this._config=globalConfig?Object.assign(this._config,globalConfig):this._config,Object.keys(this._config).forEach(property=>{this[property]=this._config[property]})}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>{setTimeout(()=>this.renderer.addClass(this.elRef.nativeElement,"as-init"))})}getNbGutters(){return 0===this.displayedAreas.length?0:this.displayedAreas.length-1}addArea(component){const newArea={component,order:0,size:0,minSize:null,maxSize:null,sizeBeforeCollapse:null,gutterBeforeCollapse:0};!0===component.visible?(this.displayedAreas.push(newArea),this.build(!0,!0)):this.hiddenAreas.push(newArea)}removeArea(component){if(this.displayedAreas.some(a=>a.component===component)){const area=this.displayedAreas.find(a=>a.component===component);this.displayedAreas.splice(this.displayedAreas.indexOf(area),1),this.build(!0,!0)}else if(this.hiddenAreas.some(a=>a.component===component)){const area=this.hiddenAreas.find(a=>a.component===component);this.hiddenAreas.splice(this.hiddenAreas.indexOf(area),1)}}updateArea(component,resetOrders,resetSizes){!0===component.visible&&this.build(resetOrders,resetSizes)}showArea(component){const area=this.hiddenAreas.find(a=>a.component===component);if(void 0===area)return;const areas=this.hiddenAreas.splice(this.hiddenAreas.indexOf(area),1);this.displayedAreas.push(...areas),this.build(!0,!0)}hideArea(comp){const area=this.displayedAreas.find(a=>a.component===comp);if(void 0===area)return;const areas=this.displayedAreas.splice(this.displayedAreas.indexOf(area),1);areas.forEach(item=>{item.order=0,item.size=0}),this.hiddenAreas.push(...areas),this.build(!0,!0)}getVisibleAreaSizes(){return this.displayedAreas.map(a=>a.size)}setVisibleAreaSizes(sizes){if(sizes.length!==this.displayedAreas.length)return!1;const formattedSizes=sizes.map(s=>getInputPositiveNumber(s,"*"));return!1!==isUserSizesValid(this.unit,formattedSizes)&&(this.displayedAreas.forEach((area,i6)=>area.component._size=formattedSizes[i6]),this.build(!1,!0),!0)}build(resetOrders,resetSizes){if(this.stopDragging(),!0===resetOrders&&(this.displayedAreas.every(a=>null!==a.component.order)&&this.displayedAreas.sort((a,b)=>a.component.order-b.component.order),this.displayedAreas.forEach((area,i6)=>{area.order=2*i6,area.component.setStyleOrder(area.order)})),!0===resetSizes){const useUserSizes=isUserSizesValid(this.unit,this.displayedAreas.map(a=>a.component.size));switch(this.unit){case"percent":{const defaultSize=100/this.displayedAreas.length;this.displayedAreas.forEach(area=>{area.size=useUserSizes?area.component.size:defaultSize,area.minSize=getAreaMinSize(area),area.maxSize=getAreaMaxSize(area)});break}case"pixel":if(useUserSizes)this.displayedAreas.forEach(area=>{area.size=area.component.size,area.minSize=getAreaMinSize(area),area.maxSize=getAreaMaxSize(area)});else{const wildcardSizeAreas=this.displayedAreas.filter(a=>"*"===a.component.size);if(0===wildcardSizeAreas.length&&this.displayedAreas.length>0)this.displayedAreas.forEach((area,i6)=>{area.size=0===i6?"*":area.component.size,area.minSize=0===i6?null:getAreaMinSize(area),area.maxSize=0===i6?null:getAreaMaxSize(area)});else if(wildcardSizeAreas.length>1){let alreadyGotOne=!1;this.displayedAreas.forEach(area=>{"*"===area.component.size?!1===alreadyGotOne?(area.size="*",area.minSize=null,area.maxSize=null,alreadyGotOne=!0):(area.size=100,area.minSize=null,area.maxSize=null):(area.size=area.component.size,area.minSize=getAreaMinSize(area),area.maxSize=getAreaMaxSize(area))})}}}}this.refreshStyleSizes(),this.cdRef.markForCheck()}refreshStyleSizes(){if("percent"===this.unit)if(1===this.displayedAreas.length)this.displayedAreas[0].component.setStyleFlex(0,0,"100%",!1,!1);else{const sumGutterSize=this.getNbGutters()*this.gutterSize;this.displayedAreas.forEach(area=>{"*"===area.size?area.component.setStyleFlex(1,1,1===this.displayedAreas.length?"100%":"auto",!1,!1):area.component.setStyleFlex(0,0,`calc( ${area.size}% - ${area.size/100*sumGutterSize}px )`,null!==area.minSize&&area.minSize===area.size,null!==area.maxSize&&area.maxSize===area.size)})}else"pixel"===this.unit&&this.displayedAreas.forEach(area=>{"*"===area.size?area.component.setStyleFlex(1,1,1===this.displayedAreas.length?"100%":"auto",!1,!1):1===this.displayedAreas.length?area.component.setStyleFlex(0,0,"100%",!1,!1):area.component.setStyleFlex(0,0,`${area.size}px`,null!==area.minSize&&area.minSize===area.size,null!==area.maxSize&&area.maxSize===area.size)})}clickGutter(event,gutterNum){const tempPoint=getPointFromEvent(event);this.startPoint&&pointDeltaEquals(this.startPoint,tempPoint,this.gutterClickDeltaPx)&&(!this.isDragging||this.isWaitingInitialMove)&&(null!==this._clickTimeout?(window.clearTimeout(this._clickTimeout),this._clickTimeout=null,this.notify("dblclick",gutterNum),this.stopDragging()):this._clickTimeout=window.setTimeout(()=>{this._clickTimeout=null,this.notify("click",gutterNum),this.stopDragging()},this.gutterDblClickDuration))}startKeyboardDrag(event,gutterOrder,gutterNum){if(!0===this.disabled||!0===this.isWaitingClear)return;const endPoint=function getKeyboardEndpoint(event,direction){if("horizontal"===direction)switch(event.key){case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":break;default:return null}if("vertical"===direction)switch(event.key){case"ArrowUp":case"ArrowDown":case"PageUp":case"PageDown":break;default:return null}const gutterEl=event.currentTarget,offset="PageUp"===event.key||"PageDown"===event.key?500:50;let offsetX=gutterEl.offsetLeft,offsetY=gutterEl.offsetTop;switch(event.key){case"ArrowLeft":offsetX-=offset;break;case"ArrowRight":offsetX+=offset;break;case"ArrowUp":offsetY-=offset;break;case"ArrowDown":offsetY+=offset;break;case"PageUp":"vertical"===direction?offsetY-=offset:offsetX+=offset;break;case"PageDown":"vertical"===direction?offsetY+=offset:offsetX-=offset;break;default:return null}return{x:offsetX,y:offsetY}}(event,this.direction);null!==endPoint&&(this.endPoint=endPoint,this.startPoint=getPointFromEvent(event),event.preventDefault(),event.stopPropagation(),this.setupForDragEvent(gutterOrder,gutterNum),this.startDragging(),this.drag(),this.stopDragging())}startMouseDrag(event,gutterOrder,gutterNum){event.preventDefault(),event.stopPropagation(),this.startPoint=getPointFromEvent(event),null!==this.startPoint&&!0!==this.disabled&&!0!==this.isWaitingClear&&(this.setupForDragEvent(gutterOrder,gutterNum),this.dragListeners.push(this.renderer.listen("document","mouseup",this.stopDragging.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchend",this.stopDragging.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchcancel",this.stopDragging.bind(this))),this.ngZone.runOutsideAngular(()=>{this.dragListeners.push(this.renderer.listen("document","mousemove",this.mouseDragEvent.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchmove",this.mouseDragEvent.bind(this)))}),this.startDragging())}setupForDragEvent(gutterOrder,gutterNum){if(this.snapshot={gutterNum,lastSteppedOffset:0,allAreasSizePixel:getElementPixelSize(this.elRef,this.direction)-this.getNbGutters()*this.gutterSize,allInvolvedAreasSizePercent:100,areasBeforeGutter:[],areasAfterGutter:[]},this.displayedAreas.forEach(area=>{const areaSnapshot={area,sizePixelAtStart:getElementPixelSize(area.component.elRef,this.direction),sizePercentAtStart:"percent"===this.unit?area.size:-1};area.ordergutterOrder&&(!0===this.restrictMove?0===this.snapshot.areasAfterGutter.length&&(this.snapshot.areasAfterGutter=[areaSnapshot]):this.snapshot.areasAfterGutter.push(areaSnapshot))}),this.restrictMove&&"percent"===this.unit){const areaSnapshotBefore=this.snapshot.areasBeforeGutter[0],areaSnapshotAfter=this.snapshot.areasAfterGutter[0];if("*"===areaSnapshotBefore.area.size||"*"===areaSnapshotAfter.area.size){const notInvolvedAreasSizesPercent=this.displayedAreas.reduce((accum,area)=>areaSnapshotBefore.area!==area&&areaSnapshotAfter.area!==area?accum+area.size:accum,0);this.snapshot.allInvolvedAreasSizePercent=100-notInvolvedAreasSizesPercent}else this.snapshot.allInvolvedAreasSizePercent=[...this.snapshot.areasBeforeGutter,...this.snapshot.areasAfterGutter].reduce((t,a)=>t+a.sizePercentAtStart,0)}}startDragging(){this.displayedAreas.forEach(area=>area.component.lockEvents()),this.isDragging=!0,this.isWaitingInitialMove=!0}mouseDragEvent(event){event.preventDefault(),event.stopPropagation();const tempPoint=getPointFromEvent(event);null!==this._clickTimeout&&!pointDeltaEquals(this.startPoint,tempPoint,this.gutterClickDeltaPx)&&(window.clearTimeout(this._clickTimeout),this._clickTimeout=null),!1!==this.isDragging&&(this.endPoint=getPointFromEvent(event),null!==this.endPoint&&this.drag())}drag(){if(this.isWaitingInitialMove){if(this.startPoint.x===this.endPoint.x&&this.startPoint.y===this.endPoint.y)return;this.ngZone.run(()=>{this.isWaitingInitialMove=!1,this.renderer.addClass(this.elRef.nativeElement,"as-dragging"),this.renderer.addClass(this.gutterEls.toArray()[this.snapshot.gutterNum-1].nativeElement,"as-dragged"),this.notify("start",this.snapshot.gutterNum)})}let offset="horizontal"===this.direction?this.startPoint.x-this.endPoint.x:this.startPoint.y-this.endPoint.y;"rtl"===this.dir&&"horizontal"===this.direction&&(offset=-offset);const steppedOffset=Math.round(offset/this.gutterStep)*this.gutterStep;if(steppedOffset===this.snapshot.lastSteppedOffset)return;this.snapshot.lastSteppedOffset=steppedOffset;let areasBefore=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasBeforeGutter,-steppedOffset,this.snapshot.allAreasSizePixel),areasAfter=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasAfterGutter,steppedOffset,this.snapshot.allAreasSizePixel);if(0!==areasBefore.remain&&0!==areasAfter.remain?Math.abs(areasBefore.remain)===Math.abs(areasAfter.remain)||(Math.abs(areasBefore.remain)>Math.abs(areasAfter.remain)?areasAfter=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasAfterGutter,steppedOffset+areasBefore.remain,this.snapshot.allAreasSizePixel):areasBefore=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasBeforeGutter,-(steppedOffset-areasAfter.remain),this.snapshot.allAreasSizePixel)):0!==areasBefore.remain?areasAfter=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasAfterGutter,steppedOffset+areasBefore.remain,this.snapshot.allAreasSizePixel):0!==areasAfter.remain&&(areasBefore=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasBeforeGutter,-(steppedOffset-areasAfter.remain),this.snapshot.allAreasSizePixel)),"percent"===this.unit){const all=[...areasBefore.list,...areasAfter.list],areaToReset=all.find(a=>"*"==a.percentAfterAbsorption)??all.find(a=>0!==a.percentAfterAbsorption&&a.percentAfterAbsorption!==a.areaSnapshot.area.minSize&&a.percentAfterAbsorption!==a.areaSnapshot.area.maxSize);areaToReset&&(areaToReset.percentAfterAbsorption=this.snapshot.allInvolvedAreasSizePercent-all.filter(a=>a!==areaToReset).reduce((total,a)=>total+a.percentAfterAbsorption,0))}areasBefore.list.forEach(item=>updateAreaSize(this.unit,item)),areasAfter.list.forEach(item=>updateAreaSize(this.unit,item)),this.refreshStyleSizes(),this.notify("progress",this.snapshot.gutterNum)}stopDragging(event){if(event&&(event.preventDefault(),event.stopPropagation()),!1!==this.isDragging){for(this.displayedAreas.forEach(area=>area.component.unlockEvents());this.dragListeners.length>0;){const fct=this.dragListeners.pop();fct&&fct()}this.isDragging=!1,!1===this.isWaitingInitialMove&&this.notify("end",this.snapshot.gutterNum),this.renderer.removeClass(this.elRef.nativeElement,"as-dragging"),this.renderer.removeClass(this.gutterEls.toArray()[this.snapshot.gutterNum-1].nativeElement,"as-dragged"),this.snapshot=null,this.isWaitingClear=!0,this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.startPoint=null,this.endPoint=null,this.isWaitingClear=!1})})}}notify(type,gutterNum){const sizes=this.getVisibleAreaSizes();"start"===type?this.dragStart.emit({gutterNum,sizes}):"end"===type?this.dragEnd.emit({gutterNum,sizes}):"click"===type?this.gutterClick.emit({gutterNum,sizes}):"dblclick"===type?this.gutterDblClick.emit({gutterNum,sizes}):"transitionEnd"===type?this.transitionEndSubscriber&&this.ngZone.run(()=>this.transitionEndSubscriber.next(sizes)):"progress"===type&&this.dragProgressSubject.next({gutterNum,sizes})}ngOnDestroy(){this.stopDragging()}collapseArea(comp,newSize,gutter){const area=this.displayedAreas.find(a=>a.component===comp);if(void 0===area)return;const whichGutter="right"===gutter?1:-1;area.sizeBeforeCollapse||(area.sizeBeforeCollapse=area.size,area.gutterBeforeCollapse=whichGutter),area.size=newSize;const gtr=this.gutterEls.find(f=>f.nativeElement.style.order===`${area.order+whichGutter}`);gtr&&this.renderer.addClass(gtr.nativeElement,"as-split-gutter-collapsed"),this.updateArea(comp,!1,!1)}expandArea(comp){const area=this.displayedAreas.find(a=>a.component===comp);if(void 0===area||!area.sizeBeforeCollapse)return;area.size=area.sizeBeforeCollapse,area.sizeBeforeCollapse=null;const gtr=this.gutterEls.find(f=>f.nativeElement.style.order===`${area.order+area.gutterBeforeCollapse}`);gtr&&this.renderer.removeClass(gtr.nativeElement,"as-split-gutter-collapsed"),this.updateArea(comp,!1,!1)}getAriaAreaSizeText(size){return"*"===size?null:size.toFixed(0)+" "+this.unit}}return(_class2=SplitComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(ANGULAR_SPLIT_DEFAULT_OPTIONS,8))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["as-split"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(angular_split_c0,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.gutterEls=_t)}},inputs:{direction:"direction",unit:"unit",gutterSize:"gutterSize",gutterStep:"gutterStep",restrictMove:"restrictMove",useTransition:"useTransition",disabled:"disabled",dir:"dir",gutterDblClickDuration:"gutterDblClickDuration",gutterClickDeltaPx:"gutterClickDeltaPx",gutterAriaLabel:"gutterAriaLabel"},outputs:{transitionEnd:"transitionEnd",dragStart:"dragStart",dragEnd:"dragEnd",gutterClick:"gutterClick",gutterDblClick:"gutterDblClick"},exportAs:["asSplit"],ngContentSelectors:angular_split_c1,decls:2,vars:1,consts:[["ngFor","",3,"ngForOf"],["role","separator","tabindex","0","class","as-split-gutter",3,"flex-basis","order","keydown","mousedown","touchstart","mouseup","touchend",4,"ngIf"],["role","separator","tabindex","0",1,"as-split-gutter",3,"keydown","mousedown","touchstart","mouseup","touchend"],["gutterEls",""],[1,"as-split-gutter-icon"]],template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275projection(0),\u0275\u0275template(1,_class_ng_template_1_Template,1,1,"ng-template",0)),2&rf&&(\u0275\u0275advance(1),\u0275\u0275property("ngForOf",ctx.displayedAreas))},dependencies:[NgForOf,NgIf],styles:["[_nghost-%COMP%]{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%]{border:none;flex-grow:0;flex-shrink:0;background-color:#eee;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] > .as-split-gutter.as-split-gutter-collapsed[_ngcontent-%COMP%]{flex-basis:1px!important;pointer-events:none}[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%] > .as-split-gutter-icon[_ngcontent-%COMP%]{width:100%;height:100%;background-position:center center;background-repeat:no-repeat}[_nghost-%COMP%] >.as-split-area{flex-grow:0;flex-shrink:0;overflow-x:hidden;overflow-y:auto}[_nghost-%COMP%] >.as-split-area.as-hidden{flex:0 1 0px!important;overflow-x:hidden;overflow-y:hidden}[_nghost-%COMP%] >.as-split-area .iframe-fix{position:absolute;top:0;left:0;width:100%;height:100%}.as-horizontal[_nghost-%COMP%]{flex-direction:row}.as-horizontal[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%]{flex-direction:row;cursor:col-resize;height:100%}.as-horizontal[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%] > .as-split-gutter-icon[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.as-horizontal[_nghost-%COMP%] >.as-split-area{height:100%}.as-vertical[_nghost-%COMP%]{flex-direction:column}.as-vertical[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%]{flex-direction:column;cursor:row-resize;width:100%}.as-vertical[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%] .as-split-gutter-icon[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.as-vertical[_nghost-%COMP%] >.as-split-area{width:100%}.as-vertical[_nghost-%COMP%] >.as-split-area.as-hidden{max-width:0}.as-disabled[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%]{cursor:default}.as-disabled[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%] .as-split-gutter-icon[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.as-transition.as-init[_nghost-%COMP%]:not(.as-dragging) > .as-split-gutter[_ngcontent-%COMP%], .as-transition.as-init[_nghost-%COMP%]:not(.as-dragging) >.as-split-area{transition:flex-basis .3s}"],changeDetection:0}),SplitComponent2})(),SplitAreaDirective=(()=>{var _class2;class SplitAreaDirective2{set order(v){this._order=getInputPositiveNumber(v,null),this.split.updateArea(this,!0,!1)}get order(){return this._order}set size(v){this._size=getInputPositiveNumber(v,"*"),this.split.updateArea(this,!1,!0)}get size(){return this._size}set minSize(v){this._minSize=getInputPositiveNumber(v,null),this.split.updateArea(this,!1,!0)}get minSize(){return this._minSize}set maxSize(v){this._maxSize=getInputPositiveNumber(v,null),this.split.updateArea(this,!1,!0)}get maxSize(){return this._maxSize}set lockSize(v){this._lockSize=getInputBoolean(v),this.split.updateArea(this,!1,!0)}get lockSize(){return this._lockSize}set visible(v){this._visible=getInputBoolean(v),this._visible?(this.split.showArea(this),this.renderer.removeClass(this.elRef.nativeElement,"as-hidden")):(this.split.hideArea(this),this.renderer.addClass(this.elRef.nativeElement,"as-hidden"))}get visible(){return this._visible}constructor(ngZone,elRef,renderer,split2){this.ngZone=ngZone,this.elRef=elRef,this.renderer=renderer,this.split=split2,this._order=null,this._size="*",this._minSize=null,this._maxSize=null,this._lockSize=!1,this._visible=!0,this.lockListeners=[],this.renderer.addClass(this.elRef.nativeElement,"as-split-area")}ngOnInit(){this.split.addArea(this),this.ngZone.runOutsideAngular(()=>{this.transitionListener=this.renderer.listen(this.elRef.nativeElement,"transitionend",event=>{"flex-basis"===event.propertyName&&this.split.notify("transitionEnd",-1)})});const iframeFixDiv=this.renderer.createElement("div");this.renderer.addClass(iframeFixDiv,"iframe-fix"),this.dragStartSubscription=this.split.dragStart.subscribe(()=>{this.renderer.setStyle(this.elRef.nativeElement,"position","relative"),this.renderer.appendChild(this.elRef.nativeElement,iframeFixDiv)}),this.dragEndSubscription=this.split.dragEnd.subscribe(()=>{this.renderer.removeStyle(this.elRef.nativeElement,"position"),this.renderer.removeChild(this.elRef.nativeElement,iframeFixDiv)})}setStyleOrder(value){this.renderer.setStyle(this.elRef.nativeElement,"order",value)}setStyleFlex(grow,shrink,basis,isMin,isMax){this.renderer.setStyle(this.elRef.nativeElement,"flex-grow",grow),this.renderer.setStyle(this.elRef.nativeElement,"flex-shrink",shrink),this.renderer.setStyle(this.elRef.nativeElement,"flex-basis",basis),!0===isMin?this.renderer.addClass(this.elRef.nativeElement,"as-min"):this.renderer.removeClass(this.elRef.nativeElement,"as-min"),!0===isMax?this.renderer.addClass(this.elRef.nativeElement,"as-max"):this.renderer.removeClass(this.elRef.nativeElement,"as-max")}lockEvents(){this.ngZone.runOutsideAngular(()=>{this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement,"selectstart",()=>!1)),this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement,"dragstart",()=>!1))})}unlockEvents(){for(;this.lockListeners.length>0;){const fct=this.lockListeners.pop();fct&&fct()}}ngOnDestroy(){this.unlockEvents(),this.transitionListener&&this.transitionListener(),this.dragStartSubscription?.unsubscribe(),this.dragEndSubscription?.unsubscribe(),this.split.removeArea(this)}collapse(newSize=0,gutter="right"){this.split.collapseArea(this,newSize,gutter)}expand(){this.split.expandArea(this)}}return(_class2=SplitAreaDirective2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(SplitComponent))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["as-split-area"],["","as-split-area",""]],inputs:{order:"order",size:"size",minSize:"minSize",maxSize:"maxSize",lockSize:"lockSize",visible:"visible"},exportAs:["asSplitArea"]}),SplitAreaDirective2})(),AngularSplitModule=(()=>{var _class3;class AngularSplitModule2{}return(_class3=AngularSplitModule2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({imports:[common_CommonModule]}),AngularSplitModule2})();const angular_svg_icon_c0=["*"];class SvgLoader{}let SvgHttpLoader=(()=>{var _class2;class SvgHttpLoader2 extends SvgLoader{constructor(http){super(),this.http=http}getSvg(url){return this.http.get(url,{responseType:"text"})}}return(_class2=SvgHttpLoader2).\u0275fac=function(t){return new(t||_class2)(core_inject(HttpClient))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),SvgHttpLoader2})();const SERVER_URL=new InjectionToken("SERVER_URL");let SvgIconRegistryService=(()=>{var _class2;class SvgIconRegistryService2{constructor(loader,platformId,serverUrl,_document2){this.loader=loader,this.platformId=platformId,this.serverUrl=serverUrl,this._document=_document2,this.iconsByUrl=new Map,this.iconsLoadingByUrl=new Map,this.document=this._document}addSvg(name,data){if(!this.iconsByUrl.has(name)){const div=this.document.createElement("DIV");div.innerHTML=data;const svg=div.querySelector("svg");this.iconsByUrl.set(name,svg)}}loadSvg(url,name=url){if(this.serverUrl&&null===url.match(/^(http(s)?):/)&&(name=url=this.serverUrl+url),this.iconsByUrl.has(name))return of_of(this.iconsByUrl.get(name));if(this.iconsLoadingByUrl.has(name))return this.iconsLoadingByUrl.get(name);const o=this.loader.getSvg(url).pipe(map_map(svg=>{const div=this.document.createElement("DIV");return div.innerHTML=svg,div.querySelector("svg")}),tap_tap(svg=>this.iconsByUrl.set(name,svg)),catchError_catchError(err=>(console.error(err),throwError_throwError(err))),finalize(()=>this.iconsLoadingByUrl.delete(name)),share());return this.iconsLoadingByUrl.set(name,o),o}getSvgByName(name){return this.iconsByUrl.has(name)?of_of(this.iconsByUrl.get(name)):this.iconsLoadingByUrl.has(name)?this.iconsLoadingByUrl.get(name):throwError_throwError(`No svg with name '${name}' has been loaded`)}unloadSvg(url){this.iconsByUrl.has(url)&&this.iconsByUrl.delete(url)}}return(_class2=SvgIconRegistryService2).\u0275fac=function(t){return new(t||_class2)(core_inject(SvgLoader),core_inject(core_PLATFORM_ID),core_inject(SERVER_URL,8),core_inject(common_DOCUMENT,8))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),SvgIconRegistryService2})();const SVG_ICON_REGISTRY_PROVIDER={provide:SvgIconRegistryService,deps:[[new core_Optional,new core_SkipSelf,SvgIconRegistryService],SvgLoader,[core_PLATFORM_ID],[new core_Optional,SERVER_URL],[new core_Optional,common_DOCUMENT]],useFactory:function SVG_ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry,loader,platformId,serverUrl,document2){return parentRegistry||new SvgIconRegistryService(loader,platformId,serverUrl,document2)}};class SvgIconHelper{constructor(){this.loaded=!1}}let SvgIconComponent=(()=>{var _class3;class SvgIconComponent2{set svgStyle(values){this._svgStyle=values,!this.helper.differ&&values&&(this.helper.differ=this.differs.find(values).create())}constructor(element,differs,renderer,iconReg,cdr){this.element=element,this.differs=differs,this.renderer=renderer,this.iconReg=iconReg,this.cdr=cdr,this.stretch=!1,this.applyClass=!1,this.applyCss=!1,this.helper=new SvgIconHelper,this._svgStyle=null}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}ngOnChanges(changeRecord){const elemSvg=this.element.nativeElement.firstChild;(changeRecord.src||changeRecord.name)&&(this.helper.loaded&&this.destroy(),this.init()),changeRecord.stretch&&this.stylize(),changeRecord.applyClass&&(this.applyClass?this.setClass(elemSvg,null,this.klass):this.setClass(elemSvg,this.klass,null)),changeRecord.svgClass&&this.setClass(elemSvg,changeRecord.svgClass.previousValue,changeRecord.svgClass.currentValue),changeRecord.klass&&(this.setClass(this.element.nativeElement,changeRecord.klass.previousValue,changeRecord.klass.currentValue),this.setClass(elemSvg,changeRecord.klass.previousValue,this.applyClass?changeRecord.klass.currentValue:null)),changeRecord.viewBox&&(this.helper.loaded&&this.destroy(),this.init()),changeRecord.applyCss&&(console.warn("applyCss deprecated since 9.1.0, will be removed in 10.0.0"),console.warn("use applyClass instead")),changeRecord.svgAriaLabel&&this.doAria(changeRecord.svgAriaLabel.currentValue)}ngDoCheck(){if(this.helper.svg&&this.helper.differ){const changes=this.helper.differ.diff(this._svgStyle);changes&&this.applyChanges(changes)}}init(){if(this.name){const svgObs=this.iconReg.getSvgByName(this.name);svgObs&&(this.helper.icnSub=svgObs.subscribe(svg=>this.initSvg(svg)))}else if(this.src){const svgObs=this.iconReg.loadSvg(this.src);svgObs&&(this.helper.icnSub=svgObs.subscribe(svg=>this.initSvg(svg)))}else this.element.nativeElement.innerHTML="",this.cdr.markForCheck()}initSvg(svg){!this.helper.loaded&&svg&&(this.setSvg(svg),this.resetDiffer())}destroy(){this.helper.icnSub&&this.helper.icnSub.unsubscribe(),this.helper=new SvgIconHelper}resetDiffer(){this._svgStyle&&!this.helper.differ&&(this.helper.differ=this.differs.find(this._svgStyle).create())}setSvg(svg){if(!this.helper.loaded&&svg){this.helper.svg=svg;const icon=svg.cloneNode(!0),elem=this.element.nativeElement;if(elem.innerHTML="",this.renderer.appendChild(elem,icon),this.helper.loaded=!0,this.copyNgContentAttribute(elem,icon),this.klass&&this.applyClass&&this.setClass(elem.firstChild,null,this.klass),this.svgClass&&this.setClass(elem.firstChild,null,this.svgClass),this.viewBox)if("auto"===this.viewBox){const w=icon.getAttribute("width"),h=icon.getAttribute("height");h&&w&&(this.renderer.setAttribute(icon,"viewBox",`0 0 ${w} ${h}`),this.renderer.removeAttribute(icon,"width"),this.renderer.removeAttribute(icon,"height"))}else""!==this.viewBox&&(this.renderer.setAttribute(icon,"viewBox",this.viewBox),this.renderer.removeAttribute(icon,"width"),this.renderer.removeAttribute(icon,"height"));this.stylize(),void 0===this.svgAriaLabel&&elem.firstChild.hasAttribute("aria-label")||this.doAria(this.svgAriaLabel||""),this.cdr.markForCheck()}}copyNgContentAttribute(hostElem,icon){const attributes=hostElem.attributes,len=attributes.length;for(let i6=0;i6this.setStyle(record2.key,null)),changes.forEachAddedItem(record2=>this.setStyle(record2.key,record2.currentValue)),changes.forEachChangedItem(record2=>this.setStyle(record2.key,record2.currentValue))}setStyle(nameAndUnit,value){const[name,unit]=nameAndUnit.split("."),svg=this.element.nativeElement.firstChild;null!==(value=null!==value&&unit?`${value}${unit}`:value)?this.renderer.setStyle(svg,name,value):this.renderer.removeStyle(svg,name)}setClass(target,previous,current){if(target){if(previous){const klasses=(Array.isArray(previous)?previous:previous.split(" ")).filter(klass=>klass);for(const k of klasses)this.renderer.removeClass(target,k)}if(current){const klasses=(Array.isArray(current)?current:current.split(" ")).filter(klass=>klass);for(const k of klasses)this.renderer.addClass(target,k)}}}doAria(label){const svg=this.element.nativeElement.firstChild;svg&&(""===label?(this.renderer.setAttribute(svg,"aria-hidden","true"),this.renderer.removeAttribute(svg,"aria-label")):(this.renderer.removeAttribute(svg,"aria-hidden"),this.renderer.setAttribute(svg,"aria-label",label)))}}return(_class3=SvgIconComponent2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(KeyValueDiffers),\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(SvgIconRegistryService),\u0275\u0275directiveInject(ChangeDetectorRef))},_class3.\u0275cmp=\u0275\u0275defineComponent({type:_class3,selectors:[["svg-icon"]],inputs:{src:"src",name:"name",stretch:"stretch",applyClass:"applyClass",applyCss:"applyCss",svgClass:"svgClass",klass:["class","klass"],viewBox:"viewBox",svgAriaLabel:"svgAriaLabel",svgStyle:"svgStyle"},features:[\u0275\u0275NgOnChangesFeature],ngContentSelectors:angular_svg_icon_c0,decls:1,vars:0,template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275projection(0))},encapsulation:2}),SvgIconComponent2})(),AngularSvgIconModule=(()=>{var _class4;class AngularSvgIconModule2{static forRoot(config2={}){return{ngModule:AngularSvgIconModule2,providers:[SVG_ICON_REGISTRY_PROVIDER,config2.loader||{provide:SvgLoader,useClass:SvgHttpLoader}]}}}return(_class4=AngularSvgIconModule2).\u0275fac=function(t){return new(t||_class4)},_class4.\u0275mod=\u0275\u0275defineNgModule({type:_class4}),_class4.\u0275inj=\u0275\u0275defineInjector({imports:[common_CommonModule]}),AngularSvgIconModule2})();const EmptyError=createErrorClass(_super=>function(){_super(this),this.name="EmptyError",this.message="no elements in sequence"});function throwIfEmpty(errorFactory=defaultErrorFactory){return operate((source,subscriber)=>{let hasValue=!1;source.subscribe(createOperatorSubscriber(subscriber,value=>{hasValue=!0,subscriber.next(value)},()=>hasValue?subscriber.complete():subscriber.error(errorFactory())))})}function defaultErrorFactory(){return new EmptyError}function first_first(predicate,defaultValue){const hasDefaultValue=arguments.length>=2;return source=>source.pipe(predicate?filter_filter((v,i6)=>predicate(v,i6,source)):identity,take_take(1),hasDefaultValue?function defaultIfEmpty(defaultValue){return operate((source,subscriber)=>{let hasValue=!1;source.subscribe(createOperatorSubscriber(subscriber,value=>{hasValue=!0,subscriber.next(value)},()=>{hasValue||subscriber.next(defaultValue),subscriber.complete()}))})}(defaultValue):throwIfEmpty(()=>new EmptyError))}function repeat(countOrConfig){let delay,count=1/0;return null!=countOrConfig&&("object"==typeof countOrConfig?({count=1/0,delay}=countOrConfig):count=countOrConfig),count<=0?()=>EMPTY:operate((source,subscriber)=>{let sourceSub,soFar=0;const resubscribe=()=>{if(sourceSub?.unsubscribe(),sourceSub=null,null!=delay){const notifier="number"==typeof delay?timer_timer(delay):innerFrom(delay(soFar)),notifierSubscriber=createOperatorSubscriber(subscriber,()=>{notifierSubscriber.unsubscribe(),subscribeToSource()});notifier.subscribe(notifierSubscriber)}else subscribeToSource()},subscribeToSource=()=>{let syncUnsub=!1;sourceSub=source.subscribe(createOperatorSubscriber(subscriber,void 0,()=>{++soFar{const{leading=!0,trailing=!1}=config2??{};let hasValue=!1,sendValue=null,throttled=null,isComplete=!1;const endThrottling=()=>{throttled?.unsubscribe(),throttled=null,trailing&&(send(),isComplete&&subscriber.complete())},cleanupThrottling=()=>{throttled=null,isComplete&&subscriber.complete()},startThrottle=value=>throttled=innerFrom(durationSelector(value)).subscribe(createOperatorSubscriber(subscriber,endThrottling,cleanupThrottling)),send=()=>{if(hasValue){hasValue=!1;const value=sendValue;sendValue=null,subscriber.next(value),!isComplete&&startThrottle(value)}};source.subscribe(createOperatorSubscriber(subscriber,value=>{hasValue=!0,sendValue=value,(!throttled||throttled.closed)&&(leading?send():startThrottle(value))},()=>{isComplete=!0,(!(trailing&&hasValue&&throttled)||throttled.closed)&&subscriber.complete()}))})}function ng_keyboard_shortcuts_isFunction(x){return"function"==typeof x}const any=(fn,list2)=>{let idx=0;for(;idxx,isMac=typeof navigator<"u"&&navigator.userAgent.includes("Mac OS"),modifiers={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",cmd:isMac?"metaKey":"ctrlKey",command:isMac?"metaKey":"ctrlKey",meta:isMac?"metaKey":"ctrlKey","left command":"metaKey","right command":"MetaRight","\u2318":isMac?"metaKey":"ctrlKey",option:"altKey",ctl:"ctrlKey",control:"ctrlKey"},_SPECIAL_CASES={plus:"+"},_MAP={8:"backspace",9:"tab",13:"enter",16:"shift",17:["ctrl","control"],18:"alt",20:"capslock",27:["esc","escape"],32:["space","spc"],33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:["meta","cmd","command"],93:["meta","cmd","command"],224:["meta","cmd","command"]},_KEYCODE_MAP={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},_SHIFT_MAP={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},_INVERTED_SHIFT_MAP=function invert(obj){const new_obj={};for(const prop2 in obj)obj.hasOwnProperty(prop2)&&(new_obj[obj[prop2]]=prop2);return new_obj}(_SHIFT_MAP);for(let i6=1;i6<20;++i6)_MAP[111+i6]="f"+i6;for(let i6=0;i6<=9;++i6)_MAP[i6+96]=i6.toString();var AllowIn=function(AllowIn2){return AllowIn2.Textarea="TEXTAREA",AllowIn2.Input="INPUT",AllowIn2.Select="SELECT",AllowIn2.ContentEditable="CONTENT-EDITABLE",AllowIn2}(AllowIn||{});let guid=0,KeyboardShortcutsService=(()=>{class KeyboardShortcutsService2{constructor(document2){this.document=document2,this._shortcuts=[],this._sequences=[],this.throttleTime=0,this._pressed=new Subject_Subject,this.pressed$=this._pressed.asObservable(),this.disabled=!1,this._shortcutsSub=new BehaviorSubject_BehaviorSubject([]),this.shortcuts$=this._shortcutsSub.pipe(filter_filter(shortcuts=>!!shortcuts.length)),this._ignored=[AllowIn.Input,AllowIn.Textarea,AllowIn.Select,AllowIn.ContentEditable],this.isAllowed=shortcut=>{const target=shortcut.event.target,isContentEditable=!!target.getAttribute("contenteditable"),nodeName=isContentEditable?AllowIn.ContentEditable:target.nodeName;return target===shortcut.target||(shortcut.allowIn.length?!(first2=this._ignored,second=shortcut.allowIn,first2.filter(item=>!second.includes(item))).includes(nodeName):!isContentEditable&&!this._ignored.includes(target.nodeName));var first2,second},this.mapEvent=event=>this._shortcuts.filter(shortcut=>!shortcut.isSequence).map(shortcut=>Object.assign({},shortcut,{predicates:any(ng_keyboard_shortcuts_identity,shortcut.predicates.map(predicates=>{return(preds=predicates,(...args)=>{let idx=0;const len=preds.length;for(;idxshortcut.predicates).reduce((acc,shortcut)=>acc.priority>shortcut.priority?acc:shortcut,{priority:0}),this.subscriptions=[],this.keydown$=fromEvent_fromEvent(this.document,"keydown"),this.ignore$=this.pressed$.pipe(filter_filter(e2=>e2.event.defaultPrevented),switchMap_switchMap(()=>this.clicks$.pipe(first_first())),tap_tap(e2=>{e2.preventDefault(),e2.stopPropagation()}),repeat()),this.clicks$=fromEvent_fromEvent(this.document,"click",{capture:!0}),this.keyup$=fromEvent_fromEvent(this.document,"keyup"),this.keydownCombo$=this.keydown$.pipe(filter_filter(_=>!this.disabled),map_map(this.mapEvent),filter_filter(shortcut=>!shortcut.target||shortcut.event.target===shortcut.target),filter_filter(shortcut=>ng_keyboard_shortcuts_isFunction(shortcut.command)),filter_filter(shortcut=>this.isAllowed(shortcut)),tap_tap(shortcut=>{shortcut.preventDefault&&(shortcut.event.preventDefault(),shortcut.event.stopPropagation())}),throttle_throttle(shortcut=>timer_timer(shortcut.throttleTime)),tap_tap(shortcut=>shortcut.command({event:shortcut.event,key:shortcut.key})),tap_tap(shortcut=>this._pressed.next({event:shortcut.event,key:shortcut.key})),takeUntil_takeUntil(this.keyup$),repeat(),catchError_catchError(error=>throwError_throwError(error))),this.timer$=new Subject_Subject,this.resetCounter$=this.timer$.asObservable().pipe(switchMap_switchMap(()=>timer_timer(KeyboardShortcutsService2.TIMEOUT_SEQUENCE))),this.keydownSequence$=this.keydown$.pipe(map_map(event=>({event,sequences:this._sequences})),function scan(accumulator,seed){return operate(function scanInternals(accumulator,seed,hasSeed,emitOnNext,emitBeforeComplete){return(source,subscriber)=>{let hasState=hasSeed,state2=seed,index=0;source.subscribe(createOperatorSubscriber(subscriber,value=>{const i6=index++;state2=hasState?accumulator(state2,value,i6):(hasState=!0,value),emitOnNext&&subscriber.next(state2)},emitBeforeComplete&&(()=>{hasState&&subscriber.next(state2),subscriber.complete()})))}}(accumulator,seed,arguments.length>=2,!0))}((acc,arg)=>{const{event}=arg,currentLength=acc.events.length,sequences=currentLength?acc.sequences:arg.sequences,[characters]=this.characterFromEvent(event),allChars=Array.isArray(characters)?[...characters,event.key]:[characters,event.key],result=sequences.map(sequence2=>{const sequences2=sequence2.sequence.filter(seque=>allChars.some(key=>(_SPECIAL_CASES[seque[currentLength]]||seque[currentLength])===key)),partialMatch=sequences2.length>0;return sequence2.fullMatch?sequence2:{...sequence2,sequence:sequences2,partialMatch,event,fullMatch:partialMatch&&this.isFullMatch({command:sequence2,events:acc.events})}}).filter(sequences2=>sequences2.partialMatch||sequences2.fullMatch),[match2]=result;if(!match2||this.modifiersOn(event))return{events:[],sequences:this._sequences};const guess=result.reduce((acc,curr)=>{const propFn=(prop2=property,object=>object[prop2]);var prop2;return propFn(curr)>propFn(acc)?curr:acc},{[property="priority"]:0});var property;return result.length>1&&guess.fullMatch?{events:[],command:guess,sequences:this._sequences}:result.length>1?{events:[...acc.events,event],command:result,sequences:result}:match2.fullMatch?{events:[],command:match2,sequences:this._sequences}:{events:[...acc.events,event],command:result,sequences:result}},{events:[],sequences:[]}),switchMap_switchMap(({command})=>Array.isArray(command)?timer_timer(500).pipe(map_map(()=>({command:command.filter(command2=>command2.fullMatch)[0]}))):of_of({command})),takeUntil_takeUntil(this.pressed$),filter_filter(({command})=>command&&command.fullMatch),map_map(({command})=>command),filter_filter(shortcut=>ng_keyboard_shortcuts_isFunction(shortcut.command)),filter_filter(shortcut=>!shortcut.target||shortcut.event.target===shortcut.target),filter_filter(this.isAllowed),tap_tap(shortcut=>!shortcut.preventDefault||shortcut.event.preventDefault()),throttle_throttle(shortcut=>timer_timer(shortcut.throttleTime)),tap_tap(shortcut=>shortcut.command({event:shortcut.event,key:shortcut.key})),tap_tap(shortcut=>this._pressed.next({event:shortcut.event,key:shortcut.key})),takeUntil_takeUntil(this.resetCounter$),repeat()),this.getKeys=keys=>keys.map(key=>key.trim()).filter(key=>"+"!==key).map(key=>modifiers.hasOwnProperty(key=_SPECIAL_CASES[key]||key)?event=>!!event[modifiers[key]]:event=>{const isUpper=key===key.toUpperCase(),isNonAlpha=/[^a-zA-Z\d\s:]/.test(key),inShiftMap=_INVERTED_SHIFT_MAP[key],[characters]=this.characterFromEvent(event),hasModifiers=Object.keys(modifiers).map(key2=>modifiers[key2]).some(modifier=>event[modifier]),result=Array.isArray(characters)?[...characters,event.key]:[characters,event.key];return!(hasModifiers&&(!isUpper||isNonAlpha)&&!inShiftMap&&1===keys.length)&&result.some(char=>!(char!==key||!isUpper)||key===char)}),this.subscriptions.push(this.keydownSequence$.subscribe(),this.keydownCombo$.subscribe())}isFullMatch({command,events}){return!!command&&command.sequence.some(sequence2=>sequence2.length===events.length+1)}get shortcuts(){return this._shortcuts}_characterFromEvent(event){return"number"!=typeof event.which&&(event.which=event.keyCode),_SPECIAL_CASES[event.which]?[_SPECIAL_CASES[event.which],event.shiftKey]:_MAP[event.which]?[_MAP[event.which],event.shiftKey]:_KEYCODE_MAP[event.which]?[_KEYCODE_MAP[event.which],event.shiftKey]:String.fromCharCode(event.which).toLowerCase()!==event.key?[String.fromCharCode(event.which).toLowerCase(),event.shiftKey]:[event.key,event.shiftKey]}characterFromEvent(event){const[key,shiftKey]=this._characterFromEvent(event);return shiftKey&&_SHIFT_MAP[key]?[_SHIFT_MAP[key],shiftKey]:[key,shiftKey]}ngOnDestroy(){this.subscriptions.forEach(sub=>sub.unsubscribe())}isSequence(shortcuts){return!shortcuts.some(shortcut=>shortcut.includes("+")||1===shortcut.length)}add(shortcuts){shortcuts=Array.isArray(shortcuts)?shortcuts:[shortcuts];const commands=this.parseCommand(shortcuts);return commands.forEach(command=>{command.isSequence?this._sequences.push(command):this._shortcuts.push(command)}),setTimeout(()=>{this._shortcutsSub.next([...this._shortcuts,...this._sequences])}),commands.map(command=>command.id)}remove(ids){return ids=Array.isArray(ids)?ids:[ids],this._shortcuts=this._shortcuts.filter(shortcut=>!ids.includes(shortcut.id)),this._sequences=this._sequences.filter(shortcut=>!ids.includes(shortcut.id)),setTimeout(()=>{this._shortcutsSub.next([...this._shortcuts,...this._sequences])}),this}select(key){return this.pressed$.pipe(filter_filter(({key:eventKeys})=>!!(eventKeys=Array.isArray(eventKeys)?eventKeys:[eventKeys]).find(eventKey=>eventKey===key)))}modifiersOn(event){return["metaKey","altKey","ctrlKey"].some(mod=>event[mod])}parseCommand(command){return(Array.isArray(command)?command:[command]).map(command2=>{const keys=Array.isArray(command2.key)?command2.key:[command2.key],priority=Math.max(...keys.map(key=>key.split(" ").filter(ng_keyboard_shortcuts_identity).length)),predicates=keys.map(key=>this.getKeys(key.split(" ").filter(ng_keyboard_shortcuts_identity))),isSequence=this.isSequence(keys),sequence2=isSequence?keys.map(key=>key.split(" ").filter(ng_keyboard_shortcuts_identity).map(key2=>key2.trim())):[];return{...command2,isSequence,sequence:isSequence?sequence2:[],allowIn:command2.allowIn||[],key:keys,id:""+guid++,throttle:(x=command2.throttleTime,null==x?this.throttleTime:command2.throttleTime),priority,predicates};var x})}}return KeyboardShortcutsService2.TIMEOUT_SEQUENCE=1e3,KeyboardShortcutsService2.\u0275fac=function(t){return new(t||KeyboardShortcutsService2)(core_inject(common_DOCUMENT))},KeyboardShortcutsService2.\u0275prov=core_defineInjectable({token:KeyboardShortcutsService2,factory:KeyboardShortcutsService2.\u0275fac,providedIn:"root"}),KeyboardShortcutsService2})(),KeyboardShortcutsComponent=(()=>{class KeyboardShortcutsComponent2{constructor(keyboard){this.keyboard=keyboard,this.shortcuts=[],this.clearIds=[],this._disabled=!1}set disabled(value){this._disabled=value,this.clearIds&&(this.keyboard.remove(this.clearIds),this.clearIds=[]),!value&&(this.clearIds=this.keyboard.add(this.shortcuts))}select(key){return this.keyboard.select(key)}ngOnChanges(changes){!changes.shortcuts||!changes.shortcuts.currentValue||(this.clearIds&&this.keyboard.remove(this.clearIds),this._disabled||setTimeout(()=>this.clearIds=this.keyboard.add(changes.shortcuts.currentValue)))}ngOnDestroy(){this.keyboard.remove(this.clearIds)}}return KeyboardShortcutsComponent2.\u0275fac=function(t){return new(t||KeyboardShortcutsComponent2)(\u0275\u0275directiveInject(KeyboardShortcutsService))},KeyboardShortcutsComponent2.\u0275cmp=\u0275\u0275defineComponent({type:KeyboardShortcutsComponent2,selectors:[["ng-keyboard-shortcuts"]],inputs:{shortcuts:"shortcuts",disabled:"disabled"},features:[\u0275\u0275NgOnChangesFeature],decls:0,vars:0,template:function(rf,ctx){},encapsulation:2}),KeyboardShortcutsComponent2})(),KeyboardShortcutsHelpService=(()=>{class KeyboardShortcutsHelpService2{constructor(keyboard){this.keyboard=keyboard,this.shortcuts$=this.keyboard.shortcuts$.pipe(map_map(shortcuts=>shortcuts.filter(shortcut=>!!shortcut.label&&!!shortcut.description).map(({key,label,description})=>({key,label,description}))))}}return KeyboardShortcutsHelpService2.\u0275fac=function(t){return new(t||KeyboardShortcutsHelpService2)(core_inject(KeyboardShortcutsService))},KeyboardShortcutsHelpService2.\u0275prov=core_defineInjectable({token:KeyboardShortcutsHelpService2,factory:KeyboardShortcutsHelpService2.\u0275fac,providedIn:"root"}),KeyboardShortcutsHelpService2})(),KeyboardShortcutsSelectService=(()=>{class KeyboardShortcutsSelectService2{constructor(keyboardService){this.keyboardService=keyboardService}select(key){return this.keyboardService.select(key)}}return KeyboardShortcutsSelectService2.\u0275fac=function(t){return new(t||KeyboardShortcutsSelectService2)(core_inject(KeyboardShortcutsService))},KeyboardShortcutsSelectService2.\u0275prov=core_defineInjectable({token:KeyboardShortcutsSelectService2,factory:KeyboardShortcutsSelectService2.\u0275fac,providedIn:"root"}),KeyboardShortcutsSelectService2})(),KeyboardShortcutsPlugin=(()=>{class KeyboardShortcutsPlugin2{constructor(ngZone,keyboard){this.ngZone=ngZone,this.keyboard=keyboard}supports(eventName){return eventName.split(".").includes("shortcut")}addEventListener(element,eventName,originalHandler){const shortcut=eventName.split("."),preventDefault2=shortcut.includes("prevent");if(0===shortcut.length)throw new Error("please provide a shortcut");const[,key,description,label]=shortcut,id=this.keyboard.add({key,command(event){originalHandler(event)},description,preventDefault:preventDefault2,label});return()=>{this.keyboard.remove(id)}}}return KeyboardShortcutsPlugin2.\u0275fac=function(t){return new(t||KeyboardShortcutsPlugin2)(core_inject(core_NgZone),core_inject(KeyboardShortcutsService))},KeyboardShortcutsPlugin2.\u0275prov=core_defineInjectable({token:KeyboardShortcutsPlugin2,factory:KeyboardShortcutsPlugin2.\u0275fac}),KeyboardShortcutsPlugin2})(),KeyboardShortcutsModule=(()=>{class KeyboardShortcutsModule2{static forRoot(){return{ngModule:KeyboardShortcutsModule2,providers:[KeyboardShortcutsService,KeyboardShortcutsHelpService,KeyboardShortcutsSelectService,{multi:!0,provide:EVENT_MANAGER_PLUGINS,useClass:KeyboardShortcutsPlugin}]}}}return KeyboardShortcutsModule2.\u0275fac=function(t){return new(t||KeyboardShortcutsModule2)},KeyboardShortcutsModule2.\u0275mod=\u0275\u0275defineNgModule({type:KeyboardShortcutsModule2}),KeyboardShortcutsModule2.\u0275inj=\u0275\u0275defineInjector({imports:[[common_CommonModule]]}),KeyboardShortcutsModule2})();typeof Element>"u"||(Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(s){let el=this;do{if(el.matches(s))return el;el=el.parentElement||el.parentNode}while(null!==el&&1===el.nodeType);return null})),Array.prototype.flat||(Array.prototype.flat=function(depth){var flattend=[];return function flat(array,depth2){for(let el of array)Array.isArray(el)&&depth2>0?flat(el,depth2-1):flattend.push(el)}(this,Math.floor(depth)||1),flattend}),Array.prototype.flatMap||(Array.prototype.flatMap=function(){return Array.prototype.map.apply(this,arguments).flat(1)});const NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN=new InjectionToken("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),NGX_WINDOW=new InjectionToken("ngx-window",{providedIn:"root",factory:()=>{const{defaultView}=fesm2022_core_inject(common_DOCUMENT);if(!defaultView)throw new Error("Window is not available");return defaultView}}),NGX_DATA_LAYER=new InjectionToken("ngx-data-layer",{providedIn:"root",factory:()=>function getDataLayerFn(window2){return window2?window2.dataLayer=window2.dataLayer||[]:null}(fesm2022_core_inject(NGX_WINDOW))}),NGX_GTAG_FN=new InjectionToken("ngx-gtag-fn",{providedIn:"root",factory:()=>function getGtagFn(window2,dataLayer){return window2?window2.gtag=window2.gtag||function(){dataLayer.push(arguments)}:null}(fesm2022_core_inject(NGX_WINDOW),fesm2022_core_inject(NGX_DATA_LAYER))});let GoogleAnalyticsService=(()=>{class GoogleAnalyticsService2{constructor(settings2,_document2,_gtag){this.settings=settings2,this._document=_document2,this._gtag=_gtag}get document(){return this._document}throw(err){this.settings.enableTracing&&console&&console.error&&console.error(err)}toKeyValue(map2){return map2.size>0?Array.from(map2).reduce((obj,[key,value])=>Object.defineProperty(obj,key,{value,enumerable:!0}),{}):void 0}gtag(...args){try{this._gtag(...args.filter(x=>void 0!==x))}catch(err){this.throw(err)}}event(action,category,label,value,interaction,options){try{const opt=new Map;category&&opt.set("event_category",category),label&&opt.set("event_label",label),value&&opt.set("value",value),void 0!==interaction&&opt.set("interaction",interaction),options&&Object.entries(options).map(([key,value2])=>opt.set(key,value2));const params=this.toKeyValue(opt);params?this.gtag("event",action,params):this.gtag("event",action)}catch(error){this.throw(error)}}pageView(path,title,location2,options){try{const opt=new Map([["page_path",path]]);title&&opt.set("page_title",title),(location2||this.document)&&opt.set("page_location",location2||this.document.location.href),options&&Object.entries(options).map(([key,value])=>opt.set(key,value)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(opt))}catch(error){this.throw(error)}}appView(screen,appName,appId,appVersion,installerId){try{const opt=new Map([["screen_name",screen],["app_name",appName]]);appId&&opt.set("app_id",appId),appVersion&&opt.set("app_version",appVersion),installerId&&opt.set("app_installer_id",installerId),this.gtag("event","screen_view",this.toKeyValue(opt))}catch(error){this.throw(error)}}set(...options){try{this._gtag("set",...options)}catch(err){this.throw(err)}}exception(description,fatal){try{const opt=new Map;description&&opt.set("description",description),fatal&&opt.set("fatal",fatal),this.toKeyValue(opt)?this.gtag("event","exception",this.toKeyValue(opt)):this.gtag("event","exception")}catch(error){this.throw(error)}}}return GoogleAnalyticsService2.\u0275fac=function(t){return new(t||GoogleAnalyticsService2)(core_inject(NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN),core_inject(common_DOCUMENT),core_inject(NGX_GTAG_FN))},GoogleAnalyticsService2.\u0275prov=core_defineInjectable({token:GoogleAnalyticsService2,factory:GoogleAnalyticsService2.\u0275fac,providedIn:"root"}),GoogleAnalyticsService2})();const NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER={provide:core_APP_INITIALIZER,multi:!0,useFactory:function GoogleAnalyticsInitializer(settings2,gtag,document2){return asyncToGenerator_asyncToGenerator(function*(){if(!settings2.trackingCode)return void console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule.");if(!gtag)return void console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface.");document2||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),settings2.uri=settings2.uri||`https://www.googletagmanager.com/gtag/js?id=${settings2.trackingCode}`,settings2.initCommands=settings2?.initCommands??[],settings2.initCommands.find(x=>"config"===x.command)||settings2.initCommands.unshift({command:"config",values:[settings2.trackingCode]}),settings2.initCommands.find(x=>"js"===x.command)||settings2.initCommands.unshift({command:"js",values:[new Date]});for(const command of settings2.initCommands)gtag(command.command,...command.values);const s=document2.createElement("script");s.async=!0,s.src=settings2.uri,settings2.nonce&&s.setAttribute("nonce",settings2.nonce),document2.getElementsByTagName("head")[0].appendChild(s)})},deps:[NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN,NGX_GTAG_FN,common_DOCUMENT]};new InjectionToken("ngx-google-analytics-routing-settings",{factory:()=>({})});let NgxGoogleAnalyticsModule=(()=>{class NgxGoogleAnalyticsModule2{static forRoot(trackingCode,initCommands=[],uri,enableTracing,nonce){return{ngModule:NgxGoogleAnalyticsModule2,providers:[{provide:NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN,useValue:{trackingCode,initCommands,uri,enableTracing,nonce}},NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER]}}}return NgxGoogleAnalyticsModule2.\u0275fac=function(t){return new(t||NgxGoogleAnalyticsModule2)},NgxGoogleAnalyticsModule2.\u0275mod=\u0275\u0275defineNgModule({type:NgxGoogleAnalyticsModule2}),NgxGoogleAnalyticsModule2.\u0275inj=\u0275\u0275defineInjector({}),NgxGoogleAnalyticsModule2})();class PortugolCodeError extends Error{constructor(message,context2,startLine,startCol,endLine,endCol){super(message),this.message=message,this.context=context2,this.startLine=startLine,this.startCol=startCol,this.endLine=endLine,this.endCol=endCol}static fromContext(ctx,message){let possibleContext=ctx;if(!ctx.hasOwnProperty("_start")&&!ctx.hasOwnProperty("_stop")&&ctx.parent&&(possibleContext=ctx.parent),possibleContext.hasOwnProperty("_start")&&possibleContext.hasOwnProperty("_stop")&&"object"==typeof possibleContext._start&&"object"==typeof possibleContext._stop){const{_start,_stop}=possibleContext;return new PortugolCodeError(message,ctx,_start.line,_start._charPositionInLine+1,_stop.line,_stop._charPositionInLine+2)}const possibleSymbol=ctx.symbol||ctx.payload;if(possibleSymbol&&possibleSymbol.hasOwnProperty("_charPositionInLine")&&possibleSymbol.hasOwnProperty("_line")){const{_charPositionInLine,_line}=ctx.symbol;return new PortugolCodeError(message,ctx,_line,_charPositionInLine+1,_line,_charPositionInLine+2+ctx.text.length)}return new PortugolCodeError(message,ctx,1,1,1,2+ctx.text.length)}}class PortugolErrorListener{constructor(){this.errors=[]}syntaxError(_recognizer,offendingSymbol,line,charPositionInLine,msg,exception){const endColumn=offendingSymbol&&offendingSymbol.text?charPositionInLine+offendingSymbol.text.length:charPositionInLine+1;this.errors.push(new PortugolCodeError(msg,exception?.context||offendingSymbol||null,line,charPositionInLine,line,endColumn))}getErrors(){return this.errors}reset(){this.errors=[]}}var _class,ATNDeserializer=__webpack_require__(9940),Lexer=__webpack_require__(1188),LexerATNSimulator=__webpack_require__(7101),VocabularyImpl=__webpack_require__(4221),Utils=__webpack_require__(2028);class PortugolLexer extends Lexer.Lexer{get vocabulary(){return PortugolLexer.VOCABULARY}constructor(input){super(input),this._interp=new LexerATNSimulator.LexerATNSimulator(PortugolLexer._ATN,this)}get grammarFileName(){return"Portugol.g4"}get ruleNames(){return PortugolLexer.ruleNames}get serializedATN(){return PortugolLexer._serializedATN}get channelNames(){return PortugolLexer.channelNames}get modeNames(){return PortugolLexer.modeNames}action(_localctx,ruleIndex,actionIndex){64===ruleIndex&&this.INT_action(_localctx,actionIndex)}INT_action(_localctx,actionIndex){if(0===actionIndex&&isNaN(parseInt(this.text)))throw new Error(`D\xedgito inv\xe1lido: ${this.text}`)}static get _ATN(){return PortugolLexer.__ATN||(PortugolLexer.__ATN=(new ATNDeserializer.ATNDeserializer).deserialize(Utils.toCharArray(PortugolLexer._serializedATN))),PortugolLexer.__ATN}}(_class=PortugolLexer).ABRE_PARENTESES=1,_class.FECHA_PARENTESES=2,_class.ABRE_COLCHETES=3,_class.FECHA_COLCHETES=4,_class.ABRE_CHAVES=5,_class.FECHA_CHAVES=6,_class.TIPO=7,_class.FACA=8,_class.ENQUANTO=9,_class.PARA=10,_class.SE=11,_class.SENAO=12,_class.CONSTANTE=13,_class.FUNCAO=14,_class.PROGRAMA=15,_class.ESCOLHA=16,_class.CASO=17,_class.CONTRARIO=18,_class.PARE=19,_class.RETORNE=20,_class.INCLUA=21,_class.BIBLIOTECA=22,_class.OP_NAO=23,_class.OP_E_LOGICO=24,_class.OP_OU_LOGICO=25,_class.OP_SUBTRACAO=26,_class.OP_ADICAO=27,_class.OP_MULTIPLICACAO=28,_class.OP_DIVISAO=29,_class.OP_MOD=30,_class.OP_ATRIBUICAO=31,_class.OP_IGUALDADE=32,_class.OP_DIFERENCA=33,_class.OP_MAIOR=34,_class.OP_MENOR=35,_class.OP_MENOR_IGUAL=36,_class.OP_MAIOR_IGUAL=37,_class.OP_INCREMENTO_UNARIO=38,_class.OP_DECREMENTO_UNARIO=39,_class.OP_SHIFT_LEFT=40,_class.OP_SHIFT_RIGHT=41,_class.OP_XOR=42,_class.OP_OU_BITWISE=43,_class.OP_NOT_BITWISE=44,_class.OP_ALIAS_BIBLIOTECA=45,_class.E_COMERCIAL=46,_class.OP_MAIS_IGUAL=47,_class.OP_MENOS_IGUAL=48,_class.OP_MULTIPLICACAO_IGUAL=49,_class.OP_DIVISAO_IGUAL=50,_class.LOGICO=51,_class.VERDADEIRO=52,_class.FALSO=53,_class.CARACTER=54,_class.STRING=55,_class.ID=56,_class.REAL=57,_class.INT=58,_class.HEXADECIMAL=59,_class.COMENTARIO=60,_class.COMENTARIO_SIMPLES=61,_class.WS=62,_class.PONTO=63,_class.VIRGULA=64,_class.PONTOVIRGULA=65,_class.DOISPONTOS=66,_class.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],_class.modeNames=["DEFAULT_MODE"],_class.ruleNames=["ABRE_PARENTESES","FECHA_PARENTESES","ABRE_COLCHETES","FECHA_COLCHETES","ABRE_CHAVES","FECHA_CHAVES","TIPO","FACA","ENQUANTO","PARA","SE","SENAO","CONSTANTE","FUNCAO","PROGRAMA","ESCOLHA","CASO","CONTRARIO","PARE","RETORNE","INCLUA","BIBLIOTECA","OP_NAO","OP_E_LOGICO","OP_OU_LOGICO","OP_SUBTRACAO","OP_ADICAO","OP_MULTIPLICACAO","OP_DIVISAO","OP_MOD","OP_ATRIBUICAO","OP_IGUALDADE","OP_DIFERENCA","OP_MAIOR","OP_MENOR","OP_MENOR_IGUAL","OP_MAIOR_IGUAL","OP_INCREMENTO_UNARIO","OP_DECREMENTO_UNARIO","OP_SHIFT_LEFT","OP_SHIFT_RIGHT","OP_XOR","OP_OU_BITWISE","OP_NOT_BITWISE","OP_ALIAS_BIBLIOTECA","E_COMERCIAL","OP_MAIS_IGUAL","OP_MENOS_IGUAL","OP_MULTIPLICACAO_IGUAL","OP_DIVISAO_IGUAL","LOGICO","VERDADEIRO","FALSO","CARACTER","SEQ_ESC","ESC_OCTAL","ESC_UNICODE","ESC_CARACTER","DIGIT_HEX","STRING","ID","LETRA","REAL","DIGITO","INT","HEXADECIMAL","SIMBOLO_HEXADECIMAL","COMENTARIO","COMENTARIO_SIMPLES","WS","PONTO","VIRGULA","PONTOVIRGULA","DOISPONTOS"],_class._LITERAL_NAMES=[void 0,"'('","')'","'['","']'","'{'","'}'",void 0,"'faca'","'enquanto'","'para'","'se'","'senao'","'const'","'funcao'","'programa'","'escolha'","'caso'","'contrario'","'pare'","'retorne'","'inclua'","'biblioteca'","'nao'","'e'","'ou'","'-'","'+'","'*'","'/'","'%'","'='","'=='","'!='","'>'","'<'","'<='","'>='","'++'","'--'","'<<'","'>>'","'^'","'|'","'~'","'--\x3e'","'&'","'+='","'-='","'*='","'/='",void 0,"'verdadeiro'","'falso'",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"'.'","','","';'","':'"],_class._SYMBOLIC_NAMES=[void 0,"ABRE_PARENTESES","FECHA_PARENTESES","ABRE_COLCHETES","FECHA_COLCHETES","ABRE_CHAVES","FECHA_CHAVES","TIPO","FACA","ENQUANTO","PARA","SE","SENAO","CONSTANTE","FUNCAO","PROGRAMA","ESCOLHA","CASO","CONTRARIO","PARE","RETORNE","INCLUA","BIBLIOTECA","OP_NAO","OP_E_LOGICO","OP_OU_LOGICO","OP_SUBTRACAO","OP_ADICAO","OP_MULTIPLICACAO","OP_DIVISAO","OP_MOD","OP_ATRIBUICAO","OP_IGUALDADE","OP_DIFERENCA","OP_MAIOR","OP_MENOR","OP_MENOR_IGUAL","OP_MAIOR_IGUAL","OP_INCREMENTO_UNARIO","OP_DECREMENTO_UNARIO","OP_SHIFT_LEFT","OP_SHIFT_RIGHT","OP_XOR","OP_OU_BITWISE","OP_NOT_BITWISE","OP_ALIAS_BIBLIOTECA","E_COMERCIAL","OP_MAIS_IGUAL","OP_MENOS_IGUAL","OP_MULTIPLICACAO_IGUAL","OP_DIVISAO_IGUAL","LOGICO","VERDADEIRO","FALSO","CARACTER","STRING","ID","REAL","INT","HEXADECIMAL","COMENTARIO","COMENTARIO_SIMPLES","WS","PONTO","VIRGULA","PONTOVIRGULA","DOISPONTOS"],_class.VOCABULARY=new VocabularyImpl.VocabularyImpl(_class._LITERAL_NAMES,_class._SYMBOLIC_NAMES,[]),_class._serializedATN="\x03\uc91d\ucaba\u058d\uafba\u4f53\u0607\uea8b\uc241\x02D\u022a\b\x01\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04\x0e\t\x0e\x04\x0f\t\x0f\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1a\t\x1a\x04\x1b\t\x1b\x04\x1c\t\x1c\x04\x1d\t\x1d\x04\x1e\t\x1e\x04\x1f\t\x1f\x04 \t \x04!\t!\x04\"\t\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04'\t'\x04(\t(\x04)\t)\x04*\t*\x04+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x042\t2\x043\t3\x044\t4\x045\t5\x046\t6\x047\t7\x048\t8\x049\t9\x04:\t:\x04;\t;\x04<\t<\x04=\t=\x04>\t>\x04?\t?\x04@\t@\x04A\tA\x04B\tB\x04C\tC\x04D\tD\x04E\tE\x04F\tF\x04G\tG\x04H\tH\x04I\tI\x04J\tJ\x04K\tK\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03\x06\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x05\b\xc8\n\b\x03\t\x03\t\x03\t\x03\t\x03\t\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\v\x03\v\x03\v\x03\v\x03\v\x03\f\x03\f\x03\f\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x1a\x03\x1a\x03\x1a\x03\x1b\x03\x1b\x03\x1c\x03\x1c\x03\x1d\x03\x1d\x03\x1e\x03\x1e\x03\x1f\x03\x1f\x03 \x03 \x03!\x03!\x03!\x03\"\x03\"\x03\"\x03#\x03#\x03$\x03$\x03%\x03%\x03%\x03&\x03&\x03&\x03'\x03'\x03'\x03(\x03(\x03(\x03)\x03)\x03)\x03*\x03*\x03*\x03+\x03+\x03,\x03,\x03-\x03-\x03.\x03.\x03.\x03.\x03/\x03/\x030\x030\x030\x031\x031\x031\x032\x032\x032\x033\x033\x033\x034\x034\x054\u017d\n4\x035\x035\x035\x035\x035\x035\x035\x035\x035\x035\x035\x036\x036\x036\x036\x036\x036\x037\x037\x037\x057\u0193\n7\x037\x037\x038\x038\x038\x038\x058\u019b\n8\x039\x039\x039\x039\x039\x039\x039\x039\x039\x059\u01a6\n9\x03:\x03:\x03:\x03:\x03:\x03:\x03:\x03;\x03;\x03;\x05;\u01b2\n;\x03<\x03<\x03=\x03=\x03=\x07=\u01b9\n=\f=\x0e=\u01bc\v=\x03=\x03=\x03>\x03>\x05>\u01c2\n>\x03>\x03>\x07>\u01c6\n>\f>\x0e>\u01c9\v>\x03?\x03?\x03@\x06@\u01ce\n@\r@\x0e@\u01cf\x03@\x03@\x07@\u01d4\n@\f@\x0e@\u01d7\v@\x03@\x03@\x06@\u01db\n@\r@\x0e@\u01dc\x05@\u01df\n@\x03A\x03A\x03B\x06B\u01e4\nB\rB\x0eB\u01e5\x03B\x03B\x03C\x03C\x03C\x03C\x03C\x03C\x03C\x03C\x05C\u01f2\nC\x05C\u01f4\nC\x05C\u01f6\nC\x05C\u01f8\nC\x05C\u01fa\nC\x03D\x03D\x05D\u01fe\nD\x03E\x03E\x03E\x03E\x07E\u0204\nE\fE\x0eE\u0207\vE\x03E\x03E\x03E\x03E\x03E\x03F\x03F\x03F\x03F\x07F\u0212\nF\fF\x0eF\u0215\vF\x03F\x05F\u0218\nF\x03F\x03F\x03G\x06G\u021d\nG\rG\x0eG\u021e\x03G\x03G\x03H\x03H\x03I\x03I\x03J\x03J\x03K\x03K\x05\u01ba\u0205\u0213\x02\x02L\x03\x02\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0f\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0e\x1b\x02\x0f\x1d\x02\x10\x1f\x02\x11!\x02\x12#\x02\x13%\x02\x14'\x02\x15)\x02\x16+\x02\x17-\x02\x18/\x02\x191\x02\x1a3\x02\x1b5\x02\x1c7\x02\x1d9\x02\x1e;\x02\x1f=\x02 ?\x02!A\x02\"C\x02#E\x02$G\x02%I\x02&K\x02'M\x02(O\x02)Q\x02*S\x02+U\x02,W\x02-Y\x02.[\x02/]\x020_\x021a\x022c\x023e\x024g\x025i\x026k\x027m\x028o\x02\x02q\x02\x02s\x02\x02u\x02\x02w\x02\x02y\x029{\x02:}\x02\x02\x7f\x02;\x81\x02\x02\x83\x02<\x85\x02=\x87\x02\x02\x89\x02>\x8b\x02?\x8d\x02@\x8f\x02A\x91\x02B\x93\x02C\x95\x02D\x03\x02\f\x03\x02))\t\x02$$^^ddhhppttvv\x05\x022;CHch\x04\x022;aa\x04\x02C\\c|\x03\x022;\x04\x02ZZzz\x04\x02CHch\x03\x03\f\f\x05\x02\v\f\x0f\x0f\"\"\x02\u0240\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02\x0f\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x1b\x03\x02\x02\x02\x02\x1d\x03\x02\x02\x02\x02\x1f\x03\x02\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02\x02\x02'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03\x02\x02\x02\x02-\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02\x02\x023\x03\x02\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02\x029\x03\x02\x02\x02\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02\x02\x02\x02A\x03\x02\x02\x02\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02\x02G\x03\x02\x02\x02\x02I\x03\x02\x02\x02\x02K\x03\x02\x02\x02\x02M\x03\x02\x02\x02\x02O\x03\x02\x02\x02\x02Q\x03\x02\x02\x02\x02S\x03\x02\x02\x02\x02U\x03\x02\x02\x02\x02W\x03\x02\x02\x02\x02Y\x03\x02\x02\x02\x02[\x03\x02\x02\x02\x02]\x03\x02\x02\x02\x02_\x03\x02\x02\x02\x02a\x03\x02\x02\x02\x02c\x03\x02\x02\x02\x02e\x03\x02\x02\x02\x02g\x03\x02\x02\x02\x02i\x03\x02\x02\x02\x02k\x03\x02\x02\x02\x02m\x03\x02\x02\x02\x02y\x03\x02\x02\x02\x02{\x03\x02\x02\x02\x02\x7f\x03\x02\x02\x02\x02\x83\x03\x02\x02\x02\x02\x85\x03\x02\x02\x02\x02\x89\x03\x02\x02\x02\x02\x8b\x03\x02\x02\x02\x02\x8d\x03\x02\x02\x02\x02\x8f\x03\x02\x02\x02\x02\x91\x03\x02\x02\x02\x02\x93\x03\x02\x02\x02\x02\x95\x03\x02\x02\x02\x03\x97\x03\x02\x02\x02\x05\x99\x03\x02\x02\x02\x07\x9b\x03\x02\x02\x02\t\x9d\x03\x02\x02\x02\v\x9f\x03\x02\x02\x02\r\xa1\x03\x02\x02\x02\x0f\xc7\x03\x02\x02\x02\x11\xc9\x03\x02\x02\x02\x13\xce\x03\x02\x02\x02\x15\xd7\x03\x02\x02\x02\x17\xdc\x03\x02\x02\x02\x19\xdf\x03\x02\x02\x02\x1b\xe5\x03\x02\x02\x02\x1d\xeb\x03\x02\x02\x02\x1f\xf2\x03\x02\x02\x02!\xfb\x03\x02\x02\x02#\u0103\x03\x02\x02\x02%\u0108\x03\x02\x02\x02'\u0112\x03\x02\x02\x02)\u0117\x03\x02\x02\x02+\u011f\x03\x02\x02\x02-\u0126\x03\x02\x02\x02/\u0131\x03\x02\x02\x021\u0135\x03\x02\x02\x023\u0137\x03\x02\x02\x025\u013a\x03\x02\x02\x027\u013c\x03\x02\x02\x029\u013e\x03\x02\x02\x02;\u0140\x03\x02\x02\x02=\u0142\x03\x02\x02\x02?\u0144\x03\x02\x02\x02A\u0146\x03\x02\x02\x02C\u0149\x03\x02\x02\x02E\u014c\x03\x02\x02\x02G\u014e\x03\x02\x02\x02I\u0150\x03\x02\x02\x02K\u0153\x03\x02\x02\x02M\u0156\x03\x02\x02\x02O\u0159\x03\x02\x02\x02Q\u015c\x03\x02\x02\x02S\u015f\x03\x02\x02\x02U\u0162\x03\x02\x02\x02W\u0164\x03\x02\x02\x02Y\u0166\x03\x02\x02\x02[\u0168\x03\x02\x02\x02]\u016c\x03\x02\x02\x02_\u016e\x03\x02\x02\x02a\u0171\x03\x02\x02\x02c\u0174\x03\x02\x02\x02e\u0177\x03\x02\x02\x02g\u017c\x03\x02\x02\x02i\u017e\x03\x02\x02\x02k\u0189\x03\x02\x02\x02m\u018f\x03\x02\x02\x02o\u019a\x03\x02\x02\x02q\u01a5\x03\x02\x02\x02s\u01a7\x03\x02\x02\x02u\u01b1\x03\x02\x02\x02w\u01b3\x03\x02\x02\x02y\u01b5\x03\x02\x02\x02{\u01c1\x03\x02\x02\x02}\u01ca\x03\x02\x02\x02\x7f\u01de\x03\x02\x02\x02\x81\u01e0\x03\x02\x02\x02\x83\u01e3\x03\x02\x02\x02\x85\u01e9\x03\x02\x02\x02\x87\u01fd\x03\x02\x02\x02\x89\u01ff\x03\x02\x02\x02\x8b\u020d\x03\x02\x02\x02\x8d\u021c\x03\x02\x02\x02\x8f\u0222\x03\x02\x02\x02\x91\u0224\x03\x02\x02\x02\x93\u0226\x03\x02\x02\x02\x95\u0228\x03\x02\x02\x02\x97\x98\x07*\x02\x02\x98\x04\x03\x02\x02\x02\x99\x9a\x07+\x02\x02\x9a\x06\x03\x02\x02\x02\x9b\x9c\x07]\x02\x02\x9c\b\x03\x02\x02\x02\x9d\x9e\x07_\x02\x02\x9e\n\x03\x02\x02\x02\x9f\xa0\x07}\x02\x02\xa0\f\x03\x02\x02\x02\xa1\xa2\x07\x7f\x02\x02\xa2\x0e\x03\x02\x02\x02\xa3\xa4\x07t\x02\x02\xa4\xa5\x07g\x02\x02\xa5\xa6\x07c\x02\x02\xa6\xc8\x07n\x02\x02\xa7\xa8\x07k\x02\x02\xa8\xa9\x07p\x02\x02\xa9\xaa\x07v\x02\x02\xaa\xab\x07g\x02\x02\xab\xac\x07k\x02\x02\xac\xad\x07t\x02\x02\xad\xc8\x07q\x02\x02\xae\xaf\x07x\x02\x02\xaf\xb0\x07c\x02\x02\xb0\xb1\x07|\x02\x02\xb1\xb2\x07k\x02\x02\xb2\xc8\x07q\x02\x02\xb3\xb4\x07n\x02\x02\xb4\xb5\x07q\x02\x02\xb5\xb6\x07i\x02\x02\xb6\xb7\x07k\x02\x02\xb7\xb8\x07e\x02\x02\xb8\xc8\x07q\x02\x02\xb9\xba\x07e\x02\x02\xba\xbb\x07c\x02\x02\xbb\xbc\x07f\x02\x02\xbc\xbd\x07g\x02\x02\xbd\xbe\x07k\x02\x02\xbe\xc8\x07c\x02\x02\xbf\xc0\x07e\x02\x02\xc0\xc1\x07c\x02\x02\xc1\xc2\x07t\x02\x02\xc2\xc3\x07c\x02\x02\xc3\xc4\x07e\x02\x02\xc4\xc5\x07v\x02\x02\xc5\xc6\x07g\x02\x02\xc6\xc8\x07t\x02\x02\xc7\xa3\x03\x02\x02\x02\xc7\xa7\x03\x02\x02\x02\xc7\xae\x03\x02\x02\x02\xc7\xb3\x03\x02\x02\x02\xc7\xb9\x03\x02\x02\x02\xc7\xbf\x03\x02\x02\x02\xc8\x10\x03\x02\x02\x02\xc9\xca\x07h\x02\x02\xca\xcb\x07c\x02\x02\xcb\xcc\x07e\x02\x02\xcc\xcd\x07c\x02\x02\xcd\x12\x03\x02\x02\x02\xce\xcf\x07g\x02\x02\xcf\xd0\x07p\x02\x02\xd0\xd1\x07s\x02\x02\xd1\xd2\x07w\x02\x02\xd2\xd3\x07c\x02\x02\xd3\xd4\x07p\x02\x02\xd4\xd5\x07v\x02\x02\xd5\xd6\x07q\x02\x02\xd6\x14\x03\x02\x02\x02\xd7\xd8\x07r\x02\x02\xd8\xd9\x07c\x02\x02\xd9\xda\x07t\x02\x02\xda\xdb\x07c\x02\x02\xdb\x16\x03\x02\x02\x02\xdc\xdd\x07u\x02\x02\xdd\xde\x07g\x02\x02\xde\x18\x03\x02\x02\x02\xdf\xe0\x07u\x02\x02\xe0\xe1\x07g\x02\x02\xe1\xe2\x07p\x02\x02\xe2\xe3\x07c\x02\x02\xe3\xe4\x07q\x02\x02\xe4\x1a\x03\x02\x02\x02\xe5\xe6\x07e\x02\x02\xe6\xe7\x07q\x02\x02\xe7\xe8\x07p\x02\x02\xe8\xe9\x07u\x02\x02\xe9\xea\x07v\x02\x02\xea\x1c\x03\x02\x02\x02\xeb\xec\x07h\x02\x02\xec\xed\x07w\x02\x02\xed\xee\x07p\x02\x02\xee\xef\x07e\x02\x02\xef\xf0\x07c\x02\x02\xf0\xf1\x07q\x02\x02\xf1\x1e\x03\x02\x02\x02\xf2\xf3\x07r\x02\x02\xf3\xf4\x07t\x02\x02\xf4\xf5\x07q\x02\x02\xf5\xf6\x07i\x02\x02\xf6\xf7\x07t\x02\x02\xf7\xf8\x07c\x02\x02\xf8\xf9\x07o\x02\x02\xf9\xfa\x07c\x02\x02\xfa \x03\x02\x02\x02\xfb\xfc\x07g\x02\x02\xfc\xfd\x07u\x02\x02\xfd\xfe\x07e\x02\x02\xfe\xff\x07q\x02\x02\xff\u0100\x07n\x02\x02\u0100\u0101\x07j\x02\x02\u0101\u0102\x07c\x02\x02\u0102\"\x03\x02\x02\x02\u0103\u0104\x07e\x02\x02\u0104\u0105\x07c\x02\x02\u0105\u0106\x07u\x02\x02\u0106\u0107\x07q\x02\x02\u0107$\x03\x02\x02\x02\u0108\u0109\x07e\x02\x02\u0109\u010a\x07q\x02\x02\u010a\u010b\x07p\x02\x02\u010b\u010c\x07v\x02\x02\u010c\u010d\x07t\x02\x02\u010d\u010e\x07c\x02\x02\u010e\u010f\x07t\x02\x02\u010f\u0110\x07k\x02\x02\u0110\u0111\x07q\x02\x02\u0111&\x03\x02\x02\x02\u0112\u0113\x07r\x02\x02\u0113\u0114\x07c\x02\x02\u0114\u0115\x07t\x02\x02\u0115\u0116\x07g\x02\x02\u0116(\x03\x02\x02\x02\u0117\u0118\x07t\x02\x02\u0118\u0119\x07g\x02\x02\u0119\u011a\x07v\x02\x02\u011a\u011b\x07q\x02\x02\u011b\u011c\x07t\x02\x02\u011c\u011d\x07p\x02\x02\u011d\u011e\x07g\x02\x02\u011e*\x03\x02\x02\x02\u011f\u0120\x07k\x02\x02\u0120\u0121\x07p\x02\x02\u0121\u0122\x07e\x02\x02\u0122\u0123\x07n\x02\x02\u0123\u0124\x07w\x02\x02\u0124\u0125\x07c\x02\x02\u0125,\x03\x02\x02\x02\u0126\u0127\x07d\x02\x02\u0127\u0128\x07k\x02\x02\u0128\u0129\x07d\x02\x02\u0129\u012a\x07n\x02\x02\u012a\u012b\x07k\x02\x02\u012b\u012c\x07q\x02\x02\u012c\u012d\x07v\x02\x02\u012d\u012e\x07g\x02\x02\u012e\u012f\x07e\x02\x02\u012f\u0130\x07c\x02\x02\u0130.\x03\x02\x02\x02\u0131\u0132\x07p\x02\x02\u0132\u0133\x07c\x02\x02\u0133\u0134\x07q\x02\x02\u01340\x03\x02\x02\x02\u0135\u0136\x07g\x02\x02\u01362\x03\x02\x02\x02\u0137\u0138\x07q\x02\x02\u0138\u0139\x07w\x02\x02\u01394\x03\x02\x02\x02\u013a\u013b\x07/\x02\x02\u013b6\x03\x02\x02\x02\u013c\u013d\x07-\x02\x02\u013d8\x03\x02\x02\x02\u013e\u013f\x07,\x02\x02\u013f:\x03\x02\x02\x02\u0140\u0141\x071\x02\x02\u0141<\x03\x02\x02\x02\u0142\u0143\x07'\x02\x02\u0143>\x03\x02\x02\x02\u0144\u0145\x07?\x02\x02\u0145@\x03\x02\x02\x02\u0146\u0147\x07?\x02\x02\u0147\u0148\x07?\x02\x02\u0148B\x03\x02\x02\x02\u0149\u014a\x07#\x02\x02\u014a\u014b\x07?\x02\x02\u014bD\x03\x02\x02\x02\u014c\u014d\x07@\x02\x02\u014dF\x03\x02\x02\x02\u014e\u014f\x07>\x02\x02\u014fH\x03\x02\x02\x02\u0150\u0151\x07>\x02\x02\u0151\u0152\x07?\x02\x02\u0152J\x03\x02\x02\x02\u0153\u0154\x07@\x02\x02\u0154\u0155\x07?\x02\x02\u0155L\x03\x02\x02\x02\u0156\u0157\x07-\x02\x02\u0157\u0158\x07-\x02\x02\u0158N\x03\x02\x02\x02\u0159\u015a\x07/\x02\x02\u015a\u015b\x07/\x02\x02\u015bP\x03\x02\x02\x02\u015c\u015d\x07>\x02\x02\u015d\u015e\x07>\x02\x02\u015eR\x03\x02\x02\x02\u015f\u0160\x07@\x02\x02\u0160\u0161\x07@\x02\x02\u0161T\x03\x02\x02\x02\u0162\u0163\x07`\x02\x02\u0163V\x03\x02\x02\x02\u0164\u0165\x07~\x02\x02\u0165X\x03\x02\x02\x02\u0166\u0167\x07\x80\x02\x02\u0167Z\x03\x02\x02\x02\u0168\u0169\x07/\x02\x02\u0169\u016a\x07/\x02\x02\u016a\u016b\x07@\x02\x02\u016b\\\x03\x02\x02\x02\u016c\u016d\x07(\x02\x02\u016d^\x03\x02\x02\x02\u016e\u016f\x07-\x02\x02\u016f\u0170\x07?\x02\x02\u0170`\x03\x02\x02\x02\u0171\u0172\x07/\x02\x02\u0172\u0173\x07?\x02\x02\u0173b\x03\x02\x02\x02\u0174\u0175\x07,\x02\x02\u0175\u0176\x07?\x02\x02\u0176d\x03\x02\x02\x02\u0177\u0178\x071\x02\x02\u0178\u0179\x07?\x02\x02\u0179f\x03\x02\x02\x02\u017a\u017d\x05i5\x02\u017b\u017d\x05k6\x02\u017c\u017a\x03\x02\x02\x02\u017c\u017b\x03\x02\x02\x02\u017dh\x03\x02\x02\x02\u017e\u017f\x07x\x02\x02\u017f\u0180\x07g\x02\x02\u0180\u0181\x07t\x02\x02\u0181\u0182\x07f\x02\x02\u0182\u0183\x07c\x02\x02\u0183\u0184\x07f\x02\x02\u0184\u0185\x07g\x02\x02\u0185\u0186\x07k\x02\x02\u0186\u0187\x07t\x02\x02\u0187\u0188\x07q\x02\x02\u0188j\x03\x02\x02\x02\u0189\u018a\x07h\x02\x02\u018a\u018b\x07c\x02\x02\u018b\u018c\x07n\x02\x02\u018c\u018d\x07u\x02\x02\u018d\u018e\x07q\x02\x02\u018el\x03\x02\x02\x02\u018f\u0192\x07)\x02\x02\u0190\u0193\x05u;\x02\u0191\u0193\n\x02\x02\x02\u0192\u0190\x03\x02\x02\x02\u0192\u0191\x03\x02\x02\x02\u0193\u0194\x03\x02\x02\x02\u0194\u0195\x07)\x02\x02\u0195n\x03\x02\x02\x02\u0196\u0197\x07^\x02\x02\u0197\u019b\t\x03\x02\x02\u0198\u019b\x05s:\x02\u0199\u019b\x05q9\x02\u019a\u0196\x03\x02\x02\x02\u019a\u0198\x03\x02\x02\x02\u019a\u0199\x03\x02\x02\x02\u019bp\x03\x02\x02\x02\u019c\u019d\x07^\x02\x02\u019d\u019e\x0425\x02\u019e\u019f\x0429\x02\u019f\u01a6\x0429\x02\u01a0\u01a1\x07^\x02\x02\u01a1\u01a2\x0429\x02\u01a2\u01a6\x0429\x02\u01a3\u01a4\x07^\x02\x02\u01a4\u01a6\x0429\x02\u01a5\u019c\x03\x02\x02\x02\u01a5\u01a0\x03\x02\x02\x02\u01a5\u01a3\x03\x02\x02\x02\u01a6r\x03\x02\x02\x02\u01a7\u01a8\x07^\x02\x02\u01a8\u01a9\x07w\x02\x02\u01a9\u01aa\x05w<\x02\u01aa\u01ab\x05w<\x02\u01ab\u01ac\x05w<\x02\u01ac\u01ad\x05w<\x02\u01adt\x03\x02\x02\x02\u01ae\u01b2\x05o8\x02\u01af\u01b0\x07^\x02\x02\u01b0\u01b2\x07)\x02\x02\u01b1\u01ae\x03\x02\x02\x02\u01b1\u01af\x03\x02\x02\x02\u01b2v\x03\x02\x02\x02\u01b3\u01b4\t\x04\x02\x02\u01b4x\x03\x02\x02\x02\u01b5\u01ba\x07$\x02\x02\u01b6\u01b9\x05o8\x02\u01b7\u01b9\v\x02\x02\x02\u01b8\u01b6\x03\x02\x02\x02\u01b8\u01b7\x03\x02\x02\x02\u01b9\u01bc\x03\x02\x02\x02\u01ba\u01bb\x03\x02\x02\x02\u01ba\u01b8\x03\x02\x02\x02\u01bb\u01bd\x03\x02\x02\x02\u01bc\u01ba\x03\x02\x02\x02\u01bd\u01be\x07$\x02\x02\u01bez\x03\x02\x02\x02\u01bf\u01c2\x05}?\x02\u01c0\u01c2\x07a\x02\x02\u01c1\u01bf\x03\x02\x02\x02\u01c1\u01c0\x03\x02\x02\x02\u01c2\u01c7\x03\x02\x02\x02\u01c3\u01c6\x05}?\x02\u01c4\u01c6\t\x05\x02\x02\u01c5\u01c3\x03\x02\x02\x02\u01c5\u01c4\x03\x02\x02\x02\u01c6\u01c9\x03\x02\x02\x02\u01c7\u01c5\x03\x02\x02\x02\u01c7\u01c8\x03\x02\x02\x02\u01c8|\x03\x02\x02\x02\u01c9\u01c7\x03\x02\x02\x02\u01ca\u01cb\t\x06\x02\x02\u01cb~\x03\x02\x02\x02\u01cc\u01ce\x05\x81A\x02\u01cd\u01cc\x03\x02\x02\x02\u01ce\u01cf\x03\x02\x02\x02\u01cf\u01cd\x03\x02\x02\x02\u01cf\u01d0\x03\x02\x02\x02\u01d0\u01d1\x03\x02\x02\x02\u01d1\u01d5\x070\x02\x02\u01d2\u01d4\x05\x81A\x02\u01d3\u01d2\x03\x02\x02\x02\u01d4\u01d7\x03\x02\x02\x02\u01d5\u01d3\x03\x02\x02\x02\u01d5\u01d6\x03\x02\x02\x02\u01d6\u01df\x03\x02\x02\x02\u01d7\u01d5\x03\x02\x02\x02\u01d8\u01da\x070\x02\x02\u01d9\u01db\x05\x81A\x02\u01da\u01d9\x03\x02\x02\x02\u01db\u01dc\x03\x02\x02\x02\u01dc\u01da\x03\x02\x02\x02\u01dc\u01dd\x03\x02\x02\x02\u01dd\u01df\x03\x02\x02\x02\u01de\u01cd\x03\x02\x02\x02\u01de\u01d8\x03\x02\x02\x02\u01df\x80\x03\x02\x02\x02\u01e0\u01e1\t\x07\x02\x02\u01e1\x82\x03\x02\x02\x02\u01e2\u01e4\x05\x81A\x02\u01e3\u01e2\x03\x02\x02\x02\u01e4\u01e5\x03\x02\x02\x02\u01e5\u01e3\x03\x02\x02\x02\u01e5\u01e6\x03\x02\x02\x02\u01e6\u01e7\x03\x02\x02\x02\u01e7\u01e8\bB\x02\x02\u01e8\x84\x03\x02\x02\x02\u01e9\u01ea\x072\x02\x02\u01ea\u01eb\t\b\x02\x02\u01eb\u01f9\x05\x87D\x02\u01ec\u01f7\x05\x87D\x02\u01ed\u01f5\x05\x87D\x02\u01ee\u01f3\x05\x87D\x02\u01ef\u01f1\x05\x87D\x02\u01f0\u01f2\x05\x87D\x02\u01f1\u01f0\x03\x02\x02\x02\u01f1\u01f2\x03\x02\x02\x02\u01f2\u01f4\x03\x02\x02\x02\u01f3\u01ef\x03\x02\x02\x02\u01f3\u01f4\x03\x02\x02\x02\u01f4\u01f6\x03\x02\x02\x02\u01f5\u01ee\x03\x02\x02\x02\u01f5\u01f6\x03\x02\x02\x02\u01f6\u01f8\x03\x02\x02\x02\u01f7\u01ed\x03\x02\x02\x02\u01f7\u01f8\x03\x02\x02\x02\u01f8\u01fa\x03\x02\x02\x02\u01f9\u01ec\x03\x02\x02\x02\u01f9\u01fa\x03\x02\x02\x02\u01fa\x86\x03\x02\x02\x02\u01fb\u01fe\x05\x81A\x02\u01fc\u01fe\t\t\x02\x02\u01fd\u01fb\x03\x02\x02\x02\u01fd\u01fc\x03\x02\x02\x02\u01fe\x88\x03\x02\x02\x02\u01ff\u0200\x071\x02\x02\u0200\u0201\x07,\x02\x02\u0201\u0205\x03\x02\x02\x02\u0202\u0204\v\x02\x02\x02\u0203\u0202\x03\x02\x02\x02\u0204\u0207\x03\x02\x02\x02\u0205\u0206\x03\x02\x02\x02\u0205\u0203\x03\x02\x02\x02\u0206\u0208\x03\x02\x02\x02\u0207\u0205\x03\x02\x02\x02\u0208\u0209\x07,\x02\x02\u0209\u020a\x071\x02\x02\u020a\u020b\x03\x02\x02\x02\u020b\u020c\bE\x03\x02\u020c\x8a\x03\x02\x02\x02\u020d\u020e\x071\x02\x02\u020e\u020f\x071\x02\x02\u020f\u0213\x03\x02\x02\x02\u0210\u0212\v\x02\x02\x02\u0211\u0210\x03\x02\x02\x02\u0212\u0215\x03\x02\x02\x02\u0213\u0214\x03\x02\x02\x02\u0213\u0211\x03\x02\x02\x02\u0214\u0217\x03\x02\x02\x02\u0215\u0213\x03\x02\x02\x02\u0216\u0218\t\n\x02\x02\u0217\u0216\x03\x02\x02\x02\u0218\u0219\x03\x02\x02\x02\u0219\u021a\bF\x03\x02\u021a\x8c\x03\x02\x02\x02\u021b\u021d\t\v\x02\x02\u021c\u021b\x03\x02\x02\x02\u021d\u021e\x03\x02\x02\x02\u021e\u021c\x03\x02\x02\x02\u021e\u021f\x03\x02\x02\x02\u021f\u0220\x03\x02\x02\x02\u0220\u0221\bG\x03\x02\u0221\x8e\x03\x02\x02\x02\u0222\u0223\x070\x02\x02\u0223\x90\x03\x02\x02\x02\u0224\u0225\x07.\x02\x02\u0225\x92\x03\x02\x02\x02\u0226\u0227\x07=\x02\x02\u0227\x94\x03\x02\x02\x02\u0228\u0229\x07<\x02\x02\u0229\x96\x03\x02\x02\x02\x1d\x02\xc7\u017c\u0192\u019a\u01a5\u01b1\u01b8\u01ba\u01c1\u01c5\u01c7\u01cf\u01d5\u01dc\u01de\u01e5\u01f1\u01f3\u01f5\u01f7\u01f9\u01fd\u0205\u0213\u0217\u021e\x04\x03B\x02\x02\x03\x02";var PortugolParser_class,ATN=__webpack_require__(4495),FailedPredicateException=__webpack_require__(4482),NoViableAltException=__webpack_require__(1200),Parser=__webpack_require__(5278),ParserRuleContext=__webpack_require__(3235),ParserATNSimulator=__webpack_require__(7609),RecognitionException=__webpack_require__(6294),Token=__webpack_require__(8770);class PortugolParser extends Parser.Parser{get vocabulary(){return PortugolParser.VOCABULARY}get grammarFileName(){return"Portugol.g4"}get ruleNames(){return PortugolParser.ruleNames}get serializedATN(){return PortugolParser._serializedATN}createFailedPredicateException(predicate,message){return new FailedPredicateException.FailedPredicateException(this,predicate,message)}constructor(input){super(input),this._interp=new ParserATNSimulator.ParserATNSimulator(PortugolParser._ATN,this)}arquivo(){let _la,_localctx=new ArquivoContext(this._ctx,this.state);this.enterRule(_localctx,0,PortugolParser.RULE_arquivo);try{for(this.enterOuterAlt(_localctx,1),this.state=76,this.match(PortugolParser.PROGRAMA),this.state=77,this.match(PortugolParser.ABRE_CHAVES),this.state=81,this._errHandler.sync(this),_la=this._input.LA(1);_la===PortugolParser.INCLUA;)this.state=78,this.inclusaoBiblioteca(),this.state=83,this._errHandler.sync(this),_la=this._input.LA(1);for(this.state=88,this._errHandler.sync(this),_la=this._input.LA(1);!(-32&_la)&&1<<_la&(1<'","'<'","'<='","'>='","'++'","'--'","'<<'","'>>'","'^'","'|'","'~'","'--\x3e'","'&'","'+='","'-='","'*='","'/='",void 0,"'verdadeiro'","'falso'",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"'.'","','","';'","':'"],PortugolParser_class._SYMBOLIC_NAMES=[void 0,"ABRE_PARENTESES","FECHA_PARENTESES","ABRE_COLCHETES","FECHA_COLCHETES","ABRE_CHAVES","FECHA_CHAVES","TIPO","FACA","ENQUANTO","PARA","SE","SENAO","CONSTANTE","FUNCAO","PROGRAMA","ESCOLHA","CASO","CONTRARIO","PARE","RETORNE","INCLUA","BIBLIOTECA","OP_NAO","OP_E_LOGICO","OP_OU_LOGICO","OP_SUBTRACAO","OP_ADICAO","OP_MULTIPLICACAO","OP_DIVISAO","OP_MOD","OP_ATRIBUICAO","OP_IGUALDADE","OP_DIFERENCA","OP_MAIOR","OP_MENOR","OP_MENOR_IGUAL","OP_MAIOR_IGUAL","OP_INCREMENTO_UNARIO","OP_DECREMENTO_UNARIO","OP_SHIFT_LEFT","OP_SHIFT_RIGHT","OP_XOR","OP_OU_BITWISE","OP_NOT_BITWISE","OP_ALIAS_BIBLIOTECA","E_COMERCIAL","OP_MAIS_IGUAL","OP_MENOS_IGUAL","OP_MULTIPLICACAO_IGUAL","OP_DIVISAO_IGUAL","LOGICO","VERDADEIRO","FALSO","CARACTER","STRING","ID","REAL","INT","HEXADECIMAL","COMENTARIO","COMENTARIO_SIMPLES","WS","PONTO","VIRGULA","PONTOVIRGULA","DOISPONTOS"],PortugolParser_class.VOCABULARY=new VocabularyImpl.VocabularyImpl(PortugolParser_class._LITERAL_NAMES,PortugolParser_class._SYMBOLIC_NAMES,[]),PortugolParser_class._serializedATN='\x03\uc91d\ucaba\u058d\uafba\u4f53\u0607\uea8b\uc241\x03D\u0205\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04\x0e\t\x0e\x04\x0f\t\x0f\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1a\t\x1a\x04\x1b\t\x1b\x04\x1c\t\x1c\x04\x1d\t\x1d\x04\x1e\t\x1e\x04\x1f\t\x1f\x04 \t \x04!\t!\x04"\t"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04\'\t\'\x03\x02\x03\x02\x03\x02\x07\x02R\n\x02\f\x02\x0e\x02U\v\x02\x03\x02\x03\x02\x07\x02Y\n\x02\f\x02\x0e\x02\\\v\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x05\x03e\n\x03\x03\x04\x05\x04h\n\x04\x03\x04\x03\x04\x03\x04\x03\x04\x07\x04n\n\x04\f\x04\x0e\x04q\v\x04\x03\x05\x03\x05\x03\x05\x05\x05v\n\x05\x03\x06\x03\x06\x03\x06\x05\x06{\n\x06\x03\x07\x03\x07\x03\x07\x05\x07\x80\n\x07\x03\x07\x03\x07\x03\x07\x05\x07\x85\n\x07\x03\x07\x03\x07\x03\x07\x05\x07\x8a\n\x07\x03\b\x03\b\x03\b\x03\b\x07\b\x90\n\b\f\b\x0e\b\x93\v\b\x03\b\x03\b\x03\t\x03\t\x03\n\x03\n\x03\v\x03\v\x03\v\x05\v\x9e\n\v\x03\v\x03\v\x03\v\x05\v\xa3\n\v\x03\f\x03\f\x05\f\xa7\n\f\x03\f\x03\f\x03\r\x03\r\x03\x0e\x03\x0e\x05\x0e\xaf\n\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x07\x0e\xb5\n\x0e\f\x0e\x0e\x0e\xb8\v\x0e\x03\x0e\x03\x0e\x03\x0f\x03\x0f\x05\x0f\xbe\n\x0f\x03\x0f\x03\x0f\x03\x10\x03\x10\x03\x10\x07\x10\xc5\n\x10\f\x10\x0e\x10\xc8\v\x10\x03\x11\x03\x11\x05\x11\xcc\n\x11\x03\x11\x03\x11\x03\x11\x05\x11\xd1\n\x11\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x05\x14\xe6\n\x14\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x05\x16\xfc\n\x16\x03\x17\x03\x17\x05\x17\u0100\n\x17\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x05\x18\u0108\n\x18\x03\x19\x03\x19\x03\x19\x03\x1a\x03\x1a\x03\x1a\x03\x1a\x03\x1a\x03\x1a\x03\x1b\x03\x1b\x03\x1b\x03\x1b\x03\x1b\x03\x1b\x03\x1b\x03\x1c\x03\x1c\x03\x1c\x05\x1c\u011d\n\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1d\x03\x1d\x07\x1d\u0128\n\x1d\f\x1d\x0e\x1d\u012b\v\x1d\x03\x1d\x03\x1d\x05\x1d\u012f\n\x1d\x03\x1e\x03\x1e\x03\x1e\x05\x1e\u0134\n\x1e\x03\x1f\x03\x1f\x03 \x03 \x03 \x05 \u013b\n \x03!\x03!\x03!\x03!\x03!\x03!\x07!\u0143\n!\f!\x0e!\u0146\v!\x03!\x03!\x03"\x03"\x03"\x05"\u014d\n"\x03"\x03"\x07"\u0151\n"\f"\x0e"\u0154\v"\x03"\x03"\x07"\u0158\n"\f"\x0e"\u015b\v"\x03"\x05"\u015e\n"\x03"\x05"\u0161\n"\x03#\x03#\x03$\x03$\x03$\x03$\x03%\x03%\x05%\u016b\n%\x03%\x03%\x03%\x05%\u0170\n%\x03%\x03%\x05%\u0174\n%\x03%\x03%\x03%\x05%\u0179\n%\x03%\x03%\x03%\x05%\u017e\n%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x05%\u018b\n%\x05%\u018d\n%\x03%\x03%\x03%\x03%\x05%\u0193\n%\x05%\u0195\n%\x03%\x03%\x03%\x03%\x03%\x05%\u019c\n%\x05%\u019e\n%\x03%\x03%\x03%\x03%\x05%\u01a4\n%\x05%\u01a6\n%\x03%\x05%\u01a9\n%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x05%\u01b5\n%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x07%\u01ed\n%\f%\x0e%\u01f0\v%\x03&\x03&\x03&\x05&\u01f5\n&\x03&\x03&\x03&\x03&\x05&\u01fb\n&\x07&\u01fd\n&\f&\x0e&\u0200\v&\x03\'\x03\'\x03\'\x03\'\x02\x02\x03H(\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 \x02"\x02$\x02&\x02(\x02*\x02,\x02.\x020\x022\x024\x026\x028\x02:\x02<\x02>\x02@\x02B\x02D\x02F\x02H\x02J\x02L\x02\x02\x03\x03\x02<=\x02\u0247\x02N\x03\x02\x02\x02\x04_\x03\x02\x02\x02\x06g\x03\x02\x02\x02\bu\x03\x02\x02\x02\nw\x03\x02\x02\x02\f|\x03\x02\x02\x02\x0e\x8b\x03\x02\x02\x02\x10\x96\x03\x02\x02\x02\x12\x98\x03\x02\x02\x02\x14\x9a\x03\x02\x02\x02\x16\xa4\x03\x02\x02\x02\x18\xaa\x03\x02\x02\x02\x1a\xac\x03\x02\x02\x02\x1c\xbb\x03\x02\x02\x02\x1e\xc1\x03\x02\x02\x02 \xc9\x03\x02\x02\x02"\xd2\x03\x02\x02\x02$\xd5\x03\x02\x02\x02&\xe5\x03\x02\x02\x02(\xe7\x03\x02\x02\x02*\xfb\x03\x02\x02\x02,\xfd\x03\x02\x02\x02.\u0101\x03\x02\x02\x020\u0109\x03\x02\x02\x022\u010c\x03\x02\x02\x024\u0112\x03\x02\x02\x026\u0119\x03\x02\x02\x028\u012e\x03\x02\x02\x02:\u0133\x03\x02\x02\x02<\u0135\x03\x02\x02\x02>\u013a\x03\x02\x02\x02@\u013c\x03\x02\x02\x02B\u0149\x03\x02\x02\x02D\u0162\x03\x02\x02\x02F\u0164\x03\x02\x02\x02H\u01b4\x03\x02\x02\x02J\u01f4\x03\x02\x02\x02L\u0201\x03\x02\x02\x02NO\x07\x11\x02\x02OS\x07\x07\x02\x02PR\x05\x04\x03\x02QP\x03\x02\x02\x02RU\x03\x02\x02\x02SQ\x03\x02\x02\x02ST\x03\x02\x02\x02TZ\x03\x02\x02\x02US\x03\x02\x02\x02VY\x05\x1a\x0e\x02WY\x05\x06\x04\x02XV\x03\x02\x02\x02XW\x03\x02\x02\x02Y\\\x03\x02\x02\x02ZX\x03\x02\x02\x02Z[\x03\x02\x02\x02[]\x03\x02\x02\x02\\Z\x03\x02\x02\x02]^\x07\b\x02\x02^\x03\x03\x02\x02\x02_`\x07\x17\x02\x02`a\x07\x18\x02\x02ad\x07:\x02\x02bc\x07/\x02\x02ce\x07:\x02\x02db\x03\x02\x02\x02de\x03\x02\x02\x02e\x05\x03\x02\x02\x02fh\x07\x0f\x02\x02gf\x03\x02\x02\x02gh\x03\x02\x02\x02hi\x03\x02\x02\x02ij\x07\t\x02\x02jo\x05\b\x05\x02kl\x07B\x02\x02ln\x05\b\x05\x02mk\x03\x02\x02\x02nq\x03\x02\x02\x02om\x03\x02\x02\x02op\x03\x02\x02\x02p\x07\x03\x02\x02\x02qo\x03\x02\x02\x02rv\x05\n\x06\x02sv\x05\x14\v\x02tv\x05\f\x07\x02ur\x03\x02\x02\x02us\x03\x02\x02\x02ut\x03\x02\x02\x02v\t\x03\x02\x02\x02wz\x07:\x02\x02xy\x07!\x02\x02y{\x05H%\x02zx\x03\x02\x02\x02z{\x03\x02\x02\x02{\v\x03\x02\x02\x02|}\x07:\x02\x02}\x7f\x07\x05\x02\x02~\x80\x05\x10\t\x02\x7f~\x03\x02\x02\x02\x7f\x80\x03\x02\x02\x02\x80\x81\x03\x02\x02\x02\x81\x82\x07\x06\x02\x02\x82\x84\x07\x05\x02\x02\x83\x85\x05\x12\n\x02\x84\x83\x03\x02\x02\x02\x84\x85\x03\x02\x02\x02\x85\x86\x03\x02\x02\x02\x86\x89\x07\x06\x02\x02\x87\x88\x07!\x02\x02\x88\x8a\x05\x0e\b\x02\x89\x87\x03\x02\x02\x02\x89\x8a\x03\x02\x02\x02\x8a\r\x03\x02\x02\x02\x8b\x8c\x07\x07\x02\x02\x8c\x91\x05\x16\f\x02\x8d\x8e\x07B\x02\x02\x8e\x90\x05\x16\f\x02\x8f\x8d\x03\x02\x02\x02\x90\x93\x03\x02\x02\x02\x91\x8f\x03\x02\x02\x02\x91\x92\x03\x02\x02\x02\x92\x94\x03\x02\x02\x02\x93\x91\x03\x02\x02\x02\x94\x95\x07\b\x02\x02\x95\x0f\x03\x02\x02\x02\x96\x97\x05\x18\r\x02\x97\x11\x03\x02\x02\x02\x98\x99\x05\x18\r\x02\x99\x13\x03\x02\x02\x02\x9a\x9b\x07:\x02\x02\x9b\x9d\x07\x05\x02\x02\x9c\x9e\x05\x18\r\x02\x9d\x9c\x03\x02\x02\x02\x9d\x9e\x03\x02\x02\x02\x9e\x9f\x03\x02\x02\x02\x9f\xa2\x07\x06\x02\x02\xa0\xa1\x07!\x02\x02\xa1\xa3\x05\x16\f\x02\xa2\xa0\x03\x02\x02\x02\xa2\xa3\x03\x02\x02\x02\xa3\x15\x03\x02\x02\x02\xa4\xa6\x07\x07\x02\x02\xa5\xa7\x05J&\x02\xa6\xa5\x03\x02\x02\x02\xa6\xa7\x03\x02\x02\x02\xa7\xa8\x03\x02\x02\x02\xa8\xa9\x07\b\x02\x02\xa9\x17\x03\x02\x02\x02\xaa\xab\x05H%\x02\xab\x19\x03\x02\x02\x02\xac\xae\x07\x10\x02\x02\xad\xaf\x07\t\x02\x02\xae\xad\x03\x02\x02\x02\xae\xaf\x03\x02\x02\x02\xaf\xb0\x03\x02\x02\x02\xb0\xb1\x07:\x02\x02\xb1\xb2\x05\x1c\x0f\x02\xb2\xb6\x07\x07\x02\x02\xb3\xb5\x05&\x14\x02\xb4\xb3\x03\x02\x02\x02\xb5\xb8\x03\x02\x02\x02\xb6\xb4\x03\x02\x02\x02\xb6\xb7\x03\x02\x02\x02\xb7\xb9\x03\x02\x02\x02\xb8\xb6\x03\x02\x02\x02\xb9\xba\x07\b\x02\x02\xba\x1b\x03\x02\x02\x02\xbb\xbd\x07\x03\x02\x02\xbc\xbe\x05\x1e\x10\x02\xbd\xbc\x03\x02\x02\x02\xbd\xbe\x03\x02\x02\x02\xbe\xbf\x03\x02\x02\x02\xbf\xc0\x07\x04\x02\x02\xc0\x1d\x03\x02\x02\x02\xc1\xc6\x05 \x11\x02\xc2\xc3\x07B\x02\x02\xc3\xc5\x05 \x11\x02\xc4\xc2\x03\x02\x02\x02\xc5\xc8\x03\x02\x02\x02\xc6\xc4\x03\x02\x02\x02\xc6\xc7\x03\x02\x02\x02\xc7\x1f\x03\x02\x02\x02\xc8\xc6\x03\x02\x02\x02\xc9\xcb\x07\t\x02\x02\xca\xcc\x070\x02\x02\xcb\xca\x03\x02\x02\x02\xcb\xcc\x03\x02\x02\x02\xcc\xcd\x03\x02\x02\x02\xcd\xd0\x07:\x02\x02\xce\xd1\x05"\x12\x02\xcf\xd1\x05$\x13\x02\xd0\xce\x03\x02\x02\x02\xd0\xcf\x03\x02\x02\x02\xd0\xd1\x03\x02\x02\x02\xd1!\x03\x02\x02\x02\xd2\xd3\x07\x05\x02\x02\xd3\xd4\x07\x06\x02\x02\xd4#\x03\x02\x02\x02\xd5\xd6\x07\x05\x02\x02\xd6\xd7\x07\x06\x02\x02\xd7\xd8\x07\x05\x02\x02\xd8\xd9\x07\x06\x02\x02\xd9%\x03\x02\x02\x02\xda\xe6\x05\x06\x04\x02\xdb\xe6\x05.\x18\x02\xdc\xe6\x052\x1a\x02\xdd\xe6\x054\x1b\x02\xde\xe6\x056\x1c\x02\xdf\xe6\x05@!\x02\xe0\xe6\x05,\x17\x02\xe1\xe6\x05D#\x02\xe2\xe6\x05(\x15\x02\xe3\xe6\x05*\x16\x02\xe4\xe6\x05H%\x02\xe5\xda\x03\x02\x02\x02\xe5\xdb\x03\x02\x02\x02\xe5\xdc\x03\x02\x02\x02\xe5\xdd\x03\x02\x02\x02\xe5\xde\x03\x02\x02\x02\xe5\xdf\x03\x02\x02\x02\xe5\xe0\x03\x02\x02\x02\xe5\xe1\x03\x02\x02\x02\xe5\xe2\x03\x02\x02\x02\xe5\xe3\x03\x02\x02\x02\xe5\xe4\x03\x02\x02\x02\xe6\'\x03\x02\x02\x02\xe7\xe8\x05H%\x02\xe8\xe9\x07!\x02\x02\xe9\xea\x05H%\x02\xea)\x03\x02\x02\x02\xeb\xec\x05H%\x02\xec\xed\x071\x02\x02\xed\xee\x05H%\x02\xee\xfc\x03\x02\x02\x02\xef\xf0\x05H%\x02\xf0\xf1\x072\x02\x02\xf1\xf2\x05H%\x02\xf2\xfc\x03\x02\x02\x02\xf3\xf4\x05H%\x02\xf4\xf5\x073\x02\x02\xf5\xf6\x05H%\x02\xf6\xfc\x03\x02\x02\x02\xf7\xf8\x05H%\x02\xf8\xf9\x074\x02\x02\xf9\xfa\x05H%\x02\xfa\xfc\x03\x02\x02\x02\xfb\xeb\x03\x02\x02\x02\xfb\xef\x03\x02\x02\x02\xfb\xf3\x03\x02\x02\x02\xfb\xf7\x03\x02\x02\x02\xfc+\x03\x02\x02\x02\xfd\xff\x07\x16\x02\x02\xfe\u0100\x05H%\x02\xff\xfe\x03\x02\x02\x02\xff\u0100\x03\x02\x02\x02\u0100-\x03\x02\x02\x02\u0101\u0102\x07\r\x02\x02\u0102\u0103\x07\x03\x02\x02\u0103\u0104\x05H%\x02\u0104\u0105\x07\x04\x02\x02\u0105\u0107\x058\x1d\x02\u0106\u0108\x050\x19\x02\u0107\u0106\x03\x02\x02\x02\u0107\u0108\x03\x02\x02\x02\u0108/\x03\x02\x02\x02\u0109\u010a\x07\x0e\x02\x02\u010a\u010b\x058\x1d\x02\u010b1\x03\x02\x02\x02\u010c\u010d\x07\v\x02\x02\u010d\u010e\x07\x03\x02\x02\u010e\u010f\x05H%\x02\u010f\u0110\x07\x04\x02\x02\u0110\u0111\x058\x1d\x02\u01113\x03\x02\x02\x02\u0112\u0113\x07\n\x02\x02\u0113\u0114\x058\x1d\x02\u0114\u0115\x07\v\x02\x02\u0115\u0116\x07\x03\x02\x02\u0116\u0117\x05H%\x02\u0117\u0118\x07\x04\x02\x02\u01185\x03\x02\x02\x02\u0119\u011a\x07\f\x02\x02\u011a\u011c\x07\x03\x02\x02\u011b\u011d\x05:\x1e\x02\u011c\u011b\x03\x02\x02\x02\u011c\u011d\x03\x02\x02\x02\u011d\u011e\x03\x02\x02\x02\u011e\u011f\x07C\x02\x02\u011f\u0120\x05<\x1f\x02\u0120\u0121\x07C\x02\x02\u0121\u0122\x05> \x02\u0122\u0123\x07\x04\x02\x02\u0123\u0124\x058\x1d\x02\u01247\x03\x02\x02\x02\u0125\u0129\x07\x07\x02\x02\u0126\u0128\x05&\x14\x02\u0127\u0126\x03\x02\x02\x02\u0128\u012b\x03\x02\x02\x02\u0129\u0127\x03\x02\x02\x02\u0129\u012a\x03\x02\x02\x02\u012a\u012c\x03\x02\x02\x02\u012b\u0129\x03\x02\x02\x02\u012c\u012f\x07\b\x02\x02\u012d\u012f\x05&\x14\x02\u012e\u0125\x03\x02\x02\x02\u012e\u012d\x03\x02\x02\x02\u012f9\x03\x02\x02\x02\u0130\u0134\x05(\x15\x02\u0131\u0134\x05\x06\x04\x02\u0132\u0134\x07:\x02\x02\u0133\u0130\x03\x02\x02\x02\u0133\u0131\x03\x02\x02\x02\u0133\u0132\x03\x02\x02\x02\u0134;\x03\x02\x02\x02\u0135\u0136\x05H%\x02\u0136=\x03\x02\x02\x02\u0137\u013b\x05H%\x02\u0138\u013b\x05*\x16\x02\u0139\u013b\x05(\x15\x02\u013a\u0137\x03\x02\x02\x02\u013a\u0138\x03\x02\x02\x02\u013a\u0139\x03\x02\x02\x02\u013b?\x03\x02\x02\x02\u013c\u013d\x07\x12\x02\x02\u013d\u013e\x07\x03\x02\x02\u013e\u013f\x05H%\x02\u013f\u0140\x07\x04\x02\x02\u0140\u0144\x07\x07\x02\x02\u0141\u0143\x05B"\x02\u0142\u0141\x03\x02\x02\x02\u0143\u0146\x03\x02\x02\x02\u0144\u0142\x03\x02\x02\x02\u0144\u0145\x03\x02\x02\x02\u0145\u0147\x03\x02\x02\x02\u0146\u0144\x03\x02\x02\x02\u0147\u0148\x07\b\x02\x02\u0148A\x03\x02\x02\x02\u0149\u014c\x07\x13\x02\x02\u014a\u014d\x07\x14\x02\x02\u014b\u014d\x05H%\x02\u014c\u014a\x03\x02\x02\x02\u014c\u014b\x03\x02\x02\x02\u014d\u014e\x03\x02\x02\x02\u014e\u015d\x07D\x02\x02\u014f\u0151\x05&\x14\x02\u0150\u014f\x03\x02\x02\x02\u0151\u0154\x03\x02\x02\x02\u0152\u0150\x03\x02\x02\x02\u0152\u0153\x03\x02\x02\x02\u0153\u015e\x03\x02\x02\x02\u0154\u0152\x03\x02\x02\x02\u0155\u0159\x07\x07\x02\x02\u0156\u0158\x05&\x14\x02\u0157\u0156\x03\x02\x02\x02\u0158\u015b\x03\x02\x02\x02\u0159\u0157\x03\x02\x02\x02\u0159\u015a\x03\x02\x02\x02\u015a\u015c\x03\x02\x02\x02\u015b\u0159\x03\x02\x02\x02\u015c\u015e\x07\b\x02\x02\u015d\u0152\x03\x02\x02\x02\u015d\u0155\x03\x02\x02\x02\u015e\u0160\x03\x02\x02\x02\u015f\u0161\x05D#\x02\u0160\u015f\x03\x02\x02\x02\u0160\u0161\x03\x02\x02\x02\u0161C\x03\x02\x02\x02\u0162\u0163\x07\x15\x02\x02\u0163E\x03\x02\x02\x02\u0164\u0165\x07\x05\x02\x02\u0165\u0166\x05H%\x02\u0166\u0167\x07\x06\x02\x02\u0167G\x03\x02\x02\x02\u0168\u016a\b%\x01\x02\u0169\u016b\x05L\'\x02\u016a\u0169\x03\x02\x02\x02\u016a\u016b\x03\x02\x02\x02\u016b\u016c\x03\x02\x02\x02\u016c\u016d\x07:\x02\x02\u016d\u016f\x07\x03\x02\x02\u016e\u0170\x05J&\x02\u016f\u016e\x03\x02\x02\x02\u016f\u0170\x03\x02\x02\x02\u0170\u0171\x03\x02\x02\x02\u0171\u01b5\x07\x04\x02\x02\u0172\u0174\x05L\'\x02\u0173\u0172\x03\x02\x02\x02\u0173\u0174\x03\x02\x02\x02\u0174\u0175\x03\x02\x02\x02\u0175\u0176\x07:\x02\x02\u0176\u01b5\x05F$\x02\u0177\u0179\x05L\'\x02\u0178\u0177\x03\x02\x02\x02\u0178\u0179\x03\x02\x02\x02\u0179\u017a\x03\x02\x02\x02\u017a\u017b\x07:\x02\x02\u017b\u017d\x05F$\x02\u017c\u017e\x05F$\x02\u017d\u017c\x03\x02\x02\x02\u017d\u017e\x03\x02\x02\x02\u017e\u01b5\x03\x02\x02\x02\u017f\u0180\x07\x1c\x02\x02\u0180\u01b5\x05H%#\u0181\u0182\x07\x1d\x02\x02\u0182\u01b5\x05H%"\u0183\u0184\x07\x19\x02\x02\u0184\u01b5\x05H%!\u0185\u0186\x07.\x02\x02\u0186\u01b5\x05H% \u0187\u018c\x07:\x02\x02\u0188\u018a\x05F$\x02\u0189\u018b\x05F$\x02\u018a\u0189\x03\x02\x02\x02\u018a\u018b\x03\x02\x02\x02\u018b\u018d\x03\x02\x02\x02\u018c\u0188\x03\x02\x02\x02\u018c\u018d\x03\x02\x02\x02\u018d\u018e\x03\x02\x02\x02\u018e\u01b5\x07(\x02\x02\u018f\u0194\x07:\x02\x02\u0190\u0192\x05F$\x02\u0191\u0193\x05F$\x02\u0192\u0191\x03\x02\x02\x02\u0192\u0193\x03\x02\x02\x02\u0193\u0195\x03\x02\x02\x02\u0194\u0190\x03\x02\x02\x02\u0194\u0195\x03\x02\x02\x02\u0195\u0196\x03\x02\x02\x02\u0196\u01b5\x07)\x02\x02\u0197\u0198\x07(\x02\x02\u0198\u019d\x07:\x02\x02\u0199\u019b\x05F$\x02\u019a\u019c\x05F$\x02\u019b\u019a\x03\x02\x02\x02\u019b\u019c\x03\x02\x02\x02\u019c\u019e\x03\x02\x02\x02\u019d\u0199\x03\x02\x02\x02\u019d\u019e\x03\x02\x02\x02\u019e\u01b5\x03\x02\x02\x02\u019f\u01a0\x07)\x02\x02\u01a0\u01a5\x07:\x02\x02\u01a1\u01a3\x05F$\x02\u01a2\u01a4\x05F$\x02\u01a3\u01a2\x03\x02\x02\x02\u01a3\u01a4\x03\x02\x02\x02\u01a4\u01a6\x03\x02\x02\x02\u01a5\u01a1\x03\x02\x02\x02\u01a5\u01a6\x03\x02\x02\x02\u01a6\u01b5\x03\x02\x02\x02\u01a7\u01a9\x05L\'\x02\u01a8\u01a7\x03\x02\x02\x02\u01a8\u01a9\x03\x02\x02\x02\u01a9\u01aa\x03\x02\x02\x02\u01aa\u01b5\x07:\x02\x02\u01ab\u01b5\t\x02\x02\x02\u01ac\u01b5\x07;\x02\x02\u01ad\u01b5\x075\x02\x02\u01ae\u01b5\x078\x02\x02\u01af\u01b5\x079\x02\x02\u01b0\u01b1\x07\x03\x02\x02\u01b1\u01b2\x05H%\x02\u01b2\u01b3\x07\x04\x02\x02\u01b3\u01b5\x03\x02\x02\x02\u01b4\u0168\x03\x02\x02\x02\u01b4\u0173\x03\x02\x02\x02\u01b4\u0178\x03\x02\x02\x02\u01b4\u017f\x03\x02\x02\x02\u01b4\u0181\x03\x02\x02\x02\u01b4\u0183\x03\x02\x02\x02\u01b4\u0185\x03\x02\x02\x02\u01b4\u0187\x03\x02\x02\x02\u01b4\u018f\x03\x02\x02\x02\u01b4\u0197\x03\x02\x02\x02\u01b4\u019f\x03\x02\x02\x02\u01b4\u01a8\x03\x02\x02\x02\u01b4\u01ab\x03\x02\x02\x02\u01b4\u01ac\x03\x02\x02\x02\u01b4\u01ad\x03\x02\x02\x02\u01b4\u01ae\x03\x02\x02\x02\u01b4\u01af\x03\x02\x02\x02\u01b4\u01b0\x03\x02\x02\x02\u01b5\u01ee\x03\x02\x02\x02\u01b6\u01b7\f\x1b\x02\x02\u01b7\u01b8\x07\x1e\x02\x02\u01b8\u01ed\x05H%\x1c\u01b9\u01ba\f\x1a\x02\x02\u01ba\u01bb\x07\x1f\x02\x02\u01bb\u01ed\x05H%\x1b\u01bc\u01bd\f\x19\x02\x02\u01bd\u01be\x07 \x02\x02\u01be\u01ed\x05H%\x1a\u01bf\u01c0\f\x18\x02\x02\u01c0\u01c1\x07\x1d\x02\x02\u01c1\u01ed\x05H%\x19\u01c2\u01c3\f\x17\x02\x02\u01c3\u01c4\x07\x1c\x02\x02\u01c4\u01ed\x05H%\x18\u01c5\u01c6\f\x16\x02\x02\u01c6\u01c7\x07"\x02\x02\u01c7\u01ed\x05H%\x17\u01c8\u01c9\f\x15\x02\x02\u01c9\u01ca\x07#\x02\x02\u01ca\u01ed\x05H%\x16\u01cb\u01cc\f\x14\x02\x02\u01cc\u01cd\x07$\x02\x02\u01cd\u01ed\x05H%\x15\u01ce\u01cf\f\x13\x02\x02\u01cf\u01d0\x07%\x02\x02\u01d0\u01ed\x05H%\x14\u01d1\u01d2\f\x12\x02\x02\u01d2\u01d3\x07&\x02\x02\u01d3\u01ed\x05H%\x13\u01d4\u01d5\f\x11\x02\x02\u01d5\u01d6\x07\'\x02\x02\u01d6\u01ed\x05H%\x12\u01d7\u01d8\f\x10\x02\x02\u01d8\u01d9\x07\x1a\x02\x02\u01d9\u01ed\x05H%\x11\u01da\u01db\f\x0f\x02\x02\u01db\u01dc\x07\x1b\x02\x02\u01dc\u01ed\x05H%\x10\u01dd\u01de\f\x0e\x02\x02\u01de\u01df\x07,\x02\x02\u01df\u01ed\x05H%\x0f\u01e0\u01e1\f\r\x02\x02\u01e1\u01e2\x07*\x02\x02\u01e2\u01ed\x05H%\x0e\u01e3\u01e4\f\f\x02\x02\u01e4\u01e5\x07+\x02\x02\u01e5\u01ed\x05H%\r\u01e6\u01e7\f\v\x02\x02\u01e7\u01e8\x070\x02\x02\u01e8\u01ed\x05H%\f\u01e9\u01ea\f\n\x02\x02\u01ea\u01eb\x07-\x02\x02\u01eb\u01ed\x05H%\v\u01ec\u01b6\x03\x02\x02\x02\u01ec\u01b9\x03\x02\x02\x02\u01ec\u01bc\x03\x02\x02\x02\u01ec\u01bf\x03\x02\x02\x02\u01ec\u01c2\x03\x02\x02\x02\u01ec\u01c5\x03\x02\x02\x02\u01ec\u01c8\x03\x02\x02\x02\u01ec\u01cb\x03\x02\x02\x02\u01ec\u01ce\x03\x02\x02\x02\u01ec\u01d1\x03\x02\x02\x02\u01ec\u01d4\x03\x02\x02\x02\u01ec\u01d7\x03\x02\x02\x02\u01ec\u01da\x03\x02\x02\x02\u01ec\u01dd\x03\x02\x02\x02\u01ec\u01e0\x03\x02\x02\x02\u01ec\u01e3\x03\x02\x02\x02\u01ec\u01e6\x03\x02\x02\x02\u01ec\u01e9\x03\x02\x02\x02\u01ed\u01f0\x03\x02\x02\x02\u01ee\u01ec\x03\x02\x02\x02\u01ee\u01ef\x03\x02\x02\x02\u01efI\x03\x02\x02\x02\u01f0\u01ee\x03\x02\x02\x02\u01f1\u01f5\x05H%\x02\u01f2\u01f5\x05*\x16\x02\u01f3\u01f5\x05(\x15\x02\u01f4\u01f1\x03\x02\x02\x02\u01f4\u01f2\x03\x02\x02\x02\u01f4\u01f3\x03\x02\x02\x02\u01f5\u01fe\x03\x02\x02\x02\u01f6\u01fa\x07B\x02\x02\u01f7\u01fb\x05H%\x02\u01f8\u01fb\x05*\x16\x02\u01f9\u01fb\x05(\x15\x02\u01fa\u01f7\x03\x02\x02\x02\u01fa\u01f8\x03\x02\x02\x02\u01fa\u01f9\x03\x02\x02\x02\u01fb\u01fd\x03\x02\x02\x02\u01fc\u01f6\x03\x02\x02\x02\u01fd\u0200\x03\x02\x02\x02\u01fe\u01fc\x03\x02\x02\x02\u01fe\u01ff\x03\x02\x02\x02\u01ffK\x03\x02\x02\x02\u0200\u01fe\x03\x02\x02\x02\u0201\u0202\x07:\x02\x02\u0202\u0203\x07A\x02\x02\u0203M\x03\x02\x02\x02:SXZdgouz\x7f\x84\x89\x91\x9d\xa2\xa6\xae\xb6\xbd\xc6\xcb\xd0\xe5\xfb\xff\u0107\u011c\u0129\u012e\u0133\u013a\u0144\u014c\u0152\u0159\u015d\u0160\u016a\u016f\u0173\u0178\u017d\u018a\u018c\u0192\u0194\u019b\u019d\u01a3\u01a5\u01a8\u01b4\u01ec\u01ee\u01f4\u01fa\u01fe';class ArquivoContext extends ParserRuleContext.ParserRuleContext{PROGRAMA(){return this.getToken(PortugolParser.PROGRAMA,0)}ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}inclusaoBiblioteca(i6){return void 0===i6?this.getRuleContexts(InclusaoBibliotecaContext):this.getRuleContext(i6,InclusaoBibliotecaContext)}declaracaoFuncao(i6){return void 0===i6?this.getRuleContexts(DeclaracaoFuncaoContext):this.getRuleContext(i6,DeclaracaoFuncaoContext)}listaDeclaracoes(i6){return void 0===i6?this.getRuleContexts(ListaDeclaracoesContext):this.getRuleContext(i6,ListaDeclaracoesContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_arquivo}enterRule(listener){listener.enterArquivo&&listener.enterArquivo(this)}exitRule(listener){listener.exitArquivo&&listener.exitArquivo(this)}accept(visitor){return visitor.visitArquivo?visitor.visitArquivo(this):visitor.visitChildren(this)}}class InclusaoBibliotecaContext extends ParserRuleContext.ParserRuleContext{INCLUA(){return this.getToken(PortugolParser.INCLUA,0)}BIBLIOTECA(){return this.getToken(PortugolParser.BIBLIOTECA,0)}ID(i6){return void 0===i6?this.getTokens(PortugolParser.ID):this.getToken(PortugolParser.ID,i6)}OP_ALIAS_BIBLIOTECA(){return this.tryGetToken(PortugolParser.OP_ALIAS_BIBLIOTECA,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_inclusaoBiblioteca}enterRule(listener){listener.enterInclusaoBiblioteca&&listener.enterInclusaoBiblioteca(this)}exitRule(listener){listener.exitInclusaoBiblioteca&&listener.exitInclusaoBiblioteca(this)}accept(visitor){return visitor.visitInclusaoBiblioteca?visitor.visitInclusaoBiblioteca(this):visitor.visitChildren(this)}}class ListaDeclaracoesContext extends ParserRuleContext.ParserRuleContext{TIPO(){return this.getToken(PortugolParser.TIPO,0)}declaracao(i6){return void 0===i6?this.getRuleContexts(DeclaracaoContext):this.getRuleContext(i6,DeclaracaoContext)}CONSTANTE(){return this.tryGetToken(PortugolParser.CONSTANTE,0)}VIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.VIRGULA):this.getToken(PortugolParser.VIRGULA,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_listaDeclaracoes}enterRule(listener){listener.enterListaDeclaracoes&&listener.enterListaDeclaracoes(this)}exitRule(listener){listener.exitListaDeclaracoes&&listener.exitListaDeclaracoes(this)}accept(visitor){return visitor.visitListaDeclaracoes?visitor.visitListaDeclaracoes(this):visitor.visitChildren(this)}}class DeclaracaoContext extends ParserRuleContext.ParserRuleContext{declaracaoVariavel(){return this.tryGetRuleContext(0,DeclaracaoVariavelContext)}declaracaoArray(){return this.tryGetRuleContext(0,DeclaracaoArrayContext)}declaracaoMatriz(){return this.tryGetRuleContext(0,DeclaracaoMatrizContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracao}enterRule(listener){listener.enterDeclaracao&&listener.enterDeclaracao(this)}exitRule(listener){listener.exitDeclaracao&&listener.exitDeclaracao(this)}accept(visitor){return visitor.visitDeclaracao?visitor.visitDeclaracao(this):visitor.visitChildren(this)}}class DeclaracaoVariavelContext extends ParserRuleContext.ParserRuleContext{ID(){return this.getToken(PortugolParser.ID,0)}OP_ATRIBUICAO(){return this.tryGetToken(PortugolParser.OP_ATRIBUICAO,0)}expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracaoVariavel}enterRule(listener){listener.enterDeclaracaoVariavel&&listener.enterDeclaracaoVariavel(this)}exitRule(listener){listener.exitDeclaracaoVariavel&&listener.exitDeclaracaoVariavel(this)}accept(visitor){return visitor.visitDeclaracaoVariavel?visitor.visitDeclaracaoVariavel(this):visitor.visitChildren(this)}}class DeclaracaoMatrizContext extends ParserRuleContext.ParserRuleContext{ID(){return this.getToken(PortugolParser.ID,0)}ABRE_COLCHETES(i6){return void 0===i6?this.getTokens(PortugolParser.ABRE_COLCHETES):this.getToken(PortugolParser.ABRE_COLCHETES,i6)}FECHA_COLCHETES(i6){return void 0===i6?this.getTokens(PortugolParser.FECHA_COLCHETES):this.getToken(PortugolParser.FECHA_COLCHETES,i6)}linhaMatriz(){return this.tryGetRuleContext(0,LinhaMatrizContext)}colunaMatriz(){return this.tryGetRuleContext(0,ColunaMatrizContext)}OP_ATRIBUICAO(){return this.tryGetToken(PortugolParser.OP_ATRIBUICAO,0)}inicializacaoMatriz(){return this.tryGetRuleContext(0,InicializacaoMatrizContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracaoMatriz}enterRule(listener){listener.enterDeclaracaoMatriz&&listener.enterDeclaracaoMatriz(this)}exitRule(listener){listener.exitDeclaracaoMatriz&&listener.exitDeclaracaoMatriz(this)}accept(visitor){return visitor.visitDeclaracaoMatriz?visitor.visitDeclaracaoMatriz(this):visitor.visitChildren(this)}}class InicializacaoMatrizContext extends ParserRuleContext.ParserRuleContext{ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}inicializacaoArray(i6){return void 0===i6?this.getRuleContexts(InicializacaoArrayContext):this.getRuleContext(i6,InicializacaoArrayContext)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}VIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.VIRGULA):this.getToken(PortugolParser.VIRGULA,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_inicializacaoMatriz}enterRule(listener){listener.enterInicializacaoMatriz&&listener.enterInicializacaoMatriz(this)}exitRule(listener){listener.exitInicializacaoMatriz&&listener.exitInicializacaoMatriz(this)}accept(visitor){return visitor.visitInicializacaoMatriz?visitor.visitInicializacaoMatriz(this):visitor.visitChildren(this)}}class LinhaMatrizContext extends ParserRuleContext.ParserRuleContext{tamanhoArray(){return this.getRuleContext(0,TamanhoArrayContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_linhaMatriz}enterRule(listener){listener.enterLinhaMatriz&&listener.enterLinhaMatriz(this)}exitRule(listener){listener.exitLinhaMatriz&&listener.exitLinhaMatriz(this)}accept(visitor){return visitor.visitLinhaMatriz?visitor.visitLinhaMatriz(this):visitor.visitChildren(this)}}class ColunaMatrizContext extends ParserRuleContext.ParserRuleContext{tamanhoArray(){return this.getRuleContext(0,TamanhoArrayContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_colunaMatriz}enterRule(listener){listener.enterColunaMatriz&&listener.enterColunaMatriz(this)}exitRule(listener){listener.exitColunaMatriz&&listener.exitColunaMatriz(this)}accept(visitor){return visitor.visitColunaMatriz?visitor.visitColunaMatriz(this):visitor.visitChildren(this)}}class DeclaracaoArrayContext extends ParserRuleContext.ParserRuleContext{ID(){return this.getToken(PortugolParser.ID,0)}ABRE_COLCHETES(){return this.getToken(PortugolParser.ABRE_COLCHETES,0)}FECHA_COLCHETES(){return this.getToken(PortugolParser.FECHA_COLCHETES,0)}tamanhoArray(){return this.tryGetRuleContext(0,TamanhoArrayContext)}OP_ATRIBUICAO(){return this.tryGetToken(PortugolParser.OP_ATRIBUICAO,0)}inicializacaoArray(){return this.tryGetRuleContext(0,InicializacaoArrayContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracaoArray}enterRule(listener){listener.enterDeclaracaoArray&&listener.enterDeclaracaoArray(this)}exitRule(listener){listener.exitDeclaracaoArray&&listener.exitDeclaracaoArray(this)}accept(visitor){return visitor.visitDeclaracaoArray?visitor.visitDeclaracaoArray(this):visitor.visitChildren(this)}}class InicializacaoArrayContext extends ParserRuleContext.ParserRuleContext{ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}listaExpressoes(){return this.tryGetRuleContext(0,ListaExpressoesContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_inicializacaoArray}enterRule(listener){listener.enterInicializacaoArray&&listener.enterInicializacaoArray(this)}exitRule(listener){listener.exitInicializacaoArray&&listener.exitInicializacaoArray(this)}accept(visitor){return visitor.visitInicializacaoArray?visitor.visitInicializacaoArray(this):visitor.visitChildren(this)}}class TamanhoArrayContext extends ParserRuleContext.ParserRuleContext{expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_tamanhoArray}enterRule(listener){listener.enterTamanhoArray&&listener.enterTamanhoArray(this)}exitRule(listener){listener.exitTamanhoArray&&listener.exitTamanhoArray(this)}accept(visitor){return visitor.visitTamanhoArray?visitor.visitTamanhoArray(this):visitor.visitChildren(this)}}class DeclaracaoFuncaoContext extends ParserRuleContext.ParserRuleContext{FUNCAO(){return this.getToken(PortugolParser.FUNCAO,0)}ID(){return this.getToken(PortugolParser.ID,0)}parametroFuncao(){return this.getRuleContext(0,ParametroFuncaoContext)}ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}TIPO(){return this.tryGetToken(PortugolParser.TIPO,0)}comando(i6){return void 0===i6?this.getRuleContexts(ComandoContext):this.getRuleContext(i6,ComandoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracaoFuncao}enterRule(listener){listener.enterDeclaracaoFuncao&&listener.enterDeclaracaoFuncao(this)}exitRule(listener){listener.exitDeclaracaoFuncao&&listener.exitDeclaracaoFuncao(this)}accept(visitor){return visitor.visitDeclaracaoFuncao?visitor.visitDeclaracaoFuncao(this):visitor.visitChildren(this)}}class ParametroFuncaoContext extends ParserRuleContext.ParserRuleContext{ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}listaParametros(){return this.tryGetRuleContext(0,ListaParametrosContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_parametroFuncao}enterRule(listener){listener.enterParametroFuncao&&listener.enterParametroFuncao(this)}exitRule(listener){listener.exitParametroFuncao&&listener.exitParametroFuncao(this)}accept(visitor){return visitor.visitParametroFuncao?visitor.visitParametroFuncao(this):visitor.visitChildren(this)}}class ListaParametrosContext extends ParserRuleContext.ParserRuleContext{parametro(i6){return void 0===i6?this.getRuleContexts(ParametroContext):this.getRuleContext(i6,ParametroContext)}VIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.VIRGULA):this.getToken(PortugolParser.VIRGULA,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_listaParametros}enterRule(listener){listener.enterListaParametros&&listener.enterListaParametros(this)}exitRule(listener){listener.exitListaParametros&&listener.exitListaParametros(this)}accept(visitor){return visitor.visitListaParametros?visitor.visitListaParametros(this):visitor.visitChildren(this)}}class ParametroContext extends ParserRuleContext.ParserRuleContext{TIPO(){return this.getToken(PortugolParser.TIPO,0)}ID(){return this.getToken(PortugolParser.ID,0)}E_COMERCIAL(){return this.tryGetToken(PortugolParser.E_COMERCIAL,0)}parametroArray(){return this.tryGetRuleContext(0,ParametroArrayContext)}parametroMatriz(){return this.tryGetRuleContext(0,ParametroMatrizContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_parametro}enterRule(listener){listener.enterParametro&&listener.enterParametro(this)}exitRule(listener){listener.exitParametro&&listener.exitParametro(this)}accept(visitor){return visitor.visitParametro?visitor.visitParametro(this):visitor.visitChildren(this)}}class ParametroArrayContext extends ParserRuleContext.ParserRuleContext{ABRE_COLCHETES(){return this.getToken(PortugolParser.ABRE_COLCHETES,0)}FECHA_COLCHETES(){return this.getToken(PortugolParser.FECHA_COLCHETES,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_parametroArray}enterRule(listener){listener.enterParametroArray&&listener.enterParametroArray(this)}exitRule(listener){listener.exitParametroArray&&listener.exitParametroArray(this)}accept(visitor){return visitor.visitParametroArray?visitor.visitParametroArray(this):visitor.visitChildren(this)}}class ParametroMatrizContext extends ParserRuleContext.ParserRuleContext{ABRE_COLCHETES(i6){return void 0===i6?this.getTokens(PortugolParser.ABRE_COLCHETES):this.getToken(PortugolParser.ABRE_COLCHETES,i6)}FECHA_COLCHETES(i6){return void 0===i6?this.getTokens(PortugolParser.FECHA_COLCHETES):this.getToken(PortugolParser.FECHA_COLCHETES,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_parametroMatriz}enterRule(listener){listener.enterParametroMatriz&&listener.enterParametroMatriz(this)}exitRule(listener){listener.exitParametroMatriz&&listener.exitParametroMatriz(this)}accept(visitor){return visitor.visitParametroMatriz?visitor.visitParametroMatriz(this):visitor.visitChildren(this)}}class ComandoContext extends ParserRuleContext.ParserRuleContext{listaDeclaracoes(){return this.tryGetRuleContext(0,ListaDeclaracoesContext)}se(){return this.tryGetRuleContext(0,SeContext)}enquanto(){return this.tryGetRuleContext(0,EnquantoContext)}facaEnquanto(){return this.tryGetRuleContext(0,FacaEnquantoContext)}para(){return this.tryGetRuleContext(0,ParaContext)}escolha(){return this.tryGetRuleContext(0,EscolhaContext)}retorne(){return this.tryGetRuleContext(0,RetorneContext)}pare(){return this.tryGetRuleContext(0,PareContext)}atribuicao(){return this.tryGetRuleContext(0,AtribuicaoContext)}atribuicaoComposta(){return this.tryGetRuleContext(0,AtribuicaoCompostaContext)}expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_comando}enterRule(listener){listener.enterComando&&listener.enterComando(this)}exitRule(listener){listener.exitComando&&listener.exitComando(this)}accept(visitor){return visitor.visitComando?visitor.visitComando(this):visitor.visitChildren(this)}}class AtribuicaoContext extends ParserRuleContext.ParserRuleContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_ATRIBUICAO(){return this.getToken(PortugolParser.OP_ATRIBUICAO,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_atribuicao}enterRule(listener){listener.enterAtribuicao&&listener.enterAtribuicao(this)}exitRule(listener){listener.exitAtribuicao&&listener.exitAtribuicao(this)}accept(visitor){return visitor.visitAtribuicao?visitor.visitAtribuicao(this):visitor.visitChildren(this)}}class AtribuicaoCompostaContext extends ParserRuleContext.ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_atribuicaoComposta}copyFrom(ctx){super.copyFrom(ctx)}}class AtribuicaoCompostaSomaContext extends AtribuicaoCompostaContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MAIS_IGUAL(){return this.getToken(PortugolParser.OP_MAIS_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAtribuicaoCompostaSoma&&listener.enterAtribuicaoCompostaSoma(this)}exitRule(listener){listener.exitAtribuicaoCompostaSoma&&listener.exitAtribuicaoCompostaSoma(this)}accept(visitor){return visitor.visitAtribuicaoCompostaSoma?visitor.visitAtribuicaoCompostaSoma(this):visitor.visitChildren(this)}}class AtribuicaoCompostaSubtracaoContext extends AtribuicaoCompostaContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MENOS_IGUAL(){return this.getToken(PortugolParser.OP_MENOS_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAtribuicaoCompostaSubtracao&&listener.enterAtribuicaoCompostaSubtracao(this)}exitRule(listener){listener.exitAtribuicaoCompostaSubtracao&&listener.exitAtribuicaoCompostaSubtracao(this)}accept(visitor){return visitor.visitAtribuicaoCompostaSubtracao?visitor.visitAtribuicaoCompostaSubtracao(this):visitor.visitChildren(this)}}class AtribuicaoCompostaMultiplicacaoContext extends AtribuicaoCompostaContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MULTIPLICACAO_IGUAL(){return this.getToken(PortugolParser.OP_MULTIPLICACAO_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAtribuicaoCompostaMultiplicacao&&listener.enterAtribuicaoCompostaMultiplicacao(this)}exitRule(listener){listener.exitAtribuicaoCompostaMultiplicacao&&listener.exitAtribuicaoCompostaMultiplicacao(this)}accept(visitor){return visitor.visitAtribuicaoCompostaMultiplicacao?visitor.visitAtribuicaoCompostaMultiplicacao(this):visitor.visitChildren(this)}}class AtribuicaoCompostaDivisaoContext extends AtribuicaoCompostaContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_DIVISAO_IGUAL(){return this.getToken(PortugolParser.OP_DIVISAO_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAtribuicaoCompostaDivisao&&listener.enterAtribuicaoCompostaDivisao(this)}exitRule(listener){listener.exitAtribuicaoCompostaDivisao&&listener.exitAtribuicaoCompostaDivisao(this)}accept(visitor){return visitor.visitAtribuicaoCompostaDivisao?visitor.visitAtribuicaoCompostaDivisao(this):visitor.visitChildren(this)}}class RetorneContext extends ParserRuleContext.ParserRuleContext{RETORNE(){return this.getToken(PortugolParser.RETORNE,0)}expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_retorne}enterRule(listener){listener.enterRetorne&&listener.enterRetorne(this)}exitRule(listener){listener.exitRetorne&&listener.exitRetorne(this)}accept(visitor){return visitor.visitRetorne?visitor.visitRetorne(this):visitor.visitChildren(this)}}class SeContext extends ParserRuleContext.ParserRuleContext{SE(){return this.getToken(PortugolParser.SE,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}senao(){return this.tryGetRuleContext(0,SenaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_se}enterRule(listener){listener.enterSe&&listener.enterSe(this)}exitRule(listener){listener.exitSe&&listener.exitSe(this)}accept(visitor){return visitor.visitSe?visitor.visitSe(this):visitor.visitChildren(this)}}class SenaoContext extends ParserRuleContext.ParserRuleContext{SENAO(){return this.getToken(PortugolParser.SENAO,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_senao}enterRule(listener){listener.enterSenao&&listener.enterSenao(this)}exitRule(listener){listener.exitSenao&&listener.exitSenao(this)}accept(visitor){return visitor.visitSenao?visitor.visitSenao(this):visitor.visitChildren(this)}}class EnquantoContext extends ParserRuleContext.ParserRuleContext{ENQUANTO(){return this.getToken(PortugolParser.ENQUANTO,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_enquanto}enterRule(listener){listener.enterEnquanto&&listener.enterEnquanto(this)}exitRule(listener){listener.exitEnquanto&&listener.exitEnquanto(this)}accept(visitor){return visitor.visitEnquanto?visitor.visitEnquanto(this):visitor.visitChildren(this)}}class FacaEnquantoContext extends ParserRuleContext.ParserRuleContext{FACA(){return this.getToken(PortugolParser.FACA,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}ENQUANTO(){return this.getToken(PortugolParser.ENQUANTO,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_facaEnquanto}enterRule(listener){listener.enterFacaEnquanto&&listener.enterFacaEnquanto(this)}exitRule(listener){listener.exitFacaEnquanto&&listener.exitFacaEnquanto(this)}accept(visitor){return visitor.visitFacaEnquanto?visitor.visitFacaEnquanto(this):visitor.visitChildren(this)}}class ParaContext extends ParserRuleContext.ParserRuleContext{PARA(){return this.getToken(PortugolParser.PARA,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}PONTOVIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.PONTOVIRGULA):this.getToken(PortugolParser.PONTOVIRGULA,i6)}condicao(){return this.getRuleContext(0,CondicaoContext)}incrementoPara(){return this.getRuleContext(0,IncrementoParaContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}inicializacaoPara(){return this.tryGetRuleContext(0,InicializacaoParaContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_para}enterRule(listener){listener.enterPara&&listener.enterPara(this)}exitRule(listener){listener.exitPara&&listener.exitPara(this)}accept(visitor){return visitor.visitPara?visitor.visitPara(this):visitor.visitChildren(this)}}class ListaComandosContext extends ParserRuleContext.ParserRuleContext{ABRE_CHAVES(){return this.tryGetToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.tryGetToken(PortugolParser.FECHA_CHAVES,0)}comando(i6){return void 0===i6?this.getRuleContexts(ComandoContext):this.getRuleContext(i6,ComandoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_listaComandos}enterRule(listener){listener.enterListaComandos&&listener.enterListaComandos(this)}exitRule(listener){listener.exitListaComandos&&listener.exitListaComandos(this)}accept(visitor){return visitor.visitListaComandos?visitor.visitListaComandos(this):visitor.visitChildren(this)}}class InicializacaoParaContext extends ParserRuleContext.ParserRuleContext{atribuicao(){return this.tryGetRuleContext(0,AtribuicaoContext)}listaDeclaracoes(){return this.tryGetRuleContext(0,ListaDeclaracoesContext)}ID(){return this.tryGetToken(PortugolParser.ID,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_inicializacaoPara}enterRule(listener){listener.enterInicializacaoPara&&listener.enterInicializacaoPara(this)}exitRule(listener){listener.exitInicializacaoPara&&listener.exitInicializacaoPara(this)}accept(visitor){return visitor.visitInicializacaoPara?visitor.visitInicializacaoPara(this):visitor.visitChildren(this)}}class CondicaoContext extends ParserRuleContext.ParserRuleContext{expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_condicao}enterRule(listener){listener.enterCondicao&&listener.enterCondicao(this)}exitRule(listener){listener.exitCondicao&&listener.exitCondicao(this)}accept(visitor){return visitor.visitCondicao?visitor.visitCondicao(this):visitor.visitChildren(this)}}class IncrementoParaContext extends ParserRuleContext.ParserRuleContext{expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}atribuicaoComposta(){return this.tryGetRuleContext(0,AtribuicaoCompostaContext)}atribuicao(){return this.tryGetRuleContext(0,AtribuicaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_incrementoPara}enterRule(listener){listener.enterIncrementoPara&&listener.enterIncrementoPara(this)}exitRule(listener){listener.exitIncrementoPara&&listener.exitIncrementoPara(this)}accept(visitor){return visitor.visitIncrementoPara?visitor.visitIncrementoPara(this):visitor.visitChildren(this)}}class EscolhaContext extends ParserRuleContext.ParserRuleContext{ESCOLHA(){return this.getToken(PortugolParser.ESCOLHA,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}caso(i6){return void 0===i6?this.getRuleContexts(CasoContext):this.getRuleContext(i6,CasoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_escolha}enterRule(listener){listener.enterEscolha&&listener.enterEscolha(this)}exitRule(listener){listener.exitEscolha&&listener.exitEscolha(this)}accept(visitor){return visitor.visitEscolha?visitor.visitEscolha(this):visitor.visitChildren(this)}}class CasoContext extends ParserRuleContext.ParserRuleContext{CASO(){return this.getToken(PortugolParser.CASO,0)}DOISPONTOS(){return this.getToken(PortugolParser.DOISPONTOS,0)}CONTRARIO(){return this.tryGetToken(PortugolParser.CONTRARIO,0)}expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}ABRE_CHAVES(){return this.tryGetToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.tryGetToken(PortugolParser.FECHA_CHAVES,0)}pare(){return this.tryGetRuleContext(0,PareContext)}comando(i6){return void 0===i6?this.getRuleContexts(ComandoContext):this.getRuleContext(i6,ComandoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_caso}enterRule(listener){listener.enterCaso&&listener.enterCaso(this)}exitRule(listener){listener.exitCaso&&listener.exitCaso(this)}accept(visitor){return visitor.visitCaso?visitor.visitCaso(this):visitor.visitChildren(this)}}class PareContext extends ParserRuleContext.ParserRuleContext{PARE(){return this.getToken(PortugolParser.PARE,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_pare}enterRule(listener){listener.enterPare&&listener.enterPare(this)}exitRule(listener){listener.exitPare&&listener.exitPare(this)}accept(visitor){return visitor.visitPare?visitor.visitPare(this):visitor.visitChildren(this)}}class IndiceArrayContext extends ParserRuleContext.ParserRuleContext{ABRE_COLCHETES(){return this.getToken(PortugolParser.ABRE_COLCHETES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_COLCHETES(){return this.getToken(PortugolParser.FECHA_COLCHETES,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_indiceArray}enterRule(listener){listener.enterIndiceArray&&listener.enterIndiceArray(this)}exitRule(listener){listener.exitIndiceArray&&listener.exitIndiceArray(this)}accept(visitor){return visitor.visitIndiceArray?visitor.visitIndiceArray(this):visitor.visitChildren(this)}}class ExpressaoContext extends ParserRuleContext.ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_expressao}copyFrom(ctx){super.copyFrom(ctx)}}class ChamadaFuncaoContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}escopoBiblioteca(){return this.tryGetRuleContext(0,EscopoBibliotecaContext)}listaExpressoes(){return this.tryGetRuleContext(0,ListaExpressoesContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterChamadaFuncao&&listener.enterChamadaFuncao(this)}exitRule(listener){listener.exitChamadaFuncao&&listener.exitChamadaFuncao(this)}accept(visitor){return visitor.visitChamadaFuncao?visitor.visitChamadaFuncao(this):visitor.visitChildren(this)}}class ReferenciaArrayContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}indiceArray(){return this.getRuleContext(0,IndiceArrayContext)}escopoBiblioteca(){return this.tryGetRuleContext(0,EscopoBibliotecaContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterReferenciaArray&&listener.enterReferenciaArray(this)}exitRule(listener){listener.exitReferenciaArray&&listener.exitReferenciaArray(this)}accept(visitor){return visitor.visitReferenciaArray?visitor.visitReferenciaArray(this):visitor.visitChildren(this)}}class ReferenciaMatrizContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}escopoBiblioteca(){return this.tryGetRuleContext(0,EscopoBibliotecaContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterReferenciaMatriz&&listener.enterReferenciaMatriz(this)}exitRule(listener){listener.exitReferenciaMatriz&&listener.exitReferenciaMatriz(this)}accept(visitor){return visitor.visitReferenciaMatriz?visitor.visitReferenciaMatriz(this):visitor.visitChildren(this)}}class MenosUnarioContext extends ExpressaoContext{OP_SUBTRACAO(){return this.getToken(PortugolParser.OP_SUBTRACAO,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterMenosUnario&&listener.enterMenosUnario(this)}exitRule(listener){listener.exitMenosUnario&&listener.exitMenosUnario(this)}accept(visitor){return visitor.visitMenosUnario?visitor.visitMenosUnario(this):visitor.visitChildren(this)}}class MaisUnarioContext extends ExpressaoContext{OP_ADICAO(){return this.getToken(PortugolParser.OP_ADICAO,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterMaisUnario&&listener.enterMaisUnario(this)}exitRule(listener){listener.exitMaisUnario&&listener.exitMaisUnario(this)}accept(visitor){return visitor.visitMaisUnario?visitor.visitMaisUnario(this):visitor.visitChildren(this)}}class NegacaoContext extends ExpressaoContext{OP_NAO(){return this.getToken(PortugolParser.OP_NAO,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterNegacao&&listener.enterNegacao(this)}exitRule(listener){listener.exitNegacao&&listener.exitNegacao(this)}accept(visitor){return visitor.visitNegacao?visitor.visitNegacao(this):visitor.visitChildren(this)}}class NegacaoBitwiseContext extends ExpressaoContext{OP_NOT_BITWISE(){return this.getToken(PortugolParser.OP_NOT_BITWISE,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterNegacaoBitwise&&listener.enterNegacaoBitwise(this)}exitRule(listener){listener.exitNegacaoBitwise&&listener.exitNegacaoBitwise(this)}accept(visitor){return visitor.visitNegacaoBitwise?visitor.visitNegacaoBitwise(this):visitor.visitChildren(this)}}class IncrementoUnarioPosfixadoContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}OP_INCREMENTO_UNARIO(){return this.getToken(PortugolParser.OP_INCREMENTO_UNARIO,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterIncrementoUnarioPosfixado&&listener.enterIncrementoUnarioPosfixado(this)}exitRule(listener){listener.exitIncrementoUnarioPosfixado&&listener.exitIncrementoUnarioPosfixado(this)}accept(visitor){return visitor.visitIncrementoUnarioPosfixado?visitor.visitIncrementoUnarioPosfixado(this):visitor.visitChildren(this)}}class DecrementoUnarioPosfixadoContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}OP_DECREMENTO_UNARIO(){return this.getToken(PortugolParser.OP_DECREMENTO_UNARIO,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterDecrementoUnarioPosfixado&&listener.enterDecrementoUnarioPosfixado(this)}exitRule(listener){listener.exitDecrementoUnarioPosfixado&&listener.exitDecrementoUnarioPosfixado(this)}accept(visitor){return visitor.visitDecrementoUnarioPosfixado?visitor.visitDecrementoUnarioPosfixado(this):visitor.visitChildren(this)}}class IncrementoUnarioPrefixadoContext extends ExpressaoContext{OP_INCREMENTO_UNARIO(){return this.getToken(PortugolParser.OP_INCREMENTO_UNARIO,0)}ID(){return this.getToken(PortugolParser.ID,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterIncrementoUnarioPrefixado&&listener.enterIncrementoUnarioPrefixado(this)}exitRule(listener){listener.exitIncrementoUnarioPrefixado&&listener.exitIncrementoUnarioPrefixado(this)}accept(visitor){return visitor.visitIncrementoUnarioPrefixado?visitor.visitIncrementoUnarioPrefixado(this):visitor.visitChildren(this)}}class DecrementoUnarioPrefixadoContext extends ExpressaoContext{OP_DECREMENTO_UNARIO(){return this.getToken(PortugolParser.OP_DECREMENTO_UNARIO,0)}ID(){return this.getToken(PortugolParser.ID,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterDecrementoUnarioPrefixado&&listener.enterDecrementoUnarioPrefixado(this)}exitRule(listener){listener.exitDecrementoUnarioPrefixado&&listener.exitDecrementoUnarioPrefixado(this)}accept(visitor){return visitor.visitDecrementoUnarioPrefixado?visitor.visitDecrementoUnarioPrefixado(this):visitor.visitChildren(this)}}class MultiplicacaoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MULTIPLICACAO(){return this.getToken(PortugolParser.OP_MULTIPLICACAO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterMultiplicacao&&listener.enterMultiplicacao(this)}exitRule(listener){listener.exitMultiplicacao&&listener.exitMultiplicacao(this)}accept(visitor){return visitor.visitMultiplicacao?visitor.visitMultiplicacao(this):visitor.visitChildren(this)}}class DivisaoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_DIVISAO(){return this.getToken(PortugolParser.OP_DIVISAO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterDivisao&&listener.enterDivisao(this)}exitRule(listener){listener.exitDivisao&&listener.exitDivisao(this)}accept(visitor){return visitor.visitDivisao?visitor.visitDivisao(this):visitor.visitChildren(this)}}class ModuloContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MOD(){return this.getToken(PortugolParser.OP_MOD,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterModulo&&listener.enterModulo(this)}exitRule(listener){listener.exitModulo&&listener.exitModulo(this)}accept(visitor){return visitor.visitModulo?visitor.visitModulo(this):visitor.visitChildren(this)}}class AdicaoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_ADICAO(){return this.getToken(PortugolParser.OP_ADICAO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAdicao&&listener.enterAdicao(this)}exitRule(listener){listener.exitAdicao&&listener.exitAdicao(this)}accept(visitor){return visitor.visitAdicao?visitor.visitAdicao(this):visitor.visitChildren(this)}}class SubtracaoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_SUBTRACAO(){return this.getToken(PortugolParser.OP_SUBTRACAO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterSubtracao&&listener.enterSubtracao(this)}exitRule(listener){listener.exitSubtracao&&listener.exitSubtracao(this)}accept(visitor){return visitor.visitSubtracao?visitor.visitSubtracao(this):visitor.visitChildren(this)}}class OperacaoIgualdadeContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_IGUALDADE(){return this.getToken(PortugolParser.OP_IGUALDADE,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoIgualdade&&listener.enterOperacaoIgualdade(this)}exitRule(listener){listener.exitOperacaoIgualdade&&listener.exitOperacaoIgualdade(this)}accept(visitor){return visitor.visitOperacaoIgualdade?visitor.visitOperacaoIgualdade(this):visitor.visitChildren(this)}}class OperacaoDiferencaContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_DIFERENCA(){return this.getToken(PortugolParser.OP_DIFERENCA,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoDiferenca&&listener.enterOperacaoDiferenca(this)}exitRule(listener){listener.exitOperacaoDiferenca&&listener.exitOperacaoDiferenca(this)}accept(visitor){return visitor.visitOperacaoDiferenca?visitor.visitOperacaoDiferenca(this):visitor.visitChildren(this)}}class OperacaoMaiorContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MAIOR(){return this.getToken(PortugolParser.OP_MAIOR,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoMaior&&listener.enterOperacaoMaior(this)}exitRule(listener){listener.exitOperacaoMaior&&listener.exitOperacaoMaior(this)}accept(visitor){return visitor.visitOperacaoMaior?visitor.visitOperacaoMaior(this):visitor.visitChildren(this)}}class OperacaoMenorContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MENOR(){return this.getToken(PortugolParser.OP_MENOR,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoMenor&&listener.enterOperacaoMenor(this)}exitRule(listener){listener.exitOperacaoMenor&&listener.exitOperacaoMenor(this)}accept(visitor){return visitor.visitOperacaoMenor?visitor.visitOperacaoMenor(this):visitor.visitChildren(this)}}class OperacaoMenorIgualContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MENOR_IGUAL(){return this.getToken(PortugolParser.OP_MENOR_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoMenorIgual&&listener.enterOperacaoMenorIgual(this)}exitRule(listener){listener.exitOperacaoMenorIgual&&listener.exitOperacaoMenorIgual(this)}accept(visitor){return visitor.visitOperacaoMenorIgual?visitor.visitOperacaoMenorIgual(this):visitor.visitChildren(this)}}class OperacaoMaiorIgualContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MAIOR_IGUAL(){return this.getToken(PortugolParser.OP_MAIOR_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoMaiorIgual&&listener.enterOperacaoMaiorIgual(this)}exitRule(listener){listener.exitOperacaoMaiorIgual&&listener.exitOperacaoMaiorIgual(this)}accept(visitor){return visitor.visitOperacaoMaiorIgual?visitor.visitOperacaoMaiorIgual(this):visitor.visitChildren(this)}}class OperacaoELogicoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_E_LOGICO(){return this.getToken(PortugolParser.OP_E_LOGICO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoELogico&&listener.enterOperacaoELogico(this)}exitRule(listener){listener.exitOperacaoELogico&&listener.exitOperacaoELogico(this)}accept(visitor){return visitor.visitOperacaoELogico?visitor.visitOperacaoELogico(this):visitor.visitChildren(this)}}class OperacaoOuLogicoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_OU_LOGICO(){return this.getToken(PortugolParser.OP_OU_LOGICO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoOuLogico&&listener.enterOperacaoOuLogico(this)}exitRule(listener){listener.exitOperacaoOuLogico&&listener.exitOperacaoOuLogico(this)}accept(visitor){return visitor.visitOperacaoOuLogico?visitor.visitOperacaoOuLogico(this):visitor.visitChildren(this)}}class OperacaoXorContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_XOR(){return this.getToken(PortugolParser.OP_XOR,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoXor&&listener.enterOperacaoXor(this)}exitRule(listener){listener.exitOperacaoXor&&listener.exitOperacaoXor(this)}accept(visitor){return visitor.visitOperacaoXor?visitor.visitOperacaoXor(this):visitor.visitChildren(this)}}class OperacaoShiftLeftContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_SHIFT_LEFT(){return this.getToken(PortugolParser.OP_SHIFT_LEFT,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoShiftLeft&&listener.enterOperacaoShiftLeft(this)}exitRule(listener){listener.exitOperacaoShiftLeft&&listener.exitOperacaoShiftLeft(this)}accept(visitor){return visitor.visitOperacaoShiftLeft?visitor.visitOperacaoShiftLeft(this):visitor.visitChildren(this)}}class OperacaoShiftRightContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_SHIFT_RIGHT(){return this.getToken(PortugolParser.OP_SHIFT_RIGHT,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoShiftRight&&listener.enterOperacaoShiftRight(this)}exitRule(listener){listener.exitOperacaoShiftRight&&listener.exitOperacaoShiftRight(this)}accept(visitor){return visitor.visitOperacaoShiftRight?visitor.visitOperacaoShiftRight(this):visitor.visitChildren(this)}}class OperacaoAndBitwiseContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}E_COMERCIAL(){return this.getToken(PortugolParser.E_COMERCIAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoAndBitwise&&listener.enterOperacaoAndBitwise(this)}exitRule(listener){listener.exitOperacaoAndBitwise&&listener.exitOperacaoAndBitwise(this)}accept(visitor){return visitor.visitOperacaoAndBitwise?visitor.visitOperacaoAndBitwise(this):visitor.visitChildren(this)}}class OperacaoOrBitwiseContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_OU_BITWISE(){return this.getToken(PortugolParser.OP_OU_BITWISE,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoOrBitwise&&listener.enterOperacaoOrBitwise(this)}exitRule(listener){listener.exitOperacaoOrBitwise&&listener.exitOperacaoOrBitwise(this)}accept(visitor){return visitor.visitOperacaoOrBitwise?visitor.visitOperacaoOrBitwise(this):visitor.visitChildren(this)}}class ReferenciaParaVariavelContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}escopoBiblioteca(){return this.tryGetRuleContext(0,EscopoBibliotecaContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterReferenciaParaVariavel&&listener.enterReferenciaParaVariavel(this)}exitRule(listener){listener.exitReferenciaParaVariavel&&listener.exitReferenciaParaVariavel(this)}accept(visitor){return visitor.visitReferenciaParaVariavel?visitor.visitReferenciaParaVariavel(this):visitor.visitChildren(this)}}class NumeroInteiroContext extends ExpressaoContext{INT(){return this.tryGetToken(PortugolParser.INT,0)}HEXADECIMAL(){return this.tryGetToken(PortugolParser.HEXADECIMAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterNumeroInteiro&&listener.enterNumeroInteiro(this)}exitRule(listener){listener.exitNumeroInteiro&&listener.exitNumeroInteiro(this)}accept(visitor){return visitor.visitNumeroInteiro?visitor.visitNumeroInteiro(this):visitor.visitChildren(this)}}class NumeroRealContext extends ExpressaoContext{REAL(){return this.getToken(PortugolParser.REAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterNumeroReal&&listener.enterNumeroReal(this)}exitRule(listener){listener.exitNumeroReal&&listener.exitNumeroReal(this)}accept(visitor){return visitor.visitNumeroReal?visitor.visitNumeroReal(this):visitor.visitChildren(this)}}class ValorLogicoContext extends ExpressaoContext{LOGICO(){return this.getToken(PortugolParser.LOGICO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterValorLogico&&listener.enterValorLogico(this)}exitRule(listener){listener.exitValorLogico&&listener.exitValorLogico(this)}accept(visitor){return visitor.visitValorLogico?visitor.visitValorLogico(this):visitor.visitChildren(this)}}class CaracterContext extends ExpressaoContext{CARACTER(){return this.getToken(PortugolParser.CARACTER,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterCaracter&&listener.enterCaracter(this)}exitRule(listener){listener.exitCaracter&&listener.exitCaracter(this)}accept(visitor){return visitor.visitCaracter?visitor.visitCaracter(this):visitor.visitChildren(this)}}class StringContext extends ExpressaoContext{STRING(){return this.getToken(PortugolParser.STRING,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterString&&listener.enterString(this)}exitRule(listener){listener.exitString&&listener.exitString(this)}accept(visitor){return visitor.visitString?visitor.visitString(this):visitor.visitChildren(this)}}class ExpressaoEntreParentesesContext extends ExpressaoContext{ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterExpressaoEntreParenteses&&listener.enterExpressaoEntreParenteses(this)}exitRule(listener){listener.exitExpressaoEntreParenteses&&listener.exitExpressaoEntreParenteses(this)}accept(visitor){return visitor.visitExpressaoEntreParenteses?visitor.visitExpressaoEntreParenteses(this):visitor.visitChildren(this)}}class ListaExpressoesContext extends ParserRuleContext.ParserRuleContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}atribuicaoComposta(i6){return void 0===i6?this.getRuleContexts(AtribuicaoCompostaContext):this.getRuleContext(i6,AtribuicaoCompostaContext)}atribuicao(i6){return void 0===i6?this.getRuleContexts(AtribuicaoContext):this.getRuleContext(i6,AtribuicaoContext)}VIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.VIRGULA):this.getToken(PortugolParser.VIRGULA,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_listaExpressoes}enterRule(listener){listener.enterListaExpressoes&&listener.enterListaExpressoes(this)}exitRule(listener){listener.exitListaExpressoes&&listener.exitListaExpressoes(this)}accept(visitor){return visitor.visitListaExpressoes?visitor.visitListaExpressoes(this):visitor.visitChildren(this)}}class EscopoBibliotecaContext extends ParserRuleContext.ParserRuleContext{ID(){return this.tryGetToken(PortugolParser.ID,0)}PONTO(){return this.tryGetToken(PortugolParser.PONTO,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_escopoBiblioteca}enterRule(listener){listener.enterEscopoBiblioteca&&listener.enterEscopoBiblioteca(this)}exitRule(listener){listener.exitEscopoBiblioteca&&listener.exitEscopoBiblioteca(this)}accept(visitor){return visitor.visitEscopoBiblioteca?visitor.visitEscopoBiblioteca(this):visitor.visitChildren(this)}}class ParseError extends Error{constructor(message,ctx){super(message),this.message=message,this.ctx=ctx}}class Node_Node{unexpectedChild(child2){const childName=child2.ctx.constructor.name.replace("Context",""),parentName=this.ctx.constructor.name.replace("Context","");throw new ParseError("ErrorNode"===childName?`Express\xe3o inv\xe1lida: ${child2.ctx.text}`:`Encontrado '${childName}' como filho de '${parentName}', n\xe3o esperado: '${child2.ctx.text}'`,child2.ctx)}}class Comando extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children}}class Express\u00e3o extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children}}class Inicializa\u00e7\u00e3oMatrizExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.linhas=[];for(const child2 of children)child2 instanceof Express\u00e3o?this.linhas.push(child2):this.unexpectedChild(child2)}}function getAllChildrenFromContext(ctx){if(!ctx)return[];const children=[];for(let i6=0;i6[child2,...getAllChildrenFromNode(child2)])}function invariant(condition,ctx,message){if(!condition)throw new ParseError(message??"Express\xe3o inv\xe1lida",ctx)}class InteiroExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;const[int,hex]=[ctx.INT(),ctx.HEXADECIMAL()],valor=int?.text??hex?.text;invariant(valor,ctx),this.valor=parseInt(valor,hex?16:10);for(const child2 of children)this.unexpectedChild(child2)}}class EscopoBibliotecaExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;const nome=ctx.ID()?.text;invariant(nome,ctx),this.nome=nome}}class Refer\u00eanciaVarExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text;for(const child2 of children)child2 instanceof EscopoBibliotecaExpr?(invariant(!this.escopoBiblioteca,child2.ctx,"Escopo de biblioteca j\xe1 definido"),this.escopoBiblioteca=child2):this.unexpectedChild(child2)}}class Declara\u00e7\u00e3oMatrizExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text;for(const child2 of children)child2 instanceof InteiroExpr||child2 instanceof Refer\u00eanciaVarExpr?this.linhas?this.colunas?this.unexpectedChild(child2):this.colunas=child2:this.linhas=child2:child2 instanceof Inicializa\u00e7\u00e3oMatrizExpr?(invariant(!this.valor,child2.ctx,"Valor j\xe1 definido"),this.valor=child2):this.unexpectedChild(child2)}}class Declara\u00e7\u00e3oVari\u00e1velExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.valor,child2.ctx,"Valor j\xe1 definido"),this.valor=child2):this.unexpectedChild(child2)}}class Inicializa\u00e7\u00e3oVetorExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.valores=[];for(const child2 of children)child2 instanceof Express\u00e3o?this.valores.push(child2):this.unexpectedChild(child2)}}class Declara\u00e7\u00e3oVetorExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text;for(const child2 of children)child2 instanceof InteiroExpr||child2 instanceof Refer\u00eanciaVarExpr?(invariant(!this.tamanho,child2.ctx,"Tamanho j\xe1 definido"),this.tamanho=child2):child2 instanceof Inicializa\u00e7\u00e3oVetorExpr?(invariant(!this.inicializa\u00e7\u00e3o,child2.ctx,"Inicializa\xe7\xe3o j\xe1 definida"),this.inicializa\u00e7\u00e3o=child2):this.unexpectedChild(child2)}}function parseTipoPrimitivo(tipo){if(!tipo)return"vazio";switch(tipo.text){case"inteiro":case"real":case"cadeia":case"logico":case"vazio":case"caracter":return tipo.text;default:throw new Error(`Tipo desconhecido: ${tipo.text}`)}}class Declara\u00e7\u00e3oCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,invariant(ctx.parent instanceof ListaDeclaracoesContext,ctx),this.tipo={primitivo:parseTipoPrimitivo(ctx.parent.TIPO())},this.constante=!!ctx.parent.CONSTANTE();for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),child2 instanceof Declara\u00e7\u00e3oVetorExpr?(this.nome=child2.nome,this.tipo={dimens\u00e3o:"vetor",tamanho:child2.tamanho,primitivo:this.tipo.primitivo},this.express\u00e3o=child2.inicializa\u00e7\u00e3o):child2 instanceof Declara\u00e7\u00e3oMatrizExpr?(this.nome=child2.nome,this.tipo={dimens\u00e3o:"matriz",linhas:child2.linhas,colunas:child2.colunas,primitivo:this.tipo.primitivo}):child2 instanceof Declara\u00e7\u00e3oVari\u00e1velExpr?(this.nome=child2.nome,this.express\u00e3o=child2.valor):this.unexpectedChild(child2)):this.unexpectedChild(child2);invariant(this.nome,ctx,"Nome n\xe3o definido")}}class UnhandledNode extends Node_Node{constructor(ctx,type,text,children){super(),this.ctx=ctx,this.type=type,this.text=text,this.children=children}}class Par\u00e2metro extends Node_Node{constructor(ctx,children){if(super(),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text,this.tipo={primitivo:parseTipoPrimitivo(ctx.TIPO())},this.refer\u00eancia=!!ctx.E_COMERCIAL(),1===children.length){const child2=children[0];invariant(child2 instanceof UnhandledNode,child2.ctx,"Par\xe2metro inv\xe1lido")}for(const child2 of children)child2 instanceof UnhandledNode?child2.ctx instanceof ParametroArrayContext&&!this.tipo.hasOwnProperty("dimens\xe3o")?this.tipo={dimens\u00e3o:"vetor",primitivo:this.tipo.primitivo}:child2.ctx instanceof ParametroMatrizContext&&!this.tipo.hasOwnProperty("dimens\xe3o")?this.tipo={dimens\u00e3o:"matriz",primitivo:this.tipo.primitivo}:this.unexpectedChild(child2):this.unexpectedChild(child2)}}class Fun\u00e7\u00e3o extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children,this.par\u00e2metros=[],this.instru\u00e7\u00f5es=[],this.nome=ctx.ID().text,this.retorno={primitivo:parseTipoPrimitivo(ctx.TIPO())};for(const child2 of children)child2 instanceof Par\u00e2metro?this.par\u00e2metros.push(child2):child2 instanceof Express\u00e3o||child2 instanceof Comando?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2)}}class Inclus\u00e3oBiblioteca extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children;const idCtx=ctx.ID();invariant(1===idCtx.length||2===idCtx.length,ctx,"Inclus\xe3o de biblioteca inv\xe1lida"),this.nome=idCtx[0].text,2===idCtx.length&&(this.alias=idCtx[1].text)}}class \u00cdndiceArrayExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.\u00edndice,child2.ctx,"\xcdndice j\xe1 definido"),this.\u00edndice=child2):this.unexpectedChild(child2);invariant(this.\u00edndice,ctx,"\xcdndice n\xe3o definido")}}class Refer\u00eanciaArrayExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.vari\u00e1vel=new Refer\u00eanciaVarExpr(ctx,[]);for(const child2 of children)child2 instanceof \u00cdndiceArrayExpr?(invariant(!this.\u00edndice,child2.ctx,"\xcdndice j\xe1 definido"),this.\u00edndice=child2):this.unexpectedChild(child2);invariant(this.\u00edndice,ctx,"\xcdndice n\xe3o definido")}}class Refer\u00eanciaMatrizExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.vari\u00e1vel=new Refer\u00eanciaVarExpr(ctx,[]);for(const child2 of children)child2 instanceof \u00cdndiceArrayExpr&&!this.linha?this.linha=child2:child2 instanceof \u00cdndiceArrayExpr&&!this.coluna?this.coluna=child2:this.unexpectedChild(child2);invariant(this.linha,ctx,"Linha n\xe3o definida"),invariant(this.coluna,ctx,"Coluna n\xe3o definida")}}class Atribui\u00e7\u00e3oCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)(child2 instanceof Refer\u00eanciaVarExpr||child2 instanceof Refer\u00eanciaArrayExpr||child2 instanceof Refer\u00eanciaMatrizExpr)&&!this.vari\u00e1vel?this.vari\u00e1vel=child2:child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2);invariant(this.vari\u00e1vel,ctx,"Vari\xe1vel n\xe3o definida"),invariant(this.express\u00e3o,ctx,"Express\xe3o n\xe3o definida")}}class Bypass extends Node_Node{constructor(ctx,children=[]){super(),this.ctx=ctx,this.children=children}}class CadeiaExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.conte\u00fado=ctx.STRING().text.substring(1,ctx.STRING().text.length-1);for(const child2 of children)this.unexpectedChild(child2)}}class CaractereExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.conte\u00fado=ctx.CARACTER().text.substring(1,ctx.CARACTER().text.length-1),invariant(1===this.conte\u00fado.length,ctx,"Caractere inv\xe1lido");for(const child2 of children)this.unexpectedChild(child2)}}class CasoContr\u00e1rioExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,invariant("contrario"===ctx.text,ctx);for(const child2 of children)this.unexpectedChild(child2)}}class CasoCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];const contr\u00e1rioCtx=ctx.CONTRARIO();contr\u00e1rioCtx&&(this.condi\u00e7\u00e3o=new CasoContr\u00e1rioExpr(contr\u00e1rioCtx,[]));for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}class ChamadaFun\u00e7\u00e3oExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.argumentos=[],this.nome=ctx.ID().text,this.escopoBiblioteca=ctx.escopoBiblioteca()?.ID()?.text;for(const child2 of children)child2 instanceof Express\u00e3o?this.argumentos.push(child2):this.unexpectedChild(child2)}}class Express\u00e3oUn\u00e1ria extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;const newCtx=Object.assign(ctx,{escopoBiblioteca:()=>{}});this.vari\u00e1vel=new Refer\u00eanciaVarExpr(newCtx,[])}}class Express\u00e3oMatem\u00e1tica extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?this.esquerda?this.direita?this.unexpectedChild(child2):this.direita=child2:this.esquerda=child2:this.unexpectedChild(child2);invariant(this.esquerda,ctx,"Lado esquerdo da express\xe3o matem\xe1tica n\xe3o definido"),invariant(this.direita,ctx,"Lado direito da express\xe3o matem\xe1tica n\xe3o definido")}}class L\u00f3gicoExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.valor="verdadeiro"===ctx.text;for(const child2 of children)this.unexpectedChild(child2)}}class RealExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;const valor=ctx.REAL().text;this.valor=parseFloat(valor);for(const child2 of children)this.unexpectedChild(child2)}}class RetorneCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2)}}class Sen\u00e3oCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2)}}const ContextNodeMap=new Map([[AdicaoContext,class SomaExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[ArquivoContext,class Arquivo extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children,this.bibliotecas=[],this.declara\u00e7\u00f5es=[],this.fun\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Fun\u00e7\u00e3o?this.fun\u00e7\u00f5es.push(child2):child2 instanceof Inclus\u00e3oBiblioteca?this.bibliotecas.push(child2):child2 instanceof Declara\u00e7\u00e3oCmd?this.declara\u00e7\u00f5es.push(child2):this.unexpectedChild(child2)}}],[AtribuicaoCompostaDivisaoContext,class Atribui\u00e7\u00e3oCompostaDivis\u00e3oCmd extends Atribui\u00e7\u00e3oCmd{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[AtribuicaoCompostaMultiplicacaoContext,class Atribui\u00e7\u00e3oCompostaMultiplica\u00e7\u00e3oCmd extends Atribui\u00e7\u00e3oCmd{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[AtribuicaoCompostaSomaContext,class Atribui\u00e7\u00e3oCompostaSomaCmd extends Atribui\u00e7\u00e3oCmd{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[AtribuicaoCompostaSubtracaoContext,class Atribui\u00e7\u00e3oCompostaSubtra\u00e7\u00e3oCmd extends Atribui\u00e7\u00e3oCmd{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[AtribuicaoContext,Atribui\u00e7\u00e3oCmd],[CaracterContext,CaractereExpr],[CasoContext,CasoCmd],[ChamadaFuncaoContext,ChamadaFun\u00e7\u00e3oExpr],[ColunaMatrizContext,Bypass],[ComandoContext,Bypass],[CondicaoContext,Bypass],[DeclaracaoArrayContext,Declara\u00e7\u00e3oVetorExpr],[DeclaracaoContext,Declara\u00e7\u00e3oCmd],[DeclaracaoFuncaoContext,Fun\u00e7\u00e3o],[DeclaracaoMatrizContext,Declara\u00e7\u00e3oMatrizExpr],[DeclaracaoVariavelContext,Declara\u00e7\u00e3oVari\u00e1velExpr],[DecrementoUnarioPosfixadoContext,class DecrementoUn\u00e1rioP\u00f3sfixadoExpr extends Express\u00e3oUn\u00e1ria{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[DecrementoUnarioPrefixadoContext,class DecrementoUn\u00e1rioPrefixadoExpr extends Express\u00e3oUn\u00e1ria{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[DivisaoContext,class Divis\u00e3oExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[EnquantoContext,class EnquantoCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}],[EscolhaContext,class EscolhaCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.casos=[];for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof CasoCmd?this.casos.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}],[EscopoBibliotecaContext,EscopoBibliotecaExpr],[ExpressaoEntreParentesesContext,class Express\u00e3oEntrePar\u00eanteses extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2);invariant(this.express\u00e3o,ctx,"Express\xe3o n\xe3o definida")}}],[FacaEnquantoContext,class Fa\u00e7aEnquantoCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}],[InclusaoBibliotecaContext,Inclus\u00e3oBiblioteca],[IncrementoParaContext,Bypass],[IncrementoUnarioPosfixadoContext,class IncrementoUn\u00e1rioP\u00f3sfixadoExpr extends Express\u00e3oUn\u00e1ria{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[IncrementoUnarioPrefixadoContext,class IncrementoUn\u00e1rioPrefixadoExpr extends Express\u00e3oUn\u00e1ria{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[IndiceArrayContext,\u00cdndiceArrayExpr],[InicializacaoArrayContext,Inicializa\u00e7\u00e3oVetorExpr],[InicializacaoMatrizContext,Inicializa\u00e7\u00e3oMatrizExpr],[InicializacaoParaContext,Bypass],[LinhaMatrizContext,Bypass],[ListaComandosContext,Bypass],[ListaDeclaracoesContext,Bypass],[ListaExpressoesContext,Bypass],[ListaParametrosContext,Bypass],[MaisUnarioContext,class MaisUn\u00e1rioExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Refer\u00eanciaVarExpr||child2 instanceof Refer\u00eanciaArrayExpr||child2 instanceof Refer\u00eanciaMatrizExpr||child2 instanceof InteiroExpr||child2 instanceof RealExpr?(invariant(!this.valor,child2.ctx,"Valor j\xe1 definido"),this.valor=child2):this.unexpectedChild(child2);invariant(this.valor,ctx,"Valor n\xe3o definido")}}],[MenosUnarioContext,class MenosUn\u00e1rioExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Refer\u00eanciaVarExpr||child2 instanceof Refer\u00eanciaArrayExpr||child2 instanceof Refer\u00eanciaMatrizExpr||child2 instanceof InteiroExpr||child2 instanceof RealExpr?(invariant(!this.valor,child2.ctx,"Valor j\xe1 definido"),this.valor=child2):this.unexpectedChild(child2);invariant(this.valor,ctx,"Valor n\xe3o definido")}}],[ModuloContext,class M\u00f3duloExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[MultiplicacaoContext,class Multiplica\u00e7\u00e3oExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[NegacaoBitwiseContext,class Nega\u00e7\u00e3oBitwiseExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2);invariant(this.express\u00e3o,ctx,"Express\xe3o n\xe3o definida")}}],[NegacaoContext,class Nega\u00e7\u00e3oExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2);invariant(this.express\u00e3o,ctx,"Express\xe3o n\xe3o definida")}}],[NumeroInteiroContext,InteiroExpr],[NumeroRealContext,RealExpr],[OperacaoAndBitwiseContext,class Opera\u00e7\u00e3oAndBitwiseExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoDiferencaContext,class Opera\u00e7\u00e3oDiferen\u00e7aExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoELogicoContext,class Opera\u00e7\u00e3oAndL\u00f3gicoExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoIgualdadeContext,class Opera\u00e7\u00e3oIgualdadeExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoMaiorContext,class Opera\u00e7\u00e3oMaiorQueExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoMaiorIgualContext,class Opera\u00e7\u00e3oMaiorOuIgualQueExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoMenorContext,class Opera\u00e7\u00e3oMenorQueExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoMenorIgualContext,class Opera\u00e7\u00e3oMenorOuIgualQueExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoOrBitwiseContext,class Opera\u00e7\u00e3oOrBitwiseExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoOuLogicoContext,class Opera\u00e7\u00e3oOrL\u00f3gicoExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoShiftLeftContext,class Opera\u00e7\u00e3oShiftLeftExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoShiftRightContext,class Opera\u00e7\u00e3oShiftRightExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoXorContext,class Opera\u00e7\u00e3oXorExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[ParaContext,class ParaCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];const inicializa\u00e7\u00e3oCtx=getAllChildrenFromContext(ctx.inicializacaoPara()),condi\u00e7\u00e3oCtx=getAllChildrenFromContext(ctx.condicao()),incrementoCtx=getAllChildrenFromContext(ctx.incrementoPara());for(const child2 of children)(child2 instanceof Express\u00e3o||child2 instanceof Comando)&&inicializa\u00e7\u00e3oCtx.includes(child2.ctx)?(invariant(!this.inicializa\u00e7\u00e3o,child2.ctx,"Inicializa\xe7\xe3o j\xe1 definida"),this.inicializa\u00e7\u00e3o=child2):child2 instanceof Express\u00e3o&&condi\u00e7\u00e3oCtx.includes(child2.ctx)?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Express\u00e3o&&incrementoCtx.includes(child2.ctx)?(invariant(!this.incremento,child2.ctx,"Incremento j\xe1 definido"),this.incremento=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2)}}],[ParametroContext,Par\u00e2metro],[ParametroFuncaoContext,Bypass],[PareContext,class PareCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,invariant("pare"===ctx.text,ctx);for(const child2 of children)this.unexpectedChild(child2)}}],[ReferenciaArrayContext,Refer\u00eanciaArrayExpr],[ReferenciaMatrizContext,Refer\u00eanciaMatrizExpr],[ReferenciaParaVariavelContext,Refer\u00eanciaVarExpr],[RetorneContext,RetorneCmd],[SeContext,class SeCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Sen\u00e3oCmd?(invariant(!this.sen\u00e3o,child2.ctx,"Sen\xe3o j\xe1 definido"),this.sen\u00e3o=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}],[SenaoContext,Sen\u00e3oCmd],[StringContext,CadeiaExpr],[SubtracaoContext,class Subtra\u00e7\u00e3oExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[TamanhoArrayContext,Bypass],[ValorLogicoContext,L\u00f3gicoExpr]]);var AbstractParseTreeVisitor=__webpack_require__(7490),antlr4ts=__webpack_require__(8430);function*checarFun\u00e7\u00e3oIn\u00edcio(arquivo){const funcInicio=arquivo.fun\u00e7\u00f5es.find(func=>"inicio"===func.nome);funcInicio?(funcInicio.par\u00e2metros.length>0&&(yield PortugolCodeError.fromContext(funcInicio.ctx,"A fun\xe7\xe3o 'inicio' n\xe3o deve receber par\xe2metros")),"vazio"!==funcInicio.retorno.primitivo&&(yield PortugolCodeError.fromContext(funcInicio.ctx,"A fun\xe7\xe3o 'inicio' n\xe3o deve retornar valores"))):yield PortugolCodeError.fromContext(arquivo.ctx,"O programa deve conter uma fun\xe7\xe3o chamada 'inicio'")}function*checarFun\u00e7\u00f5esComRetorno(arquivo){for(const func of arquivo.fun\u00e7\u00f5es)"vazio"!==func.retorno.primitivo&&(getAllChildrenFromNode(func).some(instru\u00e7\u00e3o=>instru\u00e7\u00e3o instanceof RetorneCmd)||(yield PortugolCodeError.fromContext(func.ctx,`A fun\xe7\xe3o '${func.nome}' deve retornar um valor`)))}function*checarUsoEscopo(arquivo){const escopo={vari\u00e1veis:new Map,fun\u00e7\u00f5es:new Map([["escreva",{primitivo:"vazio"}],["leia",{primitivo:"cadeia"}],["limpa",{primitivo:"vazio"}]])};for(const declr of arquivo.declara\u00e7\u00f5es)escopo.vari\u00e1veis.has(declr.nome)&&(yield PortugolCodeError.fromContext(declr.ctx,`A vari\xe1vel '${declr.nome}' foi declarada m\xfaltiplas vezes`)),escopo.vari\u00e1veis.set(declr.nome,declr.tipo);for(const func of arquivo.fun\u00e7\u00f5es)escopo.fun\u00e7\u00f5es.has(func.nome)&&(yield PortugolCodeError.fromContext(func.ctx,`A fun\xe7\xe3o '${func.nome}' foi declarada m\xfaltiplas vezes`)),escopo.fun\u00e7\u00f5es.set(func.nome,func.retorno);for(const func of arquivo.fun\u00e7\u00f5es){const escopoFun\u00e7\u00e3o={vari\u00e1veis:new Map(escopo.vari\u00e1veis),fun\u00e7\u00f5es:new Map(escopo.fun\u00e7\u00f5es)};for(const param of func.par\u00e2metros)escopoFun\u00e7\u00e3o.vari\u00e1veis.has(param.nome)&&(yield PortugolCodeError.fromContext(param.ctx,`O par\xe2metro '${param.nome}' foi declarado m\xfaltiplas vezes`)),escopoFun\u00e7\u00e3o.vari\u00e1veis.set(param.nome,param.tipo);const instru\u00e7\u00f5es=func.instru\u00e7\u00f5es.concat(func.instru\u00e7\u00f5es.flatMap(getAllChildrenFromNode));for(const expr of instru\u00e7\u00f5es)if(expr instanceof Declara\u00e7\u00e3oCmd)escopoFun\u00e7\u00e3o.vari\u00e1veis.has(expr.nome)&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${expr.nome}' foi declarada m\xfaltiplas vezes`)),escopoFun\u00e7\u00e3o.vari\u00e1veis.set(expr.nome,expr.tipo);else if(expr instanceof Atribui\u00e7\u00e3oCmd){const nome=expr.vari\u00e1vel instanceof Refer\u00eanciaVarExpr?expr.vari\u00e1vel.nome:expr.vari\u00e1vel.vari\u00e1vel.nome;escopoFun\u00e7\u00e3o.vari\u00e1veis.has(nome)||(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' n\xe3o foi declarada`));const vari\u00e1vel=escopoFun\u00e7\u00e3o.vari\u00e1veis.get(nome);expr.express\u00e3o instanceof ChamadaFun\u00e7\u00e3oExpr?!expr.express\u00e3o.escopoBiblioteca&&"leia"!==expr.express\u00e3o.nome&&escopoFun\u00e7\u00e3o.fun\u00e7\u00f5es.get(expr.express\u00e3o.nome)?.primitivo!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A fun\xe7\xe3o '${expr.express\u00e3o.nome}' n\xe3o retorna um valor do tipo '${vari\u00e1vel?.primitivo}'`)):expr.express\u00e3o instanceof Refer\u00eanciaVarExpr?escopoFun\u00e7\u00e3o.vari\u00e1veis.get(expr.express\u00e3o.nome)?.primitivo!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${expr.express\u00e3o.nome}' n\xe3o \xe9 do tipo '${vari\u00e1vel?.primitivo}'`)):expr.express\u00e3o instanceof InteiroExpr?"inteiro"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'inteiro'`)):expr.express\u00e3o instanceof RealExpr?"real"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'real'`)):expr.express\u00e3o instanceof CadeiaExpr?"cadeia"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'cadeia'`)):expr.express\u00e3o instanceof CaractereExpr?"caracter"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'caracter'`)):expr.express\u00e3o instanceof L\u00f3gicoExpr&&"logico"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'logico'`))}else if(expr instanceof Refer\u00eanciaVarExpr)escopoFun\u00e7\u00e3o.vari\u00e1veis.has(expr.nome)||(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${expr.nome}' n\xe3o foi declarada`));else if(expr instanceof ChamadaFun\u00e7\u00e3oExpr){!expr.escopoBiblioteca&&!escopoFun\u00e7\u00e3o.fun\u00e7\u00f5es.has(expr.nome)&&(yield PortugolCodeError.fromContext(expr.ctx,`A fun\xe7\xe3o '${expr.nome}' n\xe3o foi declarada`));const args=expr.argumentos;for(const arg of args)arg instanceof ChamadaFun\u00e7\u00e3oExpr&&(!arg.escopoBiblioteca&&!escopoFun\u00e7\u00e3o.fun\u00e7\u00f5es.has(arg.nome)&&(yield PortugolCodeError.fromContext(arg.ctx,`A fun\xe7\xe3o '${arg.nome}' n\xe3o foi declarada`)),"vazio"===escopoFun\u00e7\u00e3o.fun\u00e7\u00f5es.get(arg.nome)?.primitivo&&(yield PortugolCodeError.fromContext(arg.ctx,`A fun\xe7\xe3o '${arg.nome}' n\xe3o retorna um valor`)))}}}const lib_errors=[_01_estrutura_b_sica_namespaceObject,_02_vari_veis_namespaceObject].flatMap(ec=>Object.values(ec));var PortugolErrorChecker_class;class PortugolErrorChecker{static checkCode(code){const inputStream=antlr4ts.CharStreams.fromString(code),lexer=new PortugolLexer(inputStream),tokenStream=new antlr4ts.CommonTokenStream(lexer),parser=new PortugolParser(tokenStream),tree2=parser.arquivo();return parser.addErrorListener(this.errorListener),this.checkTree(tree2)}static checkTree(tree2){this.errorListener.reset();try{const arquivo=this.portugolNode.visit(tree2),errors=[];for(const checker of lib_errors)for(const error of checker(arquivo))errors.push(error);return this.errorListener.getErrors().concat(errors)}catch(error){return error instanceof ParseError?this.errorListener.getErrors().concat(PortugolCodeError.fromContext(error.ctx,error.message)):this.errorListener.getErrors().concat(PortugolCodeError.fromContext(tree2,String(error)))}}}(PortugolErrorChecker_class=PortugolErrorChecker).portugolNode=new class PortugolNode extends AbstractParseTreeVisitor.AbstractParseTreeVisitor{defaultResult(){return{}}aggregateResult(_aggregate,_nextResult){throw new Error("Shouldn't need to aggregate results")}visitChildrenArray(node2){const result=[],n=node2.childCount;for(let i6=0;i6x)}visit(ctx){const children=this.visitChildrenArray(ctx),ctor=ContextNodeMap.get(ctx.constructor);return ctor?new ctor(ctx,children):new UnhandledNode(ctx,ctx.constructor.name,ctx.text,children)}},PortugolErrorChecker_class.errorListener=new PortugolErrorListener;class PortugolExecutor{constructor(runner){this.runner=runner,this.byteCode="",this.stdInBuffer="",this.stdIn=new Subject_Subject,this.stdOut="",this.stdOut$=new Subject_Subject,this.waitingForInput=!1,this.waitingForInput$=new Subject_Subject,this.running=!1,this.running$=new Subject_Subject,this.events=new Subject_Subject,this.errorListener=new PortugolErrorListener,this.stdIn.subscribe(data=>{"\b"===data?this.stdInBuffer.length>0&&(this.stdInBuffer=this.stdInBuffer.slice(0,-1),this.stdOut=this.stdOut.slice(0,-1)):"\r"===data?(this._runner?.stdIn.next(this.stdInBuffer),this.stdInBuffer="",this.stdOut+="\n"):(this.stdInBuffer+=data,this.stdOut+=data),this.stdOut$.next(this.stdOut)})}run(code){try{this.reset();const inputStream=antlr4ts.CharStreams.fromString(code),lexer=new PortugolLexer(inputStream),tokenStream=new antlr4ts.CommonTokenStream(lexer),parser=new PortugolParser(tokenStream);this.errorListener.reset(),parser.removeErrorListeners(),parser.addErrorListener(this.errorListener);const tree2=parser.arquivo(),errors=PortugolErrorChecker.checkTree(tree2);if(errors.length>0&&(this.stdOut+=`\u26d4 O seu c\xf3digo possui ${errors.length} erro${errors.length>1?"s":""} de compila\xe7\xe3o:\n`,this.stdOut+=errors.map(error=>` - ${error.message} (linha ${error.startLine}, posi\xe7\xe3o ${error.startCol})\n`).join(""),this.stdOut+="\n\u26a0\ufe0f Durante essa fase experimental, o c\xf3digo ainda ser\xe1 executado mesmo com erros, por\xe9m se n\xe3o corrigi-los, a execu\xe7\xe3o abaixo pode exibir mensagens de erro em ingl\xeas ou sem explica\xe7\xe3o.\n",this.stdOut+=" Caso acredite que o erro n\xe3o fa\xe7a sentido, por favor, abra uma issue em https://github.com/dgadelha/Portugol-Webstudio/issues/new e anexe o c\xf3digo que voc\xea est\xe1 tentando executar.\n",this.stdOut+="\n- O seu programa ir\xe1 iniciar abaixo -\n",this.stdOut$.next(this.stdOut)),this._runner=new this.runner(tree2),!this._runner)throw new Error("Runner not found");this.byteCode=this._runner.byteCode,this._runner.stdOut$.subscribe(data=>{this.stdOut+=data,this.stdOut$.next(data)}),this._runner.waitingForInput$.subscribe(data=>{this.waitingForInput=data,this.waitingForInput$.next(data)}),this._runner.running$.subscribe(data=>{this.running=data,this.running$.next(data)}),this._runner.run().subscribe({next:event=>{switch(event.type){case"finish":this.stdOut+=`\nPrograma finalizado. Tempo de execu\xe7\xe3o: ${event.time} ms\n`,this.stdOut$.next(this.stdOut);break;case"clear":this.stdOut="",this.stdOut$.next(this.stdOut);break;case"error":this.stdOut+=`\n\u26d4 ${event.error.message}\n`,this.stdOut$.next(this.stdOut)}this.events.next(event)},error:error=>{console.error(error)}})}catch(err){console.error(err),this.stdOut+="\n\u26d4 O seu c\xf3digo possui um erro de compila\xe7\xe3o!\n",this.stdOut$.next(this.stdOut),this.reset(!1),this.events.next({type:"parseError",errors:this.errorListener.getErrors()}),this.events.error(err)}}stop(){this.reset()}reset(clearStdOut=!0){clearStdOut&&(this.stdOut=""),this._stdOut$?.unsubscribe(),this.waitingForInput=!1,this._waitingForInput$?.unsubscribe(),this.running=!1,this._running$?.unsubscribe(),this._runner?.destroy()}}class StringBuilder{constructor(){this.buffer=[]}append(...str){this.buffer.push(...str)}pop(){return this.buffer.pop()}toString(){return this.buffer.join("")}}let PortugolJs=(()=>{class PortugolJs2 extends AbstractParseTreeVisitor.AbstractParseTreeVisitor{constructor(){super(...arguments),this.debug=!1,this.pad=0,this.hasScope=!1}DEBUG(fn,_ctx){return this.debug?`${this.PAD()}/*! ${fn} !*/\n`:""}PAD(){return" ".repeat(this.pad)}defaultResult(){return""}aggregateResult(aggregate,nextResult){return aggregate+nextResult}visitChildrenArray(node2){const result=[],n=node2.childCount;for(let i6=0;i6x)}visitChamadaFuncao(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitChamadaFuncao",ctx)),sb.append(this.PAD(),"(await runtime.callFunction(","\n"),this.pad++,sb.append(this.PAD(),`"${ctx.ID().text}",`,"\n"),sb.append(this.PAD(),`"${ctx.escopoBiblioteca()?.ID()?.text??""}",`,"\n");const expr=ctx.listaExpressoes();return expr&&sb.append(this.visit(expr)),this.pad--,sb.append(this.PAD(),"))","\n"),sb.toString()}visitReferenciaArray(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitReferenciaArray",ctx)),sb.append(this.visitReferenciaParaVariavel(ctx).trimEnd()),sb.append(".value[\n"),this.pad++,sb.append(this.visit(ctx.indiceArray().expressao()).trimEnd(),".value","\n"),this.pad--,sb.append(this.PAD(),"]","\n"),sb.toString()}visitReferenciaMatriz(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitReferenciaMatriz",ctx)),sb.append(this.visitReferenciaParaVariavel(ctx).trimEnd()),sb.append(".value","\n");for(const idx of ctx.indiceArray())this.pad++,sb.append(this.PAD(),"[","\n"),this.pad++,sb.append(this.visit(idx.expressao()).trimEnd(),".value","\n"),this.pad--,sb.append(this.PAD(),"].value","\n"),this.pad--;return sb.pop(),sb.pop(),sb.append("]","\n"),sb.toString()}visitMenosUnario(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitMenosUnario",ctx)),sb.append(this.PAD(),"runtime.applyModifier(","\n"),this.pad++,sb.append(this.PAD(),'"-"',",\n"),sb.append(this.visit(ctx.expressao())),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitMaisUnario(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitMaisUnario",ctx)),sb.append(this.PAD(),"runtime.applyModifier(","\n"),this.pad++,sb.append(this.PAD(),'"+"',",\n"),sb.append(this.visit(ctx.expressao())),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitNegacao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitNegacao",ctx)),sb.append(this.PAD(),"runtime.applyModifier(","\n"),this.pad++,sb.append(this.PAD(),'"!"',",\n"),sb.append(this.visit(ctx.expressao())),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitNegacaoBitwise(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitNegacaoBitwise",ctx)),sb.append(this.PAD(),"runtime.applyModifier(","\n"),this.pad++,sb.append(this.PAD(),'"~"',",\n"),sb.append(this.visit(ctx.expressao())),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitIncrementoUnarioPosfixado(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitIncrementoUnarioPosfixado",ctx)),sb.append(this.PAD(),"(() => {","\n"),this.pad++,sb.append(this.PAD(),`const pre = scope.variables["${ctx.ID().text}"].clone();`,"\n\n"),sb.append(this.PAD(),"runtime.assign([","\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'runtime.mathOperation("+", [',"\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'new PortugolVar("inteiro", 1),',"\n"),this.pad--,sb.append(this.PAD(),"]),","\n"),this.pad--,sb.append(this.PAD(),"]);","\n\n"),sb.append(this.PAD(),"return pre;","\n"),this.pad--,sb.append(this.PAD(),"})()","\n"),sb.toString()}visitDecrementoUnarioPosfixado(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitDecrementoUnarioPosfixado",ctx)),sb.append(this.PAD(),"(() => {","\n"),this.pad++,sb.append(this.PAD(),`const pre = scope.variables["${ctx.ID().text}"].clone();`,"\n\n"),sb.append(this.PAD(),"runtime.assign([","\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'runtime.mathOperation("-", [',"\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'new PortugolVar("inteiro", 1),',"\n"),this.pad--,sb.append(this.PAD(),"]),","\n"),this.pad--,sb.append(this.PAD(),"]);","\n\n"),sb.append(this.PAD(),"return pre;","\n"),this.pad--,sb.append(this.PAD(),"})()","\n"),sb.toString()}visitIncrementoUnarioPrefixado(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitIncrementoUnarioPrefixado",ctx)),sb.append(this.PAD(),"runtime.assign([","\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'runtime.mathOperation("+", [',"\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'new PortugolVar("inteiro", 1),',"\n"),this.pad--,sb.append(this.PAD(),"])","\n"),this.pad--,sb.append(this.PAD(),"])","\n"),sb.append(super.visitChildren(ctx)),sb.toString()}visitDecrementoUnarioPrefixado(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitDecrementoUnarioPrefixado",ctx)),sb.append(this.PAD(),"runtime.assign([","\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'runtime.mathOperation("-", [',"\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'new PortugolVar("inteiro", 1),',"\n"),this.pad--,sb.append(this.PAD(),"])","\n"),this.pad--,sb.append(this.PAD(),"])","\n"),sb.append(super.visitChildren(ctx)),sb.toString()}visitOperacaoMatematica(ctx){const sb=new StringBuilder,op=ctx instanceof MultiplicacaoContext?"*":ctx instanceof DivisaoContext?"/":ctx instanceof ModuloContext?"%":ctx instanceof AdicaoContext?"+":ctx instanceof SubtracaoContext?"-":ctx instanceof OperacaoShiftLeftContext?"<<":ctx instanceof OperacaoShiftRightContext?">>":"?";sb.append(this.PAD(),`runtime.mathOperation("${op}", [`,"\n"),this.pad++;const exprs=ctx.expressao();for(const expr of exprs)sb.append(super.visit(expr).trimEnd()),sb.append(",","\n");return this.pad--,sb.append(this.PAD(),"])","\n"),sb.toString()}visitOperacaoBitwise(ctx){const sb=new StringBuilder,op=ctx instanceof OperacaoAndBitwiseContext?"&":ctx instanceof OperacaoOrBitwiseContext?"|":ctx instanceof OperacaoXorContext?"^":ctx instanceof OperacaoShiftLeftContext?"<<":ctx instanceof OperacaoShiftRightContext?">>":"?";sb.append(this.PAD(),`runtime.bitwiseOperation("${op}", [`,"\n"),this.pad++;const exprs=ctx.expressao();for(const expr of exprs)sb.append(super.visit(expr).trimEnd()),sb.append(",","\n");return this.pad--,sb.append(this.PAD(),"])","\n"),sb.toString()}visitMultiplicacao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitMultiplicacao",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitDivisao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitDivisao",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitModulo(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitModulo",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitAdicao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAdicao",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitSubtracao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitSubtracao",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitOperacaoComparacao(ctx){const sb=new StringBuilder,op=ctx instanceof OperacaoIgualdadeContext?"==":ctx instanceof OperacaoDiferencaContext?"!=":ctx instanceof OperacaoMaiorContext?">":ctx instanceof OperacaoMenorContext?"<":ctx instanceof OperacaoMaiorIgualContext?">=":ctx instanceof OperacaoMenorIgualContext?"<=":ctx instanceof OperacaoELogicoContext?"&&":ctx instanceof OperacaoOuLogicoContext?"||":ctx instanceof OperacaoAndBitwiseContext?"&":ctx instanceof OperacaoOrBitwiseContext?"|":ctx instanceof OperacaoXorContext?"^":"?";sb.append(this.PAD(),`runtime.comparativeOperation("${op}", [`,"\n"),this.pad++;const exprs=ctx.expressao();for(const expr of exprs)sb.append(super.visit(expr).trimEnd()),sb.append(",","\n");return this.pad--,sb.append(this.PAD(),"])","\n"),sb.toString()}visitOperacaoIgualdade(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoIgualdade",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoDiferenca(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoDiferenca",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoMaior(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoMaior",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoMenor(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoMenor",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoMenorIgual(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoMenorIgual",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoMaiorIgual(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoMaiorIgual",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoELogico(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoELogico",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoOuLogico(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoOuLogico",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoXor(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoXor",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitOperacaoShiftLeft(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoShiftLeft",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitOperacaoShiftRight(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoShiftRight",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitOperacaoAndBitwise(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoAndBitwise",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitOperacaoOrBitwise(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoOrBitwise",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitReferenciaParaVariavel(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitReferenciaParaVariavel",ctx));const libScope=ctx.escopoBiblioteca()?.ID();return sb.append(this.PAD(),libScope?`runtime.libs[runtime.globalScope.libAliases["${libScope}"]]["${ctx.ID().text}"]`:`scope.variables["${ctx.ID().text}"]`,"\n"),sb.toString()}visitNumeroInteiro(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitNumeroInteiro",ctx)),sb.append(this.PAD(),`new PortugolVar("inteiro", ${ctx.INT()?.text??ctx.HEXADECIMAL()?.text??""})`,"\n"),sb.toString()}visitNumeroReal(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitNumeroReal",ctx)),sb.append(this.PAD(),`new PortugolVar("real", ${ctx.REAL().text})`,"\n"),sb.toString()}visitValorLogico(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitValorLogico",ctx)),sb.append(this.PAD(),`new PortugolVar("logico", ${"verdadeiro"===ctx.LOGICO().text})`,"\n"),sb.toString()}visitCaracter(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitCaracter",ctx)),sb.append(this.PAD(),`new PortugolVar("caracter", ${ctx.CARACTER().text})`,"\n"),sb.toString()}visitString(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitString",ctx)),sb.append(this.PAD(),`new PortugolVar("cadeia", ${ctx.STRING().text})`,"\n"),sb.toString()}visitExpressaoEntreParenteses(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitExpressaoEntreParenteses",ctx)),sb.append(this.PAD(),"(","\n"),this.pad++,sb.append(super.visitChildren(ctx)),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitAtribuicaoCompostaSoma(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAtribuicaoCompostaSoma",ctx)),sb.append(this.visitAtribuicaoComposta(ctx)),sb.toString()}visitAtribuicaoCompostaSubtracao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAtribuicaoCompostaSubtracao",ctx)),sb.append(this.visitAtribuicaoComposta(ctx)),sb.toString()}visitAtribuicaoCompostaMultiplicacao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAtribuicaoCompostaMultiplicacao",ctx)),sb.append(this.visitAtribuicaoComposta(ctx)),sb.toString()}visitAtribuicaoCompostaDivisao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAtribuicaoCompostaDivisao",ctx)),sb.append(this.visitAtribuicaoComposta(ctx)),sb.toString()}visitArquivo(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitArquivo",ctx)),sb.append("(async (initScope) => {","\n"),this.pad++,sb.append(this.PAD(),"const runtime = new PortugolRuntime(initScope);","\n\n"),sb.append(this.PAD(),"self.runtime = runtime;","\n\n"),sb.append(super.visitChildren(ctx)),sb.append("\n",this.PAD(),'await runtime.callFunction("inicio");\n})'),this.pad--,sb.toString()}visitInclusaoBiblioteca(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitInclusaoBiblioteca",ctx)),sb.append(this.PAD(),`runtime.loadLibrary(${ctx.ID().map(x=>`"${x.text}"`).join(", ")});`,"\n"),sb.toString()}visitListaDeclaracoes(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitListaDeclaracoes",ctx));const declrs=ctx.declaracao();for(let i6=0;i6 new PortugolVar("vetor", '),this.pad++,cols?(sb.append("\n"),this.pad++,sb.append(this.PAD(),"new Array(","\n"),this.pad++,sb.append(this.visit(cols.tamanhoArray().expressao())),sb.append(this.PAD(),".value","\n"),this.pad--,sb.append(this.PAD(),`).fill(0).map(() => new PortugolVar("${ctx.TIPO().text}", undefined))`,"\n"),this.pad--,sb.append(this.PAD(),")","\n")):sb.append("[])","\n"),this.pad--,sb.append(this.PAD(),")","\n"),this.pad--,sb.append(this.PAD())):sb.append("[]"),sb.append(")","\n")}}if(arr){const init2=arr.inicializacaoArray();if(arr.OP_ATRIBUICAO()&&init2)sb.append(this.PAD(),`${scopeStr}.variables["${arr.ID().text}"] = `),sb.append(this.visit(init2).trim(),"\n");else{sb.append(this.PAD(),`${scopeStr}.variables["${arr.ID().text}"] = new PortugolVar(`),sb.append('"vetor", ');const tam=arr.tamanhoArray();tam?(sb.append("[\n"),this.pad++,sb.append(new Array(parseInt(tam.text,10)).fill(0).map(()=>`${this.PAD()}new PortugolVar("${ctx.TIPO().text}", undefined)`).join(",\n")),sb.append(",\n"),this.pad--,sb.append(this.PAD(),"]")):sb.append("[]"),sb.append(")","\n")}}}return sb.toString()}visitDeclaracao(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitDeclaracao||(captureException("visitDeclaracao",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitDeclaracao=!0),sb.append(this.DEBUG("visitDeclaracao",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitDeclaracaoVariavel(ctx){const sb=new StringBuilder;throw PortugolJs2.thrown.visitDeclaracaoVariavel||(captureException("visitDeclaracaoVariavel",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitDeclaracaoVariavel=!0),sb.append(this.DEBUG("visitDeclaracaoVariavel",ctx)),new Error("Not implemented")}visitDeclaracaoMatriz(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitDeclaracaoMatriz||(captureException("visitDeclaracaoMatriz",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitDeclaracaoMatriz=!0),sb.append(this.DEBUG("visitDeclaracaoMatriz",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitInicializacaoMatriz(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitInicializacaoMatriz",ctx)),sb.append(this.PAD(),"[","\n"),this.pad++;for(const child2 of ctx.children??[])child2 instanceof InicializacaoArrayContext&&(sb.append(this.visit(child2)),sb.append(this.PAD(),",","\n"));return this.pad--,sb.append(this.PAD(),"]","\n"),sb.toString()}visitLinhaMatriz(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitLinhaMatriz||(captureException("visitLinhaMatriz",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitLinhaMatriz=!0),sb.append(this.DEBUG("visitLinhaMatriz",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitColunaMatriz(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitColunaMatriz||(captureException("visitColunaMatriz",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitColunaMatriz=!0),sb.append(this.DEBUG("visitColunaMatriz",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitDeclaracaoArray(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitDeclaracaoArray||(captureException("visitDeclaracaoArray",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitDeclaracaoArray=!0),sb.append(this.DEBUG("visitDeclaracaoArray",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitInicializacaoArray(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitInicializacaoArray",ctx)),sb.append(this.PAD(),'new PortugolVar("vetor",',"\n"),this.pad++,sb.append(super.visitChildren(ctx)),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitTamanhoArray(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitTamanhoArray||(captureException("visitTamanhoArray",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitTamanhoArray=!0),sb.append(this.DEBUG("visitTamanhoArray",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitDeclaracaoFuncao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitDeclaracaoFuncao",ctx)),sb.append(this.PAD(),`runtime.declareFunction("${ctx.ID().text}", async (...args) => {`,"\n"),this.hasScope=!0,this.pad++,sb.append(this.PAD(),"let scope = runtime.getScope(runtime.globalScope);","\n\n"),sb.append(super.visitChildren(ctx)),this.pad--,this.hasScope=!1,sb.append("\n",this.PAD(),"});","\n"),sb.toString()}visitParametroFuncao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitParametroFuncao",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitListaParametros(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitListaParametros",ctx));const params=ctx.parametro();sb.append(this.PAD(),"runtime.checkParams(","args, [","\n"),this.pad++;for(const param of params){let type;type=param.parametroArray()?"vetor":param.parametroMatriz()?"matriz":param.TIPO().text,sb.append(this.PAD(),`{ name: "${param.ID().text}", type: "${type}", reference: ${!!param.E_COMERCIAL()} },`,"\n")}this.pad--,sb.append(this.PAD(),"]",");","\n\n");for(let i6=0;i6 12) {\n hour -= 12;\n } else if (hour === 0) {\n hour = 12;\n }\n }\n\n return new PortugolVar("inteiro", hour);\n },\n\n minuto_atual() {\n return new PortugolVar("inteiro", new Date().getMinutes());\n },\n\n segundo_atual() {\n return new PortugolVar("inteiro", new Date().getSeconds());\n },\n\n milisegundo_atual() {\n return new PortugolVar("inteiro", new Date().getMilliseconds());\n },\n\n dia_semana_completo(numero_dia, caixa_alta, caixa_baixa) {\n self.runtime.expectType("dia_semana_completo", "numero_dia", numero_dia, "inteiro");\n self.runtime.expectType("dia_semana_completo", "caixa_alta", caixa_alta, "logico");\n self.runtime.expectType("dia_semana_completo", "caixa_baixa", caixa_baixa, "logico");\n\n if (numero_dia.value < 1 || numero_dia.value > 7) {\n throw new Error("'" + numero_dia.value + "' n\xe3o corresponde a um dia da semana v\xe1lido.");\n }\n\n const dias = ["Domingo", "Segunda-feira", "Ter\xe7a-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "S\xe1bado"];\n let dia = dias[numero_dia.value - 1];\n\n if (caixa_alta.value) {\n dia = dia.toUpperCase();\n } else if (caixa_baixa.value) {\n dia = dia.toLowerCase();\n }\n\n return new PortugolVar("cadeia", dia);\n },\n\n dia_semana_curto(numero_dia, caixa_alta, caixa_baixa) {\n self.runtime.expectType("dia_semana_curto", "numero_dia", numero_dia, "inteiro");\n self.runtime.expectType("dia_semana_curto", "caixa_alta", caixa_alta, "logico");\n self.runtime.expectType("dia_semana_curto", "caixa_baixa", caixa_baixa, "logico");\n\n if (numero_dia.value < 1 || numero_dia.value > 7) {\n throw new Error("'" + numero_dia.value + "' n\xe3o corresponde a um dia da semana v\xe1lido.");\n }\n\n const dias = ["Domingo", "Segunda", "Ter\xe7a", "Quarta", "Quinta", "Sexta", "S\xe1bado"];\n let dia = dias[numero_dia.value - 1];\n\n if (caixa_alta.value) {\n dia = dia.toUpperCase();\n } else if (caixa_baixa.value) {\n dia = dia.toLowerCase();\n }\n\n return new PortugolVar("cadeia", dia);\n },\n\n dia_semana_abreviado(numero_dia, caixa_alta, caixa_baixa) {\n self.runtime.expectType("dia_semana_abreviado", "numero_dia", numero_dia, "inteiro");\n self.runtime.expectType("dia_semana_abreviado", "caixa_alta", caixa_alta, "logico");\n self.runtime.expectType("dia_semana_abreviado", "caixa_baixa", caixa_baixa, "logico");\n\n if (numero_dia.value < 1 || numero_dia.value > 7) {\n throw new Error("'" + numero_dia.value + "' n\xe3o corresponde a um dia da semana v\xe1lido.");\n }\n\n const dias = ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"];\n let dia = dias[numero_dia.value - 1];\n\n if (caixa_alta.value) {\n dia = dia.toUpperCase();\n } else if (caixa_baixa.value) {\n dia = dia.toLowerCase();\n }\n\n return new PortugolVar("cadeia", dia);\n },\n},\n Matematica: {\n PI: new PortugolVar("real", Math.PI, false, true),\n E: new PortugolVar("real", Math.E, false, true),\n\n potencia(base, expoente) {\n self.runtime.expectType("potencia", "base", base, "inteiro", "real");\n self.runtime.expectType("potencia", "expoente", expoente, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(base, expoente), Math.pow(base.value, expoente.value));\n },\n\n raiz(radicando, indice) {\n self.runtime.expectType("raiz", "radicando", radicando, "inteiro", "real");\n self.runtime.expectType("raiz", "indice", indice, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(radicando, indice), Math.pow(radicando.value, 1 / indice.value));\n },\n\n log(numero) {\n self.runtime.expectType("log", "numero", numero, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero), Math.log(numero.value));\n },\n\n arredondar(numero, casas) {\n self.runtime.expectType("arredondar", "numero", numero, "inteiro", "real");\n self.runtime.expectType("arredondar", "casas", casas, "inteiro");\n\n return new PortugolVar(self.runtime.assumeMathType(numero, casas), Number(numero.value.toFixed(casas.value)));\n },\n\n valor_absoluto(numero) {\n self.runtime.expectType("valor_absoluto", "numero", numero, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero), Math.abs(numero.value));\n },\n\n seno(angulo) {\n self.runtime.expectType("seno", "angulo", angulo, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(angulo), Math.sin(angulo.value));\n },\n\n cosseno(angulo) {\n self.runtime.expectType("cosseno", "angulo", angulo, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(angulo), Math.cos(angulo.value));\n },\n\n tangente(angulo) {\n self.runtime.expectType("tangente", "angulo", angulo, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(angulo), Math.tan(angulo.value));\n },\n\n logaritmo(numero, base) {\n self.runtime.expectType("logaritmo", "numero", numero, "inteiro", "real");\n self.runtime.expectType("logaritmo", "base", base, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero, base), Math.log(numero.value) / Math.log(base.value));\n },\n\n maior_numero(numeroA, numeroB) {\n self.runtime.expectType("maior_numero", "numeroA", numeroA, "inteiro", "real");\n self.runtime.expectType("maior_numero", "numeroB", numeroB, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero), Math.max(numeroA.value, numeroB.value));\n },\n\n menor_numero(numeroA, numeroB) {\n self.runtime.expectType("menor_numero", "numeroA", numeroA, "inteiro", "real");\n self.runtime.expectType("menor_numero", "numeroB", numeroB, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero), Math.min(numeroA.value, numeroB.value));\n },\n},\n Texto: {\n numero_caracteres(cadeia) {\n self.runtime.expectType("numero_caracteres", "cadeia", cadeia, "cadeia", "caracter");\n\n return new PortugolVar("inteiro", cadeia.value.length);\n },\n\n caixa_alta(cad) {\n self.runtime.expectType("caixa_alta", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.toUpperCase());\n },\n\n caixa_baixa(cad) {\n self.runtime.expectType("caixa_baixa", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.toLowerCase());\n },\n\n substituir(cad, texto_pesquisa, texto_substituto) {\n self.runtime.expectType("substituir", "cad", cad, "cadeia", "caracter");\n self.runtime.expectType("substituir", "texto_pesquisa", texto_pesquisa, "cadeia", "caracter");\n self.runtime.expectType("substituir", "texto_substituto", texto_substituto, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.replaceAll(texto_pesquisa.value, texto_substituto.value));\n },\n\n preencher_a_esquerda(car, tamanho, cad) {\n self.runtime.expectType("preencher_a_esquerda", "car", car, "cadeia", "caracter");\n self.runtime.expectType("preencher_a_esquerda", "tamanho", tamanho, "inteiro", "real");\n self.runtime.expectType("preencher_a_esquerda", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.padStart(tamanho.value, car.value));\n },\n\n preencher_a_direita(car, tamanho, cad) {\n self.runtime.expectType("preencher_a_direita", "car", car, "cadeia", "caracter");\n self.runtime.expectType("preencher_a_direita", "tamanho", tamanho, "inteiro", "real");\n self.runtime.expectType("preencher_a_direita", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.padEnd(tamanho.value, car.value));\n },\n\n obter_caracter(cad, indice) {\n self.runtime.expectType("obter_caracter", "cad", cad, "cadeia", "caracter");\n self.runtime.expectType("obter_caracter", "indice", indice, "inteiro", "real");\n\n if (indice.value < 0) {\n throw new Error("O \xedndice do caracter (" + indice.value + ") \xe9 menor que 0");\n } else if (indice.value > cad.value.length - 1) {\n throw new Error("O \xedndice do caracter (" + indice.value + ") \xe9 maior que o n\xfamero de caracteres na cadeia (" + cad.value.length + ")");\n }\n\n return new PortugolVar("caracter", cad.value.charAt(indice.value));\n },\n\n posicao_texto(texto, cadeia, posicao_inicial) {\n self.runtime.expectType("posicao_texto", "texto", texto, "cadeia", "caracter");\n self.runtime.expectType("posicao_texto", "cadeia", cadeia, "cadeia", "caracter");\n self.runtime.expectType("posicao_texto", "posicao_inicial", posicao_inicial, "inteiro", "real");\n\n return new PortugolVar("inteiro", cadeia.value.indexOf(texto.value, posicao_inicial.value));\n },\n\n extrair_subtexto(texto, posicao_inicial, posicao_final) {\n self.runtime.expectType("posicao_texto", "texto", texto, "cadeia", "caracter");\n self.runtime.expectType("posicao_texto", "posicao_inicial", posicao_inicial, "inteiro", "real");\n self.runtime.expectType("posicao_texto", "posicao_final", posicao_final, "inteiro", "real");\n\n if (posicao_inicial.value < 0 || posicao_final.value < 0 || posicao_inicial.value > posicao_final.value || posicao_final.value > texto.value.length || posicao_inicial.value > texto.value.length) {\n throw new Error("Posi\xe7\xe3o inicial ou final inv\xe1lida. A posi\xe7\xe3o deve estar entre 0 e o tamanho da cadeia");\n }\n\n return new PortugolVar("cadeia", texto.value.substring(posicao_inicial.value, posicao_final.value));\n },\n},\n Tipos: {\n cadeia_e_inteiro(cad, base) {\n self.runtime.expectType("cadeia_e_inteiro", "cad", cad, "cadeia", "caracter");\n self.runtime.expectType("cadeia_e_inteiro", "base", base, "inteiro");\n\n switch (base.value) {\n case 2: return new PortugolVar("logico", ${/^(0b|0B)?[0-1]+$/}.test(cad.value));\n case 10: return new PortugolVar("logico", ${/^-?\d+$/}.test(cad.value));\n case 16: return new PortugolVar("logico", ${PADRAO_INTEIRO_NOTACAO_HEXADECIMAL}.test(cad.value));\n }\n\n throw new Error("A base informada (" + base.value + ") \xe9 inv\xe1lida, a base deve ser um dos seguintes valores: 2; 10; 16");\n },\n\n cadeia_e_real(cad) {\n self.runtime.expectType("cadeia_e_real", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("logico", ${/^-?\d+\.\d+$/}.test(cad.value));\n },\n\n cadeia_e_logico(cad) {\n self.runtime.expectType("cadeia_e_logico", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("logico", ${/^verdadeiro|falso$/i}.test(cad.value));\n },\n\n cadeia_e_caracter(cad) {\n self.runtime.expectType("cadeia_e_caracter", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("logico", cad.value.length === 1);\n },\n\n cadeia_para_caracter(valor) {\n self.runtime.expectType("cadeia_para_caracter", "valor", valor, "cadeia", "caracter");\n\n if (valor.value.length === 1) {\n return new PortugolVar("caracter", valor.value.charAt(0));\n }\n\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um caracter v\xe1lido");\n },\n\n cadeia_para_inteiro(valor, base) {\n self.runtime.expectType("cadeia_para_inteiro", "valor", valor, "cadeia", "caracter");\n self.runtime.expectType("cadeia_para_inteiro", "base", base, "inteiro");\n\n if (base.value === 2 || base.value === 10 || base.value === 16) {\n switch (base.value) {\n case 16:\n valor.value = valor.value.replace(/^0x/i, "");\n break;\n\n case 2:\n valor.value = valor.value.replace(/^0b/i, "");\n break;\n }\n\n const inteiro = parseInt(valor.value, base.value);\n\n if (isNaN(inteiro)) {\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um n\xfamero inteiro v\xe1lido");\n }\n\n return new PortugolVar("inteiro", inteiro);\n }\n\n throw new Error("A base informada (" + base.value + ") \xe9 inv\xe1lida, a base deve ser um dos seguintes valores: 2; 10; 16");\n },\n\n cadeia_para_real(valor) {\n self.runtime.expectType("cadeia_para_real", "valor", valor, "cadeia", "caracter");\n\n const real = parseFloat(valor.value);\n\n if (isNaN(real)) {\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um n\xfamero real v\xe1lido");\n }\n\n return new PortugolVar("real", real);\n },\n\n cadeia_para_logico(valor) {\n self.runtime.expectType("cadeia_para_logico", "valor", valor, "cadeia", "caracter");\n\n switch (valor.value) {\n case "verdadeiro": return new PortugolVar("logico", true);\n case "falso": return new PortugolVar("logico", false);\n }\n\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um valor l\xf3gico v\xe1lido");\n },\n\n inteiro_e_caracter(_int) {\n self.runtime.expectType("inteiro_e_caracter", "_int", _int, "inteiro");\n\n return new PortugolVar("logico", _int.value >= 0 && _int.value <= 9);\n },\n\n inteiro_para_cadeia(valor, base) {\n self.runtime.expectType("inteiro_para_cadeia", "valor", valor, "inteiro");\n self.runtime.expectType("inteiro_para_cadeia", "base", base, "inteiro");\n\n if (isNaN(valor.value) || isNaN(valor.value >>> 0)) {\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um n\xfamero inteiro v\xe1lido");\n }\n\n switch (base.value) {\n case 2: return new PortugolVar("cadeia", (valor.value >>> 0).toString(2).padStart(32, "0"));\n case 10: return new PortugolVar("cadeia", valor.value.toString());\n case 16: return new PortugolVar("cadeia", "0x" + (valor.value >>> 0).toString(16).toUpperCase().padStart(8, "0"));\n }\n\n throw new Error("A base informada (" + base.value + ") \xe9 inv\xe1lida, a base deve ser um dos seguintes valores: 2; 10; 16");\n },\n\n inteiro_para_caracter(valor) {\n self.runtime.expectType("inteiro_para_caracter", "valor", valor, "inteiro");\n\n if (valor.value >= 0 && valor.value <= 9) {\n return new PortugolVar("caracter", valor.value.toString());\n }\n\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um caracter v\xe1lido");\n },\n\n inteiro_para_logico(valor) {\n self.runtime.expectType("inteiro_para_logico", "valor", valor, "inteiro");\n\n if (valor.value <= 0) {\n return new PortugolVar("logico", false);\n }\n\n return new PortugolVar("logico", true);\n },\n\n inteiro_para_real(valor) {\n self.runtime.expectType("inteiro_para_real", "valor", valor, "inteiro");\n\n return new PortugolVar("real", valor.value);\n },\n\n caracter_e_inteiro(car) {\n self.runtime.expectType("caracter_e_inteiro", "car", car, "caracter");\n\n return new PortugolVar("logico", ${PADRAO_INTEIRO_NOTACAO_HEXADECIMAL}.test(car.value));\n },\n\n caracter_e_logico(car) {\n self.runtime.expectType("caracter_e_logico", "car", car, "caracter");\n\n return new PortugolVar("logico", ["S", "s", "N", "n"].includes(car.value));\n },\n\n caracter_para_cadeia(valor) {\n self.runtime.expectType("caracter_para_cadeia", "valor", valor, "caracter");\n\n return new PortugolVar("cadeia", valor.value);\n },\n\n caracter_para_inteiro(valor) {\n self.runtime.expectType("caracter_para_inteiro", "valor", valor, "caracter");\n\n const num = parseInt(valor.value, 10);\n\n if (isNaN(num)) {\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um n\xfamero inteiro v\xe1lido");\n }\n\n return new PortugolVar("inteiro", num);\n },\n\n caracter_para_logico(valor) {\n self.runtime.expectType("caracter_para_logico", "valor", valor, "caracter");\n\n switch (valor.value) {\n case "S": case "s": return new PortugolVar("logico", true);\n case "N": case "n": return new PortugolVar("logico", false);\n }\n\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um valor l\xf3gico v\xe1lido");\n },\n\n logico_para_cadeia(valor) {\n self.runtime.expectType("logico_para_cadeia", "valor", valor, "logico");\n\n return new PortugolVar("cadeia", valor.value ? "verdadeiro" : "falso");\n },\n\n logico_para_inteiro(valor) {\n self.runtime.expectType("logico_para_inteiro", "valor", valor, "logico");\n\n return new PortugolVar("inteiro", valor.value ? 1 : 0);\n },\n\n logico_para_caracter(valor) {\n self.runtime.expectType("logico_para_caracter", "valor", valor, "logico");\n\n return new PortugolVar("caracter", valor.value ? "S" : "N");\n },\n\n real_para_cadeia(valor) {\n self.runtime.expectType("real_para_cadeia", "valor", valor, "real");\n\n return new PortugolVar("cadeia", valor.value.toString());\n },\n\n real_para_inteiro(valor) {\n self.runtime.expectType("real_para_inteiro", "valor", valor, "real");\n\n return new PortugolVar("inteiro", Math.trunc(valor.value));\n },\n},\n Util: {\n obter_diretorio_usuario() {\n return new PortugolVar("cadeia", "/home");\n },\n\n aguarde(intervalo) {\n self.runtime.expectType("aguarde", "intervalo", intervalo, "inteiro", "real");\n\n return new Promise(resolve => setTimeout(() => resolve(new PortugolVar("vazio")), intervalo.value));\n },\n\n tempo_decorrido() {\n return new PortugolVar("inteiro", Date.now() - self.runtime.libs.Util.__loadedAt);\n },\n\n sorteia(minimo, maximo) {\n self.runtime.expectType("sorteia", "minimo", minimo, "inteiro", "real");\n self.runtime.expectType("sorteia", "maximo", maximo, "inteiro", "real");\n\n if (minimo.value > maximo.value) {\n throw new Error("O valor m\xednimo (" + minimo.value + ") \xe9 maior do que o valor m\xe1ximo (" + maximo.value + ")");\n } else if (minimo.value === maximo.value) {\n throw new Error("Os valores m\xednimo e m\xe1ximo s\xe3o iguais: " + minimo.value);\n }\n\n return new PortugolVar("inteiro", Math.floor(Math.random() * (maximo.value - minimo.value + 1)) + minimo.value);\n },\n\n numero_linhas(matriz) {\n self.runtime.expectType("numero_linhas", "matriz", matriz, "matriz");\n\n return new PortugolVar("inteiro", matriz.value.length);\n },\n\n numero_colunas(matriz) {\n self.runtime.expectType("numero_colunas", "matriz", matriz, "matriz");\n\n return new PortugolVar("inteiro", matriz.value[0].value.length);\n },\n\n numero_elementos(vetor) {\n self.runtime.expectType("numero_elementos", "vetor", vetor, "vetor");\n\n return new PortugolVar("inteiro", vetor.value.length);\n },\n},\n};\n }\n\n getScope(baseScope) {\n return {\n variables: { ...baseScope.variables },\n functions: { ...baseScope.functions },\n };\n }\n\n _raw(variable) {\n if (typeof variable === "object") {\n if (variable.hasOwnProperty("_value")) {\n return variable._;\n }\n }\n\n return variable;\n }\n\n declareFunction(name, call) {\n if (this.globalScope.functions.hasOwnProperty(name)) {\n throw new Error("Fun\xe7\xe3o j\xe1 declarada: " + name);\n }\n\n this.globalScope.functions[name] = call;\n }\n\n async callFunction(name, functionScope = "", args = []) {\n let func;\n\n if (functionScope) {\n if (!this.globalScope.libAliases.hasOwnProperty(functionScope)) {\n throw new Error("Biblioteca n\xe3o carregada: " + functionScope);\n }\n\n if (!this.libs[this.globalScope.libAliases[functionScope]].hasOwnProperty(name)) {\n throw new Error("Fun\xe7\xe3o '" + name + "' n\xe3o existe na biblioteca '" + functionScope + "'");\n }\n\n func = this.libs[this.globalScope.libAliases[functionScope]][name];\n } else {\n if (!this.globalScope.functions.hasOwnProperty(name)) {\n throw new Error("Fun\xe7\xe3o n\xe3o declarada: " + name);\n }\n\n func = this.globalScope.functions[name];\n }\n\n const last = this.currentFunction;\n\n this.currentFunction = name;\n\n const ret = await func(...args);\n\n this.currentFunction = last;\n\n return ret;\n }\n\n assign(args) {\n let initial = args.shift();\n\n if (typeof initial === "undefined") {\n throw new Error("N\xe3o \xe9 poss\xedvel atribuir valor \xe0 uma vari\xe1vel n\xe3o declarada");\n }\n\n while (args.length) {\n const arg = args.pop();\n console.log("assign", { initial, arg });\n\n if (typeof arg === "undefined") {\n throw new Error("N\xe3o \xe9 poss\xedvel atribuir uma vari\xe1vel n\xe3o declarada a uma vari\xe1vel declarada");\n }\n\n if (initial.type === "vazio") {\n throw new Error("N\xe3o \xe9 poss\xedvel atribuir valor ao tipo vazio");\n }\n\n if (initial.isConstant) {\n throw new Error("N\xe3o \xe9 poss\xedvel alterar o valor de uma constante");\n }\n\n const value = this.coerceToType(initial.type, arg.value, arg.type);\n\n if (initial.isReference) {\n initial.value.value = value;\n } else {\n initial.value = value;\n }\n\n initial = arg;\n }\n\n console.log("assign.final", { initial });\n\n return initial;\n }\n\n loadLibrary(name, alias) {\n if (!this.libs.hasOwnProperty(name)) {\n throw new Error("Biblioteca n\xe3o existe: " + name);\n }\n\n this.libs[name].__loadedAt = Date.now();\n this.globalScope.libAliases[alias || name] = name;\n }\n\n canCoerceType(from, to) {\n return (from === to || from === "inteiro" && to === "real" || from === "real" && to === "inteiro");\n }\n\n coerceToType(type, value, valueType) {\n if (valueType !== type && !this.canCoerceType(valueType, type)) {\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel atribuir uma express\xe3o do tipo '" + valueType + "' \xe0 uma express\xe3o do tipo '" + type + "'.");\n }\n\n switch (type) {\n case "inteiro": {\n const result = parseInt(value, 10);\n\n if (isNaN(result)) {\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel atribuir o valor '" + value + "' \xe0 uma express\xe3o do tipo '" + type + "'.");\n }\n\n return result;\n }\n\n case "real": {\n const result = parseFloat(value);\n\n if (isNaN(result)) {\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel atribuir o valor '" + value + "' \xe0 uma express\xe3o do tipo '" + type + "'.");\n }\n\n return result;\n }\n\n case "caracter":\n return String(value).charAt(0);\n\n case "cadeia":\n return String(value);\n\n case "logico":\n return Boolean(value);\n\n default:\n return value;\n }\n }\n\n concat(args) {\n console.log("concat.preinit", { args });\n\n let result = args.shift().clone();\n\n while (args.length) {\n let arg = args.shift().clone();\n console.log("concat.ongoing", { arg, result });\n\n result.value += arg.stringValue();\n }\n\n console.log("concat.finish", { result });\n return new PortugolVar("cadeia", result.value);\n }\n\n mathOperation(op, args) {\n console.log("mathOperation.preinit", { op, args });\n\n let result = args.shift().clone();\n\n if (op === "+" && ["cadeia", "caracter"].includes(result.type)) {\n return self.runtime.concat([result, ...args]);\n }\n\n console.log("mathOperation.init", { op, args, result });\n\n while (args.length) {\n let arg = args.shift().clone();\n console.log("mathOperation.ongoing", { arg, result });\n\n if (!["real", "inteiro"].includes(arg.type)) {\n const mathOpDesc = {\n "+": ["somar", "\xe0"],\n "-": ["subtrair", "de"],\n "*": ["multiplicar", "por"],\n "/": ["dividir", "por"],\n "%": ["obter o m\xf3dulo entre", "e"],\n };\n\n const [verb, preposition] = mathOpDesc[op];\n\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel " + verb + " uma express\xe3o do tipo '" + result.type + "' (" + result.toString() + ") " + preposition + " uma express\xe3o do tipo '" + arg.type + "' (" + arg.toString() + ").");\n }\n\n switch (op) {\n case "+":\n result.value += arg.value;\n break;\n\n case "-":\n result.value -= arg.value;\n break;\n\n case "*":\n result.value *= arg.value;\n break;\n\n case "/":\n result.value /= arg.value;\n break;\n\n case "%":\n result.value %= arg.value;\n break;\n\n default:\n throw new Error("Opera\xe7\xe3o matem\xe1tica inv\xe1lida: " + op);\n }\n }\n\n console.log("mathOperation.finish", { result });\n return result;\n }\n\n comparativeOperation(op, args) {\n console.log("comparativeOp.preinit", { op, args });\n let result = args.shift().value;\n\n while (args.length) {\n console.log("comparativeOp.ongoing", { op, args, result });\n let arg = args.shift().value;\n\n switch (op) {\n case "==":\n result = result == arg;\n break;\n\n case "!=":\n result = result != arg;\n break;\n\n case ">":\n result = result > arg;\n break;\n\n case ">=":\n result = result >= arg;\n break;\n\n case "<":\n result = result < arg;\n break;\n\n case "<=":\n result = result <= arg;\n break;\n\n case "&&":\n result = result && arg;\n break;\n\n case "||":\n result = result || arg;\n break;\n\n default:\n throw new Error("Opera\xe7\xe3o comparativa inv\xe1lida: " + op);\n }\n }\n\n console.log("comparativeOp.finish", { result });\n return new PortugolVar("logico", result);\n }\n\n bitwiseOperation(op, args) {\n console.log("bitwiseOperation.preinit", { op, args });\n\n let result = args.shift().clone();\n\n console.log("bitwiseOperation.init", { op, args, result });\n\n while (args.length) {\n let arg = args.shift().clone();\n console.log("bitwiseOperation.ongoing", { arg, result });\n\n if (arg.type !== "inteiro" || result.type !== "inteiro") {\n const bitwiseOpDesc = {\n "&": ["fazer uma opera\xe7\xe3o bitwise AND (&) em", "para"],\n "|": ["fazer uma opera\xe7\xe3o bitwise OR (|) em", "para"],\n "^": ["fazer uma opera\xe7\xe3o bitwise XOR (^) em", "para"],\n ">>": ["deslocar os bits para a direita de", "para"],\n "<<": ["deslocar os bits para a esquerda de", "para"],\n };\n\n const [verb, preposition] = bitwiseOpDesc[op];\n\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel " + verb + " uma express\xe3o do tipo '" + result.type + "' (" + result.toString() + ") " + preposition + " uma express\xe3o do tipo '" + arg.type + "' (" + arg.toString() + ").");\n }\n\n switch (op) {\n case "&":\n result.value = result.value & arg.value;\n break;\n\n case "|":\n result.value = result.value | arg.value;\n break;\n\n case "^":\n result.value = result.value ^ arg.value;\n break;\n\n case ">>":\n result.value = result.value >> arg.value;\n break;\n\n case "<<":\n result.value = result.value << arg.value;\n break;\n\n default:\n throw new Error("Opera\xe7\xe3o bitwise inv\xe1lida: " + op);\n }\n }\n\n console.log("bitwiseOperation.finish", { result });\n return result;\n }\n\n applyModifier(mod, item) {\n console.log("applyModifier.init", { mod, item });\n const result = item.clone();\n\n switch (mod) {\n case "+":\n result.value = +item.value;\n break;\n\n case "-":\n result.value = -item.value;\n break;\n\n case "!":\n result.value = !item.value;\n break;\n\n case "~":\n result.value = ~item.value;\n break;\n\n default:\n throw new Error("Modificador inv\xe1lido: " + mod);\n }\n\n console.log("applyModifier.finish", { result });\n return result;\n }\n\n assumeMathType(...args) {\n let type = "inteiro";\n\n for (let arg of args) {\n if (arg.type == "real") {\n type = "real";\n break;\n }\n }\n\n return type;\n }\n\n expectType(fn, param, obj, ...types) {\n if (!obj || !types.includes(obj.type) || obj.value === undefined) {\n let multipleTypesPlural = types.length > 1 ? "s" : "";\n throw new Error("Tipos incompat\xedveis! O par\xe2metro '" + param + "' da fun\xe7\xe3o '" + fn + "' espera uma express\xe3o do" + multipleTypesPlural + " tipo" + multipleTypesPlural + " " + types.map((c) => "'" + c + "'").join(" ou ") + (obj?.value === undefined ? " com valor" : "") + ", mas foi passada uma express\xe3o do tipo '" + (obj?.type ?? "vazio") + "'" + (obj?.value === undefined ? " vazia" : ""));\n }\n }\n\n checkParams(args, params) {\n if (args.length != params.length) {\n throw new Error("N\xfamero de par\xe2metros inv\xe1lido! A fun\xe7\xe3o '" + this.currentFunction + "' espera " + params.length + " par\xe2metro" + (params.length > 1 ? "s" : "") + ", mas fo" + (args.length > 1 ? "ram" : "i") + " passado" + (args.length > 1 ? "s" : "") + " " + args.length + ".");\n }\n\n for (let i = 0; i < args.length; i++) {\n if (args[i].type != params[i].type) {\n throw new Error("Tipos incompat\xedveis! O " + (i + 1) + "\xba par\xe2metro da fun\xe7\xe3o '" + this.currentFunction + "', '" + params[i].name + "', espera uma express\xe3o do tipo '" + params[i].type + "', mas foi passada uma express\xe3o do tipo '" + args[i].type + "'.");\n }\n }\n }\n}\n//endregion\n\n//endregion\n`;class IPortugolRunner{constructor(tree2){this.tree=tree2}}class PortugolWebWorkersRunner extends IPortugolRunner{constructor(tree2){super(tree2),this.stdIn=new Subject_Subject,this.stdOut$=new Subject_Subject,this.waitingForInput=!1,this.waitingForInput$=new Subject_Subject,this.running=!1,this.running$=new Subject_Subject,this._run=new Subject_Subject,this.byteCode=(new PortugolJs).visit(tree2),this.worker=new Worker(URL.createObjectURL(new Blob([runtime,`\n const exec = ${this.byteCode};\n\n self.addEventListener("message", async (message) => {\n try {\n if (message.data.type === "start") {\n self.postMessage({ type: "started" });\n\n await exec({\n functions: {\n __debug: async (...args) => {\n for (const arg of args) {\n console.debug("\u27a1\ufe0f DEBUG", arg);\n }\n },\n\n limpa: async () => {\n self.postMessage({ type: "clear" });\n },\n\n leia: async (...args) => {\n for (const arg of args) {\n const controller = new AbortController();\n const signal = controller.signal;\n\n self.postMessage({ type: "stdIn" });\n\n const result = await new Promise((resolve) => {\n self.addEventListener("message", (message) => {\n if (message.data.type === "stdIn") {\n controller.abort();\n resolve(message.data.content);\n }\n }, { signal });\n });\n\n if (arg.type === "inteiro") {\n if (!/^[-+]?[0-9]+$/.test(result)) {\n throw new Error("O valor digitado n\xe3o \xe9 inteiro!");\n }\n\n self.runtime.assign([arg, new PortugolVar("inteiro", parseInt(result, 10))]);\n } else if (arg.type === "real") {\n if (!/^[-+]?[0-9]+(\\.[0-9]+)?$/.test(result)) {\n throw new Error("O valor digitado n\xe3o \xe9 real!" + (result.includes(",") ? " (Dica: utilize '.' ao inv\xe9s de ',')" : ""));\n }\n\n self.runtime.assign([arg, new PortugolVar("real", parseFloat(result))]);\n } else if (arg.type === "logico") {\n if (!/^(sim|nao|n\xe3o|true|false|verdadeiro|falso|s|y|n|0|1)$/i.test(result)) {\n throw new Error("O valor digitado n\xe3o \xe9 l\xf3gico! (Dica: os valores poss\xedveis para o tipo l\xf3gico s\xe3o: 'verdadeiro', 'falso', 'sim', 'nao', 'n\xe3o', 'true', 'false', 's', 'y', 'n', '0', '1')");\n }\n\n self.runtime.assign([arg, new PortugolVar("logico", result.toLowerCase() === "sim" || result.toLowerCase() === "true" || result.toLowerCase() === "verdadeiro" || result.toLowerCase() === "y" || result.toLowerCase() === "1")]);\n } else {\n // Tipos: cadeia ou caracter\n self.runtime.assign([arg, new PortugolVar(arg.type, result)]);\n }\n }\n },\n\n escreva: (...args) => {\n let str = "";\n console.log("escreva", args);\n\n for (const arg of args) {\n if (typeof arg === "object") {\n if (typeof arg.value !== "undefined") {\n if (arg.type === "logico") {\n str += arg.value ? "verdadeiro" : "falso";\n } else {\n str += String(arg.value);\n }\n }\n } else {\n throw new Error("Argumento inv\xe1lido");\n }\n }\n\n self.postMessage({ type: "stdOut", content: str });\n },\n },\n });\n }\n } catch (error) {\n self.postMessage({ type: "error", error: {\n message: error.message,\n stack: error.stack,\n }});\n } finally {\n self.postMessage({ type: "finish" });\n }\n }, { once: true });\n `],{type:"text/javascript"}))),this.worker.addEventListener("message",message=>{switch(message.data.type){case"stdOut":this.stdOut$.next(message.data.content);break;case"stdIn":this.waitingForInput=!0,this.waitingForInput$.next(this.waitingForInput),this._run.next({type:"stdIn"});break;case"error":const error=new Error(message.data.error.message);error.stack=message.data.error.stack,this._run.next({type:"error",error}),this.destroy();break;case"clear":this._run.next({type:"clear"});break;case"finish":this.destroy()}}),this.worker.onerror=err=>{const error=err.error??new Error(err.message);this._run.next({type:"error",error}),this.destroy()},this._stdIn$=this.stdIn.subscribe(content=>{this.waitingForInput&&(this.waitingForInput=!1,this.waitingForInput$.next(this.waitingForInput),this.worker.postMessage({type:"stdIn",content}))})}run(){return this.startedAt=new Date,this.stdIn.subscribe(stdIn=>{this.worker.postMessage({type:"stdin",content:stdIn})}),this.worker.postMessage({type:"start"}),this.running=!0,this.running$.next(this.running),this._run}destroy(){this.worker.terminate(),this._run.next({type:"finish",time:(new Date).getTime()-(this.startedAt?.getTime()??0)}),this._run.complete(),this.running=!1,this.running$.next(!1),this.running$.complete(),this._stdIn$?.unsubscribe(),this.stdIn.complete()}}var FileSaver_min=__webpack_require__(217);function fromEventPattern(addHandler,removeHandler,resultSelector){return resultSelector?fromEventPattern(addHandler,removeHandler).pipe(mapOneOrManyArgs(resultSelector)):new Observable_Observable(subscriber=>{const handler=(...e2)=>subscriber.next(1===e2.length?e2[0]:e2),retValue=addHandler(handler);return isFunction(removeHandler)?()=>removeHandler(handler,retValue):void 0})}var text_encoding=__webpack_require__(6304);const tab_editor_component_c0=["fileInput"],tab_editor_component_c1=["shareSnackTemplate"];function TabEditorComponent_ng_template_28_Template(rf,ctx){if(1&rf){const _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"span",21)(1,"strong"),\u0275\u0275text(2,"Link gerado:"),\u0275\u0275elementEnd(),\u0275\u0275text(3,"\xa0\xa0"),\u0275\u0275elementStart(4,"code")(5,"a",22),\u0275\u0275text(6),\u0275\u0275pipe(7,"slice"),\u0275\u0275pipe(8,"slice"),\u0275\u0275elementEnd()(),\u0275\u0275text(9," \xa0\xa0\xa0 "),\u0275\u0275elementStart(10,"button",23),\u0275\u0275listener("click",function(){const data_r3=\u0275\u0275restoreView(_r5).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().copyStringAndCloseSnack(data_r3.url))}),\u0275\u0275text(11,"COPIAR"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(12,"small"),\u0275\u0275text(13,"\u2139\ufe0f Ir\xe1 expirar em 15 dias!"),\u0275\u0275elementEnd()()}if(2&rf){const data_r3=ctx.$implicit;\u0275\u0275advance(5),\u0275\u0275property("href",data_r3.url,\u0275\u0275sanitizeUrl),\u0275\u0275advance(1),\u0275\u0275textInterpolate2("",function \u0275\u0275pipeBind3(index,slotOffset,v1,v2,v3){const adjustedIndex=index+HEADER_OFFSET,lView=getLView(),pipeInstance=load(lView,adjustedIndex);return isPure(lView,adjustedIndex)?pureFunction3Internal(lView,getBindingRoot(),slotOffset,pipeInstance.transform,v1,v2,v3,pipeInstance):pipeInstance.transform(v1,v2,v3)}(7,3,data_r3.url,0,10),"\u2026",function \u0275\u0275pipeBind2(index,slotOffset,v1,v2){const adjustedIndex=index+HEADER_OFFSET,lView=getLView(),pipeInstance=load(lView,adjustedIndex);return isPure(lView,adjustedIndex)?pureFunction2Internal(lView,getBindingRoot(),slotOffset,pipeInstance.transform,v1,v2,pipeInstance):pipeInstance.transform(v1,v2)}(8,7,data_r3.url,data_r3.url.length-14),"")}}let TabEditorComponent=(()=>{var _class2;class TabEditorComponent2{constructor(gaService,storage,snack){this.gaService=gaService,this.storage=storage,this.snack=snack,this.titleChange=new core_EventEmitter,this.help=new core_EventEmitter,this.executor=new PortugolExecutor(PortugolWebWorkersRunner),this.codeEditorOptions={theme:"portugol",language:"portugol",tabSize:2},this.stdOutEditorOptions={theme:"portugol",lineNumbers:"off",readOnly:!0,minimap:{enabled:!1},wordWrap:"on",language:"plaintext",tabSize:2},this.generatedCodeEditorOptions={...this.stdOutEditorOptions,language:"javascript"},this.sharing=!1,this.shortcuts=[{key:"f1",preventDefault:!0,command:this.openHelp.bind(this)},{key:"ctrl + s",preventDefault:!0,command:this.saveFile.bind(this)},{key:"ctrl + o",preventDefault:!0,command:()=>this.fileInput.nativeElement.click()},{key:"ctrl + enter",preventDefault:!0,command:this.runCode.bind(this)}]}ngOnInit(){this.code||(this.code="programa {\n funcao inicio() {\n \n }\n}\n"),this._stdOut$=this.executor.stdOut$.subscribe(()=>{this.stdOutEditorCursorEnd()}),this._events$=this.executor.events.subscribe({next:event=>{switch(event.type){case"error":this.gaService.event("execution_error","Execu\xe7\xe3o","Erro em execu\xe7\xe3o de c\xf3digo");break;case"parseError":this.setEditorErrors(event.errors)}},error:error=>{this.gaService.event("execution_runner_error","Execu\xe7\xe3o","Erro ao carregar o runner para rodar o c\xf3digo"),captureException(error,{extra:{code:this.code}})}}),console.log(`Runtime has ${runtime.split("\n").length} lines`)}ngOnDestroy(){this._code$?.unsubscribe(),this._events$?.unsubscribe(),this._stdOut$?.unsubscribe(),this.executor.stop()}runCode(){this.gaService.event("editor_start_execution","Editor","Bot\xe3o de Iniciar Execu\xe7\xe3o"),function setExtra(key,extra){hub_getCurrentHub().setExtra(key,extra)}("code",this.code),this.setEditorErrors([]),this.executor.run(this.code??"")}stopCode(){this.gaService.event("editor_stop_execution","Editor","Bot\xe3o de Parar Execu\xe7\xe3o"),this.executor.stop(),this.stdOutEditorCursorEnd()}openFile(event){this.gaService.event("editor_open_file","Editor","Bot\xe3o de Abrir arquivo");const{files}=event.target;if(!files||0===files.length)return;const reader=new FileReader,file=files[0];reader.onload=e2=>{const contents=e2.target?.result;this.title=file.name,this.titleChange.emit(file.name),this.code=contents?.toString()},reader.readAsText(file,"ISO-8859-1")}saveFile(){this.gaService.event("editor_save_file","Editor","Bot\xe3o de Salvar arquivo");const contentEncoded=new text_encoding.TextEncoder("ISO-8859-1",{NONSTANDARD_allowLegacyEncoding:!0}).encode(this.code),blob=new Blob([contentEncoded],{type:"application/octet-stream; charset=ISO-8859-1"});let fileName=this.title||"Sem t\xedtulo";fileName.endsWith(".por")||(fileName+=".por"),(0,FileSaver_min.saveAs)(blob,fileName,{autoBom:!1})}onStdOutEditorInit(editor){this.initShortcuts(editor),this.stdOutEditor=editor,editor.onKeyDown(e2=>{this.executor.waitingForInput&&("Enter"===e2.code||13===e2.browserEvent.keyCode||"Enter"===e2.browserEvent.key?this.executor.stdIn.next("\r"):"Backspace"===e2.code?this.executor.stdIn.next("\b"):1===e2.browserEvent.key.length&&this.executor.stdIn.next(e2.browserEvent.key))})}stdOutEditorCursorEnd(){if(!this.stdOutEditor)return;const editor=this.stdOutEditor,model=editor.getModel();model&&(setTimeout(()=>{editor.setPosition({lineNumber:model.getLineCount(),column:model.getLineMaxColumn(model.getLineCount())}),editor.setScrollPosition({scrollLeft:0,scrollTop:editor.getScrollHeight()})},1),editor.focus())}initShortcuts(editor){editor.addAction({id:"runCode",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter],label:"Executar c\xf3digo",run:this.runCode.bind(this)}),editor.addAction({id:"saveFile",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyS],label:"Salvar arquivo",run:this.saveFile.bind(this)}),editor.addAction({id:"openFile",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyO],label:"Abrir arquivo",run:()=>this.fileInput.nativeElement.click()}),editor.addAction({id:"openHelp",keybindings:[monaco.KeyCode.F1],label:"Ajuda",run:this.openHelp.bind(this)})}onEditorInit(editor){this.codeEditor=editor,this.initShortcuts(editor),this._code$?.unsubscribe(),this._code$=fromEventPattern(editor.onDidChangeModelContent).pipe(debounceTime(500)).subscribe(()=>{this.setEditorErrors(PortugolErrorChecker.checkCode(this.code??""))})}openHelp(){this.gaService.event("editor_help_tab_open","Editor","Nova aba de ajuda atrav\xe9s do Editor"),this.help.emit()}shareFile(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){if(!_this.code)return;_this.sharing=!0;const shareCode=(Math.random()+1).toString(36).substring(2,9);(yield angular_fire_storage_uploadString(angular_fire_storage_ref(_this.storage,shareCode),_this.code,void 0,{contentType:"text/plain"}).catch(err=>(console.error(err),null)))?(_this.snack.openFromTemplate(_this.shareSnackTemplate,{data:{url:`https://dgadelha.github.io/Portugol-Webstudio/#share=${shareCode}`}}),_this.gaService.event("share_code_success","Editor","C\xf3digo compartilhado com sucesso")):(_this.snack.open("Ocorreu um erro ao compartilhar o arquivo. Tente novamente mais tarde.","OK",{duration:3e3}),_this.gaService.event("share_code_error","Editor","Erro ao compartilhar c\xf3digo")),setTimeout(()=>_this.sharing=!1,1e3)})()}copyStringAndCloseSnack(url){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){yield navigator.clipboard.writeText(url),_this2.snack.dismiss()})()}setEditorErrors(errors){const model=this.codeEditor?.getModel();model&&monaco.editor.setModelMarkers(model,"owner",errors.map(error=>({startLineNumber:error.startLine,startColumn:error.startCol,endLineNumber:error.endLine,endColumn:error.endCol,message:error.message,severity:monaco.MarkerSeverity.Error})))}}return(_class2=TabEditorComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(GoogleAnalyticsService),\u0275\u0275directiveInject(angular_fire_storage_Storage),\u0275\u0275directiveInject(MatSnackBar))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-tab-editor"]],viewQuery:function(rf,ctx){if(1&rf&&(\u0275\u0275viewQuery(tab_editor_component_c0,5),\u0275\u0275viewQuery(tab_editor_component_c1,5,core_TemplateRef)),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.fileInput=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.shareSnackTemplate=_t.first)}},inputs:{title:"title",code:"code"},outputs:{titleChange:"titleChange",help:"help"},decls:30,vars:14,consts:[[3,"shortcuts"],[1,"sidebar"],["mat-ripple","","type","button",1,"sidebar-button",3,"disabled","click"],["src","assets/icon-start.svg"],["src","assets/icon-stop.svg"],[1,"sidebar-divider"],["mat-ripple","","type","button",1,"sidebar-button",3,"click"],["src","assets/icon-file-save.svg"],["src","assets/icon-file-open.svg"],["type","file","hidden","","accept",".por,text/plain",3,"change"],["fileInput",""],["src","assets/icon-share.svg"],["src","assets/icon-help-circle-outline.svg"],[1,"editor-inner"],["direction","vertical"],[3,"size"],["direction","horizontal"],[3,"options","ngModel","ngModelChange","init"],[3,"options","ngModel","ngModelChange"],["id","output",3,"options","ngModel","ngModelChange","init"],["shareSnackTemplate",""],[1,"share-snack"],["target","_blank",3,"href"],["mat-raised-button","","color","primary",3,"click"]],template:function(rf,ctx){if(1&rf){const _r6=\u0275\u0275getCurrentView();\u0275\u0275element(0,"ng-keyboard-shortcuts",0),\u0275\u0275elementStart(1,"div",1)(2,"button",2),\u0275\u0275listener("click",function(){return ctx.runCode()}),\u0275\u0275element(3,"svg-icon",3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"button",2),\u0275\u0275listener("click",function(){return ctx.stopCode()}),\u0275\u0275element(5,"svg-icon",4),\u0275\u0275elementEnd(),\u0275\u0275element(6,"div",5),\u0275\u0275elementStart(7,"button",6),\u0275\u0275listener("click",function(){return ctx.saveFile()}),\u0275\u0275element(8,"svg-icon",7),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"button",6),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r6),\u0275\u0275resetView(\u0275\u0275reference(12).click())}),\u0275\u0275element(10,"svg-icon",8),\u0275\u0275elementStart(11,"input",9,10),\u0275\u0275listener("change",function($event){return ctx.openFile($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(13,"button",2),\u0275\u0275listener("click",function(){return ctx.shareFile()}),\u0275\u0275element(14,"svg-icon",11),\u0275\u0275elementEnd(),\u0275\u0275element(15,"div",5),\u0275\u0275elementStart(16,"button",6),\u0275\u0275listener("click",function(){return ctx.openHelp()}),\u0275\u0275element(17,"svg-icon",12),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(18,"div",13)(19,"as-split",14)(20,"as-split-area",15)(21,"as-split",16)(22,"as-split-area",15)(23,"ngx-monaco-editor",17),\u0275\u0275listener("ngModelChange",function($event){return ctx.code=$event})("init",function($event){return ctx.onEditorInit($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(24,"as-split-area",15)(25,"ngx-monaco-editor",18),\u0275\u0275listener("ngModelChange",function($event){return ctx.executor.byteCode=$event}),\u0275\u0275elementEnd()()()(),\u0275\u0275elementStart(26,"as-split-area",15)(27,"ngx-monaco-editor",19),\u0275\u0275listener("ngModelChange",function($event){return ctx.executor.stdOut=$event})("init",function($event){return ctx.onStdOutEditorInit($event)}),\u0275\u0275elementEnd()()()(),\u0275\u0275template(28,TabEditorComponent_ng_template_28_Template,14,10,"ng-template",null,20,\u0275\u0275templateRefExtractor)}2&rf&&(\u0275\u0275property("shortcuts",ctx.shortcuts),\u0275\u0275advance(2),\u0275\u0275property("disabled",ctx.executor.running),\u0275\u0275advance(2),\u0275\u0275property("disabled",!ctx.executor.running),\u0275\u0275advance(9),\u0275\u0275property("disabled",ctx.sharing),\u0275\u0275advance(7),\u0275\u0275property("size",80),\u0275\u0275advance(2),\u0275\u0275property("size",100),\u0275\u0275advance(1),\u0275\u0275property("options",ctx.codeEditorOptions)("ngModel",ctx.code),\u0275\u0275advance(1),\u0275\u0275property("size",0),\u0275\u0275advance(1),\u0275\u0275property("options",ctx.generatedCodeEditorOptions)("ngModel",ctx.executor.byteCode),\u0275\u0275advance(1),\u0275\u0275property("size",20),\u0275\u0275advance(1),\u0275\u0275property("options",ctx.stdOutEditorOptions)("ngModel",ctx.executor.stdOut))},dependencies:[NgControlStatus,NgModel,SplitComponent,SplitAreaDirective,MonacoEditorComponent,KeyboardShortcutsComponent,SvgIconComponent,MatRipple,MatButton,SlicePipe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;height:100%} .editor-inner .monaco-editor .monaco-hover{position:fixed;z-index:9999}.editor-inner[_ngcontent-%COMP%]{background-color:#202b30;flex-grow:1;display:flex}.editor-inner[_ngcontent-%COMP%] as-split-area[_ngcontent-%COMP%]{overflow:hidden}.editor-inner[_ngcontent-%COMP%] ngx-monaco-editor[_ngcontent-%COMP%]{flex-grow:1}.sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.sidebar-button[_ngcontent-%COMP%]{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#263238;color:#cdcdcd;border:none;transition:all .2s ease;cursor:pointer}.sidebar-button[_ngcontent-%COMP%]:hover:not(:disabled){background-color:#354046}.sidebar-button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;pointer-events:none}.sidebar-button[_ngcontent-%COMP%]:disabled svg[_ngcontent-%COMP%]{filter:grayscale(1);-webkit-transform:translateZ(0)}.sidebar-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;fill:currentColor}.sidebar-divider[_ngcontent-%COMP%]{margin-top:.5rem;margin-bottom:.5rem;width:100%;height:1px;background-color:#445056} #output .monaco-editor-overlaymessage{display:none!important}#bug[_ngcontent-%COMP%]{position:absolute;bottom:7.5px;right:7.5px}.share-snack[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{font-size:9pt;margin:0;display:block;text-align:center}"]}),TabEditorComponent2})(),ResponsiveService=(()=>{var _class2;class ResponsiveService2{constructor(observer){this.observer=observer}isBelowSm(){return this.observer.observe(["(max-width: 575px)"])}isBelowMd(){return this.observer.observe(["(max-width: 767px)"])}isBelowLg(){return this.observer.observe(["(max-width: 991px)"])}isBelowXl(){return this.observer.observe(["(max-width: 1199px)"])}}return(_class2=ResponsiveService2).\u0275fac=function(t){return new(t||_class2)(core_inject(BreakpointObserver))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),ResponsiveService2})();function DialogOpenExampleComponent_mat_spinner_8_Template(rf,ctx){1&rf&&\u0275\u0275element(0,"mat-spinner",5),2&rf&&\u0275\u0275property("diameter",50)}function DialogOpenExampleComponent_div_9_mat_tree_node_5_Template(rf,ctx){if(1&rf){const _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-tree-node")(1,"li",15),\u0275\u0275listener("click",function(){const node_r6=\u0275\u0275restoreView(_r8).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext(2).loadItem(node_r6))}),\u0275\u0275elementStart(2,"button",16),\u0275\u0275element(3,"mat-icon"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5),\u0275\u0275elementEnd()()()}if(2&rf){const node_r6=ctx.$implicit,ctx_r2=\u0275\u0275nextContext(2);\u0275\u0275advance(1),\u0275\u0275classProp("active",(null==ctx_r2.current?null:ctx_r2.current.id)===node_r6.id),\u0275\u0275advance(4),\u0275\u0275textInterpolate(node_r6.name)}}function DialogOpenExampleComponent_div_9_mat_nested_tree_node_6_Template(rf,ctx){if(1&rf&&(\u0275\u0275elementStart(0,"mat-nested-tree-node")(1,"li",17)(2,"button",18)(3,"mat-icon",19),\u0275\u0275text(4),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"span"),\u0275\u0275text(6),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(7,"ul"),\u0275\u0275elementContainer(8,20),\u0275\u0275elementEnd()()),2&rf){const node_r9=ctx.$implicit,ctx_r3=\u0275\u0275nextContext(2);\u0275\u0275advance(4),\u0275\u0275textInterpolate1(" ",ctx_r3.treeControl.isExpanded(node_r9)?"expand_more":"chevron_right"," "),\u0275\u0275advance(2),\u0275\u0275textInterpolate(node_r9.name),\u0275\u0275advance(1),\u0275\u0275classProp("hidden",!ctx_r3.treeControl.isExpanded(node_r9))}}function DialogOpenExampleComponent_div_9_div_8_Template(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",21)(1,"p"),\u0275\u0275text(2,"Selecione um exemplo ao lado."),\u0275\u0275elementEnd()())}function DialogOpenExampleComponent_div_9_div_9_Template(rf,ctx){if(1&rf){const _r11=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",22)(1,"h3"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"p"),\u0275\u0275text(4),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"ngx-monaco-editor",23),\u0275\u0275listener("ngModelChange",function($event){return \u0275\u0275restoreView(_r11),\u0275\u0275resetView(\u0275\u0275nextContext(2).exampleCode=$event)})("init",function($event){return \u0275\u0275restoreView(_r11),\u0275\u0275resetView(\u0275\u0275nextContext(2).editor=$event)}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(6,"button",24),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r11);const ctx_r13=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r13.openExample(ctx_r13.current))}),\u0275\u0275text(7,"Abrir"),\u0275\u0275elementEnd()()}if(2&rf){const ctx_r5=\u0275\u0275nextContext(2);\u0275\u0275advance(2),\u0275\u0275textInterpolate(null==ctx_r5.current?null:ctx_r5.current.name),\u0275\u0275advance(2),\u0275\u0275textInterpolate(null==ctx_r5.current?null:ctx_r5.current.description),\u0275\u0275advance(1),\u0275\u0275property("options",ctx_r5.editorOptions)("ngModel",ctx_r5.exampleCode)}}function DialogOpenExampleComponent_div_9_Template(rf,ctx){if(1&rf&&(\u0275\u0275elementStart(0,"div")(1,"as-split",6)(2,"as-split-area",7)(3,"ul",8)(4,"mat-tree",9),\u0275\u0275template(5,DialogOpenExampleComponent_div_9_mat_tree_node_5_Template,6,3,"mat-tree-node",10),\u0275\u0275template(6,DialogOpenExampleComponent_div_9_mat_nested_tree_node_6_Template,9,4,"mat-nested-tree-node",11),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(7,"as-split-area",12),\u0275\u0275template(8,DialogOpenExampleComponent_div_9_div_8_Template,3,0,"div",13),\u0275\u0275template(9,DialogOpenExampleComponent_div_9_div_9_Template,8,4,"div",14),\u0275\u0275elementEnd()()()),2&rf){const ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(1),\u0275\u0275property("direction",ctx_r1.isBelowMd?"vertical":"horizontal"),\u0275\u0275advance(1),\u0275\u0275property("size",40),\u0275\u0275advance(2),\u0275\u0275property("dataSource",ctx_r1.dataSource)("treeControl",ctx_r1.treeControl),\u0275\u0275advance(2),\u0275\u0275property("matTreeNodeDefWhen",ctx_r1.hasChildren),\u0275\u0275advance(1),\u0275\u0275property("size",60)("ngSwitch",ctx_r1.current),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase",null)}}let DialogOpenExampleComponent=(()=>{var _class2;class DialogOpenExampleComponent2{constructor(http,responsive){this.http=http,this.responsive=responsive,this.exampleOpened=new core_EventEmitter,this.loading=!0,this.isBelowMd=!1,this.rawExampleCode="",this.rawExampleCodeId="",this.exampleCode="",this.editorOptions={theme:"portugol",lineNumbers:"off",readOnly:!0,minimap:{enabled:!1},language:"portugol"},this.treeControl=new NestedTreeControl(node2=>node2.children),this.dataSource=new MatTreeNestedDataSource}ngOnInit(){this._data$=this.http.get("assets/recursos/exemplos/index.json").pipe(function retry(configOrCount=1/0){let config2;config2=configOrCount&&"object"==typeof configOrCount?configOrCount:{count:configOrCount};const{count=1/0,delay,resetOnSuccess=!1}=config2;return count<=0?identity:operate((source,subscriber)=>{let innerSub,soFar=0;const subscribeForRetry=()=>{let syncUnsub=!1;innerSub=source.subscribe(createOperatorSubscriber(subscriber,value=>{resetOnSuccess&&(soFar=0),subscriber.next(value)},void 0,err=>{if(soFar++{innerSub?(innerSub.unsubscribe(),innerSub=null,subscribeForRetry()):syncUnsub=!0};if(null!=delay){const notifier="number"==typeof delay?timer_timer(delay):innerFrom(delay(err,soFar)),notifierSubscriber=createOperatorSubscriber(subscriber,()=>{notifierSubscriber.unsubscribe(),resub()},()=>{subscriber.complete()});notifier.subscribe(notifierSubscriber)}else resub()}else subscriber.error(err)})),syncUnsub&&(innerSub.unsubscribe(),innerSub=null,subscribeForRetry())};subscribeForRetry()})}()).subscribe(data=>{this.loading=!1,this.dataSource.data=data})}ngOnDestroy(){this._responsive$?.unsubscribe(),this._data$?.unsubscribe()}ngAfterViewInit(){this._responsive$=this.responsive.isBelowMd().subscribe(isBelowMd=>{this.isBelowMd=isBelowMd.matches})}hasChildren(_,item){return item.children?.length??0}loadItem(item){this._loadSubscription$?.unsubscribe(),this.current=item,this.exampleCode="// Carregando\u2026",this.rawExampleCode="",this.rawExampleCodeId="",this._loadSubscription$=this.http.get(`assets/recursos/exemplos/${item.file}`,{responseType:"text"}).subscribe(code=>{if(this.current?.id===item.id){this.rawExampleCode=code,this.rawExampleCodeId=item.id;const commentEndPos=code.indexOf("*/");this.exampleCode=code.substr(-1===commentEndPos?0:code.indexOf("*/")+2).trim()}})}openExample(item){this.rawExampleCode&&this.rawExampleCodeId===item.id?this.exampleOpened.emit({title:item.name,code:this.rawExampleCode}):(this.loading=!0,this._loadSubscription$?.unsubscribe(),this._loadSubscription$=this.http.get(`assets/recursos/exemplos/${item.file}`,{responseType:"text"}).subscribe(code=>{this.current?.id===item.id&&this.exampleOpened.emit({title:item.name,code})}))}}return(_class2=DialogOpenExampleComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(HttpClient),\u0275\u0275directiveInject(ResponsiveService))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-dialog-open-example"]],outputs:{exampleOpened:"exampleOpened"},decls:10,vars:3,consts:[["mat-dialog-title",""],["tabindex","-1","mat-dialog-close","","mat-icon-button",""],["mat-dialog-content","",3,"ngSwitch"],[3,"diameter",4,"ngSwitchCase"],[4,"ngSwitchCase"],[3,"diameter"],[3,"direction"],[3,"size"],["id","root"],[3,"dataSource","treeControl"],[4,"matTreeNodeDef"],[4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"d-flex",3,"size","ngSwitch"],["id","empty",4,"ngSwitchCase"],["id","content",4,"ngSwitchDefault"],["mat-ripple","",3,"click"],["mat-icon-button","","disabled",""],["matTreeNodeToggle",""],["tabindex","-1","mat-icon-button","","matTreeNodeToggle",""],[1,"mat-icon-rtl-mirror"],["matTreeNodeOutlet",""],["id","empty"],["id","content"],[3,"options","ngModel","ngModelChange","init"],["mat-raised-button","","color","primary",3,"click"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"header",0)(1,"span"),\u0275\u0275text(2,"Abrir Exemplo\u2026"),\u0275\u0275elementEnd(),\u0275\u0275element(3,"s"),\u0275\u0275elementStart(4,"button",1)(5,"mat-icon"),\u0275\u0275text(6,"close"),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(7,"main",2),\u0275\u0275template(8,DialogOpenExampleComponent_mat_spinner_8_Template,1,1,"mat-spinner",3),\u0275\u0275template(9,DialogOpenExampleComponent_div_9_Template,10,8,"div",4),\u0275\u0275elementEnd()),2&rf&&(\u0275\u0275advance(7),\u0275\u0275property("ngSwitch",ctx.loading),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase",!0),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase",!1))},dependencies:[NgSwitch,NgSwitchCase,NgSwitchDefault,NgControlStatus,NgModel,SplitComponent,SplitAreaDirective,MonacoEditorComponent,MatRipple,MatProgressSpinner,MatDialogClose,MatDialogTitle,MatDialogContent,MatButton,MatIconButton,MatIcon,MatNestedTreeNode,MatTreeNodeDef,MatTreeNodeToggle,MatTree,MatTreeNode,MatTreeNodeOutlet],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;--mdc-dialog-supporting-text-size: 14px;--mdc-dialog-supporting-text-line-height: 21px;--mdc-dialog-supporting-text-color: #fff;height:100%}header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(229,229,229,.4)}mat-spinner[_ngcontent-%COMP%]{margin:0 auto}.hidden[_ngcontent-%COMP%]{display:none!important}as-split-area[_ngcontent-%COMP%]{scrollbar-width:thin}.mat-mdc-tree-node[_ngcontent-%COMP%]{min-height:0!important}ul[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;overflow:hidden;width:100%;cursor:pointer;display:flex}ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%]{background-color:#0003}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:center}.mat-mdc-dialog-content[_ngcontent-%COMP%], main[_ngcontent-%COMP%]{display:flex;max-height:100%}main[_ngcontent-%COMP%], main[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex-grow:1} .as-split-gutter{background-color:#0003!important}#empty[_ngcontent-%COMP%]{flex-grow:1;display:flex;align-items:center}#empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 auto}#content[_ngcontent-%COMP%]{width:100%;padding:1rem 1.5rem 1.5rem;position:relative;display:flex;flex-direction:column}#content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0}#content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:justify}#content[_ngcontent-%COMP%] ngx-monaco-editor[_ngcontent-%COMP%]{flex-grow:1;margin-bottom:3.75rem}#content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:calc(100% - 22.5px);text-transform:uppercase;position:absolute;bottom:20px;left:15px;right:7.5px;font-size:1.15rem;line-height:3rem}"]}),DialogOpenExampleComponent2})(),TabStartComponent=(()=>{var _class2;class TabStartComponent2{constructor(gaService,sanitizer,dialog){this.gaService=gaService,this.sanitizer=sanitizer,this.dialog=dialog,this.newTab=new core_EventEmitter,this.help=new core_EventEmitter;const currentMonth=(new Date).getMonth()+1,currentDay=(new Date).getDate();this.logo=this.sanitizer.bypassSecurityTrustResourceUrl(2===currentMonth&¤tDay>=10||3===currentMonth&¤tDay<=5?"assets/logo/carnaval.svg":3===currentMonth&¤tDay>=20||4===currentMonth&¤tDay<=25?"assets/logo/pascoa.svg":10===currentMonth&¤tDay>=20||11===currentMonth&¤tDay<=5?"assets/logo/halloween.svg":12===currentMonth&¤tDay>=15&¤tDay<=29?"assets/logo/natal.svg":12===currentMonth&¤tDay>=30||1===currentMonth&¤tDay<=5?"assets/logo/ano-novo.svg":"assets/logo/default.svg")}openFile(event){this.gaService.event("home_open_file","Aba Inicial","Abrir arquivo atrav\xe9s da aba Inicial");const{files}=event.target;if(files&&0!==files.length)for(let i6=0;i6{const contents=e2.target?.result;this.newTab.emit({name:file.name,contents})},reader.readAsText(file,"ISO-8859-1")}}openExamplesDialog(){this.gaService.event("open_examples_dialog","Aba Inicial","Abrir di\xe1logo de exemplos");const ref2=this.dialog.open(DialogOpenExampleComponent,{width:"min(85vw, 780px)",height:"min(85vh, 600px)"});this._dialogExample$=ref2.componentInstance.exampleOpened.subscribe(example=>{this.gaService.event("open_example","Di\xe1logo de Exemplos",`Abrir exemplo: ${example.title}`),ref2.close(),this.newTab.emit({name:example.title,contents:example.code})}),this._dialogRef$=ref2.beforeClosed().subscribe(()=>{this._dialogRef$?.unsubscribe(),this._dialogExample$?.unsubscribe()})}}return(_class2=TabStartComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(GoogleAnalyticsService),\u0275\u0275directiveInject(DomSanitizer),\u0275\u0275directiveInject(MatDialog))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-tab-start"]],outputs:{newTab:"newTab",help:"help"},decls:58,vars:1,consts:[["width","100%",1,"logo",3,"src"],["mat-ripple","",3,"click"],["src","https://raw.githubusercontent.com/UNIVALI-LITE/Portugol-Studio/master/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/newfile.png"],["src","https://raw.githubusercontent.com/UNIVALI-LITE/Portugol-Studio/master/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/openfile.png"],["type","file","hidden","","multiple","","accept",".por,text/plain",3,"change"],["fileInput",""],["src","assets/icon-book-open-page-variant-outline.svg"],["src","https://raw.githubusercontent.com/UNIVALI-LITE/Portugol-Studio/master/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/help.png"],["href","https://feedback.userreport.com/95eb7601-de5d-4774-9b22-38a6c60e83bc/","target","_blank","rel","external nofollow","mat-ripple","",3,"click"],["src","assets/icon-lightbulb-on-outline.svg"],["href","https://github.com/dgadelha/Portugol-Webstudio","target","_blank","rel","external nofollow","mat-ripple","",3,"click"],["src","assets/icon-github.svg"],[1,"info"],["href","https://feedback.userreport.com/95eb7601-de5d-4774-9b22-38a6c60e83bc/","target","_blank","rel","external"],["matTooltip","23/10/2023 08:14:32 PM UTC"]],template:function(rf,ctx){if(1&rf){const _r1=\u0275\u0275getCurrentView();\u0275\u0275element(0,"img",0),\u0275\u0275elementStart(1,"nav")(2,"button",1),\u0275\u0275listener("click",function(){return ctx.newTab.emit()}),\u0275\u0275element(3,"img",2),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5,"Novo Arquivo"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(6,"button",1),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r1),\u0275\u0275resetView(\u0275\u0275reference(11).click())}),\u0275\u0275element(7,"img",3),\u0275\u0275elementStart(8,"span"),\u0275\u0275text(9,"Abrir Arquivo"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(10,"input",4,5),\u0275\u0275listener("change",function($event){return ctx.openFile($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(12,"button",1),\u0275\u0275listener("click",function(){return ctx.openExamplesDialog()}),\u0275\u0275element(13,"img",6),\u0275\u0275elementStart(14,"span"),\u0275\u0275text(15,"Abrir Exemplo"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(16,"button",1),\u0275\u0275listener("click",function(){return ctx.help.emit()}),\u0275\u0275element(17,"img",7),\u0275\u0275elementStart(18,"span"),\u0275\u0275text(19,"Ajuda"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(20,"a",8),\u0275\u0275listener("click",function(){return ctx.gaService.event("suggest_features","Aba Inicial","Enviar sugest\xf5es")}),\u0275\u0275element(21,"img",9),\u0275\u0275elementStart(22,"span"),\u0275\u0275text(23,"Sugest\xf5es"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(24,"a",10),\u0275\u0275listener("click",function(){return ctx.gaService.event("view_source_code","Aba Inicial","Ver c\xf3digo-fonte")}),\u0275\u0275element(25,"img",11),\u0275\u0275elementStart(26,"span"),\u0275\u0275text(27,"C\xf3digo-fonte"),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(28,"section",12)(29,"p")(30,"strong"),\u0275\u0275text(31,"Nova vers\xe3o:"),\u0275\u0275elementEnd(),\u0275\u0275text(32," Podem existir problemas, caso encontre algum ou tenha sugest\xf5es/coment\xe1rios, "),\u0275\u0275elementStart(33,"a",13),\u0275\u0275text(34," nos envie por aqui, estamos sempre acompanhando"),\u0275\u0275elementEnd(),\u0275\u0275text(35,". "),\u0275\u0275elementEnd(),\u0275\u0275element(36,"hr"),\u0275\u0275elementStart(37,"h4"),\u0275\u0275text(38,"\u{1f4f0}\xa0\xa0Novidades"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(39,"p")(40,"strong"),\u0275\u0275text(41,"15/10/2023:"),\u0275\u0275elementEnd(),\u0275\u0275text(42," Corre\xe7\xe3o de verifica\xe7\xe3o simples de retorno de fun\xe7\xe3o"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(43,"p")(44,"strong"),\u0275\u0275text(45,"11/10/2023:"),\u0275\u0275elementEnd(),\u0275\u0275text(46," Corre\xe7\xe3o de quebra de linha ap\xf3s execu\xe7\xe3o da fun\xe7\xe3o "),\u0275\u0275elementStart(47,"code"),\u0275\u0275text(48,"leia()"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(49,"p")(50,"strong"),\u0275\u0275text(51,"28/09/2023:"),\u0275\u0275elementEnd(),\u0275\u0275text(52," Corre\xe7\xe3o de uso excessivo de recursos ao usar atribui\xe7\xf5es."),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(53,"footer")(54,"summary"),\u0275\u0275text(55,"Vers\xe3o: "),\u0275\u0275elementStart(56,"span",14),\u0275\u0275text(57,"e6f615a"),\u0275\u0275elementEnd()()()}2&rf&&\u0275\u0275property("src",ctx.logo,\u0275\u0275sanitizeUrl)},dependencies:[MatRipple,MatTooltip],styles:["[_nghost-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100%;min-height:100%;padding:2rem}.logo[_ngcontent-%COMP%]{max-width:20rem;margin-bottom:2rem}nav[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width: 768px){nav[_ngcontent-%COMP%]{max-width:50vw}}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;margin:.25rem;background-color:#121e24;-webkit-appearance:none;appearance:none;border:none;border-radius:.25rem;color:#fff;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:.85rem;-webkit-user-select:none;user-select:none}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover, nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background-color:tint(#121e24,15);color:tint(#fff,15)}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{margin-bottom:1rem;max-width:2rem}section[_ngcontent-%COMP%]{max-width:600px;margin:20px;letter-spacing:.25px;padding:0 15px;font-family:Lato,sans-serif;color:#fff;border:1px solid rgba(30,30,30,.1);border-radius:15px;box-shadow:.3px .5px .7px #0206085c,.8px 1.6px 2px -.8px #0206085c,2.1px 4.1px 5.2px -1.7px #0206085c,5px 10px 12.6px -2.5px #0206085c}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.5rem 0;line-height:1.5;list-style-type:square}section[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:1.25rem}section[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{vertical-align:-5px;margin-right:7.5px}section[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:underline;color:#fafafa}section.alert[_ngcontent-%COMP%]{background:#8c2626}section.info[_ngcontent-%COMP%]{background-color:#2559b3}hr[_ngcontent-%COMP%]{margin:1rem 0;border:none;border-top:1px solid rgba(255,255,255,.25)}footer[_ngcontent-%COMP%]{position:absolute;bottom:10px;left:10px;-webkit-user-select:none;user-select:none}footer[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{font-size:.75rem;color:#fff}footer[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-family:monospace;color:#c2c2c3;text-transform:uppercase}"]}),TabStartComponent2})();function TabHelpComponent_mat_tree_node_8_Template(rf,ctx){if(1&rf){const _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-tree-node")(1,"li",8),\u0275\u0275listener("click",function(){const node_r3=\u0275\u0275restoreView(_r5).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().loadItem(node_r3))}),\u0275\u0275elementStart(2,"button",9),\u0275\u0275element(3,"mat-icon"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5),\u0275\u0275elementEnd()()()}if(2&rf){const node_r3=ctx.$implicit,ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(1),\u0275\u0275classProp("active",(null==ctx_r0.current?null:ctx_r0.current.id)===node_r3.id),\u0275\u0275advance(4),\u0275\u0275textInterpolate(node_r3.text)}}function TabHelpComponent_mat_nested_tree_node_9_Template(rf,ctx){if(1&rf){const _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-nested-tree-node")(1,"li",10),\u0275\u0275listener("click",function(){const node_r6=\u0275\u0275restoreView(_r8).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().loadItem(node_r6))}),\u0275\u0275elementStart(2,"button",11)(3,"mat-icon",12),\u0275\u0275text(4),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"span"),\u0275\u0275text(6),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(7,"ul"),\u0275\u0275elementContainer(8,13),\u0275\u0275elementEnd()()}if(2&rf){const node_r6=ctx.$implicit,ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(1),\u0275\u0275classProp("active",(null==ctx_r1.current?null:ctx_r1.current.id)===node_r6.id),\u0275\u0275advance(3),\u0275\u0275textInterpolate1(" ",ctx_r1.treeControl.isExpanded(node_r6)?"expand_more":"chevron_right"," "),\u0275\u0275advance(2),\u0275\u0275textInterpolate(node_r6.text),\u0275\u0275advance(1),\u0275\u0275classProp("hidden",!ctx_r1.treeControl.isExpanded(node_r6))}}function TabHelpComponent_iframe_11_Template(rf,ctx){1&rf&&\u0275\u0275element(0,"iframe",14),2&rf&&\u0275\u0275property("src",\u0275\u0275nextContext().currentUrl,\u0275\u0275sanitizeResourceUrl)}let TabHelpComponent=(()=>{var _class2;class TabHelpComponent2{constructor(http,sanitizer,ngZone,gaService,responsive){this.http=http,this.sanitizer=sanitizer,this.ngZone=ngZone,this.gaService=gaService,this.responsive=responsive,this.isBelowMd=!1,this.newTab=new core_EventEmitter,this.treeControl=new NestedTreeControl(node2=>node2.children),this.dataSource=new MatTreeNestedDataSource}ngOnInit(){window.portugol={abrirExemplo:(contents,name)=>{this.ngZone.run(()=>{this.newTab.emit({name,contents})})}},this.http.get("assets/recursos/ajuda/scripts/topicos.json").subscribe(ajuda=>{this.dataSource.data=ajuda,this.treeControl.expand(ajuda[0]),this.loadItem(ajuda[0])},()=>{})}ngOnDestroy(){this.responsive$?.unsubscribe()}ngAfterViewInit(){this.responsive$=this.responsive.isBelowMd().subscribe(isBelowMd=>{this.isBelowMd=isBelowMd.matches})}hasChildren(_,item){return item.children?.length??0}loadItem(item){this.gaService.event("help_navigation","Ajuda",item.href),this.current=item,this.currentUrl=this.sanitizer.bypassSecurityTrustResourceUrl(`assets/recursos/ajuda/${item.href}`)}}return(_class2=TabHelpComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(HttpClient),\u0275\u0275directiveInject(DomSanitizer),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(GoogleAnalyticsService),\u0275\u0275directiveInject(ResponsiveService))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-tab-help"]],outputs:{newTab:"newTab"},decls:12,vars:6,consts:[["unit","pixel",3,"direction"],[3,"size"],["src","assets/icon-help-circle-outline.svg"],["id","root"],[3,"dataSource","treeControl"],[4,"matTreeNodeDef"],[4,"matTreeNodeDef","matTreeNodeDefWhen"],[3,"src",4,"ngIf"],["mat-ripple","",3,"click"],["mat-icon-button","","disabled",""],[3,"click"],["mat-icon-button","","matTreeNodeToggle",""],[1,"mat-icon-rtl-mirror"],["matTreeNodeOutlet",""],[3,"src"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"as-split",0)(1,"as-split-area",1)(2,"header"),\u0275\u0275element(3,"svg-icon",2),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5,"Ajuda"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(6,"ul",3)(7,"mat-tree",4),\u0275\u0275template(8,TabHelpComponent_mat_tree_node_8_Template,6,3,"mat-tree-node",5),\u0275\u0275template(9,TabHelpComponent_mat_nested_tree_node_9_Template,9,6,"mat-nested-tree-node",6),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(10,"as-split-area"),\u0275\u0275template(11,TabHelpComponent_iframe_11_Template,1,1,"iframe",7),\u0275\u0275elementEnd()()),2&rf&&(\u0275\u0275property("direction",ctx.isBelowMd?"vertical":"horizontal"),\u0275\u0275advance(1),\u0275\u0275property("size",350),\u0275\u0275advance(6),\u0275\u0275property("dataSource",ctx.dataSource)("treeControl",ctx.treeControl),\u0275\u0275advance(2),\u0275\u0275property("matTreeNodeDefWhen",ctx.hasChildren),\u0275\u0275advance(2),\u0275\u0275property("ngIf",ctx.current))},dependencies:[NgIf,SplitComponent,SplitAreaDirective,SvgIconComponent,MatRipple,MatIconButton,MatIcon,MatNestedTreeNode,MatTreeNodeDef,MatTreeNodeToggle,MatTree,MatTreeNode,MatTreeNodeOutlet],styles:["header[_ngcontent-%COMP%]{display:block;background-color:#121e24;margin:7.5px;padding:12.5px 15px;font-size:14px}header[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1.3rem;height:1.3rem;vertical-align:-.3125em;margin-right:.4rem}.hidden[_ngcontent-%COMP%]{display:none!important}as-split-area[_ngcontent-%COMP%]{scrollbar-width:thin}.mat-mdc-tree-node[_ngcontent-%COMP%]{min-height:0!important}ul[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;background-color:#263238}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;overflow:hidden;width:100%;background-color:#263238;cursor:pointer;display:flex}ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%]{background-color:#121e24}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:center}iframe[_ngcontent-%COMP%]{width:100%;height:100%;display:block;border:0 none}"]}),TabHelpComponent2})();function AppComponent_ng_template_5_Template(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"span",8),\u0275\u0275element(1,"img",9),\u0275\u0275elementEnd(),\u0275\u0275elementStart(2,"span",10),\u0275\u0275text(3,"Portugol Webstudio"),\u0275\u0275elementEnd())}function AppComponent_mat_tab_7_ng_template_1_svg_icon_2_Template(rf,ctx){1&rf&&\u0275\u0275element(0,"svg-icon",20)}function AppComponent_mat_tab_7_ng_template_1_svg_icon_3_Template(rf,ctx){1&rf&&\u0275\u0275element(0,"svg-icon",21)}function AppComponent_mat_tab_7_ng_template_1_button_7_Template(rf,ctx){if(1&rf){const _r12=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",22),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r12);const tab_r3=\u0275\u0275nextContext(2).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().changeTabTitle(tab_r3))}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2,"drive_file_rename_outline"),\u0275\u0275elementEnd()()}}const app_component_c0=function(){return{marginLeft:0}},app_component_c1=function(){return{}};function AppComponent_mat_tab_7_ng_template_1_Template(rf,ctx){if(1&rf){const _r15=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"span")(1,"span",14),\u0275\u0275template(2,AppComponent_mat_tab_7_ng_template_1_svg_icon_2_Template,1,0,"svg-icon",15),\u0275\u0275template(3,AppComponent_mat_tab_7_ng_template_1_svg_icon_3_Template,1,0,"svg-icon",16),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"span",10),\u0275\u0275text(5),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(6,"span",17),\u0275\u0275template(7,AppComponent_mat_tab_7_ng_template_1_button_7_Template,3,0,"button",18),\u0275\u0275elementStart(8,"button",19),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r15);const tab_r3=\u0275\u0275nextContext().$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().closeTab(tab_r3))}),\u0275\u0275elementStart(9,"mat-icon"),\u0275\u0275text(10,"close"),\u0275\u0275elementEnd()()()}if(2&rf){const tab_r3=\u0275\u0275nextContext().$implicit;\u0275\u0275advance(1),\u0275\u0275property("ngSwitch",tab_r3.type),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase","editor"),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase","help"),\u0275\u0275advance(2),\u0275\u0275textInterpolate(tab_r3.title),\u0275\u0275advance(2),\u0275\u0275property("ngIf","editor"===tab_r3.type),\u0275\u0275advance(1),\u0275\u0275styleMap("editor"===tab_r3.type?\u0275\u0275pureFunction0(7,app_component_c0):\u0275\u0275pureFunction0(8,app_component_c1))}}function AppComponent_mat_tab_7_app_tab_editor_3_Template(rf,ctx){if(1&rf){const _r19=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"app-tab-editor",23),\u0275\u0275listener("titleChange",function($event){return \u0275\u0275restoreView(_r19),\u0275\u0275resetView(\u0275\u0275nextContext().$implicit.title=$event)})("help",function(){return \u0275\u0275restoreView(_r19),\u0275\u0275resetView(\u0275\u0275nextContext(2).upsertHelpTab())}),\u0275\u0275elementEnd()}if(2&rf){const tab_r3=\u0275\u0275nextContext().$implicit;\u0275\u0275property("title",tab_r3.title)("code",tab_r3.contents)}}function AppComponent_mat_tab_7_app_tab_help_4_Template(rf,ctx){if(1&rf){const _r23=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"app-tab-help",24),\u0275\u0275listener("newTab",function($event){return \u0275\u0275restoreView(_r23),\u0275\u0275resetView(\u0275\u0275nextContext(2).addTab(null==$event?null:$event.name,null==$event?null:$event.contents))}),\u0275\u0275elementEnd()}}function AppComponent_mat_tab_7_Template(rf,ctx){if(1&rf&&(\u0275\u0275elementStart(0,"mat-tab"),\u0275\u0275template(1,AppComponent_mat_tab_7_ng_template_1_Template,11,9,"ng-template",3),\u0275\u0275elementContainerStart(2,11),\u0275\u0275template(3,AppComponent_mat_tab_7_app_tab_editor_3_Template,1,2,"app-tab-editor",12),\u0275\u0275template(4,AppComponent_mat_tab_7_app_tab_help_4_Template,1,0,"app-tab-help",13),\u0275\u0275elementContainerEnd(),\u0275\u0275elementEnd()),2&rf){const tab_r3=ctx.$implicit;\u0275\u0275advance(2),\u0275\u0275property("ngSwitch",tab_r3.type),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase","editor"),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase","help")}}function AppComponent_ng_template_9_Template(rf,ctx){if(1&rf){const _r25=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",25),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r25),\u0275\u0275resetView(\u0275\u0275nextContext().addTab())}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2,"add"),\u0275\u0275elementEnd()()}}let AppComponent=(()=>{var _class2;class AppComponent2{constructor(gaService,storage,snack){this.gaService=gaService,this.storage=storage,this.snack=snack,this.selected=new FormControl(0),this.tabs=[],this.tabIndex=1,this.shortcuts=[{key:"ctrl + q",preventDefault:!0,command:()=>this.closeTab(this.tabs[this.selected.value??0])},{key:"ctrl + n",preventDefault:!0,command:()=>this.addTab()}]}ngOnInit(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){try{if(window.location.hash.startsWith("#share=")){_this.snack.open("Carregando c\xf3digo compartilhado\u2026",void 0,{duration:-1});const hash=window.location.hash.substring(7),contents=yield(yield angular_fire_storage_getBlob(angular_fire_storage_ref(_this.storage,hash))).text();_this.addTab(`C\xf3digo compartilhado (#${hash})`,contents),_this.snack.dismiss(),_this.gaService.event("load_shared_code_success","Interface","C\xf3digo compartilhado carregado")}}catch(e2){console.error(e2),_this.snack.dismiss(),_this.snack.open("Erro ao carregar c\xf3digo compartilhado","FECHAR",{duration:1e4}),_this.gaService.event("load_shared_code_error","Interface","Erro ao carregar c\xf3digo compartilhado")}})()}addTab(title,contents){this.tabs.push({id:this.tabIndex++,title:title||"Sem t\xedtulo",contents,type:"editor"}),this.selected.setValue(this.tabs.length),this.gaService.event("new_tab_top","Editor","Nova aba",this.tabs.length)}closeTab(tab){"editor"===tab.type&&!window.confirm("Tem certeza que deseja fechar a aba? O c\xf3digo n\xe3o salvo ser\xe1 perdido.")||(this.tabs.splice(this.tabs.indexOf(tab),1),this.selected.setValue(0),this.gaService.event("close_tab","Interface","Fechar aba",this.tabs.length))}changeTabTitle(tab){if(this.selected.value!==tab.id||"editor"!==tab.type)return;this.gaService.event("edit_tab_title","Interface","Editar t\xedtulo de aba");const title=prompt("Digite o novo t\xedtulo",tab.title);title&&(tab.title=title)}upsertHelpTab(){const tabPos=this.tabs.findIndex(t=>"help"===t.type);-1===tabPos?(this.tabs.push({id:this.tabIndex++,title:"Ajuda",type:"help"}),this.gaService.event("help_tab_open","Interface","Nova aba de ajuda"),this.selected.setValue(this.tabs.length)):(this.gaService.event("help_tab_select","Interface","Selecionar aba de ajuda j\xe1 aberta"),this.selected.setValue(tabPos+1))}}return(_class2=AppComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(GoogleAnalyticsService),\u0275\u0275directiveInject(angular_fire_storage_Storage),\u0275\u0275directiveInject(MatSnackBar))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-root"]],decls:10,vars:3,consts:[[3,"shortcuts"],["id","preload"],["animationDuration","0","mat-stretch-tabs","false","mat-align-tabs","start",3,"selectedIndex","selectedIndexChange"],["mat-tab-label",""],[3,"newTab","help"],[4,"ngFor","ngForOf"],["disabled",""],["mat-tab-label","","class","tab-add"],[1,"tab-icon"],["src","https://raw.githubusercontent.com/UNIVALI-LITE/Portugol-Studio/master/ide/src/main/resources/br/univali/ps/ui/icones/Dark/pequeno/light_pix.png"],[1,"tab-text"],[3,"ngSwitch"],[3,"title","code","titleChange","help",4,"ngSwitchCase"],[3,"newTab",4,"ngSwitchCase"],[1,"tab-icon",3,"ngSwitch"],["src","assets/icon-file.svg",4,"ngSwitchCase"],["src","assets/icon-help-circle-outline.svg",4,"ngSwitchCase"],[1,"tab-actions"],["mat-icon-button","","matTooltip","Renomear aba",3,"click",4,"ngIf"],["mat-icon-button","","matTooltip","Fechar aba",3,"click"],["src","assets/icon-file.svg"],["src","assets/icon-help-circle-outline.svg"],["mat-icon-button","","matTooltip","Renomear aba",3,"click"],[3,"title","code","titleChange","help"],[3,"newTab"],["mat-icon-button","","matTooltip","Nova aba de editor de c\xf3digo",1,"add-button",3,"click"]],template:function(rf,ctx){1&rf&&(\u0275\u0275element(0,"ng-keyboard-shortcuts",0),\u0275\u0275elementStart(1,"div",1),\u0275\u0275element(2,"ngx-monaco-editor"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-tab-group",2),\u0275\u0275listener("selectedIndexChange",function($event){return ctx.selected.setValue($event)}),\u0275\u0275elementStart(4,"mat-tab"),\u0275\u0275template(5,AppComponent_ng_template_5_Template,4,0,"ng-template",3),\u0275\u0275elementStart(6,"app-tab-start",4),\u0275\u0275listener("newTab",function($event){return ctx.addTab(null==$event?null:$event.name,null==$event?null:$event.contents)})("help",function(){return ctx.upsertHelpTab()}),\u0275\u0275elementEnd()(),\u0275\u0275template(7,AppComponent_mat_tab_7_Template,5,3,"mat-tab",5),\u0275\u0275elementStart(8,"mat-tab",6),\u0275\u0275template(9,AppComponent_ng_template_9_Template,3,0,"ng-template",7),\u0275\u0275elementEnd()()),2&rf&&(\u0275\u0275property("shortcuts",ctx.shortcuts),\u0275\u0275advance(3),\u0275\u0275property("selectedIndex",ctx.selected.value),\u0275\u0275advance(4),\u0275\u0275property("ngForOf",ctx.tabs))},dependencies:[NgForOf,NgIf,NgSwitch,NgSwitchCase,MonacoEditorComponent,KeyboardShortcutsComponent,SvgIconComponent,MatTabLabel,MatTab,MatTabGroup,MatIconButton,MatIcon,MatTooltip,TabEditorComponent,TabStartComponent,TabHelpComponent],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;padding:.5rem}#preload[_ngcontent-%COMP%]{width:0;height:0;opacity:0;z-index:-1} mat-tab-group{display:flex;flex-direction:row;flex-wrap:nowrap;flex-grow:1;border-radius:10px;overflow:hidden} mat-tab-group .mat-mdc-tab{--mdc-secondary-navigation-tab-container-height: 40px;--mat-tab-header-active-label-text-color: $tab-active-color;--mat-tab-header-active-focus-label-text-color: $tab-active-color;--mat-tab-header-active-hover-label-text-color: $tab-active-color;--mat-tab-header-active-hover-indicator-color: $tab-active-color;position:relative;background-color:#445056;color:#cdcdcd;font-weight:700;font-size:14px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;padding:.5rem 1rem;height:40px;margin-right:1px;text-decoration:none;transition:all .2s ease;opacity:1;justify-content:flex-start;min-width:0;font-family:Lato,sans-serif;-webkit-user-select:none;user-select:none} mat-tab-group .mat-mdc-tab .mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:0} mat-tab-group .mat-mdc-tab:hover .mdc-tab__ripple:before{opacity:0} mat-tab-group .mat-mdc-tab.mat-mdc-tab-disabled{opacity:1;pointer-events:auto} mat-tab-group .mat-mdc-tab .mdc-tab-indicator{display:none} mat-tab-group .mat-mdc-tab .mdc-tab__text-label>span{display:inline-flex} mat-tab-group .mat-mdc-tab:last-child{padding:0!important;color:#fff} mat-tab-group .mat-mdc-tab:last-child button{border-radius:0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0){padding-right:0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0):not(.mdc-tab--active){padding-right:16px} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0):not(.mdc-tab--active) .tab-actions{display:none} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) .add-button{--mdc-icon-button-state-layer-size: 40px;padding:8px 0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mdc-tab__content, mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mat-mdc-tab-ripple, mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mdc-tab__ripple:before{pointer-events:all} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) button:not(.add-button){border-radius:0;display:inline-block;margin-left:10px;padding:0;width:30px;height:30px;line-height:30px} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) button:not(.add-button) .mat-icon{width:20px;height:20px;font-size:20px;line-height:20px} mat-tab-group .mat-mdc-tab.mdc-tab--active, mat-tab-group .mat-mdc-tab:focus:not(.mat-mdc-tab-disabled){background-color:#263238!important;color:#cdcdcd!important} mat-tab-group .mat-mdc-tab.mdc-tab--active:after, mat-tab-group .mat-mdc-tab:focus:not(.mat-mdc-tab-disabled):after{content:"";position:absolute;top:0;left:0;right:0;width:100%;height:1px;background-color:#ffc200} mat-tab-group .mat-mdc-tab .tab-icon svg, mat-tab-group .mat-mdc-tab .tab-icon img, mat-tab-group .mat-mdc-tab .tab-add-icon{display:flex;align-items:center;justify-content:center;width:1rem;margin-right:.5rem;fill:#cdcdcd} mat-tab-group .mat-mdc-tab .tab-text{flex-grow:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:normal} mat-tab-group .mat-mdc-tab-body-wrapper{flex-grow:1} mat-tab-group .mat-mdc-tab-body-wrapper mat-tab-body{background-color:#263238;color:#cdcdcd;flex-grow:1;overflow:hidden}']}),AppComponent2})(),MonacoService=(()=>{var _class2;class MonacoService2{constructor(monacoLoaderService){this.monacoLoaderService=monacoLoaderService,this.monacoLoaderService.isMonacoLoaded$.pipe(filter_filter(isLoaded=>isLoaded),take_take(1)).subscribe(()=>{try{monaco.languages.register({id:"portugol",extensions:[".por"],aliases:["Portugol"]}),monaco.languages.setLanguageConfiguration("portugol",{wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:monaco.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:monaco.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:/^\s*\/\/\s*#?region\b/,end:/^\s*\/\/\s*#?endregion\b/}}}),monaco.languages.setMonarchTokensProvider("portugol",{defaultToken:"invalid",tokenPostfix:".portugol",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],keywords:["faca","enquanto","para","se","senao","const","funcao","programa","escolha","caso","contrario","pare","retorne","inclua","biblioteca","verdadeiro","falso"],typeKeywords:["real","inteiro","vazio","logico","cadeia","caracter"],operators:["nao","e","ou","-","+","*","/","%","=","==","!=",">","<","<=",">=","++","--","<<",">>","^","|","~","--\x3e","&","+=","-=","*=","/="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}),monaco.editor.defineTheme("portugol",{base:"vs-dark",inherit:!0,rules:[{token:"functions",foreground:"F5D7A9"},{token:"string.escape",foreground:"D2BB85"},{token:"string.escape.invalid",foreground:"DF5953"}],colors:{}})}catch(e2){console.error(e2),window.location.reload()}})}}return(_class2=MonacoService2).\u0275fac=function(t){return new(t||_class2)(core_inject(MonacoEditorLoaderService))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),MonacoService2})();const environment_firebase={apiKey:"AIzaSyD_6fjI7Vsm4RQS6EJZSZ_an7Zehjz9YwQ",authDomain:"portugol-webstudio.firebaseapp.com",projectId:"portugol-webstudio",storageBucket:"portugol-webstudio.appspot.com",messagingSenderId:"845512624544",appId:"1:845512624544:web:b1d4787cafd265429dfcc5",measurementId:"G-BM3QGZS096"};let AppModule=(()=>{var _class2,config2;class AppModule2{}return(_class2=AppModule2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275mod=\u0275\u0275defineNgModule({type:_class2,bootstrap:[AppComponent]}),_class2.\u0275inj=\u0275\u0275defineInjector({providers:[MonacoService,{provide:ErrorHandler,useValue:(config2={showDialog:!0,dialogOptions:{lang:"pt-br"}},new SentryErrorHandler(config2))},{provide:core_APP_INITIALIZER,useFactory:()=>()=>{},multi:!0,deps:[MonacoService]}],imports:[platform_browser_BrowserModule,BrowserAnimationsModule,FormsModule,AngularSplitModule,HttpClientModule,MonacoEditorModule,KeyboardShortcutsModule.forRoot(),NgxGoogleAnalyticsModule.forRoot("G-ZKM28VG4G5"),AngularSvgIconModule.forRoot(),provideFirebaseApp(()=>angular_fire_app_initializeApp(environment_firebase)),provideStorage(()=>angular_fire_storage_getStorage()),MatSnackBarModule,MatRippleModule,MatProgressSpinnerModule,MatDialogModule,MatTabsModule,MatButtonModule,MatIconModule,MatTooltipModule,MatTreeModule]}),AppModule2})();(function sentry_angular_ivy_init(options){options._metadata=options._metadata||{},options._metadata.sdk={name:"sentry.javascript.angular-ivy",packages:[{name:"npm:@sentry/angular-ivy",version:"7.62.0"}],version:"7.62.0"},void 0===options.defaultIntegrations&&(options.defaultIntegrations=defaultIntegrations.filter(integration=>"TryCatch"!==integration.name)),function checkAndSetAngularVersion(){const angularVersion=core_VERSION&&core_VERSION.major?parseInt(core_VERSION.major,10):void 0;angularVersion&&(angularVersion<12&&IS_DEBUG_BUILD&&logger_logger.warn(`This Sentry SDK does not officially support Angular ${angularVersion}.`,"This SDK only supports Angular 12 and above.","If you're using Angular 10 or 11, please use `@sentry/angular` instead.","Otherwise, please consider upgrading your Angular version."),setContext("angular",{version:angularVersion}))}(),function init(options={}){void 0===options.defaultIntegrations&&(options.defaultIntegrations=defaultIntegrations),void 0===options.release&&("string"==typeof __SENTRY_RELEASE__&&(options.release=__SENTRY_RELEASE__),helpers_WINDOW.SENTRY_RELEASE&&helpers_WINDOW.SENTRY_RELEASE.id&&(options.release=helpers_WINDOW.SENTRY_RELEASE.id)),void 0===options.autoSessionTracking&&(options.autoSessionTracking=!0),void 0===options.sendClientReports&&(options.sendClientReports=!0);const clientOptions={...options,stackParser:(stackParser=options.stackParser||defaultStackParser,Array.isArray(stackParser)?createStackParser(...stackParser):stackParser),integrations:getIntegrationsToSetup(options),transport:options.transport||(supportsFetch()?makeFetchTransport:makeXHRTransport)};var stackParser;(function initAndBind(clientClass,options){!0===options.debug&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?logger_logger.enable():console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle."));const hub=hub_getCurrentHub();hub.getScope().update(options.initialScope);const client=new clientClass(options);hub.bindClient(client)})(BrowserClient,clientOptions),options.autoSessionTracking&&function startSessionTracking(){if(typeof helpers_WINDOW.document>"u")return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Session tracking in non-browser environment with @sentry/browser is not supported."));const hub=hub_getCurrentHub();hub.captureSession&&(startSessionOnHub(hub),addInstrumentationHandler("history",({from:from2,to})=>{void 0===from2||from2===to||startSessionOnHub(hub_getCurrentHub())}))}()}(options)})({dsn:"https://620518162f784d2aa3e3ee7223d08594@o1070945.ingest.sentry.io/6067438",debug:!1,tracesSampleRate:.1,replaysOnErrorSampleRate:.1,integrations:[new Replay,new class BrowserTracing{constructor(_options){this.name="BrowserTracing",this._hasSetTracePropagationTargets=!1,function addTracingExtensions(){const carrier=getMainCarrier();carrier.__SENTRY__&&(carrier.__SENTRY__.extensions=carrier.__SENTRY__.extensions||{},carrier.__SENTRY__.extensions.startTransaction||(carrier.__SENTRY__.extensions.startTransaction=_startTransaction),carrier.__SENTRY__.extensions.traceHeaders||(carrier.__SENTRY__.extensions.traceHeaders=traceHeaders),function registerErrorInstrumentation(){errorsInstrumented||(errorsInstrumented=!0,addInstrumentationHandler("error",errorCallback),addInstrumentationHandler("unhandledrejection",errorCallback))}())}(),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(this._hasSetTracePropagationTargets=!(!_options||!_options.tracePropagationTargets&&!_options.tracingOrigins)),this.options={...DEFAULT_BROWSER_TRACING_OPTIONS,..._options},void 0!==this.options._experiments.enableLongTask&&(this.options.enableLongTask=this.options._experiments.enableLongTask),_options&&!_options.tracePropagationTargets&&_options.tracingOrigins&&(this.options.tracePropagationTargets=_options.tracingOrigins),this._collectWebVitals=startTrackingWebVitals(),this.options.enableLongTask&&function startTrackingLongTasks(){observe("longtask",entries=>{for(const entry of entries){const transaction=utils_getActiveTransaction();if(!transaction)return;const startTime=msToSec(esm_time.Z1+entry.startTime),duration=msToSec(entry.duration);transaction.startChild({description:"Main UI thread blocked",op:"ui.long-task",startTimestamp:startTime,endTimestamp:startTime+duration})}})}(),this.options._experiments.enableInteractions&&function startTrackingInteractions(){observe("event",entries=>{for(const entry of entries){const transaction=utils_getActiveTransaction();if(!transaction)return;if("click"===entry.name){const startTime=msToSec(esm_time.Z1+entry.startTime),duration=msToSec(entry.duration);transaction.startChild({description:htmlTreeAsString(entry.target),op:`ui.interaction.${entry.name}`,startTimestamp:startTime,endTimestamp:startTime+duration})}}},{durationThreshold:0})}()}setupOnce(_,getCurrentHub2){this._getCurrentHub=getCurrentHub2;const client=getCurrentHub2().getClient(),clientOptions=client&&client.getOptions(),{routingInstrumentation:instrumentRouting,startTransactionOnLocationChange,startTransactionOnPageLoad,markBackgroundTransactions,traceFetch,traceXHR,shouldCreateSpanForRequest,enableHTTPTimings,_experiments}=this.options,clientOptionsTracePropagationTargets=clientOptions&&clientOptions.tracePropagationTargets,tracePropagationTargets=clientOptionsTracePropagationTargets||this.options.tracePropagationTargets;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this._hasSetTracePropagationTargets&&clientOptionsTracePropagationTargets&&logger_logger.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used."),instrumentRouting(context2=>{const transaction=this._createRouteTransaction(context2);return this.options._experiments.onStartRouteTransaction&&this.options._experiments.onStartRouteTransaction(transaction,context2,getCurrentHub2),transaction},startTransactionOnPageLoad,startTransactionOnLocationChange),markBackgroundTransactions&&function registerBackgroundTabDetection(){types_WINDOW&&types_WINDOW.document?types_WINDOW.document.addEventListener("visibilitychange",()=>{const activeTransaction=utils_getActiveTransaction();if(types_WINDOW.document.hidden&&activeTransaction){const statusType="cancelled";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Transaction: ${statusType} -> since tab moved to the background, op: ${activeTransaction.op}`),activeTransaction.status||activeTransaction.setStatus(statusType),activeTransaction.setTag("visibilitychange","document.hidden"),activeTransaction.finish()}}):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("[Tracing] Could not set up background tab detection due to lack of global document")}(),_experiments.enableInteractions&&this._registerInteractionListener(),function instrumentOutgoingRequests(_options){const{traceFetch,traceXHR,tracePropagationTargets,tracingOrigins,shouldCreateSpanForRequest,enableHTTPTimings}={traceFetch:defaultRequestInstrumentationOptions.traceFetch,traceXHR:defaultRequestInstrumentationOptions.traceXHR,..._options},shouldCreateSpan="function"==typeof shouldCreateSpanForRequest?shouldCreateSpanForRequest:_=>!0,shouldAttachHeadersWithTargets=url=>function shouldAttachHeaders(url,tracePropagationTargets){return stringMatchesSomePattern(url,tracePropagationTargets||DEFAULT_TRACE_PROPAGATION_TARGETS)}(url,tracePropagationTargets||tracingOrigins),spans={};traceFetch&&addInstrumentationHandler("fetch",handlerData=>{const createdSpan=function fetchCallback(handlerData,shouldCreateSpan,shouldAttachHeaders2,spans){if(!hasTracingEnabled()||!handlerData.fetchData)return;const shouldCreateSpanResult=shouldCreateSpan(handlerData.fetchData.url);if(handlerData.endTimestamp&&shouldCreateSpanResult){const spanId=handlerData.fetchData.__span;if(!spanId)return;const span2=spans[spanId];if(span2){if(handlerData.response){span2.setHttpStatus(handlerData.response.status);const contentLength=handlerData.response&&handlerData.response.headers&&handlerData.response.headers.get("content-length"),contentLengthNum=parseInt(contentLength);contentLengthNum>0&&span2.setData("http.response_content_length",contentLengthNum)}else handlerData.error&&span2.setStatus("internal_error");span2.finish(),delete spans[spanId]}return}const hub=hub_getCurrentHub(),scope=hub.getScope(),client=hub.getClient(),parentSpan=scope.getSpan(),{method,url}=handlerData.fetchData,span=shouldCreateSpanResult&&parentSpan?parentSpan.startChild({data:{url,type:"fetch","http.method":method},description:`${method} ${url}`,op:"http.client"}):void 0;if(span&&(handlerData.fetchData.__span=span.spanId,spans[span.spanId]=span),shouldAttachHeaders2(handlerData.fetchData.url)&&client){const request=handlerData.args[0];handlerData.args[1]=handlerData.args[1]||{};const options=handlerData.args[1];options.headers=function addTracingHeadersToFetchRequest(request,client,scope,options,requestSpan){const span=requestSpan||scope.getSpan(),transaction=span&&span.transaction,{traceId,sampled,dsc}=scope.getPropagationContext(),sentryTraceHeader=span?span.toTraceparent():generateSentryTraceHeader(traceId,void 0,sampled),sentryBaggageHeader=dynamicSamplingContextToSentryBaggageHeader(transaction?transaction.getDynamicSamplingContext():dsc||getDynamicSamplingContextFromClient(traceId,client,scope)),headers=typeof Request<"u"&&isInstanceOf(request,Request)?request.headers:options.headers;if(headers){if(typeof Headers<"u"&&isInstanceOf(headers,Headers)){const newHeaders=new Headers(headers);return newHeaders.append("sentry-trace",sentryTraceHeader),sentryBaggageHeader&&newHeaders.append(BAGGAGE_HEADER_NAME,sentryBaggageHeader),newHeaders}if(Array.isArray(headers)){const newHeaders=[...headers,["sentry-trace",sentryTraceHeader]];return sentryBaggageHeader&&newHeaders.push([BAGGAGE_HEADER_NAME,sentryBaggageHeader]),newHeaders}{const existingBaggageHeader="baggage"in headers?headers.baggage:void 0,newBaggageHeaders=[];return Array.isArray(existingBaggageHeader)?newBaggageHeaders.push(...existingBaggageHeader):existingBaggageHeader&&newBaggageHeaders.push(existingBaggageHeader),sentryBaggageHeader&&newBaggageHeaders.push(sentryBaggageHeader),{...headers,"sentry-trace":sentryTraceHeader,baggage:newBaggageHeaders.length>0?newBaggageHeaders.join(","):void 0}}}return{"sentry-trace":sentryTraceHeader,baggage:sentryBaggageHeader}}(request,client,scope,options,span)}return span}(handlerData,shouldCreateSpan,shouldAttachHeadersWithTargets,spans);enableHTTPTimings&&createdSpan&&addHTTPTimings(createdSpan)}),traceXHR&&addInstrumentationHandler("xhr",handlerData=>{const createdSpan=function xhrCallback(handlerData,shouldCreateSpan,shouldAttachHeaders2,spans){const xhr=handlerData.xhr,sentryXhrData=xhr&&xhr[SENTRY_XHR_DATA_KEY];if(!hasTracingEnabled()||xhr&&xhr.__sentry_own_request__||!xhr||!sentryXhrData)return;const shouldCreateSpanResult=shouldCreateSpan(sentryXhrData.url);if(handlerData.endTimestamp&&shouldCreateSpanResult){const spanId=xhr.__sentry_xhr_span_id__;if(!spanId)return;const span2=spans[spanId];return void(span2&&(span2.setHttpStatus(sentryXhrData.status_code),span2.finish(),delete spans[spanId]))}const hub=hub_getCurrentHub(),scope=hub.getScope(),parentSpan=scope.getSpan(),span=shouldCreateSpanResult&&parentSpan?parentSpan.startChild({data:{...sentryXhrData.data,type:"xhr","http.method":sentryXhrData.method,url:sentryXhrData.url},description:`${sentryXhrData.method} ${sentryXhrData.url}`,op:"http.client"}):void 0;if(span&&(xhr.__sentry_xhr_span_id__=span.spanId,spans[xhr.__sentry_xhr_span_id__]=span),xhr.setRequestHeader&&shouldAttachHeaders2(sentryXhrData.url))if(span){const transaction=span&&span.transaction,sentryBaggageHeader=dynamicSamplingContextToSentryBaggageHeader(transaction&&transaction.getDynamicSamplingContext());setHeaderOnXhr(xhr,span.toTraceparent(),sentryBaggageHeader)}else{const client=hub.getClient(),{traceId,sampled,dsc}=scope.getPropagationContext();setHeaderOnXhr(xhr,generateSentryTraceHeader(traceId,void 0,sampled),dynamicSamplingContextToSentryBaggageHeader(dsc||(client?getDynamicSamplingContextFromClient(traceId,client,scope):void 0)))}return span}(handlerData,shouldCreateSpan,shouldAttachHeadersWithTargets,spans);enableHTTPTimings&&createdSpan&&addHTTPTimings(createdSpan)})}({traceFetch,traceXHR,tracePropagationTargets,shouldCreateSpanForRequest,enableHTTPTimings})}_createRouteTransaction(context2){if(!this._getCurrentHub)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Did not create ${context2.op} transaction because _getCurrentHub is invalid.`));const hub=this._getCurrentHub(),{beforeNavigate,idleTimeout,finalTimeout,heartbeatInterval}=this.options,isPageloadTransaction="pageload"===context2.op,sentryTrace=isPageloadTransaction?getMetaContent("sentry-trace"):"",baggage=isPageloadTransaction?getMetaContent("baggage"):"",{traceparentData,dynamicSamplingContext,propagationContext}=function tracingContextFromHeaders(sentryTrace,baggage){const traceparentData=function extractTraceparentData(traceparent){if(!traceparent)return;const matches=traceparent.match(TRACEPARENT_REGEXP);if(!matches)return;let parentSampled;return"1"===matches[3]?parentSampled=!0:"0"===matches[3]&&(parentSampled=!1),{traceId:matches[1],parentSampled,parentSpanId:matches[2]}}(sentryTrace),dynamicSamplingContext=function baggageHeaderToDynamicSamplingContext(baggageHeader){if(!isString(baggageHeader)&&!Array.isArray(baggageHeader))return;let baggageObject={};if(Array.isArray(baggageHeader))baggageObject=baggageHeader.reduce((acc,curr)=>({...acc,...baggageHeaderToObject(curr)}),{});else{if(!baggageHeader)return;baggageObject=baggageHeaderToObject(baggageHeader)}const dynamicSamplingContext=Object.entries(baggageObject).reduce((acc,[key,value])=>(key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)&&(acc[key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length)]=value),acc),{});return Object.keys(dynamicSamplingContext).length>0?dynamicSamplingContext:void 0}(baggage),{traceId,parentSpanId,parentSampled}=traceparentData||{},propagationContext={traceId:traceId||misc_uuid4(),spanId:misc_uuid4().substring(16),sampled:void 0!==parentSampled&&parentSampled};return parentSpanId&&(propagationContext.parentSpanId=parentSpanId),dynamicSamplingContext&&(propagationContext.dsc=dynamicSamplingContext),{traceparentData,dynamicSamplingContext,propagationContext}}(sentryTrace,baggage),expandedContext={...context2,...traceparentData,metadata:{...context2.metadata,dynamicSamplingContext:traceparentData&&!dynamicSamplingContext?{}:dynamicSamplingContext},trimEnd:!0},modifiedContext="function"==typeof beforeNavigate?beforeNavigate(expandedContext):expandedContext,finalContext=void 0===modifiedContext?{...expandedContext,sampled:!1}:modifiedContext;finalContext.metadata=finalContext.name!==expandedContext.name?{...finalContext.metadata,source:"custom"}:finalContext.metadata,this._latestRouteName=finalContext.name,this._latestRouteSource=finalContext.metadata&&finalContext.metadata.source,!1===finalContext.sampled&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Will not send ${finalContext.op} transaction because of beforeNavigate.`),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Starting ${finalContext.op} transaction on scope`);const{location:location2}=types_WINDOW,idleTransaction=startIdleTransaction(hub,finalContext,idleTimeout,finalTimeout,!0,{location:location2},heartbeatInterval);return hub.getScope().setPropagationContext(isPageloadTransaction&&traceparentData?propagationContext:{traceId:idleTransaction.traceId,spanId:idleTransaction.spanId,parentSpanId:idleTransaction.parentSpanId,sampled:!!idleTransaction.sampled}),idleTransaction.registerBeforeFinishCallback(transaction=>{this._collectWebVitals(),function addPerformanceEntries(transaction){const performance2=getBrowserPerformanceAPI();if(!performance2||!types_WINDOW.performance.getEntries||!esm_time.Z1)return;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] Adding & adjusting spans using Performance API");const timeOrigin=msToSec(esm_time.Z1),performanceEntries=performance2.getEntries();let responseStartTimestamp,requestStartTimestamp;if(performanceEntries.slice(_performanceCursor).forEach(entry=>{const startTime=msToSec(entry.startTime),duration=msToSec(entry.duration);if(!("navigation"===transaction.op&&timeOrigin+startTime{_addPerformanceNavigationTiming(transaction,entry,event,timeOrigin)}),_addPerformanceNavigationTiming(transaction,entry,"secureConnection",timeOrigin,"TLS/SSL","connectEnd"),_addPerformanceNavigationTiming(transaction,entry,"fetch",timeOrigin,"cache","domainLookupStart"),_addPerformanceNavigationTiming(transaction,entry,"domainLookup",timeOrigin,"DNS"),function _addRequest(transaction,entry,timeOrigin){_startChild(transaction,{op:"browser",description:"request",startTimestamp:timeOrigin+msToSec(entry.requestStart),endTimestamp:timeOrigin+msToSec(entry.responseEnd)}),_startChild(transaction,{op:"browser",description:"response",startTimestamp:timeOrigin+msToSec(entry.responseStart),endTimestamp:timeOrigin+msToSec(entry.responseEnd)})}(transaction,entry,timeOrigin)})(transaction,entry,timeOrigin),responseStartTimestamp=timeOrigin+msToSec(entry.responseStart),requestStartTimestamp=timeOrigin+msToSec(entry.requestStart);break;case"mark":case"paint":case"measure":{!function _addMeasureSpans(transaction,entry,startTime,duration,timeOrigin){const measureStartTimestamp=timeOrigin+startTime;_startChild(transaction,{description:entry.name,endTimestamp:measureStartTimestamp+duration,op:entry.entryType,startTimestamp:measureStartTimestamp})}(transaction,entry,startTime,duration,timeOrigin);const firstHidden=getVisibilityWatcher(),shouldRecord=entry.startTime"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding FP"),_measurements.fp={value:entry.startTime,unit:"millisecond"}),"first-contentful-paint"===entry.name&&shouldRecord&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding FCP"),_measurements.fcp={value:entry.startTime,unit:"millisecond"});break}case"resource":{const resourceName=entry.name.replace(types_WINDOW.location.origin,"");!function _addResourceSpans(transaction,entry,resourceName,startTime,duration,timeOrigin){if("xmlhttprequest"===entry.initiatorType||"fetch"===entry.initiatorType)return;const data={};"transferSize"in entry&&(data["http.response_transfer_size"]=entry.transferSize),"encodedBodySize"in entry&&(data["http.response_content_length"]=entry.encodedBodySize),"decodedBodySize"in entry&&(data["http.decoded_response_content_length"]=entry.decodedBodySize),"renderBlockingStatus"in entry&&(data["resource.render_blocking_status"]=entry.renderBlockingStatus);const startTimestamp=timeOrigin+startTime;_startChild(transaction,{description:resourceName,endTimestamp:startTimestamp+duration,op:entry.initiatorType?`resource.${entry.initiatorType}`:"resource.other",startTimestamp,data})}(transaction,entry,resourceName,startTime,duration,timeOrigin);break}}}),_performanceCursor=Math.max(performanceEntries.length-1,0),function _trackNavigator(transaction){const navigator2=types_WINDOW.navigator;if(!navigator2)return;const connection=navigator2.connection;connection&&(connection.effectiveType&&transaction.setTag("effectiveConnectionType",connection.effectiveType),connection.type&&transaction.setTag("connectionType",connection.type),isMeasurementValue(connection.rtt)&&(_measurements["connection.rtt"]={value:connection.rtt,unit:"millisecond"})),isMeasurementValue(navigator2.deviceMemory)&&transaction.setTag("deviceMemory",`${navigator2.deviceMemory} GB`),isMeasurementValue(navigator2.hardwareConcurrency)&&transaction.setTag("hardwareConcurrency",String(navigator2.hardwareConcurrency))}(transaction),"pageload"===transaction.op){"number"==typeof responseStartTimestamp&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding TTFB"),_measurements.ttfb={value:1e3*(responseStartTimestamp-transaction.startTimestamp),unit:"millisecond"},"number"==typeof requestStartTimestamp&&requestStartTimestamp<=responseStartTimestamp&&(_measurements["ttfb.requestTime"]={value:1e3*(responseStartTimestamp-requestStartTimestamp),unit:"millisecond"})),["fcp","fp","lcp"].forEach(name=>{if(!_measurements[name]||timeOrigin>=transaction.startTimestamp)return;const oldValue=_measurements[name].value,measurementTimestamp=timeOrigin+msToSec(oldValue),normalizedValue=Math.abs(1e3*(measurementTimestamp-transaction.startTimestamp));(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Measurements] Normalized ${name} from ${oldValue} to ${normalizedValue} (${normalizedValue-oldValue})`),_measurements[name].value=normalizedValue});const fidMark=_measurements["mark.fid"];fidMark&&_measurements.fid&&(_startChild(transaction,{description:"first input delay",endTimestamp:fidMark.value+msToSec(_measurements.fid.value),op:"ui.action",startTimestamp:fidMark.value}),delete _measurements["mark.fid"]),"fcp"in _measurements||delete _measurements.cls,Object.keys(_measurements).forEach(measurementName=>{transaction.setMeasurement(measurementName,_measurements[measurementName].value,_measurements[measurementName].unit)}),function _tagMetricInfo(transaction){_lcpEntry&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding LCP Data"),_lcpEntry.element&&transaction.setTag("lcp.element",htmlTreeAsString(_lcpEntry.element)),_lcpEntry.id&&transaction.setTag("lcp.id",_lcpEntry.id),_lcpEntry.url&&transaction.setTag("lcp.url",_lcpEntry.url.trim().slice(0,200)),transaction.setTag("lcp.size",_lcpEntry.size)),_clsEntry&&_clsEntry.sources&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding CLS Data"),_clsEntry.sources.forEach((source,index)=>transaction.setTag(`cls.source.${index+1}`,htmlTreeAsString(source.node))))}(transaction)}_lcpEntry=void 0,_clsEntry=void 0,_measurements={}}(transaction)}),idleTransaction}_registerInteractionListener(){let inflightInteractionTransaction;const registerInteractionTransaction=()=>{const{idleTimeout,finalTimeout,heartbeatInterval}=this.options,op="ui.action.click",currentTransaction=utils_getActiveTransaction();if(currentTransaction&¤tTransaction.op&&["navigation","pageload"].includes(currentTransaction.op))return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Did not create ${op} transaction because a pageload or navigation transaction is in progress.`));if(inflightInteractionTransaction&&(inflightInteractionTransaction.setFinishReason("interactionInterrupted"),inflightInteractionTransaction.finish(),inflightInteractionTransaction=void 0),!this._getCurrentHub)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Did not create ${op} transaction because _getCurrentHub is invalid.`));if(!this._latestRouteName)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Did not create ${op} transaction because _latestRouteName is missing.`));const hub=this._getCurrentHub(),{location:location2}=types_WINDOW;inflightInteractionTransaction=startIdleTransaction(hub,{name:this._latestRouteName,op,trimEnd:!0,metadata:{source:this._latestRouteSource||"url"}},idleTimeout,finalTimeout,!0,{location:location2},heartbeatInterval)};["click"].forEach(type=>{addEventListener(type,registerInteractionTransaction,{once:!1,capture:!0})})}}]}),platformBrowser().bootstrapModule(AppModule).catch(err=>console.error(err))},2007:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";function isBrowserBundle(){return typeof __SENTRY_BROWSER_BUNDLE__<"u"&&!!__SENTRY_BROWSER_BUNDLE__}function getSDKSource(){return"npm"}__webpack_require__.d(__webpack_exports__,{S:()=>getSDKSource,n:()=>isBrowserBundle})},6789:(module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{KV:()=>isNodeEnv,l$:()=>dynamicRequire});var _env_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2007);function isNodeEnv(){return!(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.n)()&&"[object process]"===Object.prototype.toString.call(typeof process<"u"?process:0)}function dynamicRequire(mod,request){return mod.require(request)}module=__webpack_require__.hmd(module)},7245:(module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z1:()=>browserPerformanceTimeOrigin,ph:()=>timestampInSeconds2,yW:()=>dateTimestampInSeconds});var _node_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6789),_worldwide_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3054);module=__webpack_require__.hmd(module);const WINDOW2=(0,_worldwide_js__WEBPACK_IMPORTED_MODULE_0__.Rf)(),dateTimestampSource={nowSeconds:()=>Date.now()/1e3},platformPerformance=(0,_node_js__WEBPACK_IMPORTED_MODULE_1__.KV)()?function getNodePerformance(){try{return(0,_node_js__WEBPACK_IMPORTED_MODULE_1__.l$)(module,"perf_hooks").performance}catch{return}}():function getBrowserPerformance(){const{performance:performance2}=WINDOW2;if(performance2&&performance2.now)return{now:()=>performance2.now(),timeOrigin:Date.now()-performance2.now()}}(),timestampSource=void 0===platformPerformance?dateTimestampSource:{nowSeconds:()=>(platformPerformance.timeOrigin+platformPerformance.now())/1e3},dateTimestampInSeconds=dateTimestampSource.nowSeconds.bind(dateTimestampSource),timestampInSeconds2=timestampSource.nowSeconds.bind(timestampSource);let _browserPerformanceTimeOriginMode;const browserPerformanceTimeOrigin=(()=>{const{performance:performance2}=WINDOW2;if(!performance2||!performance2.now)return void(_browserPerformanceTimeOriginMode="none");const performanceNow=performance2.now(),dateNow=Date.now(),timeOriginDelta=performance2.timeOrigin?Math.abs(performance2.timeOrigin+performanceNow-dateNow):36e5,timeOriginIsReliable=timeOriginDelta<36e5,navigationStart=performance2.timing&&performance2.timing.navigationStart,navigationStartDelta="number"==typeof navigationStart?Math.abs(navigationStart+performanceNow-dateNow):36e5;return timeOriginIsReliable||navigationStartDelta<36e5?timeOriginDelta<=navigationStartDelta?(_browserPerformanceTimeOriginMode="timeOrigin",performance2.timeOrigin):(_browserPerformanceTimeOriginMode="navigationStart",navigationStart):(_browserPerformanceTimeOriginMode="dateNow",dateNow)})()},3054:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";function isGlobalObj(obj){return obj&&obj.Math==Math?obj:void 0}__webpack_require__.d(__webpack_exports__,{Rf:()=>getGlobalObject,YO:()=>getGlobalSingleton,n2:()=>GLOBAL_OBJ});const GLOBAL_OBJ="object"==typeof globalThis&&isGlobalObj(globalThis)||"object"==typeof window&&isGlobalObj(window)||"object"==typeof self&&isGlobalObj(self)||"object"==typeof global&&isGlobalObj(global)||function(){return this}()||{};function getGlobalObject(){return GLOBAL_OBJ}function getGlobalSingleton(name,creator,obj){const gbl=obj||GLOBAL_OBJ,__SENTRY__=gbl.__SENTRY__=gbl.__SENTRY__||{};return __SENTRY__[name]||(__SENTRY__[name]=creator())}},7443:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},3241:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},7469:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ANTLRInputStream=void 0;const assert=__webpack_require__(5936),Decorators_1=__webpack_require__(4798),IntStream_1=__webpack_require__(9627);class ANTLRInputStream{constructor(input){this.p=0,this.data=input,this.n=input.length}reset(){this.p=0}consume(){if(this.p>=this.n)throw assert(this.LA(1)===IntStream_1.IntStream.EOF),new Error("cannot consume EOF");this.p=this.n?IntStream_1.IntStream.EOF:this.data.charCodeAt(this.p+i-1)}LT(i){return this.LA(i)}get index(){return this.p}get size(){return this.n}mark(){return-1}release(marker){}seek(index){if(index<=this.p)this.p=index;else for(index=Math.min(index,this.n);this.p=this.n&&(stop=this.n-1),start>=this.n?"":this.data.substr(start,stop-start+1)}get sourceName(){return this.name?this.name:IntStream_1.IntStream.UNKNOWN_SOURCE_NAME}toString(){return this.data}}__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"consume",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"LA",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"index",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"size",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"mark",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"release",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"seek",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"getText",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"sourceName",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"toString",null),exports.ANTLRInputStream=ANTLRInputStream},5811:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BailErrorStrategy=void 0;const DefaultErrorStrategy_1=__webpack_require__(4053),InputMismatchException_1=__webpack_require__(9601),Decorators_1=__webpack_require__(4798),ParseCancellationException_1=__webpack_require__(5011);class BailErrorStrategy extends DefaultErrorStrategy_1.DefaultErrorStrategy{recover(recognizer,e){for(let context=recognizer.context;context;context=context.parent)context.exception=e;throw new ParseCancellationException_1.ParseCancellationException(e)}recoverInline(recognizer){let e=new InputMismatchException_1.InputMismatchException(recognizer);for(let context=recognizer.context;context;context=context.parent)context.exception=e;throw new ParseCancellationException_1.ParseCancellationException(e)}sync(recognizer){}}__decorate([Decorators_1.Override],BailErrorStrategy.prototype,"recover",null),__decorate([Decorators_1.Override],BailErrorStrategy.prototype,"recoverInline",null),__decorate([Decorators_1.Override],BailErrorStrategy.prototype,"sync",null),exports.BailErrorStrategy=BailErrorStrategy},254:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BufferedTokenStream=void 0;const assert=__webpack_require__(5936),CommonToken_1=__webpack_require__(970),Interval_1=__webpack_require__(8691),Lexer_1=__webpack_require__(1188),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let BufferedTokenStream=class{constructor(tokenSource){if(this.tokens=[],this.p=-1,this.fetchedEOF=!1,null==tokenSource)throw new Error("tokenSource cannot be null");this._tokenSource=tokenSource}get tokenSource(){return this._tokenSource}set tokenSource(tokenSource){this._tokenSource=tokenSource,this.tokens.length=0,this.p=-1,this.fetchedEOF=!1}get index(){return this.p}mark(){return 0}release(marker){}seek(index){this.lazyInit(),this.p=this.adjustSeekIndex(index)}get size(){return this.tokens.length}consume(){let skipEofCheck;if(skipEofCheck=this.p>=0&&(this.fetchedEOF?this.p=0);let n=i-this.tokens.length+1;return!(n>0)||this.fetch(n)>=n}fetch(n){if(this.fetchedEOF)return 0;for(let i=0;i=this.tokens.length)throw new RangeError("token index "+i+" out of range 0.."+(this.tokens.length-1));return this.tokens[i]}getRange(start,stop){if(start<0||stop<0)return[];this.lazyInit();let subset=new Array;stop>=this.tokens.length&&(stop=this.tokens.length-1);for(let i=start;i<=stop;i++){let t=this.tokens[i];if(t.type===Token_1.Token.EOF)break;subset.push(t)}return subset}LA(i){let token=this.LT(i);return token?token.type:Token_1.Token.INVALID_TYPE}tryLB(k){if(!(this.p-k<0))return this.tokens[this.p-k]}LT(k){let result=this.tryLT(k);if(void 0===result)throw new RangeError("requested lookback index out of range");return result}tryLT(k){if(this.lazyInit(),0===k)throw new RangeError("0 is not a valid lookahead index");if(k<0)return this.tryLB(-k);let i=this.p+k-1;return this.sync(i),i>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(i){return i}lazyInit(){-1===this.p&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}getTokens(start,stop,types){if(this.lazyInit(),void 0===start)return assert(void 0===stop&&void 0===types),this.tokens;if(void 0===stop&&(stop=this.tokens.length-1),start<0||stop>=this.tokens.length||stop<0||start>=this.tokens.length)throw new RangeError("start "+start+" or stop "+stop+" not in 0.."+(this.tokens.length-1));if(start>stop)return[];if(void 0===types)return this.tokens.slice(start,stop+1);"number"==typeof types&&(types=(new Set).add(types));let typesSet=types,filteredTokens=this.tokens.slice(start,stop+1);return filteredTokens=filteredTokens.filter(value=>typesSet.has(value.type)),filteredTokens}nextTokenOnChannel(i,channel){if(this.sync(i),i>=this.size)return this.size-1;let token=this.tokens[i];for(;token.channel!==channel;){if(token.type===Token_1.Token.EOF)return i;i++,this.sync(i),token=this.tokens[i]}return i}previousTokenOnChannel(i,channel){if(this.sync(i),i>=this.size)return this.size-1;for(;i>=0;){let token=this.tokens[i];if(token.type===Token_1.Token.EOF||token.channel===channel)return i;i--}return i}getHiddenTokensToRight(tokenIndex,channel=-1){if(this.lazyInit(),tokenIndex<0||tokenIndex>=this.tokens.length)throw new RangeError(tokenIndex+" not in 0.."+(this.tokens.length-1));let to,nextOnChannel=this.nextTokenOnChannel(tokenIndex+1,Lexer_1.Lexer.DEFAULT_TOKEN_CHANNEL);return to=-1===nextOnChannel?this.size-1:nextOnChannel,this.filterForChannel(tokenIndex+1,to,channel)}getHiddenTokensToLeft(tokenIndex,channel=-1){if(this.lazyInit(),tokenIndex<0||tokenIndex>=this.tokens.length)throw new RangeError(tokenIndex+" not in 0.."+(this.tokens.length-1));if(0===tokenIndex)return[];let prevOnChannel=this.previousTokenOnChannel(tokenIndex-1,Lexer_1.Lexer.DEFAULT_TOKEN_CHANNEL);return prevOnChannel===tokenIndex-1?[]:this.filterForChannel(prevOnChannel+1,tokenIndex-1,channel)}filterForChannel(from2,to,channel){let hidden=new Array;for(let i=from2;i<=to;i++){let t=this.tokens[i];-1===channel?t.channel!==Lexer_1.Lexer.DEFAULT_TOKEN_CHANNEL&&hidden.push(t):t.channel===channel&&hidden.push(t)}return hidden}get sourceName(){return this.tokenSource.sourceName}getText(interval){void 0===interval?interval=Interval_1.Interval.of(0,this.size-1):interval instanceof Interval_1.Interval||(interval=interval.sourceInterval);let start=interval.a,stop=interval.b;if(start<0||stop<0)return"";this.fill(),stop>=this.tokens.length&&(stop=this.tokens.length-1);let buf="";for(let i=start;i<=stop;i++){let t=this.tokens[i];if(t.type===Token_1.Token.EOF)break;buf+=t.text}return buf.toString()}getTextFromRange(start,stop){return this.isToken(start)&&this.isToken(stop)?this.getText(Interval_1.Interval.of(start.tokenIndex,stop.tokenIndex)):""}fill(){for(this.lazyInit();;)if(this.fetch(1e3)<1e3)return}isWritableToken(t){return t instanceof CommonToken_1.CommonToken}isToken(t){return t instanceof CommonToken_1.CommonToken}};__decorate([Decorators_1.NotNull],BufferedTokenStream.prototype,"_tokenSource",void 0),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"tokenSource",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"index",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"mark",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"release",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"seek",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"size",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"consume",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"get",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"LA",null),__decorate([Decorators_1.NotNull,Decorators_1.Override],BufferedTokenStream.prototype,"LT",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"sourceName",null),__decorate([Decorators_1.NotNull,Decorators_1.Override],BufferedTokenStream.prototype,"getText",null),__decorate([Decorators_1.NotNull,Decorators_1.Override],BufferedTokenStream.prototype,"getTextFromRange",null),BufferedTokenStream=__decorate([__param(0,Decorators_1.NotNull)],BufferedTokenStream),exports.BufferedTokenStream=BufferedTokenStream},6110:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},9228:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CharStreams=void 0;const CodePointBuffer_1=__webpack_require__(8378),CodePointCharStream_1=__webpack_require__(437),IntStream_1=__webpack_require__(9627);(exports.CharStreams||(exports.CharStreams={})).fromString=function fromString(s,sourceName){(void 0===sourceName||0===sourceName.length)&&(sourceName=IntStream_1.IntStream.UNKNOWN_SOURCE_NAME);let codePointBufferBuilder=CodePointBuffer_1.CodePointBuffer.builder(s.length),cb=new Uint16Array(s.length);for(let i=0;i{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodePointBuffer=void 0;const assert=__webpack_require__(5936),Character=__webpack_require__(8442);class CodePointBuffer{constructor(buffer,size){this.buffer=buffer,this._position=0,this._size=size}static withArray(buffer){return new CodePointBuffer(buffer,buffer.length)}get position(){return this._position}set position(newPosition){if(newPosition<0||newPosition>this._size)throw new RangeError;this._position=newPosition}get remaining(){return this._size-this.position}get(offset){return this.buffer[offset]}array(){return this.buffer.slice(0,this._size)}static builder(initialBufferSize){return new CodePointBuffer.Builder(initialBufferSize)}}exports.CodePointBuffer=CodePointBuffer,function(CodePointBuffer2){let Type;var Type2;(Type2=Type||(Type={}))[Type2.BYTE=0]="BYTE",Type2[Type2.CHAR=1]="CHAR",Type2[Type2.INT=2]="INT";class Builder{constructor(initialBufferSize){this.type=0,this.buffer=new Uint8Array(initialBufferSize),this.prevHighSurrogate=-1,this.position=0}build(){return new CodePointBuffer2(this.buffer,this.position)}static roundUpToNextPowerOfTwo(i){let nextPowerOfTwo=32-Math.clz32(i-1);return Math.pow(2,nextPowerOfTwo)}ensureRemaining(remainingNeeded){switch(this.type){case 0:if(this.buffer.length-this.position>1));newBuffer.set(this.buffer.subarray(0,this.position),0),this.type=1,this.buffer=newBuffer}byteToIntBuffer(toAppend){let newBuffer=new Int32Array(Math.max(this.position+toAppend,this.buffer.length>>2));newBuffer.set(this.buffer.subarray(0,this.position),0),this.type=2,this.buffer=newBuffer}charToIntBuffer(toAppend){let newBuffer=new Int32Array(Math.max(this.position+toAppend,this.buffer.length>>1));newBuffer.set(this.buffer.subarray(0,this.position),0),this.type=2,this.buffer=newBuffer}}CodePointBuffer2.Builder=Builder}(CodePointBuffer=exports.CodePointBuffer||(exports.CodePointBuffer={}))},437:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodePointCharStream=void 0;const assert=__webpack_require__(5936),IntStream_1=__webpack_require__(9627),Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798);class CodePointCharStream{constructor(array,position,remaining,name){assert(0===position),this._array=array,this._size=remaining,this._name=name,this._position=0}get internalStorage(){return this._array}static fromBuffer(codePointBuffer,name){return(void 0===name||0===name.length)&&(name=IntStream_1.IntStream.UNKNOWN_SOURCE_NAME),new CodePointCharStream(codePointBuffer.array(),codePointBuffer.position,codePointBuffer.remaining,name)}consume(){if(this._size-this._position==0)throw assert(this.LA(1)===IntStream_1.IntStream.EOF),new RangeError("cannot consume EOF");this._position++}get index(){return this._position}get size(){return this._size}mark(){return-1}release(marker){}seek(index){this._position=index}get sourceName(){return this._name}toString(){return this.getText(Interval_1.Interval.of(0,this.size-1))}LA(i){let offset;switch(Math.sign(i)){case-1:return offset=this.index+i,offset<0?IntStream_1.IntStream.EOF:this._array[offset];case 0:return 0;case 1:return offset=this.index+i-1,offset>=this.size?IntStream_1.IntStream.EOF:this._array[offset]}throw new RangeError("Not reached")}getText(interval){const startIdx=Math.min(interval.a,this.size),len=Math.min(interval.b-interval.a+1,this.size-startIdx);return this._array instanceof Int32Array?String.fromCodePoint(...Array.from(this._array.subarray(startIdx,startIdx+len))):String.fromCharCode(...Array.from(this._array.subarray(startIdx,startIdx+len)))}}__decorate([Decorators_1.Override],CodePointCharStream.prototype,"consume",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"index",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"size",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"mark",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"release",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"seek",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"sourceName",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"toString",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"LA",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"getText",null),exports.CodePointCharStream=CodePointCharStream},970:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CommonToken=void 0;const Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let CommonToken=class CommonToken2{constructor(type,text,source=CommonToken2.EMPTY_SOURCE,channel=Token_1.Token.DEFAULT_CHANNEL,start=0,stop=0){this._line=0,this._charPositionInLine=-1,this._channel=Token_1.Token.DEFAULT_CHANNEL,this.index=-1,this._text=text,this._type=type,this.source=source,this._channel=channel,this.start=start,this.stop=stop,null!=source.source&&(this._line=source.source.line,this._charPositionInLine=source.source.charPositionInLine)}static fromToken(oldToken){let result=new CommonToken2(oldToken.type,void 0,CommonToken2.EMPTY_SOURCE,oldToken.channel,oldToken.startIndex,oldToken.stopIndex);return result._line=oldToken.line,result.index=oldToken.tokenIndex,result._charPositionInLine=oldToken.charPositionInLine,oldToken instanceof CommonToken2?(result._text=oldToken._text,result.source=oldToken.source):(result._text=oldToken.text,result.source={source:oldToken.tokenSource,stream:oldToken.inputStream}),result}get type(){return this._type}set type(type){this._type=type}get line(){return this._line}set line(line){this._line=line}get text(){if(null!=this._text)return this._text;let input=this.inputStream;if(null==input)return;let n=input.size;return this.start"}set text(text){this._text=text}get charPositionInLine(){return this._charPositionInLine}set charPositionInLine(charPositionInLine){this._charPositionInLine=charPositionInLine}get channel(){return this._channel}set channel(channel){this._channel=channel}get startIndex(){return this.start}set startIndex(start){this.start=start}get stopIndex(){return this.stop}set stopIndex(stop){this.stop=stop}get tokenIndex(){return this.index}set tokenIndex(index){this.index=index}get tokenSource(){return this.source.source}get inputStream(){return this.source.stream}toString(recognizer){let channelStr="";this._channel>0&&(channelStr=",channel="+this._channel);let txt=this.text;null!=txt?(txt=txt.replace(/\n/g,"\\n"),txt=txt.replace(/\r/g,"\\r"),txt=txt.replace(/\t/g,"\\t")):txt="";let typeString=String(this._type);return recognizer&&(typeString=recognizer.vocabulary.getDisplayName(this._type)),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+txt+"',<"+typeString+">"+channelStr+","+this._line+":"+this.charPositionInLine+"]"}};CommonToken.EMPTY_SOURCE={source:void 0,stream:void 0},__decorate([Decorators_1.NotNull],CommonToken.prototype,"source",void 0),__decorate([Decorators_1.Override],CommonToken.prototype,"type",null),__decorate([Decorators_1.Override],CommonToken.prototype,"line",null),__decorate([Decorators_1.Override],CommonToken.prototype,"text",null),__decorate([Decorators_1.Override],CommonToken.prototype,"charPositionInLine",null),__decorate([Decorators_1.Override],CommonToken.prototype,"channel",null),__decorate([Decorators_1.Override],CommonToken.prototype,"startIndex",null),__decorate([Decorators_1.Override],CommonToken.prototype,"stopIndex",null),__decorate([Decorators_1.Override],CommonToken.prototype,"tokenIndex",null),__decorate([Decorators_1.Override],CommonToken.prototype,"tokenSource",null),__decorate([Decorators_1.Override],CommonToken.prototype,"inputStream",null),__decorate([Decorators_1.Override],CommonToken.prototype,"toString",null),__decorate([__param(0,Decorators_1.NotNull)],CommonToken,"fromToken",null),CommonToken=__decorate([__param(2,Decorators_1.NotNull)],CommonToken),exports.CommonToken=CommonToken},4445:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CommonTokenFactory=void 0;const CommonToken_1=__webpack_require__(970),Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798);class CommonTokenFactory{constructor(copyText=!1){this.copyText=copyText}create(source,type,text,channel,start,stop,line,charPositionInLine){let t=new CommonToken_1.CommonToken(type,text,source,channel,start,stop);return t.line=line,t.charPositionInLine=charPositionInLine,null==text&&this.copyText&&null!=source.stream&&(t.text=source.stream.getText(Interval_1.Interval.of(start,stop))),t}createSimple(type,text){return new CommonToken_1.CommonToken(type,text)}}var CommonTokenFactory2;__decorate([Decorators_1.Override],CommonTokenFactory.prototype,"create",null),__decorate([Decorators_1.Override],CommonTokenFactory.prototype,"createSimple",null),exports.CommonTokenFactory=CommonTokenFactory,(CommonTokenFactory2=CommonTokenFactory=exports.CommonTokenFactory||(exports.CommonTokenFactory={})).DEFAULT=new CommonTokenFactory2},5615:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CommonTokenStream=void 0;const BufferedTokenStream_1=__webpack_require__(254),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let CommonTokenStream=class extends BufferedTokenStream_1.BufferedTokenStream{constructor(tokenSource,channel=Token_1.Token.DEFAULT_CHANNEL){super(tokenSource),this.channel=channel}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}tryLB(k){if(this.p-k<0)return;let i=this.p,n=1;for(;n<=k&&i>0;)i=this.previousTokenOnChannel(i-1,this.channel),n++;return i<0?void 0:this.tokens[i]}tryLT(k){if(this.lazyInit(),0===k)throw new RangeError("0 is not a valid lookahead index");if(k<0)return this.tryLB(-k);let i=this.p,n=1;for(;n{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConsoleErrorListener=void 0;class ConsoleErrorListener{syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e){console.error(`line ${line}:${charPositionInLine} ${msg}`)}}exports.ConsoleErrorListener=ConsoleErrorListener,ConsoleErrorListener.INSTANCE=new ConsoleErrorListener},4798:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SuppressWarnings=exports.Override=exports.Nullable=exports.NotNull=void 0,exports.NotNull=function NotNull(target,propertyKey,propertyDescriptor){},exports.Nullable=function Nullable(target,propertyKey,propertyDescriptor){},exports.Override=function Override(target,propertyKey,propertyDescriptor){},exports.SuppressWarnings=function SuppressWarnings(options){return(target,propertyKey,descriptor)=>{}}},4053:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultErrorStrategy=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),FailedPredicateException_1=__webpack_require__(4482),InputMismatchException_1=__webpack_require__(9601),IntervalSet_1=__webpack_require__(3951),NoViableAltException_1=__webpack_require__(1200),PredictionContext_1=__webpack_require__(2321),Token_1=__webpack_require__(8770),Decorators_1=__webpack_require__(4798);class DefaultErrorStrategy{constructor(){this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.nextTokensState=ATNState_1.ATNState.INVALID_STATE_NUMBER}reset(recognizer){this.endErrorCondition(recognizer)}beginErrorCondition(recognizer){this.errorRecoveryMode=!0}inErrorRecoveryMode(recognizer){return this.errorRecoveryMode}endErrorCondition(recognizer){this.errorRecoveryMode=!1,this.lastErrorStates=void 0,this.lastErrorIndex=-1}reportMatch(recognizer){this.endErrorCondition(recognizer)}reportError(recognizer,e){this.inErrorRecoveryMode(recognizer)||(this.beginErrorCondition(recognizer),e instanceof NoViableAltException_1.NoViableAltException?this.reportNoViableAlternative(recognizer,e):e instanceof InputMismatchException_1.InputMismatchException?this.reportInputMismatch(recognizer,e):e instanceof FailedPredicateException_1.FailedPredicateException?this.reportFailedPredicate(recognizer,e):(console.error(`unknown recognition error type: ${e}`),this.notifyErrorListeners(recognizer,e.toString(),e)))}notifyErrorListeners(recognizer,message,e){let offendingToken=e.getOffendingToken(recognizer);void 0===offendingToken&&(offendingToken=null),recognizer.notifyErrorListeners(message,offendingToken,e)}recover(recognizer,e){this.lastErrorIndex===recognizer.inputStream.index&&this.lastErrorStates&&this.lastErrorStates.contains(recognizer.state)&&recognizer.consume(),this.lastErrorIndex=recognizer.inputStream.index,this.lastErrorStates||(this.lastErrorStates=new IntervalSet_1.IntervalSet),this.lastErrorStates.add(recognizer.state);let followSet=this.getErrorRecoverySet(recognizer);this.consumeUntil(recognizer,followSet)}sync(recognizer){let s=recognizer.interpreter.atn.states[recognizer.state];if(this.inErrorRecoveryMode(recognizer))return;let la=recognizer.inputStream.LA(1),nextTokens=recognizer.atn.nextTokens(s);if(nextTokens.contains(la))return this.nextTokensContext=void 0,void(this.nextTokensState=ATNState_1.ATNState.INVALID_STATE_NUMBER);if(nextTokens.contains(Token_1.Token.EPSILON))void 0===this.nextTokensContext&&(this.nextTokensContext=recognizer.context,this.nextTokensState=recognizer.state);else switch(s.stateType){case ATNStateType_1.ATNStateType.BLOCK_START:case ATNStateType_1.ATNStateType.STAR_BLOCK_START:case ATNStateType_1.ATNStateType.PLUS_BLOCK_START:case ATNStateType_1.ATNStateType.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(recognizer))return;throw new InputMismatchException_1.InputMismatchException(recognizer);case ATNStateType_1.ATNStateType.PLUS_LOOP_BACK:case ATNStateType_1.ATNStateType.STAR_LOOP_BACK:this.reportUnwantedToken(recognizer);let whatFollowsLoopIterationOrRule=recognizer.getExpectedTokens().or(this.getErrorRecoverySet(recognizer));this.consumeUntil(recognizer,whatFollowsLoopIterationOrRule)}}reportNoViableAlternative(recognizer,e){let input,tokens=recognizer.inputStream;input=tokens?e.startToken.type===Token_1.Token.EOF?"":tokens.getTextFromRange(e.startToken,e.getOffendingToken()):"";let msg="no viable alternative at input "+this.escapeWSAndQuote(input);this.notifyErrorListeners(recognizer,msg,e)}reportInputMismatch(recognizer,e){let expected=e.expectedTokens,expectedString=expected?expected.toStringVocabulary(recognizer.vocabulary):"",msg="mismatched input "+this.getTokenErrorDisplay(e.getOffendingToken(recognizer))+" expecting "+expectedString;this.notifyErrorListeners(recognizer,msg,e)}reportFailedPredicate(recognizer,e){this.notifyErrorListeners(recognizer,"rule "+recognizer.ruleNames[recognizer.context.ruleIndex]+" "+e.message,e)}reportUnwantedToken(recognizer){if(this.inErrorRecoveryMode(recognizer))return;this.beginErrorCondition(recognizer);let t=recognizer.currentToken,msg="extraneous input "+this.getTokenErrorDisplay(t)+" expecting "+this.getExpectedTokens(recognizer).toStringVocabulary(recognizer.vocabulary);recognizer.notifyErrorListeners(msg,t,void 0)}reportMissingToken(recognizer){if(this.inErrorRecoveryMode(recognizer))return;this.beginErrorCondition(recognizer);let t=recognizer.currentToken,msg="missing "+this.getExpectedTokens(recognizer).toStringVocabulary(recognizer.vocabulary)+" at "+this.getTokenErrorDisplay(t);recognizer.notifyErrorListeners(msg,t,void 0)}recoverInline(recognizer){let matchedSymbol=this.singleTokenDeletion(recognizer);if(matchedSymbol)return recognizer.consume(),matchedSymbol;if(this.singleTokenInsertion(recognizer))return this.getMissingSymbol(recognizer);throw void 0===this.nextTokensContext?new InputMismatchException_1.InputMismatchException(recognizer):new InputMismatchException_1.InputMismatchException(recognizer,this.nextTokensState,this.nextTokensContext)}singleTokenInsertion(recognizer){let currentSymbolType=recognizer.inputStream.LA(1),next=recognizer.interpreter.atn.states[recognizer.state].transition(0).target,atn=recognizer.interpreter.atn;return!!atn.nextTokens(next,PredictionContext_1.PredictionContext.fromRuleContext(atn,recognizer.context)).contains(currentSymbolType)&&(this.reportMissingToken(recognizer),!0)}singleTokenDeletion(recognizer){let nextTokenType=recognizer.inputStream.LA(2);if(this.getExpectedTokens(recognizer).contains(nextTokenType)){this.reportUnwantedToken(recognizer),recognizer.consume();let matchedSymbol=recognizer.currentToken;return this.reportMatch(recognizer),matchedSymbol}}getMissingSymbol(recognizer){let tokenText,currentSymbol=recognizer.currentToken,expecting=this.getExpectedTokens(recognizer),expectedTokenType=Token_1.Token.INVALID_TYPE;expecting.isNil||(expectedTokenType=expecting.minElement),tokenText=expectedTokenType===Token_1.Token.EOF?"":"";let current=currentSymbol,lookback=recognizer.inputStream.tryLT(-1);return current.type===Token_1.Token.EOF&&null!=lookback&&(current=lookback),this.constructToken(recognizer.inputStream.tokenSource,expectedTokenType,tokenText,current)}constructToken(tokenSource,expectedTokenType,tokenText,current){let x=current.tokenSource;return tokenSource.tokenFactory.create({source:tokenSource,stream:x?x.inputStream:void 0},expectedTokenType,tokenText,Token_1.Token.DEFAULT_CHANNEL,-1,-1,current.line,current.charPositionInLine)}getExpectedTokens(recognizer){return recognizer.getExpectedTokens()}getTokenErrorDisplay(t){if(!t)return"";let s=this.getSymbolText(t);return s||(s=this.getSymbolType(t)===Token_1.Token.EOF?"":`<${this.getSymbolType(t)}>`),this.escapeWSAndQuote(s)}getSymbolText(symbol){return symbol.text}getSymbolType(symbol){return symbol.type}escapeWSAndQuote(s){return"'"+(s=(s=(s=s.replace("\n","\\n")).replace("\r","\\r")).replace("\t","\\t"))+"'"}getErrorRecoverySet(recognizer){let atn=recognizer.interpreter.atn,ctx=recognizer.context,recoverSet=new IntervalSet_1.IntervalSet;for(;ctx&&ctx.invokingState>=0;){let rt=atn.states[ctx.invokingState].transition(0),follow=atn.nextTokens(rt.followState);recoverSet.addAll(follow),ctx=ctx._parent}return recoverSet.remove(Token_1.Token.EPSILON),recoverSet}consumeUntil(recognizer,set){let ttype=recognizer.inputStream.LA(1);for(;ttype!==Token_1.Token.EOF&&!set.contains(ttype);)recognizer.consume(),ttype=recognizer.inputStream.LA(1)}}__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"reset",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"beginErrorCondition",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"inErrorRecoveryMode",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"endErrorCondition",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"reportMatch",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"reportError",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"notifyErrorListeners",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"recover",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"sync",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportNoViableAlternative",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportInputMismatch",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportFailedPredicate",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportUnwantedToken",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportMissingToken",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"recoverInline",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"singleTokenInsertion",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"singleTokenDeletion",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getMissingSymbol",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getExpectedTokens",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getSymbolText",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getSymbolType",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"escapeWSAndQuote",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getErrorRecoverySet",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"consumeUntil",null),exports.DefaultErrorStrategy=DefaultErrorStrategy},5202:(__unused_webpack_module,exports)=>{"use strict";var Dependents2;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Dependents=void 0,(Dependents2=exports.Dependents||(exports.Dependents={}))[Dependents2.SELF=0]="SELF",Dependents2[Dependents2.PARENTS=1]="PARENTS",Dependents2[Dependents2.CHILDREN=2]="CHILDREN",Dependents2[Dependents2.ANCESTORS=3]="ANCESTORS",Dependents2[Dependents2.DESCENDANTS=4]="DESCENDANTS",Dependents2[Dependents2.SIBLINGS=5]="SIBLINGS",Dependents2[Dependents2.PRECEEDING_SIBLINGS=6]="PRECEEDING_SIBLINGS",Dependents2[Dependents2.FOLLOWING_SIBLINGS=7]="FOLLOWING_SIBLINGS",Dependents2[Dependents2.PRECEEDING=8]="PRECEEDING",Dependents2[Dependents2.FOLLOWING=9]="FOLLOWING"},230:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DiagnosticErrorListener=void 0;const BitSet_1=__webpack_require__(6625),Decorators_1=__webpack_require__(4798),Interval_1=__webpack_require__(8691);class DiagnosticErrorListener{constructor(exactOnly=!0){this.exactOnly=exactOnly,this.exactOnly=exactOnly}syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e){}reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs){if(this.exactOnly&&!exact)return;let decision=this.getDecisionDescription(recognizer,dfa),conflictingAlts=this.getConflictingAlts(ambigAlts,configs),text=recognizer.inputStream.getText(Interval_1.Interval.of(startIndex,stopIndex));recognizer.notifyErrorListeners(`reportAmbiguity d=${decision}: ambigAlts=${conflictingAlts}, input='${text}'`)}reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,conflictState){let decision=this.getDecisionDescription(recognizer,dfa),text=recognizer.inputStream.getText(Interval_1.Interval.of(startIndex,stopIndex));recognizer.notifyErrorListeners(`reportAttemptingFullContext d=${decision}, input='${text}'`)}reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,acceptState){let decision=this.getDecisionDescription(recognizer,dfa),text=recognizer.inputStream.getText(Interval_1.Interval.of(startIndex,stopIndex));recognizer.notifyErrorListeners(`reportContextSensitivity d=${decision}, input='${text}'`)}getDecisionDescription(recognizer,dfa){let decision=dfa.decision,ruleIndex=dfa.atnStartState.ruleIndex,ruleNames=recognizer.ruleNames;if(ruleIndex<0||ruleIndex>=ruleNames.length)return decision.toString();let ruleName=ruleNames[ruleIndex];return ruleName?`${decision} (${ruleName})`:decision.toString()}getConflictingAlts(reportedAlts,configs){if(null!=reportedAlts)return reportedAlts;let result=new BitSet_1.BitSet;for(let config of configs)result.set(config.alt);return result}}__decorate([Decorators_1.Override],DiagnosticErrorListener.prototype,"syntaxError",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(6,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"reportAmbiguity",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(5,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"reportAttemptingFullContext",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(5,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"reportContextSensitivity",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"getDecisionDescription",null),__decorate([Decorators_1.NotNull,__param(1,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"getConflictingAlts",null),exports.DiagnosticErrorListener=DiagnosticErrorListener},4482:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FailedPredicateException=void 0;const RecognitionException_1=__webpack_require__(6294),Decorators_1=__webpack_require__(4798),PredicateTransition_1=__webpack_require__(1447);let FailedPredicateException=class FailedPredicateException2 extends RecognitionException_1.RecognitionException{constructor(recognizer,predicate,message){super(recognizer,recognizer.inputStream,recognizer.context,FailedPredicateException2.formatMessage(predicate,message));let trans=recognizer.interpreter.atn.states[recognizer.state].transition(0);trans instanceof PredicateTransition_1.PredicateTransition?(this._ruleIndex=trans.ruleIndex,this._predicateIndex=trans.predIndex):(this._ruleIndex=0,this._predicateIndex=0),this._predicate=predicate,super.setOffendingToken(recognizer,recognizer.currentToken)}get ruleIndex(){return this._ruleIndex}get predicateIndex(){return this._predicateIndex}get predicate(){return this._predicate}static formatMessage(predicate,message){return message||`failed predicate: {${predicate}}?`}};__decorate([Decorators_1.NotNull],FailedPredicateException,"formatMessage",null),FailedPredicateException=__decorate([__param(0,Decorators_1.NotNull)],FailedPredicateException),exports.FailedPredicateException=FailedPredicateException},9601:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.InputMismatchException=void 0;const RecognitionException_1=__webpack_require__(6294),Decorators_1=__webpack_require__(4798);let InputMismatchException=class extends RecognitionException_1.RecognitionException{constructor(recognizer,state,context){void 0===context&&(context=recognizer.context),super(recognizer,recognizer.inputStream,context),void 0!==state&&this.setOffendingState(state),this.setOffendingToken(recognizer,recognizer.currentToken)}};InputMismatchException=__decorate([__param(0,Decorators_1.NotNull)],InputMismatchException),exports.InputMismatchException=InputMismatchException},9627:(__unused_webpack_module,exports)=>{"use strict";var IntStream2;Object.defineProperty(exports,"__esModule",{value:!0}),exports.IntStream=void 0,(IntStream2=exports.IntStream||(exports.IntStream={})).EOF=-1,IntStream2.UNKNOWN_SOURCE_NAME=""},4145:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.InterpreterRuleContext=void 0;const Decorators_1=__webpack_require__(4798),ParserRuleContext_1=__webpack_require__(3235);class InterpreterRuleContext extends ParserRuleContext_1.ParserRuleContext{constructor(ruleIndex,parent,invokingStateNumber){void 0!==invokingStateNumber?super(parent,invokingStateNumber):super(),this._ruleIndex=ruleIndex}get ruleIndex(){return this._ruleIndex}}__decorate([Decorators_1.Override],InterpreterRuleContext.prototype,"ruleIndex",null),exports.InterpreterRuleContext=InterpreterRuleContext},1188:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Lexer=void 0;const CommonTokenFactory_1=__webpack_require__(4445),IntegerStack_1=__webpack_require__(1251),Interval_1=__webpack_require__(8691),IntStream_1=__webpack_require__(9627),LexerATNSimulator_1=__webpack_require__(7101),LexerNoViableAltException_1=__webpack_require__(4440),Decorators_1=__webpack_require__(4798),Recognizer_1=__webpack_require__(5705),Token_1=__webpack_require__(8770);class Lexer extends Recognizer_1.Recognizer{constructor(input){super(),this._factory=CommonTokenFactory_1.CommonTokenFactory.DEFAULT,this._tokenStartCharIndex=-1,this._tokenStartLine=0,this._tokenStartCharPositionInLine=0,this._hitEOF=!1,this._channel=0,this._type=0,this._modeStack=new IntegerStack_1.IntegerStack,this._mode=Lexer.DEFAULT_MODE,this._input=input,this._tokenFactorySourcePair={source:this,stream:input}}static get DEFAULT_TOKEN_CHANNEL(){return Token_1.Token.DEFAULT_CHANNEL}static get HIDDEN(){return Token_1.Token.HIDDEN_CHANNEL}reset(resetInput){(void 0===resetInput||resetInput)&&this._input.seek(0),this._token=void 0,this._type=Token_1.Token.INVALID_TYPE,this._channel=Token_1.Token.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartCharPositionInLine=-1,this._tokenStartLine=-1,this._text=void 0,this._hitEOF=!1,this._mode=Lexer.DEFAULT_MODE,this._modeStack.clear(),this.interpreter.reset()}nextToken(){if(null==this._input)throw new Error("nextToken requires a non-null input stream.");let tokenStartMarker=this._input.mark();try{outer:for(;;){if(this._hitEOF)return this.emitEOF();this._token=void 0,this._channel=Token_1.Token.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartCharPositionInLine=this.interpreter.charPositionInLine,this._tokenStartLine=this.interpreter.line,this._text=void 0;do{let ttype;this._type=Token_1.Token.INVALID_TYPE;try{ttype=this.interpreter.match(this._input,this._mode)}catch(e){if(!(e instanceof LexerNoViableAltException_1.LexerNoViableAltException))throw e;this.notifyListeners(e),this.recover(e),ttype=Lexer.SKIP}if(this._input.LA(1)===IntStream_1.IntStream.EOF&&(this._hitEOF=!0),this._type===Token_1.Token.INVALID_TYPE&&(this._type=ttype),this._type===Lexer.SKIP)continue outer}while(this._type===Lexer.MORE);return null==this._token?this.emit():this._token}}finally{this._input.release(tokenStartMarker)}}skip(){this._type=Lexer.SKIP}more(){this._type=Lexer.MORE}mode(m){this._mode=m}pushMode(m){LexerATNSimulator_1.LexerATNSimulator.debug&&console.log("pushMode "+m),this._modeStack.push(this._mode),this.mode(m)}popMode(){if(this._modeStack.isEmpty)throw new Error("EmptyStackException");return LexerATNSimulator_1.LexerATNSimulator.debug&&console.log("popMode back to "+this._modeStack.peek()),this.mode(this._modeStack.pop()),this._mode}get tokenFactory(){return this._factory}set tokenFactory(factory){this._factory=factory}get inputStream(){return this._input}set inputStream(input){this.reset(!1),this._input=input,this._tokenFactorySourcePair={source:this,stream:this._input}}get sourceName(){return this._input.sourceName}emit(token){return token||(token=this._factory.create(this._tokenFactorySourcePair,this._type,this._text,this._channel,this._tokenStartCharIndex,this.charIndex-1,this._tokenStartLine,this._tokenStartCharPositionInLine)),this._token=token,token}emitEOF(){let eof=this._factory.create(this._tokenFactorySourcePair,Token_1.Token.EOF,void 0,Token_1.Token.DEFAULT_CHANNEL,this._input.index,this._input.index-1,this.line,this.charPositionInLine);return this.emit(eof),eof}get line(){return this.interpreter.line}set line(line){this.interpreter.line=line}get charPositionInLine(){return this.interpreter.charPositionInLine}set charPositionInLine(charPositionInLine){this.interpreter.charPositionInLine=charPositionInLine}get charIndex(){return this._input.index}get text(){return null!=this._text?this._text:this.interpreter.getText(this._input)}set text(text){this._text=text}get token(){return this._token}set token(_token){this._token=_token}set type(ttype){this._type=ttype}get type(){return this._type}set channel(channel){this._channel=channel}get channel(){return this._channel}getAllTokens(){let tokens=[],t=this.nextToken();for(;t.type!==Token_1.Token.EOF;)tokens.push(t),t=this.nextToken();return tokens}notifyListeners(e){let text=this._input.getText(Interval_1.Interval.of(this._tokenStartCharIndex,this._input.index)),msg="token recognition error at: '"+this.getErrorDisplay(text)+"'",listener=this.getErrorListenerDispatch();listener.syntaxError&&listener.syntaxError(this,void 0,this._tokenStartLine,this._tokenStartCharPositionInLine,msg,e)}getErrorDisplay(s){if("number"==typeof s){switch(s){case Token_1.Token.EOF:return"";case 10:return"\\n";case 9:return"\\t";case 13:return"\\r"}return String.fromCharCode(s)}return s.replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r")}getCharErrorDisplay(c){return"'"+this.getErrorDisplay(c)+"'"}recover(re){re instanceof LexerNoViableAltException_1.LexerNoViableAltException?this._input.LA(1)!==IntStream_1.IntStream.EOF&&this.interpreter.consume(this._input):this._input.consume()}}Lexer.DEFAULT_MODE=0,Lexer.MORE=-2,Lexer.SKIP=-3,Lexer.MIN_CHAR_VALUE=0,Lexer.MAX_CHAR_VALUE=1114111,__decorate([Decorators_1.Override],Lexer.prototype,"nextToken",null),__decorate([Decorators_1.Override],Lexer.prototype,"tokenFactory",null),__decorate([Decorators_1.Override],Lexer.prototype,"inputStream",null),__decorate([Decorators_1.Override],Lexer.prototype,"sourceName",null),__decorate([Decorators_1.Override],Lexer.prototype,"line",null),__decorate([Decorators_1.Override],Lexer.prototype,"charPositionInLine",null),exports.Lexer=Lexer},4049:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerInterpreter=void 0;const Lexer_1=__webpack_require__(1188),LexerATNSimulator_1=__webpack_require__(7101),Decorators_1=__webpack_require__(4798),Decorators_2=__webpack_require__(4798);let LexerInterpreter=class extends Lexer_1.Lexer{constructor(grammarFileName,vocabulary,ruleNames,channelNames,modeNames,atn,input){if(super(input),0!==atn.grammarType)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");this._grammarFileName=grammarFileName,this._atn=atn,this._ruleNames=ruleNames.slice(0),this._channelNames=channelNames.slice(0),this._modeNames=modeNames.slice(0),this._vocabulary=vocabulary,this._interp=new LexerATNSimulator_1.LexerATNSimulator(atn,this)}get atn(){return this._atn}get grammarFileName(){return this._grammarFileName}get ruleNames(){return this._ruleNames}get channelNames(){return this._channelNames}get modeNames(){return this._modeNames}get vocabulary(){return this._vocabulary}};__decorate([Decorators_1.NotNull],LexerInterpreter.prototype,"_vocabulary",void 0),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"atn",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"grammarFileName",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"ruleNames",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"channelNames",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"modeNames",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"vocabulary",null),LexerInterpreter=__decorate([__param(1,Decorators_1.NotNull)],LexerInterpreter),exports.LexerInterpreter=LexerInterpreter},4440:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerNoViableAltException=void 0;const RecognitionException_1=__webpack_require__(6294),Decorators_1=__webpack_require__(4798),Interval_1=__webpack_require__(8691),Utils=__webpack_require__(2028);let LexerNoViableAltException=class extends RecognitionException_1.RecognitionException{constructor(lexer,input,startIndex,deadEndConfigs){super(lexer,input),this._startIndex=startIndex,this._deadEndConfigs=deadEndConfigs}get startIndex(){return this._startIndex}get deadEndConfigs(){return this._deadEndConfigs}get inputStream(){return super.inputStream}toString(){let symbol="";return this._startIndex>=0&&this._startIndex=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ListTokenSource=void 0;const CommonTokenFactory_1=__webpack_require__(4445),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let ListTokenSource=class{constructor(tokens,sourceName){if(this.i=0,this._factory=CommonTokenFactory_1.CommonTokenFactory.DEFAULT,null==tokens)throw new Error("tokens cannot be null");this.tokens=tokens,this._sourceName=sourceName}get charPositionInLine(){if(this.i0){let lastToken=this.tokens[this.tokens.length-1],tokenText=lastToken.text;if(null!=tokenText){let lastNewLine=tokenText.lastIndexOf("\n");if(lastNewLine>=0)return tokenText.length-lastNewLine-1}return lastToken.charPositionInLine+lastToken.stopIndex-lastToken.startIndex+1}return 0}nextToken(){if(this.i>=this.tokens.length){if(null==this.eofToken){let start=-1;if(this.tokens.length>0){let previousStop=this.tokens[this.tokens.length-1].stopIndex;-1!==previousStop&&(start=previousStop+1)}let stop=Math.max(-1,start-1);this.eofToken=this._factory.create({source:this,stream:this.inputStream},Token_1.Token.EOF,"EOF",Token_1.Token.DEFAULT_CHANNEL,start,stop,this.line,this.charPositionInLine)}return this.eofToken}let t=this.tokens[this.i];return this.i===this.tokens.length-1&&t.type===Token_1.Token.EOF&&(this.eofToken=t),this.i++,t}get line(){if(this.i0){let lastToken=this.tokens[this.tokens.length-1],line=lastToken.line,tokenText=lastToken.text;if(null!=tokenText)for(let i=0;i0?this.tokens[this.tokens.length-1].inputStream:void 0}get sourceName(){if(this._sourceName)return this._sourceName;let inputStream=this.inputStream;return null!=inputStream?inputStream.sourceName:"List"}set tokenFactory(factory){this._factory=factory}get tokenFactory(){return this._factory}};__decorate([Decorators_1.Override],ListTokenSource.prototype,"charPositionInLine",null),__decorate([Decorators_1.Override],ListTokenSource.prototype,"nextToken",null),__decorate([Decorators_1.Override],ListTokenSource.prototype,"line",null),__decorate([Decorators_1.Override],ListTokenSource.prototype,"inputStream",null),__decorate([Decorators_1.Override],ListTokenSource.prototype,"sourceName",null),__decorate([Decorators_1.Override,Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ListTokenSource.prototype,"tokenFactory",null),ListTokenSource=__decorate([__param(0,Decorators_1.NotNull)],ListTokenSource),exports.ListTokenSource=ListTokenSource},1200:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NoViableAltException=void 0;const Parser_1=__webpack_require__(5278),RecognitionException_1=__webpack_require__(6294),Decorators_1=__webpack_require__(4798);class NoViableAltException extends RecognitionException_1.RecognitionException{constructor(recognizer,input,startToken,offendingToken,deadEndConfigs,ctx){recognizer instanceof Parser_1.Parser&&(void 0===input&&(input=recognizer.inputStream),void 0===startToken&&(startToken=recognizer.currentToken),void 0===offendingToken&&(offendingToken=recognizer.currentToken),void 0===ctx&&(ctx=recognizer.context)),super(recognizer,input,ctx),this._deadEndConfigs=deadEndConfigs,this._startToken=startToken,this.setOffendingToken(recognizer,offendingToken)}get startToken(){return this._startToken}get deadEndConfigs(){return this._deadEndConfigs}}__decorate([Decorators_1.NotNull],NoViableAltException.prototype,"_startToken",void 0),exports.NoViableAltException=NoViableAltException},5278:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Parser=void 0;const Utils=__webpack_require__(2028),ATNDeserializationOptions_1=__webpack_require__(7080),ATNDeserializer_1=__webpack_require__(9940),DefaultErrorStrategy_1=__webpack_require__(4053),ErrorNode_1=__webpack_require__(8272),IntegerStack_1=__webpack_require__(1251),Lexer_1=__webpack_require__(1188),Decorators_1=__webpack_require__(4798),ParseInfo_1=__webpack_require__(4113),ParserATNSimulator_1=__webpack_require__(7609),ProxyParserErrorListener_1=__webpack_require__(6305),Recognizer_1=__webpack_require__(5705),TerminalNode_1=__webpack_require__(9561),Token_1=__webpack_require__(8770);class TraceListener{constructor(ruleNames,tokenStream){this.ruleNames=ruleNames,this.tokenStream=tokenStream}enterEveryRule(ctx){console.log("enter "+this.ruleNames[ctx.ruleIndex]+", LT(1)="+this.tokenStream.LT(1).text)}exitEveryRule(ctx){console.log("exit "+this.ruleNames[ctx.ruleIndex]+", LT(1)="+this.tokenStream.LT(1).text)}visitErrorNode(node2){}visitTerminal(node2){console.log("consume "+node2.symbol+" rule "+this.ruleNames[node2.parent.ruleContext.ruleIndex])}}__decorate([Decorators_1.Override],TraceListener.prototype,"enterEveryRule",null),__decorate([Decorators_1.Override],TraceListener.prototype,"exitEveryRule",null),__decorate([Decorators_1.Override],TraceListener.prototype,"visitErrorNode",null),__decorate([Decorators_1.Override],TraceListener.prototype,"visitTerminal",null);class Parser extends Recognizer_1.Recognizer{constructor(input){super(),this._errHandler=new DefaultErrorStrategy_1.DefaultErrorStrategy,this._precedenceStack=new IntegerStack_1.IntegerStack,this._buildParseTrees=!0,this._parseListeners=[],this._syntaxErrors=0,this.matchedEOF=!1,this._precedenceStack.push(0),this.inputStream=input}reset(resetInput){(void 0===resetInput||resetInput)&&this.inputStream.seek(0),this._errHandler.reset(this),this._ctx=void 0,this._syntaxErrors=0,this.matchedEOF=!1,this.isTrace=!1,this._precedenceStack.clear(),this._precedenceStack.push(0);let interpreter=this.interpreter;interpreter?.reset()}match(ttype){let t=this.currentToken;return t.type===ttype?(ttype===Token_1.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===t.tokenIndex&&this._ctx.addErrorNode(this.createErrorNode(this._ctx,t))),t}matchWildcard(){let t=this.currentToken;return t.type>0?(this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===t.tokenIndex&&this._ctx.addErrorNode(this.createErrorNode(this._ctx,t))),t}set buildParseTree(buildParseTrees){this._buildParseTrees=buildParseTrees}get buildParseTree(){return this._buildParseTrees}getParseListeners(){return this._parseListeners}addParseListener(listener){if(null==listener)throw new TypeError("listener cannot be null");this._parseListeners.push(listener)}removeParseListener(listener){let index=this._parseListeners.findIndex(l=>l===listener);-1!==index&&this._parseListeners.splice(index,1)}removeParseListeners(){this._parseListeners.length=0}triggerEnterRuleEvent(){for(let listener of this._parseListeners)listener.enterEveryRule&&listener.enterEveryRule(this._ctx),this._ctx.enterRule(listener)}triggerExitRuleEvent(){for(let i=this._parseListeners.length-1;i>=0;i--){let listener=this._parseListeners[i];this._ctx.exitRule(listener),listener.exitEveryRule&&listener.exitEveryRule(this._ctx)}}get numberOfSyntaxErrors(){return this._syntaxErrors}get tokenFactory(){return this._input.tokenSource.tokenFactory}getATNWithBypassAlts(){let serializedAtn=this.serializedATN;if(null==serializedAtn)throw new Error("The current parser does not support an ATN with bypass alternatives.");let result=Parser.bypassAltsAtnCache.get(serializedAtn);if(null==result){let deserializationOptions=new ATNDeserializationOptions_1.ATNDeserializationOptions;deserializationOptions.isGenerateRuleBypassTransitions=!0,result=new ATNDeserializer_1.ATNDeserializer(deserializationOptions).deserialize(Utils.toCharArray(serializedAtn)),Parser.bypassAltsAtnCache.set(serializedAtn,result)}return result}compileParseTreePattern(pattern,patternRuleIndex,lexer){return __awaiter(this,void 0,void 0,function*(){if(!lexer){if(this.inputStream){let tokenSource=this.inputStream.tokenSource;tokenSource instanceof Lexer_1.Lexer&&(lexer=tokenSource)}if(!lexer)throw new Error("Parser can't discover a lexer to use")}let currentLexer=lexer;return new((yield Promise.resolve().then(()=>__webpack_require__(7702))).ParseTreePatternMatcher)(currentLexer,this).compile(pattern,patternRuleIndex)})}get errorHandler(){return this._errHandler}set errorHandler(handler){this._errHandler=handler}get inputStream(){return this._input}set inputStream(input){this.reset(!1),this._input=input}get currentToken(){return this._input.LT(1)}notifyErrorListeners(msg,offendingToken,e){void 0===offendingToken?offendingToken=this.currentToken:null===offendingToken&&(offendingToken=void 0),this._syntaxErrors++;let line=-1,charPositionInLine=-1;null!=offendingToken&&(line=offendingToken.line,charPositionInLine=offendingToken.charPositionInLine);let listener=this.getErrorListenerDispatch();listener.syntaxError&&listener.syntaxError(this,offendingToken,line,charPositionInLine,msg,e)}consume(){let o=this.currentToken;o.type!==Parser.EOF&&this.inputStream.consume();let hasListener=0!==this._parseListeners.length;if(this._buildParseTrees||hasListener)if(this._errHandler.inErrorRecoveryMode(this)){let node2=this._ctx.addErrorNode(this.createErrorNode(this._ctx,o));if(hasListener)for(let listener of this._parseListeners)listener.visitErrorNode&&listener.visitErrorNode(node2)}else{let node2=this.createTerminalNode(this._ctx,o);if(this._ctx.addChild(node2),hasListener)for(let listener of this._parseListeners)listener.visitTerminal&&listener.visitTerminal(node2)}return o}createTerminalNode(parent,t){return new TerminalNode_1.TerminalNode(t)}createErrorNode(parent,t){return new ErrorNode_1.ErrorNode(t)}addContextToParseTree(){let parent=this._ctx._parent;parent?.addChild(this._ctx)}enterRule(localctx,state,ruleIndex){this.state=state,this._ctx=localctx,this._ctx._start=this._input.LT(1),this._buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}enterLeftFactoredRule(localctx,state,ruleIndex){if(this.state=state,this._buildParseTrees){let factoredContext=this._ctx.getChild(this._ctx.childCount-1);this._ctx.removeLastChild(),factoredContext._parent=localctx,localctx.addChild(factoredContext)}this._ctx=localctx,this._ctx._start=this._input.LT(1),this._buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx._stop=this.matchedEOF?this._input.LT(1):this._input.tryLT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx._parent}enterOuterAlt(localctx,altNum){if(localctx.altNumber=altNum,this._buildParseTrees&&this._ctx!==localctx){let parent=this._ctx._parent;null!=parent&&(parent.removeLastChild(),parent.addChild(localctx))}this._ctx=localctx}get precedence(){return this._precedenceStack.isEmpty?-1:this._precedenceStack.peek()}enterRecursionRule(localctx,state,ruleIndex,precedence){this.state=state,this._precedenceStack.push(precedence),this._ctx=localctx,this._ctx._start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(localctx,state,ruleIndex){let previous=this._ctx;previous._parent=localctx,previous.invokingState=state,previous._stop=this._input.tryLT(-1),this._ctx=localctx,this._ctx._start=previous._start,this._buildParseTrees&&this._ctx.addChild(previous),this.triggerEnterRuleEvent()}unrollRecursionContexts(_parentctx){this._precedenceStack.pop(),this._ctx._stop=this._input.tryLT(-1);let retctx=this._ctx;if(this._parseListeners.length>0)for(;this._ctx!==_parentctx;)this.triggerExitRuleEvent(),this._ctx=this._ctx._parent;else this._ctx=_parentctx;retctx._parent=_parentctx,this._buildParseTrees&&null!=_parentctx&&_parentctx.addChild(retctx)}getInvokingContext(ruleIndex){let p=this._ctx;for(;p&&p.ruleIndex!==ruleIndex;)p=p._parent;return p}get context(){return this._ctx}set context(ctx){this._ctx=ctx}precpred(localctx,precedence){return precedence>=this._precedenceStack.peek()}getErrorListenerDispatch(){return new ProxyParserErrorListener_1.ProxyParserErrorListener(this.getErrorListeners())}inContext(context){return!1}isExpectedToken(symbol){let atn=this.interpreter.atn,ctx=this._ctx,following=atn.nextTokens(atn.states[this.state]);if(following.contains(symbol))return!0;if(!following.contains(Token_1.Token.EPSILON))return!1;for(;null!=ctx&&ctx.invokingState>=0&&following.contains(Token_1.Token.EPSILON);){let rt=atn.states[ctx.invokingState].transition(0);if(following=atn.nextTokens(rt.followState),following.contains(symbol))return!0;ctx=ctx._parent}return!(!following.contains(Token_1.Token.EPSILON)||symbol!==Token_1.Token.EOF)}get isMatchedEOF(){return this.matchedEOF}getExpectedTokens(){return this.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){let atn=this.interpreter.atn;return atn.nextTokens(atn.states[this.state])}getRuleIndex(ruleName){return this.getRuleIndexMap().get(ruleName)??-1}get ruleContext(){return this._ctx}getRuleInvocationStack(ctx=this._ctx){let p=ctx,ruleNames=this.ruleNames,stack=[];for(;null!=p;){let ruleIndex=p.ruleIndex;stack.push(ruleIndex<0?"n/a":ruleNames[ruleIndex]),p=p._parent}return stack}getDFAStrings(){let s=[];for(let dfa of this._interp.atn.decisionToDFA)s.push(dfa.toString(this.vocabulary,this.ruleNames));return s}dumpDFA(){let seenOne=!1;for(let dfa of this._interp.atn.decisionToDFA)dfa.isEmpty||(seenOne&&console.log(),console.log("Decision "+dfa.decision+":"),process.stdout.write(dfa.toString(this.vocabulary,this.ruleNames)),seenOne=!0)}get sourceName(){return this._input.sourceName}get parseInfo(){return Promise.resolve().then(()=>__webpack_require__(2073)).then(m=>{let interp=this.interpreter;if(interp instanceof m.ProfilingATNSimulator)return new ParseInfo_1.ParseInfo(interp)})}setProfile(profile){return __awaiter(this,void 0,void 0,function*(){let m=yield Promise.resolve().then(()=>__webpack_require__(2073)),interp=this.interpreter;profile?interp instanceof m.ProfilingATNSimulator||(this.interpreter=new m.ProfilingATNSimulator(this)):interp instanceof m.ProfilingATNSimulator&&(this.interpreter=new ParserATNSimulator_1.ParserATNSimulator(this.atn,this)),this.interpreter.setPredictionMode(interp.getPredictionMode())})}set isTrace(trace){trace?(this._tracer?this.removeParseListener(this._tracer):this._tracer=new TraceListener(this.ruleNames,this._input),this.addParseListener(this._tracer)):this._tracer&&(this.removeParseListener(this._tracer),this._tracer=void 0)}get isTrace(){return null!=this._tracer}}Parser.bypassAltsAtnCache=new Map,__decorate([Decorators_1.NotNull],Parser.prototype,"_errHandler",void 0),__decorate([Decorators_1.NotNull],Parser.prototype,"match",null),__decorate([Decorators_1.NotNull],Parser.prototype,"matchWildcard",null),__decorate([Decorators_1.NotNull],Parser.prototype,"getParseListeners",null),__decorate([__param(0,Decorators_1.NotNull)],Parser.prototype,"addParseListener",null),__decorate([Decorators_1.NotNull],Parser.prototype,"getATNWithBypassAlts",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],Parser.prototype,"errorHandler",null),__decorate([Decorators_1.Override],Parser.prototype,"inputStream",null),__decorate([Decorators_1.NotNull],Parser.prototype,"currentToken",null),__decorate([__param(0,Decorators_1.NotNull)],Parser.prototype,"enterRule",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.Nullable)],Parser.prototype,"precpred",null),__decorate([Decorators_1.Override],Parser.prototype,"getErrorListenerDispatch",null),__decorate([Decorators_1.NotNull],Parser.prototype,"getExpectedTokens",null),__decorate([Decorators_1.NotNull],Parser.prototype,"getExpectedTokensWithinCurrentRule",null),__decorate([Decorators_1.Override],Parser.prototype,"parseInfo",null),exports.Parser=Parser},7070:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},1984:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParserInterpreter=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),BitSet_1=__webpack_require__(6625),FailedPredicateException_1=__webpack_require__(4482),InputMismatchException_1=__webpack_require__(9601),InterpreterRuleContext_1=__webpack_require__(4145),LoopEndState_1=__webpack_require__(9533),Decorators_1=__webpack_require__(4798),Decorators_2=__webpack_require__(4798),Parser_1=__webpack_require__(5278),ParserATNSimulator_1=__webpack_require__(7609),RecognitionException_1=__webpack_require__(6294),StarLoopEntryState_1=__webpack_require__(7123),Token_1=__webpack_require__(8770);let ParserInterpreter=class ParserInterpreter2 extends Parser_1.Parser{constructor(grammarFileName,vocabulary,ruleNames,atn,input){if(super(grammarFileName instanceof ParserInterpreter2?grammarFileName.inputStream:input),this._parentContextStack=[],this.overrideDecision=-1,this.overrideDecisionInputIndex=-1,this.overrideDecisionAlt=-1,this.overrideDecisionReached=!1,this._overrideDecisionRoot=void 0,grammarFileName instanceof ParserInterpreter2){let old=grammarFileName;this._grammarFileName=old._grammarFileName,this._atn=old._atn,this.pushRecursionContextStates=old.pushRecursionContextStates,this._ruleNames=old._ruleNames,this._vocabulary=old._vocabulary,this.interpreter=new ParserATNSimulator_1.ParserATNSimulator(this._atn,this)}else{this._grammarFileName=grammarFileName,this._atn=atn,this._ruleNames=ruleNames.slice(0),this._vocabulary=vocabulary,this.pushRecursionContextStates=new BitSet_1.BitSet(atn.states.length);for(let state of atn.states)state instanceof StarLoopEntryState_1.StarLoopEntryState&&state.precedenceRuleDecision&&this.pushRecursionContextStates.set(state.stateNumber);this.interpreter=new ParserATNSimulator_1.ParserATNSimulator(atn,this)}}reset(resetInput){void 0===resetInput?super.reset():super.reset(resetInput),this.overrideDecisionReached=!1,this._overrideDecisionRoot=void 0}get atn(){return this._atn}get vocabulary(){return this._vocabulary}get ruleNames(){return this._ruleNames}get grammarFileName(){return this._grammarFileName}parse(startRuleIndex){let startRuleStartState=this._atn.ruleToStartState[startRuleIndex];for(this._rootContext=this.createInterpreterRuleContext(void 0,ATNState_1.ATNState.INVALID_STATE_NUMBER,startRuleIndex),startRuleStartState.isPrecedenceRule?this.enterRecursionRule(this._rootContext,startRuleStartState.stateNumber,startRuleIndex,0):this.enterRule(this._rootContext,startRuleStartState.stateNumber,startRuleIndex);;){let p=this.atnState;if(p.stateType===ATNStateType_1.ATNStateType.RULE_STOP){if(this._ctx.isEmpty){if(startRuleStartState.isPrecedenceRule){let result=this._ctx,parentContext=this._parentContextStack.pop();return this.unrollRecursionContexts(parentContext[0]),result}return this.exitRule(),this._rootContext}this.visitRuleStopState(p)}else try{this.visitState(p)}catch(e){if(!(e instanceof RecognitionException_1.RecognitionException))throw e;this.state=this._atn.ruleToStopState[p.ruleIndex].stateNumber,this.context.exception=e,this.errorHandler.reportError(this,e),this.recover(e)}}}enterRecursionRule(localctx,state,ruleIndex,precedence){this._parentContextStack.push([this._ctx,localctx.invokingState]),super.enterRecursionRule(localctx,state,ruleIndex,precedence)}get atnState(){return this._atn.states[this.state]}visitState(p){let predictedAlt=1;p.numberOfTransitions>1&&(predictedAlt=this.visitDecisionState(p));let transition2=p.transition(predictedAlt-1);switch(transition2.serializationType){case 1:if(this.pushRecursionContextStates.get(p.stateNumber)&&!(transition2.target instanceof LoopEndState_1.LoopEndState)){let parentContext=this._parentContextStack[this._parentContextStack.length-1],localctx=this.createInterpreterRuleContext(parentContext[0],parentContext[1],this._ctx.ruleIndex);this.pushNewRecursionContext(localctx,this._atn.ruleToStartState[p.ruleIndex].stateNumber,this._ctx.ruleIndex)}break;case 5:this.match(transition2._label);break;case 2:case 7:case 8:transition2.matches(this._input.LA(1),Token_1.Token.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case 9:this.matchWildcard();break;case 3:let ruleStartState=transition2.target,ruleIndex=ruleStartState.ruleIndex,newctx=this.createInterpreterRuleContext(this._ctx,p.stateNumber,ruleIndex);ruleStartState.isPrecedenceRule?this.enterRecursionRule(newctx,ruleStartState.stateNumber,ruleIndex,transition2.precedence):this.enterRule(newctx,transition2.target.stateNumber,ruleIndex);break;case 4:if(!this.sempred(this._ctx,transition2.ruleIndex,transition2.predIndex))throw new FailedPredicateException_1.FailedPredicateException(this);break;case 6:this.action(this._ctx,transition2.ruleIndex,transition2.actionIndex);break;case 10:if(!this.precpred(this._ctx,transition2.precedence))throw new FailedPredicateException_1.FailedPredicateException(this,`precpred(_ctx, ${transition2.precedence})`);break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=transition2.target.stateNumber}visitDecisionState(p){let predictedAlt;this.errorHandler.sync(this);let decision=p.decision;return decision!==this.overrideDecision||this._input.index!==this.overrideDecisionInputIndex||this.overrideDecisionReached?predictedAlt=this.interpreter.adaptivePredict(this._input,decision,this._ctx):(predictedAlt=this.overrideDecisionAlt,this.overrideDecisionReached=!0),predictedAlt}createInterpreterRuleContext(parent,invokingStateNumber,ruleIndex){return new InterpreterRuleContext_1.InterpreterRuleContext(ruleIndex,parent,invokingStateNumber)}visitRuleStopState(p){if(this._atn.ruleToStartState[p.ruleIndex].isPrecedenceRule){let parentContext=this._parentContextStack.pop();this.unrollRecursionContexts(parentContext[0]),this.state=parentContext[1]}else this.exitRule();let ruleTransition=this._atn.states[this.state].transition(0);this.state=ruleTransition.followState.stateNumber}addDecisionOverride(decision,tokenIndex,forcedAlt){this.overrideDecision=decision,this.overrideDecisionInputIndex=tokenIndex,this.overrideDecisionAlt=forcedAlt}get overrideDecisionRoot(){return this._overrideDecisionRoot}recover(e){let i=this._input.index;if(this.errorHandler.recover(this,e),this._input.index===i){let tok=e.getOffendingToken();if(!tok)throw new Error("Expected exception to have an offending token");let source=tok.tokenSource,sourcePair={source,stream:void 0!==source?source.inputStream:void 0};if(e instanceof InputMismatchException_1.InputMismatchException){let expectedTokens=e.expectedTokens;if(void 0===expectedTokens)throw new Error("Expected the exception to provide expected tokens");let expectedTokenType=Token_1.Token.INVALID_TYPE;expectedTokens.isNil||(expectedTokenType=expectedTokens.minElement);let errToken=this.tokenFactory.create(sourcePair,expectedTokenType,tok.text,Token_1.Token.DEFAULT_CHANNEL,-1,-1,tok.line,tok.charPositionInLine);this._ctx.addErrorNode(this.createErrorNode(this._ctx,errToken))}else{let errToken=this.tokenFactory.create(sourcePair,Token_1.Token.INVALID_TYPE,tok.text,Token_1.Token.DEFAULT_CHANNEL,-1,-1,tok.line,tok.charPositionInLine);this._ctx.addErrorNode(this.createErrorNode(this._ctx,errToken))}}}recoverInline(){return this._errHandler.recoverInline(this)}get rootContext(){return this._rootContext}};__decorate([Decorators_1.NotNull],ParserInterpreter.prototype,"_vocabulary",void 0),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"reset",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"atn",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"vocabulary",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"ruleNames",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"grammarFileName",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"enterRecursionRule",null),ParserInterpreter=__decorate([__param(1,Decorators_1.NotNull)],ParserInterpreter),exports.ParserInterpreter=ParserInterpreter},3235:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParserRuleContext=void 0;const ErrorNode_1=__webpack_require__(8272),Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),RuleContext_1=__webpack_require__(325),TerminalNode_1=__webpack_require__(9561);class ParserRuleContext extends RuleContext_1.RuleContext{constructor(parent,invokingStateNumber){null==invokingStateNumber?super():super(parent,invokingStateNumber)}static emptyContext(){return ParserRuleContext.EMPTY}copyFrom(ctx){if(this._parent=ctx._parent,this.invokingState=ctx.invokingState,this._start=ctx._start,this._stop=ctx._stop,ctx.children){this.children=[];for(let child of ctx.children)child instanceof ErrorNode_1.ErrorNode&&this.addChild(child)}}enterRule(listener){}exitRule(listener){}addAnyChild(t){return this.children?this.children.push(t):this.children=[t],t}addChild(t){return t instanceof TerminalNode_1.TerminalNode?(t.setParent(this),void this.addAnyChild(t)):t instanceof RuleContext_1.RuleContext?void this.addAnyChild(t):(t=new TerminalNode_1.TerminalNode(t),this.addAnyChild(t),t.setParent(this),t)}addErrorNode(node2){if(node2 instanceof ErrorNode_1.ErrorNode){const errorNode=node2;return errorNode.setParent(this),this.addAnyChild(errorNode)}{let t=new ErrorNode_1.ErrorNode(node2);return this.addAnyChild(t),t.setParent(this),t}}removeLastChild(){this.children&&this.children.pop()}get parent(){let parent=super.parent;if(void 0===parent||parent instanceof ParserRuleContext)return parent;throw new TypeError("Invalid parent type for ParserRuleContext")}getChild(i,ctxType){if(!this.children||i<0||i>=this.children.length)throw new RangeError("index parameter must be between >= 0 and <= number of children.");if(null==ctxType)return this.children[i];let result=this.tryGetChild(i,ctxType);if(void 0===result)throw new Error("The specified node does not exist");return result}tryGetChild(i,ctxType){if(!this.children||i<0||i>=this.children.length)return;let j=-1;for(let o of this.children)if(o instanceof ctxType&&(j++,j===i))return o}getToken(ttype,i){let result=this.tryGetToken(ttype,i);if(void 0===result)throw new Error("The specified token does not exist");return result}tryGetToken(ttype,i){if(!this.children||i<0||i>=this.children.length)return;let j=-1;for(let o of this.children)if(o instanceof TerminalNode_1.TerminalNode&&o.symbol.type===ttype&&(j++,j===i))return o}getTokens(ttype){let tokens=[];if(!this.children)return tokens;for(let o of this.children)o instanceof TerminalNode_1.TerminalNode&&o.symbol.type===ttype&&tokens.push(o);return tokens}get ruleContext(){return this}getRuleContext(i,ctxType){return this.getChild(i,ctxType)}tryGetRuleContext(i,ctxType){return this.tryGetChild(i,ctxType)}getRuleContexts(ctxType){let contexts=[];if(!this.children)return contexts;for(let o of this.children)o instanceof ctxType&&contexts.push(o);return contexts}get childCount(){return this.children?this.children.length:0}get sourceInterval(){return this._start?Interval_1.Interval.of(this._start.tokenIndex,!this._stop||this._stop.tokenIndex=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProxyErrorListener=void 0;const Decorators_1=__webpack_require__(4798);class ProxyErrorListener{constructor(delegates){if(this.delegates=delegates,!delegates)throw new Error("Invalid delegates")}getDelegates(){return this.delegates}syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e){this.delegates.forEach(listener=>{listener.syntaxError&&listener.syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e)})}}__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(4,Decorators_1.NotNull)],ProxyErrorListener.prototype,"syntaxError",null),exports.ProxyErrorListener=ProxyErrorListener},6305:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProxyParserErrorListener=void 0;const ProxyErrorListener_1=__webpack_require__(4986),Decorators_1=__webpack_require__(4798);class ProxyParserErrorListener extends ProxyErrorListener_1.ProxyErrorListener{constructor(delegates){super(delegates)}reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs){this.getDelegates().forEach(listener=>{listener.reportAmbiguity&&listener.reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs)})}reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,conflictState){this.getDelegates().forEach(listener=>{listener.reportAttemptingFullContext&&listener.reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,conflictState)})}reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,acceptState){this.getDelegates().forEach(listener=>{listener.reportContextSensitivity&&listener.reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,acceptState)})}}__decorate([Decorators_1.Override],ProxyParserErrorListener.prototype,"reportAmbiguity",null),__decorate([Decorators_1.Override],ProxyParserErrorListener.prototype,"reportAttemptingFullContext",null),__decorate([Decorators_1.Override],ProxyParserErrorListener.prototype,"reportContextSensitivity",null),exports.ProxyParserErrorListener=ProxyParserErrorListener},6294:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RecognitionException=void 0;class RecognitionException extends Error{constructor(recognizer,input,ctx,message){super(message),this._offendingState=-1,this._recognizer=recognizer,this.input=input,this.ctx=ctx,recognizer&&(this._offendingState=recognizer.state)}get offendingState(){return this._offendingState}setOffendingState(offendingState){this._offendingState=offendingState}get expectedTokens(){if(this._recognizer)return this._recognizer.atn.getExpectedTokens(this._offendingState,this.ctx)}get context(){return this.ctx}get inputStream(){return this.input}getOffendingToken(recognizer){if(!recognizer||recognizer===this._recognizer)return this.offendingToken}setOffendingToken(recognizer,offendingToken){recognizer===this._recognizer&&(this.offendingToken=offendingToken)}get recognizer(){return this._recognizer}}exports.RecognitionException=RecognitionException},5705:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Recognizer=void 0,__webpack_require__(6972);const ProxyErrorListener_1=__webpack_require__(4986),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770),Utils=__webpack_require__(2028);class Recognizer{constructor(){this._listeners=[],this._stateNumber=-1}getTokenTypeMap(){let vocabulary=this.vocabulary,result=Recognizer.tokenTypeMapCache.get(vocabulary);if(null==result){let intermediateResult=new Map;for(let i=0;i<=this.atn.maxTokenType;i++){let literalName=vocabulary.getLiteralName(i);null!=literalName&&intermediateResult.set(literalName,i);let symbolicName=vocabulary.getSymbolicName(i);null!=symbolicName&&intermediateResult.set(symbolicName,i)}intermediateResult.set("EOF",Token_1.Token.EOF),result=intermediateResult,Recognizer.tokenTypeMapCache.set(vocabulary,result)}return result}getRuleIndexMap(){let ruleNames=this.ruleNames;if(null==ruleNames)throw new Error("The current recognizer does not provide a list of rule names.");let result=Recognizer.ruleIndexMapCache.get(ruleNames);return null==result&&(result=Utils.toMap(ruleNames),Recognizer.ruleIndexMapCache.set(ruleNames,result)),result}getTokenType(tokenName){return this.getTokenTypeMap().get(tokenName)??Token_1.Token.INVALID_TYPE}get serializedATN(){throw new Error("there is no serialized ATN")}get atn(){return this._interp.atn}get interpreter(){return this._interp}set interpreter(interpreter){this._interp=interpreter}get parseInfo(){return Promise.resolve(void 0)}getErrorHeader(e){let token=e.getOffendingToken();return token?"line "+token.line+":"+token.charPositionInLine:""}addErrorListener(listener){if(!listener)throw new TypeError("listener must not be null");this._listeners.push(listener)}removeErrorListener(listener){let position=this._listeners.indexOf(listener);-1!==position&&this._listeners.splice(position,1)}removeErrorListeners(){this._listeners.length=0}getErrorListeners(){return this._listeners.slice(0)}getErrorListenerDispatch(){return new ProxyErrorListener_1.ProxyErrorListener(this.getErrorListeners())}sempred(_localctx,ruleIndex,actionIndex){return!0}precpred(localctx,precedence){return!0}action(_localctx,ruleIndex,actionIndex){}get state(){return this._stateNumber}set state(atnState){this._stateNumber=atnState}}Recognizer.EOF=-1,Recognizer.tokenTypeMapCache=new WeakMap,Recognizer.ruleIndexMapCache=new WeakMap,__decorate([Decorators_1.SuppressWarnings("serial"),Decorators_1.NotNull],Recognizer.prototype,"_listeners",void 0),__decorate([Decorators_1.NotNull],Recognizer.prototype,"getTokenTypeMap",null),__decorate([Decorators_1.NotNull],Recognizer.prototype,"getRuleIndexMap",null),__decorate([Decorators_1.NotNull],Recognizer.prototype,"serializedATN",null),__decorate([Decorators_1.NotNull],Recognizer.prototype,"atn",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],Recognizer.prototype,"interpreter",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],Recognizer.prototype,"getErrorHeader",null),__decorate([__param(0,Decorators_1.NotNull)],Recognizer.prototype,"addErrorListener",null),__decorate([__param(0,Decorators_1.NotNull)],Recognizer.prototype,"removeErrorListener",null),__decorate([Decorators_1.NotNull],Recognizer.prototype,"getErrorListeners",null),exports.Recognizer=Recognizer},325:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleContext=void 0;const ATN_1=__webpack_require__(4495),Recognizer_1=__webpack_require__(5705),RuleNode_1=__webpack_require__(2416),Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),ParserRuleContext_1=__webpack_require__(3235);class RuleContext extends RuleNode_1.RuleNode{constructor(parent,invokingState){super(),this._parent=parent,this.invokingState=invokingState??-1}static getChildContext(parent,invokingState){return new RuleContext(parent,invokingState)}depth(){let n=0,p=this;for(;p;)p=p._parent,n++;return n}get isEmpty(){return-1===this.invokingState}get sourceInterval(){return Interval_1.Interval.INVALID}get ruleContext(){return this}get parent(){return this._parent}setParent(parent){this._parent=parent}get payload(){return this}get text(){if(0===this.childCount)return"";let builder="";for(let i=0;i=0&&ruleIndex=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleContextWithAltNum=void 0;const ATN_1=__webpack_require__(4495),Decorators_1=__webpack_require__(4798),ParserRuleContext_1=__webpack_require__(3235);class RuleContextWithAltNum extends ParserRuleContext_1.ParserRuleContext{constructor(parent,invokingStateNumber){void 0!==invokingStateNumber?super(parent,invokingStateNumber):super(),this._altNumber=ATN_1.ATN.INVALID_ALT_NUMBER}get altNumber(){return this._altNumber}set altNumber(altNum){this._altNumber=altNum}}__decorate([Decorators_1.Override],RuleContextWithAltNum.prototype,"altNumber",null),exports.RuleContextWithAltNum=RuleContextWithAltNum},6424:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleDependency=void 0,exports.RuleDependency=function RuleDependency(dependency){return(target,propertyKey,propertyDescriptor)=>{}}},3656:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleVersion=void 0,exports.RuleVersion=function RuleVersion(version){return(target,propertyKey,propertyDescriptor)=>{}}},8770:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Token=void 0;const IntStream_1=__webpack_require__(9627);var Token2;(Token2=exports.Token||(exports.Token={})).INVALID_TYPE=0,Token2.EPSILON=-2,Token2.MIN_USER_TOKEN_TYPE=1,Token2.EOF=IntStream_1.IntStream.EOF,Token2.DEFAULT_CHANNEL=0,Token2.HIDDEN_CHANNEL=1,Token2.MIN_USER_CHANNEL_VALUE=2},5253:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},3062:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},3357:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},9904:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RewriteOperation=exports.TokenStreamRewriter=void 0;const Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);class TokenStreamRewriter{constructor(tokens){this.tokens=tokens,this.programs=new Map,this.programs.set(TokenStreamRewriter.DEFAULT_PROGRAM_NAME,[]),this.lastRewriteTokenIndexes=new Map}getTokenStream(){return this.tokens}rollback(instructionIndex,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let is=this.programs.get(programName);null!=is&&this.programs.set(programName,is.slice(TokenStreamRewriter.MIN_TOKEN_INDEX,instructionIndex))}deleteProgram(programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){this.rollback(TokenStreamRewriter.MIN_TOKEN_INDEX,programName)}insertAfter(tokenOrIndex,text,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let index;index="number"==typeof tokenOrIndex?tokenOrIndex:tokenOrIndex.tokenIndex;let rewrites=this.getProgram(programName),op=new InsertAfterOp(this.tokens,index,rewrites.length,text);rewrites.push(op)}insertBefore(tokenOrIndex,text,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let index;index="number"==typeof tokenOrIndex?tokenOrIndex:tokenOrIndex.tokenIndex;let rewrites=this.getProgram(programName),op=new InsertBeforeOp(this.tokens,index,rewrites.length,text);rewrites.push(op)}replaceSingle(index,text){this.replace(index,index,text)}replace(from2,to,text,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){if("number"!=typeof from2&&(from2=from2.tokenIndex),"number"!=typeof to&&(to=to.tokenIndex),from2>to||from2<0||to<0||to>=this.tokens.size)throw new RangeError(`replace: range invalid: ${from2}..${to}(size=${this.tokens.size})`);let rewrites=this.getProgram(programName),op=new ReplaceOp(this.tokens,from2,to,rewrites.length,text);rewrites.push(op)}delete(from2,to,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){void 0===to&&(to=from2),this.replace(from2,to,"",programName)}getLastRewriteTokenIndex(programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){return this.lastRewriteTokenIndexes.get(programName)??-1}setLastRewriteTokenIndex(programName,i){this.lastRewriteTokenIndexes.set(programName,i)}getProgram(name){let is=this.programs.get(name);return null==is&&(is=this.initializeProgram(name)),is}initializeProgram(name){let is=[];return this.programs.set(name,is),is}getText(intervalOrProgram,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let interval;interval=intervalOrProgram instanceof Interval_1.Interval?intervalOrProgram:Interval_1.Interval.of(0,this.tokens.size-1),"string"==typeof intervalOrProgram&&(programName=intervalOrProgram);let rewrites=this.programs.get(programName),start=interval.a,stop=interval.b;if(stop>this.tokens.size-1&&(stop=this.tokens.size-1),start<0&&(start=0),null==rewrites||0===rewrites.length)return this.tokens.getText(interval);let buf=[],indexToOp=this.reduceToSingleOperationPerIndex(rewrites),i=start;for(;i<=stop&&i=this.tokens.size-1&&buf.push(op.text.toString());return buf.join("")}reduceToSingleOperationPerIndex(rewrites){for(let i=0;irop.index&&iop.index<=rop.lastIndex&&(rewrites[iop.instructionIndex]=void 0);let prevReplaces=this.getKindOfOps(rewrites,ReplaceOp,i);for(let prevRop of prevReplaces){if(prevRop.index>=rop.index&&prevRop.lastIndex<=rop.lastIndex){rewrites[prevRop.instructionIndex]=void 0;continue}let disjoint=prevRop.lastIndexrop.lastIndex;if(null!=prevRop.text||null!=rop.text||disjoint){if(!disjoint)throw new Error(`replace op boundaries of ${rop} overlap with previous ${prevRop}`)}else rewrites[prevRop.instructionIndex]=void 0,rop.index=Math.min(prevRop.index,rop.index),rop.lastIndex=Math.max(prevRop.lastIndex,rop.lastIndex)}}for(let i=0;i=rop.index&&iop.index<=rop.lastIndex)throw new Error(`insert op ${iop} within boundaries of previous ${rop}`)}else rop.text=this.catOpText(iop.text,rop.text),rewrites[i]=void 0}let m=new Map;for(let op of rewrites)if(null!=op){if(null!=m.get(op.index))throw new Error("should only be one op per index");m.set(op.index,op)}return m}catOpText(a,b){let x="",y="";return null!=a&&(x=a.toString()),null!=b&&(y=b.toString()),x+y}getKindOfOps(rewrites,kind,before){let ops=[];for(let i=0;i'}}__decorate([Decorators_1.Override],RewriteOperation.prototype,"toString",null),exports.RewriteOperation=RewriteOperation;class InsertBeforeOp extends RewriteOperation{constructor(tokens,index,instructionIndex,text){super(tokens,index,instructionIndex,text)}execute(buf){return buf.push(this.text.toString()),this.tokens.get(this.index).type!==Token_1.Token.EOF&&buf.push(String(this.tokens.get(this.index).text)),this.index+1}}__decorate([Decorators_1.Override],InsertBeforeOp.prototype,"execute",null);class InsertAfterOp extends InsertBeforeOp{constructor(tokens,index,instructionIndex,text){super(tokens,index+1,instructionIndex,text)}}class ReplaceOp extends RewriteOperation{constructor(tokens,from2,to,instructionIndex,text){super(tokens,from2,instructionIndex,text),this.lastIndex=to}execute(buf){return null!=this.text&&buf.push(this.text.toString()),this.lastIndex+1}toString(){return null==this.text?"":"'}}__decorate([Decorators_1.Override],ReplaceOp.prototype,"execute",null),__decorate([Decorators_1.Override],ReplaceOp.prototype,"toString",null)},3935:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},4221:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.VocabularyImpl=void 0;const Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);class VocabularyImpl{constructor(literalNames,symbolicNames,displayNames){this.literalNames=literalNames,this.symbolicNames=symbolicNames,this.displayNames=displayNames,this._maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}get maxTokenType(){return this._maxTokenType}getLiteralName(tokenType){if(tokenType>=0&&tokenType=0&&tokenType=0&&tokenType{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},4495:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATN=void 0;const Array2DHashMap_1=__webpack_require__(6746),DFA_1=__webpack_require__(7855),IntervalSet_1=__webpack_require__(3951),InvalidState_1=__webpack_require__(8592),LL1Analyzer_1=__webpack_require__(4791),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),Token_1=__webpack_require__(8770),assert=__webpack_require__(5936);let ATN=class{constructor(grammarType,maxTokenType){this.states=[],this.decisionToState=[],this.modeNameToStartState=new Map,this.modeToStartState=[],this.contextCache=new Array2DHashMap_1.Array2DHashMap(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.decisionToDFA=[],this.modeToDFA=[],this.LL1Table=new Map,this.grammarType=grammarType,this.maxTokenType=maxTokenType}clearDFA(){this.decisionToDFA=new Array(this.decisionToState.length);for(let i=0;i0)return this.decisionToState[decision]}get numberOfDecisions(){return this.decisionToState.length}getExpectedTokens(stateNumber,context){if(stateNumber<0||stateNumber>=this.states.length)throw new RangeError("Invalid state number.");let ctx=context,following=this.nextTokens(this.states[stateNumber]);if(!following.contains(Token_1.Token.EPSILON))return following;let expected=new IntervalSet_1.IntervalSet;for(expected.addAll(following),expected.remove(Token_1.Token.EPSILON);null!=ctx&&ctx.invokingState>=0&&following.contains(Token_1.Token.EPSILON);){let rt=this.states[ctx.invokingState].transition(0);following=this.nextTokens(rt.followState),expected.addAll(following),expected.remove(Token_1.Token.EPSILON),ctx=ctx._parent}return following.contains(Token_1.Token.EPSILON)&&expected.add(Token_1.Token.EOF),expected}};__decorate([Decorators_1.NotNull],ATN.prototype,"states",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"decisionToState",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"modeNameToStartState",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"modeToStartState",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"decisionToDFA",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"modeToDFA",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"nextTokens",null),__decorate([__param(0,Decorators_1.NotNull)],ATN.prototype,"removeState",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ATN.prototype,"defineMode",null),__decorate([__param(0,Decorators_1.NotNull)],ATN.prototype,"defineDecisionState",null),__decorate([Decorators_1.NotNull],ATN.prototype,"getExpectedTokens",null),ATN=__decorate([__param(0,Decorators_1.NotNull)],ATN),exports.ATN=ATN,(ATN=exports.ATN||(exports.ATN={})).INVALID_ALT_NUMBER=0,exports.ATN=ATN},8595:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNConfig=void 0;const Array2DHashMap_1=__webpack_require__(6746),DecisionState_1=__webpack_require__(2992),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),SemanticContext_1=__webpack_require__(7909),assert=__webpack_require__(5936);let ATNConfig=class ATNConfig2{constructor(state,altOrConfig,context){"number"==typeof altOrConfig?(assert((16777215&altOrConfig)===altOrConfig),this._state=state,this.altAndOuterContextDepth=altOrConfig,this._context=context):(this._state=state,this.altAndOuterContextDepth=altOrConfig.altAndOuterContextDepth,this._context=context)}static create(state,alt,context,semanticContext=SemanticContext_1.SemanticContext.NONE,lexerActionExecutor){return semanticContext!==SemanticContext_1.SemanticContext.NONE?null!=lexerActionExecutor?new ActionSemanticContextATNConfig(lexerActionExecutor,semanticContext,state,alt,context,!1):new SemanticContextATNConfig(semanticContext,state,alt,context):null!=lexerActionExecutor?new ActionATNConfig(lexerActionExecutor,state,alt,context,!1):new ATNConfig2(state,alt,context)}get state(){return this._state}get alt(){return 16777215&this.altAndOuterContextDepth}get context(){return this._context}set context(context){this._context=context}get reachesIntoOuterContext(){return 0!==this.outerContextDepth}get outerContextDepth(){return this.altAndOuterContextDepth>>>24&127}set outerContextDepth(outerContextDepth){assert(outerContextDepth>=0),outerContextDepth=Math.min(outerContextDepth,127),this.altAndOuterContextDepth=outerContextDepth<<24|(-2130706433&this.altAndOuterContextDepth)>>>0}get lexerActionExecutor(){}get semanticContext(){return SemanticContext_1.SemanticContext.NONE}get hasPassedThroughNonGreedyDecision(){return!1}clone(){return this.transform(this.state,!1)}transform(state,checkNonGreedy,arg2){return null==arg2?this.transformImpl(state,this._context,this.semanticContext,checkNonGreedy,this.lexerActionExecutor):arg2 instanceof PredictionContext_1.PredictionContext?this.transformImpl(state,arg2,this.semanticContext,checkNonGreedy,this.lexerActionExecutor):arg2 instanceof SemanticContext_1.SemanticContext?this.transformImpl(state,this._context,arg2,checkNonGreedy,this.lexerActionExecutor):this.transformImpl(state,this._context,this.semanticContext,checkNonGreedy,arg2)}transformImpl(state,context,semanticContext,checkNonGreedy,lexerActionExecutor){let passedThroughNonGreedy=checkNonGreedy&&ATNConfig2.checkNonGreedyDecision(this,state);return semanticContext!==SemanticContext_1.SemanticContext.NONE?null!=lexerActionExecutor||passedThroughNonGreedy?new ActionSemanticContextATNConfig(lexerActionExecutor,semanticContext,state,this,context,passedThroughNonGreedy):new SemanticContextATNConfig(semanticContext,state,this,context):null!=lexerActionExecutor||passedThroughNonGreedy?new ActionATNConfig(lexerActionExecutor,state,this,context,passedThroughNonGreedy):new ATNConfig2(state,this,context)}static checkNonGreedyDecision(source,target){return source.hasPassedThroughNonGreedyDecision||target instanceof DecisionState_1.DecisionState&&target.nonGreedy}appendContext(context,contextCache){if("number"==typeof context){let appendedContext=this.context.appendSingleContext(context,contextCache);return this.transform(this.state,!1,appendedContext)}{let appendedContext=this.context.appendContext(context,contextCache);return this.transform(this.state,!1,appendedContext)}}contains(subconfig){if(this.state.stateNumber!==subconfig.state.stateNumber||this.alt!==subconfig.alt||!this.semanticContext.equals(subconfig.semanticContext))return!1;let leftWorkList=[],rightWorkList=[];for(leftWorkList.push(this.context),rightWorkList.push(subconfig.context);;){let left=leftWorkList.pop(),right=rightWorkList.pop();if(!left||!right)break;if(left===right)return!0;if(left.size=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNConfigSet=void 0;const Array2DHashMap_1=__webpack_require__(6746),Array2DHashSet_1=__webpack_require__(9792),ArrayEqualityComparator_1=__webpack_require__(6481),ATN_1=__webpack_require__(4495),ATNConfig_1=__webpack_require__(8595),BitSet_1=__webpack_require__(6625),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),PredictionContextCache_1=__webpack_require__(2685),SemanticContext_1=__webpack_require__(7909),assert=__webpack_require__(5936),Utils=__webpack_require__(2028);class KeyTypeEqualityComparer{hashCode(key){return key.state^key.alt}equals(a,b){return a.state===b.state&&a.alt===b.alt}}function NewKeyedConfigMap(map2){return new Array2DHashMap_1.Array2DHashMap(map2||KeyTypeEqualityComparer.INSTANCE)}KeyTypeEqualityComparer.INSTANCE=new KeyTypeEqualityComparer;class ATNConfigSet{constructor(set,readonly){this._uniqueAlt=0,this._hasSemanticContext=!1,this._dipsIntoOuterContext=!1,this.outermostConfigSet=!1,this.cachedHashCode=-1,set?(readonly?(this.mergedConfigs=void 0,this.unmerged=void 0):set.isReadOnly?(this.mergedConfigs=NewKeyedConfigMap(),this.unmerged=[]):(this.mergedConfigs=NewKeyedConfigMap(set.mergedConfigs),this.unmerged=set.unmerged.slice(0)),this.configs=set.configs.slice(0),this._dipsIntoOuterContext=set._dipsIntoOuterContext,this._hasSemanticContext=set._hasSemanticContext,this.outermostConfigSet=set.outermostConfigSet,(readonly||!set.isReadOnly)&&(this._uniqueAlt=set._uniqueAlt,this._conflictInfo=set._conflictInfo)):(this.mergedConfigs=NewKeyedConfigMap(),this.unmerged=[],this.configs=[],this._uniqueAlt=ATN_1.ATN.INVALID_ALT_NUMBER)}getRepresentedAlternatives(){if(null!=this._conflictInfo)return this._conflictInfo.conflictedAlts.clone();let alts=new BitSet_1.BitSet;for(let config of this)alts.set(config.alt);return alts}get isReadOnly(){return null==this.mergedConfigs}get isOutermostConfigSet(){return this.outermostConfigSet}set isOutermostConfigSet(outermostConfigSet){if(this.outermostConfigSet&&!outermostConfigSet)throw new Error("IllegalStateException");assert(!outermostConfigSet||!this._dipsIntoOuterContext),this.outermostConfigSet=outermostConfigSet}getStates(){let states=new Array2DHashSet_1.Array2DHashSet(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE);for(let c of this.configs)states.add(c.state);return states}optimizeConfigs(interpreter){if(0!==this.configs.length)for(let config of this.configs)config.context=interpreter.atn.getCachedContext(config.context)}clone(readonly){let copy=new ATNConfigSet(this,readonly);return!readonly&&this.isReadOnly&©.addAll(this.configs),copy}get size(){return this.configs.length}get isEmpty(){return 0===this.configs.length}contains(o){if(!(o instanceof ATNConfig_1.ATNConfig))return!1;if(this.mergedConfigs&&this.unmerged){let config=o,configKey=this.getKey(config),mergedConfig=this.mergedConfigs.get(configKey);if(null!=mergedConfig&&this.canMerge(config,configKey,mergedConfig))return mergedConfig.contains(config);for(let c of this.unmerged)if(c.contains(o))return!0}else for(let c of this.configs)if(c.contains(o))return!0;return!1}*[Symbol.iterator](){yield*this.configs}toArray(){return this.configs}add(e,contextCache){if(this.ensureWritable(),!this.mergedConfigs||!this.unmerged)throw new Error("Covered by ensureWritable but duplicated here for strict null check limitation");assert(!this.outermostConfigSet||!e.reachesIntoOuterContext),null==contextCache&&(contextCache=PredictionContextCache_1.PredictionContextCache.UNCACHED);let addKey,key=this.getKey(e),mergedConfig=this.mergedConfigs.get(key);if(addKey=null==mergedConfig,null!=mergedConfig&&this.canMerge(e,key,mergedConfig)){mergedConfig.outerContextDepth=Math.max(mergedConfig.outerContextDepth,e.outerContextDepth),e.isPrecedenceFilterSuppressed&&(mergedConfig.isPrecedenceFilterSuppressed=!0);let joined=PredictionContext_1.PredictionContext.join(mergedConfig.context,e.context,contextCache);return this.updatePropertiesForMergedConfig(e),mergedConfig.context!==joined&&(mergedConfig.context=joined,!0)}for(let i=0;io1.alt!==o2.alt?o1.alt-o2.alt:o1.state.stateNumber!==o2.state.stateNumber?o1.state.stateNumber-o2.state.stateNumber:o1.semanticContext.toString().localeCompare(o2.semanticContext.toString())),buf+="[";for(let i=0;i0&&(buf+=", "),buf+=sortedConfigs[i].toString(void 0,!0,showContext);return buf+="]",this._hasSemanticContext&&(buf+=",hasSemanticContext="+this._hasSemanticContext),this._uniqueAlt!==ATN_1.ATN.INVALID_ALT_NUMBER&&(buf+=",uniqueAlt="+this._uniqueAlt),null!=this._conflictInfo&&(buf+=",conflictingAlts="+this._conflictInfo.conflictedAlts,this._conflictInfo.isExact||(buf+="*")),this._dipsIntoOuterContext&&(buf+=",dipsIntoOuterContext"),buf.toString()}get uniqueAlt(){return this._uniqueAlt}get hasSemanticContext(){return this._hasSemanticContext}set hasSemanticContext(value){this.ensureWritable(),this._hasSemanticContext=value}get conflictInfo(){return this._conflictInfo}set conflictInfo(conflictInfo){this.ensureWritable(),this._conflictInfo=conflictInfo}get conflictingAlts(){if(null!=this._conflictInfo)return this._conflictInfo.conflictedAlts}get isExactConflict(){return null!=this._conflictInfo&&this._conflictInfo.isExact}get dipsIntoOuterContext(){return this._dipsIntoOuterContext}get(index){return this.configs[index]}ensureWritable(){if(this.isReadOnly)throw new Error("This ATNConfigSet is read only.")}}__decorate([Decorators_1.NotNull],ATNConfigSet.prototype,"getRepresentedAlternatives",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"size",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"isEmpty",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"contains",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,Symbol.iterator,null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"toArray",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"containsAll",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"clear",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"equals",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"hashCode",null),exports.ATNConfigSet=ATNConfigSet},7080:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNDeserializationOptions=void 0;const Decorators_1=__webpack_require__(4798);class ATNDeserializationOptions{constructor(options){this.readOnly=!1,options?(this.verifyATN=options.verifyATN,this.generateRuleBypassTransitions=options.generateRuleBypassTransitions,this.optimize=options.optimize):(this.verifyATN=!0,this.generateRuleBypassTransitions=!1,this.optimize=!0)}static get defaultOptions(){return null==ATNDeserializationOptions._defaultOptions&&(ATNDeserializationOptions._defaultOptions=new ATNDeserializationOptions,ATNDeserializationOptions._defaultOptions.makeReadOnly()),ATNDeserializationOptions._defaultOptions}get isReadOnly(){return this.readOnly}makeReadOnly(){this.readOnly=!0}get isVerifyATN(){return this.verifyATN}set isVerifyATN(verifyATN){this.throwIfReadOnly(),this.verifyATN=verifyATN}get isGenerateRuleBypassTransitions(){return this.generateRuleBypassTransitions}set isGenerateRuleBypassTransitions(generateRuleBypassTransitions){this.throwIfReadOnly(),this.generateRuleBypassTransitions=generateRuleBypassTransitions}get isOptimize(){return this.optimize}set isOptimize(optimize){this.throwIfReadOnly(),this.optimize=optimize}throwIfReadOnly(){if(this.isReadOnly)throw new Error("The object is read only.")}}__decorate([Decorators_1.NotNull],ATNDeserializationOptions,"defaultOptions",null),exports.ATNDeserializationOptions=ATNDeserializationOptions},9940:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNDeserializer=void 0;const ActionTransition_1=__webpack_require__(9318),Array2DHashSet_1=__webpack_require__(9792),ATN_1=__webpack_require__(4495),ATNDeserializationOptions_1=__webpack_require__(7080),ATNStateType_1=__webpack_require__(5495),AtomTransition_1=__webpack_require__(3149),BasicBlockStartState_1=__webpack_require__(6060),BasicState_1=__webpack_require__(9759),BitSet_1=__webpack_require__(6625),BlockEndState_1=__webpack_require__(3257),BlockStartState_1=__webpack_require__(852),DecisionState_1=__webpack_require__(2992),DFA_1=__webpack_require__(7855),EpsilonTransition_1=__webpack_require__(6343),IntervalSet_1=__webpack_require__(3951),InvalidState_1=__webpack_require__(8592),LexerChannelAction_1=__webpack_require__(6263),LexerCustomAction_1=__webpack_require__(8310),LexerModeAction_1=__webpack_require__(4240),LexerMoreAction_1=__webpack_require__(905),LexerPopModeAction_1=__webpack_require__(825),LexerPushModeAction_1=__webpack_require__(8031),LexerSkipAction_1=__webpack_require__(7893),LexerTypeAction_1=__webpack_require__(3758),LoopEndState_1=__webpack_require__(9533),Decorators_1=__webpack_require__(4798),NotSetTransition_1=__webpack_require__(9087),ParserATNSimulator_1=__webpack_require__(7609),PlusBlockStartState_1=__webpack_require__(8132),PlusLoopbackState_1=__webpack_require__(8659),PrecedencePredicateTransition_1=__webpack_require__(896),PredicateTransition_1=__webpack_require__(1447),RangeTransition_1=__webpack_require__(4242),RuleStartState_1=__webpack_require__(1045),RuleStopState_1=__webpack_require__(8059),RuleTransition_1=__webpack_require__(7937),SetTransition_1=__webpack_require__(619),StarBlockStartState_1=__webpack_require__(2749),StarLoopbackState_1=__webpack_require__(6583),StarLoopEntryState_1=__webpack_require__(7123),Token_1=__webpack_require__(8770),TokensStartState_1=__webpack_require__(5153),UUID_1=__webpack_require__(5662),WildcardTransition_1=__webpack_require__(7902);class ATNDeserializer{constructor(deserializationOptions){void 0===deserializationOptions&&(deserializationOptions=ATNDeserializationOptions_1.ATNDeserializationOptions.defaultOptions),this.deserializationOptions=deserializationOptions}static get SERIALIZED_VERSION(){return 3}static isFeatureSupported(feature,actualUuid){let featureIndex=ATNDeserializer.SUPPORTED_UUIDS.findIndex(e=>e.equals(feature));return!(featureIndex<0)&&ATNDeserializer.SUPPORTED_UUIDS.findIndex(e=>e.equals(actualUuid))>=featureIndex}static getUnicodeDeserializer(mode){return 0===mode?{readUnicode:(data,p)=>ATNDeserializer.toInt(data[p]),size:1}:{readUnicode:(data,p)=>ATNDeserializer.toInt32(data,p),size:2}}deserialize(data){data=data.slice(0);for(let i=1;ie.equals(uuid))<0)throw new Error(`Could not deserialize ATN with UUID ${uuid} (expected ${ATNDeserializer.SERIALIZED_UUID} or a legacy UUID).`);let supportsLexerActions=ATNDeserializer.isFeatureSupported(ATNDeserializer.ADDED_LEXER_ACTIONS,uuid),grammarType=ATNDeserializer.toInt(data[p++]),maxTokenType=ATNDeserializer.toInt(data[p++]),atn=new ATN_1.ATN(grammarType,maxTokenType),loopBackStateNumbers=[],endStateNumbers=[],nstates=ATNDeserializer.toInt(data[p++]);for(let i=0;io.stopState^o.returnState^o.outermostPrecedenceReturn,equals:(a,b)=>a.stopState===b.stopState&&a.returnState===b.returnState&&a.outermostPrecedenceReturn===b.outermostPrecedenceReturn}),returnTransitions=[];for(let state of atn.states){let returningToLeftFactored=state.ruleIndex>=0&&atn.ruleToStartState[state.ruleIndex].leftFactored;for(let i=0;i0;){let transition2=atn.ruleToStartState[i].removeTransition(atn.ruleToStartState[i].numberOfTransitions-1);bypassStart.addTransition(transition2)}atn.ruleToStartState[i].addTransition(new EpsilonTransition_1.EpsilonTransition(bypassStart)),bypassStop.addTransition(new EpsilonTransition_1.EpsilonTransition(endState));let matchState=new BasicState_1.BasicState;atn.addState(matchState),matchState.addTransition(new AtomTransition_1.AtomTransition(bypassStop,atn.ruleToTokenType[i])),bypassStart.addTransition(new EpsilonTransition_1.EpsilonTransition(matchState))}this.deserializationOptions.isVerifyATN&&this.verifyATN(atn)}if(this.deserializationOptions.isOptimize){for(;;){let optimizationCount=0;if(optimizationCount+=ATNDeserializer.inlineSetRules(atn),optimizationCount+=ATNDeserializer.combineChainedEpsilons(atn),optimizationCount+=ATNDeserializer.optimizeSets(atn,0===atn.grammarType),0===optimizationCount)break}this.deserializationOptions.isVerifyATN&&this.verifyATN(atn)}return ATNDeserializer.identifyTailCalls(atn),atn}deserializeSets(data,p,sets,unicodeDeserializer){let nsets=ATNDeserializer.toInt(data[p++]);for(let i=0;i=0:state.numberOfTransitions<=1||state instanceof RuleStopState_1.RuleStopState)}}checkCondition(condition,message){if(!condition)throw new Error("IllegalStateException: "+message)}static inlineSetRules(atn){let inlinedCalls=0,ruleToInlineTransition=new Array(atn.ruleToStartState.length);for(let i=0;i0;)state.removeOptimizedTransition(state.numberOfOptimizedTransitions-1);for(let transition2 of optimizedTransitions)state.addOptimizedTransition(transition2)}}return ParserATNSimulator_1.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+inlinedCalls+" rule invocations by inlining sets."),inlinedCalls}static combineChainedEpsilons(atn){let removedEdges=0;for(let state of atn.states){if(!state.onlyHasEpsilonTransitions||state instanceof RuleStopState_1.RuleStopState)continue;let optimizedTransitions;nextTransition:for(let i=0;i0;)state.removeOptimizedTransition(state.numberOfOptimizedTransitions-1);for(let transition2 of optimizedTransitions)state.addOptimizedTransition(transition2)}}return ParserATNSimulator_1.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+removedEdges+" transitions by combining chained epsilon transitions."),removedEdges}static optimizeSets(atn,preserveOrder){if(preserveOrder)return 0;let removedPaths=0,decisions=atn.decisionToState;for(let decision of decisions){let setTransitions=new IntervalSet_1.IntervalSet;for(let i=0;i0;)decision.removeOptimizedTransition(decision.numberOfOptimizedTransitions-1);for(let transition2 of optimizedTransitions)decision.addOptimizedTransition(transition2)}return ParserATNSimulator_1.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+removedPaths+" paths by collapsing sets."),removedPaths}static identifyTailCalls(atn){for(let state of atn.states){for(let i=0;i>>0}static toUUID(data,offset){let leastSigBits=ATNDeserializer.toInt32(data,offset),lessSigBits=ATNDeserializer.toInt32(data,offset+2),moreSigBits=ATNDeserializer.toInt32(data,offset+4),mostSigBits=ATNDeserializer.toInt32(data,offset+6);return new UUID_1.UUID(mostSigBits,moreSigBits,lessSigBits,leastSigBits)}edgeFactory(atn,type,src,trg,arg1,arg2,arg3,sets){let target=atn.states[trg];switch(type){case 1:return new EpsilonTransition_1.EpsilonTransition(target);case 2:return new RangeTransition_1.RangeTransition(target,0!==arg3?Token_1.Token.EOF:arg1,arg2);case 3:return new RuleTransition_1.RuleTransition(atn.states[arg1],arg2,arg3,target);case 4:return new PredicateTransition_1.PredicateTransition(target,arg1,arg2,0!==arg3);case 10:return new PrecedencePredicateTransition_1.PrecedencePredicateTransition(target,arg1);case 5:return new AtomTransition_1.AtomTransition(target,0!==arg3?Token_1.Token.EOF:arg1);case 6:return new ActionTransition_1.ActionTransition(target,arg1,arg2,0!==arg3);case 7:return new SetTransition_1.SetTransition(target,sets[arg1]);case 8:return new NotSetTransition_1.NotSetTransition(target,sets[arg1]);case 9:return new WildcardTransition_1.WildcardTransition(target)}throw new Error("The specified transition type is not valid.")}stateFactory(type,ruleIndex){let s;switch(type){case ATNStateType_1.ATNStateType.INVALID_TYPE:return new InvalidState_1.InvalidState;case ATNStateType_1.ATNStateType.BASIC:s=new BasicState_1.BasicState;break;case ATNStateType_1.ATNStateType.RULE_START:s=new RuleStartState_1.RuleStartState;break;case ATNStateType_1.ATNStateType.BLOCK_START:s=new BasicBlockStartState_1.BasicBlockStartState;break;case ATNStateType_1.ATNStateType.PLUS_BLOCK_START:s=new PlusBlockStartState_1.PlusBlockStartState;break;case ATNStateType_1.ATNStateType.STAR_BLOCK_START:s=new StarBlockStartState_1.StarBlockStartState;break;case ATNStateType_1.ATNStateType.TOKEN_START:s=new TokensStartState_1.TokensStartState;break;case ATNStateType_1.ATNStateType.RULE_STOP:s=new RuleStopState_1.RuleStopState;break;case ATNStateType_1.ATNStateType.BLOCK_END:s=new BlockEndState_1.BlockEndState;break;case ATNStateType_1.ATNStateType.STAR_LOOP_BACK:s=new StarLoopbackState_1.StarLoopbackState;break;case ATNStateType_1.ATNStateType.STAR_LOOP_ENTRY:s=new StarLoopEntryState_1.StarLoopEntryState;break;case ATNStateType_1.ATNStateType.PLUS_LOOP_BACK:s=new PlusLoopbackState_1.PlusLoopbackState;break;case ATNStateType_1.ATNStateType.LOOP_END:s=new LoopEndState_1.LoopEndState;break;default:throw new Error(`The specified state type ${type} is not valid.`)}return s.ruleIndex=ruleIndex,s}lexerActionFactory(type,data1,data2){switch(type){case 0:return new LexerChannelAction_1.LexerChannelAction(data1);case 1:return new LexerCustomAction_1.LexerCustomAction(data1,data2);case 2:return new LexerModeAction_1.LexerModeAction(data1);case 3:return LexerMoreAction_1.LexerMoreAction.INSTANCE;case 4:return LexerPopModeAction_1.LexerPopModeAction.INSTANCE;case 5:return new LexerPushModeAction_1.LexerPushModeAction(data1);case 6:return LexerSkipAction_1.LexerSkipAction.INSTANCE;case 7:return new LexerTypeAction_1.LexerTypeAction(data1);default:throw new Error(`The specified lexer action type ${type} is not valid.`)}}}ATNDeserializer.BASE_SERIALIZED_UUID=UUID_1.UUID.fromString("E4178468-DF95-44D0-AD87-F22A5D5FB6D3"),ATNDeserializer.ADDED_LEXER_ACTIONS=UUID_1.UUID.fromString("AB35191A-1603-487E-B75A-479B831EAF6D"),ATNDeserializer.ADDED_UNICODE_SMP=UUID_1.UUID.fromString("C23FEA89-0605-4f51-AFB8-058BCAB8C91B"),ATNDeserializer.SUPPORTED_UUIDS=[ATNDeserializer.BASE_SERIALIZED_UUID,ATNDeserializer.ADDED_LEXER_ACTIONS,ATNDeserializer.ADDED_UNICODE_SMP],ATNDeserializer.SERIALIZED_UUID=ATNDeserializer.ADDED_UNICODE_SMP,__decorate([Decorators_1.NotNull],ATNDeserializer.prototype,"deserializationOptions",void 0),__decorate([__param(0,Decorators_1.NotNull)],ATNDeserializer.prototype,"deserialize",null),__decorate([__param(0,Decorators_1.NotNull)],ATNDeserializer.prototype,"markPrecedenceDecisions",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ATNDeserializer.prototype,"edgeFactory",null),exports.ATNDeserializer=ATNDeserializer},573:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNSimulator=void 0;const ATNConfigSet_1=__webpack_require__(5178),DFAState_1=__webpack_require__(5058),Decorators_1=__webpack_require__(4798),PredictionContext_1=__webpack_require__(2321);let ATNSimulator=class ATNSimulator2{constructor(atn){this.atn=atn}static get ERROR(){return ATNSimulator2._ERROR||(ATNSimulator2._ERROR=new DFAState_1.DFAState(new ATNConfigSet_1.ATNConfigSet),ATNSimulator2._ERROR.stateNumber=PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY),ATNSimulator2._ERROR}clearDFA(){this.atn.clearDFA()}};__decorate([Decorators_1.NotNull],ATNSimulator.prototype,"atn",void 0),__decorate([Decorators_1.NotNull],ATNSimulator,"ERROR",null),ATNSimulator=__decorate([__param(0,Decorators_1.NotNull)],ATNSimulator),exports.ATNSimulator=ATNSimulator,ATNSimulator=exports.ATNSimulator||(exports.ATNSimulator={}),exports.ATNSimulator=ATNSimulator},656:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNState=void 0;const Decorators_1=__webpack_require__(4798);class ATNState{constructor(){this.stateNumber=ATNState.INVALID_STATE_NUMBER,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.optimizedTransitions=this.transitions}getStateNumber(){return this.stateNumber}get nonStopStateNumber(){return this.getStateNumber()}hashCode(){return this.stateNumber}equals(o){return o instanceof ATNState&&this.stateNumber===o.stateNumber}get isNonGreedyExitState(){return!1}toString(){return String(this.stateNumber)}getTransitions(){return this.transitions.slice(0)}get numberOfTransitions(){return this.transitions.length}addTransition(e,index){if(0===this.transitions.length)this.epsilonOnlyTransitions=e.isEpsilon;else if(this.epsilonOnlyTransitions!==e.isEpsilon)throw this.epsilonOnlyTransitions=!1,new Error("ATN state "+this.stateNumber+" has both epsilon and non-epsilon transitions.");this.transitions.splice(void 0!==index?index:this.transitions.length,0,e)}transition(i){return this.transitions[i]}setTransition(i,e){this.transitions[i]=e}removeTransition(index){return this.transitions.splice(index,1)[0]}get onlyHasEpsilonTransitions(){return this.epsilonOnlyTransitions}setRuleIndex(ruleIndex){this.ruleIndex=ruleIndex}get isOptimized(){return this.optimizedTransitions!==this.transitions}get numberOfOptimizedTransitions(){return this.optimizedTransitions.length}getOptimizedTransition(i){return this.optimizedTransitions[i]}addOptimizedTransition(e){this.isOptimized||(this.optimizedTransitions=new Array),this.optimizedTransitions.push(e)}setOptimizedTransition(i,e){if(!this.isOptimized)throw new Error("This ATNState is not optimized.");this.optimizedTransitions[i]=e}removeOptimizedTransition(i){if(!this.isOptimized)throw new Error("This ATNState is not optimized.");this.optimizedTransitions.splice(i,1)}}__decorate([Decorators_1.Override],ATNState.prototype,"hashCode",null),__decorate([Decorators_1.Override],ATNState.prototype,"equals",null),__decorate([Decorators_1.Override],ATNState.prototype,"toString",null),exports.ATNState=ATNState,(ATNState=exports.ATNState||(exports.ATNState={})).INVALID_STATE_NUMBER=-1},5495:(__unused_webpack_module,exports)=>{"use strict";var ATNStateType2;Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNStateType=void 0,(ATNStateType2=exports.ATNStateType||(exports.ATNStateType={}))[ATNStateType2.INVALID_TYPE=0]="INVALID_TYPE",ATNStateType2[ATNStateType2.BASIC=1]="BASIC",ATNStateType2[ATNStateType2.RULE_START=2]="RULE_START",ATNStateType2[ATNStateType2.BLOCK_START=3]="BLOCK_START",ATNStateType2[ATNStateType2.PLUS_BLOCK_START=4]="PLUS_BLOCK_START",ATNStateType2[ATNStateType2.STAR_BLOCK_START=5]="STAR_BLOCK_START",ATNStateType2[ATNStateType2.TOKEN_START=6]="TOKEN_START",ATNStateType2[ATNStateType2.RULE_STOP=7]="RULE_STOP",ATNStateType2[ATNStateType2.BLOCK_END=8]="BLOCK_END",ATNStateType2[ATNStateType2.STAR_LOOP_BACK=9]="STAR_LOOP_BACK",ATNStateType2[ATNStateType2.STAR_LOOP_ENTRY=10]="STAR_LOOP_ENTRY",ATNStateType2[ATNStateType2.PLUS_LOOP_BACK=11]="PLUS_LOOP_BACK",ATNStateType2[ATNStateType2.LOOP_END=12]="LOOP_END"},4728:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AbstractPredicateTransition=void 0;const Transition_1=__webpack_require__(6633);exports.AbstractPredicateTransition=class AbstractPredicateTransition extends Transition_1.Transition{constructor(target){super(target)}}},9318:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ActionTransition=void 0;const Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let ActionTransition=class extends Transition_1.Transition{constructor(target,ruleIndex,actionIndex=-1,isCtxDependent=!1){super(target),this.ruleIndex=ruleIndex,this.actionIndex=actionIndex,this.isCtxDependent=isCtxDependent}get serializationType(){return 6}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}};__decorate([Decorators_1.Override],ActionTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],ActionTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],ActionTransition.prototype,"matches",null),__decorate([Decorators_1.Override],ActionTransition.prototype,"toString",null),ActionTransition=__decorate([__param(0,Decorators_1.NotNull)],ActionTransition),exports.ActionTransition=ActionTransition},9283:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AmbiguityInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let AmbiguityInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(decision,state,ambigAlts,input,startIndex,stopIndex){super(decision,state,input,startIndex,stopIndex,state.useContext),this.ambigAlts=ambigAlts}get ambiguousAlternatives(){return this.ambigAlts}};__decorate([Decorators_1.NotNull],AmbiguityInfo.prototype,"ambigAlts",void 0),__decorate([Decorators_1.NotNull],AmbiguityInfo.prototype,"ambiguousAlternatives",null),AmbiguityInfo=__decorate([__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],AmbiguityInfo),exports.AmbiguityInfo=AmbiguityInfo},3149:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AtomTransition=void 0;const IntervalSet_1=__webpack_require__(3951),Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let AtomTransition=class extends Transition_1.Transition{constructor(target,label){super(target),this._label=label}get serializationType(){return 5}get label(){return IntervalSet_1.IntervalSet.of(this._label)}matches(symbol,minVocabSymbol,maxVocabSymbol){return this._label===symbol}toString(){return String(this.label)}};__decorate([Decorators_1.Override],AtomTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],AtomTransition.prototype,"label",null),__decorate([Decorators_1.Override],AtomTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],AtomTransition.prototype,"toString",null),AtomTransition=__decorate([__param(0,Decorators_1.NotNull)],AtomTransition),exports.AtomTransition=AtomTransition},6060:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BasicBlockStartState=void 0;const ATNStateType_1=__webpack_require__(5495),BlockStartState_1=__webpack_require__(852),Decorators_1=__webpack_require__(4798);class BasicBlockStartState extends BlockStartState_1.BlockStartState{get stateType(){return ATNStateType_1.ATNStateType.BLOCK_START}}__decorate([Decorators_1.Override],BasicBlockStartState.prototype,"stateType",null),exports.BasicBlockStartState=BasicBlockStartState},9759:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BasicState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class BasicState extends ATNState_1.ATNState{get stateType(){return ATNStateType_1.ATNStateType.BASIC}}__decorate([Decorators_1.Override],BasicState.prototype,"stateType",null),exports.BasicState=BasicState},3257:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockEndState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class BlockEndState extends ATNState_1.ATNState{get stateType(){return ATNStateType_1.ATNStateType.BLOCK_END}}__decorate([Decorators_1.Override],BlockEndState.prototype,"stateType",null),exports.BlockEndState=BlockEndState},852:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockStartState=void 0;const DecisionState_1=__webpack_require__(2992);exports.BlockStartState=class BlockStartState extends DecisionState_1.DecisionState{}},9258:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConflictInfo=void 0;const Decorators_1=__webpack_require__(4798),Utils=__webpack_require__(2028);class ConflictInfo{constructor(conflictedAlts,exact){this._conflictedAlts=conflictedAlts,this.exact=exact}get conflictedAlts(){return this._conflictedAlts}get isExact(){return this.exact}equals(obj){return obj===this||obj instanceof ConflictInfo&&this.isExact===obj.isExact&&Utils.equals(this.conflictedAlts,obj.conflictedAlts)}hashCode(){return this.conflictedAlts.hashCode()}}__decorate([Decorators_1.Override],ConflictInfo.prototype,"equals",null),__decorate([Decorators_1.Override],ConflictInfo.prototype,"hashCode",null),exports.ConflictInfo=ConflictInfo},5874:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ContextSensitivityInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let ContextSensitivityInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(decision,state,input,startIndex,stopIndex){super(decision,state,input,startIndex,stopIndex,!0)}};ContextSensitivityInfo=__decorate([__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ContextSensitivityInfo),exports.ContextSensitivityInfo=ContextSensitivityInfo},8263:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DecisionEventInfo=void 0;const Decorators_1=__webpack_require__(4798);let DecisionEventInfo=class{constructor(decision,state,input,startIndex,stopIndex,fullCtx){this.decision=decision,this.fullCtx=fullCtx,this.stopIndex=stopIndex,this.input=input,this.startIndex=startIndex,this.state=state}};__decorate([Decorators_1.NotNull],DecisionEventInfo.prototype,"input",void 0),DecisionEventInfo=__decorate([__param(2,Decorators_1.NotNull)],DecisionEventInfo),exports.DecisionEventInfo=DecisionEventInfo},6543:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DecisionInfo=void 0;const Decorators_1=__webpack_require__(4798);class DecisionInfo{constructor(decision){this.invocations=0,this.timeInPrediction=0,this.SLL_TotalLook=0,this.SLL_MinLook=0,this.SLL_MaxLook=0,this.LL_TotalLook=0,this.LL_MinLook=0,this.LL_MaxLook=0,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[],this.SLL_ATNTransitions=0,this.SLL_DFATransitions=0,this.LL_Fallback=0,this.LL_ATNTransitions=0,this.LL_DFATransitions=0,this.decision=decision}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}}__decorate([Decorators_1.Override],DecisionInfo.prototype,"toString",null),exports.DecisionInfo=DecisionInfo},2992:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DecisionState=void 0;const ATNState_1=__webpack_require__(656);exports.DecisionState=class DecisionState extends ATNState_1.ATNState{constructor(){super(...arguments),this.decision=-1,this.nonGreedy=!1,this.sll=!1}}},6343:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.EpsilonTransition=void 0;const Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let EpsilonTransition=class extends Transition_1.Transition{constructor(target,outermostPrecedenceReturn=-1){super(target),this._outermostPrecedenceReturn=outermostPrecedenceReturn}get outermostPrecedenceReturn(){return this._outermostPrecedenceReturn}get serializationType(){return 1}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}toString(){return"epsilon"}};__decorate([Decorators_1.Override],EpsilonTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],EpsilonTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],EpsilonTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],EpsilonTransition.prototype,"toString",null),EpsilonTransition=__decorate([__param(0,Decorators_1.NotNull)],EpsilonTransition),exports.EpsilonTransition=EpsilonTransition},8160:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ErrorInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let ErrorInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(decision,state,input,startIndex,stopIndex){super(decision,state,input,startIndex,stopIndex,state.useContext)}};ErrorInfo=__decorate([__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ErrorInfo),exports.ErrorInfo=ErrorInfo},8592:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.InvalidState=void 0;const ATNStateType_1=__webpack_require__(5495),BasicState_1=__webpack_require__(9759),Decorators_1=__webpack_require__(4798);class InvalidState extends BasicState_1.BasicState{get stateType(){return ATNStateType_1.ATNStateType.INVALID_TYPE}}__decorate([Decorators_1.Override],InvalidState.prototype,"stateType",null),exports.InvalidState=InvalidState},4791:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LL1Analyzer=void 0;const AbstractPredicateTransition_1=__webpack_require__(4728),Array2DHashSet_1=__webpack_require__(9792),ATNConfig_1=__webpack_require__(8595),BitSet_1=__webpack_require__(6625),IntervalSet_1=__webpack_require__(3951),Decorators_1=__webpack_require__(4798),NotSetTransition_1=__webpack_require__(9087),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),RuleStopState_1=__webpack_require__(8059),RuleTransition_1=__webpack_require__(7937),Token_1=__webpack_require__(8770),WildcardTransition_1=__webpack_require__(7902);let LL1Analyzer=class LL1Analyzer2{constructor(atn){this.atn=atn}getDecisionLookahead(s){if(null==s)return;let look=new Array(s.numberOfTransitions);for(let alt=0;alt=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerATNSimulator=void 0;const AcceptStateInfo_1=__webpack_require__(5080),ATN_1=__webpack_require__(4495),ATNConfig_1=__webpack_require__(8595),ATNConfigSet_1=__webpack_require__(5178),ATNSimulator_1=__webpack_require__(573),DFAState_1=__webpack_require__(5058),Interval_1=__webpack_require__(8691),IntStream_1=__webpack_require__(9627),Lexer_1=__webpack_require__(1188),LexerActionExecutor_1=__webpack_require__(1729),LexerNoViableAltException_1=__webpack_require__(4440),Decorators_1=__webpack_require__(4798),OrderedATNConfigSet_1=__webpack_require__(1702),PredictionContext_1=__webpack_require__(2321),RuleStopState_1=__webpack_require__(8059),Token_1=__webpack_require__(8770),assert=__webpack_require__(5936);let LexerATNSimulator=class LexerATNSimulator2 extends ATNSimulator_1.ATNSimulator{constructor(atn,recog){super(atn),this.optimize_tail_calls=!0,this.startIndex=-1,this._line=1,this._charPositionInLine=0,this.mode=Lexer_1.Lexer.DEFAULT_MODE,this.prevAccept=new LexerATNSimulator2.SimState,this.recog=recog}copyState(simulator){this._charPositionInLine=simulator.charPositionInLine,this._line=simulator._line,this.mode=simulator.mode,this.startIndex=simulator.startIndex}match(input,mode){this.mode=mode;let mark=input.mark();try{this.startIndex=input.index,this.prevAccept.reset();let s0=this.atn.modeToDFA[mode].s0;return null==s0?this.matchATN(input):this.execATN(input,s0)}finally{input.release(mark)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this._line=1,this._charPositionInLine=0,this.mode=Lexer_1.Lexer.DEFAULT_MODE}matchATN(input){let startState=this.atn.modeToStartState[this.mode];LexerATNSimulator2.debug&&console.log(`matchATN mode ${this.mode} start: ${startState}`);let old_mode=this.mode,s0_closure=this.computeStartState(input,startState),suppressEdge=s0_closure.hasSemanticContext;suppressEdge&&(s0_closure.hasSemanticContext=!1);let next=this.addDFAState(s0_closure);if(!suppressEdge){let dfa=this.atn.modeToDFA[this.mode];dfa.s0?next=dfa.s0:dfa.s0=next}let predict=this.execATN(input,next);return LexerATNSimulator2.debug&&console.log(`DFA after matchATN: ${this.atn.modeToDFA[old_mode].toLexerString()}`),predict}execATN(input,ds0){LexerATNSimulator2.debug&&console.log(`start state closure=${ds0.configs}`),ds0.isAcceptState&&this.captureSimState(this.prevAccept,input,ds0);let t=input.LA(1),s=ds0;for(;;){LexerATNSimulator2.debug&&console.log(`execATN loop starting closure: ${s.configs}`);let target=this.getExistingTargetState(s,t);if(null==target&&(target=this.computeTargetState(input,s,t)),target===ATNSimulator_1.ATNSimulator.ERROR||(t!==IntStream_1.IntStream.EOF&&this.consume(input),target.isAcceptState&&(this.captureSimState(this.prevAccept,input,target),t===IntStream_1.IntStream.EOF)))break;t=input.LA(1),s=target}return this.failOrAccept(this.prevAccept,input,s.configs,t)}getExistingTargetState(s,t){let target=s.getTarget(t);return LexerATNSimulator2.debug&&null!=target&&console.log("reuse state "+s.stateNumber+" edge to "+target.stateNumber),target}computeTargetState(input,s,t){let reach=new OrderedATNConfigSet_1.OrderedATNConfigSet;return this.getReachableConfigSet(input,s.configs,reach,t),reach.isEmpty?(reach.hasSemanticContext||this.addDFAEdge(s,t,ATNSimulator_1.ATNSimulator.ERROR),ATNSimulator_1.ATNSimulator.ERROR):this.addDFAEdge(s,t,reach)}failOrAccept(prevAccept,input,reach,t){if(null!=prevAccept.dfaState)return this.accept(input,prevAccept.dfaState.lexerActionExecutor,this.startIndex,prevAccept.index,prevAccept.line,prevAccept.charPos),prevAccept.dfaState.prediction;if(t===IntStream_1.IntStream.EOF&&input.index===this.startIndex)return Token_1.Token.EOF;throw new LexerNoViableAltException_1.LexerNoViableAltException(this.recog,input,this.startIndex,reach)}getReachableConfigSet(input,closure,reach,t){let skipAlt=ATN_1.ATN.INVALID_ALT_NUMBER;for(let c of closure){let currentAltReachedAcceptState=c.alt===skipAlt;if(currentAltReachedAcceptState&&c.hasPassedThroughNonGreedyDecision)continue;LexerATNSimulator2.debug&&console.log(`testing ${this.getTokenName(t)} at ${c.toString(this.recog,!0)}`);let n=c.state.numberOfOptimizedTransitions;for(let ti=0;ti "+q+" upon "+String.fromCharCode(t)),p?.setTarget(t,q)}addDFAState(configs){assert(!configs.hasSemanticContext);let proposed=new DFAState_1.DFAState(configs),existing=this.atn.modeToDFA[this.mode].states.get(proposed);if(null!=existing)return existing;configs.optimizeConfigs(this);let firstConfigWithRuleStopState,newState=new DFAState_1.DFAState(configs.clone(!0));for(let c of configs)if(c.state instanceof RuleStopState_1.RuleStopState){firstConfigWithRuleStopState=c;break}return null!=firstConfigWithRuleStopState&&(newState.acceptStateInfo=new AcceptStateInfo_1.AcceptStateInfo(this.atn.ruleToTokenType[firstConfigWithRuleStopState.state.ruleIndex],firstConfigWithRuleStopState.lexerActionExecutor)),this.atn.modeToDFA[this.mode].addState(newState)}getDFA(mode){return this.atn.modeToDFA[mode]}getText(input){return input.getText(Interval_1.Interval.of(this.startIndex,input.index-1))}get line(){return this._line}set line(line){this._line=line}get charPositionInLine(){return this._charPositionInLine}set charPositionInLine(charPositionInLine){this._charPositionInLine=charPositionInLine}consume(input){input.LA(1)==="\n".charCodeAt(0)?(this._line++,this._charPositionInLine=0):this._charPositionInLine++,input.consume()}getTokenName(t){return-1===t?"EOF":"'"+String.fromCharCode(t)+"'"}};var LexerATNSimulator2;__decorate([Decorators_1.NotNull],LexerATNSimulator.prototype,"prevAccept",void 0),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"copyState",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"match",null),__decorate([Decorators_1.Override],LexerATNSimulator.prototype,"reset",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"matchATN",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],LexerATNSimulator.prototype,"execATN",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"getExistingTargetState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],LexerATNSimulator.prototype,"computeTargetState",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],LexerATNSimulator.prototype,"getReachableConfigSet",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"accept",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],LexerATNSimulator.prototype,"computeStartState",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],LexerATNSimulator.prototype,"closure",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],LexerATNSimulator.prototype,"getEpsilonTarget",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"evaluatePredicate",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],LexerATNSimulator.prototype,"captureSimState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"addDFAState",null),__decorate([Decorators_1.NotNull],LexerATNSimulator.prototype,"getDFA",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"getText",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"consume",null),__decorate([Decorators_1.NotNull],LexerATNSimulator.prototype,"getTokenName",null),LexerATNSimulator=__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator),exports.LexerATNSimulator=LexerATNSimulator,(LexerATNSimulator2=LexerATNSimulator=exports.LexerATNSimulator||(exports.LexerATNSimulator={})).debug=!1,LexerATNSimulator2.dfa_debug=!1,LexerATNSimulator2.SimState=class SimState{constructor(){this.index=-1,this.line=0,this.charPos=-1}reset(){this.index=-1,this.line=0,this.charPos=-1,this.dfaState=void 0}},exports.LexerATNSimulator=LexerATNSimulator},1729:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerActionExecutor=void 0;const ArrayEqualityComparator_1=__webpack_require__(6481),LexerIndexedCustomAction_1=__webpack_require__(8381),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);let LexerActionExecutor=class LexerActionExecutor2{constructor(lexerActions){this._lexerActions=lexerActions;let hash=MurmurHash_1.MurmurHash.initialize();for(let lexerAction of lexerActions)hash=MurmurHash_1.MurmurHash.update(hash,lexerAction);this.cachedHashCode=MurmurHash_1.MurmurHash.finish(hash,lexerActions.length)}static append(lexerActionExecutor,lexerAction){if(!lexerActionExecutor)return new LexerActionExecutor2([lexerAction]);let lexerActions=lexerActionExecutor._lexerActions.slice(0);return lexerActions.push(lexerAction),new LexerActionExecutor2(lexerActions)}fixOffsetBeforeMatch(offset){let updatedLexerActions;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerChannelAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerChannelAction{constructor(channel){this._channel=channel}get channel(){return this._channel}get actionType(){return 0}get isPositionDependent(){return!1}execute(lexer){lexer.channel=this._channel}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._channel),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerChannelAction&&this._channel===obj._channel}toString(){return`channel(${this._channel})`}}__decorate([Decorators_1.Override],LexerChannelAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerChannelAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerChannelAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerChannelAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerChannelAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerChannelAction.prototype,"toString",null),exports.LexerChannelAction=LexerChannelAction},8310:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerCustomAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerCustomAction{constructor(ruleIndex,actionIndex){this._ruleIndex=ruleIndex,this._actionIndex=actionIndex}get ruleIndex(){return this._ruleIndex}get actionIndex(){return this._actionIndex}get actionType(){return 1}get isPositionDependent(){return!0}execute(lexer){lexer.action(void 0,this._ruleIndex,this._actionIndex)}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._ruleIndex),hash=MurmurHash_1.MurmurHash.update(hash,this._actionIndex),MurmurHash_1.MurmurHash.finish(hash,3)}equals(obj){return obj===this||obj instanceof LexerCustomAction&&this._ruleIndex===obj._ruleIndex&&this._actionIndex===obj._actionIndex}}__decorate([Decorators_1.Override],LexerCustomAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerCustomAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerCustomAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerCustomAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerCustomAction.prototype,"equals",null),exports.LexerCustomAction=LexerCustomAction},8381:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerIndexedCustomAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);let LexerIndexedCustomAction=class LexerIndexedCustomAction2{constructor(offset,action){this._offset=offset,this._action=action}get offset(){return this._offset}get action(){return this._action}get actionType(){return this._action.actionType}get isPositionDependent(){return!0}execute(lexer){this._action.execute(lexer)}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this._offset),hash=MurmurHash_1.MurmurHash.update(hash,this._action),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerIndexedCustomAction2&&this._offset===obj._offset&&this._action.equals(obj._action)}};__decorate([Decorators_1.NotNull],LexerIndexedCustomAction.prototype,"action",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"equals",null),LexerIndexedCustomAction=__decorate([__param(1,Decorators_1.NotNull)],LexerIndexedCustomAction),exports.LexerIndexedCustomAction=LexerIndexedCustomAction},4240:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerModeAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerModeAction{constructor(mode){this._mode=mode}get mode(){return this._mode}get actionType(){return 2}get isPositionDependent(){return!1}execute(lexer){lexer.mode(this._mode)}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._mode),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerModeAction&&this._mode===obj._mode}toString(){return`mode(${this._mode})`}}__decorate([Decorators_1.Override],LexerModeAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerModeAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerModeAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerModeAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerModeAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerModeAction.prototype,"toString",null),exports.LexerModeAction=LexerModeAction},905:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerMoreAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerMoreAction{constructor(){}get actionType(){return 3}get isPositionDependent(){return!1}execute(lexer){lexer.more()}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),MurmurHash_1.MurmurHash.finish(hash,1)}equals(obj){return obj===this}toString(){return"more"}}var LexerMoreAction2;__decorate([Decorators_1.Override],LexerMoreAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerMoreAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerMoreAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerMoreAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerMoreAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerMoreAction.prototype,"toString",null),exports.LexerMoreAction=LexerMoreAction,(LexerMoreAction2=LexerMoreAction=exports.LexerMoreAction||(exports.LexerMoreAction={})).INSTANCE=new LexerMoreAction2},825:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerPopModeAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerPopModeAction{constructor(){}get actionType(){return 4}get isPositionDependent(){return!1}execute(lexer){lexer.popMode()}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),MurmurHash_1.MurmurHash.finish(hash,1)}equals(obj){return obj===this}toString(){return"popMode"}}var LexerPopModeAction2;__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerPopModeAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"toString",null),exports.LexerPopModeAction=LexerPopModeAction,(LexerPopModeAction2=LexerPopModeAction=exports.LexerPopModeAction||(exports.LexerPopModeAction={})).INSTANCE=new LexerPopModeAction2},8031:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerPushModeAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerPushModeAction{constructor(mode){this._mode=mode}get mode(){return this._mode}get actionType(){return 5}get isPositionDependent(){return!1}execute(lexer){lexer.pushMode(this._mode)}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._mode),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerPushModeAction&&this._mode===obj._mode}toString(){return`pushMode(${this._mode})`}}__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerPushModeAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"toString",null),exports.LexerPushModeAction=LexerPushModeAction},7893:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerSkipAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerSkipAction{constructor(){}get actionType(){return 6}get isPositionDependent(){return!1}execute(lexer){lexer.skip()}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),MurmurHash_1.MurmurHash.finish(hash,1)}equals(obj){return obj===this}toString(){return"skip"}}var LexerSkipAction2;__decorate([Decorators_1.Override],LexerSkipAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerSkipAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerSkipAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerSkipAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerSkipAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerSkipAction.prototype,"toString",null),exports.LexerSkipAction=LexerSkipAction,(LexerSkipAction2=LexerSkipAction=exports.LexerSkipAction||(exports.LexerSkipAction={})).INSTANCE=new LexerSkipAction2},3758:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerTypeAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerTypeAction{constructor(type){this._type=type}get type(){return this._type}get actionType(){return 7}get isPositionDependent(){return!1}execute(lexer){lexer.type=this._type}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._type),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerTypeAction&&this._type===obj._type}toString(){return`type(${this._type})`}}__decorate([Decorators_1.Override],LexerTypeAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerTypeAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerTypeAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerTypeAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerTypeAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerTypeAction.prototype,"toString",null),exports.LexerTypeAction=LexerTypeAction},8832:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LookaheadEventInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let LookaheadEventInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(decision,state,predictedAlt,input,startIndex,stopIndex,fullCtx){super(decision,state,input,startIndex,stopIndex,fullCtx),this.predictedAlt=predictedAlt}};LookaheadEventInfo=__decorate([__param(3,Decorators_1.NotNull)],LookaheadEventInfo),exports.LookaheadEventInfo=LookaheadEventInfo},9533:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoopEndState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class LoopEndState extends ATNState_1.ATNState{get stateType(){return ATNStateType_1.ATNStateType.LOOP_END}}__decorate([Decorators_1.Override],LoopEndState.prototype,"stateType",null),exports.LoopEndState=LoopEndState},9087:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NotSetTransition=void 0;const Decorators_1=__webpack_require__(4798),SetTransition_1=__webpack_require__(619);let NotSetTransition=class extends SetTransition_1.SetTransition{constructor(target,set){super(target,set)}get serializationType(){return 8}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=minVocabSymbol&&symbol<=maxVocabSymbol&&!super.matches(symbol,minVocabSymbol,maxVocabSymbol)}toString(){return"~"+super.toString()}};__decorate([Decorators_1.Override],NotSetTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],NotSetTransition.prototype,"matches",null),__decorate([Decorators_1.Override],NotSetTransition.prototype,"toString",null),NotSetTransition=__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.Nullable)],NotSetTransition),exports.NotSetTransition=NotSetTransition},1702:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderedATNConfigSet=void 0;const ATNConfigSet_1=__webpack_require__(5178),Decorators_1=__webpack_require__(4798);class OrderedATNConfigSet extends ATNConfigSet_1.ATNConfigSet{constructor(set,readonly){null!=set&&null!=readonly?super(set,readonly):super()}clone(readonly){let copy=new OrderedATNConfigSet(this,readonly);return!readonly&&this.isReadOnly&©.addAll(this),copy}getKey(e){return{state:0,alt:e.hashCode()}}canMerge(left,leftKey,right){return left.equals(right)}}__decorate([Decorators_1.Override],OrderedATNConfigSet.prototype,"clone",null),__decorate([Decorators_1.Override],OrderedATNConfigSet.prototype,"getKey",null),__decorate([Decorators_1.Override],OrderedATNConfigSet.prototype,"canMerge",null),exports.OrderedATNConfigSet=OrderedATNConfigSet},4113:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseInfo=void 0;const Decorators_1=__webpack_require__(4798);let ParseInfo=class{constructor(atnSimulator){this.atnSimulator=atnSimulator}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){let decisions=this.atnSimulator.getDecisionInfo(),LL=[];for(let i=0;i0&&LL.push(i);return LL}getTotalTimeInPrediction(){let decisions=this.atnSimulator.getDecisionInfo(),t=0;for(let decision of decisions)t+=decision.timeInPrediction;return t}getTotalSLLLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.SLL_TotalLook;return k}getTotalLLLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.LL_TotalLook;return k}getTotalSLLATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.SLL_ATNTransitions;return k}getTotalLLATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.LL_ATNTransitions;return k}getTotalATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.SLL_ATNTransitions,k+=decision.LL_ATNTransitions;return k}getDFASize(decision){if(decision)return this.atnSimulator.atn.decisionToDFA[decision].states.size;{let n=0,decisionToDFA=this.atnSimulator.atn.decisionToDFA;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParserATNSimulator=void 0;const AcceptStateInfo_1=__webpack_require__(5080),ActionTransition_1=__webpack_require__(9318),Array2DHashSet_1=__webpack_require__(9792),Arrays_1=__webpack_require__(4630),ATN_1=__webpack_require__(4495),ATNConfig_1=__webpack_require__(8595),ATNConfigSet_1=__webpack_require__(5178),ATNSimulator_1=__webpack_require__(573),ATNStateType_1=__webpack_require__(5495),AtomTransition_1=__webpack_require__(3149),BitSet_1=__webpack_require__(6625),ConflictInfo_1=__webpack_require__(9258),DecisionState_1=__webpack_require__(2992),DFAState_1=__webpack_require__(5058),IntegerList_1=__webpack_require__(4862),Interval_1=__webpack_require__(8691),IntStream_1=__webpack_require__(9627),Decorators_1=__webpack_require__(4798),NotSetTransition_1=__webpack_require__(9087),NoViableAltException_1=__webpack_require__(1200),ObjectEqualityComparator_1=__webpack_require__(1760),ParserRuleContext_1=__webpack_require__(3235),PredictionContext_1=__webpack_require__(2321),PredictionContextCache_1=__webpack_require__(2685),PredictionMode_1=__webpack_require__(1975),RuleStopState_1=__webpack_require__(8059),RuleTransition_1=__webpack_require__(7937),SemanticContext_1=__webpack_require__(7909),SetTransition_1=__webpack_require__(619),SimulatorState_1=__webpack_require__(2243),Token_1=__webpack_require__(8770),VocabularyImpl_1=__webpack_require__(4221),assert=__webpack_require__(5936);let ParserATNSimulator=class ParserATNSimulator2 extends ATNSimulator_1.ATNSimulator{constructor(atn,parser){super(atn),this.predictionMode=PredictionMode_1.PredictionMode.LL,this.force_global_context=!1,this.always_try_local_context=!0,this.enable_global_context_dfa=!1,this.optimize_unique_closure=!0,this.optimize_ll1=!0,this.optimize_tail_calls=!0,this.tail_call_preserves_sll=!0,this.treat_sllk1_conflict_as_ambiguity=!1,this.reportAmbiguities=!1,this.userWantsCtxSensitive=!0,this._parser=parser}getPredictionMode(){return this.predictionMode}setPredictionMode(predictionMode){this.predictionMode=predictionMode}reset(){}adaptivePredict(input,decision,outerContext,useContext){void 0===useContext&&(useContext=!1);let state,dfa=this.atn.decisionToDFA[decision];if(assert(null!=dfa),this.optimize_ll1&&!dfa.isPrecedenceDfa&&!dfa.isEmpty){let ll_1=input.LA(1);if(ll_1>=0&&ll_1<=65535){let alt=this.atn.LL1Table.get((decision<<16>>>0)+ll_1);if(null!=alt)return alt}}this.dfa=dfa,this.force_global_context?useContext=!0:this.always_try_local_context||(useContext=useContext||dfa.isContextSensitive),this.userWantsCtxSensitive=useContext||this.predictionMode!==PredictionMode_1.PredictionMode.SLL&&null!=outerContext&&!this.atn.decisionToState[decision].sll,null==outerContext&&(outerContext=ParserRuleContext_1.ParserRuleContext.emptyContext()),dfa.isEmpty||(state=this.getStartState(dfa,input,outerContext,useContext)),null==state&&(null==outerContext&&(outerContext=ParserRuleContext_1.ParserRuleContext.emptyContext()),ParserATNSimulator2.debug&&console.log("ATN decision "+dfa.decision+" exec LA(1)=="+this.getLookaheadName(input)+", outerContext="+outerContext.toString(this._parser)),state=this.computeStartState(dfa,outerContext,useContext));let m=input.mark(),index=input.index;try{let alt=this.execDFA(dfa,input,index,state);return ParserATNSimulator2.debug&&console.log("DFA after predictATN: "+dfa.toString(this._parser.vocabulary,this._parser.ruleNames)),alt}finally{this.dfa=void 0,input.seek(index),input.release(m)}}getStartState(dfa,input,outerContext,useContext){if(!useContext){if(dfa.isPrecedenceDfa){let state=dfa.getPrecedenceStartState(this._parser.precedence,!1);return null==state?void 0:new SimulatorState_1.SimulatorState(outerContext,state,!1,outerContext)}return null==dfa.s0?void 0:new SimulatorState_1.SimulatorState(outerContext,dfa.s0,!1,outerContext)}if(!this.enable_global_context_dfa)return;let s0,remainingContext=outerContext;for(assert(null!=outerContext),s0=dfa.isPrecedenceDfa?dfa.getPrecedenceStartState(this._parser.precedence,!0):dfa.s0full;null!=remainingContext&&null!=s0&&s0.isContextSensitive;)remainingContext=this.skipTailCalls(remainingContext),s0=s0.getContextTarget(this.getReturnState(remainingContext)),remainingContext.isEmpty?assert(null==s0||!s0.isContextSensitive):remainingContext=remainingContext.parent;return null!=s0?new SimulatorState_1.SimulatorState(outerContext,s0,useContext,remainingContext):void 0}execDFA(dfa,input,startIndex,state){let outerContext=state.outerContext;ParserATNSimulator2.dfa_debug&&console.log("DFA decision "+dfa.decision+" exec LA(1)=="+this.getLookaheadName(input)+", outerContext="+outerContext.toString(this._parser)),ParserATNSimulator2.dfa_debug&&console.log(dfa.toString(this._parser.vocabulary,this._parser.ruleNames));let s=state.s0,t=input.LA(1),remainingOuterContext=state.remainingOuterContext;for(;;){if(ParserATNSimulator2.dfa_debug&&console.log("DFA state "+s.stateNumber+" LA(1)=="+this.getLookaheadName(input)),state.useContext)for(;s.isContextSymbol(t);){let next;if(null!=remainingOuterContext&&(remainingOuterContext=this.skipTailCalls(remainingOuterContext),next=s.getContextTarget(this.getReturnState(remainingOuterContext))),null==next){let initialState=new SimulatorState_1.SimulatorState(state.outerContext,s,state.useContext,remainingOuterContext);return this.execATN(dfa,input,startIndex,initialState)}assert(null!=remainingOuterContext),remainingOuterContext=remainingOuterContext.parent,s=next}if(this.isAcceptState(s,state.useContext)){null!=s.predicates?ParserATNSimulator2.dfa_debug&&console.log("accept "+s):ParserATNSimulator2.dfa_debug&&console.log("accept; predict "+s.prediction+" in state "+s.stateNumber);break}assert(!this.isAcceptState(s,state.useContext));let target=this.getExistingTargetState(s,t);if(null==target){let alt;if(ParserATNSimulator2.dfa_debug&&t>=0&&console.log("no edge for "+this._parser.vocabulary.getDisplayName(t)),ParserATNSimulator2.dfa_debug){let interval=Interval_1.Interval.of(startIndex,this._parser.inputStream.index);console.log("ATN exec upon "+this._parser.inputStream.getText(interval)+" at DFA state "+s.stateNumber)}let initialState=new SimulatorState_1.SimulatorState(outerContext,s,state.useContext,remainingOuterContext);return alt=this.execATN(dfa,input,startIndex,initialState),ParserATNSimulator2.dfa_debug&&console.log("back from DFA update, alt="+alt+", dfa=\n"+dfa.toString(this._parser.vocabulary,this._parser.ruleNames)),ParserATNSimulator2.dfa_debug&&console.log("DFA decision "+dfa.decision+" predicts "+alt),alt}if(target===ATNSimulator_1.ATNSimulator.ERROR){let errorState=new SimulatorState_1.SimulatorState(outerContext,s,state.useContext,remainingOuterContext);return this.handleNoViableAlt(input,startIndex,errorState)}s=target,!this.isAcceptState(s,state.useContext)&&t!==IntStream_1.IntStream.EOF&&(input.consume(),t=input.LA(1))}if(!state.useContext&&null!=s.configs.conflictInfo&&dfa.atnStartState instanceof DecisionState_1.DecisionState&&!(!this.userWantsCtxSensitive||!s.configs.dipsIntoOuterContext&&s.configs.isExactConflict||this.treat_sllk1_conflict_as_ambiguity&&input.index===startIndex)){assert(!state.useContext);let conflictingAlts,predicates2=s.predicates;if(null!=predicates2){let conflictIndex=input.index;if(conflictIndex!==startIndex&&input.seek(startIndex),conflictingAlts=this.evalSemanticContext(predicates2,outerContext,!0),1===conflictingAlts.cardinality())return conflictingAlts.nextSetBit(0);conflictIndex!==startIndex&&input.seek(conflictIndex)}if(this.reportAmbiguities){let conflictState=new SimulatorState_1.SimulatorState(outerContext,s,state.useContext,remainingOuterContext);this.reportAttemptingFullContext(dfa,conflictingAlts,conflictState,startIndex,input.index)}return input.seek(startIndex),this.adaptivePredict(input,dfa.decision,outerContext,!0)}let predicates=s.predicates;if(null!=predicates){let stopIndex=input.index;startIndex!==stopIndex&&input.seek(startIndex);let alts=this.evalSemanticContext(predicates,outerContext,this.reportAmbiguities&&this.predictionMode===PredictionMode_1.PredictionMode.LL_EXACT_AMBIG_DETECTION);switch(alts.cardinality()){case 0:throw this.noViableAlt(input,outerContext,s.configs,startIndex);case 1:return alts.nextSetBit(0);default:return startIndex!==stopIndex&&input.seek(stopIndex),this.reportAmbiguity(dfa,s,startIndex,stopIndex,s.configs.isExactConflict,alts,s.configs),alts.nextSetBit(0)}}return ParserATNSimulator2.dfa_debug&&console.log("DFA decision "+dfa.decision+" predicts "+s.prediction),s.prediction}isAcceptState(state,useContext){return!!state.isAcceptState&&(null==state.configs.conflictingAlts||!useContext||this.predictionMode!==PredictionMode_1.PredictionMode.LL_EXACT_AMBIG_DETECTION||state.configs.isExactConflict)}execATN(dfa,input,startIndex,initialState){ParserATNSimulator2.debug&&console.log("execATN decision "+dfa.decision+" exec LA(1)=="+this.getLookaheadName(input));let outerContext=initialState.outerContext,useContext=initialState.useContext,t=input.LA(1),previous=initialState,contextCache=new PredictionContextCache_1.PredictionContextCache;for(;;){let nextState=this.computeReachSet(dfa,previous,t,contextCache);if(null==nextState)return this.setDFAEdge(previous.s0,input.LA(1),ATNSimulator_1.ATNSimulator.ERROR),this.handleNoViableAlt(input,startIndex,previous);let D=nextState.s0;if(assert(D.isAcceptState||D.prediction===ATN_1.ATN.INVALID_ALT_NUMBER),assert(D.isAcceptState||null==D.configs.conflictInfo),this.isAcceptState(D,useContext)){let conflictingAlts=D.configs.conflictingAlts,predictedAlt=null==conflictingAlts?D.prediction:ATN_1.ATN.INVALID_ALT_NUMBER;predictedAlt!==ATN_1.ATN.INVALID_ALT_NUMBER&&(this.optimize_ll1&&input.index===startIndex&&!dfa.isPrecedenceDfa&&nextState.outerContext===nextState.remainingOuterContext&&dfa.decision>=0&&!D.configs.hasSemanticContext&&t>=0&&t<=65535&&this.atn.LL1Table.set((dfa.decision<<16>>>0)+t,predictedAlt),useContext&&this.always_try_local_context&&this.reportContextSensitivity(dfa,predictedAlt,nextState,startIndex,input.index)),predictedAlt=D.prediction;let attemptFullContext=null!=conflictingAlts&&this.userWantsCtxSensitive;if(attemptFullContext&&(attemptFullContext=!useContext&&(D.configs.dipsIntoOuterContext||!D.configs.isExactConflict)&&(!this.treat_sllk1_conflict_as_ambiguity||input.index!==startIndex)),D.configs.hasSemanticContext){let predPredictions=D.predicates;if(null!=predPredictions){let conflictIndex=input.index;switch(conflictIndex!==startIndex&&input.seek(startIndex),conflictingAlts=this.evalSemanticContext(predPredictions,outerContext,attemptFullContext||this.reportAmbiguities),conflictingAlts.cardinality()){case 0:throw this.noViableAlt(input,outerContext,D.configs,startIndex);case 1:return conflictingAlts.nextSetBit(0)}conflictIndex!==startIndex&&input.seek(conflictIndex)}}if(attemptFullContext){assert(!useContext),assert(this.isAcceptState(D,!1)),ParserATNSimulator2.debug&&console.log("RETRY with outerContext="+outerContext);let fullContextState=this.computeStartState(dfa,outerContext,!0);return this.reportAmbiguities&&this.reportAttemptingFullContext(dfa,conflictingAlts,nextState,startIndex,input.index),input.seek(startIndex),this.execATN(dfa,input,startIndex,fullContextState)}return null!=conflictingAlts&&(this.reportAmbiguities&&conflictingAlts.cardinality()>1&&this.reportAmbiguity(dfa,D,startIndex,input.index,D.configs.isExactConflict,conflictingAlts,D.configs),predictedAlt=conflictingAlts.nextSetBit(0)),predictedAlt}previous=nextState,t!==IntStream_1.IntStream.EOF&&(input.consume(),t=input.LA(1))}}handleNoViableAlt(input,startIndex,previous){if(null!=previous.s0){let alts=new BitSet_1.BitSet,maxAlt=0;for(let config of previous.s0.configs)(config.reachesIntoOuterContext||config.state instanceof RuleStopState_1.RuleStopState)&&(alts.set(config.alt),maxAlt=Math.max(maxAlt,config.alt));switch(alts.cardinality()){case 0:break;case 1:return alts.nextSetBit(0);default:if(!previous.s0.configs.hasSemanticContext)return alts.nextSetBit(0);let filteredConfigs=new ATNConfigSet_1.ATNConfigSet;for(let config of previous.s0.configs)(config.reachesIntoOuterContext||config.state instanceof RuleStopState_1.RuleStopState)&&filteredConfigs.add(config);let altToPred=this.getPredsForAmbigAlts(alts,filteredConfigs,maxAlt);if(null!=altToPred){let predicates=this.getPredicatePredictions(alts,altToPred);if(null!=predicates){let stopIndex=input.index;try{input.seek(startIndex);let filteredAlts=this.evalSemanticContext(predicates,previous.outerContext,!1);if(!filteredAlts.isEmpty)return filteredAlts.nextSetBit(0)}finally{input.seek(stopIndex)}}}return alts.nextSetBit(0)}}throw this.noViableAlt(input,previous.outerContext,previous.s0.configs,startIndex)}computeReachSet(dfa,previous,t,contextCache){let useContext=previous.useContext,remainingGlobalContext=previous.remainingOuterContext,s=previous.s0;if(useContext)for(;s.isContextSymbol(t);){let next;if(null!=remainingGlobalContext&&(remainingGlobalContext=this.skipTailCalls(remainingGlobalContext),next=s.getContextTarget(this.getReturnState(remainingGlobalContext))),null==next)break;assert(null!=remainingGlobalContext),remainingGlobalContext=remainingGlobalContext.parent,s=next}if(assert(!this.isAcceptState(s,useContext)),this.isAcceptState(s,useContext))return new SimulatorState_1.SimulatorState(previous.outerContext,s,useContext,remainingGlobalContext);let s0=s,target=this.getExistingTargetState(s0,t);if(null==target){let result=this.computeTargetState(dfa,s0,remainingGlobalContext,t,useContext,contextCache);target=result[0],remainingGlobalContext=result[1]}return target!==ATNSimulator_1.ATNSimulator.ERROR?(assert(!useContext||!target.configs.dipsIntoOuterContext),new SimulatorState_1.SimulatorState(previous.outerContext,target,useContext,remainingGlobalContext)):void 0}getExistingTargetState(s,t){return s.getTarget(t)}computeTargetState(dfa,s,remainingGlobalContext,t,useContext,contextCache){let contextElements,stepIntoGlobal,closureConfigs=s.configs.toArray(),reach=new ATNConfigSet_1.ATNConfigSet;do{let hasMoreContext=!useContext||null!=remainingGlobalContext;hasMoreContext||(reach.isOutermostConfigSet=!0);let skippedStopStates,reachIntermediate=new ATNConfigSet_1.ATNConfigSet;for(let c of closureConfigs){if(ParserATNSimulator2.debug&&console.log("testing "+this.getTokenName(t)+" at "+c.toString()),c.state instanceof RuleStopState_1.RuleStopState){assert(c.context.isEmpty),(useContext&&!c.reachesIntoOuterContext||t===IntStream_1.IntStream.EOF)&&(null==skippedStopStates&&(skippedStopStates=[]),skippedStopStates.push(c));continue}let n=c.state.numberOfOptimizedTransitions;for(let ti=0;ti0);for(let c of skippedStopStates)reach.add(c,contextCache)}if(useContext&&stepIntoGlobal){reach.clear(),remainingGlobalContext=this.skipTailCalls(remainingGlobalContext);let nextContextElement=this.getReturnState(remainingGlobalContext);if(null==contextElements&&(contextElements=new IntegerList_1.IntegerList),remainingGlobalContext=remainingGlobalContext.isEmpty?void 0:remainingGlobalContext.parent,contextElements.add(nextContextElement),nextContextElement!==PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY)for(let i=0;i0;){let intermediate=new ATNConfigSet_1.ATNConfigSet;for(let config of currentConfigs)this.closureImpl(config,configs,intermediate,closureBusy,collectPredicates,hasMoreContext,contextCache,0,treatEofAsEpsilon);currentConfigs=intermediate}}closureImpl(config,configs,intermediate,closureBusy,collectPredicates,hasMoreContexts,contextCache,depth,treatEofAsEpsilon){if(ParserATNSimulator2.debug&&console.log("closure("+config.toString(this._parser,!0)+")"),config.state instanceof RuleStopState_1.RuleStopState)if(config.context.isEmpty){if(!hasMoreContexts)return void configs.add(config,contextCache);ParserATNSimulator2.debug&&console.log("FALLING off rule "+this.getRuleName(config.state.ruleIndex)),config.context===PredictionContext_1.PredictionContext.EMPTY_FULL?config=config.transform(config.state,!1,PredictionContext_1.PredictionContext.EMPTY_LOCAL):!config.reachesIntoOuterContext&&PredictionContext_1.PredictionContext.isEmptyLocal(config.context)&&configs.add(config,contextCache)}else{let hasEmpty=config.context.hasEmpty,nonEmptySize=config.context.size-(hasEmpty?1:0);for(let i=0;i-2147483648),this.closureImpl(c,configs,intermediate,closureBusy,collectPredicates,hasMoreContexts,contextCache,depth-1,treatEofAsEpsilon)}if(!hasEmpty||!hasMoreContexts)return;config=config.transform(config.state,!1,PredictionContext_1.PredictionContext.EMPTY_LOCAL)}let p=config.state;p.onlyHasEpsilonTransitions||(configs.add(config,contextCache),ParserATNSimulator2.debug&&console.log("added config "+configs));for(let i=0;i-2147483648),newDepth--,ParserATNSimulator2.debug&&console.log("dips into outer ctx: "+c)}else if(t instanceof RuleTransition_1.RuleTransition)!this.optimize_tail_calls||!t.optimizedTailCall||this.tail_call_preserves_sll&&PredictionContext_1.PredictionContext.isEmptyLocal(config.context)?newDepth>=0&&newDepth++:(assert(c.context===config.context),0===newDepth&&(newDepth--,!this.tail_call_preserves_sll&&PredictionContext_1.PredictionContext.isEmptyLocal(config.context)&&(c.outerContextDepth=c.outerContextDepth+1)));else if(!t.isEpsilon&&!closureBusy.add(c))continue;this.closureImpl(c,configs,intermediate,closureBusy,continueCollecting,hasMoreContexts,contextCache,newDepth,treatEofAsEpsilon)}}}getRuleName(index){return null!=this._parser&&index>=0?this._parser.ruleNames[index]:""}getEpsilonTarget(config,t,collectPredicates,inContext,contextCache,treatEofAsEpsilon){switch(t.serializationType){case 3:return this.ruleTransition(config,t,contextCache);case 10:return this.precedenceTransition(config,t,collectPredicates,inContext);case 4:return this.predTransition(config,t,collectPredicates,inContext);case 6:return this.actionTransition(config,t);case 1:return config.transform(t.target,!1);case 5:case 2:case 7:return treatEofAsEpsilon&&t.matches(Token_1.Token.EOF,0,1)?config.transform(t.target,!1):void 0;default:return}}actionTransition(config,t){return ParserATNSimulator2.debug&&console.log("ACTION edge "+t.ruleIndex+":"+t.actionIndex),config.transform(t.target,!1)}precedenceTransition(config,pt,collectPredicates,inContext){let c;if(ParserATNSimulator2.debug&&(console.log("PRED (collectPredicates="+collectPredicates+") "+pt.precedence+">=_p, ctx dependent=true"),null!=this._parser&&console.log("context surrounding pred is "+this._parser.getRuleInvocationStack())),collectPredicates&&inContext){let newSemCtx=SemanticContext_1.SemanticContext.and(config.semanticContext,pt.predicate);c=config.transform(pt.target,!1,newSemCtx)}else c=config.transform(pt.target,!1);return ParserATNSimulator2.debug&&console.log("config from pred transition="+c),c}predTransition(config,pt,collectPredicates,inContext){let c;if(ParserATNSimulator2.debug&&(console.log("PRED (collectPredicates="+collectPredicates+") "+pt.ruleIndex+":"+pt.predIndex+", ctx dependent="+pt.isCtxDependent),null!=this._parser&&console.log("context surrounding pred is "+this._parser.getRuleInvocationStack())),collectPredicates&&(!pt.isCtxDependent||pt.isCtxDependent&&inContext)){let newSemCtx=SemanticContext_1.SemanticContext.and(config.semanticContext,pt.predicate);c=config.transform(pt.target,!1,newSemCtx)}else c=config.transform(pt.target,!1);return ParserATNSimulator2.debug&&console.log("config from pred transition="+c),c}ruleTransition(config,t,contextCache){ParserATNSimulator2.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+config.context);let newContext,returnState=t.followState;return newContext=!this.optimize_tail_calls||!t.optimizedTailCall||this.tail_call_preserves_sll&&PredictionContext_1.PredictionContext.isEmptyLocal(config.context)?null!=contextCache?contextCache.getChild(config.context,returnState.stateNumber):config.context.getChild(returnState.stateNumber):config.context,config.transform(t.target,!1,newContext)}isConflicted(configset,contextCache){if(configset.uniqueAlt!==ATN_1.ATN.INVALID_ALT_NUMBER||configset.size<=1)return;let configs=configset.toArray();configs.sort(ParserATNSimulator2.STATE_ALT_SORT_COMPARATOR);let exact=!configset.dipsIntoOuterContext,alts=new BitSet_1.BitSet,minAlt=configs[0].alt;alts.set(minAlt);let representedAlts,currentState=configs[0].state.nonStopStateNumber;for(let config of configs){let stateNumber=config.state.nonStopStateNumber;if(stateNumber!==currentState){if(config.alt!==minAlt)return;currentState=stateNumber}}if(exact){currentState=configs[0].state.nonStopStateNumber,representedAlts=new BitSet_1.BitSet;let maxAlt=minAlt;for(let config of configs){if(config.state.nonStopStateNumber!==currentState)break;let alt=config.alt;representedAlts.set(alt),maxAlt=alt}currentState=configs[0].state.nonStopStateNumber;let currentAlt=minAlt;for(let config of configs){let stateNumber=config.state.nonStopStateNumber,alt=config.alt;if(stateNumber!==currentState){if(currentAlt!==maxAlt){exact=!1;break}currentState=stateNumber,currentAlt=minAlt}else if(alt!==currentAlt){if(alt!==representedAlts.nextSetBit(currentAlt+1)){exact=!1;break}currentAlt=alt}}}currentState=configs[0].state.nonStopStateNumber;let firstIndexCurrentState=0,lastIndexCurrentStateMinAlt=0,joinedCheckContext=configs[0].context;for(let i=1;i"}getLookaheadName(input){return this.getTokenName(input.LA(1))}dumpDeadEndConfigs(nvae){console.log("dead end configs: ");let deadEndConfigs=nvae.deadEndConfigs;if(deadEndConfigs)for(let c of deadEndConfigs){let trans="no edges";if(c.state.numberOfOptimizedTransitions>0){let t=c.state.getOptimizedTransition(0);t instanceof AtomTransition_1.AtomTransition?trans="Atom "+this.getTokenName(t._label):t instanceof SetTransition_1.SetTransition&&(trans=(t instanceof NotSetTransition_1.NotSetTransition?"~":"")+"Set "+t.set.toString())}console.log(c.toString(this._parser,!0)+":"+trans)}}noViableAlt(input,outerContext,configs,startIndex){return new NoViableAltException_1.NoViableAltException(this._parser,input,input.get(startIndex),input.LT(1),configs,outerContext)}getUniqueAlt(configs){let alt=ATN_1.ATN.INVALID_ALT_NUMBER;for(let c of configs)if(alt===ATN_1.ATN.INVALID_ALT_NUMBER)alt=c.alt;else if(c.alt!==alt)return ATN_1.ATN.INVALID_ALT_NUMBER;return alt}configWithAltAtStopState(configs,alt){for(let c of configs)if(c.alt===alt&&c.state instanceof RuleStopState_1.RuleStopState)return!0;return!1}addDFAEdge(dfa,fromState,t,contextTransitions,toConfigs,contextCache){assert(null==contextTransitions||contextTransitions.isEmpty||dfa.isContextSensitive);let from2=fromState,to=this.addDFAState(dfa,toConfigs,contextCache);if(null!=contextTransitions)for(let context of contextTransitions.toArray()){if(context===PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY&&from2.configs.isOutermostConfigSet)continue;from2.setContextSensitive(this.atn),from2.setContextSymbol(t);let next=from2.getContextTarget(context);null==next?(next=this.addDFAContextState(dfa,from2.configs,context,contextCache),assert(context!==PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY||next.configs.isOutermostConfigSet),from2.setContextTarget(context,next),from2=next):from2=next}return ParserATNSimulator2.debug&&console.log("EDGE "+from2+" -> "+to+" upon "+this.getTokenName(t)),this.setDFAEdge(from2,t,to),ParserATNSimulator2.debug&&console.log("DFA=\n"+dfa.toString(null!=this._parser?this._parser.vocabulary:VocabularyImpl_1.VocabularyImpl.EMPTY_VOCABULARY,null!=this._parser?this._parser.ruleNames:void 0)),to}setDFAEdge(p,t,q){p?.setTarget(t,q)}addDFAContextState(dfa,configs,returnContext,contextCache){if(returnContext!==PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY){let contextConfigs=new ATNConfigSet_1.ATNConfigSet;for(let config of configs)contextConfigs.add(config.appendContext(returnContext,contextCache));return this.addDFAState(dfa,contextConfigs,contextCache)}return assert(!configs.isOutermostConfigSet,"Shouldn't be adding a duplicate edge."),(configs=configs.clone(!0)).isOutermostConfigSet=!0,this.addDFAState(dfa,configs,contextCache)}addDFAState(dfa,configs,contextCache){let enableDfa=this.enable_global_context_dfa||!configs.isOutermostConfigSet;if(enableDfa){configs.isReadOnly||configs.optimizeConfigs(this);let proposed=this.createDFAState(dfa,configs),existing=dfa.states.get(proposed);if(null!=existing)return existing}configs.isReadOnly||null==configs.conflictInfo&&(configs.conflictInfo=this.isConflicted(configs,contextCache));let newState=this.createDFAState(dfa,configs.clone(!0)),decisionState=this.atn.getDecisionState(dfa.decision),predictedAlt=this.getUniqueAlt(configs);if(predictedAlt!==ATN_1.ATN.INVALID_ALT_NUMBER)newState.acceptStateInfo=new AcceptStateInfo_1.AcceptStateInfo(predictedAlt);else if(null!=configs.conflictingAlts){let conflictingAlts=configs.conflictingAlts;conflictingAlts&&(newState.acceptStateInfo=new AcceptStateInfo_1.AcceptStateInfo(conflictingAlts.nextSetBit(0)))}if(newState.isAcceptState&&configs.hasSemanticContext&&this.predicateDFAState(newState,configs,decisionState.numberOfTransitions),!enableDfa)return newState;let added=dfa.addState(newState);return ParserATNSimulator2.debug&&added===newState&&console.log("adding new DFA state: "+newState),added}createDFAState(dfa,configs){return new DFAState_1.DFAState(configs)}reportAttemptingFullContext(dfa,conflictingAlts,conflictState,startIndex,stopIndex){if(ParserATNSimulator2.debug||ParserATNSimulator2.retry_debug){let interval=Interval_1.Interval.of(startIndex,stopIndex);console.log("reportAttemptingFullContext decision="+dfa.decision+":"+conflictState.s0.configs+", input="+this._parser.inputStream.getText(interval))}if(null!=this._parser){let listener=this._parser.getErrorListenerDispatch();listener.reportAttemptingFullContext&&listener.reportAttemptingFullContext(this._parser,dfa,startIndex,stopIndex,conflictingAlts,conflictState)}}reportContextSensitivity(dfa,prediction,acceptState,startIndex,stopIndex){if(ParserATNSimulator2.debug||ParserATNSimulator2.retry_debug){let interval=Interval_1.Interval.of(startIndex,stopIndex);console.log("reportContextSensitivity decision="+dfa.decision+":"+acceptState.s0.configs+", input="+this._parser.inputStream.getText(interval))}if(null!=this._parser){let listener=this._parser.getErrorListenerDispatch();listener.reportContextSensitivity&&listener.reportContextSensitivity(this._parser,dfa,startIndex,stopIndex,prediction,acceptState)}}reportAmbiguity(dfa,D,startIndex,stopIndex,exact,ambigAlts,configs){if(ParserATNSimulator2.debug||ParserATNSimulator2.retry_debug){let interval=Interval_1.Interval.of(startIndex,stopIndex);console.log("reportAmbiguity "+ambigAlts+":"+configs+", input="+this._parser.inputStream.getText(interval))}if(null!=this._parser){let listener=this._parser.getErrorListenerDispatch();listener.reportAmbiguity&&listener.reportAmbiguity(this._parser,dfa,startIndex,stopIndex,exact,ambigAlts,configs)}}getReturnState(context){return context.isEmpty?PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY:this.atn.states[context.invokingState].transition(0).followState.stateNumber}skipTailCalls(context){if(!this.optimize_tail_calls)return context;for(;!context.isEmpty;){let state=this.atn.states[context.invokingState];if(assert(1===state.numberOfTransitions&&3===state.transition(0).serializationType),!state.transition(0).tailCall)break;context=context.parent}return context}get parser(){return this._parser}};ParserATNSimulator.debug=!1,ParserATNSimulator.dfa_debug=!1,ParserATNSimulator.retry_debug=!1,ParserATNSimulator.STATE_ALT_SORT_COMPARATOR=(o1,o2)=>{let diff=o1.state.nonStopStateNumber-o2.state.nonStopStateNumber;return 0!==diff||(diff=o1.alt-o2.alt,0!==diff)?diff:0},__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"predictionMode",void 0),__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"getPredictionMode",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"setPredictionMode",null),__decorate([Decorators_1.Override],ParserATNSimulator.prototype,"reset",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"adaptivePredict",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getStartState",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],ParserATNSimulator.prototype,"execDFA",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],ParserATNSimulator.prototype,"execATN",null),__decorate([__param(0,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"handleNoViableAlt",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getExistingTargetState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"computeTargetState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"removeAllConfigsNotInRuleStopState",null),__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"computeStartState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"applyPrecedenceFilter",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getReachableTarget",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getPredsForAmbigAlts",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"evalSemanticContext",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"evalSemanticContextImpl",null),__decorate([__param(1,Decorators_1.NotNull),__param(4,Decorators_1.Nullable)],ParserATNSimulator.prototype,"closure",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.Nullable),__param(3,Decorators_1.NotNull),__param(6,Decorators_1.NotNull)],ParserATNSimulator.prototype,"closureImpl",null),__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"getRuleName",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getEpsilonTarget",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"actionTransition",null),__decorate([Decorators_1.Nullable,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"precedenceTransition",null),__decorate([Decorators_1.Nullable,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"predTransition",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.Nullable)],ParserATNSimulator.prototype,"ruleTransition",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"isConflicted",null),__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"getTokenName",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"dumpDeadEndConfigs",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"noViableAlt",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getUniqueAlt",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"configWithAltAtStopState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(4,Decorators_1.NotNull)],ParserATNSimulator.prototype,"addDFAEdge",null),__decorate([__param(0,Decorators_1.Nullable),__param(2,Decorators_1.Nullable)],ParserATNSimulator.prototype,"setDFAEdge",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"addDFAContextState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"addDFAState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"createDFAState",null),__decorate([__param(0,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"reportAttemptingFullContext",null),__decorate([__param(0,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"reportContextSensitivity",null),__decorate([__param(0,Decorators_1.NotNull),__param(5,Decorators_1.NotNull),__param(6,Decorators_1.NotNull)],ParserATNSimulator.prototype,"reportAmbiguity",null),ParserATNSimulator=__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator),exports.ParserATNSimulator=ParserATNSimulator},8132:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlusBlockStartState=void 0;const ATNStateType_1=__webpack_require__(5495),BlockStartState_1=__webpack_require__(852),Decorators_1=__webpack_require__(4798);class PlusBlockStartState extends BlockStartState_1.BlockStartState{get stateType(){return ATNStateType_1.ATNStateType.PLUS_BLOCK_START}}__decorate([Decorators_1.Override],PlusBlockStartState.prototype,"stateType",null),exports.PlusBlockStartState=PlusBlockStartState},8659:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlusLoopbackState=void 0;const ATNStateType_1=__webpack_require__(5495),DecisionState_1=__webpack_require__(2992),Decorators_1=__webpack_require__(4798);class PlusLoopbackState extends DecisionState_1.DecisionState{get stateType(){return ATNStateType_1.ATNStateType.PLUS_LOOP_BACK}}__decorate([Decorators_1.Override],PlusLoopbackState.prototype,"stateType",null),exports.PlusLoopbackState=PlusLoopbackState},896:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PrecedencePredicateTransition=void 0;const AbstractPredicateTransition_1=__webpack_require__(4728),Decorators_1=__webpack_require__(4798),SemanticContext_1=__webpack_require__(7909);let PrecedencePredicateTransition=class extends AbstractPredicateTransition_1.AbstractPredicateTransition{constructor(target,precedence){super(target),this.precedence=precedence}get serializationType(){return 10}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}get predicate(){return new SemanticContext_1.SemanticContext.PrecedencePredicate(this.precedence)}toString(){return this.precedence+" >= _p"}};__decorate([Decorators_1.Override],PrecedencePredicateTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],PrecedencePredicateTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],PrecedencePredicateTransition.prototype,"matches",null),__decorate([Decorators_1.Override],PrecedencePredicateTransition.prototype,"toString",null),PrecedencePredicateTransition=__decorate([__param(0,Decorators_1.NotNull)],PrecedencePredicateTransition),exports.PrecedencePredicateTransition=PrecedencePredicateTransition},8412:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredicateEvalInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let PredicateEvalInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(state,decision,input,startIndex,stopIndex,semctx,evalResult,predictedAlt){super(decision,state,input,startIndex,stopIndex,state.useContext),this.semctx=semctx,this.evalResult=evalResult,this.predictedAlt=predictedAlt}};PredicateEvalInfo=__decorate([__param(0,Decorators_1.NotNull),__param(2,Decorators_1.NotNull),__param(5,Decorators_1.NotNull)],PredicateEvalInfo),exports.PredicateEvalInfo=PredicateEvalInfo},1447:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredicateTransition=void 0;const AbstractPredicateTransition_1=__webpack_require__(4728),Decorators_1=__webpack_require__(4798),SemanticContext_1=__webpack_require__(7909);let PredicateTransition=class extends AbstractPredicateTransition_1.AbstractPredicateTransition{constructor(target,ruleIndex,predIndex,isCtxDependent){super(target),this.ruleIndex=ruleIndex,this.predIndex=predIndex,this.isCtxDependent=isCtxDependent}get serializationType(){return 4}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}get predicate(){return new SemanticContext_1.SemanticContext.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}};__decorate([Decorators_1.Override],PredicateTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],PredicateTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],PredicateTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],PredicateTransition.prototype,"toString",null),PredicateTransition=__decorate([__param(0,Decorators_1.NotNull)],PredicateTransition),exports.PredicateTransition=PredicateTransition},2321:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SingletonPredictionContext=exports.PredictionContext=void 0;const Array2DHashMap_1=__webpack_require__(6746),Array2DHashSet_1=__webpack_require__(9792),Arrays_1=__webpack_require__(4630),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),PredictionContextCache_1=__webpack_require__(2685),assert=__webpack_require__(5936);class PredictionContext{constructor(cachedHashCode){this.cachedHashCode=cachedHashCode}static calculateEmptyHashCode(){let hash=MurmurHash_1.MurmurHash.initialize(1);return hash=MurmurHash_1.MurmurHash.finish(hash,0),hash}static calculateSingleHashCode(parent,returnState){let hash=MurmurHash_1.MurmurHash.initialize(1);return hash=MurmurHash_1.MurmurHash.update(hash,parent),hash=MurmurHash_1.MurmurHash.update(hash,returnState),hash=MurmurHash_1.MurmurHash.finish(hash,2),hash}static calculateHashCode(parents,returnStates){let hash=MurmurHash_1.MurmurHash.initialize(1);for(let parent of parents)hash=MurmurHash_1.MurmurHash.update(hash,parent);for(let returnState of returnStates)hash=MurmurHash_1.MurmurHash.update(hash,returnState);return hash=MurmurHash_1.MurmurHash.finish(hash,2*parents.length),hash}static fromRuleContext(atn,outerContext,fullContext=!0){if(outerContext.isEmpty)return fullContext?PredictionContext.EMPTY_FULL:PredictionContext.EMPTY_LOCAL;let parent;parent=outerContext._parent?PredictionContext.fromRuleContext(atn,outerContext._parent,fullContext):fullContext?PredictionContext.EMPTY_FULL:PredictionContext.EMPTY_LOCAL;let transition2=atn.states[outerContext.invokingState].transition(0);return parent.getChild(transition2.followState.stateNumber)}static addEmptyContext(context){return context.addEmptyContext()}static removeEmptyContext(context){return context.removeEmptyContext()}static join(context0,context1,contextCache=PredictionContextCache_1.PredictionContextCache.UNCACHED){if(context0===context1)return context0;if(context0.isEmpty)return PredictionContext.isEmptyLocal(context0)?context0:PredictionContext.addEmptyContext(context1);if(context1.isEmpty)return PredictionContext.isEmptyLocal(context1)?context1:PredictionContext.addEmptyContext(context0);let context0size=context0.size,context1size=context1.size;if(1===context0size&&1===context1size&&context0.getReturnState(0)===context1.getReturnState(0)){let merged=contextCache.join(context0.getParent(0),context1.getParent(0));return merged===context0.getParent(0)?context0:merged===context1.getParent(0)?context1:merged.getChild(context0.getReturnState(0))}let count=0,parentsList=new Array(context0size+context1size),returnStatesList=new Array(parentsList.length),leftIndex=0,rightIndex=0,canReturnLeft=!0,canReturnRight=!0;for(;leftIndex0){let bits=1;for(;1<>>0>offset&(1<>>0)-1,last=last&&index>=p.size-1,index>=p.size)continue outer;offset+=bits}recognizer?(localBuffer.length>1&&(localBuffer+=" "),localBuffer+=recognizer.ruleNames[recognizer.atn.states[stateNumber].ruleIndex]):p.getReturnState(index)!==PredictionContext.EMPTY_FULL_STATE_KEY&&(p.isEmpty||(localBuffer.length>1&&(localBuffer+=" "),localBuffer+=p.getReturnState(index))),stateNumber=p.getReturnState(index),p=p.getParent(index)}if(localBuffer+="]",result.push(localBuffer),last)break}return result}}__decorate([Decorators_1.Override],PredictionContext.prototype,"hashCode",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],PredictionContext,"join",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],PredictionContext,"getCachedContext",null),exports.PredictionContext=PredictionContext;class EmptyPredictionContext extends PredictionContext{constructor(fullContext){super(PredictionContext.calculateEmptyHashCode()),this.fullContext=fullContext}get isFullContext(){return this.fullContext}addEmptyContext(){return this}removeEmptyContext(){throw new Error("Cannot remove the empty context from itself.")}getParent(index){throw new Error("index out of bounds")}getReturnState(index){throw new Error("index out of bounds")}findReturnState(returnState){return-1}get size(){return 0}appendSingleContext(returnContext,contextCache){return contextCache.getChild(this,returnContext)}appendContext(suffix,contextCache){return suffix}get isEmpty(){return!0}get hasEmpty(){return!0}equals(o){return this===o}toStrings(recognizer,currentState,stop){return["[]"]}}__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"addEmptyContext",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"removeEmptyContext",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"getParent",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"getReturnState",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"findReturnState",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"size",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"appendSingleContext",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"appendContext",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"isEmpty",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"hasEmpty",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"equals",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"toStrings",null);let ArrayPredictionContext=class ArrayPredictionContext2 extends PredictionContext{constructor(parents,returnStates,hashCode){super(hashCode||PredictionContext.calculateHashCode(parents,returnStates)),assert(parents.length===returnStates.length),assert(returnStates.length>1||returnStates[0]!==PredictionContext.EMPTY_FULL_STATE_KEY,"Should be using PredictionContext.EMPTY instead."),this.parents=parents,this.returnStates=returnStates}getParent(index){return this.parents[index]}getReturnState(index){return this.returnStates[index]}findReturnState(returnState){return Arrays_1.Arrays.binarySearch(this.returnStates,returnState)}get size(){return this.returnStates.length}get isEmpty(){return!1}get hasEmpty(){return this.returnStates[this.returnStates.length-1]===PredictionContext.EMPTY_FULL_STATE_KEY}addEmptyContext(){if(this.hasEmpty)return this;let parents2=this.parents.slice(0),returnStates2=this.returnStates.slice(0);return parents2.push(PredictionContext.EMPTY_FULL),returnStates2.push(PredictionContext.EMPTY_FULL_STATE_KEY),new ArrayPredictionContext2(parents2,returnStates2)}removeEmptyContext(){if(!this.hasEmpty)return this;if(2===this.returnStates.length)return new SingletonPredictionContext(this.parents[0],this.returnStates[0]);{let parents2=this.parents.slice(0,this.parents.length-1),returnStates2=this.returnStates.slice(0,this.returnStates.length-1);return new ArrayPredictionContext2(parents2,returnStates2)}}appendContext(suffix,contextCache){return ArrayPredictionContext2.appendContextImpl(this,suffix,new PredictionContext.IdentityHashMap)}static appendContextImpl(context,suffix,visited){if(suffix.isEmpty){if(PredictionContext.isEmptyLocal(suffix)){if(context.hasEmpty)return PredictionContext.EMPTY_LOCAL;throw new Error("what to do here?")}return context}if(1!==suffix.size)throw new Error("Appending a tree suffix is not yet supported.");let result=visited.get(context);if(!result){if(context.isEmpty)result=suffix;else{let parentCount=context.size;context.hasEmpty&&parentCount--;let updatedParents=new Array(parentCount),updatedReturnStates=new Array(parentCount);for(let i=0;i1),result=new ArrayPredictionContext2(updatedParents,updatedReturnStates)),context.hasEmpty&&(result=PredictionContext.join(result,suffix))}visited.put(context,result)}return result}equals(o){return this===o||o instanceof ArrayPredictionContext2&&this.hashCode()===o.hashCode()&&this.equalsImpl(o,new Array2DHashSet_1.Array2DHashSet)}equalsImpl(other,visited){let selfWorkList=[],otherWorkList=[];for(selfWorkList.push(this),otherWorkList.push(other);;){let currentSelf=selfWorkList.pop(),currentOther=otherWorkList.pop();if(!currentSelf||!currentOther)break;let operands=new PredictionContextCache_1.PredictionContextCache.IdentityCommutativePredictionContextOperands(currentSelf,currentOther);if(!visited.add(operands))continue;let selfSize=operands.x.size;if(0!==selfSize){if(selfSize!==operands.y.size)return!1;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredictionContextCache=void 0;const Array2DHashMap_1=__webpack_require__(6746),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),assert=__webpack_require__(5936);class PredictionContextCache{constructor(enableCache=!0){this.contexts=new Array2DHashMap_1.Array2DHashMap(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.childContexts=new Array2DHashMap_1.Array2DHashMap(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.joinContexts=new Array2DHashMap_1.Array2DHashMap(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.enableCache=enableCache}getAsCached(context){if(!this.enableCache)return context;let result=this.contexts.get(context);return result||(result=context,this.contexts.put(context,context)),result}getChild(context,invokingState){if(!this.enableCache)return context.getChild(invokingState);let operands=new PredictionContextCache.PredictionContextAndInt(context,invokingState),result=this.childContexts.get(operands);return result||(result=context.getChild(invokingState),result=this.getAsCached(result),this.childContexts.put(operands,result)),result}join(x,y){if(!this.enableCache)return PredictionContext_1.PredictionContext.join(x,y,this);let operands=new PredictionContextCache.IdentityCommutativePredictionContextOperands(x,y),result=this.joinContexts.get(operands);return result||(result=PredictionContext_1.PredictionContext.join(x,y,this),result=this.getAsCached(result),this.joinContexts.put(operands,result),result)}}exports.PredictionContextCache=PredictionContextCache,PredictionContextCache.UNCACHED=new PredictionContextCache(!1),function(PredictionContextCache2){class PredictionContextAndInt{constructor(obj,value){this.obj=obj,this.value=value}equals(obj){return obj instanceof PredictionContextAndInt&&(obj===this||this.value===obj.value&&(this.obj===obj.obj||null!=this.obj&&this.obj.equals(obj.obj)))}hashCode(){let hashCode=5;return hashCode=7*hashCode+(null!=this.obj?this.obj.hashCode():0),hashCode=7*hashCode+this.value,hashCode}}__decorate([Decorators_1.Override],PredictionContextAndInt.prototype,"equals",null),__decorate([Decorators_1.Override],PredictionContextAndInt.prototype,"hashCode",null),PredictionContextCache2.PredictionContextAndInt=PredictionContextAndInt;class IdentityCommutativePredictionContextOperands{constructor(x,y){assert(null!=x),assert(null!=y),this._x=x,this._y=y}get x(){return this._x}get y(){return this._y}equals(o){return o instanceof IdentityCommutativePredictionContextOperands&&(this===o||(this._x===o._x&&this._y===o._y||this._x===o._y&&this._y===o._x))}hashCode(){return this._x.hashCode()^this._y.hashCode()}}__decorate([Decorators_1.Override],IdentityCommutativePredictionContextOperands.prototype,"equals",null),__decorate([Decorators_1.Override],IdentityCommutativePredictionContextOperands.prototype,"hashCode",null),PredictionContextCache2.IdentityCommutativePredictionContextOperands=IdentityCommutativePredictionContextOperands}(PredictionContextCache=exports.PredictionContextCache||(exports.PredictionContextCache={}))},1975:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredictionMode=void 0,__webpack_require__(6746);const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),RuleStopState_1=__webpack_require__(8059);var PredictionMode2;(PredictionMode2=exports.PredictionMode||(exports.PredictionMode={}))[PredictionMode2.SLL=0]="SLL",PredictionMode2[PredictionMode2.LL=1]="LL",PredictionMode2[PredictionMode2.LL_EXACT_AMBIG_DETECTION=2]="LL_EXACT_AMBIG_DETECTION",function(PredictionMode2){class AltAndContextConfigEqualityComparator{AltAndContextConfigEqualityComparator(){}hashCode(o){let hashCode=MurmurHash_1.MurmurHash.initialize(7);return hashCode=MurmurHash_1.MurmurHash.update(hashCode,o.state.stateNumber),hashCode=MurmurHash_1.MurmurHash.update(hashCode,o.context),hashCode=MurmurHash_1.MurmurHash.finish(hashCode,2),hashCode}equals(a,b){return a===b||null!=a&&null!=b&&a.state.stateNumber===b.state.stateNumber&&a.context.equals(b.context)}}AltAndContextConfigEqualityComparator.INSTANCE=new AltAndContextConfigEqualityComparator,__decorate([Decorators_1.Override],AltAndContextConfigEqualityComparator.prototype,"hashCode",null),__decorate([Decorators_1.Override],AltAndContextConfigEqualityComparator.prototype,"equals",null),PredictionMode2.hasConfigInRuleStopState=function hasConfigInRuleStopState(configs){for(let c of configs)if(c.state instanceof RuleStopState_1.RuleStopState)return!0;return!1},PredictionMode2.allConfigsInRuleStopStates=function allConfigsInRuleStopStates(configs){for(let config of configs)if(!(config.state instanceof RuleStopState_1.RuleStopState))return!1;return!0}}(exports.PredictionMode||(exports.PredictionMode={}))},2073:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProfilingATNSimulator=void 0;const AmbiguityInfo_1=__webpack_require__(9283),ATN_1=__webpack_require__(4495),ATNSimulator_1=__webpack_require__(573),ContextSensitivityInfo_1=__webpack_require__(5874),DecisionInfo_1=__webpack_require__(6543),ErrorInfo_1=__webpack_require__(8160),Decorators_1=__webpack_require__(4798),LookaheadEventInfo_1=__webpack_require__(8832),ParserATNSimulator_1=__webpack_require__(7609),PredicateEvalInfo_1=__webpack_require__(8412),SemanticContext_1=__webpack_require__(7909),SimulatorState_1=__webpack_require__(2243);class ProfilingATNSimulator extends ParserATNSimulator_1.ParserATNSimulator{constructor(parser){super(parser.interpreter.atn,parser),this._startIndex=0,this._sllStopIndex=0,this._llStopIndex=0,this.currentDecision=0,this.conflictingAltResolvedBySLL=0,this.optimize_ll1=!1,this.reportAmbiguities=!0,this.numDecisions=this.atn.decisionToState.length,this.decisions=[];for(let i=0;ithis.decisions[decision].SLL_MaxLook&&(this.decisions[decision].SLL_MaxLook=SLL_k,this.decisions[decision].SLL_MaxLookEvent=new LookaheadEventInfo_1.LookaheadEventInfo(decision,void 0,alt,input,this._startIndex,this._sllStopIndex,!1)),this._llStopIndex>=0){let LL_k=this._llStopIndex-this._startIndex+1;this.decisions[decision].LL_TotalLook+=LL_k,this.decisions[decision].LL_MinLook=0===this.decisions[decision].LL_MinLook?LL_k:Math.min(this.decisions[decision].LL_MinLook,LL_k),LL_k>this.decisions[decision].LL_MaxLook&&(this.decisions[decision].LL_MaxLook=LL_k,this.decisions[decision].LL_MaxLookEvent=new LookaheadEventInfo_1.LookaheadEventInfo(decision,void 0,alt,input,this._startIndex,this._llStopIndex,!0))}return alt}finally{this._input=void 0,this.currentDecision=-1}}getStartState(dfa,input,outerContext,useContext){let state=super.getStartState(dfa,input,outerContext,useContext);return this.currentState=state,state}computeStartState(dfa,globalContext,useContext){let state=super.computeStartState(dfa,globalContext,useContext);return this.currentState=state,state}computeReachSet(dfa,previous,t,contextCache){if(void 0===this._input)throw new Error("Invalid state");let reachState=super.computeReachSet(dfa,previous,t,contextCache);return null==reachState&&this.decisions[this.currentDecision].errors.push(new ErrorInfo_1.ErrorInfo(this.currentDecision,previous,this._input,this._startIndex,this._input.index)),this.currentState=reachState,reachState}getExistingTargetState(previousD,t){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");this.currentState.useContext?this._llStopIndex=this._input.index:this._sllStopIndex=this._input.index;let existingTargetState=super.getExistingTargetState(previousD,t);if(null!=existingTargetState&&(this.currentState=new SimulatorState_1.SimulatorState(this.currentState.outerContext,existingTargetState,this.currentState.useContext,this.currentState.remainingOuterContext),this.currentState.useContext?this.decisions[this.currentDecision].LL_DFATransitions++:this.decisions[this.currentDecision].SLL_DFATransitions++,existingTargetState===ATNSimulator_1.ATNSimulator.ERROR)){let state=new SimulatorState_1.SimulatorState(this.currentState.outerContext,previousD,this.currentState.useContext,this.currentState.remainingOuterContext);this.decisions[this.currentDecision].errors.push(new ErrorInfo_1.ErrorInfo(this.currentDecision,state,this._input,this._startIndex,this._input.index))}return existingTargetState}computeTargetState(dfa,s,remainingGlobalContext,t,useContext,contextCache){let targetState=super.computeTargetState(dfa,s,remainingGlobalContext,t,useContext,contextCache);return useContext?this.decisions[this.currentDecision].LL_ATNTransitions++:this.decisions[this.currentDecision].SLL_ATNTransitions++,targetState}evalSemanticContextImpl(pred,parserCallStack,alt){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");let result=super.evalSemanticContextImpl(pred,parserCallStack,alt);return pred instanceof SemanticContext_1.SemanticContext.PrecedencePredicate||this.decisions[this.currentDecision].predicateEvals.push(new PredicateEvalInfo_1.PredicateEvalInfo(this.currentState,this.currentDecision,this._input,this._startIndex,this._llStopIndex>=0?this._llStopIndex:this._sllStopIndex,pred,result,alt)),result}reportContextSensitivity(dfa,prediction,acceptState,startIndex,stopIndex){if(void 0===this._input)throw new Error("Invalid state");prediction!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new ContextSensitivityInfo_1.ContextSensitivityInfo(this.currentDecision,acceptState,this._input,startIndex,stopIndex)),super.reportContextSensitivity(dfa,prediction,acceptState,startIndex,stopIndex)}reportAttemptingFullContext(dfa,conflictingAlts,conflictState,startIndex,stopIndex){this.conflictingAltResolvedBySLL=null!=conflictingAlts?conflictingAlts.nextSetBit(0):conflictState.s0.configs.getRepresentedAlternatives().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,super.reportAttemptingFullContext(dfa,conflictingAlts,conflictState,startIndex,stopIndex)}reportAmbiguity(dfa,D,startIndex,stopIndex,exact,ambigAlts,configs){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");let prediction;prediction=null!=ambigAlts?ambigAlts.nextSetBit(0):configs.getRepresentedAlternatives().nextSetBit(0),this.conflictingAltResolvedBySLL!==ATN_1.ATN.INVALID_ALT_NUMBER&&prediction!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new ContextSensitivityInfo_1.ContextSensitivityInfo(this.currentDecision,this.currentState,this._input,startIndex,stopIndex)),this.decisions[this.currentDecision].ambiguities.push(new AmbiguityInfo_1.AmbiguityInfo(this.currentDecision,this.currentState,ambigAlts,this._input,startIndex,stopIndex)),super.reportAmbiguity(dfa,D,startIndex,stopIndex,exact,ambigAlts,configs)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}}__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],ProfilingATNSimulator.prototype,"adaptivePredict",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"getStartState",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"computeStartState",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"computeReachSet",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"getExistingTargetState",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"computeTargetState",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"evalSemanticContextImpl",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"reportContextSensitivity",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"reportAttemptingFullContext",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(5,Decorators_1.NotNull),__param(6,Decorators_1.NotNull)],ProfilingATNSimulator.prototype,"reportAmbiguity",null),exports.ProfilingATNSimulator=ProfilingATNSimulator},4242:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RangeTransition=void 0;const IntervalSet_1=__webpack_require__(3951),Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let RangeTransition=class extends Transition_1.Transition{constructor(target,from2,to){super(target),this.from=from2,this.to=to}get serializationType(){return 2}get label(){return IntervalSet_1.IntervalSet.of(this.from,this.to)}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=this.from&&symbol<=this.to}toString(){return"'"+String.fromCodePoint(this.from)+"'..'"+String.fromCodePoint(this.to)+"'"}};__decorate([Decorators_1.Override],RangeTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],RangeTransition.prototype,"label",null),__decorate([Decorators_1.Override],RangeTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],RangeTransition.prototype,"toString",null),RangeTransition=__decorate([__param(0,Decorators_1.NotNull)],RangeTransition),exports.RangeTransition=RangeTransition},1045:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleStartState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class RuleStartState extends ATNState_1.ATNState{constructor(){super(...arguments),this.isPrecedenceRule=!1,this.leftFactored=!1}get stateType(){return ATNStateType_1.ATNStateType.RULE_START}}__decorate([Decorators_1.Override],RuleStartState.prototype,"stateType",null),exports.RuleStartState=RuleStartState},8059:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleStopState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class RuleStopState extends ATNState_1.ATNState{get nonStopStateNumber(){return-1}get stateType(){return ATNStateType_1.ATNStateType.RULE_STOP}}__decorate([Decorators_1.Override],RuleStopState.prototype,"nonStopStateNumber",null),__decorate([Decorators_1.Override],RuleStopState.prototype,"stateType",null),exports.RuleStopState=RuleStopState},7937:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleTransition=void 0;const Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let RuleTransition=class extends Transition_1.Transition{constructor(ruleStart,ruleIndex,precedence,followState){super(ruleStart),this.tailCall=!1,this.optimizedTailCall=!1,this.ruleIndex=ruleIndex,this.precedence=precedence,this.followState=followState}get serializationType(){return 3}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}};__decorate([Decorators_1.NotNull],RuleTransition.prototype,"followState",void 0),__decorate([Decorators_1.Override],RuleTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],RuleTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],RuleTransition.prototype,"matches",null),RuleTransition=__decorate([__param(0,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],RuleTransition),exports.RuleTransition=RuleTransition},7909:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SemanticContext=void 0;const Array2DHashSet_1=__webpack_require__(9792),ArrayEqualityComparator_1=__webpack_require__(6481),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),Utils=__webpack_require__(2028);class SemanticContext{static get NONE(){return void 0===SemanticContext._NONE&&(SemanticContext._NONE=new SemanticContext.Predicate),SemanticContext._NONE}evalPrecedence(parser,parserCallStack){return this}static and(a,b){if(!a||a===SemanticContext.NONE)return b;if(b===SemanticContext.NONE)return a;let result=new SemanticContext.AND(a,b);return 1===result.opnds.length?result.opnds[0]:result}static or(a,b){if(!a)return b;if(a===SemanticContext.NONE||b===SemanticContext.NONE)return SemanticContext.NONE;let result=new SemanticContext.OR(a,b);return 1===result.opnds.length?result.opnds[0]:result}}exports.SemanticContext=SemanticContext,function(SemanticContext2){function filterPrecedencePredicates(collection){let result=[];for(let i=0;i=prec}?"}}__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"eval",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"evalPrecedence",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"compareTo",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"hashCode",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"equals",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"toString",null),SemanticContext2.PrecedencePredicate=PrecedencePredicate;class Operator extends SemanticContext2{}SemanticContext2.Operator=Operator;let AND=class AND2 extends Operator{constructor(a,b){super();let operands=new Array2DHashSet_1.Array2DHashSet(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE);a instanceof AND2?operands.addAll(a.opnds):operands.add(a),b instanceof AND2?operands.addAll(b.opnds):operands.add(b),this.opnds=operands.toArray();let reduced=function min(items){let result;for(let current of items)void 0!==result?result.compareTo(current)>0&&(result=current):result=current;return result}(filterPrecedencePredicates(this.opnds));reduced&&this.opnds.push(reduced)}get operands(){return this.opnds}equals(obj){return this===obj||obj instanceof AND2&&ArrayEqualityComparator_1.ArrayEqualityComparator.INSTANCE.equals(this.opnds,obj.opnds)}hashCode(){return MurmurHash_1.MurmurHash.hashCode(this.opnds,40363613)}eval(parser,parserCallStack){for(let opnd of this.opnds)if(!opnd.eval(parser,parserCallStack))return!1;return!0}evalPrecedence(parser,parserCallStack){let differs=!1,operands=[];for(let context of this.opnds){let evaluated=context.evalPrecedence(parser,parserCallStack);if(differs=differs||evaluated!==context,null==evaluated)return;evaluated!==SemanticContext2.NONE&&operands.push(evaluated)}if(!differs)return this;if(0===operands.length)return SemanticContext2.NONE;let result=operands[0];for(let i=1;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SetTransition=void 0;const IntervalSet_1=__webpack_require__(3951),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770),Transition_1=__webpack_require__(6633);let SetTransition=class extends Transition_1.Transition{constructor(target,set){super(target),null==set&&(set=IntervalSet_1.IntervalSet.of(Token_1.Token.INVALID_TYPE)),this.set=set}get serializationType(){return 7}get label(){return this.set}matches(symbol,minVocabSymbol,maxVocabSymbol){return this.set.contains(symbol)}toString(){return this.set.toString()}};__decorate([Decorators_1.NotNull],SetTransition.prototype,"set",void 0),__decorate([Decorators_1.Override],SetTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],SetTransition.prototype,"label",null),__decorate([Decorators_1.Override],SetTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],SetTransition.prototype,"toString",null),SetTransition=__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.Nullable)],SetTransition),exports.SetTransition=SetTransition},2243:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SimulatorState=void 0;const Decorators_1=__webpack_require__(4798),ParserRuleContext_1=__webpack_require__(3235);let SimulatorState=class{constructor(outerContext,s0,useContext,remainingOuterContext){this.outerContext=outerContext??ParserRuleContext_1.ParserRuleContext.emptyContext(),this.s0=s0,this.useContext=useContext,this.remainingOuterContext=remainingOuterContext}};SimulatorState=__decorate([__param(1,Decorators_1.NotNull)],SimulatorState),exports.SimulatorState=SimulatorState},2749:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StarBlockStartState=void 0;const ATNStateType_1=__webpack_require__(5495),BlockStartState_1=__webpack_require__(852),Decorators_1=__webpack_require__(4798);class StarBlockStartState extends BlockStartState_1.BlockStartState{get stateType(){return ATNStateType_1.ATNStateType.STAR_BLOCK_START}}__decorate([Decorators_1.Override],StarBlockStartState.prototype,"stateType",null),exports.StarBlockStartState=StarBlockStartState},7123:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StarLoopEntryState=void 0;const ATNStateType_1=__webpack_require__(5495),BitSet_1=__webpack_require__(6625),DecisionState_1=__webpack_require__(2992),Decorators_1=__webpack_require__(4798);class StarLoopEntryState extends DecisionState_1.DecisionState{constructor(){super(...arguments),this.precedenceRuleDecision=!1,this.precedenceLoopbackStates=new BitSet_1.BitSet}get stateType(){return ATNStateType_1.ATNStateType.STAR_LOOP_ENTRY}}__decorate([Decorators_1.Override],StarLoopEntryState.prototype,"stateType",null),exports.StarLoopEntryState=StarLoopEntryState},6583:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StarLoopbackState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class StarLoopbackState extends ATNState_1.ATNState{get loopEntryState(){return this.transition(0).target}get stateType(){return ATNStateType_1.ATNStateType.STAR_LOOP_BACK}}__decorate([Decorators_1.Override],StarLoopbackState.prototype,"stateType",null),exports.StarLoopbackState=StarLoopbackState},5153:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokensStartState=void 0;const ATNStateType_1=__webpack_require__(5495),DecisionState_1=__webpack_require__(2992),Decorators_1=__webpack_require__(4798);class TokensStartState extends DecisionState_1.DecisionState{get stateType(){return ATNStateType_1.ATNStateType.TOKEN_START}}__decorate([Decorators_1.Override],TokensStartState.prototype,"stateType",null),exports.TokensStartState=TokensStartState},6633:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Transition=void 0;const Decorators_1=__webpack_require__(4798);let Transition=class{constructor(target){if(null==target)throw new Error("target cannot be null.");this.target=target}get isEpsilon(){return!1}get label(){}};Transition.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],__decorate([Decorators_1.NotNull],Transition.prototype,"target",void 0),Transition=__decorate([__param(0,Decorators_1.NotNull)],Transition),exports.Transition=Transition},7902:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.WildcardTransition=void 0;const Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let WildcardTransition=class extends Transition_1.Transition{constructor(target){super(target)}get serializationType(){return 9}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=minVocabSymbol&&symbol<=maxVocabSymbol}toString(){return"."}};__decorate([Decorators_1.Override],WildcardTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],WildcardTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],WildcardTransition.prototype,"toString",null),WildcardTransition=__decorate([__param(0,Decorators_1.NotNull)],WildcardTransition),exports.WildcardTransition=WildcardTransition},5080:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AcceptStateInfo=void 0,exports.AcceptStateInfo=class AcceptStateInfo{constructor(prediction,lexerActionExecutor){this._prediction=prediction,this._lexerActionExecutor=lexerActionExecutor}get prediction(){return this._prediction}get lexerActionExecutor(){return this._lexerActionExecutor}}},7855:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DFA=void 0;const Array2DHashSet_1=__webpack_require__(9792),ATNConfigSet_1=__webpack_require__(5178),DFASerializer_1=__webpack_require__(2249),DFAState_1=__webpack_require__(5058),LexerDFASerializer_1=__webpack_require__(1668),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),StarLoopEntryState_1=__webpack_require__(7123),VocabularyImpl_1=__webpack_require__(4221);let DFA=class{constructor(atnStartState,decision=0){if(this.states=new Array2DHashSet_1.Array2DHashSet(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.nextStateNumber=0,!atnStartState.atn)throw new Error("The ATNState must be associated with an ATN");this.atnStartState=atnStartState,this.atn=atnStartState.atn,this.decision=decision;let isPrecedenceDfa=!1;atnStartState instanceof StarLoopEntryState_1.StarLoopEntryState&&atnStartState.precedenceRuleDecision&&(isPrecedenceDfa=!0,this.s0=new DFAState_1.DFAState(new ATNConfigSet_1.ATNConfigSet),this.s0full=new DFAState_1.DFAState(new ATNConfigSet_1.ATNConfigSet)),this.precedenceDfa=isPrecedenceDfa}get isPrecedenceDfa(){return this.precedenceDfa}getPrecedenceStartState(precedence,fullContext){if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");return fullContext?this.s0full.getTarget(precedence):this.s0.getTarget(precedence)}setPrecedenceStartState(precedence,fullContext,startState){if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");precedence<0||(fullContext?this.s0full.setTarget(precedence,startState):this.s0.setTarget(precedence,startState))}get isEmpty(){return this.isPrecedenceDfa?0===this.s0.getEdgeMap().size&&0===this.s0full.getEdgeMap().size:null==this.s0&&null==this.s0full}get isContextSensitive(){return this.isPrecedenceDfa?this.s0full.getEdgeMap().size>0:null!=this.s0full}addState(state){return state.stateNumber=this.nextStateNumber++,this.states.getOrAdd(state)}toString(vocabulary,ruleNames){if(vocabulary||(vocabulary=VocabularyImpl_1.VocabularyImpl.EMPTY_VOCABULARY),!this.s0)return"";let serializer;return serializer=ruleNames?new DFASerializer_1.DFASerializer(this,vocabulary,ruleNames,this.atnStartState.atn):new DFASerializer_1.DFASerializer(this,vocabulary),serializer.toString()}toLexerString(){return this.s0?new LexerDFASerializer_1.LexerDFASerializer(this).toString():""}};__decorate([Decorators_1.NotNull],DFA.prototype,"states",void 0),__decorate([Decorators_1.NotNull],DFA.prototype,"atnStartState",void 0),__decorate([Decorators_1.NotNull],DFA.prototype,"atn",void 0),DFA=__decorate([__param(0,Decorators_1.NotNull)],DFA),exports.DFA=DFA},2249:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DFASerializer=void 0;const ATNSimulator_1=__webpack_require__(573),Decorators_1=__webpack_require__(4798),PredictionContext_1=__webpack_require__(2321),Recognizer_1=__webpack_require__(5705),VocabularyImpl_1=__webpack_require__(4221);class DFASerializer{constructor(dfa,vocabulary,ruleNames,atn){vocabulary instanceof Recognizer_1.Recognizer?(ruleNames=vocabulary.ruleNames,atn=vocabulary.atn,vocabulary=vocabulary.vocabulary):vocabulary||(vocabulary=VocabularyImpl_1.VocabularyImpl.EMPTY_VOCABULARY),this.dfa=dfa,this.vocabulary=vocabulary,this.ruleNames=ruleNames,this.atn=atn}toString(){if(!this.dfa.s0)return"";let buf="";if(this.dfa.states){let states=new Array(...this.dfa.states.toArray());states.sort((o1,o2)=>o1.stateNumber-o2.stateNumber);for(let s of states){let edges=s.getEdgeMap(),edgeKeys=[...edges.keys()].sort((a,b)=>a-b),contextEdges=s.getContextEdgeMap(),contextEdgeKeys=[...contextEdges.keys()].sort((a,b)=>a-b);for(let entry of edgeKeys){let value=edges.get(entry);if((null==value||value===ATNSimulator_1.ATNSimulator.ERROR)&&!s.isContextSymbol(entry))continue;let contextSymbol=!1;buf+=this.getStateString(s)+"-"+this.getEdgeLabel(entry)+"->",s.isContextSymbol(entry)&&(buf+="!",contextSymbol=!0),value&&value.stateNumber!==ATNSimulator_1.ATNSimulator.ERROR.stateNumber?buf+=this.getStateString(value)+"\n":contextSymbol&&(buf+="ctx\n")}if(s.isContextSensitive)for(let entry of contextEdgeKeys)buf+=this.getStateString(s)+"-"+this.getContextLabel(entry)+"->"+this.getStateString(contextEdges.get(entry))+"\n"}}return 0===buf.length?"":buf}getContextLabel(i){if(i===PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY)return"ctx:EMPTY_FULL";if(i===PredictionContext_1.PredictionContext.EMPTY_LOCAL_STATE_KEY)return"ctx:EMPTY_LOCAL";if(this.atn&&i>0&&i<=this.atn.states.length){let ruleIndex=this.atn.states[i].ruleIndex;if(this.ruleNames&&ruleIndex>=0&&ruleIndex"+s.predicates:":s"+n+"=>"+s.prediction),s.isContextSensitive){stateStr+="*";for(let config of s.configs)if(config.reachesIntoOuterContext){stateStr+="*";break}}return stateStr}}__decorate([Decorators_1.NotNull],DFASerializer.prototype,"dfa",void 0),__decorate([Decorators_1.NotNull],DFASerializer.prototype,"vocabulary",void 0),__decorate([Decorators_1.Override],DFASerializer.prototype,"toString",null),exports.DFASerializer=DFASerializer},5058:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DFAState=void 0;const ATN_1=__webpack_require__(4495),BitSet_1=__webpack_require__(6625),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),PredictionContext_1=__webpack_require__(2321),assert=__webpack_require__(5936);class DFAState{constructor(configs){this.stateNumber=-1,this.configs=configs,this.edges=new Map,this.contextEdges=new Map}get isContextSensitive(){return!!this.contextSymbols}isContextSymbol(symbol){return!!this.isContextSensitive&&this.contextSymbols.get(symbol)}setContextSymbol(symbol){assert(this.isContextSensitive),this.contextSymbols.set(symbol)}setContextSensitive(atn){assert(!this.configs.isOutermostConfigSet),!this.isContextSensitive&&(this.contextSymbols||(this.contextSymbols=new BitSet_1.BitSet))}get acceptStateInfo(){return this._acceptStateInfo}set acceptStateInfo(acceptStateInfo){this._acceptStateInfo=acceptStateInfo}get isAcceptState(){return!!this._acceptStateInfo}get prediction(){return this._acceptStateInfo?this._acceptStateInfo.prediction:ATN_1.ATN.INVALID_ALT_NUMBER}get lexerActionExecutor(){if(this._acceptStateInfo)return this._acceptStateInfo.lexerActionExecutor}getTarget(symbol){return this.edges.get(symbol)}setTarget(symbol,target){this.edges.set(symbol,target)}getEdgeMap(){return this.edges}getContextTarget(invokingState){return invokingState===PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY&&(invokingState=-1),this.contextEdges.get(invokingState)}setContextTarget(invokingState,target){if(!this.isContextSensitive)throw new Error("The state is not context sensitive.");invokingState===PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY&&(invokingState=-1),this.contextEdges.set(invokingState,target)}getContextEdgeMap(){let map2=new Map(this.contextEdges),existing=map2.get(-1);if(void 0!==existing){if(1===map2.size){let result=new Map;return result.set(PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY,existing),result}map2.delete(-1),map2.set(PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY,existing)}return map2}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize(7);return hash=MurmurHash_1.MurmurHash.update(hash,this.configs.hashCode()),hash=MurmurHash_1.MurmurHash.finish(hash,1),hash}equals(o){return this===o||o instanceof DFAState&&this.configs.equals(o.configs)}toString(){let buf="";return buf+=this.stateNumber+":"+this.configs,this.isAcceptState&&(buf+="=>",buf+=this.predicates?this.predicates:this.prediction),buf.toString()}}__decorate([Decorators_1.NotNull],DFAState.prototype,"configs",void 0),__decorate([Decorators_1.NotNull],DFAState.prototype,"edges",void 0),__decorate([Decorators_1.NotNull],DFAState.prototype,"contextEdges",void 0),__decorate([Decorators_1.Override],DFAState.prototype,"hashCode",null),__decorate([Decorators_1.Override],DFAState.prototype,"equals",null),__decorate([Decorators_1.Override],DFAState.prototype,"toString",null),exports.DFAState=DFAState,function(DFAState2){let PredPrediction=class{constructor(pred,alt){this.alt=alt,this.pred=pred}toString(){return"("+this.pred+", "+this.alt+")"}};__decorate([Decorators_1.NotNull],PredPrediction.prototype,"pred",void 0),__decorate([Decorators_1.Override],PredPrediction.prototype,"toString",null),PredPrediction=__decorate([__param(0,Decorators_1.NotNull)],PredPrediction),DFAState2.PredPrediction=PredPrediction}(DFAState=exports.DFAState||(exports.DFAState={}))},1668:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerDFASerializer=void 0;const DFASerializer_1=__webpack_require__(2249),Decorators_1=__webpack_require__(4798),VocabularyImpl_1=__webpack_require__(4221);let LexerDFASerializer=class extends DFASerializer_1.DFASerializer{constructor(dfa){super(dfa,VocabularyImpl_1.VocabularyImpl.EMPTY_VOCABULARY)}getEdgeLabel(i){return"'"+String.fromCodePoint(i)+"'"}};__decorate([Decorators_1.Override,Decorators_1.NotNull],LexerDFASerializer.prototype,"getEdgeLabel",null),LexerDFASerializer=__decorate([__param(0,Decorators_1.NotNull)],LexerDFASerializer),exports.LexerDFASerializer=LexerDFASerializer},8430:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k),Object.defineProperty(o,k2,{enumerable:!0,get:function(){return m[k]}})}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=this&&this.__exportStar||function(m,exports2){for(var p in m)"default"!==p&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(__webpack_require__(7443),exports),__exportStar(__webpack_require__(3241),exports),__exportStar(__webpack_require__(7469),exports),__exportStar(__webpack_require__(5811),exports),__exportStar(__webpack_require__(254),exports),__exportStar(__webpack_require__(6110),exports),__exportStar(__webpack_require__(9228),exports),__exportStar(__webpack_require__(8378),exports),__exportStar(__webpack_require__(437),exports),__exportStar(__webpack_require__(970),exports),__exportStar(__webpack_require__(4445),exports),__exportStar(__webpack_require__(5615),exports),__exportStar(__webpack_require__(6972),exports),__exportStar(__webpack_require__(4053),exports),__exportStar(__webpack_require__(5202),exports),__exportStar(__webpack_require__(230),exports),__exportStar(__webpack_require__(4482),exports),__exportStar(__webpack_require__(9601),exports),__exportStar(__webpack_require__(4145),exports),__exportStar(__webpack_require__(9627),exports),__exportStar(__webpack_require__(1188),exports),__exportStar(__webpack_require__(4049),exports),__exportStar(__webpack_require__(4440),exports),__exportStar(__webpack_require__(9353),exports),__exportStar(__webpack_require__(1200),exports),__exportStar(__webpack_require__(5278),exports),__exportStar(__webpack_require__(7070),exports),__exportStar(__webpack_require__(1984),exports),__exportStar(__webpack_require__(3235),exports),__exportStar(__webpack_require__(4986),exports),__exportStar(__webpack_require__(6305),exports),__exportStar(__webpack_require__(6294),exports),__exportStar(__webpack_require__(5705),exports),__exportStar(__webpack_require__(325),exports),__exportStar(__webpack_require__(9942),exports),__exportStar(__webpack_require__(6424),exports),__exportStar(__webpack_require__(3656),exports),__exportStar(__webpack_require__(8770),exports),__exportStar(__webpack_require__(5253),exports),__exportStar(__webpack_require__(3062),exports),__exportStar(__webpack_require__(3357),exports),__exportStar(__webpack_require__(9904),exports),__exportStar(__webpack_require__(3935),exports),__exportStar(__webpack_require__(4221),exports),__exportStar(__webpack_require__(3697),exports)},6746:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Array2DHashMap=void 0;const Array2DHashSet_1=__webpack_require__(9792);class MapKeyEqualityComparator{constructor(keyComparator){this.keyComparator=keyComparator}hashCode(obj){return this.keyComparator.hashCode(obj.key)}equals(a,b){return this.keyComparator.equals(a.key,b.key)}}class Array2DHashMap{constructor(keyComparer){this.backingStore=new Array2DHashSet_1.Array2DHashSet(keyComparer instanceof Array2DHashMap?keyComparer.backingStore:new MapKeyEqualityComparator(keyComparer))}clear(){this.backingStore.clear()}containsKey(key){return this.backingStore.contains({key})}get(key){let bucket=this.backingStore.get({key});if(bucket)return bucket.value}get isEmpty(){return this.backingStore.isEmpty}put(key,value){let result,element=this.backingStore.get({key,value});return element?(result=element.value,element.value=value):this.backingStore.add({key,value}),result}putIfAbsent(key,value){let result,element=this.backingStore.get({key,value});return element?result=element.value:this.backingStore.add({key,value}),result}get size(){return this.backingStore.size}hashCode(){return this.backingStore.hashCode()}equals(o){return o instanceof Array2DHashMap&&this.backingStore.equals(o.backingStore)}}exports.Array2DHashMap=Array2DHashMap},9792:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Array2DHashSet=void 0;const assert=__webpack_require__(5936),DefaultEqualityComparator_1=__webpack_require__(502),Decorators_1=__webpack_require__(4798),MurmurHash_1=__webpack_require__(2296);class Array2DHashSet{constructor(comparatorOrSet,initialCapacity=16){if(this.n=0,this.threshold=Math.floor(12),comparatorOrSet instanceof Array2DHashSet){this.comparator=comparatorOrSet.comparator,this.buckets=comparatorOrSet.buckets.slice(0);for(let i=0;ithis.threshold&&this.expand(),this.getOrAddImpl(o)}getOrAddImpl(o){let b=this.getBucket(o),bucket=this.buckets[b];if(!bucket)return bucket=[o],this.buckets[b]=bucket,this.n++,o;for(let existing of bucket)if(this.comparator.equals(existing,o))return existing;return bucket.push(o),this.n++,o}get(o){if(null==o)return o;let b=this.getBucket(o),bucket=this.buckets[b];if(bucket)for(let e of bucket)if(this.comparator.equals(e,o))return e}getBucket(o){return this.comparator.hashCode(o)&this.buckets.length-1}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();for(let bucket of this.buckets)if(null!=bucket)for(let o of bucket){if(null==o)break;hash=MurmurHash_1.MurmurHash.update(hash,this.comparator.hashCode(o))}return hash=MurmurHash_1.MurmurHash.finish(hash,this.size),hash}equals(o){return o===this||o instanceof Array2DHashSet&&o.size===this.size&&this.containsAll(o)}expand(){let old=this.buckets,newCapacity=2*this.buckets.length,newTable=this.createBuckets(newCapacity);this.buckets=newTable,this.threshold=Math.floor(.75*newCapacity);let oldSize=this.size;for(let bucket of old)if(bucket)for(let o of bucket){let b=this.getBucket(o),newBucket=this.buckets[b];newBucket||(newBucket=[],this.buckets[b]=newBucket),newBucket.push(o)}assert(this.n===oldSize)}add(t){return this.getOrAdd(t)===t}get size(){return this.n}get isEmpty(){return 0===this.n}contains(o){return this.containsFast(this.asElementType(o))}containsFast(obj){return null!=obj&&null!=this.get(obj)}*[Symbol.iterator](){yield*this.toArray()}toArray(){const a=new Array(this.size);let i=0;for(let bucket of this.buckets)if(null!=bucket)for(let o of bucket){if(null==o)break;a[i++]=o}return a}containsAll(collection){if(collection instanceof Array2DHashSet){let s=collection;for(let bucket of s.buckets)if(null!=bucket)for(let o of bucket){if(null==o)break;if(!this.containsFast(this.asElementType(o)))return!1}}else for(let o of collection)if(!this.containsFast(this.asElementType(o)))return!1;return!0}addAll(c){let changed=!1;for(let o of c)this.getOrAdd(o)!==o&&(changed=!0);return changed}clear(){this.buckets=this.createBuckets(16),this.n=0,this.threshold=Math.floor(12)}toString(){if(0===this.size)return"{}";let buf="{",first2=!0;for(let bucket of this.buckets)if(null!=bucket)for(let o of bucket){if(null==o)break;first2?first2=!1:buf+=", ",buf+=o.toString()}return buf+="}",buf}toTableString(){let buf="";for(let bucket of this.buckets){if(null==bucket){buf+="null\n";continue}buf+="[";let first2=!0;for(let o of bucket)first2?first2=!1:buf+=" ",buf+=null==o?"_":o.toString();buf+="]\n"}return buf}asElementType(o){return o}createBuckets(capacity){return new Array(capacity)}}__decorate([Decorators_1.NotNull],Array2DHashSet.prototype,"comparator",void 0),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"hashCode",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"equals",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"add",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"size",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"isEmpty",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"contains",null),__decorate([__param(0,Decorators_1.Nullable)],Array2DHashSet.prototype,"containsFast",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,Symbol.iterator,null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"toArray",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"containsAll",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"addAll",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"clear",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"toString",null),__decorate([Decorators_1.SuppressWarnings("unchecked")],Array2DHashSet.prototype,"asElementType",null),__decorate([Decorators_1.SuppressWarnings("unchecked")],Array2DHashSet.prototype,"createBuckets",null),exports.Array2DHashSet=Array2DHashSet},6481:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArrayEqualityComparator=void 0;const Decorators_1=__webpack_require__(4798),MurmurHash_1=__webpack_require__(2296),ObjectEqualityComparator_1=__webpack_require__(1760);class ArrayEqualityComparator{hashCode(obj){return null==obj?0:MurmurHash_1.MurmurHash.hashCode(obj,0)}equals(a,b){if(null==a)return null==b;if(null==b||a.length!==b.length)return!1;for(let i=0;i{"use strict";var Arrays2;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Arrays=void 0,(Arrays2=exports.Arrays||(exports.Arrays={})).binarySearch=function binarySearch(array,key,fromIndex,toIndex){return function binarySearch0(array,fromIndex,toIndex,key){let low=fromIndex,high=toIndex-1;for(;low<=high;){let mid=low+high>>>1,midVal=array[mid];if(midValkey))return mid;high=mid-1}}return-(low+1)}(array,void 0!==fromIndex?fromIndex:0,void 0!==toIndex?toIndex:array.length,key)},Arrays2.toString=function toString(array){let result="[",first2=!0;for(let element of array)first2?first2=!1:result+=", ",result+=null===element?"null":void 0===element?"undefined":element;return result+="]",result}},6625:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BitSet=void 0;const util=__webpack_require__(179),MurmurHash_1=__webpack_require__(2296),EMPTY_DATA=new Uint16Array(0);function getIndex(bitNumber){return bitNumber>>>4}function unIndex(n){return 16*n}function findLSBSet(word){let bit=1;for(let i=0;i<16;i++){if(word&bit)return i;bit=bit<<1>>>0}throw new RangeError("No specified bit found")}function findMSBSet(word){let bit=32768;for(let i=15;i>=0;i--){if(word&bit)return i;bit>>>=1}throw new RangeError("No specified bit found")}function bitsFor(fromBit,toBit){return(fromBit&=15)==(toBit&=15)?1<>>0:65535>>>15-toBit^65535>>>16-fromBit}const POP_CNT=new Uint8Array(65536);for(let i=0;i<16;i++){const stride=1<>>0;let index=0;for(;indexlength)return-1;let ignore=65535^bitsFor(fromIndex,15);if(65535==(data[word]|ignore)){for(word++,ignore=0;wordlength)return-1;let mask=bitsFor(fromIndex,15);if(!(data[word]&mask)){for(word++,mask=65535;word=length)return-1}return unIndex(word)+findLSBSet(data[word]&mask)}or(set){const data=this.data,other=set.data,minWords=Math.min(data.length,other.length),words=Math.max(data.length,other.length),dest=data.length===words?data:new Uint16Array(words);let lastWord=-1;for(let i=0;iother.length?data:other;for(let i=minWords;i=length&&(word=length-1);let ignore=65535^bitsFor(0,fromIndex);if(65535==(data[word]|ignore)){for(ignore=0,word--;word>=0&&65535===data[word];word--);if(word<0)return-1}return unIndex(word)+findMSBSet(65535^(data[word]|ignore))}previousSetBit(fromIndex){if(fromIndex<0)throw new RangeError("fromIndex cannot be negative");const data=this.data,length=data.length;let word=getIndex(fromIndex);word>=length&&(word=length-1);let mask=bitsFor(0,fromIndex);if(!(data[word]&mask)){for(word--,mask=65535;word>=0&&0===data[word];word--);if(word<0)return-1}return unIndex(word)+findMSBSet(data[word]&mask)}set(fromIndex,toIndex,value){if(void 0===toIndex?(toIndex=fromIndex,value=!0):"boolean"==typeof toIndex&&(value=toIndex,toIndex=fromIndex),void 0===value&&(value=!0),fromIndex<0||fromIndex>toIndex)throw new RangeError;let word=getIndex(fromIndex),lastWord=getIndex(toIndex);if(value&&lastWord>=this.data.length){let temp=new Uint16Array(lastWord+1);this.data.forEach((value2,index)=>temp[index]=value2),this.data=temp}else if(!value){if(word>=this.data.length)return;lastWord>=this.data.length&&(lastWord=this.data.length-1,toIndex=16*this.data.length-1)}if(word===lastWord)this._setBits(word,value,bitsFor(fromIndex,toIndex));else{for(this._setBits(word++,value,bitsFor(fromIndex,15));word=0;i=this.nextSetBit(i+1))first2?first2=!1:result+=", ",result+=i;return result+="}",result}xor(set){const data=this.data,other=set.data,minWords=Math.min(data.length,other.length),words=Math.max(data.length,other.length),dest=data.length===words?data:new Uint16Array(words);let lastWord=-1;for(let i=0;iother.length?data:other;for(let i=minWords;i{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isSupplementaryCodePoint=exports.isLowSurrogate=exports.isHighSurrogate=void 0,exports.isHighSurrogate=function isHighSurrogate(ch){return ch>=55296&&ch<=56319},exports.isLowSurrogate=function isLowSurrogate(ch){return ch>=56320&&ch<=57343},exports.isSupplementaryCodePoint=function isSupplementaryCodePoint(ch){return ch>=65536}},502:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultEqualityComparator=void 0;const Decorators_1=__webpack_require__(4798),MurmurHash_1=__webpack_require__(2296),ObjectEqualityComparator_1=__webpack_require__(1760);class DefaultEqualityComparator{hashCode(obj){return null==obj?0:"string"==typeof obj||"number"==typeof obj?MurmurHash_1.MurmurHash.hashCode([obj]):ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE.hashCode(obj)}equals(a,b){return null==a?null==b:"string"==typeof a||"number"==typeof a?a===b:ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE.equals(a,b)}}DefaultEqualityComparator.INSTANCE=new DefaultEqualityComparator,__decorate([Decorators_1.Override],DefaultEqualityComparator.prototype,"hashCode",null),__decorate([Decorators_1.Override],DefaultEqualityComparator.prototype,"equals",null),exports.DefaultEqualityComparator=DefaultEqualityComparator},4862:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.IntegerList=void 0;const Arrays_1=__webpack_require__(4630),Decorators_1=__webpack_require__(4798),EMPTY_DATA=new Int32Array(0);class IntegerList{constructor(arg){if(arg)if(arg instanceof IntegerList)this._data=arg._data.slice(0),this._size=arg._size;else if("number"==typeof arg)0===arg?(this._data=EMPTY_DATA,this._size=0):(this._data=new Int32Array(arg),this._size=0);else{this._data=EMPTY_DATA,this._size=0;for(let value of arg)this.add(value)}else this._data=EMPTY_DATA,this._size=0}add(value){this._data.length===this._size&&this.ensureCapacity(this._size+1),this._data[this._size]=value,this._size++}addAll(list){if(Array.isArray(list))this.ensureCapacity(this._size+list.length),this._data.subarray(this._size,this._size+list.length).set(list),this._size+=list.length;else if(list instanceof IntegerList)this.ensureCapacity(this._size+list._size),this._data.subarray(this._size,this._size+list.size).set(list._data),this._size+=list._size;else{this.ensureCapacity(this._size+list.size);let current=0;for(let xi of list)this._data[this._size+current]=xi,current++;this._size+=list.size}}get(index){if(index<0||index>=this._size)throw RangeError();return this._data[index]}contains(value){for(let i=0;i=this._size)throw RangeError();let previous=this._data[index];return this._data[index]=value,previous}removeAt(index){let value=this.get(index);return this._data.copyWithin(index,index+1,this._size),this._data[this._size-1]=0,this._size--,value}removeRange(fromIndex,toIndex){if(fromIndex<0||toIndex<0||fromIndex>this._size||toIndex>this._size||fromIndex>toIndex)throw RangeError();this._data.copyWithin(toIndex,fromIndex,this._size),this._data.fill(0,this._size-(toIndex-fromIndex),this._size),this._size-=toIndex-fromIndex}get isEmpty(){return 0===this._size}get size(){return this._size}trimToSize(){this._data.length!==this._size&&(this._data=this._data.slice(0,this._size))}clear(){this._data.fill(0,0,this._size),this._size=0}toArray(){return 0===this._size?[]:Array.from(this._data.subarray(0,this._size))}sort(){this._data.subarray(0,this._size).sort()}equals(o){if(o===this)return!0;if(!(o instanceof IntegerList)||this._size!==o._size)return!1;for(let i=0;ithis._size||toIndex>this._size)throw new RangeError;if(fromIndex>toIndex)throw new RangeError;return Arrays_1.Arrays.binarySearch(this._data,key,fromIndex,toIndex)}ensureCapacity(capacity){if(capacity<0||capacity>2147483639)throw new RangeError;let newLength;for(newLength=0===this._data.length?4:this._data.length;newLength2147483639)&&(newLength=2147483639);let tmp=new Int32Array(newLength);tmp.set(this._data),this._data=tmp}toCharArray(){let resultArray=new Uint16Array(this._size),resultIdx=0,calculatedPreciseResultSize=!1;for(let i=0;i=0&&codePoint<65536){resultArray[resultIdx]=codePoint,resultIdx++;continue}if(!calculatedPreciseResultSize){let newResultArray=new Uint16Array(this.charArraySize());newResultArray.set(resultArray,0),resultArray=newResultArray,calculatedPreciseResultSize=!0}let pair=String.fromCodePoint(codePoint);resultArray[resultIdx]=pair.charCodeAt(0),resultArray[resultIdx+1]=pair.charCodeAt(1),resultIdx+=2}return resultArray}charArraySize(){let result=0;for(let i=0;i=65536?2:1;return result}}__decorate([Decorators_1.NotNull],IntegerList.prototype,"_data",void 0),__decorate([Decorators_1.Override],IntegerList.prototype,"equals",null),__decorate([Decorators_1.Override],IntegerList.prototype,"hashCode",null),__decorate([Decorators_1.Override],IntegerList.prototype,"toString",null),exports.IntegerList=IntegerList},1251:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.IntegerStack=void 0;const IntegerList_1=__webpack_require__(4862);exports.IntegerStack=class IntegerStack extends IntegerList_1.IntegerList{constructor(arg){super(arg)}push(value){this.add(value)}pop(){return this.removeAt(this.size-1)}peek(){return this.get(this.size-1)}}},8691:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Interval=void 0;const Decorators_1=__webpack_require__(4798);class Interval{constructor(a,b){this.a=a,this.b=b}static get INVALID(){return Interval._INVALID}static of(a,b){return a!==b||a<0||a>1e3?new Interval(a,b):(null==Interval.cache[a]&&(Interval.cache[a]=new Interval(a,a)),Interval.cache[a])}get length(){return this.b=other.a}startsAfter(other){return this.a>other.a}startsAfterDisjoint(other){return this.a>other.b}startsAfterNonDisjoint(other){return this.a>other.a&&this.a<=other.b}disjoint(other){return this.startsBeforeDisjoint(other)||this.startsAfterDisjoint(other)}adjacent(other){return this.a===other.b+1||this.b===other.a-1}properlyContains(other){return other.a>=this.a&&other.b<=this.b}union(other){return Interval.of(Math.min(this.a,other.a),Math.max(this.b,other.b))}intersection(other){return Interval.of(Math.max(this.a,other.a),Math.min(this.b,other.b))}differenceNotProperlyContained(other){let diff;return other.startsBeforeNonDisjoint(this)?diff=Interval.of(Math.max(this.a,other.b+1),this.b):other.startsAfterNonDisjoint(this)&&(diff=Interval.of(this.a,other.a-1)),diff}toString(){return this.a+".."+this.b}}Interval._INVALID=new Interval(-1,-2),Interval.cache=new Array(1001),__decorate([Decorators_1.Override],Interval.prototype,"equals",null),__decorate([Decorators_1.Override],Interval.prototype,"hashCode",null),__decorate([Decorators_1.Override],Interval.prototype,"toString",null),exports.Interval=Interval},3951:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.IntervalSet=void 0;const ArrayEqualityComparator_1=__webpack_require__(6481),IntegerList_1=__webpack_require__(4862),Interval_1=__webpack_require__(8691),Lexer_1=__webpack_require__(1188),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);class IntervalSet{constructor(intervals){this.readonly=!1,this._intervals=null!=intervals?intervals.slice(0):[]}static get COMPLETE_CHAR_SET(){return void 0===IntervalSet._COMPLETE_CHAR_SET&&(IntervalSet._COMPLETE_CHAR_SET=IntervalSet.of(Lexer_1.Lexer.MIN_CHAR_VALUE,Lexer_1.Lexer.MAX_CHAR_VALUE),IntervalSet._COMPLETE_CHAR_SET.setReadonly(!0)),IntervalSet._COMPLETE_CHAR_SET}static get EMPTY_SET(){return null==IntervalSet._EMPTY_SET&&(IntervalSet._EMPTY_SET=new IntervalSet,IntervalSet._EMPTY_SET.setReadonly(!0)),IntervalSet._EMPTY_SET}static of(a,b=a){let s=new IntervalSet;return s.add(a,b),s}clear(){if(this.readonly)throw new Error("can't alter readonly IntervalSet");this._intervals.length=0}add(a,b=a){this.addRange(Interval_1.Interval.of(a,b))}addRange(addition){if(this.readonly)throw new Error("can't alter readonly IntervalSet");if(!(addition.bresultInterval.b)resultI++;else if(rightInterval.a>resultInterval.a&&(beforeCurrent=new Interval_1.Interval(resultInterval.a,rightInterval.a-1)),rightInterval.b>1,I=this._intervals[m];if(I.bel))return!0;r=m-1}}return!1}get isNil(){return null==this._intervals||0===this._intervals.length}get maxElement(){if(this.isNil)throw new RangeError("set is empty");return this._intervals[this._intervals.length-1].b}get minElement(){if(this.isNil)throw new RangeError("set is empty");return this._intervals[0].a}get intervals(){return this._intervals}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();for(let I of this._intervals)hash=MurmurHash_1.MurmurHash.update(hash,I.a),hash=MurmurHash_1.MurmurHash.update(hash,I.b);return hash=MurmurHash_1.MurmurHash.finish(hash,2*this._intervals.length),hash}equals(o){return null!=o&&o instanceof IntervalSet&&ArrayEqualityComparator_1.ArrayEqualityComparator.INSTANCE.equals(this._intervals,o._intervals)}toString(elemAreChar=!1){let buf="";if(null==this._intervals||0===this._intervals.length)return"{}";this.size>1&&(buf+="{");let first2=!0;for(let I of this._intervals){first2?first2=!1:buf+=", ";let a=I.a,b=I.b;buf+=a===b?a===Token_1.Token.EOF?"":elemAreChar?"'"+String.fromCodePoint(a)+"'":a:elemAreChar?"'"+String.fromCodePoint(a)+"'..'"+String.fromCodePoint(b)+"'":a+".."+b}return this.size>1&&(buf+="}"),buf}toStringVocabulary(vocabulary){if(null==this._intervals||0===this._intervals.length)return"{}";let buf="";this.size>1&&(buf+="{");let first2=!0;for(let I of this._intervals){first2?first2=!1:buf+=", ";let a=I.a,b=I.b;if(a===b)buf+=this.elementName(vocabulary,a);else for(let i=a;i<=b;i++)i>a&&(buf+=", "),buf+=this.elementName(vocabulary,i)}return this.size>1&&(buf+="}"),buf}elementName(vocabulary,a){return a===Token_1.Token.EOF?"":a===Token_1.Token.EPSILON?"":vocabulary.getDisplayName(a)}get size(){let n=0,numIntervals=this._intervals.length;if(1===numIntervals){let firstInterval=this._intervals[0];return firstInterval.b-firstInterval.a+1}for(let i=0;ia&&el{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MultiMap=void 0;class MultiMap extends Map{constructor(){super()}map(key,value){let elementsForKey=super.get(key);elementsForKey||(elementsForKey=[],super.set(key,elementsForKey)),elementsForKey.push(value)}getPairs(){let pairs=[];return this.forEach((values,key)=>{values.forEach(v=>{pairs.push([key,v])})}),pairs}}exports.MultiMap=MultiMap},2296:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MurmurHash=void 0,function(MurmurHash2){function initialize(seed=0){return seed}function update(hash,value){null==value?value=0:"string"==typeof value?value=function hashString(str){let len=str.length;if(0===len)return 0;let hash=0;for(let i=0;i>>0)-hash+str.charCodeAt(i),hash|=0;return hash}(value):"object"==typeof value&&(value=value.hashCode());let k=value;return k=Math.imul(k,3432918353),k=k<<15|k>>>17,k=Math.imul(k,461845907),hash=(hash^=k)<<13|hash>>>19,4294967295&Math.imul(hash,5)+3864292196}function finish(hash,numberOfWords){return hash^=4*numberOfWords,hash^=hash>>>16,hash=Math.imul(hash,2246822507),hash^=hash>>>13,(hash=Math.imul(hash,3266489909))^hash>>>16}MurmurHash2.initialize=initialize,MurmurHash2.update=update,MurmurHash2.finish=finish,MurmurHash2.hashCode=function hashCode(data,seed=0){let hash=initialize(seed),length=0;for(let value of data)hash=update(hash,value),length++;return hash=finish(hash,length),hash}}(exports.MurmurHash||(exports.MurmurHash={}))},1760:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ObjectEqualityComparator=void 0;const Decorators_1=__webpack_require__(4798);class ObjectEqualityComparator{hashCode(obj){return null==obj?0:obj.hashCode()}equals(a,b){return null==a?null==b:a.equals(b)}}ObjectEqualityComparator.INSTANCE=new ObjectEqualityComparator,__decorate([Decorators_1.Override],ObjectEqualityComparator.prototype,"hashCode",null),__decorate([Decorators_1.Override],ObjectEqualityComparator.prototype,"equals",null),exports.ObjectEqualityComparator=ObjectEqualityComparator},5011:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseCancellationException=void 0;class ParseCancellationException extends Error{constructor(cause){super(cause.message),this.cause=cause,this.stack=cause.stack}getCause(){return this.cause}}exports.ParseCancellationException=ParseCancellationException},5662:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UUID=void 0;const MurmurHash_1=__webpack_require__(2296);class UUID{constructor(mostSigBits,moreSigBits,lessSigBits,leastSigBits){this.data=new Uint32Array(4),this.data[0]=mostSigBits,this.data[1]=moreSigBits,this.data[2]=lessSigBits,this.data[3]=leastSigBits}static fromString(data){if(!/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/.test(data))throw new Error("Incorrectly formatted UUID");let segments=data.split("-"),mostSigBits=parseInt(segments[0],16),moreSigBits=(parseInt(segments[1],16)<<16>>>0)+parseInt(segments[2],16),lessSigBits=(parseInt(segments[3],16)<<16>>>0)+parseInt(segments[4].substr(0,4),16),leastSigBits=parseInt(segments[4].substr(-8),16);return new UUID(mostSigBits,moreSigBits,lessSigBits,leastSigBits)}hashCode(){return MurmurHash_1.MurmurHash.hashCode([this.data[0],this.data[1],this.data[2],this.data[3]])}equals(obj){return obj===this||obj instanceof UUID&&this.data[0]===obj.data[0]&&this.data[1]===obj.data[1]&&this.data[2]===obj.data[2]&&this.data[3]===obj.data[3]}toString(){return("00000000"+this.data[0].toString(16)).substr(-8)+"-"+("0000"+(this.data[1]>>>16).toString(16)).substr(-4)+"-"+("0000"+this.data[1].toString(16)).substr(-4)+"-"+("0000"+(this.data[2]>>>16).toString(16)).substr(-4)+"-"+("0000"+this.data[2].toString(16)).substr(-4)+("00000000"+this.data[3].toString(16)).substr(-8)}}exports.UUID=UUID},2028:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.toCharArray=exports.toMap=exports.equals=exports.join=exports.escapeWhitespace=void 0,exports.escapeWhitespace=function escapeWhitespace(s,escapeSpaces){return escapeSpaces?s.replace(/ /,"\xb7"):s.replace(/\t/,"\\t").replace(/\n/,"\\n").replace(/\r/,"\\r")},exports.join=function join(collection,separator){let buf="",first2=!0;for(let current of collection)first2?first2=!1:buf+=separator,buf+=current;return buf},exports.equals=function equals(x,y){return x===y||void 0!==x&&void 0!==y&&x.equals(y)},exports.toMap=function toMap(keys){let m=new Map;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AbstractParseTreeVisitor=void 0;const Decorators_1=__webpack_require__(4798);class AbstractParseTreeVisitor{visit(tree){return tree.accept(this)}visitChildren(node2){let result=this.defaultResult(),n=node2.childCount;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ErrorNode=void 0;const Decorators_1=__webpack_require__(4798),TerminalNode_1=__webpack_require__(9561);class ErrorNode extends TerminalNode_1.TerminalNode{constructor(token){super(token)}accept(visitor){return visitor.visitErrorNode(this)}}__decorate([Decorators_1.Override],ErrorNode.prototype,"accept",null),exports.ErrorNode=ErrorNode},2416:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleNode=void 0,exports.RuleNode=class RuleNode{}},9561:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TerminalNode=void 0;const Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);class TerminalNode{constructor(symbol){this._symbol=symbol}getChild(i){throw new RangeError("Terminal Node has no children.")}get symbol(){return this._symbol}get parent(){return this._parent}setParent(parent){this._parent=parent}get payload(){return this._symbol}get sourceInterval(){let tokenIndex=this._symbol.tokenIndex;return new Interval_1.Interval(tokenIndex,tokenIndex)}get childCount(){return 0}accept(visitor){return visitor.visitTerminal(this)}get text(){return this._symbol.text||""}toStringTree(parser){return this.toString()}toString(){return this._symbol.type===Token_1.Token.EOF?"":this._symbol.text||""}}__decorate([Decorators_1.Override],TerminalNode.prototype,"getChild",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"parent",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"setParent",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"payload",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"sourceInterval",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"childCount",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"accept",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"text",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"toStringTree",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"toString",null),exports.TerminalNode=TerminalNode},3398:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Trees=void 0;const ATN_1=__webpack_require__(4495),CommonToken_1=__webpack_require__(970),ErrorNode_1=__webpack_require__(8272),Decorators_1=__webpack_require__(4798),Parser_1=__webpack_require__(5278),ParserRuleContext_1=__webpack_require__(3235),RuleNode_1=__webpack_require__(2416),TerminalNode_1=__webpack_require__(9561),Token_1=__webpack_require__(8770),Utils=__webpack_require__(2028);class Trees{static toStringTree(t,arg2){let ruleNames;ruleNames=arg2 instanceof Parser_1.Parser?arg2.ruleNames:arg2;let s=Utils.escapeWhitespace(this.getNodeText(t,ruleNames),!1);if(0===t.childCount)return s;let buf="";buf+="(",s=Utils.escapeWhitespace(this.getNodeText(t,ruleNames),!1),buf+=s,buf+=" ";for(let i=0;i0&&(buf+=" "),buf+=this.toStringTree(t.getChild(i),ruleNames);return buf+=")",buf}static getNodeText(t,arg2){let ruleNames;if(arg2 instanceof Parser_1.Parser)ruleNames=arg2.ruleNames;else{if(!arg2){let payload=t.payload;return"string"==typeof payload.text?payload.text:t.payload.toString()}ruleNames=arg2}if(t instanceof RuleNode_1.RuleNode){let ruleContext=t.ruleContext,ruleName=ruleNames[ruleContext.ruleIndex],altNumber=ruleContext.altNumber;return altNumber!==ATN_1.ATN.INVALID_ALT_NUMBER?ruleName+":"+altNumber:ruleName}if(t instanceof ErrorNode_1.ErrorNode)return t.toString();if(t instanceof TerminalNode_1.TerminalNode)return t.symbol.text||"";throw new TypeError("Unexpected node type")}static getChildren(t){let kids=[];for(let i=0;i=t.start.tokenIndex&&(null==stopToken||stopTokenIndex<=stopToken.tokenIndex))return t}}static stripChildrenOutOfRange(t,root,startIndex,stopIndex){if(!t)return;let count=t.childCount;for(let i=0;istopIndex)&&Trees.isAncestorOf(child,root)){let abbrev=new CommonToken_1.CommonToken(Token_1.Token.INVALID_TYPE,"...");t.children[i]=new TerminalNode_1.TerminalNode(abbrev)}}}static findNodeSuchThat(t,pred){if(pred(t))return t;let n=t.childCount;for(let i=0;i{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Chunk=void 0,exports.Chunk=class Chunk{}},9417:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseTreeMatch=void 0;const Decorators_1=__webpack_require__(4798);let ParseTreeMatch=class{constructor(tree,pattern,labels,mismatchedNode){if(!tree)throw new Error("tree cannot be null");if(!pattern)throw new Error("pattern cannot be null");if(!labels)throw new Error("labels cannot be null");this._tree=tree,this._pattern=pattern,this._labels=labels,this._mismatchedNode=mismatchedNode}get(label){let parseTrees=this._labels.get(label);if(parseTrees&&0!==parseTrees.length)return parseTrees[parseTrees.length-1]}getAll(label){return this._labels.get(label)||[]}get labels(){return this._labels}get mismatchedNode(){return this._mismatchedNode}get succeeded(){return!this._mismatchedNode}get pattern(){return this._pattern}get tree(){return this._tree}toString(){return`Match ${this.succeeded?"succeeded":"failed"}; found ${this.labels.size} labels`}};__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ParseTreeMatch.prototype,"getAll",null),__decorate([Decorators_1.NotNull],ParseTreeMatch.prototype,"labels",null),__decorate([Decorators_1.NotNull],ParseTreeMatch.prototype,"pattern",null),__decorate([Decorators_1.NotNull],ParseTreeMatch.prototype,"tree",null),__decorate([Decorators_1.Override],ParseTreeMatch.prototype,"toString",null),ParseTreeMatch=__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParseTreeMatch),exports.ParseTreeMatch=ParseTreeMatch},7591:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseTreePattern=void 0;const Decorators_1=__webpack_require__(4798),XPath_1=__webpack_require__(7196);let ParseTreePattern=class{constructor(matcher,pattern,patternRuleIndex,patternTree){this._matcher=matcher,this._patternRuleIndex=patternRuleIndex,this._pattern=pattern,this._patternTree=patternTree}match(tree){return this._matcher.match(tree,this)}matches(tree){return this._matcher.match(tree,this).succeeded}findAll(tree,xpath){let subtrees=XPath_1.XPath.findAll(tree,xpath,this._matcher.parser),matches=[];for(let t of subtrees){let match=this.match(t);match.succeeded&&matches.push(match)}return matches}get matcher(){return this._matcher}get pattern(){return this._pattern}get patternRuleIndex(){return this._patternRuleIndex}get patternTree(){return this._patternTree}};__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"_pattern",void 0),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"_patternTree",void 0),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"_matcher",void 0),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ParseTreePattern.prototype,"match",null),__decorate([__param(0,Decorators_1.NotNull)],ParseTreePattern.prototype,"matches",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParseTreePattern.prototype,"findAll",null),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"matcher",null),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"pattern",null),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"patternTree",null),ParseTreePattern=__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],ParseTreePattern),exports.ParseTreePattern=ParseTreePattern},7702:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseTreePatternMatcher=void 0;const BailErrorStrategy_1=__webpack_require__(5811),CharStreams_1=__webpack_require__(9228),CommonTokenStream_1=__webpack_require__(5615),ListTokenSource_1=__webpack_require__(9353),MultiMap_1=__webpack_require__(3783),Decorators_1=__webpack_require__(4798),ParseCancellationException_1=__webpack_require__(5011),ParserInterpreter_1=__webpack_require__(1984),ParserRuleContext_1=__webpack_require__(3235),ParseTreeMatch_1=__webpack_require__(9417),ParseTreePattern_1=__webpack_require__(7591),RecognitionException_1=__webpack_require__(6294),RuleNode_1=__webpack_require__(2416),RuleTagToken_1=__webpack_require__(8250),TagChunk_1=__webpack_require__(9944),TerminalNode_1=__webpack_require__(9561),TextChunk_1=__webpack_require__(227),Token_1=__webpack_require__(8770),TokenTagToken_1=__webpack_require__(6492);class ParseTreePatternMatcher{constructor(lexer,parser){this.start="<",this.stop=">",this.escape="\\",this.escapeRE=/\\/g,this._lexer=lexer,this._parser=parser}setDelimiters(start,stop,escapeLeft){if(!start)throw new Error("start cannot be null or empty");if(!stop)throw new Error("stop cannot be null or empty");this.start=start,this.stop=stop,this.escape=escapeLeft,this.escapeRE=new RegExp(escapeLeft.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g")}matches(tree,pattern,patternRuleIndex=0){if("string"==typeof pattern){let p=this.compile(pattern,patternRuleIndex);return this.matches(tree,p)}{let labels=new MultiMap_1.MultiMap;return!this.matchImpl(tree,pattern.patternTree,labels)}}match(tree,pattern,patternRuleIndex=0){if("string"==typeof pattern){let p=this.compile(pattern,patternRuleIndex);return this.match(tree,p)}{let labels=new MultiMap_1.MultiMap,mismatchedNode=this.matchImpl(tree,pattern.patternTree,labels);return new ParseTreeMatch_1.ParseTreeMatch(tree,pattern,labels,mismatchedNode)}}compile(pattern,patternRuleIndex){let tokenList=this.tokenize(pattern),tokenSrc=new ListTokenSource_1.ListTokenSource(tokenList),tokens=new CommonTokenStream_1.CommonTokenStream(tokenSrc);const parser=this._parser;let tree,parserInterp=new ParserInterpreter_1.ParserInterpreter(parser.grammarFileName,parser.vocabulary,parser.ruleNames,parser.getATNWithBypassAlts(),tokens);try{parserInterp.errorHandler=new BailErrorStrategy_1.BailErrorStrategy,tree=parserInterp.parse(patternRuleIndex)}catch(e){throw e instanceof ParseCancellationException_1.ParseCancellationException?e.getCause():e instanceof RecognitionException_1.RecognitionException?e:e instanceof Error?new ParseTreePatternMatcher.CannotInvokeStartRule(e):e}if(tokens.LA(1)!==Token_1.Token.EOF)throw new ParseTreePatternMatcher.StartRuleDoesNotConsumeFullPattern;return new ParseTreePattern_1.ParseTreePattern(this,pattern,patternRuleIndex,tree)}get lexer(){return this._lexer}get parser(){return this._parser}matchImpl(tree,patternTree,labels){if(!tree)throw new TypeError("tree cannot be null");if(!patternTree)throw new TypeError("patternTree cannot be null");if(tree instanceof TerminalNode_1.TerminalNode&&patternTree instanceof TerminalNode_1.TerminalNode){let mismatchedNode;if(tree.symbol.type===patternTree.symbol.type)if(patternTree.symbol instanceof TokenTagToken_1.TokenTagToken){let tokenTagToken=patternTree.symbol;labels.map(tokenTagToken.tokenName,tree);const l=tokenTagToken.label;l&&labels.map(l,tree)}else tree.text===patternTree.text||mismatchedNode||(mismatchedNode=tree);else mismatchedNode||(mismatchedNode=tree);return mismatchedNode}if(tree instanceof ParserRuleContext_1.ParserRuleContext&&patternTree instanceof ParserRuleContext_1.ParserRuleContext){let mismatchedNode,ruleTagToken=this.getRuleTagToken(patternTree);if(ruleTagToken){if(tree.ruleContext.ruleIndex===patternTree.ruleContext.ruleIndex){labels.map(ruleTagToken.ruleName,tree);const l=ruleTagToken.label;l&&labels.map(l,tree)}else mismatchedNode||(mismatchedNode=tree);return mismatchedNode}if(tree.childCount!==patternTree.childCount)return mismatchedNode||(mismatchedNode=tree),mismatchedNode;let n=tree.childCount;for(let i=0;istops.length)throw new Error("unterminated tag in pattern: "+pattern);if(starts.length=stops[i])throw new Error("tag delimiters out of order in pattern: "+pattern);if(0===ntags){let text=pattern.substring(0,n);chunks.push(new TextChunk_1.TextChunk(text))}if(ntags>0&&starts[0]>0){let text=pattern.substring(0,starts[0]);chunks.push(new TextChunk_1.TextChunk(text))}for(let i=0;i=0&&(label=tag.substring(0,colon),ruleOrToken=tag.substring(colon+1,tag.length)),chunks.push(new TagChunk_1.TagChunk(ruleOrToken,label)),i+10){let afterLastTag=stops[ntags-1]+this.stop.length;if(afterLastTag=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleTagToken=void 0;const Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let RuleTagToken=class{constructor(ruleName,bypassTokenType,label){if(null==ruleName||0===ruleName.length)throw new Error("ruleName cannot be null or empty.");this._ruleName=ruleName,this.bypassTokenType=bypassTokenType,this._label=label}get ruleName(){return this._ruleName}get label(){return this._label}get channel(){return Token_1.Token.DEFAULT_CHANNEL}get text(){return null!=this._label?"<"+this._label+":"+this._ruleName+">":"<"+this._ruleName+">"}get type(){return this.bypassTokenType}get line(){return 0}get charPositionInLine(){return-1}get tokenIndex(){return-1}get startIndex(){return-1}get stopIndex(){return-1}get tokenSource(){}get inputStream(){}toString(){return this._ruleName+":"+this.bypassTokenType}};__decorate([Decorators_1.NotNull],RuleTagToken.prototype,"ruleName",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"channel",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"text",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"type",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"line",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"charPositionInLine",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"tokenIndex",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"startIndex",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"stopIndex",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"tokenSource",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"inputStream",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"toString",null),RuleTagToken=__decorate([__param(0,Decorators_1.NotNull)],RuleTagToken),exports.RuleTagToken=RuleTagToken},9944:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TagChunk=void 0;const Chunk_1=__webpack_require__(9140),Decorators_1=__webpack_require__(4798);class TagChunk extends Chunk_1.Chunk{constructor(tag,label){if(super(),null==tag||0===tag.length)throw new Error("tag cannot be null or empty");this._tag=tag,this._label=label}get tag(){return this._tag}get label(){return this._label}toString(){return null!=this._label?this._label+":"+this._tag:this._tag}}__decorate([Decorators_1.NotNull],TagChunk.prototype,"tag",null),__decorate([Decorators_1.Override],TagChunk.prototype,"toString",null),exports.TagChunk=TagChunk},227:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TextChunk=void 0;const Chunk_1=__webpack_require__(9140),Decorators_1=__webpack_require__(4798);let TextChunk=class extends Chunk_1.Chunk{constructor(text){if(super(),null==text)throw new Error("text cannot be null");this._text=text}get text(){return this._text}toString(){return"'"+this._text+"'"}};__decorate([Decorators_1.NotNull],TextChunk.prototype,"_text",void 0),__decorate([Decorators_1.NotNull],TextChunk.prototype,"text",null),__decorate([Decorators_1.Override],TextChunk.prototype,"toString",null),TextChunk=__decorate([__param(0,Decorators_1.NotNull)],TextChunk),exports.TextChunk=TextChunk},6492:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokenTagToken=void 0;const CommonToken_1=__webpack_require__(970),Decorators_1=__webpack_require__(4798);let TokenTagToken=class extends CommonToken_1.CommonToken{constructor(tokenName,type,label){super(type),this._tokenName=tokenName,this._label=label}get tokenName(){return this._tokenName}get label(){return this._label}get text(){return null!=this._label?"<"+this._label+":"+this._tokenName+">":"<"+this._tokenName+">"}toString(){return this._tokenName+":"+this.type}};__decorate([Decorators_1.NotNull],TokenTagToken.prototype,"_tokenName",void 0),__decorate([Decorators_1.NotNull],TokenTagToken.prototype,"tokenName",null),__decorate([Decorators_1.Override],TokenTagToken.prototype,"text",null),__decorate([Decorators_1.Override],TokenTagToken.prototype,"toString",null),TokenTagToken=__decorate([__param(0,Decorators_1.NotNull)],TokenTagToken),exports.TokenTagToken=TokenTagToken},7196:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPath=void 0;const CharStreams_1=__webpack_require__(9228),CommonTokenStream_1=__webpack_require__(5615),LexerNoViableAltException_1=__webpack_require__(4440),ParserRuleContext_1=__webpack_require__(3235),Token_1=__webpack_require__(8770),XPathLexer_1=__webpack_require__(9923),XPathLexerErrorListener_1=__webpack_require__(7720),XPathRuleAnywhereElement_1=__webpack_require__(423),XPathRuleElement_1=__webpack_require__(1328),XPathTokenAnywhereElement_1=__webpack_require__(8205),XPathTokenElement_1=__webpack_require__(4884),XPathWildcardAnywhereElement_1=__webpack_require__(7736),XPathWildcardElement_1=__webpack_require__(8499);class XPath{constructor(parser,path){this.parser=parser,this.path=path,this.elements=this.split(path)}split(path){let lexer=new XPathLexer_1.XPathLexer(CharStreams_1.CharStreams.fromString(path));lexer.recover=e=>{throw e},lexer.removeErrorListeners(),lexer.addErrorListener(new XPathLexerErrorListener_1.XPathLexerErrorListener);let tokenStream=new CommonTokenStream_1.CommonTokenStream(lexer);try{tokenStream.fill()}catch(e){if(e instanceof LexerNoViableAltException_1.LexerNoViableAltException)throw new RangeError("Invalid tokens or characters at index "+lexer.charPositionInLine+" in path '"+path+"' -- "+e.message);throw e}let tokens=tokenStream.getTokens(),elements=[],n=tokens.length,i=0;loop:for(;i0&&this.elements[i].evaluate(node2).forEach(next.add,next);i++,work=next}return work}}exports.XPath=XPath,XPath.WILDCARD="*",XPath.NOT="!"},6888:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathElement=void 0;const Decorators_1=__webpack_require__(4798);class XPathElement{constructor(nodeName){this.nodeName=nodeName,this.invert=!1}toString(){return Object.constructor.name+"["+(this.invert?"!":"")+this.nodeName+"]"}}__decorate([Decorators_1.Override],XPathElement.prototype,"toString",null),exports.XPathElement=XPathElement},9923:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathLexer=void 0;const ATNDeserializer_1=__webpack_require__(9940),Lexer_1=__webpack_require__(1188),LexerATNSimulator_1=__webpack_require__(7101),VocabularyImpl_1=__webpack_require__(4221),Utils=__webpack_require__(2028);class XPathLexer extends Lexer_1.Lexer{constructor(input){super(input),this._interp=new LexerATNSimulator_1.LexerATNSimulator(XPathLexer._ATN,this)}get vocabulary(){return XPathLexer.VOCABULARY}get grammarFileName(){return"XPathLexer.g4"}get ruleNames(){return XPathLexer.ruleNames}get serializedATN(){return XPathLexer._serializedATN}get channelNames(){return XPathLexer.channelNames}get modeNames(){return XPathLexer.modeNames}action(_localctx,ruleIndex,actionIndex){4===ruleIndex&&this.ID_action(_localctx,actionIndex)}ID_action(_localctx,actionIndex){if(0===actionIndex){let text=this.text;this.type=text.charAt(0)===text.charAt(0).toUpperCase()?XPathLexer.TOKEN_REF:XPathLexer.RULE_REF}}static get _ATN(){return XPathLexer.__ATN||(XPathLexer.__ATN=(new ATNDeserializer_1.ATNDeserializer).deserialize(Utils.toCharArray(XPathLexer._serializedATN))),XPathLexer.__ATN}}exports.XPathLexer=XPathLexer,XPathLexer.TOKEN_REF=1,XPathLexer.RULE_REF=2,XPathLexer.ANYWHERE=3,XPathLexer.ROOT=4,XPathLexer.WILDCARD=5,XPathLexer.BANG=6,XPathLexer.ID=7,XPathLexer.STRING=8,XPathLexer.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],XPathLexer.modeNames=["DEFAULT_MODE"],XPathLexer.ruleNames=["ANYWHERE","ROOT","WILDCARD","BANG","ID","NameChar","NameStartChar","STRING"],XPathLexer._LITERAL_NAMES=[void 0,void 0,void 0,"'//'","'/'","'*'","'!'"],XPathLexer._SYMBOLIC_NAMES=[void 0,"TOKEN_REF","RULE_REF","ANYWHERE","ROOT","WILDCARD","BANG","ID","STRING"],XPathLexer.VOCABULARY=new VocabularyImpl_1.VocabularyImpl(XPathLexer._LITERAL_NAMES,XPathLexer._SYMBOLIC_NAMES,[]),XPathLexer._serializedATNSegments=2,XPathLexer._serializedATNSegment0='\x03\uc91d\ucaba\u058d\uafba\u4f53\u0607\uea8b\uc241\x02\n2\b\x01\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x03\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03\x06\x07\x06\x1f\n\x06\f\x06\x0e\x06"\v\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\b\x03\b\x03\t\x03\t\x07\t,\n\t\f\t\x0e\t/\v\t\x03\t\x03\t\x03-\x02\x02\n\x03\x02\x05\x05\x02\x06\x07\x02\x07\t\x02\b\v\x02\t\r\x02\x02\x0f\x02\x02\x11\x02\n\x03\x02\x02\x04\u02b6\x02\x02\x02\n\x02\x10\x02\x1d\x022\x02;\x02C\x02\\\x02a\x02a\x02c\x02|\x02\x81\x02\xa1\x02\xac\x02\xac\x02\xaf\x02\xaf\x02\xb7\x02\xb7\x02\xbc\x02\xbc\x02\xc2\x02\xd8\x02\xda\x02\xf8\x02\xfa\x02\u02c3\x02\u02c8\x02\u02d3\x02\u02e2\x02\u02e6\x02\u02ee\x02\u02ee\x02\u02f0\x02\u02f0\x02\u0302\x02\u0376\x02\u0378\x02\u0379\x02\u037c\x02\u037f\x02\u0381\x02\u0381\x02\u0388\x02\u0388\x02\u038a\x02\u038c\x02\u038e\x02\u038e\x02\u0390\x02\u03a3\x02\u03a5\x02\u03f7\x02\u03f9\x02\u0483\x02\u0485\x02\u0489\x02\u048c\x02\u0531\x02\u0533\x02\u0558\x02\u055b\x02\u055b\x02\u0563\x02\u0589\x02\u0593\x02\u05bf\x02\u05c1\x02\u05c1\x02\u05c3\x02\u05c4\x02\u05c6\x02\u05c7\x02\u05c9\x02\u05c9\x02\u05d2\x02\u05ec\x02\u05f2\x02\u05f4\x02\u0602\x02\u0607\x02\u0612\x02\u061c\x02\u061e\x02\u061e\x02\u0622\x02\u066b\x02\u0670\x02\u06d5\x02\u06d7\x02\u06df\x02\u06e1\x02\u06ea\x02\u06ec\x02\u06fe\x02\u0701\x02\u0701\x02\u0711\x02\u074c\x02\u074f\x02\u07b3\x02\u07c2\x02\u07f7\x02\u07fc\x02\u07fc\x02\u0802\x02\u082f\x02\u0842\x02\u085d\x02\u08a2\x02\u08b6\x02\u08b8\x02\u08bf\x02\u08d6\x02\u0965\x02\u0968\x02\u0971\x02\u0973\x02\u0985\x02\u0987\x02\u098e\x02\u0991\x02\u0992\x02\u0995\x02\u09aa\x02\u09ac\x02\u09b2\x02\u09b4\x02\u09b4\x02\u09b8\x02\u09bb\x02\u09be\x02\u09c6\x02\u09c9\x02\u09ca\x02\u09cd\x02\u09d0\x02\u09d9\x02\u09d9\x02\u09de\x02\u09df\x02\u09e1\x02\u09e5\x02\u09e8\x02\u09f3\x02\u0a03\x02\u0a05\x02\u0a07\x02\u0a0c\x02\u0a11\x02\u0a12\x02\u0a15\x02\u0a2a\x02\u0a2c\x02\u0a32\x02\u0a34\x02\u0a35\x02\u0a37\x02\u0a38\x02\u0a3a\x02\u0a3b\x02\u0a3e\x02\u0a3e\x02\u0a40\x02\u0a44\x02\u0a49\x02\u0a4a\x02\u0a4d\x02\u0a4f\x02\u0a53\x02\u0a53\x02\u0a5b\x02\u0a5e\x02\u0a60\x02\u0a60\x02\u0a68\x02\u0a77\x02\u0a83\x02\u0a85\x02\u0a87\x02\u0a8f\x02\u0a91\x02\u0a93\x02\u0a95\x02\u0aaa\x02\u0aac\x02\u0ab2\x02\u0ab4\x02\u0ab5\x02\u0ab7\x02\u0abb\x02\u0abe\x02\u0ac7\x02\u0ac9\x02\u0acb\x02\u0acd\x02\u0acf\x02\u0ad2\x02\u0ad2\x02\u0ae2\x02\u0ae5\x02\u0ae8\x02\u0af1\x02\u0afb\x02\u0afb\x02\u0b03\x02\u0b05\x02\u0b07\x02\u0b0e\x02\u0b11\x02\u0b12\x02\u0b15\x02\u0b2a\x02\u0b2c\x02\u0b32\x02\u0b34\x02\u0b35\x02\u0b37\x02\u0b3b\x02\u0b3e\x02\u0b46\x02\u0b49\x02\u0b4a\x02\u0b4d\x02\u0b4f\x02\u0b58\x02\u0b59\x02\u0b5e\x02\u0b5f\x02\u0b61\x02\u0b65\x02\u0b68\x02\u0b71\x02\u0b73\x02\u0b73\x02\u0b84\x02\u0b85\x02\u0b87\x02\u0b8c\x02\u0b90\x02\u0b92\x02\u0b94\x02\u0b97\x02\u0b9b\x02\u0b9c\x02\u0b9e\x02\u0b9e\x02\u0ba0\x02\u0ba1\x02\u0ba5\x02\u0ba6\x02\u0baa\x02\u0bac\x02\u0bb0\x02\u0bbb\x02\u0bc0\x02\u0bc4\x02\u0bc8\x02\u0bca\x02\u0bcc\x02\u0bcf\x02\u0bd2\x02\u0bd2\x02\u0bd9\x02\u0bd9\x02\u0be8\x02\u0bf1\x02\u0c02\x02\u0c05\x02\u0c07\x02\u0c0e\x02\u0c10\x02\u0c12\x02\u0c14\x02\u0c2a\x02\u0c2c\x02\u0c3b\x02\u0c3f\x02\u0c46\x02\u0c48\x02\u0c4a\x02\u0c4c\x02\u0c4f\x02\u0c57\x02\u0c58\x02\u0c5a\x02\u0c5c\x02\u0c62\x02\u0c65\x02\u0c68\x02\u0c71\x02\u0c82\x02\u0c85\x02\u0c87\x02\u0c8e\x02\u0c90\x02\u0c92\x02\u0c94\x02\u0caa\x02\u0cac\x02\u0cb5\x02\u0cb7\x02\u0cbb\x02\u0cbe\x02\u0cc6\x02\u0cc8\x02\u0cca\x02\u0ccc\x02\u0ccf\x02\u0cd7\x02\u0cd8\x02\u0ce0\x02\u0ce0\x02\u0ce2\x02\u0ce5\x02\u0ce8\x02\u0cf1\x02\u0cf3\x02\u0cf4\x02\u0d03\x02\u0d05\x02\u0d07\x02\u0d0e\x02\u0d10\x02\u0d12\x02\u0d14\x02\u0d3c\x02\u0d3f\x02\u0d46\x02\u0d48\x02\u0d4a\x02\u0d4c\x02\u0d50\x02\u0d56\x02\u0d59\x02\u0d61\x02\u0d65\x02\u0d68\x02\u0d71\x02\u0d7c\x02\u0d81\x02\u0d84\x02\u0d85\x02\u0d87\x02\u0d98\x02\u0d9c\x02\u0db3\x02\u0db5\x02\u0dbd\x02\u0dbf\x02\u0dbf\x02\u0dc2\x02\u0dc8\x02\u0dcc\x02\u0dcc\x02\u0dd1\x02\u0dd6\x02\u0dd8\x02\u0dd8\x02\u0dda\x02\u0de1\x02\u0de8\x02\u0df1\x02\u0df4\x02\u0df5\x02\u0e03\x02\u0e3c\x02\u0e42\x02\u0e50\x02\u0e52\x02\u0e5b\x02\u0e83\x02\u0e84\x02\u0e86\x02\u0e86\x02\u0e89\x02\u0e8a\x02\u0e8c\x02\u0e8c\x02\u0e8f\x02\u0e8f\x02\u0e96\x02\u0e99\x02\u0e9b\x02\u0ea1\x02\u0ea3\x02\u0ea5\x02\u0ea7\x02\u0ea7\x02\u0ea9\x02\u0ea9\x02\u0eac\x02\u0ead\x02\u0eaf\x02\u0ebb\x02\u0ebd\x02\u0ebf\x02\u0ec2\x02\u0ec6\x02\u0ec8\x02\u0ec8\x02\u0eca\x02\u0ecf\x02\u0ed2\x02\u0edb\x02\u0ede\x02\u0ee1\x02\u0f02\x02\u0f02\x02\u0f1a\x02\u0f1b\x02\u0f22\x02\u0f2b\x02\u0f37\x02\u0f37\x02\u0f39\x02\u0f39\x02\u0f3b\x02\u0f3b\x02\u0f40\x02\u0f49\x02\u0f4b\x02\u0f6e\x02\u0f73\x02\u0f86\x02\u0f88\x02\u0f99\x02\u0f9b\x02\u0fbe\x02\u0fc8\x02\u0fc8\x02\u1002\x02\u104b\x02\u1052\x02\u109f\x02\u10a2\x02\u10c7\x02\u10c9\x02\u10c9\x02\u10cf\x02\u10cf\x02\u10d2\x02\u10fc\x02\u10fe\x02\u124a\x02\u124c\x02\u124f\x02\u1252\x02\u1258\x02\u125a\x02\u125a\x02\u125c\x02\u125f\x02\u1262\x02\u128a\x02\u128c\x02\u128f\x02\u1292\x02\u12b2\x02\u12b4\x02\u12b7\x02\u12ba\x02\u12c0\x02\u12c2\x02\u12c2\x02\u12c4\x02\u12c7\x02\u12ca\x02\u12d8\x02\u12da\x02\u1312\x02\u1314\x02\u1317\x02\u131a\x02\u135c\x02\u135f\x02\u1361\x02\u1382\x02\u1391\x02\u13a2\x02\u13f7\x02\u13fa\x02\u13ff\x02\u1403\x02\u166e\x02\u1671\x02\u1681\x02\u1683\x02\u169c\x02\u16a2\x02\u16ec\x02\u16f0\x02\u16fa\x02\u1702\x02\u170e\x02\u1710\x02\u1716\x02\u1722\x02\u1736\x02\u1742\x02\u1755\x02\u1762\x02\u176e\x02\u1770\x02\u1772\x02\u1774\x02\u1775\x02\u1782\x02\u17d5\x02\u17d9\x02\u17d9\x02\u17de\x02\u17df\x02\u17e2\x02\u17eb\x02\u180d\x02\u1810\x02\u1812\x02\u181b\x02\u1822\x02\u1879\x02\u1882\x02\u18ac\x02\u18b2\x02\u18f7\x02\u1902\x02\u1920\x02\u1922\x02\u192d\x02\u1932\x02\u193d\x02\u1948\x02\u196f\x02\u1972\x02\u1976\x02\u1982\x02\u19ad\x02\u19b2\x02\u19cb\x02\u19d2\x02\u19db\x02\u1a02\x02\u1a1d\x02\u1a22\x02\u1a60\x02\u1a62\x02\u1a7e\x02\u1a81\x02\u1a8b\x02\u1a92\x02\u1a9b\x02\u1aa9\x02\u1aa9\x02\u1ab2\x02\u1abf\x02\u1b02\x02\u1b4d\x02\u1b52\x02\u1b5b\x02\u1b6d\x02\u1b75\x02\u1b82\x02\u1bf5\x02\u1c02\x02\u1c39\x02\u1c42\x02\u1c4b\x02\u1c4f\x02\u1c7f\x02\u1c82\x02\u1c8a\x02\u1cd2\x02\u1cd4\x02\u1cd6\x02\u1cf8\x02\u1cfa\x02\u1cfb\x02\u1d02\x02\u1df7\x02\u1dfd\x02\u1f17\x02\u1f1a\x02\u1f1f\x02\u1f22\x02\u1f47\x02\u1f4a\x02\u1f4f\x02\u1f52\x02\u1f59\x02\u1f5b\x02\u1f5b\x02\u1f5d\x02\u1f5d\x02\u1f5f\x02\u1f5f\x02\u1f61\x02\u1f7f\x02\u1f82\x02\u1fb6\x02\u1fb8\x02\u1fbe\x02\u1fc0\x02\u1fc0\x02\u1fc4\x02\u1fc6\x02\u1fc8\x02\u1fce\x02\u1fd2\x02\u1fd5\x02\u1fd8\x02\u1fdd\x02\u1fe2\x02\u1fee\x02\u1ff4\x02\u1ff6\x02\u1ff8\x02\u1ffe\x02\u200d\x02\u2011\x02\u202c\x02\u2030\x02\u2041\x02\u2042\x02\u2056\x02\u2056\x02\u2062\x02\u2066\x02\u2068\x02\u2071\x02\u2073\x02\u2073\x02\u2081\x02\u2081\x02\u2092\x02\u209e\x02\u20d2\x02\u20de\x02\u20e3\x02\u20e3\x02\u20e7\x02\u20f2\x02\u2104\x02\u2104\x02\u2109\x02\u2109\x02\u210c\x02\u2115\x02\u2117\x02\u2117\x02\u211b\x02\u211f\x02\u2126\x02\u2126\x02\u2128\x02\u2128\x02\u212a\x02\u212a\x02\u212c\x02\u212f\x02\u2131\x02\u213b\x02\u213e\x02\u2141\x02\u2147\x02\u214b\x02\u2150\x02\u2150\x02\u2162\x02\u218a\x02\u2c02\x02\u2c30\x02\u2c32\x02\u2c60\x02\u2c62\x02\u2ce6\x02\u2ced\x02\u2cf5\x02\u2d02\x02\u2d27\x02\u2d29\x02\u2d29\x02\u2d2f\x02\u2d2f\x02\u2d32\x02\u2d69\x02\u2d71\x02\u2d71\x02\u2d81\x02\u2d98\x02\u2da2\x02\u2da8\x02\u2daa\x02\u2db0\x02\u2db2\x02\u2db8\x02\u2dba\x02\u2dc0\x02\u2dc2\x02\u2dc8\x02\u2dca\x02\u2dd0\x02\u2dd2\x02\u2dd8\x02\u2dda\x02\u2de0\x02\u2de2\x02\u2e01\x02\u2e31\x02\u2e31\x02\u3007\x02\u3009\x02\u3023\x02\u3031\x02\u3033\x02\u3037\x02\u303a\x02\u303e\x02\u3043\x02\u3098\x02\u309b\x02\u309c\x02\u309f\x02\u30a1\x02\u30a3\x02\u30fc\x02\u30fe\x02\u3101\x02\u3107\x02\u312f\x02\u3133\x02\u3190\x02\u31a2\x02\u31bc\x02\u31f2\x02\u3201\x02\u3402\x02\u4db7\x02\u4e02\x02\u9fd7\x02\ua002\x02\ua48e\x02\ua4d2\x02\ua4ff\x02\ua502\x02\ua60e\x02\ua612\x02\ua62d\x02\ua642\x02\ua671\x02\ua676\x02\ua67f\x02\ua681\x02\ua6f3\x02\ua719\x02\ua721\x02\ua724\x02\ua78a\x02\ua78d\x02\ua7b0\x02\ua7b2\x02\ua7b9\x02\ua7f9\x02\ua829\x02\ua842\x02\ua875\x02\ua882\x02\ua8c7\x02\ua8d2\x02\ua8db\x02\ua8e2\x02\ua8f9\x02\ua8fd\x02\ua8fd\x02\ua8ff\x02\ua8ff\x02\ua902\x02\ua92f\x02\ua932\x02\ua955\x02\ua962\x02\ua97e\x02\ua982\x02\ua9c2\x02\ua9d1\x02\ua9db\x02\ua9e2\x02\uaa00\x02\uaa02\x02\uaa38\x02\uaa42\x02\uaa4f\x02\uaa52\x02\uaa5b\x02\uaa62\x02\uaa78\x02\uaa7c\x02\uaac4\x02\uaadd\x02\uaadf\x02\uaae2\x02\uaaf1\x02\uaaf4\x02\uaaf8\x02\uab03\x02\uab08\x02\uab0b\x02\uab10\x02\uab13\x02\uab18\x02\uab22\x02\uab28\x02\uab2a\x02\uab30\x02\uab32\x02\uab5c\x02\uab5e\x02\uab67\x02\uab72\x02\uabec\x02\uabee\x02\uabef\x02\uabf2\x02\uabfb\x02\uac02\x02\ud7a5\x02\ud7b2\x02\ud7c8\x02\ud7cd\x02\ud7fd\x02\uf902\x02\ufa6f\x02\ufa72\x02\ufadb\x02\ufb02\x02\ufb08\x02\ufb15\x02\ufb19\x02\ufb1f\x02\ufb2a\x02\ufb2c\x02\ufb38\x02\ufb3a\x02\ufb3e\x02\ufb40\x02\ufb40\x02\ufb42\x02\ufb43\x02\ufb45\x02\ufb46\x02\ufb48\x02\ufbb3\x02\ufbd5\x02\ufd3f\x02\ufd52\x02\ufd91\x02\ufd94\x02\ufdc9\x02\ufdf2\x02\ufdfd\x02\ufe02\x02\ufe11\x02\ufe22\x02\ufe31\x02\ufe35\x02\ufe36\x02\ufe4f\x02\ufe51\x02\ufe72\x02\ufe76\x02\ufe78\x02\ufefe\x02\uff01\x02\uff01\x02\uff12\x02\uff1b\x02\uff23\x02\uff3c\x02\uff41\x02\uff41\x02\uff43\x02\uff5c\x02\uff68\x02\uffc0\x02\uffc4\x02\uffc9\x02\uffcc\x02\uffd1\x02\uffd4\x02\uffd9\x02\uffdc\x02\uffde\x02\ufffb\x02\ufffd\x02\x02\x03\r\x03\x0f\x03(\x03*\x03<\x03>\x03?\x03A\x03O\x03R\x03_\x03\x82\x03\xfc\x03\u0142\x03\u0176\x03\u01ff\x03\u01ff\x03\u0282\x03\u029e\x03\u02a2\x03\u02d2\x03\u02e2\x03\u02e2\x03\u0302\x03\u0321\x03\u0332\x03\u034c\x03\u0352\x03\u037c\x03\u0382\x03\u039f\x03\u03a2\x03\u03c5\x03\u03ca\x03\u03d1\x03\u03d3\x03\u03d7\x03\u0402\x03\u049f\x03\u04a2\x03\u04ab\x03\u04b2\x03\u04d5\x03\u04da\x03\u04fd\x03\u0502\x03\u0529\x03\u0532\x03\u0565\x03\u0602\x03\u0738\x03\u0742\x03\u0757\x03\u0762\x03\u0769\x03\u0802\x03\u0807\x03\u080a\x03\u080a\x03\u080c\x03\u0837\x03\u0839\x03\u083a\x03\u083e\x03\u083e\x03\u0841\x03\u0857\x03\u0862\x03\u0878\x03\u0882\x03\u08a0\x03\u08e2\x03\u08f4\x03\u08f6\x03\u08f7\x03\u0902\x03\u0917\x03\u0922\x03\u093b\x03\u0982\x03\u09b9\x03\u09c0\x03\u09c1\x03\u0a02\x03\u0a05\x03\u0a07\x03\u0a08\x03\u0a0e\x03\u0a15\x03\u0a17\x03\u0a19\x03\u0a1b\x03\u0a35\x03\u0a3a\x03\u0a3c\x03\u0a41\x03\u0a41\x03\u0a62\x03\u0a7e\x03\u0a82\x03\u0a9e\x03\u0ac2\x03\u0ac9\x03\u0acb\x03\u0ae8\x03\u0b02\x03\u0b37\x03\u0b42\x03\u0b57\x03\u0b62\x03\u0b74\x03\u0b82\x03\u0b93\x03\u0c02\x03\u0c4a\x03\u0c82\x03\u0cb4\x03\u0cc2\x03\u0cf4\x03\u1002\x03\u1048\x03\u1068\x03\u1071\x03\u1081\x03\u10bc\x03\u10bf\x03\u10bf\x03\u10d2\x03\u10ea\x03\u10f2\x03\u10fb\x03\u1102\x03\u1136\x03\u1138\x03\u1141\x03\u1152\x03\u1175\x03\u1178\x03\u1178\x03\u1182\x03\u11c6\x03\u11cc\x03\u11ce\x03\u11d2\x03\u11dc\x03\u11de\x03\u11de\x03\u1202\x03\u1213\x03\u1215\x03\u1239\x03\u1240\x03\u1240\x03\u1282\x03\u1288\x03\u128a\x03\u128a\x03\u128c\x03\u128f\x03\u1291\x03\u129f\x03\u12a1\x03\u12aa\x03\u12b2\x03\u12ec\x03\u12f2\x03\u12fb\x03\u1302\x03\u1305\x03\u1307\x03\u130e\x03\u1311\x03\u1312\x03\u1315\x03\u132a\x03\u132c\x03\u1332\x03\u1334\x03\u1335\x03\u1337\x03\u133b\x03\u133e\x03\u1346\x03\u1349\x03\u134a\x03\u134d\x03\u134f\x03\u1352\x03\u1352\x03\u1359\x03\u1359\x03\u135f\x03\u1365\x03\u1368\x03\u136e\x03\u1372\x03\u1376\x03\u1402\x03\u144c\x03\u1452\x03\u145b\x03\u1482\x03\u14c7\x03\u14c9\x03\u14c9\x03\u14d2\x03\u14db\x03\u1582\x03\u15b7\x03\u15ba\x03\u15c2\x03\u15da\x03\u15df\x03\u1602\x03\u1642\x03\u1646\x03\u1646\x03\u1652\x03\u165b\x03\u1682\x03\u16b9\x03\u16c2\x03\u16cb\x03\u1702\x03\u171b\x03\u171f\x03\u172d\x03\u1732\x03\u173b\x03\u18a2\x03\u18eb\x03\u1901\x03\u1901\x03\u1ac2\x03\u1afa\x03\u1c02\x03\u1c0a\x03\u1c0c\x03\u1c38\x03\u1c3a\x03\u1c42\x03\u1c52\x03\u1c5b\x03\u1c74\x03\u1c91\x03\u1c94\x03\u1ca9\x03\u1cab\x03\u1cb8\x03\u2002\x03\u239b\x03\u2402\x03\u2470\x03\u2482\x03\u2545\x03\u3002\x03\u3430\x03\u4402\x03\u4648\x03\u6802\x03\u6a3a\x03\u6a42\x03\u6a60\x03\u6a62\x03\u6a6b\x03\u6ad2\x03\u6aef\x03\u6af2\x03\u6af6\x03\u6b02\x03\u6b38\x03\u6b42\x03\u6b45\x03\u6b52\x03\u6b5b\x03\u6b65\x03\u6b79\x03\u6b7f\x03\u6b91\x03\u6f02\x03\u6f46\x03\u6f52\x03\u6f80\x03\u6f91\x03\u6fa1\x03\u6fe2\x03\u6fe2\x03\u7002\x03\u87ee\x03\u8802\x03\u8af4\x03\ub002\x03\ub003\x03\ubc02\x03\ubc6c\x03\ubc72\x03\ubc7e\x03\ubc82\x03\ubc8a\x03\ubc92\x03\ubc9b\x03\ubc9f\x03\ubca0\x03\ubca2\x03\ubca5\x03\ud167\x03\ud16b\x03\ud16f\x03\ud184\x03\ud187\x03\ud18d\x03\ud1ac\x03\ud1af\x03\ud244\x03\ud246\x03\ud402\x03\ud456\x03\ud458\x03\ud49e\x03\ud4a0\x03\ud4a1\x03\ud4a4\x03\ud4a4\x03\ud4a7\x03\ud4a8\x03\ud4ab\x03\ud4ae\x03\ud4b0\x03\ud4bb\x03\ud4bd\x03\ud4bd\x03\ud4bf\x03\ud4c5\x03\ud4c7\x03\ud507\x03\ud509\x03\ud50c\x03\ud50f\x03\ud516\x03\ud518\x03\ud51e\x03\ud520\x03\ud53b\x03\ud53d\x03\ud540\x03\ud542\x03\ud546\x03\ud548\x03\ud548\x03\ud54c\x03\ud552\x03\ud554\x03\ud6a7\x03\ud6aa\x03\ud6c2\x03\ud6c4\x03\ud6dc\x03\ud6de\x03\ud6fc\x03\ud6fe\x03\ud716\x03\ud718\x03\ud736\x03\ud738\x03\ud750\x03\ud752\x03\ud770\x03\ud772\x03\ud78a\x03\ud78c\x03\ud7aa\x03\ud7ac\x03\ud7c4\x03\ud7c6\x03\ud7cd\x03\ud7d0\x03\ud801\x03\uda02\x03\uda38\x03\uda3d\x03\uda6e\x03\uda77\x03\uda77\x03\uda86\x03\uda86\x03\uda9d\x03\udaa1\x03\udaa3\x03\udab1\x03\ue002\x03\ue008\x03\ue00a\x03\ue01a\x03\ue01d\x03\ue023\x03\ue025\x03\ue026\x03\ue028\x03\ue02c\x03\ue802\x03\ue8c6\x03\ue8d2\x03\ue8d8\x03\ue902\x03\ue94c\x03\ue952\x03\ue95b\x03\uee02\x03\uee05\x03\uee07\x03\uee21\x03\uee23\x03\uee24\x03\uee26\x03\uee26\x03\uee29\x03\uee29\x03\uee2b\x03\uee34\x03\uee36\x03\uee39\x03\uee3b\x03\uee3b\x03\uee3d\x03\uee3d\x03\uee44\x03\uee44\x03\uee49\x03\uee49\x03\uee4b\x03\uee4b\x03\uee4d\x03\uee4d\x03\uee4f\x03\uee51\x03\uee53\x03\uee54\x03\uee56\x03\uee56\x03\uee59\x03\uee59\x03\uee5b\x03\uee5b\x03\uee5d\x03\uee5d\x03\uee5f\x03\uee5f\x03\uee61\x03\uee61\x03\uee63\x03\uee64\x03\uee66\x03\uee66\x03\uee69\x03\uee6c\x03\uee6e\x03\uee74\x03\uee76\x03\uee79\x03\uee7b\x03\uee7e\x03\uee80\x03\uee80\x03\uee82\x03\uee8b\x03\uee8d\x03\uee9d\x03\ueea3\x03\ueea5\x03\ueea7\x03\ueeab\x03\ueead\x03\ueebd\x03\x02\x04\ua6d8\x04\ua702\x04\ub736\x04\ub742\x04\ub81f\x04\ub822\x04\ucea3\x04\uf802\x04\ufa1f\x04\x03\x10\x03\x10"\x10\x81\x10\u0102\x10\u01f1\x10\u0240\x02C\x02\\\x02c\x02|\x02\xac\x02\xac\x02\xb7\x02\xb7\x02\xbc\x02\xbc\x02\xc2\x02\xd8\x02\xda\x02\xf8\x02\xfa\x02\u02c3\x02\u02c8\x02\u02d3\x02\u02e2\x02\u02e6\x02\u02ee\x02\u02ee\x02\u02f0\x02\u02f0\x02\u0372\x02\u0376\x02\u0378\x02\u0379\x02\u037c\x02\u037f\x02\u0381\x02\u0381\x02\u0388\x02\u0388\x02\u038a\x02\u038c\x02\u038e\x02\u038e\x02\u0390\x02\u03a3\x02\u03a5\x02\u03f7\x02\u03f9\x02\u0483\x02\u048c\x02\u0531\x02\u0533\x02\u0558\x02\u055b\x02\u055b\x02\u0563\x02\u0589\x02\u05d2\x02\u05ec\x02\u05f2\x02\u05f4\x02\u0622\x02\u064c\x02\u0670\x02\u0671\x02\u0673\x02\u06d5\x02\u06d7\x02\u06d7\x02\u06e7\x02\u06e8\x02\u06f0\x02\u06f1\x02\u06fc\x02\u06fe\x02\u0701\x02\u0701\x02\u0712\x02\u0712\x02\u0714\x02\u0731\x02\u074f\x02\u07a7\x02\u07b3\x02\u07b3\x02\u07cc\x02\u07ec\x02\u07f6\x02\u07f7\x02\u07fc\x02\u07fc\x02\u0802\x02\u0817\x02\u081c\x02\u081c\x02\u0826\x02\u0826\x02\u082a\x02\u082a\x02\u0842\x02\u085a\x02\u08a2\x02\u08b6\x02\u08b8\x02\u08bf\x02\u0906\x02\u093b\x02\u093f\x02\u093f\x02\u0952\x02\u0952\x02\u095a\x02\u0963\x02\u0973\x02\u0982\x02\u0987\x02\u098e\x02\u0991\x02\u0992\x02\u0995\x02\u09aa\x02\u09ac\x02\u09b2\x02\u09b4\x02\u09b4\x02\u09b8\x02\u09bb\x02\u09bf\x02\u09bf\x02\u09d0\x02\u09d0\x02\u09de\x02\u09df\x02\u09e1\x02\u09e3\x02\u09f2\x02\u09f3\x02\u0a07\x02\u0a0c\x02\u0a11\x02\u0a12\x02\u0a15\x02\u0a2a\x02\u0a2c\x02\u0a32\x02\u0a34\x02\u0a35\x02\u0a37\x02\u0a38\x02\u0a3a\x02\u0a3b\x02\u0a5b\x02\u0a5e\x02\u0a60\x02\u0a60\x02\u0a74\x02\u0a76\x02\u0a87\x02\u0a8f\x02\u0a91\x02\u0a93\x02\u0a95\x02\u0aaa\x02\u0aac\x02\u0ab2\x02\u0ab4\x02\u0ab5\x02\u0ab7\x02\u0abb\x02\u0abf\x02\u0abf\x02\u0ad2\x02\u0ad2\x02\u0ae2\x02\u0ae3\x02\u0afb\x02\u0afb\x02\u0b07\x02\u0b0e\x02\u0b11\x02\u0b12\x02\u0b15\x02\u0b2a\x02\u0b2c\x02\u0b32\x02\u0b34\x02\u0b35\x02\u0b37\x02\u0b3b\x02\u0b3f\x02\u0b3f\x02\u0b5e\x02\u0b5f\x02\u0b61\x02\u0b63\x02\u0b73\x02\u0b73\x02\u0b85\x02\u0b85\x02\u0b87\x02\u0b8c\x02\u0b90\x02\u0b92\x02\u0b94\x02\u0b97\x02\u0b9b\x02\u0b9c\x02\u0b9e\x02\u0b9e\x02\u0ba0\x02\u0ba1\x02\u0ba5\x02\u0ba6\x02\u0baa\x02\u0bac\x02\u0bb0\x02\u0bbb\x02\u0bd2\x02\u0bd2\x02\u0c07\x02\u0c0e\x02\u0c10\x02\u0c12\x02\u0c14\x02\u0c2a\x02\u0c2c\x02\u0c3b\x02\u0c3f\x02\u0c3f\x02\u0c5a\x02\u0c5c\x02\u0c62\x02\u0c63\x02\u0c82\x02\u0c82\x02\u0c87\x02\u0c8e\x02\u0c90\x02\u0c92\x02\u0c94\x02\u0caa\x02\u0cac\x02\u0cb5\x02\u0cb7\x02\u0cbb\x02\u0cbf\x02\u0cbf\x02\u0ce0\x02\u0ce0\x02\u0ce2\x02\u0ce3\x02\u0cf3\x02\u0cf4\x02\u0d07\x02\u0d0e\x02\u0d10\x02\u0d12\x02\u0d14\x02\u0d3c\x02\u0d3f\x02\u0d3f\x02\u0d50\x02\u0d50\x02\u0d56\x02\u0d58\x02\u0d61\x02\u0d63\x02\u0d7c\x02\u0d81\x02\u0d87\x02\u0d98\x02\u0d9c\x02\u0db3\x02\u0db5\x02\u0dbd\x02\u0dbf\x02\u0dbf\x02\u0dc2\x02\u0dc8\x02\u0e03\x02\u0e32\x02\u0e34\x02\u0e35\x02\u0e42\x02\u0e48\x02\u0e83\x02\u0e84\x02\u0e86\x02\u0e86\x02\u0e89\x02\u0e8a\x02\u0e8c\x02\u0e8c\x02\u0e8f\x02\u0e8f\x02\u0e96\x02\u0e99\x02\u0e9b\x02\u0ea1\x02\u0ea3\x02\u0ea5\x02\u0ea7\x02\u0ea7\x02\u0ea9\x02\u0ea9\x02\u0eac\x02\u0ead\x02\u0eaf\x02\u0eb2\x02\u0eb4\x02\u0eb5\x02\u0ebf\x02\u0ebf\x02\u0ec2\x02\u0ec6\x02\u0ec8\x02\u0ec8\x02\u0ede\x02\u0ee1\x02\u0f02\x02\u0f02\x02\u0f42\x02\u0f49\x02\u0f4b\x02\u0f6e\x02\u0f8a\x02\u0f8e\x02\u1002\x02\u102c\x02\u1041\x02\u1041\x02\u1052\x02\u1057\x02\u105c\x02\u105f\x02\u1063\x02\u1063\x02\u1067\x02\u1068\x02\u1070\x02\u1072\x02\u1077\x02\u1083\x02\u1090\x02\u1090\x02\u10a2\x02\u10c7\x02\u10c9\x02\u10c9\x02\u10cf\x02\u10cf\x02\u10d2\x02\u10fc\x02\u10fe\x02\u124a\x02\u124c\x02\u124f\x02\u1252\x02\u1258\x02\u125a\x02\u125a\x02\u125c\x02\u125f\x02\u1262\x02\u128a\x02\u128c\x02\u128f\x02\u1292\x02\u12b2\x02\u12b4\x02\u12b7\x02\u12ba\x02\u12c0\x02\u12c2\x02\u12c2\x02\u12c4\x02\u12c7\x02\u12ca\x02\u12d8\x02\u12da\x02\u1312\x02\u1314\x02\u1317\x02\u131a\x02\u135c\x02\u1382\x02\u1391\x02\u13a2\x02\u13f7\x02\u13fa\x02\u13ff\x02\u1403\x02\u166e\x02\u1671\x02\u1681\x02\u1683\x02\u169c\x02\u16a2\x02\u16ec\x02\u16f0\x02\u16fa\x02\u1702\x02\u170e\x02\u1710\x02\u1713\x02\u1722\x02\u1733\x02\u1742\x02\u1753\x02\u1762\x02\u176e\x02\u1770\x02\u1772\x02\u1782\x02\u17b5\x02\u17d9\x02\u17d9\x02\u17de\x02\u17de\x02\u1822\x02\u1879\x02\u1882\x02\u1886\x02\u1889\x02\u18aa\x02\u18ac\x02\u18ac\x02\u18b2\x02\u18f7\x02\u1902\x02\u1920\x02\u1952\x02\u196f\x02\u1972\x02\u1976\x02\u1982\x02\u19ad\x02\u19b2\x02\u19cb\x02\u1a02\x02\u1a18\x02\u1a22\x02\u1a56\x02\u1aa9\x02\u1aa9\x02\u1b07\x02\u1b35\x02\u1b47\x02\u1b4d\x02\u1b85\x02\u1ba2\x02\u1bb0\x02\u1bb1\x02\u1bbc\x02\u1be7\x02\u1c02\x02\u1c25\x02\u1c4f\x02\u1c51\x02\u1c5c\x02\u1c7f\x02\u1c82\x02\u1c8a\x02\u1ceb\x02\u1cee\x02\u1cf0\x02\u1cf3\x02\u1cf7\x02\u1cf8\x02\u1d02\x02\u1dc1\x02\u1e02\x02\u1f17\x02\u1f1a\x02\u1f1f\x02\u1f22\x02\u1f47\x02\u1f4a\x02\u1f4f\x02\u1f52\x02\u1f59\x02\u1f5b\x02\u1f5b\x02\u1f5d\x02\u1f5d\x02\u1f5f\x02\u1f5f\x02\u1f61\x02\u1f7f\x02\u1f82\x02\u1fb6\x02\u1fb8\x02\u1fbe\x02\u1fc0\x02\u1fc0\x02\u1fc4\x02\u1fc6\x02\u1fc8\x02\u1fce\x02\u1fd2\x02\u1fd5\x02\u1fd8\x02\u1fdd\x02\u1fe2\x02\u1fee\x02\u1ff4\x02\u1ff6\x02\u1ff8\x02\u1ffe\x02\u2073\x02\u2073\x02\u2081\x02\u2081\x02\u2092\x02\u209e\x02\u2104\x02\u2104\x02\u2109\x02\u2109\x02\u210c\x02\u2115\x02\u2117\x02\u2117\x02\u211b\x02\u211f\x02\u2126\x02\u2126\x02\u2128\x02\u2128\x02\u212a\x02\u212a\x02\u212c\x02\u212f\x02\u2131\x02\u213b\x02\u213e\x02\u2141\x02\u2147\x02\u214b\x02\u2150\x02\u2150\x02\u2162\x02\u218a\x02\u2c02\x02\u2c30\x02\u2c32\x02\u2c60\x02\u2c62\x02\u2ce6\x02\u2ced\x02\u2cf0\x02\u2cf4\x02\u2cf5\x02\u2d02\x02\u2d27\x02\u2d29\x02\u2d29\x02\u2d2f\x02\u2d2f\x02\u2d32\x02\u2d69\x02\u2d71\x02\u2d71\x02\u2d82\x02\u2d98\x02\u2da2\x02\u2da8\x02\u2daa\x02\u2db0\x02\u2db2\x02\u2db8\x02\u2dba\x02\u2dc0\x02\u2dc2\x02\u2dc8\x02\u2dca\x02\u2dd0\x02\u2dd2\x02\u2dd8\x02\u2dda\x02\u2de0\x02\u2e31\x02\u2e31\x02\u3007\x02\u3009\x02\u3023\x02\u302b\x02\u3033\x02\u3037\x02\u303a\x02\u303e\x02\u3043\x02\u3098\x02\u309f\x02\u30a1\x02\u30a3\x02\u30fc\x02\u30fe\x02\u3101\x02\u3107\x02\u312f\x02\u3133\x02\u3190\x02\u31a2\x02\u31bc\x02\u31f2\x02\u3201\x02\u3402\x02\u4db7\x02\u4e02\x02\u9fd7\x02\ua002\x02\ua48e\x02\ua4d2\x02\ua4ff\x02\ua502\x02\ua60e\x02\ua612\x02\ua621\x02\ua62c\x02\ua62d\x02\ua642\x02\ua670\x02\ua681\x02\ua69f\x02\ua6a2\x02\ua6f1\x02\ua719\x02\ua721\x02\ua724\x02\ua78a\x02\ua78d\x02\ua7b0\x02\ua7b2\x02\ua7b9\x02\ua7f9\x02\ua803\x02\ua805\x02\ua807\x02\ua809\x02\ua80c\x02\ua80e\x02\ua824\x02\ua842\x02\ua875\x02\ua884\x02\ua8b5\x02\ua8f4\x02\ua8f9\x02\ua8fd\x02\ua8fd\x02\ua8ff\x02\ua8ff\x02\ua90c\x02\ua927\x02\ua932\x02\ua948\x02\ua962\x02\ua97e\x02\ua986\x02\ua9b4\x02\ua9d1\x02\ua9d1\x02\ua9e2\x02\ua9e6\x02\ua9e8\x02\ua9f1\x02\ua9fc\x02\uaa00\x02\uaa02\x02\uaa2a\x02\uaa42\x02\uaa44\x02\uaa46\x02\uaa4d\x02\uaa62\x02\uaa78\x02\uaa7c\x02\uaa7c\x02\uaa80\x02\uaab1\x02\uaab3\x02\uaab3\x02\uaab7\x02\uaab8\x02\uaabb\x02\uaabf\x02\uaac2\x02\uaac2\x02\uaac4\x02\uaac4\x02\uaadd\x02\uaadf\x02\uaae2\x02\uaaec\x02\uaaf4\x02\uaaf6\x02\uab03\x02\uab08\x02\uab0b\x02\uab10\x02\uab13\x02\uab18\x02\uab22\x02\uab28\x02\uab2a\x02\uab30\x02\uab32\x02\uab5c\x02\uab5e\x02\uab67\x02\uab72\x02\uabe4\x02\uac02\x02\ud7a5\x02\ud7b2\x02\ud7c8\x02\ud7cd\x02\ud7fd\x02\uf902\x02\ufa6f\x02\ufa72\x02\ufadb\x02\ufb02\x02\ufb08\x02\ufb15\x02\ufb19\x02\ufb1f\x02\ufb1f\x02\ufb21\x02\ufb2a\x02\ufb2c\x02\ufb38\x02\ufb3a\x02\ufb3e\x02\ufb40\x02\ufb40\x02\ufb42\x02\ufb43\x02\ufb45\x02\ufb46\x02\ufb48\x02\ufbb3\x02\ufbd5\x02\ufd3f\x02\ufd52\x02\ufd91\x02\ufd94\x02\ufdc9\x02\ufdf2\x02\ufdfd\x02\ufe72\x02\ufe76\x02\ufe78\x02\ufefe\x02\uff23\x02\uff3c\x02\uff43\x02\uff5c\x02\uff68\x02\uffc0\x02\uffc4\x02\uffc9\x02\uffcc\x02\uffd1\x02\uffd4\x02\uffd9\x02\uffdc\x02\uffde\x02\x02\x03\r\x03\x0f\x03(\x03*\x03<\x03>\x03?\x03A\x03O\x03R\x03_\x03\x82\x03\xfc\x03\u0142\x03\u0176\x03\u0282\x03\u029e\x03\u02a2\x03\u02d2\x03\u0302\x03\u0321\x03\u0332\x03\u034c\x03\u0352\x03\u0377\x03\u0382\x03\u039f\x03\u03a2\x03\u03c5\x03\u03ca\x03\u03d1\x03\u03d3\x03\u03d7\x03\u0402\x03\u049f\x03\u04b2\x03\u04d5\x03\u04da\x03\u04fd\x03\u0502\x03\u0529\x03\u0532\x03\u0565\x03\u0602\x03\u0738\x03\u0742\x03\u0757\x03\u0762\x03\u0769\x03\u0802\x03\u0807\x03\u080a\x03\u080a\x03\u080c\x03\u0837\x03\u0839\x03\u083a\x03\u083e\x03\u083e\x03\u0841\x03\u0857\x03\u0862\x03\u0878\x03\u0882\x03\u08a0\x03\u08e2\x03\u08f4\x03\u08f6\x03\u08f7\x03\u0902\x03\u0917\x03\u0922\x03\u093b\x03\u0982\x03\u09b9\x03\u09c0\x03\u09c1\x03\u0a02\x03\u0a02\x03\u0a12\x03\u0a15\x03\u0a17\x03\u0a19\x03\u0a1b\x03\u0a35\x03\u0a62\x03\u0a7e\x03\u0a82\x03\u0a9e\x03\u0ac2\x03\u0ac9\x03\u0acb\x03\u0ae6\x03\u0b02\x03\u0b37\x03\u0b42\x03\u0b57\x03\u0b62\x03\u0b74\x03\u0b82\x03\u0b93\x03\u0c02\x03\u0c4a\x03\u0c82\x03\u0cb4\x03\u0cc2\x03\u0cf4\x03\u1005\x03\u1039\x03\u1085\x03\u10b1\x03\u10d2\x03\u10ea\x03\u1105\x03\u1128\x03\u1152\x03\u1174\x03\u1178\x03\u1178\x03\u1185\x03\u11b4\x03\u11c3\x03\u11c6\x03\u11dc\x03\u11dc\x03\u11de\x03\u11de\x03\u1202\x03\u1213\x03\u1215\x03\u122d\x03\u1282\x03\u1288\x03\u128a\x03\u128a\x03\u128c\x03\u128f\x03\u1291\x03\u129f\x03\u12a1\x03\u12aa\x03\u12b2\x03\u12e0\x03\u1307\x03\u130e\x03\u1311\x03\u1312\x03\u1315\x03\u132a\x03\u132c\x03\u1332\x03\u1334\x03\u1335\x03\u1337\x03\u133b\x03\u133f\x03\u133f\x03\u1352\x03\u1352\x03\u135f\x03\u1363\x03\u1402\x03\u1436\x03\u1449\x03\u144c\x03\u1482\x03\u14b1\x03\u14c6\x03\u14c7\x03\u14c9\x03\u14c9\x03\u1582\x03\u15b0\x03\u15da\x03\u15dd\x03\u1602\x03\u1631\x03\u1646\x03\u1646\x03\u1682\x03\u16ac\x03\u1702\x03\u171b\x03\u18a2\x03\u18e1\x03\u1901\x03\u1901\x03\u1ac2\x03\u1afa\x03\u1c02\x03\u1c0a\x03\u1c0c\x03\u1c30\x03\u1c42\x03\u1c42\x03\u1c74\x03\u1c91\x03\u2002\x03\u239b\x03\u2402\x03\u2470\x03\u2482\x03\u2545\x03\u3002\x03\u3430\x03\u4402\x03\u4648\x03\u6802\x03\u6a3a\x03\u6a42\x03\u6a60\x03\u6ad2\x03\u6aef\x03\u6b02\x03\u6b31\x03\u6b42\x03\u6b45\x03\u6b65\x03\u6b79\x03\u6b7f\x03\u6b91\x03\u6f02\x03\u6f46\x03\u6f52\x03\u6f52\x03\u6f95\x03\u6fa1\x03\u6fe2\x03\u6fe2\x03\u7002\x03\u87ee\x03\u8802\x03\u8af4\x03\ub002\x03\ub003\x03\ubc02\x03\ubc6c\x03\ubc72\x03\ubc7e\x03\ubc82\x03\ubc8a\x03\ubc92\x03\ubc9b\x03\ud402\x03\ud456\x03\ud458\x03\ud49e\x03\ud4a0\x03\ud4a1\x03\ud4a4\x03\ud4a4\x03\ud4a7\x03\ud4a8\x03\ud4ab\x03\ud4ae\x03\ud4b0\x03\ud4bb\x03\ud4bd\x03\ud4bd\x03\ud4bf\x03\ud4c5\x03\ud4c7\x03\ud507\x03\ud509\x03\ud50c\x03\ud50f\x03\ud516\x03\ud518\x03\ud51e\x03\ud520\x03\ud53b\x03\ud53d\x03\ud540\x03\ud542\x03\ud546\x03\ud548\x03\ud548',XPathLexer._serializedATNSegment1="\x03\ud54c\x03\ud552\x03\ud554\x03\ud6a7\x03\ud6aa\x03\ud6c2\x03\ud6c4\x03\ud6dc\x03\ud6de\x03\ud6fc\x03\ud6fe\x03\ud716\x03\ud718\x03\ud736\x03\ud738\x03\ud750\x03\ud752\x03\ud770\x03\ud772\x03\ud78a\x03\ud78c\x03\ud7aa\x03\ud7ac\x03\ud7c4\x03\ud7c6\x03\ud7cd\x03\ue802\x03\ue8c6\x03\ue902\x03\ue945\x03\uee02\x03\uee05\x03\uee07\x03\uee21\x03\uee23\x03\uee24\x03\uee26\x03\uee26\x03\uee29\x03\uee29\x03\uee2b\x03\uee34\x03\uee36\x03\uee39\x03\uee3b\x03\uee3b\x03\uee3d\x03\uee3d\x03\uee44\x03\uee44\x03\uee49\x03\uee49\x03\uee4b\x03\uee4b\x03\uee4d\x03\uee4d\x03\uee4f\x03\uee51\x03\uee53\x03\uee54\x03\uee56\x03\uee56\x03\uee59\x03\uee59\x03\uee5b\x03\uee5b\x03\uee5d\x03\uee5d\x03\uee5f\x03\uee5f\x03\uee61\x03\uee61\x03\uee63\x03\uee64\x03\uee66\x03\uee66\x03\uee69\x03\uee6c\x03\uee6e\x03\uee74\x03\uee76\x03\uee79\x03\uee7b\x03\uee7e\x03\uee80\x03\uee80\x03\uee82\x03\uee8b\x03\uee8d\x03\uee9d\x03\ueea3\x03\ueea5\x03\ueea7\x03\ueeab\x03\ueead\x03\ueebd\x03\x02\x04\ua6d8\x04\ua702\x04\ub736\x04\ub742\x04\ub81f\x04\ub822\x04\ucea3\x04\uf802\x04\ufa1f\x041\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x03\x13\x03\x02\x02\x02\x05\x16\x03\x02\x02\x02\x07\x18\x03\x02\x02\x02\t\x1a\x03\x02\x02\x02\v\x1c\x03\x02\x02\x02\r%\x03\x02\x02\x02\x0f'\x03\x02\x02\x02\x11)\x03\x02\x02\x02\x13\x14\x071\x02\x02\x14\x15\x071\x02\x02\x15\x04\x03\x02\x02\x02\x16\x17\x071\x02\x02\x17\x06\x03\x02\x02\x02\x18\x19\x07,\x02\x02\x19\b\x03\x02\x02\x02\x1a\x1b\x07#\x02\x02\x1b\n\x03\x02\x02\x02\x1c \x05\x0f\b\x02\x1d\x1f\x05\r\x07\x02\x1e\x1d\x03\x02\x02\x02\x1f\"\x03\x02\x02\x02 \x1e\x03\x02\x02\x02 !\x03\x02\x02\x02!#\x03\x02\x02\x02\" \x03\x02\x02\x02#$\b\x06\x02\x02$\f\x03\x02\x02\x02%&\t\x02\x02\x02&\x0e\x03\x02\x02\x02'(\t\x03\x02\x02(\x10\x03\x02\x02\x02)-\x07)\x02\x02*,\v\x02\x02\x02+*\x03\x02\x02\x02,/\x03\x02\x02\x02-.\x03\x02\x02\x02-+\x03\x02\x02\x02.0\x03\x02\x02\x02/-\x03\x02\x02\x0201\x07)\x02\x021\x12\x03\x02\x02\x02\x05\x02 -\x03\x03\x06\x02",XPathLexer._serializedATN=Utils.join([XPathLexer._serializedATNSegment0,XPathLexer._serializedATNSegment1],"")},7720:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathLexerErrorListener=void 0;const Decorators_1=__webpack_require__(4798);class XPathLexerErrorListener{syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e){}}__decorate([Decorators_1.Override],XPathLexerErrorListener.prototype,"syntaxError",null),exports.XPathLexerErrorListener=XPathLexerErrorListener},423:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathRuleAnywhereElement=void 0;const Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPathElement_1=__webpack_require__(6888);class XPathRuleAnywhereElement extends XPathElement_1.XPathElement{constructor(ruleName,ruleIndex){super(ruleName),this.ruleIndex=ruleIndex}evaluate(t){return Trees_1.Trees.findAllRuleNodes(t,this.ruleIndex)}}__decorate([Decorators_1.Override],XPathRuleAnywhereElement.prototype,"evaluate",null),exports.XPathRuleAnywhereElement=XPathRuleAnywhereElement},1328:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathRuleElement=void 0;const ParserRuleContext_1=__webpack_require__(3235),Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPathElement_1=__webpack_require__(6888);class XPathRuleElement extends XPathElement_1.XPathElement{constructor(ruleName,ruleIndex){super(ruleName),this.ruleIndex=ruleIndex}evaluate(t){let nodes=[];for(let c of Trees_1.Trees.getChildren(t))c instanceof ParserRuleContext_1.ParserRuleContext&&(c.ruleIndex===this.ruleIndex&&!this.invert||c.ruleIndex!==this.ruleIndex&&this.invert)&&nodes.push(c);return nodes}}__decorate([Decorators_1.Override],XPathRuleElement.prototype,"evaluate",null),exports.XPathRuleElement=XPathRuleElement},8205:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathTokenAnywhereElement=void 0;const Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPathElement_1=__webpack_require__(6888);class XPathTokenAnywhereElement extends XPathElement_1.XPathElement{constructor(tokenName,tokenType){super(tokenName),this.tokenType=tokenType}evaluate(t){return Trees_1.Trees.findAllTokenNodes(t,this.tokenType)}}__decorate([Decorators_1.Override],XPathTokenAnywhereElement.prototype,"evaluate",null),exports.XPathTokenAnywhereElement=XPathTokenAnywhereElement},4884:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathTokenElement=void 0;const Decorators_1=__webpack_require__(4798),TerminalNode_1=__webpack_require__(9561),Trees_1=__webpack_require__(3398),XPathElement_1=__webpack_require__(6888);class XPathTokenElement extends XPathElement_1.XPathElement{constructor(tokenName,tokenType){super(tokenName),this.tokenType=tokenType}evaluate(t){let nodes=[];for(let c of Trees_1.Trees.getChildren(t))c instanceof TerminalNode_1.TerminalNode&&(c.symbol.type===this.tokenType&&!this.invert||c.symbol.type!==this.tokenType&&this.invert)&&nodes.push(c);return nodes}}__decorate([Decorators_1.Override],XPathTokenElement.prototype,"evaluate",null),exports.XPathTokenElement=XPathTokenElement},7736:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathWildcardAnywhereElement=void 0;const Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPath_1=__webpack_require__(7196),XPathElement_1=__webpack_require__(6888);class XPathWildcardAnywhereElement extends XPathElement_1.XPathElement{constructor(){super(XPath_1.XPath.WILDCARD)}evaluate(t){return this.invert?[]:Trees_1.Trees.getDescendants(t)}}__decorate([Decorators_1.Override],XPathWildcardAnywhereElement.prototype,"evaluate",null),exports.XPathWildcardAnywhereElement=XPathWildcardAnywhereElement},8499:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathWildcardElement=void 0;const Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPath_1=__webpack_require__(7196),XPathElement_1=__webpack_require__(6888);class XPathWildcardElement extends XPathElement_1.XPathElement{constructor(){super(XPath_1.XPath.WILDCARD)}evaluate(t){let kids=[];if(this.invert)return kids;for(let c of Trees_1.Trees.getChildren(t))kids.push(c);return kids}}__decorate([Decorators_1.Override],XPathWildcardElement.prototype,"evaluate",null),exports.XPathWildcardElement=XPathWildcardElement},5936:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2})(obj)}var isDeepEqual,isDeepStrictEqual,_require$codes=__webpack_require__(3237).codes,ERR_AMBIGUOUS_ARGUMENT=_require$codes.ERR_AMBIGUOUS_ARGUMENT,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_INVALID_ARG_VALUE=_require$codes.ERR_INVALID_ARG_VALUE,ERR_INVALID_RETURN_VALUE=_require$codes.ERR_INVALID_RETURN_VALUE,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,AssertionError=__webpack_require__(1953),inspect=__webpack_require__(179).inspect,_require$types=__webpack_require__(179).types,isPromise=_require$types.isPromise,isRegExp=_require$types.isRegExp,objectAssign=Object.assign?Object.assign:__webpack_require__(3877).assign,objectIs=Object.is?Object.is:__webpack_require__(314);function lazyLoadComparison(){var comparison=__webpack_require__(356);isDeepEqual=comparison.isDeepEqual,isDeepStrictEqual=comparison.isDeepStrictEqual}var warned=!1,assert=module.exports=ok,NO_EXCEPTION_SENTINEL={};function innerFail(obj){throw obj.message instanceof Error?obj.message:new AssertionError(obj)}function innerOk(fn,argLen,value,message){if(!value){var generatedMessage=!1;if(0===argLen)generatedMessage=!0,message="No value argument passed to `assert.ok()`";else if(message instanceof Error)throw message;var err=new AssertionError({actual:value,expected:!0,message,operator:"==",stackStartFn:fn});throw err.generatedMessage=generatedMessage,err}}function ok(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];innerOk.apply(void 0,[ok,args.length].concat(args))}assert.fail=function fail(actual,expected,message,operator,stackStartFn){var internalMessage,argsLen=arguments.length;if(0===argsLen?internalMessage="Failed":1===argsLen?(message=actual,actual=void 0):(!1===warned&&(warned=!0,(process.emitWarning?process.emitWarning:console.warn.bind(console))("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094")),2===argsLen&&(operator="!=")),message instanceof Error)throw message;var errArgs={actual,expected,operator:void 0===operator?"fail":operator,stackStartFn:stackStartFn||fail};void 0!==message&&(errArgs.message=message);var err=new AssertionError(errArgs);throw internalMessage&&(err.message=internalMessage,err.generatedMessage=!0),err},assert.AssertionError=AssertionError,assert.ok=ok,assert.equal=function equal(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");actual!=expected&&innerFail({actual,expected,message,operator:"==",stackStartFn:equal})},assert.notEqual=function notEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");actual==expected&&innerFail({actual,expected,message,operator:"!=",stackStartFn:notEqual})},assert.deepEqual=function deepEqual2(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");void 0===isDeepEqual&&lazyLoadComparison(),isDeepEqual(actual,expected)||innerFail({actual,expected,message,operator:"deepEqual",stackStartFn:deepEqual2})},assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");void 0===isDeepEqual&&lazyLoadComparison(),isDeepEqual(actual,expected)&&innerFail({actual,expected,message,operator:"notDeepEqual",stackStartFn:notDeepEqual})},assert.deepStrictEqual=function deepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");void 0===isDeepEqual&&lazyLoadComparison(),isDeepStrictEqual(actual,expected)||innerFail({actual,expected,message,operator:"deepStrictEqual",stackStartFn:deepStrictEqual})},assert.notDeepStrictEqual=function notDeepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");void 0===isDeepEqual&&lazyLoadComparison(),isDeepStrictEqual(actual,expected)&&innerFail({actual,expected,message,operator:"notDeepStrictEqual",stackStartFn:notDeepStrictEqual})},assert.strictEqual=function strictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");objectIs(actual,expected)||innerFail({actual,expected,message,operator:"strictEqual",stackStartFn:strictEqual})},assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");objectIs(actual,expected)&&innerFail({actual,expected,message,operator:"notStrictEqual",stackStartFn:notStrictEqual})};var Comparison=function Comparison2(obj,keys,actual){var _this=this;(function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")})(this,Comparison2),keys.forEach(function(key){key in obj&&(_this[key]=void 0!==actual&&"string"==typeof actual[key]&&isRegExp(obj[key])&&obj[key].test(actual[key])?actual[key]:obj[key])})};function expectedException(actual,expected,msg,fn){if("function"!=typeof expected){if(isRegExp(expected))return expected.test(actual);if(2===arguments.length)throw new ERR_INVALID_ARG_TYPE("expected",["Function","RegExp"],expected);if("object"!==_typeof(actual)||null===actual){var err=new AssertionError({actual,expected,message:msg,operator:"deepStrictEqual",stackStartFn:fn});throw err.operator=fn.name,err}var keys=Object.keys(expected);if(expected instanceof Error)keys.push("name","message");else if(0===keys.length)throw new ERR_INVALID_ARG_VALUE("error",expected,"may not be an empty object");return void 0===isDeepEqual&&lazyLoadComparison(),keys.forEach(function(key){"string"==typeof actual[key]&&isRegExp(expected[key])&&expected[key].test(actual[key])||function compareExceptionKey(actual,expected,key,message,keys,fn){if(!(key in actual)||!isDeepStrictEqual(actual[key],expected[key])){if(!message){var a=new Comparison(actual,keys),b=new Comparison(expected,keys,actual),err=new AssertionError({actual:a,expected:b,operator:"deepStrictEqual",stackStartFn:fn});throw err.actual=actual,err.expected=expected,err.operator=fn.name,err}innerFail({actual,expected,message,operator:fn.name,stackStartFn:fn})}}(actual,expected,key,msg,keys,fn)}),!0}return void 0!==expected.prototype&&actual instanceof expected||!Error.isPrototypeOf(expected)&&!0===expected.call({},actual)}function getActual(fn){if("function"!=typeof fn)throw new ERR_INVALID_ARG_TYPE("fn","Function",fn);try{fn()}catch(e){return e}return NO_EXCEPTION_SENTINEL}function checkIsPromise(obj){return isPromise(obj)||null!==obj&&"object"===_typeof(obj)&&"function"==typeof obj.then&&"function"==typeof obj.catch}function waitForActual(promiseFn){return Promise.resolve().then(function(){var resultPromise;if("function"==typeof promiseFn){if(!checkIsPromise(resultPromise=promiseFn()))throw new ERR_INVALID_RETURN_VALUE("instance of Promise","promiseFn",resultPromise)}else{if(!checkIsPromise(promiseFn))throw new ERR_INVALID_ARG_TYPE("promiseFn",["Function","Promise"],promiseFn);resultPromise=promiseFn}return Promise.resolve().then(function(){return resultPromise}).then(function(){return NO_EXCEPTION_SENTINEL}).catch(function(e){return e})})}function expectsError(stackStartFn,actual,error,message){if("string"==typeof error){if(4===arguments.length)throw new ERR_INVALID_ARG_TYPE("error",["Object","Error","Function","RegExp"],error);if("object"===_typeof(actual)&&null!==actual){if(actual.message===error)throw new ERR_AMBIGUOUS_ARGUMENT("error/message",'The error message "'.concat(actual.message,'" is identical to the message.'))}else if(actual===error)throw new ERR_AMBIGUOUS_ARGUMENT("error/message",'The error "'.concat(actual,'" is identical to the message.'));message=error,error=void 0}else if(null!=error&&"object"!==_typeof(error)&&"function"!=typeof error)throw new ERR_INVALID_ARG_TYPE("error",["Object","Error","Function","RegExp"],error);if(actual===NO_EXCEPTION_SENTINEL){var details="";error&&error.name&&(details+=" (".concat(error.name,")")),details+=message?": ".concat(message):".",innerFail({actual:void 0,expected:error,operator:stackStartFn.name,message:"Missing expected ".concat("rejects"===stackStartFn.name?"rejection":"exception").concat(details),stackStartFn})}if(error&&!expectedException(actual,error,message,stackStartFn))throw actual}function expectsNoError(stackStartFn,actual,error,message){if(actual!==NO_EXCEPTION_SENTINEL){if("string"==typeof error&&(message=error,error=void 0),!error||expectedException(actual,error)){var details=message?": ".concat(message):".";innerFail({actual,expected:error,operator:stackStartFn.name,message:"Got unwanted ".concat("doesNotReject"===stackStartFn.name?"rejection":"exception").concat(details,"\n")+'Actual message: "'.concat(actual&&actual.message,'"'),stackStartFn})}throw actual}}function strict(){for(var _len6=arguments.length,args=new Array(_len6),_key6=0;_key6<_len6;_key6++)args[_key6]=arguments[_key6];innerOk.apply(void 0,[strict,args.length].concat(args))}assert.throws=function throws(promiseFn){for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];expectsError.apply(void 0,[throws,getActual(promiseFn)].concat(args))},assert.rejects=function rejects(promiseFn){for(var _len3=arguments.length,args=new Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++)args[_key3-1]=arguments[_key3];return waitForActual(promiseFn).then(function(result){return expectsError.apply(void 0,[rejects,result].concat(args))})},assert.doesNotThrow=function doesNotThrow(fn){for(var _len4=arguments.length,args=new Array(_len4>1?_len4-1:0),_key4=1;_key4<_len4;_key4++)args[_key4-1]=arguments[_key4];expectsNoError.apply(void 0,[doesNotThrow,getActual(fn)].concat(args))},assert.doesNotReject=function doesNotReject(fn){for(var _len5=arguments.length,args=new Array(_len5>1?_len5-1:0),_key5=1;_key5<_len5;_key5++)args[_key5-1]=arguments[_key5];return waitForActual(fn).then(function(result){return expectsNoError.apply(void 0,[doesNotReject,result].concat(args))})},assert.ifError=function ifError(err){if(null!=err){var message="ifError got unwanted exception: ";"object"===_typeof(err)&&"string"==typeof err.message?message+=0===err.message.length&&err.constructor?err.constructor.name:err.message:message+=inspect(err);var newErr=new AssertionError({actual:err,expected:null,operator:"ifError",message,stackStartFn:ifError}),origStack=err.stack;if("string"==typeof origStack){var tmp2=origStack.split("\n");tmp2.shift();for(var tmp1=newErr.stack.split("\n"),i=0;i{"use strict";function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _defineProperties(target,props){for(var i=0;i"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}()?Reflect.construct:function(Parent2,args2,Class2){var a=[null];a.push.apply(a,args2);var instance=new(Function.bind.apply(Parent2,a));return Class2&&_setPrototypeOf(instance,Class2.prototype),instance}).apply(null,arguments)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o2,p2){return o2.__proto__=p2,o2})(o,p)}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o2){return o2.__proto__||Object.getPrototypeOf(o2)})(o)}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2})(obj)}var inspect=__webpack_require__(179).inspect,ERR_INVALID_ARG_TYPE=__webpack_require__(3237).codes.ERR_INVALID_ARG_TYPE;function endsWith(str,search,this_len){return(void 0===this_len||this_len>str.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}var blue="",green="",red="",white="",kReadableOperator={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function copyError(source){var keys=Object.keys(source),target=Object.create(Object.getPrototypeOf(source));return keys.forEach(function(key){target[key]=source[key]}),Object.defineProperty(target,"message",{value:source.message}),target}function inspectValue(val){return inspect(val,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var AssertionError=function(_Error){function AssertionError2(options){var _this;if(function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,AssertionError2),"object"!==_typeof(options)||null===options)throw new ERR_INVALID_ARG_TYPE("options","Object",options);var message=options.message,operator=options.operator,stackStartFn=options.stackStartFn,actual=options.actual,expected=options.expected,limit=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=message)_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,String(message)));else if(process.stderr&&process.stderr.isTTY&&(process.stderr&&process.stderr.getColorDepth&&1!==process.stderr.getColorDepth()?(blue="\x1b[34m",green="\x1b[32m",white="\x1b[39m",red="\x1b[31m"):(blue="",green="",white="",red="")),"object"===_typeof(actual)&&null!==actual&&"object"===_typeof(expected)&&null!==expected&&"stack"in actual&&actual instanceof Error&&"stack"in expected&&expected instanceof Error&&(actual=copyError(actual),expected=copyError(expected)),"deepStrictEqual"===operator||"strictEqual"===operator)_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,function createErrDiff(actual,expected,operator){var other="",res="",lastPos=0,end="",skipped=!1,actualInspected=inspectValue(actual),actualLines=actualInspected.split("\n"),expectedLines=inspectValue(expected).split("\n"),i=0,indicator="";if("strictEqual"===operator&&"object"===_typeof(actual)&&"object"===_typeof(expected)&&null!==actual&&null!==expected&&(operator="strictEqualObject"),1===actualLines.length&&1===expectedLines.length&&actualLines[0]!==expectedLines[0]){var inputLength=actualLines[0].length+expectedLines[0].length;if(inputLength<=10){if(!("object"===_typeof(actual)&&null!==actual||"object"===_typeof(expected)&&null!==expected||0===actual&&0===expected))return"".concat(kReadableOperator[operator],"\n\n")+"".concat(actualLines[0]," !== ").concat(expectedLines[0],"\n")}else if("strictEqualObject"!==operator&&inputLength<(process.stderr&&process.stderr.isTTY?process.stderr.columns:80)){for(;actualLines[0][i]===expectedLines[0][i];)i++;i>2&&(indicator="\n ".concat(function repeat(str,count){if(count=Math.floor(count),0==str.length||0==count)return"";var maxCount=str.length*count;for(count=Math.floor(Math.log(count)/Math.log(2));count;)str+=str,count--;return str+str.substring(0,maxCount-str.length)}(" ",i),"^"),i=0)}}for(var a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];a===b&&(i++<2?end="\n ".concat(a).concat(end):other=a,actualLines.pop(),expectedLines.pop(),0!==actualLines.length&&0!==expectedLines.length);)a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];var maxLines=Math.max(actualLines.length,expectedLines.length);if(0===maxLines){var _actualLines=actualInspected.split("\n");if(_actualLines.length>30)for(_actualLines[26]="".concat(blue,"...").concat(white);_actualLines.length>27;)_actualLines.pop();return"".concat(kReadableOperator.notIdentical,"\n\n").concat(_actualLines.join("\n"),"\n")}i>3&&(end="\n".concat(blue,"...").concat(white).concat(end),skipped=!0),""!==other&&(end="\n ".concat(other).concat(end),other="");var printedLines=0,msg=kReadableOperator[operator]+"\n".concat(green,"+ actual").concat(white," ").concat(red,"- expected").concat(white),skippedMsg=" ".concat(blue,"...").concat(white," Lines skipped");for(i=0;i1&&i>2&&(cur>4?(res+="\n".concat(blue,"...").concat(white),skipped=!0):cur>3&&(res+="\n ".concat(expectedLines[i-2]),printedLines++),res+="\n ".concat(expectedLines[i-1]),printedLines++),lastPos=i,other+="\n".concat(red,"-").concat(white," ").concat(expectedLines[i]),printedLines++;else if(expectedLines.length1&&i>2&&(cur>4?(res+="\n".concat(blue,"...").concat(white),skipped=!0):cur>3&&(res+="\n ".concat(actualLines[i-2]),printedLines++),res+="\n ".concat(actualLines[i-1]),printedLines++),lastPos=i,res+="\n".concat(green,"+").concat(white," ").concat(actualLines[i]),printedLines++;else{var expectedLine=expectedLines[i],actualLine=actualLines[i],divergingLines=actualLine!==expectedLine&&(!endsWith(actualLine,",")||actualLine.slice(0,-1)!==expectedLine);divergingLines&&endsWith(expectedLine,",")&&expectedLine.slice(0,-1)===actualLine&&(divergingLines=!1,actualLine+=","),divergingLines?(cur>1&&i>2&&(cur>4?(res+="\n".concat(blue,"...").concat(white),skipped=!0):cur>3&&(res+="\n ".concat(actualLines[i-2]),printedLines++),res+="\n ".concat(actualLines[i-1]),printedLines++),lastPos=i,res+="\n".concat(green,"+").concat(white," ").concat(actualLine),other+="\n".concat(red,"-").concat(white," ").concat(expectedLine),printedLines+=2):(res+=other,other="",(1===cur||0===i)&&(res+="\n ".concat(actualLine),printedLines++))}if(printedLines>20&&i30)for(res[26]="".concat(blue,"...").concat(white);res.length>27;)res.pop();_this=_possibleConstructorReturn(this,1===res.length?_getPrototypeOf(AssertionError2).call(this,"".concat(base," ").concat(res[0])):_getPrototypeOf(AssertionError2).call(this,"".concat(base,"\n\n").concat(res.join("\n"),"\n")))}else{var _res=inspectValue(actual),other="",knownOperators=kReadableOperator[operator];"notDeepEqual"===operator||"notEqual"===operator?(_res="".concat(kReadableOperator[operator],"\n\n").concat(_res)).length>1024&&(_res="".concat(_res.slice(0,1021),"...")):(other="".concat(inspectValue(expected)),_res.length>512&&(_res="".concat(_res.slice(0,509),"...")),other.length>512&&(other="".concat(other.slice(0,509),"...")),"deepEqual"===operator||"equal"===operator?_res="".concat(knownOperators,"\n\n").concat(_res,"\n\nshould equal\n\n"):other=" ".concat(operator," ").concat(other)),_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,"".concat(_res).concat(other)))}return Error.stackTraceLimit=limit,_this.generatedMessage=!message,Object.defineProperty(_assertThisInitialized(_this),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),_this.code="ERR_ASSERTION",_this.actual=actual,_this.expected=expected,_this.operator=operator,Error.captureStackTrace&&Error.captureStackTrace(_assertThisInitialized(_this),stackStartFn),_this.name="AssertionError",_possibleConstructorReturn(_this)}return function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(AssertionError2,_Error),function _createClass(Constructor,protoProps,staticProps){protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps)}(AssertionError2,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:inspect.custom,value:function(recurseTimes,ctx){return inspect(this,function _objectSpread(target){for(var i=1;i{"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2})(obj)}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o2){return o2.__proto__||Object.getPrototypeOf(o2)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o2,p2){return o2.__proto__=p2,o2})(o,p)}var assert,util,codes={};function createErrorType(code,message,Base){Base||(Base=Error),codes[code]=function(_Base){function NodeError2(arg1,arg2,arg3){var _this;return function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,NodeError2),_this=function _possibleConstructorReturn(self2,call){return!call||"object"!==_typeof(call)&&"function"!=typeof call?function _assertThisInitialized(self2){if(void 0===self2)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self2}(self2):call}(this,_getPrototypeOf(NodeError2).call(this,function getMessage(arg1,arg2,arg3){return"string"==typeof message?message:message(arg1,arg2,arg3)}(arg1,arg2,arg3))),_this.code=code,_this}return function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(NodeError2,_Base),NodeError2}(Base)}function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;return expected=expected.map(function(i){return String(i)}),len>2?"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(", "),", or ")+expected[len-1]:2===len?"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1]):"of ".concat(thing," ").concat(expected[0])}return"of ".concat(thing," ").concat(String(expected))}createErrorType("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),createErrorType("ERR_INVALID_ARG_TYPE",function(name,expected,actual){var determiner,msg;if(void 0===assert&&(assert=__webpack_require__(5936)),assert("string"==typeof name,"'name' must be a string"),"string"==typeof expected&&function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}(expected,"not ")?(determiner="must not be",expected=expected.replace(/^not /,"")):determiner="must be",function endsWith(str,search,this_len){return(void 0===this_len||this_len>str.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}(name," argument"))msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,"type"));else{var type=function includes(str,search,start){return"number"!=typeof start&&(start=0),!(start+search.length>str.length)&&-1!==str.indexOf(search,start)}(name,".")?"property":"argument";msg='The "'.concat(name,'" ').concat(type," ").concat(determiner," ").concat(oneOf(expected,"type"))}return msg+". Received type ".concat(_typeof(actual))},TypeError),createErrorType("ERR_INVALID_ARG_VALUE",function(name,value){var reason=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===util&&(util=__webpack_require__(179));var inspected=util.inspect(value);return inspected.length>128&&(inspected="".concat(inspected.slice(0,128),"...")),"The argument '".concat(name,"' ").concat(reason,". Received ").concat(inspected)},TypeError,RangeError),createErrorType("ERR_INVALID_RETURN_VALUE",function(input,name,value){var type;return type=value&&value.constructor&&value.constructor.name?"instance of ".concat(value.constructor.name):"type ".concat(_typeof(value)),"Expected ".concat(input,' to be returned from the "').concat(name,'"')+" function but got ".concat(type,".")},TypeError),createErrorType("ERR_MISSING_ARGS",function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];void 0===assert&&(assert=__webpack_require__(5936)),assert(args.length>0,"At least one arg needs to be specified");var msg="The ",len=args.length;switch(args=args.map(function(a){return'"'.concat(a,'"')}),len){case 1:msg+="".concat(args[0]," argument");break;case 2:msg+="".concat(args[0]," and ").concat(args[1]," arguments");break;default:msg+=args.slice(0,len-1).join(", "),msg+=", and ".concat(args[len-1]," arguments")}return"".concat(msg," must be specified")},TypeError),module.exports.codes=codes},356:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&null!=_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2})(obj)}var regexFlagsSupported=void 0!==/a/g.flags,arrayFromSet=function(set){var array=[];return set.forEach(function(value){return array.push(value)}),array},arrayFromMap=function(map2){var array=[];return map2.forEach(function(value,key){return array.push([key,value])}),array},objectIs=Object.is?Object.is:__webpack_require__(314),objectGetOwnPropertySymbols=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},numberIsNaN=Number.isNaN?Number.isNaN:__webpack_require__(389);function uncurryThis(f){return f.call.bind(f)}var hasOwnProperty=uncurryThis(Object.prototype.hasOwnProperty),propertyIsEnumerable=uncurryThis(Object.prototype.propertyIsEnumerable),objectToString=uncurryThis(Object.prototype.toString),_require$types=__webpack_require__(179).types,isAnyArrayBuffer=_require$types.isAnyArrayBuffer,isArrayBufferView=_require$types.isArrayBufferView,isDate=_require$types.isDate,isMap=_require$types.isMap,isRegExp=_require$types.isRegExp,isSet=_require$types.isSet,isNativeError=_require$types.isNativeError,isBoxedPrimitive=_require$types.isBoxedPrimitive,isNumberObject=_require$types.isNumberObject,isStringObject=_require$types.isStringObject,isBooleanObject=_require$types.isBooleanObject,isBigIntObject=_require$types.isBigIntObject,isSymbolObject=_require$types.isSymbolObject,isFloat32Array=_require$types.isFloat32Array,isFloat64Array=_require$types.isFloat64Array;function isNonIndex(key){if(0===key.length||key.length>10)return!0;for(var i=0;i57)return!0}return 10===key.length&&key>=Math.pow(2,32)}function getOwnNonIndexProperties(value){return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)))}function compare(a,b){if(a===b)return 0;for(var x=a.length,y=b.length,i=0,len=Math.min(x,y);i{"use strict";var GetIntrinsic=__webpack_require__(491),callBind=__webpack_require__(5436),$indexOf=callBind(GetIntrinsic("String.prototype.indexOf"));module.exports=function(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);return"function"==typeof intrinsic&&$indexOf(name,".prototype.")>-1?callBind(intrinsic):intrinsic}},5436:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var bind=__webpack_require__(5333),GetIntrinsic=__webpack_require__(491),$apply=GetIntrinsic("%Function.prototype.apply%"),$call=GetIntrinsic("%Function.prototype.call%"),$reflectApply=GetIntrinsic("%Reflect.apply%",!0)||bind.call($call,$apply),$gOPD=GetIntrinsic("%Object.getOwnPropertyDescriptor%",!0),$defineProperty=GetIntrinsic("%Object.defineProperty%",!0),$max=GetIntrinsic("%Math.max%");if($defineProperty)try{$defineProperty({},"a",{value:1})}catch{$defineProperty=null}module.exports=function(originalFunction){var func=$reflectApply(bind,$call,arguments);return $gOPD&&$defineProperty&&$gOPD(func,"length").configurable&&$defineProperty(func,"length",{value:1+$max(0,originalFunction.length-(arguments.length-1))}),func};var applyBind=function(){return $reflectApply(bind,$apply,arguments)};$defineProperty?$defineProperty(module.exports,"apply",{value:applyBind}):module.exports.apply=applyBind},1648:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var keys=__webpack_require__(7809),hasSymbols="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),toStr=Object.prototype.toString,concat=Array.prototype.concat,origDefineProperty=Object.defineProperty,hasPropertyDescriptors=__webpack_require__(2486)(),supportsDescriptors=origDefineProperty&&hasPropertyDescriptors,defineProperty=function(object,name,value,predicate){if(name in object)if(!0===predicate){if(object[name]===value)return}else if("function"!=typeof(fn=predicate)||"[object Function]"!==toStr.call(fn)||!predicate())return;var fn;supportsDescriptors?origDefineProperty(object,name,{configurable:!0,enumerable:!1,value,writable:!0}):object[name]=value},defineProperties=function(object,map2){var predicates=arguments.length>2?arguments[2]:{},props=keys(map2);hasSymbols&&(props=concat.call(props,Object.getOwnPropertySymbols(map2)));for(var i=0;i{"use strict";function assign(target,firstSource){if(null==target)throw new TypeError("Cannot convert first argument to object");for(var to=Object(target),i=1;i=b2.status}function e(a2){try{a2.dispatchEvent(new MouseEvent("click"))}catch{var b2=document.createEvent("MouseEvents");b2.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a2.dispatchEvent(b2)}}var f="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||("object"!=typeof window||window!==f?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(b2,g2,h){var i=f.URL||f.webkitURL,j=document.createElement("a");j.download=g2=g2||b2.name||"download",j.rel="noopener","string"==typeof b2?(j.href=b2,j.origin===location.origin?e(j):d(j.href)?c(b2,g2,h):e(j,j.target="_blank")):(j.href=i.createObjectURL(b2),setTimeout(function(){i.revokeObjectURL(j.href)},4e4),setTimeout(function(){e(j)},0))}:"msSaveOrOpenBlob"in navigator?function(f2,g2,h){if(g2=g2||f2.name||"download","string"!=typeof f2)navigator.msSaveOrOpenBlob(function b(a2,b2){return typeof b2>"u"?b2={autoBom:!1}:"object"!=typeof b2&&(console.warn("Deprecated: Expected third argument to be a object"),b2={autoBom:!b2}),b2.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a2.type)?new Blob(["\ufeff",a2],{type:a2.type}):a2}(f2,h),g2);else if(d(f2))c(f2,g2,h);else{var i=document.createElement("a");i.href=f2,i.target="_blank",setTimeout(function(){e(i)})}}:function(b2,d2,e2,g2){if((g2=g2||open("","_blank"))&&(g2.document.title=g2.document.body.innerText="downloading..."),"string"==typeof b2)return c(b2,d2,e2);var h="application/octet-stream"===b2.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\/[\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&typeof FileReader<"u"){var k=new FileReader;k.onloadend=function(){var a2=k.result;a2=j?a2:a2.replace(/^data:[^;]*;/,"data:attachment/file;"),g2?g2.location.href=a2:location=a2,g2=null},k.readAsDataURL(b2)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b2);g2?g2.location=m:location.href=m,g2=null,setTimeout(function(){l.revokeObjectURL(m)},4e4)}});f.saveAs=g.saveAs=g,module.exports=g})?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,[]):__WEBPACK_AMD_DEFINE_FACTORY__)&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)},3307:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var isCallable=__webpack_require__(2238),toStr=Object.prototype.toString,hasOwnProperty=Object.prototype.hasOwnProperty;module.exports=function(list,iterator,thisArg){if(!isCallable(iterator))throw new TypeError("iterator must be a function");var receiver;arguments.length>=3&&(receiver=thisArg),"[object Array]"===toStr.call(list)?function(array,iterator,receiver){for(var i=0,len=array.length;i{"use strict";var slice=Array.prototype.slice,toStr=Object.prototype.toString;module.exports=function(that){var target=this;if("function"!=typeof target||"[object Function]"!==toStr.call(target))throw new TypeError("Function.prototype.bind called on incompatible "+target);for(var bound,args=slice.call(arguments,1),boundLength=Math.max(0,target.length-args.length),boundArgs=[],i=0;i{"use strict";var implementation=__webpack_require__(238);module.exports=Function.prototype.bind||implementation},491:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var $SyntaxError=SyntaxError,$Function=Function,$TypeError=TypeError,getEvalledConstructor=function(expressionSyntax){try{return $Function('"use strict"; return ('+expressionSyntax+").constructor;")()}catch{}},$gOPD=Object.getOwnPropertyDescriptor;if($gOPD)try{$gOPD({},"")}catch{$gOPD=null}var throwTypeError=function(){throw new $TypeError},ThrowTypeError=$gOPD?function(){try{return throwTypeError}catch{try{return $gOPD(arguments,"callee").get}catch{return throwTypeError}}}():throwTypeError,hasSymbols=__webpack_require__(6152)(),hasProto=__webpack_require__(9028)(),getProto=Object.getPrototypeOf||(hasProto?function(x){return x.__proto__}:null),needsEval={},TypedArray=typeof Uint8Array>"u"||!getProto?void 0:getProto(Uint8Array),INTRINSICS={"%AggregateError%":typeof AggregateError>"u"?void 0:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?void 0:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols&&getProto?getProto([][Symbol.iterator]()):void 0,"%AsyncFromSyncIteratorPrototype%":void 0,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":typeof Atomics>"u"?void 0:Atomics,"%BigInt%":typeof BigInt>"u"?void 0:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?void 0:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?void 0:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?void 0:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?void 0:Float32Array,"%Float64Array%":typeof Float64Array>"u"?void 0:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?void 0:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":typeof Int8Array>"u"?void 0:Int8Array,"%Int16Array%":typeof Int16Array>"u"?void 0:Int16Array,"%Int32Array%":typeof Int32Array>"u"?void 0:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):void 0,"%JSON%":"object"==typeof JSON?JSON:void 0,"%Map%":typeof Map>"u"?void 0:Map,"%MapIteratorPrototype%":typeof Map>"u"||!hasSymbols||!getProto?void 0:getProto((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?void 0:Promise,"%Proxy%":typeof Proxy>"u"?void 0:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?void 0:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?void 0:Set,"%SetIteratorPrototype%":typeof Set>"u"||!hasSymbols||!getProto?void 0:getProto((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?void 0:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols&&getProto?getProto(""[Symbol.iterator]()):void 0,"%Symbol%":hasSymbols?Symbol:void 0,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError,"%Uint8Array%":typeof Uint8Array>"u"?void 0:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?void 0:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?void 0:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?void 0:WeakMap,"%WeakRef%":typeof WeakRef>"u"?void 0:WeakRef,"%WeakSet%":typeof WeakSet>"u"?void 0:WeakSet};if(getProto)try{null.error}catch(e){var errorProto=getProto(getProto(e));INTRINSICS["%Error.prototype%"]=errorProto}var doEval=function doEval2(name){var value;if("%AsyncFunction%"===name)value=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===name)value=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===name)value=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===name){var fn=doEval2("%AsyncGeneratorFunction%");fn&&(value=fn.prototype)}else if("%AsyncIteratorPrototype%"===name){var gen=doEval2("%AsyncGenerator%");gen&&getProto&&(value=getProto(gen.prototype))}return INTRINSICS[name]=value,value},LEGACY_ALIASES={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bind=__webpack_require__(5333),hasOwn=__webpack_require__(8533),$concat=bind.call(Function.call,Array.prototype.concat),$spliceApply=bind.call(Function.apply,Array.prototype.splice),$replace=bind.call(Function.call,String.prototype.replace),$strSlice=bind.call(Function.call,String.prototype.slice),$exec=bind.call(Function.call,RegExp.prototype.exec),rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar=/\\(\\)?/g,getBaseIntrinsic=function(name,allowMissing){var alias,intrinsicName=name;if(hasOwn(LEGACY_ALIASES,intrinsicName)&&(intrinsicName="%"+(alias=LEGACY_ALIASES[intrinsicName])[0]+"%"),hasOwn(INTRINSICS,intrinsicName)){var value=INTRINSICS[intrinsicName];if(value===needsEval&&(value=doEval(intrinsicName)),typeof value>"u"&&!allowMissing)throw new $TypeError("intrinsic "+name+" exists, but is not available. Please file an issue!");return{alias,name:intrinsicName,value}}throw new $SyntaxError("intrinsic "+name+" does not exist!")};module.exports=function(name,allowMissing){if("string"!=typeof name||0===name.length)throw new $TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof allowMissing)throw new $TypeError('"allowMissing" argument must be a boolean');if(null===$exec(/^%?[^%]*%?$/,name))throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var parts=function(string){var first2=$strSlice(string,0,1),last=$strSlice(string,-1);if("%"===first2&&"%"!==last)throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if("%"===last&&"%"!==first2)throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var result=[];return $replace(string,rePropName,function(match,number,quote,subString){result[result.length]=quote?$replace(subString,reEscapeChar,"$1"):number||match}),result}(name),intrinsicBaseName=parts.length>0?parts[0]:"",intrinsic=getBaseIntrinsic("%"+intrinsicBaseName+"%",allowMissing),intrinsicRealName=intrinsic.name,value=intrinsic.value,skipFurtherCaching=!1,alias=intrinsic.alias;alias&&(intrinsicBaseName=alias[0],$spliceApply(parts,$concat([0,1],alias)));for(var i=1,isOwn=!0;i=parts.length){var desc=$gOPD(value,part);value=(isOwn=!!desc)&&"get"in desc&&!("originalValue"in desc.get)?desc.get:value[part]}else isOwn=hasOwn(value,part),value=value[part];isOwn&&!skipFurtherCaching&&(INTRINSICS[intrinsicRealName]=value)}}return value}},9262:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var $gOPD=__webpack_require__(491)("%Object.getOwnPropertyDescriptor%",!0);if($gOPD)try{$gOPD([],"length")}catch{$gOPD=null}module.exports=$gOPD},2486:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var $defineProperty=__webpack_require__(491)("%Object.defineProperty%",!0),hasPropertyDescriptors=function(){if($defineProperty)try{return $defineProperty({},"a",{value:1}),!0}catch{return!1}return!1};hasPropertyDescriptors.hasArrayLengthDefineBug=function(){if(!hasPropertyDescriptors())return null;try{return 1!==$defineProperty([],"length",{value:1}).length}catch{return!0}},module.exports=hasPropertyDescriptors},9028:module=>{"use strict";var test={foo:{}},$Object=Object;module.exports=function(){return{__proto__:test}.foo===test.foo&&!({__proto__:null}instanceof $Object)}},6152:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var origSymbol=typeof Symbol<"u"&&Symbol,hasSymbolSham=__webpack_require__(5441);module.exports=function(){return"function"==typeof origSymbol&&"function"==typeof Symbol&&"symbol"==typeof origSymbol("foo")&&"symbol"==typeof Symbol("bar")&&hasSymbolSham()}},5441:module=>{"use strict";module.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var obj={},sym=Symbol("test"),symObj=Object(sym);if("string"==typeof sym||"[object Symbol]"!==Object.prototype.toString.call(sym)||"[object Symbol]"!==Object.prototype.toString.call(symObj))return!1;for(sym in obj[sym]=42,obj)return!1;if("function"==typeof Object.keys&&0!==Object.keys(obj).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(obj).length)return!1;var syms=Object.getOwnPropertySymbols(obj);if(1!==syms.length||syms[0]!==sym||!Object.prototype.propertyIsEnumerable.call(obj,sym))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(42!==descriptor.value||!0!==descriptor.enumerable)return!1}return!0}},8041:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var hasSymbols=__webpack_require__(5441);module.exports=function(){return hasSymbols()&&!!Symbol.toStringTag}},8533:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var bind=__webpack_require__(5333);module.exports=bind.call(Function.call,Object.prototype.hasOwnProperty)},6698:module=>{module.exports="function"==typeof Object.create?function(ctor,superCtor){superCtor&&(ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}}))}:function(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}}},8147:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var hasToStringTag=__webpack_require__(8041)(),$toString=__webpack_require__(1098)("Object.prototype.toString"),isStandardArguments=function(value){return!(hasToStringTag&&value&&"object"==typeof value&&Symbol.toStringTag in value)&&"[object Arguments]"===$toString(value)},isLegacyArguments=function(value){return!!isStandardArguments(value)||null!==value&&"object"==typeof value&&"number"==typeof value.length&&value.length>=0&&"[object Array]"!==$toString(value)&&"[object Function]"===$toString(value.callee)},supportsStandardArguments=function(){return isStandardArguments(arguments)}();isStandardArguments.isLegacyArguments=isLegacyArguments,module.exports=supportsStandardArguments?isStandardArguments:isLegacyArguments},2238:module=>{"use strict";var badArrayLike,isCallableMarker,fnToStr=Function.prototype.toString,reflectApply="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof reflectApply&&"function"==typeof Object.defineProperty)try{badArrayLike=Object.defineProperty({},"length",{get:function(){throw isCallableMarker}}),isCallableMarker={},reflectApply(function(){throw 42},null,badArrayLike)}catch(_){_!==isCallableMarker&&(reflectApply=null)}else reflectApply=null;var constructorRegex=/^\s*class\b/,isES6ClassFn=function(value){try{var fnStr=fnToStr.call(value);return constructorRegex.test(fnStr)}catch{return!1}},tryFunctionObject=function(value){try{return!isES6ClassFn(value)&&(fnToStr.call(value),!0)}catch{return!1}},toStr=Object.prototype.toString,hasToStringTag="function"==typeof Symbol&&!!Symbol.toStringTag,isIE68=!(0 in[,]),isDDA=function(){return!1};if("object"==typeof document){var all=document.all;toStr.call(all)===toStr.call(document.all)&&(isDDA=function(value){if((isIE68||!value)&&(typeof value>"u"||"object"==typeof value))try{var str=toStr.call(value);return("[object HTMLAllCollection]"===str||"[object HTML document.all class]"===str||"[object HTMLCollection]"===str||"[object Object]"===str)&&null==value("")}catch{}return!1})}module.exports=reflectApply?function(value){if(isDDA(value))return!0;if(!value||"function"!=typeof value&&"object"!=typeof value)return!1;try{reflectApply(value,null,badArrayLike)}catch(e){if(e!==isCallableMarker)return!1}return!isES6ClassFn(value)&&tryFunctionObject(value)}:function(value){if(isDDA(value))return!0;if(!value||"function"!=typeof value&&"object"!=typeof value)return!1;if(hasToStringTag)return tryFunctionObject(value);if(isES6ClassFn(value))return!1;var strClass=toStr.call(value);return!("[object Function]"!==strClass&&"[object GeneratorFunction]"!==strClass&&!/^\[object HTML/.test(strClass))&&tryFunctionObject(value)}},3286:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var GeneratorFunction,toStr=Object.prototype.toString,fnToStr=Function.prototype.toString,isFnRegex=/^\s*(?:function)?\*/,hasToStringTag=__webpack_require__(8041)(),getProto=Object.getPrototypeOf;module.exports=function(fn){if("function"!=typeof fn)return!1;if(isFnRegex.test(fnToStr.call(fn)))return!0;if(!hasToStringTag)return"[object GeneratorFunction]"===toStr.call(fn);if(!getProto)return!1;if(typeof GeneratorFunction>"u"){var generatorFunc=function(){if(!hasToStringTag)return!1;try{return Function("return function*() {}")()}catch{}}();GeneratorFunction=!!generatorFunc&&getProto(generatorFunc)}return getProto(fn)===GeneratorFunction}},4904:module=>{"use strict";module.exports=function(value){return value!=value}},389:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var callBind=__webpack_require__(5436),define=__webpack_require__(1648),implementation=__webpack_require__(4904),getPolyfill=__webpack_require__(5528),shim=__webpack_require__(5505),polyfill=callBind(getPolyfill(),Number);define(polyfill,{getPolyfill,implementation,shim}),module.exports=polyfill},5528:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var implementation=__webpack_require__(4904);module.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:implementation}},5505:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var define=__webpack_require__(1648),getPolyfill=__webpack_require__(5528);module.exports=function(){var polyfill=getPolyfill();return define(Number,{isNaN:polyfill},{isNaN:function(){return Number.isNaN!==polyfill}}),polyfill}},2462:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var whichTypedArray=__webpack_require__(6326);module.exports=function(value){return!!whichTypedArray(value)}},4246:module=>{"use strict";var numberIsNaN=function(value){return value!=value};module.exports=function(a,b){return 0===a&&0===b?1/a==1/b:!!(a===b||numberIsNaN(a)&&numberIsNaN(b))}},314:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var define=__webpack_require__(1648),callBind=__webpack_require__(5436),implementation=__webpack_require__(4246),getPolyfill=__webpack_require__(1353),shim=__webpack_require__(3090),polyfill=callBind(getPolyfill(),Object);define(polyfill,{getPolyfill,implementation,shim}),module.exports=polyfill},1353:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var implementation=__webpack_require__(4246);module.exports=function(){return"function"==typeof Object.is?Object.is:implementation}},3090:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var getPolyfill=__webpack_require__(1353),define=__webpack_require__(1648);module.exports=function(){var polyfill=getPolyfill();return define(Object,{is:polyfill},{is:function(){return Object.is!==polyfill}}),polyfill}},7972:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var keysShim;if(!Object.keys){var has=Object.prototype.hasOwnProperty,toStr=Object.prototype.toString,isArgs=__webpack_require__(9637),isEnumerable=Object.prototype.propertyIsEnumerable,hasDontEnumBug=!isEnumerable.call({toString:null},"toString"),hasProtoEnumBug=isEnumerable.call(function(){},"prototype"),dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],equalsConstructorPrototype=function(o){var ctor=o.constructor;return ctor&&ctor.prototype===o},excludedKeys={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},hasAutomationEqualityBug=function(){if(typeof window>"u")return!1;for(var k in window)try{if(!excludedKeys["$"+k]&&has.call(window,k)&&null!==window[k]&&"object"==typeof window[k])try{equalsConstructorPrototype(window[k])}catch{return!0}}catch{return!0}return!1}();keysShim=function(object){var isObject=null!==object&&"object"==typeof object,isFunction="[object Function]"===toStr.call(object),isArguments=isArgs(object),isString=isObject&&"[object String]"===toStr.call(object),theKeys=[];if(!isObject&&!isFunction&&!isArguments)throw new TypeError("Object.keys called on a non-object");var skipProto=hasProtoEnumBug&&isFunction;if(isString&&object.length>0&&!has.call(object,0))for(var i=0;i0)for(var j=0;j"u"||!hasAutomationEqualityBug)return equalsConstructorPrototype(o);try{return equalsConstructorPrototype(o)}catch{return!1}}(object),k=0;k{"use strict";var slice=Array.prototype.slice,isArgs=__webpack_require__(9637),origKeys=Object.keys,keysShim=origKeys?function(o){return origKeys(o)}:__webpack_require__(7972),originalKeys=Object.keys;keysShim.shim=function(){if(Object.keys){var keysWorksWithArguments=function(){var args=Object.keys(arguments);return args&&args.length===arguments.length}(1,2);keysWorksWithArguments||(Object.keys=function(object){return isArgs(object)?originalKeys(slice.call(object)):originalKeys(object)})}else Object.keys=keysShim;return Object.keys||keysShim},module.exports=keysShim},9637:module=>{"use strict";var toStr=Object.prototype.toString;module.exports=function(value){var str=toStr.call(value),isArgs="[object Arguments]"===str;return isArgs||(isArgs="[object Array]"!==str&&null!==value&&"object"==typeof value&&"number"==typeof value.length&&value.length>=0&&"[object Function]"===toStr.call(value.callee)),isArgs}},6304:(module,__unused_webpack_exports,__webpack_require__)=>{var encoding=__webpack_require__(290);module.exports={TextEncoder:encoding.TextEncoder,TextDecoder:encoding.TextDecoder}},6413:function(module){!function(global2){"use strict";module.exports&&(module.exports=global2),global2["encoding-indexes"]={big5:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,162799,23515,138590,23204,13861,171696,23249,23479,23804,26478,34195,170309,29793,29853,14453,138579,145054,155681,16108,153822,15093,31484,40855,147809,166157,143850,133770,143966,17162,33924,40854,37935,18736,34323,22678,38730,37400,31184,31282,26208,27177,34973,29772,31685,26498,31276,21071,36934,13542,29636,155065,29894,40903,22451,18735,21580,16689,145038,22552,31346,162661,35727,18094,159368,16769,155033,31662,140476,40904,140481,140489,140492,40905,34052,144827,16564,40906,17633,175615,25281,28782,40907,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,12736,12737,12738,12739,12740,131340,12741,131281,131277,12742,12743,131275,139240,12744,131274,12745,12746,12747,12748,131342,12749,12750,256,193,461,192,274,201,282,200,332,211,465,210,null,7870,null,7872,202,257,225,462,224,593,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,null,7871,null,7873,234,609,9178,9179,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,172969,135493,null,25866,null,null,20029,28381,40270,37343,null,null,161589,25745,20250,20264,20392,20822,20852,20892,20964,21153,21160,21307,21326,21457,21464,22242,22768,22788,22791,22834,22836,23398,23454,23455,23706,24198,24635,25993,26622,26628,26725,27982,28860,30005,32420,32428,32442,32455,32463,32479,32518,32567,33402,33487,33647,35270,35774,35810,36710,36711,36718,29713,31996,32205,26950,31433,21031,null,null,null,null,37260,30904,37214,32956,null,36107,33014,133607,null,null,32927,40647,19661,40393,40460,19518,171510,159758,40458,172339,13761,null,28314,33342,29977,null,18705,39532,39567,40857,31111,164972,138698,132560,142054,20004,20097,20096,20103,20159,20203,20279,13388,20413,15944,20483,20616,13437,13459,13477,20870,22789,20955,20988,20997,20105,21113,21136,21287,13767,21417,13649,21424,13651,21442,21539,13677,13682,13953,21651,21667,21684,21689,21712,21743,21784,21795,21800,13720,21823,13733,13759,21975,13765,163204,21797,null,134210,134421,151851,21904,142534,14828,131905,36422,150968,169189,16467,164030,30586,142392,14900,18389,164189,158194,151018,25821,134524,135092,134357,135412,25741,36478,134806,134155,135012,142505,164438,148691,null,134470,170573,164073,18420,151207,142530,39602,14951,169460,16365,13574,152263,169940,161992,142660,40302,38933,null,17369,155813,25780,21731,142668,142282,135287,14843,135279,157402,157462,162208,25834,151634,134211,36456,139681,166732,132913,null,18443,131497,16378,22643,142733,null,148936,132348,155799,134988,134550,21881,16571,17338,null,19124,141926,135325,33194,39157,134556,25465,14846,141173,36288,22177,25724,15939,null,173569,134665,142031,142537,null,135368,145858,14738,14854,164507,13688,155209,139463,22098,134961,142514,169760,13500,27709,151099,null,null,161140,142987,139784,173659,167117,134778,134196,157724,32659,135375,141315,141625,13819,152035,134796,135053,134826,16275,134960,134471,135503,134732,null,134827,134057,134472,135360,135485,16377,140950,25650,135085,144372,161337,142286,134526,134527,142417,142421,14872,134808,135367,134958,173618,158544,167122,167321,167114,38314,21708,33476,21945,null,171715,39974,39606,161630,142830,28992,33133,33004,23580,157042,33076,14231,21343,164029,37302,134906,134671,134775,134907,13789,151019,13833,134358,22191,141237,135369,134672,134776,135288,135496,164359,136277,134777,151120,142756,23124,135197,135198,135413,135414,22428,134673,161428,164557,135093,134779,151934,14083,135094,135552,152280,172733,149978,137274,147831,164476,22681,21096,13850,153405,31666,23400,18432,19244,40743,18919,39967,39821,154484,143677,22011,13810,22153,20008,22786,138177,194680,38737,131206,20059,20155,13630,23587,24401,24516,14586,25164,25909,27514,27701,27706,28780,29227,20012,29357,149737,32594,31035,31993,32595,156266,13505,null,156491,32770,32896,157202,158033,21341,34916,35265,161970,35744,36125,38021,38264,38271,38376,167439,38886,39029,39118,39134,39267,17e4,40060,40479,40644,27503,63751,20023,131207,38429,25143,38050,null,20539,28158,171123,40870,15817,34959,147790,28791,23797,19232,152013,13657,154928,24866,166450,36775,37366,29073,26393,29626,144001,172295,15499,137600,19216,30948,29698,20910,165647,16393,27235,172730,16931,34319,133743,31274,170311,166634,38741,28749,21284,139390,37876,30425,166371,40871,30685,20131,20464,20668,20015,20247,40872,21556,32139,22674,22736,138678,24210,24217,24514,141074,25995,144377,26905,27203,146531,27903,null,29184,148741,29580,16091,150035,23317,29881,35715,154788,153237,31379,31724,31939,32364,33528,34199,40873,34960,40874,36537,40875,36815,34143,39392,37409,40876,167353,136255,16497,17058,23066,null,null,null,39016,26475,17014,22333,null,34262,149883,33471,160013,19585,159092,23931,158485,159678,40877,40878,23446,40879,26343,32347,28247,31178,15752,17603,143958,141206,17306,17718,null,23765,146202,35577,23672,15634,144721,23928,40882,29015,17752,147692,138787,19575,14712,13386,131492,158785,35532,20404,131641,22975,33132,38998,170234,24379,134047,null,139713,166253,16642,18107,168057,16135,40883,172469,16632,14294,18167,158790,16764,165554,160767,17773,14548,152730,17761,17691,19849,19579,19830,17898,16328,150287,13921,17630,17597,16877,23870,23880,23894,15868,14351,23972,23993,14368,14392,24130,24253,24357,24451,14600,14612,14655,14669,24791,24893,23781,14729,25015,25017,25039,14776,25132,25232,25317,25368,14840,22193,14851,25570,25595,25607,25690,14923,25792,23829,22049,40863,14999,25990,15037,26111,26195,15090,26258,15138,26390,15170,26532,26624,15192,26698,26756,15218,15217,15227,26889,26947,29276,26980,27039,27013,15292,27094,15325,27237,27252,27249,27266,15340,27289,15346,27307,27317,27348,27382,27521,27585,27626,27765,27818,15563,27906,27910,27942,28033,15599,28068,28081,28181,28184,28201,28294,166336,28347,28386,28378,40831,28392,28393,28452,28468,15686,147265,28545,28606,15722,15733,29111,23705,15754,28716,15761,28752,28756,28783,28799,28809,131877,17345,13809,134872,147159,22462,159443,28990,153568,13902,27042,166889,23412,31305,153825,169177,31333,31357,154028,31419,31408,31426,31427,29137,156813,16842,31450,31453,31466,16879,21682,154625,31499,31573,31529,152334,154878,31650,31599,33692,154548,158847,31696,33825,31634,31672,154912,15789,154725,33938,31738,31750,31797,154817,31812,31875,149634,31910,26237,148856,31945,31943,31974,31860,31987,31989,31950,32359,17693,159300,32093,159446,29837,32137,32171,28981,32179,32210,147543,155689,32228,15635,32245,137209,32229,164717,32285,155937,155994,32366,32402,17195,37996,32295,32576,32577,32583,31030,156368,39393,32663,156497,32675,136801,131176,17756,145254,17667,164666,32762,156809,32773,32776,32797,32808,32815,172167,158915,32827,32828,32865,141076,18825,157222,146915,157416,26405,32935,166472,33031,33050,22704,141046,27775,156824,151480,25831,136330,33304,137310,27219,150117,150165,17530,33321,133901,158290,146814,20473,136445,34018,33634,158474,149927,144688,137075,146936,33450,26907,194964,16859,34123,33488,33562,134678,137140,14017,143741,144730,33403,33506,33560,147083,159139,158469,158615,144846,15807,33565,21996,33669,17675,159141,33708,33729,33747,13438,159444,27223,34138,13462,159298,143087,33880,154596,33905,15827,17636,27303,33866,146613,31064,33960,158614,159351,159299,34014,33807,33681,17568,33939,34020,154769,16960,154816,17731,34100,23282,159385,17703,34163,17686,26559,34326,165413,165435,34241,159880,34306,136578,159949,194994,17770,34344,13896,137378,21495,160666,34430,34673,172280,34798,142375,34737,34778,34831,22113,34412,26710,17935,34885,34886,161248,146873,161252,34910,34972,18011,34996,34997,25537,35013,30583,161551,35207,35210,35238,35241,35239,35260,166437,35303,162084,162493,35484,30611,37374,35472,162393,31465,162618,147343,18195,162616,29052,35596,35615,152624,152933,35647,35660,35661,35497,150138,35728,35739,35503,136927,17941,34895,35995,163156,163215,195028,14117,163155,36054,163224,163261,36114,36099,137488,36059,28764,36113,150729,16080,36215,36265,163842,135188,149898,15228,164284,160012,31463,36525,36534,36547,37588,36633,36653,164709,164882,36773,37635,172703,133712,36787,18730,166366,165181,146875,24312,143970,36857,172052,165564,165121,140069,14720,159447,36919,165180,162494,36961,165228,165387,37032,165651,37060,165606,37038,37117,37223,15088,37289,37316,31916,166195,138889,37390,27807,37441,37474,153017,37561,166598,146587,166668,153051,134449,37676,37739,166625,166891,28815,23235,166626,166629,18789,37444,166892,166969,166911,37747,37979,36540,38277,38310,37926,38304,28662,17081,140922,165592,135804,146990,18911,27676,38523,38550,16748,38563,159445,25050,38582,30965,166624,38589,21452,18849,158904,131700,156688,168111,168165,150225,137493,144138,38705,34370,38710,18959,17725,17797,150249,28789,23361,38683,38748,168405,38743,23370,168427,38751,37925,20688,143543,143548,38793,38815,38833,38846,38848,38866,38880,152684,38894,29724,169011,38911,38901,168989,162170,19153,38964,38963,38987,39014,15118,160117,15697,132656,147804,153350,39114,39095,39112,39111,19199,159015,136915,21936,39137,39142,39148,37752,39225,150057,19314,170071,170245,39413,39436,39483,39440,39512,153381,14020,168113,170965,39648,39650,170757,39668,19470,39700,39725,165376,20532,39732,158120,14531,143485,39760,39744,171326,23109,137315,39822,148043,39938,39935,39948,171624,40404,171959,172434,172459,172257,172323,172511,40318,40323,172340,40462,26760,40388,139611,172435,172576,137531,172595,40249,172217,172724,40592,40597,40606,40610,19764,40618,40623,148324,40641,15200,14821,15645,20274,14270,166955,40706,40712,19350,37924,159138,40727,40726,40761,22175,22154,40773,39352,168075,38898,33919,40802,40809,31452,40846,29206,19390,149877,149947,29047,150008,148296,150097,29598,166874,137466,31135,166270,167478,37737,37875,166468,37612,37761,37835,166252,148665,29207,16107,30578,31299,28880,148595,148472,29054,137199,28835,137406,144793,16071,137349,152623,137208,14114,136955,137273,14049,137076,137425,155467,14115,136896,22363,150053,136190,135848,136134,136374,34051,145062,34051,33877,149908,160101,146993,152924,147195,159826,17652,145134,170397,159526,26617,14131,15381,15847,22636,137506,26640,16471,145215,147681,147595,147727,158753,21707,22174,157361,22162,135135,134056,134669,37830,166675,37788,20216,20779,14361,148534,20156,132197,131967,20299,20362,153169,23144,131499,132043,14745,131850,132116,13365,20265,131776,167603,131701,35546,131596,20120,20685,20749,20386,20227,150030,147082,20290,20526,20588,20609,20428,20453,20568,20732,20825,20827,20829,20830,28278,144789,147001,147135,28018,137348,147081,20904,20931,132576,17629,132259,132242,132241,36218,166556,132878,21081,21156,133235,21217,37742,18042,29068,148364,134176,149932,135396,27089,134685,29817,16094,29849,29716,29782,29592,19342,150204,147597,21456,13700,29199,147657,21940,131909,21709,134086,22301,37469,38644,37734,22493,22413,22399,13886,22731,23193,166470,136954,137071,136976,23084,22968,37519,23166,23247,23058,153926,137715,137313,148117,14069,27909,29763,23073,155267,23169,166871,132115,37856,29836,135939,28933,18802,37896,166395,37821,14240,23582,23710,24158,24136,137622,137596,146158,24269,23375,137475,137476,14081,137376,14045,136958,14035,33066,166471,138682,144498,166312,24332,24334,137511,137131,23147,137019,23364,34324,161277,34912,24702,141408,140843,24539,16056,140719,140734,168072,159603,25024,131134,131142,140827,24985,24984,24693,142491,142599,149204,168269,25713,149093,142186,14889,142114,144464,170218,142968,25399,173147,25782,25393,25553,149987,142695,25252,142497,25659,25963,26994,15348,143502,144045,149897,144043,21773,144096,137433,169023,26318,144009,143795,15072,16784,152964,166690,152975,136956,152923,152613,30958,143619,137258,143924,13412,143887,143746,148169,26254,159012,26219,19347,26160,161904,138731,26211,144082,144097,26142,153714,14545,145466,145340,15257,145314,144382,29904,15254,26511,149034,26806,26654,15300,27326,14435,145365,148615,27187,27218,27337,27397,137490,25873,26776,27212,15319,27258,27479,147392,146586,37792,37618,166890,166603,37513,163870,166364,37991,28069,28427,149996,28007,147327,15759,28164,147516,23101,28170,22599,27940,30786,28987,148250,148086,28913,29264,29319,29332,149391,149285,20857,150180,132587,29818,147192,144991,150090,149783,155617,16134,16049,150239,166947,147253,24743,16115,29900,29756,37767,29751,17567,159210,17745,30083,16227,150745,150790,16216,30037,30323,173510,15129,29800,166604,149931,149902,15099,15821,150094,16127,149957,149747,37370,22322,37698,166627,137316,20703,152097,152039,30584,143922,30478,30479,30587,149143,145281,14942,149744,29752,29851,16063,150202,150215,16584,150166,156078,37639,152961,30750,30861,30856,30930,29648,31065,161601,153315,16654,31131,33942,31141,27181,147194,31290,31220,16750,136934,16690,37429,31217,134476,149900,131737,146874,137070,13719,21867,13680,13994,131540,134157,31458,23129,141045,154287,154268,23053,131675,30960,23082,154566,31486,16889,31837,31853,16913,154547,155324,155302,31949,150009,137136,31886,31868,31918,27314,32220,32263,32211,32590,156257,155996,162632,32151,155266,17002,158581,133398,26582,131150,144847,22468,156690,156664,149858,32733,31527,133164,154345,154947,31500,155150,39398,34373,39523,27164,144447,14818,150007,157101,39455,157088,33920,160039,158929,17642,33079,17410,32966,33033,33090,157620,39107,158274,33378,33381,158289,33875,159143,34320,160283,23174,16767,137280,23339,137377,23268,137432,34464,195004,146831,34861,160802,23042,34926,20293,34951,35007,35046,35173,35149,153219,35156,161669,161668,166901,166873,166812,166393,16045,33955,18165,18127,14322,35389,35356,169032,24397,37419,148100,26068,28969,28868,137285,40301,35999,36073,163292,22938,30659,23024,17262,14036,36394,36519,150537,36656,36682,17140,27736,28603,140065,18587,28537,28299,137178,39913,14005,149807,37051,37015,21873,18694,37307,37892,166475,16482,166652,37927,166941,166971,34021,35371,38297,38311,38295,38294,167220,29765,16066,149759,150082,148458,16103,143909,38543,167655,167526,167525,16076,149997,150136,147438,29714,29803,16124,38721,168112,26695,18973,168083,153567,38749,37736,166281,166950,166703,156606,37562,23313,35689,18748,29689,147995,38811,38769,39224,134950,24001,166853,150194,38943,169178,37622,169431,37349,17600,166736,150119,166756,39132,166469,16128,37418,18725,33812,39227,39245,162566,15869,39323,19311,39338,39516,166757,153800,27279,39457,23294,39471,170225,19344,170312,39356,19389,19351,37757,22642,135938,22562,149944,136424,30788,141087,146872,26821,15741,37976,14631,24912,141185,141675,24839,40015,40019,40059,39989,39952,39807,39887,171565,39839,172533,172286,40225,19630,147716,40472,19632,40204,172468,172269,172275,170287,40357,33981,159250,159711,158594,34300,17715,159140,159364,159216,33824,34286,159232,145367,155748,31202,144796,144960,18733,149982,15714,37851,37566,37704,131775,30905,37495,37965,20452,13376,36964,152925,30781,30804,30902,30795,137047,143817,149825,13978,20338,28634,28633,28702,28702,21524,147893,22459,22771,22410,40214,22487,28980,13487,147884,29163,158784,151447,23336,137141,166473,24844,23246,23051,17084,148616,14124,19323,166396,37819,37816,137430,134941,33906,158912,136211,148218,142374,148417,22932,146871,157505,32168,155995,155812,149945,149899,166394,37605,29666,16105,29876,166755,137375,16097,150195,27352,29683,29691,16086,150078,150164,137177,150118,132007,136228,149989,29768,149782,28837,149878,37508,29670,37727,132350,37681,166606,166422,37766,166887,153045,18741,166530,29035,149827,134399,22180,132634,134123,134328,21762,31172,137210,32254,136898,150096,137298,17710,37889,14090,166592,149933,22960,137407,137347,160900,23201,14050,146779,14e3,37471,23161,166529,137314,37748,15565,133812,19094,14730,20724,15721,15692,136092,29045,17147,164376,28175,168164,17643,27991,163407,28775,27823,15574,147437,146989,28162,28428,15727,132085,30033,14012,13512,18048,16090,18545,22980,37486,18750,36673,166940,158656,22546,22472,14038,136274,28926,148322,150129,143331,135856,140221,26809,26983,136088,144613,162804,145119,166531,145366,144378,150687,27162,145069,158903,33854,17631,17614,159014,159057,158850,159710,28439,160009,33597,137018,33773,158848,159827,137179,22921,23170,137139,23137,23153,137477,147964,14125,23023,137020,14023,29070,37776,26266,148133,23150,23083,148115,27179,147193,161590,148571,148170,28957,148057,166369,20400,159016,23746,148686,163405,148413,27148,148054,135940,28838,28979,148457,15781,27871,194597,150095,32357,23019,23855,15859,24412,150109,137183,32164,33830,21637,146170,144128,131604,22398,133333,132633,16357,139166,172726,28675,168283,23920,29583,31955,166489,168992,20424,32743,29389,29456,162548,29496,29497,153334,29505,29512,16041,162584,36972,29173,149746,29665,33270,16074,30476,16081,27810,22269,29721,29726,29727,16098,16112,16116,16122,29907,16142,16211,30018,30061,30066,30093,16252,30152,30172,16320,30285,16343,30324,16348,30330,151388,29064,22051,35200,22633,16413,30531,16441,26465,16453,13787,30616,16490,16495,23646,30654,30667,22770,30744,28857,30748,16552,30777,30791,30801,30822,33864,152885,31027,26627,31026,16643,16649,31121,31129,36795,31238,36796,16743,31377,16818,31420,33401,16836,31439,31451,16847,20001,31586,31596,31611,31762,31771,16992,17018,31867,31900,17036,31928,17044,31981,36755,28864,134351,32207,32212,32208,32253,32686,32692,29343,17303,32800,32805,31545,32814,32817,32852,15820,22452,28832,32951,33001,17389,33036,29482,33038,33042,30048,33044,17409,15161,33110,33113,33114,17427,22586,33148,33156,17445,33171,17453,33189,22511,33217,33252,33364,17551,33446,33398,33482,33496,33535,17584,33623,38505,27018,33797,28917,33892,24803,33928,17668,33982,34017,34040,34064,34104,34130,17723,34159,34160,34272,17783,34418,34450,34482,34543,38469,34699,17926,17943,34990,35071,35108,35143,35217,162151,35369,35384,35476,35508,35921,36052,36082,36124,18328,22623,36291,18413,20206,36410,21976,22356,36465,22005,36528,18487,36558,36578,36580,36589,36594,36791,36801,36810,36812,36915,39364,18605,39136,37395,18718,37416,37464,37483,37553,37550,37567,37603,37611,37619,37620,37629,37699,37764,37805,18757,18769,40639,37911,21249,37917,37933,37950,18794,37972,38009,38189,38306,18855,38388,38451,18917,26528,18980,38720,18997,38834,38850,22100,19172,24808,39097,19225,39153,22596,39182,39193,20916,39196,39223,39234,39261,39266,19312,39365,19357,39484,39695,31363,39785,39809,39901,39921,39924,19565,39968,14191,138178,40265,39994,40702,22096,40339,40381,40384,40444,38134,36790,40571,40620,40625,40637,40646,38108,40674,40689,40696,31432,40772,131220,131767,132e3,26906,38083,22956,132311,22592,38081,14265,132565,132629,132726,136890,22359,29043,133826,133837,134079,21610,194619,134091,21662,134139,134203,134227,134245,134268,24807,134285,22138,134325,134365,134381,134511,134578,134600,26965,39983,34725,134660,134670,134871,135056,134957,134771,23584,135100,24075,135260,135247,135286,26398,135291,135304,135318,13895,135359,135379,135471,135483,21348,33965,135907,136053,135990,35713,136567,136729,137155,137159,20088,28859,137261,137578,137773,137797,138282,138352,138412,138952,25283,138965,139029,29080,26709,139333,27113,14024,139900,140247,140282,141098,141425,141647,33533,141671,141715,142037,35237,142056,36768,142094,38840,142143,38983,39613,142412,null,142472,142519,154600,142600,142610,142775,142741,142914,143220,143308,143411,143462,144159,144350,24497,26184,26303,162425,144743,144883,29185,149946,30679,144922,145174,32391,131910,22709,26382,26904,146087,161367,155618,146961,147129,161278,139418,18640,19128,147737,166554,148206,148237,147515,148276,148374,150085,132554,20946,132625,22943,138920,15294,146687,148484,148694,22408,149108,14747,149295,165352,170441,14178,139715,35678,166734,39382,149522,149755,150037,29193,150208,134264,22885,151205,151430,132985,36570,151596,21135,22335,29041,152217,152601,147274,150183,21948,152646,152686,158546,37332,13427,152895,161330,152926,18200,152930,152934,153543,149823,153693,20582,13563,144332,24798,153859,18300,166216,154286,154505,154630,138640,22433,29009,28598,155906,162834,36950,156082,151450,35682,156674,156746,23899,158711,36662,156804,137500,35562,150006,156808,147439,156946,19392,157119,157365,141083,37989,153569,24981,23079,194765,20411,22201,148769,157436,20074,149812,38486,28047,158909,13848,35191,157593,157806,156689,157790,29151,157895,31554,168128,133649,157990,37124,158009,31301,40432,158202,39462,158253,13919,156777,131105,31107,158260,158555,23852,144665,33743,158621,18128,158884,30011,34917,159150,22710,14108,140685,159819,160205,15444,160384,160389,37505,139642,160395,37680,160486,149968,27705,38047,160848,134904,34855,35061,141606,164979,137137,28344,150058,137248,14756,14009,23568,31203,17727,26294,171181,170148,35139,161740,161880,22230,16607,136714,14753,145199,164072,136133,29101,33638,162269,168360,23143,19639,159919,166315,162301,162314,162571,163174,147834,31555,31102,163849,28597,172767,27139,164632,21410,159239,37823,26678,38749,164207,163875,158133,136173,143919,163912,23941,166960,163971,22293,38947,166217,23979,149896,26046,27093,21458,150181,147329,15377,26422,163984,164084,164142,139169,164175,164233,164271,164378,164614,164655,164746,13770,164968,165546,18682,25574,166230,30728,37461,166328,17394,166375,17375,166376,166726,166868,23032,166921,36619,167877,168172,31569,168208,168252,15863,168286,150218,36816,29327,22155,169191,169449,169392,169400,169778,170193,170313,170346,170435,170536,170766,171354,171419,32415,171768,171811,19620,38215,172691,29090,172799,19857,36882,173515,19868,134300,36798,21953,36794,140464,36793,150163,17673,32383,28502,27313,20202,13540,166700,161949,14138,36480,137205,163876,166764,166809,162366,157359,15851,161365,146615,153141,153942,20122,155265,156248,22207,134765,36366,23405,147080,150686,25566,25296,137206,137339,25904,22061,154698,21530,152337,15814,171416,19581,22050,22046,32585,155352,22901,146752,34672,19996,135146,134473,145082,33047,40286,36120,30267,40005,30286,30649,37701,21554,33096,33527,22053,33074,33816,32957,21994,31074,22083,21526,134813,13774,22021,22001,26353,164578,13869,30004,22e3,21946,21655,21874,134209,134294,24272,151880,134774,142434,134818,40619,32090,21982,135285,25245,38765,21652,36045,29174,37238,25596,25529,25598,21865,142147,40050,143027,20890,13535,134567,20903,21581,21790,21779,30310,36397,157834,30129,32950,34820,34694,35015,33206,33820,135361,17644,29444,149254,23440,33547,157843,22139,141044,163119,147875,163187,159440,160438,37232,135641,37384,146684,173737,134828,134905,29286,138402,18254,151490,163833,135147,16634,40029,25887,142752,18675,149472,171388,135148,134666,24674,161187,135149,null,155720,135559,29091,32398,40272,19994,19972,13687,23309,27826,21351,13996,14812,21373,13989,149016,22682,150382,33325,21579,22442,154261,133497,null,14930,140389,29556,171692,19721,39917,146686,171824,19547,151465,169374,171998,33884,146870,160434,157619,145184,25390,32037,147191,146988,14890,36872,21196,15988,13946,17897,132238,30272,23280,134838,30842,163630,22695,16575,22140,39819,23924,30292,173108,40581,19681,30201,14331,24857,143578,148466,null,22109,135849,22439,149859,171526,21044,159918,13741,27722,40316,31830,39737,22494,137068,23635,25811,169168,156469,160100,34477,134440,159010,150242,134513,null,20990,139023,23950,38659,138705,40577,36940,31519,39682,23761,31651,25192,25397,39679,31695,39722,31870,39726,31810,31878,39957,31740,39689,40727,39963,149822,40794,21875,23491,20477,40600,20466,21088,15878,21201,22375,20566,22967,24082,38856,40363,36700,21609,38836,39232,38842,21292,24880,26924,21466,39946,40194,19515,38465,27008,20646,30022,137069,39386,21107,null,37209,38529,37212,null,37201,167575,25471,159011,27338,22033,37262,30074,25221,132092,29519,31856,154657,146685,null,149785,30422,39837,20010,134356,33726,34882,null,23626,27072,20717,22394,21023,24053,20174,27697,131570,20281,21660,21722,21146,36226,13822,24332,13811,null,27474,37244,40869,39831,38958,39092,39610,40616,40580,29050,31508,null,27642,34840,32632,null,22048,173642,36471,40787,null,36308,36431,40476,36353,25218,164733,36392,36469,31443,150135,31294,30936,27882,35431,30215,166490,40742,27854,34774,30147,172722,30803,194624,36108,29410,29553,35629,29442,29937,36075,150203,34351,24506,34976,17591,null,137275,159237,null,35454,140571,null,24829,30311,39639,40260,37742,39823,34805,null,34831,36087,29484,38689,39856,13782,29362,19463,31825,39242,155993,24921,19460,40598,24957,null,22367,24943,25254,25145,25294,14940,25058,21418,144373,25444,26626,13778,23895,166850,36826,167481,null,20697,138566,30982,21298,38456,134971,16485,null,30718,null,31938,155418,31962,31277,32870,32867,32077,29957,29938,35220,33306,26380,32866,160902,32859,29936,33027,30500,35209,157644,30035,159441,34729,34766,33224,34700,35401,36013,35651,30507,29944,34010,13877,27058,36262,null,35241,29800,28089,34753,147473,29927,15835,29046,24740,24988,15569,29026,24695,null,32625,166701,29264,24809,19326,21024,15384,146631,155351,161366,152881,137540,135934,170243,159196,159917,23745,156077,166415,145015,131310,157766,151310,17762,23327,156492,40784,40614,156267,12288,65292,12289,12290,65294,8231,65307,65306,65311,65281,65072,8230,8229,65104,65105,65106,183,65108,65109,65110,65111,65372,8211,65073,8212,65075,9588,65076,65103,65288,65289,65077,65078,65371,65373,65079,65080,12308,12309,65081,65082,12304,12305,65083,65084,12298,12299,65085,65086,12296,12297,65087,65088,12300,12301,65089,65090,12302,12303,65091,65092,65113,65114,65115,65116,65117,65118,8216,8217,8220,8221,12317,12318,8245,8242,65283,65286,65290,8251,167,12291,9675,9679,9651,9650,9678,9734,9733,9671,9670,9633,9632,9661,9660,12963,8453,175,65507,65343,717,65097,65098,65101,65102,65099,65100,65119,65120,65121,65291,65293,215,247,177,8730,65308,65310,65309,8806,8807,8800,8734,8786,8801,65122,65123,65124,65125,65126,65374,8745,8746,8869,8736,8735,8895,13266,13265,8747,8750,8757,8756,9792,9794,8853,8857,8593,8595,8592,8594,8598,8599,8601,8600,8741,8739,65295,65340,8725,65128,65284,65509,12306,65504,65505,65285,65312,8451,8457,65129,65130,65131,13269,13212,13213,13214,13262,13217,13198,13199,13252,176,20825,20827,20830,20829,20833,20835,21991,29929,31950,9601,9602,9603,9604,9605,9606,9607,9608,9615,9614,9613,9612,9611,9610,9609,9532,9524,9516,9508,9500,9620,9472,9474,9621,9484,9488,9492,9496,9581,9582,9584,9583,9552,9566,9578,9569,9698,9699,9701,9700,9585,9586,9587,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,12321,12322,12323,12324,12325,12326,12327,12328,12329,21313,21316,21317,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,729,713,714,711,715,9216,9217,9218,9219,9220,9221,9222,9223,9224,9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240,9241,9242,9243,9244,9245,9246,9247,9249,8364,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19968,20057,19969,19971,20035,20061,20102,20108,20154,20799,20837,20843,20960,20992,20993,21147,21269,21313,21340,21448,19977,19979,19976,19978,20011,20024,20961,20037,20040,20063,20062,20110,20129,20800,20995,21242,21315,21449,21475,22303,22763,22805,22823,22899,23376,23377,23379,23544,23567,23586,23608,23665,24029,24037,24049,24050,24051,24062,24178,24318,24331,24339,25165,19985,19984,19981,20013,20016,20025,20043,23609,20104,20113,20117,20114,20116,20130,20161,20160,20163,20166,20167,20173,20170,20171,20164,20803,20801,20839,20845,20846,20844,20887,20982,20998,20999,21e3,21243,21246,21247,21270,21305,21320,21319,21317,21342,21380,21451,21450,21453,22764,22825,22827,22826,22829,23380,23569,23588,23610,23663,24052,24187,24319,24340,24341,24515,25096,25142,25163,25166,25903,25991,26007,26020,26041,26085,26352,26376,26408,27424,27490,27513,27595,27604,27611,27663,27700,28779,29226,29238,29243,29255,29273,29275,29356,29579,19993,19990,19989,19988,19992,20027,20045,20047,20046,20197,20184,20180,20181,20182,20183,20195,20196,20185,20190,20805,20804,20873,20874,20908,20985,20986,20984,21002,21152,21151,21253,21254,21271,21277,20191,21322,21321,21345,21344,21359,21358,21435,21487,21476,21491,21484,21486,21481,21480,21500,21496,21493,21483,21478,21482,21490,21489,21488,21477,21485,21499,22235,22234,22806,22830,22833,22900,22902,23381,23427,23612,24040,24039,24038,24066,24067,24179,24188,24321,24344,24343,24517,25098,25171,25172,25170,25169,26021,26086,26414,26412,26410,26411,26413,27491,27597,27665,27664,27704,27713,27712,27710,29359,29572,29577,29916,29926,29976,29983,29992,29993,3e4,30001,30002,30003,30091,30333,30382,30399,30446,30683,30690,30707,31034,31166,31348,31435,19998,19999,20050,20051,20073,20121,20132,20134,20133,20223,20233,20249,20234,20245,20237,20240,20241,20239,20210,20214,20219,20208,20211,20221,20225,20235,20809,20807,20806,20808,20840,20849,20877,20912,21015,21009,21010,21006,21014,21155,21256,21281,21280,21360,21361,21513,21519,21516,21514,21520,21505,21515,21508,21521,21517,21512,21507,21518,21510,21522,22240,22238,22237,22323,22320,22312,22317,22316,22319,22313,22809,22810,22839,22840,22916,22904,22915,22909,22905,22914,22913,23383,23384,23431,23432,23429,23433,23546,23574,23673,24030,24070,24182,24180,24335,24347,24537,24534,25102,25100,25101,25104,25187,25179,25176,25910,26089,26088,26092,26093,26354,26355,26377,26429,26420,26417,26421,27425,27492,27515,27670,27741,27735,27737,27743,27744,27728,27733,27745,27739,27725,27726,28784,29279,29277,30334,31481,31859,31992,32566,32650,32701,32769,32771,32780,32786,32819,32895,32905,32907,32908,33251,33258,33267,33276,33292,33307,33311,33390,33394,33406,34411,34880,34892,34915,35199,38433,20018,20136,20301,20303,20295,20311,20318,20276,20315,20309,20272,20304,20305,20285,20282,20280,20291,20308,20284,20294,20323,20316,20320,20271,20302,20278,20313,20317,20296,20314,20812,20811,20813,20853,20918,20919,21029,21028,21033,21034,21032,21163,21161,21162,21164,21283,21363,21365,21533,21549,21534,21566,21542,21582,21543,21574,21571,21555,21576,21570,21531,21545,21578,21561,21563,21560,21550,21557,21558,21536,21564,21568,21553,21547,21535,21548,22250,22256,22244,22251,22346,22353,22336,22349,22343,22350,22334,22352,22351,22331,22767,22846,22941,22930,22952,22942,22947,22937,22934,22925,22948,22931,22922,22949,23389,23388,23386,23387,23436,23435,23439,23596,23616,23617,23615,23614,23696,23697,23700,23692,24043,24076,24207,24199,24202,24311,24324,24351,24420,24418,24439,24441,24536,24524,24535,24525,24561,24555,24568,24554,25106,25105,25220,25239,25238,25216,25206,25225,25197,25226,25212,25214,25209,25203,25234,25199,25240,25198,25237,25235,25233,25222,25913,25915,25912,26097,26356,26463,26446,26447,26448,26449,26460,26454,26462,26441,26438,26464,26451,26455,27493,27599,27714,27742,27801,27777,27784,27785,27781,27803,27754,27770,27792,27760,27788,27752,27798,27794,27773,27779,27762,27774,27764,27782,27766,27789,27796,27800,27778,28790,28796,28797,28792,29282,29281,29280,29380,29378,29590,29996,29995,30007,30008,30338,30447,30691,31169,31168,31167,31350,31995,32597,32918,32915,32925,32920,32923,32922,32946,33391,33426,33419,33421,35211,35282,35328,35895,35910,35925,35997,36196,36208,36275,36523,36554,36763,36784,36802,36806,36805,36804,24033,37009,37026,37034,37030,37027,37193,37318,37324,38450,38446,38449,38442,38444,20006,20054,20083,20107,20123,20126,20139,20140,20335,20381,20365,20339,20351,20332,20379,20363,20358,20355,20336,20341,20360,20329,20347,20374,20350,20367,20369,20346,20820,20818,20821,20841,20855,20854,20856,20925,20989,21051,21048,21047,21050,21040,21038,21046,21057,21182,21179,21330,21332,21331,21329,21350,21367,21368,21369,21462,21460,21463,21619,21621,21654,21624,21653,21632,21627,21623,21636,21650,21638,21628,21648,21617,21622,21644,21658,21602,21608,21643,21629,21646,22266,22403,22391,22378,22377,22369,22374,22372,22396,22812,22857,22855,22856,22852,22868,22974,22971,22996,22969,22958,22993,22982,22992,22989,22987,22995,22986,22959,22963,22994,22981,23391,23396,23395,23447,23450,23448,23452,23449,23451,23578,23624,23621,23622,23735,23713,23736,23721,23723,23729,23731,24088,24090,24086,24085,24091,24081,24184,24218,24215,24220,24213,24214,24310,24358,24359,24361,24448,24449,24447,24444,24541,24544,24573,24565,24575,24591,24596,24623,24629,24598,24618,24597,24609,24615,24617,24619,24603,25110,25109,25151,25150,25152,25215,25289,25292,25284,25279,25282,25273,25298,25307,25259,25299,25300,25291,25288,25256,25277,25276,25296,25305,25287,25293,25269,25306,25265,25304,25302,25303,25286,25260,25294,25918,26023,26044,26106,26132,26131,26124,26118,26114,26126,26112,26127,26133,26122,26119,26381,26379,26477,26507,26517,26481,26524,26483,26487,26503,26525,26519,26479,26480,26495,26505,26494,26512,26485,26522,26515,26492,26474,26482,27427,27494,27495,27519,27667,27675,27875,27880,27891,27825,27852,27877,27827,27837,27838,27836,27874,27819,27861,27859,27832,27844,27833,27841,27822,27863,27845,27889,27839,27835,27873,27867,27850,27820,27887,27868,27862,27872,28821,28814,28818,28810,28825,29228,29229,29240,29256,29287,29289,29376,29390,29401,29399,29392,29609,29608,29599,29611,29605,30013,30109,30105,30106,30340,30402,30450,30452,30693,30717,31038,31040,31041,31177,31176,31354,31353,31482,31998,32596,32652,32651,32773,32954,32933,32930,32945,32929,32939,32937,32948,32938,32943,33253,33278,33293,33459,33437,33433,33453,33469,33439,33465,33457,33452,33445,33455,33464,33443,33456,33470,33463,34382,34417,21021,34920,36555,36814,36820,36817,37045,37048,37041,37046,37319,37329,38263,38272,38428,38464,38463,38459,38468,38466,38585,38632,38738,38750,20127,20141,20142,20449,20405,20399,20415,20448,20433,20431,20445,20419,20406,20440,20447,20426,20439,20398,20432,20420,20418,20442,20430,20446,20407,20823,20882,20881,20896,21070,21059,21066,21069,21068,21067,21063,21191,21193,21187,21185,21261,21335,21371,21402,21467,21676,21696,21672,21710,21705,21688,21670,21683,21703,21698,21693,21674,21697,21700,21704,21679,21675,21681,21691,21673,21671,21695,22271,22402,22411,22432,22435,22434,22478,22446,22419,22869,22865,22863,22862,22864,23004,23e3,23039,23011,23016,23043,23013,23018,23002,23014,23041,23035,23401,23459,23462,23460,23458,23461,23553,23630,23631,23629,23627,23769,23762,24055,24093,24101,24095,24189,24224,24230,24314,24328,24365,24421,24456,24453,24458,24459,24455,24460,24457,24594,24605,24608,24613,24590,24616,24653,24688,24680,24674,24646,24643,24684,24683,24682,24676,25153,25308,25366,25353,25340,25325,25345,25326,25341,25351,25329,25335,25327,25324,25342,25332,25361,25346,25919,25925,26027,26045,26082,26149,26157,26144,26151,26159,26143,26152,26161,26148,26359,26623,26579,26609,26580,26576,26604,26550,26543,26613,26601,26607,26564,26577,26548,26586,26597,26552,26575,26590,26611,26544,26585,26594,26589,26578,27498,27523,27526,27573,27602,27607,27679,27849,27915,27954,27946,27969,27941,27916,27953,27934,27927,27963,27965,27966,27958,27931,27893,27961,27943,27960,27945,27950,27957,27918,27947,28843,28858,28851,28844,28847,28845,28856,28846,28836,29232,29298,29295,29300,29417,29408,29409,29623,29642,29627,29618,29645,29632,29619,29978,29997,30031,30028,30030,30027,30123,30116,30117,30114,30115,30328,30342,30343,30344,30408,30406,30403,30405,30465,30457,30456,30473,30475,30462,30460,30471,30684,30722,30740,30732,30733,31046,31049,31048,31047,31161,31162,31185,31186,31179,31359,31361,31487,31485,31869,32002,32005,32e3,32009,32007,32004,32006,32568,32654,32703,32772,32784,32781,32785,32822,32982,32997,32986,32963,32964,32972,32993,32987,32974,32990,32996,32989,33268,33314,33511,33539,33541,33507,33499,33510,33540,33509,33538,33545,33490,33495,33521,33537,33500,33492,33489,33502,33491,33503,33519,33542,34384,34425,34427,34426,34893,34923,35201,35284,35336,35330,35331,35998,36e3,36212,36211,36276,36557,36556,36848,36838,36834,36842,36837,36845,36843,36836,36840,37066,37070,37057,37059,37195,37194,37325,38274,38480,38475,38476,38477,38754,38761,38859,38893,38899,38913,39080,39131,39135,39318,39321,20056,20147,20492,20493,20515,20463,20518,20517,20472,20521,20502,20486,20540,20511,20506,20498,20497,20474,20480,20500,20520,20465,20513,20491,20505,20504,20467,20462,20525,20522,20478,20523,20489,20860,20900,20901,20898,20941,20940,20934,20939,21078,21084,21076,21083,21085,21290,21375,21407,21405,21471,21736,21776,21761,21815,21756,21733,21746,21766,21754,21780,21737,21741,21729,21769,21742,21738,21734,21799,21767,21757,21775,22275,22276,22466,22484,22475,22467,22537,22799,22871,22872,22874,23057,23064,23068,23071,23067,23059,23020,23072,23075,23081,23077,23052,23049,23403,23640,23472,23475,23478,23476,23470,23477,23481,23480,23556,23633,23637,23632,23789,23805,23803,23786,23784,23792,23798,23809,23796,24046,24109,24107,24235,24237,24231,24369,24466,24465,24464,24665,24675,24677,24656,24661,24685,24681,24687,24708,24735,24730,24717,24724,24716,24709,24726,25159,25331,25352,25343,25422,25406,25391,25429,25410,25414,25423,25417,25402,25424,25405,25386,25387,25384,25421,25420,25928,25929,26009,26049,26053,26178,26185,26191,26179,26194,26188,26181,26177,26360,26388,26389,26391,26657,26680,26696,26694,26707,26681,26690,26708,26665,26803,26647,26700,26705,26685,26612,26704,26688,26684,26691,26666,26693,26643,26648,26689,27530,27529,27575,27683,27687,27688,27686,27684,27888,28010,28053,28040,28039,28006,28024,28023,27993,28051,28012,28041,28014,27994,28020,28009,28044,28042,28025,28037,28005,28052,28874,28888,28900,28889,28872,28879,29241,29305,29436,29433,29437,29432,29431,29574,29677,29705,29678,29664,29674,29662,30036,30045,30044,30042,30041,30142,30149,30151,30130,30131,30141,30140,30137,30146,30136,30347,30384,30410,30413,30414,30505,30495,30496,30504,30697,30768,30759,30776,30749,30772,30775,30757,30765,30752,30751,30770,31061,31056,31072,31071,31062,31070,31069,31063,31066,31204,31203,31207,31199,31206,31209,31192,31364,31368,31449,31494,31505,31881,32033,32023,32011,32010,32032,32034,32020,32016,32021,32026,32028,32013,32025,32027,32570,32607,32660,32709,32705,32774,32792,32789,32793,32791,32829,32831,33009,33026,33008,33029,33005,33012,33030,33016,33011,33032,33021,33034,33020,33007,33261,33260,33280,33296,33322,33323,33320,33324,33467,33579,33618,33620,33610,33592,33616,33609,33589,33588,33615,33586,33593,33590,33559,33600,33585,33576,33603,34388,34442,34474,34451,34468,34473,34444,34467,34460,34928,34935,34945,34946,34941,34937,35352,35344,35342,35340,35349,35338,35351,35347,35350,35343,35345,35912,35962,35961,36001,36002,36215,36524,36562,36564,36559,36785,36865,36870,36855,36864,36858,36852,36867,36861,36869,36856,37013,37089,37085,37090,37202,37197,37196,37336,37341,37335,37340,37337,38275,38498,38499,38497,38491,38493,38500,38488,38494,38587,39138,39340,39592,39640,39717,39730,39740,20094,20602,20605,20572,20551,20547,20556,20570,20553,20581,20598,20558,20565,20597,20596,20599,20559,20495,20591,20589,20828,20885,20976,21098,21103,21202,21209,21208,21205,21264,21263,21273,21311,21312,21310,21443,26364,21830,21866,21862,21828,21854,21857,21827,21834,21809,21846,21839,21845,21807,21860,21816,21806,21852,21804,21859,21811,21825,21847,22280,22283,22281,22495,22533,22538,22534,22496,22500,22522,22530,22581,22519,22521,22816,22882,23094,23105,23113,23142,23146,23104,23100,23138,23130,23110,23114,23408,23495,23493,23492,23490,23487,23494,23561,23560,23559,23648,23644,23645,23815,23814,23822,23835,23830,23842,23825,23849,23828,23833,23844,23847,23831,24034,24120,24118,24115,24119,24247,24248,24246,24245,24254,24373,24375,24407,24428,24425,24427,24471,24473,24478,24472,24481,24480,24476,24703,24739,24713,24736,24744,24779,24756,24806,24765,24773,24763,24757,24796,24764,24792,24789,24774,24799,24760,24794,24775,25114,25115,25160,25504,25511,25458,25494,25506,25509,25463,25447,25496,25514,25457,25513,25481,25475,25499,25451,25512,25476,25480,25497,25505,25516,25490,25487,25472,25467,25449,25448,25466,25949,25942,25937,25945,25943,21855,25935,25944,25941,25940,26012,26011,26028,26063,26059,26060,26062,26205,26202,26212,26216,26214,26206,26361,21207,26395,26753,26799,26786,26771,26805,26751,26742,26801,26791,26775,26800,26755,26820,26797,26758,26757,26772,26781,26792,26783,26785,26754,27442,27578,27627,27628,27691,28046,28092,28147,28121,28082,28129,28108,28132,28155,28154,28165,28103,28107,28079,28113,28078,28126,28153,28088,28151,28149,28101,28114,28186,28085,28122,28139,28120,28138,28145,28142,28136,28102,28100,28074,28140,28095,28134,28921,28937,28938,28925,28911,29245,29309,29313,29468,29467,29462,29459,29465,29575,29701,29706,29699,29702,29694,29709,29920,29942,29943,29980,29986,30053,30054,30050,30064,30095,30164,30165,30133,30154,30157,30350,30420,30418,30427,30519,30526,30524,30518,30520,30522,30827,30787,30798,31077,31080,31085,31227,31378,31381,31520,31528,31515,31532,31526,31513,31518,31534,31890,31895,31893,32070,32067,32113,32046,32057,32060,32064,32048,32051,32068,32047,32066,32050,32049,32573,32670,32666,32716,32718,32722,32796,32842,32838,33071,33046,33059,33067,33065,33072,33060,33282,33333,33335,33334,33337,33678,33694,33688,33656,33698,33686,33725,33707,33682,33674,33683,33673,33696,33655,33659,33660,33670,33703,34389,24426,34503,34496,34486,34500,34485,34502,34507,34481,34479,34505,34899,34974,34952,34987,34962,34966,34957,34955,35219,35215,35370,35357,35363,35365,35377,35373,35359,35355,35362,35913,35930,36009,36012,36011,36008,36010,36007,36199,36198,36286,36282,36571,36575,36889,36877,36890,36887,36899,36895,36893,36880,36885,36894,36896,36879,36898,36886,36891,36884,37096,37101,37117,37207,37326,37365,37350,37347,37351,37357,37353,38281,38506,38517,38515,38520,38512,38516,38518,38519,38508,38592,38634,38633,31456,31455,38914,38915,39770,40165,40565,40575,40613,40635,20642,20621,20613,20633,20625,20608,20630,20632,20634,26368,20977,21106,21108,21109,21097,21214,21213,21211,21338,21413,21883,21888,21927,21884,21898,21917,21912,21890,21916,21930,21908,21895,21899,21891,21939,21934,21919,21822,21938,21914,21947,21932,21937,21886,21897,21931,21913,22285,22575,22570,22580,22564,22576,22577,22561,22557,22560,22777,22778,22880,23159,23194,23167,23186,23195,23207,23411,23409,23506,23500,23507,23504,23562,23563,23601,23884,23888,23860,23879,24061,24133,24125,24128,24131,24190,24266,24257,24258,24260,24380,24429,24489,24490,24488,24785,24801,24754,24758,24800,24860,24867,24826,24853,24816,24827,24820,24936,24817,24846,24822,24841,24832,24850,25119,25161,25507,25484,25551,25536,25577,25545,25542,25549,25554,25571,25552,25569,25558,25581,25582,25462,25588,25578,25563,25682,25562,25593,25950,25958,25954,25955,26001,26e3,26031,26222,26224,26228,26230,26223,26257,26234,26238,26231,26366,26367,26399,26397,26874,26837,26848,26840,26839,26885,26847,26869,26862,26855,26873,26834,26866,26851,26827,26829,26893,26898,26894,26825,26842,26990,26875,27454,27450,27453,27544,27542,27580,27631,27694,27695,27692,28207,28216,28244,28193,28210,28263,28234,28192,28197,28195,28187,28251,28248,28196,28246,28270,28205,28198,28271,28212,28237,28218,28204,28227,28189,28222,28363,28297,28185,28238,28259,28228,28274,28265,28255,28953,28954,28966,28976,28961,28982,29038,28956,29260,29316,29312,29494,29477,29492,29481,29754,29738,29747,29730,29733,29749,29750,29748,29743,29723,29734,29736,29989,29990,30059,30058,30178,30171,30179,30169,30168,30174,30176,30331,30332,30358,30355,30388,30428,30543,30701,30813,30828,30831,31245,31240,31243,31237,31232,31384,31383,31382,31461,31459,31561,31574,31558,31568,31570,31572,31565,31563,31567,31569,31903,31909,32094,32080,32104,32085,32043,32110,32114,32097,32102,32098,32112,32115,21892,32724,32725,32779,32850,32901,33109,33108,33099,33105,33102,33081,33094,33086,33100,33107,33140,33298,33308,33769,33795,33784,33805,33760,33733,33803,33729,33775,33777,33780,33879,33802,33776,33804,33740,33789,33778,33738,33848,33806,33796,33756,33799,33748,33759,34395,34527,34521,34541,34516,34523,34532,34512,34526,34903,35009,35010,34993,35203,35222,35387,35424,35413,35422,35388,35393,35412,35419,35408,35398,35380,35386,35382,35414,35937,35970,36015,36028,36019,36029,36033,36027,36032,36020,36023,36022,36031,36024,36234,36229,36225,36302,36317,36299,36314,36305,36300,36315,36294,36603,36600,36604,36764,36910,36917,36913,36920,36914,36918,37122,37109,37129,37118,37219,37221,37327,37396,37397,37411,37385,37406,37389,37392,37383,37393,38292,38287,38283,38289,38291,38290,38286,38538,38542,38539,38525,38533,38534,38541,38514,38532,38593,38597,38596,38598,38599,38639,38642,38860,38917,38918,38920,39143,39146,39151,39145,39154,39149,39342,39341,40643,40653,40657,20098,20653,20661,20658,20659,20677,20670,20652,20663,20667,20655,20679,21119,21111,21117,21215,21222,21220,21218,21219,21295,21983,21992,21971,21990,21966,21980,21959,21969,21987,21988,21999,21978,21985,21957,21958,21989,21961,22290,22291,22622,22609,22616,22615,22618,22612,22635,22604,22637,22602,22626,22610,22603,22887,23233,23241,23244,23230,23229,23228,23219,23234,23218,23913,23919,24140,24185,24265,24264,24338,24409,24492,24494,24858,24847,24904,24863,24819,24859,24825,24833,24840,24910,24908,24900,24909,24894,24884,24871,24845,24838,24887,25121,25122,25619,25662,25630,25642,25645,25661,25644,25615,25628,25620,25613,25654,25622,25623,25606,25964,26015,26032,26263,26249,26247,26248,26262,26244,26264,26253,26371,27028,26989,26970,26999,26976,26964,26997,26928,27010,26954,26984,26987,26974,26963,27001,27014,26973,26979,26971,27463,27506,27584,27583,27603,27645,28322,28335,28371,28342,28354,28304,28317,28359,28357,28325,28312,28348,28346,28331,28369,28310,28316,28356,28372,28330,28327,28340,29006,29017,29033,29028,29001,29031,29020,29036,29030,29004,29029,29022,28998,29032,29014,29242,29266,29495,29509,29503,29502,29807,29786,29781,29791,29790,29761,29759,29785,29787,29788,30070,30072,30208,30192,30209,30194,30193,30202,30207,30196,30195,30430,30431,30555,30571,30566,30558,30563,30585,30570,30572,30556,30565,30568,30562,30702,30862,30896,30871,30872,30860,30857,30844,30865,30867,30847,31098,31103,31105,33836,31165,31260,31258,31264,31252,31263,31262,31391,31392,31607,31680,31584,31598,31591,31921,31923,31925,32147,32121,32145,32129,32143,32091,32622,32617,32618,32626,32681,32680,32676,32854,32856,32902,32900,33137,33136,33144,33125,33134,33139,33131,33145,33146,33126,33285,33351,33922,33911,33853,33841,33909,33894,33899,33865,33900,33883,33852,33845,33889,33891,33897,33901,33862,34398,34396,34399,34553,34579,34568,34567,34560,34558,34555,34562,34563,34566,34570,34905,35039,35028,35033,35036,35032,35037,35041,35018,35029,35026,35228,35299,35435,35442,35443,35430,35433,35440,35463,35452,35427,35488,35441,35461,35437,35426,35438,35436,35449,35451,35390,35432,35938,35978,35977,36042,36039,36040,36036,36018,36035,36034,36037,36321,36319,36328,36335,36339,36346,36330,36324,36326,36530,36611,36617,36606,36618,36767,36786,36939,36938,36947,36930,36948,36924,36949,36944,36935,36943,36942,36941,36945,36926,36929,37138,37143,37228,37226,37225,37321,37431,37463,37432,37437,37440,37438,37467,37451,37476,37457,37428,37449,37453,37445,37433,37439,37466,38296,38552,38548,38549,38605,38603,38601,38602,38647,38651,38649,38646,38742,38772,38774,38928,38929,38931,38922,38930,38924,39164,39156,39165,39166,39347,39345,39348,39649,40169,40578,40718,40723,40736,20711,20718,20709,20694,20717,20698,20693,20687,20689,20721,20686,20713,20834,20979,21123,21122,21297,21421,22014,22016,22043,22039,22013,22036,22022,22025,22029,22030,22007,22038,22047,22024,22032,22006,22296,22294,22645,22654,22659,22675,22666,22649,22661,22653,22781,22821,22818,22820,22890,22889,23265,23270,23273,23255,23254,23256,23267,23413,23518,23527,23521,23525,23526,23528,23522,23524,23519,23565,23650,23940,23943,24155,24163,24149,24151,24148,24275,24278,24330,24390,24432,24505,24903,24895,24907,24951,24930,24931,24927,24922,24920,24949,25130,25735,25688,25684,25764,25720,25695,25722,25681,25703,25652,25709,25723,25970,26017,26071,26070,26274,26280,26269,27036,27048,27029,27073,27054,27091,27083,27035,27063,27067,27051,27060,27088,27085,27053,27084,27046,27075,27043,27465,27468,27699,28467,28436,28414,28435,28404,28457,28478,28448,28460,28431,28418,28450,28415,28399,28422,28465,28472,28466,28451,28437,28459,28463,28552,28458,28396,28417,28402,28364,28407,29076,29081,29053,29066,29060,29074,29246,29330,29334,29508,29520,29796,29795,29802,29808,29805,29956,30097,30247,30221,30219,30217,30227,30433,30435,30596,30589,30591,30561,30913,30879,30887,30899,30889,30883,31118,31119,31117,31278,31281,31402,31401,31469,31471,31649,31637,31627,31605,31639,31645,31636,31631,31672,31623,31620,31929,31933,31934,32187,32176,32156,32189,32190,32160,32202,32180,32178,32177,32186,32162,32191,32181,32184,32173,32210,32199,32172,32624,32736,32737,32735,32862,32858,32903,33104,33152,33167,33160,33162,33151,33154,33255,33274,33287,33300,33310,33355,33993,33983,33990,33988,33945,33950,33970,33948,33995,33976,33984,34003,33936,33980,34001,33994,34623,34588,34619,34594,34597,34612,34584,34645,34615,34601,35059,35074,35060,35065,35064,35069,35048,35098,35055,35494,35468,35486,35491,35469,35489,35475,35492,35498,35493,35496,35480,35473,35482,35495,35946,35981,35980,36051,36049,36050,36203,36249,36245,36348,36628,36626,36629,36627,36771,36960,36952,36956,36963,36953,36958,36962,36957,36955,37145,37144,37150,37237,37240,37239,37236,37496,37504,37509,37528,37526,37499,37523,37532,37544,37500,37521,38305,38312,38313,38307,38309,38308,38553,38556,38555,38604,38610,38656,38780,38789,38902,38935,38936,39087,39089,39171,39173,39180,39177,39361,39599,39600,39654,39745,39746,40180,40182,40179,40636,40763,40778,20740,20736,20731,20725,20729,20738,20744,20745,20741,20956,21127,21128,21129,21133,21130,21232,21426,22062,22075,22073,22066,22079,22068,22057,22099,22094,22103,22132,22070,22063,22064,22656,22687,22686,22707,22684,22702,22697,22694,22893,23305,23291,23307,23285,23308,23304,23534,23532,23529,23531,23652,23653,23965,23956,24162,24159,24161,24290,24282,24287,24285,24291,24288,24392,24433,24503,24501,24950,24935,24942,24925,24917,24962,24956,24944,24939,24958,24999,24976,25003,24974,25004,24986,24996,24980,25006,25134,25705,25711,25721,25758,25778,25736,25744,25776,25765,25747,25749,25769,25746,25774,25773,25771,25754,25772,25753,25762,25779,25973,25975,25976,26286,26283,26292,26289,27171,27167,27112,27137,27166,27161,27133,27169,27155,27146,27123,27138,27141,27117,27153,27472,27470,27556,27589,27590,28479,28540,28548,28497,28518,28500,28550,28525,28507,28536,28526,28558,28538,28528,28516,28567,28504,28373,28527,28512,28511,29087,29100,29105,29096,29270,29339,29518,29527,29801,29835,29827,29822,29824,30079,30240,30249,30239,30244,30246,30241,30242,30362,30394,30436,30606,30599,30604,30609,30603,30923,30917,30906,30922,30910,30933,30908,30928,31295,31292,31296,31293,31287,31291,31407,31406,31661,31665,31684,31668,31686,31687,31681,31648,31692,31946,32224,32244,32239,32251,32216,32236,32221,32232,32227,32218,32222,32233,32158,32217,32242,32249,32629,32631,32687,32745,32806,33179,33180,33181,33184,33178,33176,34071,34109,34074,34030,34092,34093,34067,34065,34083,34081,34068,34028,34085,34047,34054,34690,34676,34678,34656,34662,34680,34664,34649,34647,34636,34643,34907,34909,35088,35079,35090,35091,35093,35082,35516,35538,35527,35524,35477,35531,35576,35506,35529,35522,35519,35504,35542,35533,35510,35513,35547,35916,35918,35948,36064,36062,36070,36068,36076,36077,36066,36067,36060,36074,36065,36205,36255,36259,36395,36368,36381,36386,36367,36393,36383,36385,36382,36538,36637,36635,36639,36649,36646,36650,36636,36638,36645,36969,36974,36968,36973,36983,37168,37165,37159,37169,37255,37257,37259,37251,37573,37563,37559,37610,37548,37604,37569,37555,37564,37586,37575,37616,37554,38317,38321,38660,38662,38663,38665,38752,38797,38795,38799,38945,38955,38940,39091,39178,39187,39186,39192,39389,39376,39391,39387,39377,39381,39378,39385,39607,39662,39663,39719,39749,39748,39799,39791,40198,40201,40195,40617,40638,40654,22696,40786,20754,20760,20756,20752,20757,20864,20906,20957,21137,21139,21235,22105,22123,22137,22121,22116,22136,22122,22120,22117,22129,22127,22124,22114,22134,22721,22718,22727,22725,22894,23325,23348,23416,23536,23566,24394,25010,24977,25001,24970,25037,25014,25022,25034,25032,25136,25797,25793,25803,25787,25788,25818,25796,25799,25794,25805,25791,25810,25812,25790,25972,26310,26313,26297,26308,26311,26296,27197,27192,27194,27225,27243,27224,27193,27204,27234,27233,27211,27207,27189,27231,27208,27481,27511,27653,28610,28593,28577,28611,28580,28609,28583,28595,28608,28601,28598,28582,28576,28596,29118,29129,29136,29138,29128,29141,29113,29134,29145,29148,29123,29124,29544,29852,29859,29848,29855,29854,29922,29964,29965,30260,30264,30266,30439,30437,30624,30622,30623,30629,30952,30938,30956,30951,31142,31309,31310,31302,31308,31307,31418,31705,31761,31689,31716,31707,31713,31721,31718,31957,31958,32266,32273,32264,32283,32291,32286,32285,32265,32272,32633,32690,32752,32753,32750,32808,33203,33193,33192,33275,33288,33368,33369,34122,34137,34120,34152,34153,34115,34121,34157,34154,34142,34691,34719,34718,34722,34701,34913,35114,35122,35109,35115,35105,35242,35238,35558,35578,35563,35569,35584,35548,35559,35566,35582,35585,35586,35575,35565,35571,35574,35580,35947,35949,35987,36084,36420,36401,36404,36418,36409,36405,36667,36655,36664,36659,36776,36774,36981,36980,36984,36978,36988,36986,37172,37266,37664,37686,37624,37683,37679,37666,37628,37675,37636,37658,37648,37670,37665,37653,37678,37657,38331,38567,38568,38570,38613,38670,38673,38678,38669,38675,38671,38747,38748,38758,38808,38960,38968,38971,38967,38957,38969,38948,39184,39208,39198,39195,39201,39194,39405,39394,39409,39608,39612,39675,39661,39720,39825,40213,40227,40230,40232,40210,40219,40664,40660,40845,40860,20778,20767,20769,20786,21237,22158,22144,22160,22149,22151,22159,22741,22739,22737,22734,23344,23338,23332,23418,23607,23656,23996,23994,23997,23992,24171,24396,24509,25033,25026,25031,25062,25035,25138,25140,25806,25802,25816,25824,25840,25830,25836,25841,25826,25837,25986,25987,26329,26326,27264,27284,27268,27298,27292,27355,27299,27262,27287,27280,27296,27484,27566,27610,27656,28632,28657,28639,28640,28635,28644,28651,28655,28544,28652,28641,28649,28629,28654,28656,29159,29151,29166,29158,29157,29165,29164,29172,29152,29237,29254,29552,29554,29865,29872,29862,29864,30278,30274,30284,30442,30643,30634,30640,30636,30631,30637,30703,30967,30970,30964,30959,30977,31143,31146,31319,31423,31751,31757,31742,31735,31756,31712,31968,31964,31966,31970,31967,31961,31965,32302,32318,32326,32311,32306,32323,32299,32317,32305,32325,32321,32308,32313,32328,32309,32319,32303,32580,32755,32764,32881,32882,32880,32879,32883,33222,33219,33210,33218,33216,33215,33213,33225,33214,33256,33289,33393,34218,34180,34174,34204,34193,34196,34223,34203,34183,34216,34186,34407,34752,34769,34739,34770,34758,34731,34747,34746,34760,34763,35131,35126,35140,35128,35133,35244,35598,35607,35609,35611,35594,35616,35613,35588,35600,35905,35903,35955,36090,36093,36092,36088,36091,36264,36425,36427,36424,36426,36676,36670,36674,36677,36671,36991,36989,36996,36993,36994,36992,37177,37283,37278,37276,37709,37762,37672,37749,37706,37733,37707,37656,37758,37740,37723,37744,37722,37716,38346,38347,38348,38344,38342,38577,38584,38614,38684,38686,38816,38867,38982,39094,39221,39425,39423,39854,39851,39850,39853,40251,40255,40587,40655,40670,40668,40669,40667,40766,40779,21474,22165,22190,22745,22744,23352,24413,25059,25139,25844,25842,25854,25862,25850,25851,25847,26039,26332,26406,27315,27308,27331,27323,27320,27330,27310,27311,27487,27512,27567,28681,28683,28670,28678,28666,28689,28687,29179,29180,29182,29176,29559,29557,29863,29887,29973,30294,30296,30290,30653,30655,30651,30652,30990,31150,31329,31330,31328,31428,31429,31787,31783,31786,31774,31779,31777,31975,32340,32341,32350,32346,32353,32338,32345,32584,32761,32763,32887,32886,33229,33231,33290,34255,34217,34253,34256,34249,34224,34234,34233,34214,34799,34796,34802,34784,35206,35250,35316,35624,35641,35628,35627,35920,36101,36441,36451,36454,36452,36447,36437,36544,36681,36685,36999,36995,37e3,37291,37292,37328,37780,37770,37782,37794,37811,37806,37804,37808,37784,37786,37783,38356,38358,38352,38357,38626,38620,38617,38619,38622,38692,38819,38822,38829,38905,38989,38991,38988,38990,38995,39098,39230,39231,39229,39214,39333,39438,39617,39683,39686,39759,39758,39757,39882,39881,39933,39880,39872,40273,40285,40288,40672,40725,40748,20787,22181,22750,22751,22754,23541,40848,24300,25074,25079,25078,25077,25856,25871,26336,26333,27365,27357,27354,27347,28699,28703,28712,28698,28701,28693,28696,29190,29197,29272,29346,29560,29562,29885,29898,29923,30087,30086,30303,30305,30663,31001,31153,31339,31337,31806,31807,31800,31805,31799,31808,32363,32365,32377,32361,32362,32645,32371,32694,32697,32696,33240,34281,34269,34282,34261,34276,34277,34295,34811,34821,34829,34809,34814,35168,35167,35158,35166,35649,35676,35672,35657,35674,35662,35663,35654,35673,36104,36106,36476,36466,36487,36470,36460,36474,36468,36692,36686,36781,37002,37003,37297,37294,37857,37841,37855,37827,37832,37852,37853,37846,37858,37837,37848,37860,37847,37864,38364,38580,38627,38698,38695,38753,38876,38907,39006,39e3,39003,39100,39237,39241,39446,39449,39693,39912,39911,39894,39899,40329,40289,40306,40298,40300,40594,40599,40595,40628,21240,22184,22199,22198,22196,22204,22756,23360,23363,23421,23542,24009,25080,25082,25880,25876,25881,26342,26407,27372,28734,28720,28722,29200,29563,29903,30306,30309,31014,31018,31020,31019,31431,31478,31820,31811,31821,31983,31984,36782,32381,32380,32386,32588,32768,33242,33382,34299,34297,34321,34298,34310,34315,34311,34314,34836,34837,35172,35258,35320,35696,35692,35686,35695,35679,35691,36111,36109,36489,36481,36485,36482,37300,37323,37912,37891,37885,38369,38704,39108,39250,39249,39336,39467,39472,39479,39477,39955,39949,40569,40629,40680,40751,40799,40803,40801,20791,20792,22209,22208,22210,22804,23660,24013,25084,25086,25885,25884,26005,26345,27387,27396,27386,27570,28748,29211,29351,29910,29908,30313,30675,31824,32399,32396,32700,34327,34349,34330,34851,34850,34849,34847,35178,35180,35261,35700,35703,35709,36115,36490,36493,36491,36703,36783,37306,37934,37939,37941,37946,37944,37938,37931,38370,38712,38713,38706,38911,39015,39013,39255,39493,39491,39488,39486,39631,39764,39761,39981,39973,40367,40372,40386,40376,40605,40687,40729,40796,40806,40807,20796,20795,22216,22218,22217,23423,24020,24018,24398,25087,25892,27402,27489,28753,28760,29568,29924,30090,30318,30316,31155,31840,31839,32894,32893,33247,35186,35183,35324,35712,36118,36119,36497,36499,36705,37192,37956,37969,37970,38717,38718,38851,38849,39019,39253,39509,39501,39634,39706,40009,39985,39998,39995,40403,40407,40756,40812,40810,40852,22220,24022,25088,25891,25899,25898,26348,27408,29914,31434,31844,31843,31845,32403,32406,32404,33250,34360,34367,34865,35722,37008,37007,37987,37984,37988,38760,39023,39260,39514,39515,39511,39635,39636,39633,40020,40023,40022,40421,40607,40692,22225,22761,25900,28766,30321,30322,30679,32592,32648,34870,34873,34914,35731,35730,35734,33399,36123,37312,37994,38722,38728,38724,38854,39024,39519,39714,39768,40031,40441,40442,40572,40573,40711,40823,40818,24307,27414,28771,31852,31854,34875,35264,36513,37313,38002,38e3,39025,39262,39638,39715,40652,28772,30682,35738,38007,38857,39522,39525,32412,35740,36522,37317,38013,38014,38012,40055,40056,40695,35924,38015,40474,29224,39530,39729,40475,40478,31858,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,20022,20031,20101,20128,20866,20886,20907,21241,21304,21353,21430,22794,23424,24027,12083,24191,24308,24400,24417,25908,26080,30098,30326,36789,38582,168,710,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,65339,65341,10045,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8679,8632,8633,12751,131276,20058,131210,20994,17553,40880,20872,40881,161287,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65506,65508,65287,65282,12849,8470,8481,12443,12444,11904,11908,11910,11911,11912,11914,11916,11917,11925,11932,11933,11941,11943,11946,11948,11950,11958,11964,11966,11974,11978,11980,11981,11983,11990,11991,11998,12003,null,null,null,643,592,603,596,629,339,248,331,650,618,20034,20060,20981,21274,21378,19975,19980,20039,20109,22231,64012,23662,24435,19983,20871,19982,20014,20115,20162,20169,20168,20888,21244,21356,21433,22304,22787,22828,23568,24063,26081,27571,27596,27668,29247,20017,20028,20200,20188,20201,20193,20189,20186,21004,21276,21324,22306,22307,22807,22831,23425,23428,23570,23611,23668,23667,24068,24192,24194,24521,25097,25168,27669,27702,27715,27711,27707,29358,29360,29578,31160,32906,38430,20238,20248,20268,20213,20244,20209,20224,20215,20232,20253,20226,20229,20258,20243,20228,20212,20242,20913,21011,21001,21008,21158,21282,21279,21325,21386,21511,22241,22239,22318,22314,22324,22844,22912,22908,22917,22907,22910,22903,22911,23382,23573,23589,23676,23674,23675,23678,24031,24181,24196,24322,24346,24436,24533,24532,24527,25180,25182,25188,25185,25190,25186,25177,25184,25178,25189,26095,26094,26430,26425,26424,26427,26426,26431,26428,26419,27672,27718,27730,27740,27727,27722,27732,27723,27724,28785,29278,29364,29365,29582,29994,30335,31349,32593,33400,33404,33408,33405,33407,34381,35198,37017,37015,37016,37019,37012,38434,38436,38432,38435,20310,20283,20322,20297,20307,20324,20286,20327,20306,20319,20289,20312,20269,20275,20287,20321,20879,20921,21020,21022,21025,21165,21166,21257,21347,21362,21390,21391,21552,21559,21546,21588,21573,21529,21532,21541,21528,21565,21583,21569,21544,21540,21575,22254,22247,22245,22337,22341,22348,22345,22347,22354,22790,22848,22950,22936,22944,22935,22926,22946,22928,22927,22951,22945,23438,23442,23592,23594,23693,23695,23688,23691,23689,23698,23690,23686,23699,23701,24032,24074,24078,24203,24201,24204,24200,24205,24325,24349,24440,24438,24530,24529,24528,24557,24552,24558,24563,24545,24548,24547,24570,24559,24567,24571,24576,24564,25146,25219,25228,25230,25231,25236,25223,25201,25211,25210,25200,25217,25224,25207,25213,25202,25204,25911,26096,26100,26099,26098,26101,26437,26439,26457,26453,26444,26440,26461,26445,26458,26443,27600,27673,27674,27768,27751,27755,27780,27787,27791,27761,27759,27753,27802,27757,27783,27797,27804,27750,27763,27749,27771,27790,28788,28794,29283,29375,29373,29379,29382,29377,29370,29381,29589,29591,29587,29588,29586,30010,30009,30100,30101,30337,31037,32820,32917,32921,32912,32914,32924,33424,33423,33413,33422,33425,33427,33418,33411,33412,35960,36809,36799,37023,37025,37029,37022,37031,37024,38448,38440,38447,38445,20019,20376,20348,20357,20349,20352,20359,20342,20340,20361,20356,20343,20300,20375,20330,20378,20345,20353,20344,20368,20380,20372,20382,20370,20354,20373,20331,20334,20894,20924,20926,21045,21042,21043,21062,21041,21180,21258,21259,21308,21394,21396,21639,21631,21633,21649,21634,21640,21611,21626,21630,21605,21612,21620,21606,21645,21615,21601,21600,21656,21603,21607,21604,22263,22265,22383,22386,22381,22379,22385,22384,22390,22400,22389,22395,22387,22388,22370,22376,22397,22796,22853,22965,22970,22991,22990,22962,22988,22977,22966,22972,22979,22998,22961,22973,22976,22984,22964,22983,23394,23397,23443,23445,23620,23623,23726,23716,23712,23733,23727,23720,23724,23711,23715,23725,23714,23722,23719,23709,23717,23734,23728,23718,24087,24084,24089,24360,24354,24355,24356,24404,24450,24446,24445,24542,24549,24621,24614,24601,24626,24587,24628,24586,24599,24627,24602,24606,24620,24610,24589,24592,24622,24595,24593,24588,24585,24604,25108,25149,25261,25268,25297,25278,25258,25270,25290,25262,25267,25263,25275,25257,25264,25272,25917,26024,26043,26121,26108,26116,26130,26120,26107,26115,26123,26125,26117,26109,26129,26128,26358,26378,26501,26476,26510,26514,26486,26491,26520,26502,26500,26484,26509,26508,26490,26527,26513,26521,26499,26493,26497,26488,26489,26516,27429,27520,27518,27614,27677,27795,27884,27883,27886,27865,27830,27860,27821,27879,27831,27856,27842,27834,27843,27846,27885,27890,27858,27869,27828,27786,27805,27776,27870,27840,27952,27853,27847,27824,27897,27855,27881,27857,28820,28824,28805,28819,28806,28804,28817,28822,28802,28826,28803,29290,29398,29387,29400,29385,29404,29394,29396,29402,29388,29393,29604,29601,29613,29606,29602,29600,29612,29597,29917,29928,30015,30016,30014,30092,30104,30383,30451,30449,30448,30453,30712,30716,30713,30715,30714,30711,31042,31039,31173,31352,31355,31483,31861,31997,32821,32911,32942,32931,32952,32949,32941,33312,33440,33472,33451,33434,33432,33435,33461,33447,33454,33468,33438,33466,33460,33448,33441,33449,33474,33444,33475,33462,33442,34416,34415,34413,34414,35926,36818,36811,36819,36813,36822,36821,36823,37042,37044,37039,37043,37040,38457,38461,38460,38458,38467,20429,20421,20435,20402,20425,20427,20417,20436,20444,20441,20411,20403,20443,20423,20438,20410,20416,20409,20460,21060,21065,21184,21186,21309,21372,21399,21398,21401,21400,21690,21665,21677,21669,21711,21699,33549,21687,21678,21718,21686,21701,21702,21664,21616,21692,21666,21694,21618,21726,21680,22453,22430,22431,22436,22412,22423,22429,22427,22420,22424,22415,22425,22437,22426,22421,22772,22797,22867,23009,23006,23022,23040,23025,23005,23034,23037,23036,23030,23012,23026,23031,23003,23017,23027,23029,23008,23038,23028,23021,23464,23628,23760,23768,23756,23767,23755,23771,23774,23770,23753,23751,23754,23766,23763,23764,23759,23752,23750,23758,23775,23800,24057,24097,24098,24099,24096,24100,24240,24228,24226,24219,24227,24229,24327,24366,24406,24454,24631,24633,24660,24690,24670,24645,24659,24647,24649,24667,24652,24640,24642,24671,24612,24644,24664,24678,24686,25154,25155,25295,25357,25355,25333,25358,25347,25323,25337,25359,25356,25336,25334,25344,25363,25364,25338,25365,25339,25328,25921,25923,26026,26047,26166,26145,26162,26165,26140,26150,26146,26163,26155,26170,26141,26164,26169,26158,26383,26384,26561,26610,26568,26554,26588,26555,26616,26584,26560,26551,26565,26603,26596,26591,26549,26573,26547,26615,26614,26606,26595,26562,26553,26574,26599,26608,26546,26620,26566,26605,26572,26542,26598,26587,26618,26569,26570,26563,26602,26571,27432,27522,27524,27574,27606,27608,27616,27680,27681,27944,27956,27949,27935,27964,27967,27922,27914,27866,27955,27908,27929,27962,27930,27921,27904,27933,27970,27905,27928,27959,27907,27919,27968,27911,27936,27948,27912,27938,27913,27920,28855,28831,28862,28849,28848,28833,28852,28853,28841,29249,29257,29258,29292,29296,29299,29294,29386,29412,29416,29419,29407,29418,29414,29411,29573,29644,29634,29640,29637,29625,29622,29621,29620,29675,29631,29639,29630,29635,29638,29624,29643,29932,29934,29998,30023,30024,30119,30122,30329,30404,30472,30467,30468,30469,30474,30455,30459,30458,30695,30696,30726,30737,30738,30725,30736,30735,30734,30729,30723,30739,31050,31052,31051,31045,31044,31189,31181,31183,31190,31182,31360,31358,31441,31488,31489,31866,31864,31865,31871,31872,31873,32003,32008,32001,32600,32657,32653,32702,32775,32782,32783,32788,32823,32984,32967,32992,32977,32968,32962,32976,32965,32995,32985,32988,32970,32981,32969,32975,32983,32998,32973,33279,33313,33428,33497,33534,33529,33543,33512,33536,33493,33594,33515,33494,33524,33516,33505,33522,33525,33548,33531,33526,33520,33514,33508,33504,33530,33523,33517,34423,34420,34428,34419,34881,34894,34919,34922,34921,35283,35332,35335,36210,36835,36833,36846,36832,37105,37053,37055,37077,37061,37054,37063,37067,37064,37332,37331,38484,38479,38481,38483,38474,38478,20510,20485,20487,20499,20514,20528,20507,20469,20468,20531,20535,20524,20470,20471,20503,20508,20512,20519,20533,20527,20529,20494,20826,20884,20883,20938,20932,20933,20936,20942,21089,21082,21074,21086,21087,21077,21090,21197,21262,21406,21798,21730,21783,21778,21735,21747,21732,21786,21759,21764,21768,21739,21777,21765,21745,21770,21755,21751,21752,21728,21774,21763,21771,22273,22274,22476,22578,22485,22482,22458,22470,22461,22460,22456,22454,22463,22471,22480,22457,22465,22798,22858,23065,23062,23085,23086,23061,23055,23063,23050,23070,23091,23404,23463,23469,23468,23555,23638,23636,23788,23807,23790,23793,23799,23808,23801,24105,24104,24232,24238,24234,24236,24371,24368,24423,24669,24666,24679,24641,24738,24712,24704,24722,24705,24733,24707,24725,24731,24727,24711,24732,24718,25113,25158,25330,25360,25430,25388,25412,25413,25398,25411,25572,25401,25419,25418,25404,25385,25409,25396,25432,25428,25433,25389,25415,25395,25434,25425,25400,25431,25408,25416,25930,25926,26054,26051,26052,26050,26186,26207,26183,26193,26386,26387,26655,26650,26697,26674,26675,26683,26699,26703,26646,26673,26652,26677,26667,26669,26671,26702,26692,26676,26653,26642,26644,26662,26664,26670,26701,26682,26661,26656,27436,27439,27437,27441,27444,27501,32898,27528,27622,27620,27624,27619,27618,27623,27685,28026,28003,28004,28022,27917,28001,28050,27992,28002,28013,28015,28049,28045,28143,28031,28038,27998,28007,28e3,28055,28016,28028,27999,28034,28056,27951,28008,28043,28030,28032,28036,27926,28035,28027,28029,28021,28048,28892,28883,28881,28893,28875,32569,28898,28887,28882,28894,28896,28884,28877,28869,28870,28871,28890,28878,28897,29250,29304,29303,29302,29440,29434,29428,29438,29430,29427,29435,29441,29651,29657,29669,29654,29628,29671,29667,29673,29660,29650,29659,29652,29661,29658,29655,29656,29672,29918,29919,29940,29941,29985,30043,30047,30128,30145,30139,30148,30144,30143,30134,30138,30346,30409,30493,30491,30480,30483,30482,30499,30481,30485,30489,30490,30498,30503,30755,30764,30754,30773,30767,30760,30766,30763,30753,30761,30771,30762,30769,31060,31067,31055,31068,31059,31058,31057,31211,31212,31200,31214,31213,31210,31196,31198,31197,31366,31369,31365,31371,31372,31370,31367,31448,31504,31492,31507,31493,31503,31496,31498,31502,31497,31506,31876,31889,31882,31884,31880,31885,31877,32030,32029,32017,32014,32024,32022,32019,32031,32018,32015,32012,32604,32609,32606,32608,32605,32603,32662,32658,32707,32706,32704,32790,32830,32825,33018,33010,33017,33013,33025,33019,33024,33281,33327,33317,33587,33581,33604,33561,33617,33573,33622,33599,33601,33574,33564,33570,33602,33614,33563,33578,33544,33596,33613,33558,33572,33568,33591,33583,33577,33607,33605,33612,33619,33566,33580,33611,33575,33608,34387,34386,34466,34472,34454,34445,34449,34462,34439,34455,34438,34443,34458,34437,34469,34457,34465,34471,34453,34456,34446,34461,34448,34452,34883,34884,34925,34933,34934,34930,34944,34929,34943,34927,34947,34942,34932,34940,35346,35911,35927,35963,36004,36003,36214,36216,36277,36279,36278,36561,36563,36862,36853,36866,36863,36859,36868,36860,36854,37078,37088,37081,37082,37091,37087,37093,37080,37083,37079,37084,37092,37200,37198,37199,37333,37346,37338,38492,38495,38588,39139,39647,39727,20095,20592,20586,20577,20574,20576,20563,20555,20573,20594,20552,20557,20545,20571,20554,20578,20501,20549,20575,20585,20587,20579,20580,20550,20544,20590,20595,20567,20561,20944,21099,21101,21100,21102,21206,21203,21293,21404,21877,21878,21820,21837,21840,21812,21802,21841,21858,21814,21813,21808,21842,21829,21772,21810,21861,21838,21817,21832,21805,21819,21824,21835,22282,22279,22523,22548,22498,22518,22492,22516,22528,22509,22525,22536,22520,22539,22515,22479,22535,22510,22499,22514,22501,22508,22497,22542,22524,22544,22503,22529,22540,22513,22505,22512,22541,22532,22876,23136,23128,23125,23143,23134,23096,23093,23149,23120,23135,23141,23148,23123,23140,23127,23107,23133,23122,23108,23131,23112,23182,23102,23117,23097,23116,23152,23145,23111,23121,23126,23106,23132,23410,23406,23489,23488,23641,23838,23819,23837,23834,23840,23820,23848,23821,23846,23845,23823,23856,23826,23843,23839,23854,24126,24116,24241,24244,24249,24242,24243,24374,24376,24475,24470,24479,24714,24720,24710,24766,24752,24762,24787,24788,24783,24804,24793,24797,24776,24753,24795,24759,24778,24767,24771,24781,24768,25394,25445,25482,25474,25469,25533,25502,25517,25501,25495,25515,25486,25455,25479,25488,25454,25519,25461,25500,25453,25518,25468,25508,25403,25503,25464,25477,25473,25489,25485,25456,25939,26061,26213,26209,26203,26201,26204,26210,26392,26745,26759,26768,26780,26733,26734,26798,26795,26966,26735,26787,26796,26793,26741,26740,26802,26767,26743,26770,26748,26731,26738,26794,26752,26737,26750,26779,26774,26763,26784,26761,26788,26744,26747,26769,26764,26762,26749,27446,27443,27447,27448,27537,27535,27533,27534,27532,27690,28096,28075,28084,28083,28276,28076,28137,28130,28087,28150,28116,28160,28104,28128,28127,28118,28094,28133,28124,28125,28123,28148,28106,28093,28141,28144,28090,28117,28098,28111,28105,28112,28146,28115,28157,28119,28109,28131,28091,28922,28941,28919,28951,28916,28940,28912,28932,28915,28944,28924,28927,28934,28947,28928,28920,28918,28939,28930,28942,29310,29307,29308,29311,29469,29463,29447,29457,29464,29450,29448,29439,29455,29470,29576,29686,29688,29685,29700,29697,29693,29703,29696,29690,29692,29695,29708,29707,29684,29704,30052,30051,30158,30162,30159,30155,30156,30161,30160,30351,30345,30419,30521,30511,30509,30513,30514,30516,30515,30525,30501,30523,30517,30792,30802,30793,30797,30794,30796,30758,30789,30800,31076,31079,31081,31082,31075,31083,31073,31163,31226,31224,31222,31223,31375,31380,31376,31541,31559,31540,31525,31536,31522,31524,31539,31512,31530,31517,31537,31531,31533,31535,31538,31544,31514,31523,31892,31896,31894,31907,32053,32061,32056,32054,32058,32069,32044,32041,32065,32071,32062,32063,32074,32059,32040,32611,32661,32668,32669,32667,32714,32715,32717,32720,32721,32711,32719,32713,32799,32798,32795,32839,32835,32840,33048,33061,33049,33051,33069,33055,33068,33054,33057,33045,33063,33053,33058,33297,33336,33331,33338,33332,33330,33396,33680,33699,33704,33677,33658,33651,33700,33652,33679,33665,33685,33689,33653,33684,33705,33661,33667,33676,33693,33691,33706,33675,33662,33701,33711,33672,33687,33712,33663,33702,33671,33710,33654,33690,34393,34390,34495,34487,34498,34497,34501,34490,34480,34504,34489,34483,34488,34508,34484,34491,34492,34499,34493,34494,34898,34953,34965,34984,34978,34986,34970,34961,34977,34975,34968,34983,34969,34971,34967,34980,34988,34956,34963,34958,35202,35286,35289,35285,35376,35367,35372,35358,35897,35899,35932,35933,35965,36005,36221,36219,36217,36284,36290,36281,36287,36289,36568,36574,36573,36572,36567,36576,36577,36900,36875,36881,36892,36876,36897,37103,37098,37104,37108,37106,37107,37076,37099,37100,37097,37206,37208,37210,37203,37205,37356,37364,37361,37363,37368,37348,37369,37354,37355,37367,37352,37358,38266,38278,38280,38524,38509,38507,38513,38511,38591,38762,38916,39141,39319,20635,20629,20628,20638,20619,20643,20611,20620,20622,20637,20584,20636,20626,20610,20615,20831,20948,21266,21265,21412,21415,21905,21928,21925,21933,21879,22085,21922,21907,21896,21903,21941,21889,21923,21906,21924,21885,21900,21926,21887,21909,21921,21902,22284,22569,22583,22553,22558,22567,22563,22568,22517,22600,22565,22556,22555,22579,22591,22582,22574,22585,22584,22573,22572,22587,22881,23215,23188,23199,23162,23202,23198,23160,23206,23164,23205,23212,23189,23214,23095,23172,23178,23191,23171,23179,23209,23163,23165,23180,23196,23183,23187,23197,23530,23501,23499,23508,23505,23498,23502,23564,23600,23863,23875,23915,23873,23883,23871,23861,23889,23886,23893,23859,23866,23890,23869,23857,23897,23874,23865,23881,23864,23868,23858,23862,23872,23877,24132,24129,24408,24486,24485,24491,24777,24761,24780,24802,24782,24772,24852,24818,24842,24854,24837,24821,24851,24824,24828,24830,24769,24835,24856,24861,24848,24831,24836,24843,25162,25492,25521,25520,25550,25573,25576,25583,25539,25757,25587,25546,25568,25590,25557,25586,25589,25697,25567,25534,25565,25564,25540,25560,25555,25538,25543,25548,25547,25544,25584,25559,25561,25906,25959,25962,25956,25948,25960,25957,25996,26013,26014,26030,26064,26066,26236,26220,26235,26240,26225,26233,26218,26226,26369,26892,26835,26884,26844,26922,26860,26858,26865,26895,26838,26871,26859,26852,26870,26899,26896,26867,26849,26887,26828,26888,26992,26804,26897,26863,26822,26900,26872,26832,26877,26876,26856,26891,26890,26903,26830,26824,26845,26846,26854,26868,26833,26886,26836,26857,26901,26917,26823,27449,27451,27455,27452,27540,27543,27545,27541,27581,27632,27634,27635,27696,28156,28230,28231,28191,28233,28296,28220,28221,28229,28258,28203,28223,28225,28253,28275,28188,28211,28235,28224,28241,28219,28163,28206,28254,28264,28252,28257,28209,28200,28256,28273,28267,28217,28194,28208,28243,28261,28199,28280,28260,28279,28245,28281,28242,28262,28213,28214,28250,28960,28958,28975,28923,28974,28977,28963,28965,28962,28978,28959,28968,28986,28955,29259,29274,29320,29321,29318,29317,29323,29458,29451,29488,29474,29489,29491,29479,29490,29485,29478,29475,29493,29452,29742,29740,29744,29739,29718,29722,29729,29741,29745,29732,29731,29725,29737,29728,29746,29947,29999,30063,30060,30183,30170,30177,30182,30173,30175,30180,30167,30357,30354,30426,30534,30535,30532,30541,30533,30538,30542,30539,30540,30686,30700,30816,30820,30821,30812,30829,30833,30826,30830,30832,30825,30824,30814,30818,31092,31091,31090,31088,31234,31242,31235,31244,31236,31385,31462,31460,31562,31547,31556,31560,31564,31566,31552,31576,31557,31906,31902,31912,31905,32088,32111,32099,32083,32086,32103,32106,32079,32109,32092,32107,32082,32084,32105,32081,32095,32078,32574,32575,32613,32614,32674,32672,32673,32727,32849,32847,32848,33022,32980,33091,33098,33106,33103,33095,33085,33101,33082,33254,33262,33271,33272,33273,33284,33340,33341,33343,33397,33595,33743,33785,33827,33728,33768,33810,33767,33764,33788,33782,33808,33734,33736,33771,33763,33727,33793,33757,33765,33752,33791,33761,33739,33742,33750,33781,33737,33801,33807,33758,33809,33798,33730,33779,33749,33786,33735,33745,33770,33811,33731,33772,33774,33732,33787,33751,33762,33819,33755,33790,34520,34530,34534,34515,34531,34522,34538,34525,34539,34524,34540,34537,34519,34536,34513,34888,34902,34901,35002,35031,35001,35e3,35008,35006,34998,35004,34999,35005,34994,35073,35017,35221,35224,35223,35293,35290,35291,35406,35405,35385,35417,35392,35415,35416,35396,35397,35410,35400,35409,35402,35404,35407,35935,35969,35968,36026,36030,36016,36025,36021,36228,36224,36233,36312,36307,36301,36295,36310,36316,36303,36309,36313,36296,36311,36293,36591,36599,36602,36601,36582,36590,36581,36597,36583,36584,36598,36587,36593,36588,36596,36585,36909,36916,36911,37126,37164,37124,37119,37116,37128,37113,37115,37121,37120,37127,37125,37123,37217,37220,37215,37218,37216,37377,37386,37413,37379,37402,37414,37391,37388,37376,37394,37375,37373,37382,37380,37415,37378,37404,37412,37401,37399,37381,37398,38267,38285,38284,38288,38535,38526,38536,38537,38531,38528,38594,38600,38595,38641,38640,38764,38768,38766,38919,39081,39147,40166,40697,20099,20100,20150,20669,20671,20678,20654,20676,20682,20660,20680,20674,20656,20673,20666,20657,20683,20681,20662,20664,20951,21114,21112,21115,21116,21955,21979,21964,21968,21963,21962,21981,21952,21972,21956,21993,21951,21970,21901,21967,21973,21986,21974,21960,22002,21965,21977,21954,22292,22611,22632,22628,22607,22605,22601,22639,22613,22606,22621,22617,22629,22619,22589,22627,22641,22780,23239,23236,23243,23226,23224,23217,23221,23216,23231,23240,23227,23238,23223,23232,23242,23220,23222,23245,23225,23184,23510,23512,23513,23583,23603,23921,23907,23882,23909,23922,23916,23902,23912,23911,23906,24048,24143,24142,24138,24141,24139,24261,24268,24262,24267,24263,24384,24495,24493,24823,24905,24906,24875,24901,24886,24882,24878,24902,24879,24911,24873,24896,25120,37224,25123,25125,25124,25541,25585,25579,25616,25618,25609,25632,25636,25651,25667,25631,25621,25624,25657,25655,25634,25635,25612,25638,25648,25640,25665,25653,25647,25610,25626,25664,25637,25639,25611,25575,25627,25646,25633,25614,25967,26002,26067,26246,26252,26261,26256,26251,26250,26265,26260,26232,26400,26982,26975,26936,26958,26978,26993,26943,26949,26986,26937,26946,26967,26969,27002,26952,26953,26933,26988,26931,26941,26981,26864,27e3,26932,26985,26944,26991,26948,26998,26968,26945,26996,26956,26939,26955,26935,26972,26959,26961,26930,26962,26927,27003,26940,27462,27461,27459,27458,27464,27457,27547,64013,27643,27644,27641,27639,27640,28315,28374,28360,28303,28352,28319,28307,28308,28320,28337,28345,28358,28370,28349,28353,28318,28361,28343,28336,28365,28326,28367,28338,28350,28355,28380,28376,28313,28306,28302,28301,28324,28321,28351,28339,28368,28362,28311,28334,28323,28999,29012,29010,29027,29024,28993,29021,29026,29042,29048,29034,29025,28994,29016,28995,29003,29040,29023,29008,29011,28996,29005,29018,29263,29325,29324,29329,29328,29326,29500,29506,29499,29498,29504,29514,29513,29764,29770,29771,29778,29777,29783,29760,29775,29776,29774,29762,29766,29773,29780,29921,29951,29950,29949,29981,30073,30071,27011,30191,30223,30211,30199,30206,30204,30201,30200,30224,30203,30198,30189,30197,30205,30361,30389,30429,30549,30559,30560,30546,30550,30554,30569,30567,30548,30553,30573,30688,30855,30874,30868,30863,30852,30869,30853,30854,30881,30851,30841,30873,30848,30870,30843,31100,31106,31101,31097,31249,31256,31257,31250,31255,31253,31266,31251,31259,31248,31395,31394,31390,31467,31590,31588,31597,31604,31593,31602,31589,31603,31601,31600,31585,31608,31606,31587,31922,31924,31919,32136,32134,32128,32141,32127,32133,32122,32142,32123,32131,32124,32140,32148,32132,32125,32146,32621,32619,32615,32616,32620,32678,32677,32679,32731,32732,32801,33124,33120,33143,33116,33129,33115,33122,33138,26401,33118,33142,33127,33135,33092,33121,33309,33353,33348,33344,33346,33349,34033,33855,33878,33910,33913,33935,33933,33893,33873,33856,33926,33895,33840,33869,33917,33882,33881,33908,33907,33885,34055,33886,33847,33850,33844,33914,33859,33912,33842,33861,33833,33753,33867,33839,33858,33837,33887,33904,33849,33870,33868,33874,33903,33989,33934,33851,33863,33846,33843,33896,33918,33860,33835,33888,33876,33902,33872,34571,34564,34551,34572,34554,34518,34549,34637,34552,34574,34569,34561,34550,34573,34565,35030,35019,35021,35022,35038,35035,35034,35020,35024,35205,35227,35295,35301,35300,35297,35296,35298,35292,35302,35446,35462,35455,35425,35391,35447,35458,35460,35445,35459,35457,35444,35450,35900,35915,35914,35941,35940,35942,35974,35972,35973,36044,36200,36201,36241,36236,36238,36239,36237,36243,36244,36240,36242,36336,36320,36332,36337,36334,36304,36329,36323,36322,36327,36338,36331,36340,36614,36607,36609,36608,36613,36615,36616,36610,36619,36946,36927,36932,36937,36925,37136,37133,37135,37137,37142,37140,37131,37134,37230,37231,37448,37458,37424,37434,37478,37427,37477,37470,37507,37422,37450,37446,37485,37484,37455,37472,37479,37487,37430,37473,37488,37425,37460,37475,37456,37490,37454,37459,37452,37462,37426,38303,38300,38302,38299,38546,38547,38545,38551,38606,38650,38653,38648,38645,38771,38775,38776,38770,38927,38925,38926,39084,39158,39161,39343,39346,39344,39349,39597,39595,39771,40170,40173,40167,40576,40701,20710,20692,20695,20712,20723,20699,20714,20701,20708,20691,20716,20720,20719,20707,20704,20952,21120,21121,21225,21227,21296,21420,22055,22037,22028,22034,22012,22031,22044,22017,22035,22018,22010,22045,22020,22015,22009,22665,22652,22672,22680,22662,22657,22655,22644,22667,22650,22663,22673,22670,22646,22658,22664,22651,22676,22671,22782,22891,23260,23278,23269,23253,23274,23258,23277,23275,23283,23266,23264,23259,23276,23262,23261,23257,23272,23263,23415,23520,23523,23651,23938,23936,23933,23942,23930,23937,23927,23946,23945,23944,23934,23932,23949,23929,23935,24152,24153,24147,24280,24273,24279,24270,24284,24277,24281,24274,24276,24388,24387,24431,24502,24876,24872,24897,24926,24945,24947,24914,24915,24946,24940,24960,24948,24916,24954,24923,24933,24891,24938,24929,24918,25129,25127,25131,25643,25677,25691,25693,25716,25718,25714,25715,25725,25717,25702,25766,25678,25730,25694,25692,25675,25683,25696,25680,25727,25663,25708,25707,25689,25701,25719,25971,26016,26273,26272,26271,26373,26372,26402,27057,27062,27081,27040,27086,27030,27056,27052,27068,27025,27033,27022,27047,27021,27049,27070,27055,27071,27076,27069,27044,27092,27065,27082,27034,27087,27059,27027,27050,27041,27038,27097,27031,27024,27074,27061,27045,27078,27466,27469,27467,27550,27551,27552,27587,27588,27646,28366,28405,28401,28419,28453,28408,28471,28411,28462,28425,28494,28441,28442,28455,28440,28475,28434,28397,28426,28470,28531,28409,28398,28461,28480,28464,28476,28469,28395,28423,28430,28483,28421,28413,28406,28473,28444,28412,28474,28447,28429,28446,28424,28449,29063,29072,29065,29056,29061,29058,29071,29051,29062,29057,29079,29252,29267,29335,29333,29331,29507,29517,29521,29516,29794,29811,29809,29813,29810,29799,29806,29952,29954,29955,30077,30096,30230,30216,30220,30229,30225,30218,30228,30392,30593,30588,30597,30594,30574,30592,30575,30590,30595,30898,30890,30900,30893,30888,30846,30891,30878,30885,30880,30892,30882,30884,31128,31114,31115,31126,31125,31124,31123,31127,31112,31122,31120,31275,31306,31280,31279,31272,31270,31400,31403,31404,31470,31624,31644,31626,31633,31632,31638,31629,31628,31643,31630,31621,31640,21124,31641,31652,31618,31931,31935,31932,31930,32167,32183,32194,32163,32170,32193,32192,32197,32157,32206,32196,32198,32203,32204,32175,32185,32150,32188,32159,32166,32174,32169,32161,32201,32627,32738,32739,32741,32734,32804,32861,32860,33161,33158,33155,33159,33165,33164,33163,33301,33943,33956,33953,33951,33978,33998,33986,33964,33966,33963,33977,33972,33985,33997,33962,33946,33969,34e3,33949,33959,33979,33954,33940,33991,33996,33947,33961,33967,33960,34006,33944,33974,33999,33952,34007,34004,34002,34011,33968,33937,34401,34611,34595,34600,34667,34624,34606,34590,34593,34585,34587,34627,34604,34625,34622,34630,34592,34610,34602,34605,34620,34578,34618,34609,34613,34626,34598,34599,34616,34596,34586,34608,34577,35063,35047,35057,35058,35066,35070,35054,35068,35062,35067,35056,35052,35051,35229,35233,35231,35230,35305,35307,35304,35499,35481,35467,35474,35471,35478,35901,35944,35945,36053,36047,36055,36246,36361,36354,36351,36365,36349,36362,36355,36359,36358,36357,36350,36352,36356,36624,36625,36622,36621,37155,37148,37152,37154,37151,37149,37146,37156,37153,37147,37242,37234,37241,37235,37541,37540,37494,37531,37498,37536,37524,37546,37517,37542,37530,37547,37497,37527,37503,37539,37614,37518,37506,37525,37538,37501,37512,37537,37514,37510,37516,37529,37543,37502,37511,37545,37533,37515,37421,38558,38561,38655,38744,38781,38778,38782,38787,38784,38786,38779,38788,38785,38783,38862,38861,38934,39085,39086,39170,39168,39175,39325,39324,39363,39353,39355,39354,39362,39357,39367,39601,39651,39655,39742,39743,39776,39777,39775,40177,40178,40181,40615,20735,20739,20784,20728,20742,20743,20726,20734,20747,20748,20733,20746,21131,21132,21233,21231,22088,22082,22092,22069,22081,22090,22089,22086,22104,22106,22080,22067,22077,22060,22078,22072,22058,22074,22298,22699,22685,22705,22688,22691,22703,22700,22693,22689,22783,23295,23284,23293,23287,23286,23299,23288,23298,23289,23297,23303,23301,23311,23655,23961,23959,23967,23954,23970,23955,23957,23968,23964,23969,23962,23966,24169,24157,24160,24156,32243,24283,24286,24289,24393,24498,24971,24963,24953,25009,25008,24994,24969,24987,24979,25007,25005,24991,24978,25002,24993,24973,24934,25011,25133,25710,25712,25750,25760,25733,25751,25756,25743,25739,25738,25740,25763,25759,25704,25777,25752,25974,25978,25977,25979,26034,26035,26293,26288,26281,26290,26295,26282,26287,27136,27142,27159,27109,27128,27157,27121,27108,27168,27135,27116,27106,27163,27165,27134,27175,27122,27118,27156,27127,27111,27200,27144,27110,27131,27149,27132,27115,27145,27140,27160,27173,27151,27126,27174,27143,27124,27158,27473,27557,27555,27554,27558,27649,27648,27647,27650,28481,28454,28542,28551,28614,28562,28557,28553,28556,28514,28495,28549,28506,28566,28534,28524,28546,28501,28530,28498,28496,28503,28564,28563,28509,28416,28513,28523,28541,28519,28560,28499,28555,28521,28543,28565,28515,28535,28522,28539,29106,29103,29083,29104,29088,29082,29097,29109,29085,29093,29086,29092,29089,29098,29084,29095,29107,29336,29338,29528,29522,29534,29535,29536,29533,29531,29537,29530,29529,29538,29831,29833,29834,29830,29825,29821,29829,29832,29820,29817,29960,29959,30078,30245,30238,30233,30237,30236,30243,30234,30248,30235,30364,30365,30366,30363,30605,30607,30601,30600,30925,30907,30927,30924,30929,30926,30932,30920,30915,30916,30921,31130,31137,31136,31132,31138,31131,27510,31289,31410,31412,31411,31671,31691,31678,31660,31694,31663,31673,31690,31669,31941,31944,31948,31947,32247,32219,32234,32231,32215,32225,32259,32250,32230,32246,32241,32240,32238,32223,32630,32684,32688,32685,32749,32747,32746,32748,32742,32744,32868,32871,33187,33183,33182,33173,33186,33177,33175,33302,33359,33363,33362,33360,33358,33361,34084,34107,34063,34048,34089,34062,34057,34061,34079,34058,34087,34076,34043,34091,34042,34056,34060,34036,34090,34034,34069,34039,34027,34035,34044,34066,34026,34025,34070,34046,34088,34077,34094,34050,34045,34078,34038,34097,34086,34023,34024,34032,34031,34041,34072,34080,34096,34059,34073,34095,34402,34646,34659,34660,34679,34785,34675,34648,34644,34651,34642,34657,34650,34641,34654,34669,34666,34640,34638,34655,34653,34671,34668,34682,34670,34652,34661,34639,34683,34677,34658,34663,34665,34906,35077,35084,35092,35083,35095,35096,35097,35078,35094,35089,35086,35081,35234,35236,35235,35309,35312,35308,35535,35526,35512,35539,35537,35540,35541,35515,35543,35518,35520,35525,35544,35523,35514,35517,35545,35902,35917,35983,36069,36063,36057,36072,36058,36061,36071,36256,36252,36257,36251,36384,36387,36389,36388,36398,36373,36379,36374,36369,36377,36390,36391,36372,36370,36376,36371,36380,36375,36378,36652,36644,36632,36634,36640,36643,36630,36631,36979,36976,36975,36967,36971,37167,37163,37161,37162,37170,37158,37166,37253,37254,37258,37249,37250,37252,37248,37584,37571,37572,37568,37593,37558,37583,37617,37599,37592,37609,37591,37597,37580,37615,37570,37608,37578,37576,37582,37606,37581,37589,37577,37600,37598,37607,37585,37587,37557,37601,37574,37556,38268,38316,38315,38318,38320,38564,38562,38611,38661,38664,38658,38746,38794,38798,38792,38864,38863,38942,38941,38950,38953,38952,38944,38939,38951,39090,39176,39162,39185,39188,39190,39191,39189,39388,39373,39375,39379,39380,39374,39369,39382,39384,39371,39383,39372,39603,39660,39659,39667,39666,39665,39750,39747,39783,39796,39793,39782,39798,39797,39792,39784,39780,39788,40188,40186,40189,40191,40183,40199,40192,40185,40187,40200,40197,40196,40579,40659,40719,40720,20764,20755,20759,20762,20753,20958,21300,21473,22128,22112,22126,22131,22118,22115,22125,22130,22110,22135,22300,22299,22728,22717,22729,22719,22714,22722,22716,22726,23319,23321,23323,23329,23316,23315,23312,23318,23336,23322,23328,23326,23535,23980,23985,23977,23975,23989,23984,23982,23978,23976,23986,23981,23983,23988,24167,24168,24166,24175,24297,24295,24294,24296,24293,24395,24508,24989,25e3,24982,25029,25012,25030,25025,25036,25018,25023,25016,24972,25815,25814,25808,25807,25801,25789,25737,25795,25819,25843,25817,25907,25983,25980,26018,26312,26302,26304,26314,26315,26319,26301,26299,26298,26316,26403,27188,27238,27209,27239,27186,27240,27198,27229,27245,27254,27227,27217,27176,27226,27195,27199,27201,27242,27236,27216,27215,27220,27247,27241,27232,27196,27230,27222,27221,27213,27214,27206,27477,27476,27478,27559,27562,27563,27592,27591,27652,27651,27654,28589,28619,28579,28615,28604,28622,28616,28510,28612,28605,28574,28618,28584,28676,28581,28590,28602,28588,28586,28623,28607,28600,28578,28617,28587,28621,28591,28594,28592,29125,29122,29119,29112,29142,29120,29121,29131,29140,29130,29127,29135,29117,29144,29116,29126,29146,29147,29341,29342,29545,29542,29543,29548,29541,29547,29546,29823,29850,29856,29844,29842,29845,29857,29963,30080,30255,30253,30257,30269,30259,30268,30261,30258,30256,30395,30438,30618,30621,30625,30620,30619,30626,30627,30613,30617,30615,30941,30953,30949,30954,30942,30947,30939,30945,30946,30957,30943,30944,31140,31300,31304,31303,31414,31416,31413,31409,31415,31710,31715,31719,31709,31701,31717,31706,31720,31737,31700,31722,31714,31708,31723,31704,31711,31954,31956,31959,31952,31953,32274,32289,32279,32268,32287,32288,32275,32270,32284,32277,32282,32290,32267,32271,32278,32269,32276,32293,32292,32579,32635,32636,32634,32689,32751,32810,32809,32876,33201,33190,33198,33209,33205,33195,33200,33196,33204,33202,33207,33191,33266,33365,33366,33367,34134,34117,34155,34125,34131,34145,34136,34112,34118,34148,34113,34146,34116,34129,34119,34147,34110,34139,34161,34126,34158,34165,34133,34151,34144,34188,34150,34141,34132,34149,34156,34403,34405,34404,34715,34703,34711,34707,34706,34696,34689,34710,34712,34681,34695,34723,34693,34704,34705,34717,34692,34708,34716,34714,34697,35102,35110,35120,35117,35118,35111,35121,35106,35113,35107,35119,35116,35103,35313,35552,35554,35570,35572,35573,35549,35604,35556,35551,35568,35528,35550,35553,35560,35583,35567,35579,35985,35986,35984,36085,36078,36081,36080,36083,36204,36206,36261,36263,36403,36414,36408,36416,36421,36406,36412,36413,36417,36400,36415,36541,36662,36654,36661,36658,36665,36663,36660,36982,36985,36987,36998,37114,37171,37173,37174,37267,37264,37265,37261,37263,37671,37662,37640,37663,37638,37647,37754,37688,37692,37659,37667,37650,37633,37702,37677,37646,37645,37579,37661,37626,37669,37651,37625,37623,37684,37634,37668,37631,37673,37689,37685,37674,37652,37644,37643,37630,37641,37632,37627,37654,38332,38349,38334,38329,38330,38326,38335,38325,38333,38569,38612,38667,38674,38672,38809,38807,38804,38896,38904,38965,38959,38962,39204,39199,39207,39209,39326,39406,39404,39397,39396,39408,39395,39402,39401,39399,39609,39615,39604,39611,39670,39674,39673,39671,39731,39808,39813,39815,39804,39806,39803,39810,39827,39826,39824,39802,39829,39805,39816,40229,40215,40224,40222,40212,40233,40221,40216,40226,40208,40217,40223,40584,40582,40583,40622,40621,40661,40662,40698,40722,40765,20774,20773,20770,20772,20768,20777,21236,22163,22156,22157,22150,22148,22147,22142,22146,22143,22145,22742,22740,22735,22738,23341,23333,23346,23331,23340,23335,23334,23343,23342,23419,23537,23538,23991,24172,24170,24510,24507,25027,25013,25020,25063,25056,25061,25060,25064,25054,25839,25833,25827,25835,25828,25832,25985,25984,26038,26074,26322,27277,27286,27265,27301,27273,27295,27291,27297,27294,27271,27283,27278,27285,27267,27304,27300,27281,27263,27302,27290,27269,27276,27282,27483,27565,27657,28620,28585,28660,28628,28643,28636,28653,28647,28646,28638,28658,28637,28642,28648,29153,29169,29160,29170,29156,29168,29154,29555,29550,29551,29847,29874,29867,29840,29866,29869,29873,29861,29871,29968,29969,29970,29967,30084,30275,30280,30281,30279,30372,30441,30645,30635,30642,30647,30646,30644,30641,30632,30704,30963,30973,30978,30971,30972,30962,30981,30969,30974,30980,31147,31144,31324,31323,31318,31320,31316,31322,31422,31424,31425,31749,31759,31730,31744,31743,31739,31758,31732,31755,31731,31746,31753,31747,31745,31736,31741,31750,31728,31729,31760,31754,31976,32301,32316,32322,32307,38984,32312,32298,32329,32320,32327,32297,32332,32304,32315,32310,32324,32314,32581,32639,32638,32637,32756,32754,32812,33211,33220,33228,33226,33221,33223,33212,33257,33371,33370,33372,34179,34176,34191,34215,34197,34208,34187,34211,34171,34212,34202,34206,34167,34172,34185,34209,34170,34168,34135,34190,34198,34182,34189,34201,34205,34177,34210,34178,34184,34181,34169,34166,34200,34192,34207,34408,34750,34730,34733,34757,34736,34732,34745,34741,34748,34734,34761,34755,34754,34764,34743,34735,34756,34762,34740,34742,34751,34744,34749,34782,34738,35125,35123,35132,35134,35137,35154,35127,35138,35245,35247,35246,35314,35315,35614,35608,35606,35601,35589,35595,35618,35599,35602,35605,35591,35597,35592,35590,35612,35603,35610,35919,35952,35954,35953,35951,35989,35988,36089,36207,36430,36429,36435,36432,36428,36423,36675,36672,36997,36990,37176,37274,37282,37275,37273,37279,37281,37277,37280,37793,37763,37807,37732,37718,37703,37756,37720,37724,37750,37705,37712,37713,37728,37741,37775,37708,37738,37753,37719,37717,37714,37711,37745,37751,37755,37729,37726,37731,37735,37760,37710,37721,38343,38336,38345,38339,38341,38327,38574,38576,38572,38688,38687,38680,38685,38681,38810,38817,38812,38814,38813,38869,38868,38897,38977,38980,38986,38985,38981,38979,39205,39211,39212,39210,39219,39218,39215,39213,39217,39216,39320,39331,39329,39426,39418,39412,39415,39417,39416,39414,39419,39421,39422,39420,39427,39614,39678,39677,39681,39676,39752,39834,39848,39838,39835,39846,39841,39845,39844,39814,39842,39840,39855,40243,40257,40295,40246,40238,40239,40241,40248,40240,40261,40258,40259,40254,40247,40256,40253,32757,40237,40586,40585,40589,40624,40648,40666,40699,40703,40740,40739,40738,40788,40864,20785,20781,20782,22168,22172,22167,22170,22173,22169,22896,23356,23657,23658,24e3,24173,24174,25048,25055,25069,25070,25073,25066,25072,25067,25046,25065,25855,25860,25853,25848,25857,25859,25852,26004,26075,26330,26331,26328,27333,27321,27325,27361,27334,27322,27318,27319,27335,27316,27309,27486,27593,27659,28679,28684,28685,28673,28677,28692,28686,28671,28672,28667,28710,28668,28663,28682,29185,29183,29177,29187,29181,29558,29880,29888,29877,29889,29886,29878,29883,29890,29972,29971,30300,30308,30297,30288,30291,30295,30298,30374,30397,30444,30658,30650,30975,30988,30995,30996,30985,30992,30994,30993,31149,31148,31327,31772,31785,31769,31776,31775,31789,31773,31782,31784,31778,31781,31792,32348,32336,32342,32355,32344,32354,32351,32337,32352,32343,32339,32693,32691,32759,32760,32885,33233,33234,33232,33375,33374,34228,34246,34240,34243,34242,34227,34229,34237,34247,34244,34239,34251,34254,34248,34245,34225,34230,34258,34340,34232,34231,34238,34409,34791,34790,34786,34779,34795,34794,34789,34783,34803,34788,34772,34780,34771,34797,34776,34787,34724,34775,34777,34817,34804,34792,34781,35155,35147,35151,35148,35142,35152,35153,35145,35626,35623,35619,35635,35632,35637,35655,35631,35644,35646,35633,35621,35639,35622,35638,35630,35620,35643,35645,35642,35906,35957,35993,35992,35991,36094,36100,36098,36096,36444,36450,36448,36439,36438,36446,36453,36455,36443,36442,36449,36445,36457,36436,36678,36679,36680,36683,37160,37178,37179,37182,37288,37285,37287,37295,37290,37813,37772,37778,37815,37787,37789,37769,37799,37774,37802,37790,37798,37781,37768,37785,37791,37773,37809,37777,37810,37796,37800,37812,37795,37797,38354,38355,38353,38579,38615,38618,24002,38623,38616,38621,38691,38690,38693,38828,38830,38824,38827,38820,38826,38818,38821,38871,38873,38870,38872,38906,38992,38993,38994,39096,39233,39228,39226,39439,39435,39433,39437,39428,39441,39434,39429,39431,39430,39616,39644,39688,39684,39685,39721,39733,39754,39756,39755,39879,39878,39875,39871,39873,39861,39864,39891,39862,39876,39865,39869,40284,40275,40271,40266,40283,40267,40281,40278,40268,40279,40274,40276,40287,40280,40282,40590,40588,40671,40705,40704,40726,40741,40747,40746,40745,40744,40780,40789,20788,20789,21142,21239,21428,22187,22189,22182,22183,22186,22188,22746,22749,22747,22802,23357,23358,23359,24003,24176,24511,25083,25863,25872,25869,25865,25868,25870,25988,26078,26077,26334,27367,27360,27340,27345,27353,27339,27359,27356,27344,27371,27343,27341,27358,27488,27568,27660,28697,28711,28704,28694,28715,28705,28706,28707,28713,28695,28708,28700,28714,29196,29194,29191,29186,29189,29349,29350,29348,29347,29345,29899,29893,29879,29891,29974,30304,30665,30666,30660,30705,31005,31003,31009,31004,30999,31006,31152,31335,31336,31795,31804,31801,31788,31803,31980,31978,32374,32373,32376,32368,32375,32367,32378,32370,32372,32360,32587,32586,32643,32646,32695,32765,32766,32888,33239,33237,33380,33377,33379,34283,34289,34285,34265,34273,34280,34266,34263,34284,34290,34296,34264,34271,34275,34268,34257,34288,34278,34287,34270,34274,34816,34810,34819,34806,34807,34825,34828,34827,34822,34812,34824,34815,34826,34818,35170,35162,35163,35159,35169,35164,35160,35165,35161,35208,35255,35254,35318,35664,35656,35658,35648,35667,35670,35668,35659,35669,35665,35650,35666,35671,35907,35959,35958,35994,36102,36103,36105,36268,36266,36269,36267,36461,36472,36467,36458,36463,36475,36546,36690,36689,36687,36688,36691,36788,37184,37183,37296,37293,37854,37831,37839,37826,37850,37840,37881,37868,37836,37849,37801,37862,37834,37844,37870,37859,37845,37828,37838,37824,37842,37863,38269,38362,38363,38625,38697,38699,38700,38696,38694,38835,38839,38838,38877,38878,38879,39004,39001,39005,38999,39103,39101,39099,39102,39240,39239,39235,39334,39335,39450,39445,39461,39453,39460,39451,39458,39456,39463,39459,39454,39452,39444,39618,39691,39690,39694,39692,39735,39914,39915,39904,39902,39908,39910,39906,39920,39892,39895,39916,39900,39897,39909,39893,39905,39898,40311,40321,40330,40324,40328,40305,40320,40312,40326,40331,40332,40317,40299,40308,40309,40304,40297,40325,40307,40315,40322,40303,40313,40319,40327,40296,40596,40593,40640,40700,40749,40768,40769,40781,40790,40791,40792,21303,22194,22197,22195,22755,23365,24006,24007,24302,24303,24512,24513,25081,25879,25878,25877,25875,26079,26344,26339,26340,27379,27376,27370,27368,27385,27377,27374,27375,28732,28725,28719,28727,28724,28721,28738,28728,28735,28730,28729,28736,28731,28723,28737,29203,29204,29352,29565,29564,29882,30379,30378,30398,30445,30668,30670,30671,30669,30706,31013,31011,31015,31016,31012,31017,31154,31342,31340,31341,31479,31817,31816,31818,31815,31813,31982,32379,32382,32385,32384,32698,32767,32889,33243,33241,33291,33384,33385,34338,34303,34305,34302,34331,34304,34294,34308,34313,34309,34316,34301,34841,34832,34833,34839,34835,34838,35171,35174,35257,35319,35680,35690,35677,35688,35683,35685,35687,35693,36270,36486,36488,36484,36697,36694,36695,36693,36696,36698,37005,37187,37185,37303,37301,37298,37299,37899,37907,37883,37920,37903,37908,37886,37909,37904,37928,37913,37901,37877,37888,37879,37895,37902,37910,37906,37882,37897,37880,37898,37887,37884,37900,37878,37905,37894,38366,38368,38367,38702,38703,38841,38843,38909,38910,39008,39010,39011,39007,39105,39106,39248,39246,39257,39244,39243,39251,39474,39476,39473,39468,39466,39478,39465,39470,39480,39469,39623,39626,39622,39696,39698,39697,39947,39944,39927,39941,39954,39928,4e4,39943,39950,39942,39959,39956,39945,40351,40345,40356,40349,40338,40344,40336,40347,40352,40340,40348,40362,40343,40353,40346,40354,40360,40350,40355,40383,40361,40342,40358,40359,40601,40603,40602,40677,40676,40679,40678,40752,40750,40795,40800,40798,40797,40793,40849,20794,20793,21144,21143,22211,22205,22206,23368,23367,24011,24015,24305,25085,25883,27394,27388,27395,27384,27392,28739,28740,28746,28744,28745,28741,28742,29213,29210,29209,29566,29975,30314,30672,31021,31025,31023,31828,31827,31986,32394,32391,32392,32395,32390,32397,32589,32699,32816,33245,34328,34346,34342,34335,34339,34332,34329,34343,34350,34337,34336,34345,34334,34341,34857,34845,34843,34848,34852,34844,34859,34890,35181,35177,35182,35179,35322,35705,35704,35653,35706,35707,36112,36116,36271,36494,36492,36702,36699,36701,37190,37188,37189,37305,37951,37947,37942,37929,37949,37948,37936,37945,37930,37943,37932,37952,37937,38373,38372,38371,38709,38714,38847,38881,39012,39113,39110,39104,39256,39254,39481,39485,39494,39492,39490,39489,39482,39487,39629,39701,39703,39704,39702,39738,39762,39979,39965,39964,39980,39971,39976,39977,39972,39969,40375,40374,40380,40385,40391,40394,40399,40382,40389,40387,40379,40373,40398,40377,40378,40364,40392,40369,40365,40396,40371,40397,40370,40570,40604,40683,40686,40685,40731,40728,40730,40753,40782,40805,40804,40850,20153,22214,22213,22219,22897,23371,23372,24021,24017,24306,25889,25888,25894,25890,27403,27400,27401,27661,28757,28758,28759,28754,29214,29215,29353,29567,29912,29909,29913,29911,30317,30381,31029,31156,31344,31345,31831,31836,31833,31835,31834,31988,31985,32401,32591,32647,33246,33387,34356,34357,34355,34348,34354,34358,34860,34856,34854,34858,34853,35185,35263,35262,35323,35710,35716,35714,35718,35717,35711,36117,36501,36500,36506,36498,36496,36502,36503,36704,36706,37191,37964,37968,37962,37963,37967,37959,37957,37960,37961,37958,38719,38883,39018,39017,39115,39252,39259,39502,39507,39508,39500,39503,39496,39498,39497,39506,39504,39632,39705,39723,39739,39766,39765,40006,40008,39999,40004,39993,39987,40001,39996,39991,39988,39986,39997,39990,40411,40402,40414,40410,40395,40400,40412,40401,40415,40425,40409,40408,40406,40437,40405,40413,40630,40688,40757,40755,40754,40770,40811,40853,40866,20797,21145,22760,22759,22898,23373,24024,34863,24399,25089,25091,25092,25897,25893,26006,26347,27409,27410,27407,27594,28763,28762,29218,29570,29569,29571,30320,30676,31847,31846,32405,33388,34362,34368,34361,34364,34353,34363,34366,34864,34866,34862,34867,35190,35188,35187,35326,35724,35726,35723,35720,35909,36121,36504,36708,36707,37308,37986,37973,37981,37975,37982,38852,38853,38912,39510,39513,39710,39711,39712,40018,40024,40016,40010,40013,40011,40021,40025,40012,40014,40443,40439,40431,40419,40427,40440,40420,40438,40417,40430,40422,40434,40432,40418,40428,40436,40435,40424,40429,40642,40656,40690,40691,40710,40732,40760,40759,40758,40771,40783,40817,40816,40814,40815,22227,22221,23374,23661,25901,26349,26350,27411,28767,28769,28765,28768,29219,29915,29925,30677,31032,31159,31158,31850,32407,32649,33389,34371,34872,34871,34869,34891,35732,35733,36510,36511,36512,36509,37310,37309,37314,37995,37992,37993,38629,38726,38723,38727,38855,38885,39518,39637,39769,40035,40039,40038,40034,40030,40032,40450,40446,40455,40451,40454,40453,40448,40449,40457,40447,40445,40452,40608,40734,40774,40820,40821,40822,22228,25902,26040,27416,27417,27415,27418,28770,29222,29354,30680,30681,31033,31849,31851,31990,32410,32408,32411,32409,33248,33249,34374,34375,34376,35193,35194,35196,35195,35327,35736,35737,36517,36516,36515,37998,37997,37999,38001,38003,38729,39026,39263,40040,40046,40045,40459,40461,40464,40463,40466,40465,40609,40693,40713,40775,40824,40827,40826,40825,22302,28774,31855,34876,36274,36518,37315,38004,38008,38006,38005,39520,40052,40051,40049,40053,40468,40467,40694,40714,40868,28776,28773,31991,34410,34878,34877,34879,35742,35996,36521,36553,38731,39027,39028,39116,39265,39339,39524,39526,39527,39716,40469,40471,40776,25095,27422,29223,34380,36520,38018,38016,38017,39529,39528,39726,40473,29225,34379,35743,38019,40057,40631,30325,39531,40058,40477,28777,28778,40612,40830,40777,40856,30849,37561,35023,22715,24658,31911,23290,9556,9574,9559,9568,9580,9571,9562,9577,9565,9554,9572,9557,9566,9578,9569,9560,9575,9563,9555,9573,9558,9567,9579,9570,9561,9576,9564,9553,9552,9581,9582,9584,9583,65517,132423,37595,132575,147397,34124,17077,29679,20917,13897,149826,166372,37700,137691,33518,146632,30780,26436,25311,149811,166314,131744,158643,135941,20395,140525,20488,159017,162436,144896,150193,140563,20521,131966,24484,131968,131911,28379,132127,20605,20737,13434,20750,39020,14147,33814,149924,132231,20832,144308,20842,134143,139516,131813,140592,132494,143923,137603,23426,34685,132531,146585,20914,20920,40244,20937,20943,20945,15580,20947,150182,20915,20962,21314,20973,33741,26942,145197,24443,21003,21030,21052,21173,21079,21140,21177,21189,31765,34114,21216,34317,158483,21253,166622,21833,28377,147328,133460,147436,21299,21316,134114,27851,136998,26651,29653,24650,16042,14540,136936,29149,17570,21357,21364,165547,21374,21375,136598,136723,30694,21395,166555,21408,21419,21422,29607,153458,16217,29596,21441,21445,27721,20041,22526,21465,15019,134031,21472,147435,142755,21494,134263,21523,28793,21803,26199,27995,21613,158547,134516,21853,21647,21668,18342,136973,134877,15796,134477,166332,140952,21831,19693,21551,29719,21894,21929,22021,137431,147514,17746,148533,26291,135348,22071,26317,144010,26276,26285,22093,22095,30961,22257,38791,21502,22272,22255,22253,166758,13859,135759,22342,147877,27758,28811,22338,14001,158846,22502,136214,22531,136276,148323,22566,150517,22620,22698,13665,22752,22748,135740,22779,23551,22339,172368,148088,37843,13729,22815,26790,14019,28249,136766,23076,21843,136850,34053,22985,134478,158849,159018,137180,23001,137211,137138,159142,28017,137256,136917,23033,159301,23211,23139,14054,149929,23159,14088,23190,29797,23251,159649,140628,15749,137489,14130,136888,24195,21200,23414,25992,23420,162318,16388,18525,131588,23509,24928,137780,154060,132517,23539,23453,19728,23557,138052,23571,29646,23572,138405,158504,23625,18653,23685,23785,23791,23947,138745,138807,23824,23832,23878,138916,23738,24023,33532,14381,149761,139337,139635,33415,14390,15298,24110,27274,24181,24186,148668,134355,21414,20151,24272,21416,137073,24073,24308,164994,24313,24315,14496,24316,26686,37915,24333,131521,194708,15070,18606,135994,24378,157832,140240,24408,140401,24419,38845,159342,24434,37696,166454,24487,23990,15711,152144,139114,159992,140904,37334,131742,166441,24625,26245,137335,14691,15815,13881,22416,141236,31089,15936,24734,24740,24755,149890,149903,162387,29860,20705,23200,24932,33828,24898,194726,159442,24961,20980,132694,24967,23466,147383,141407,25043,166813,170333,25040,14642,141696,141505,24611,24924,25886,25483,131352,25285,137072,25301,142861,25452,149983,14871,25656,25592,136078,137212,25744,28554,142902,38932,147596,153373,25825,25829,38011,14950,25658,14935,25933,28438,150056,150051,25989,25965,25951,143486,26037,149824,19255,26065,16600,137257,26080,26083,24543,144384,26136,143863,143864,26180,143780,143781,26187,134773,26215,152038,26227,26228,138813,143921,165364,143816,152339,30661,141559,39332,26370,148380,150049,15147,27130,145346,26462,26471,26466,147917,168173,26583,17641,26658,28240,37436,26625,144358,159136,26717,144495,27105,27147,166623,26995,26819,144845,26881,26880,15666,14849,144956,15232,26540,26977,166474,17148,26934,27032,15265,132041,33635,20624,27129,144985,139562,27205,145155,27293,15347,26545,27336,168348,15373,27421,133411,24798,27445,27508,141261,28341,146139,132021,137560,14144,21537,146266,27617,147196,27612,27703,140427,149745,158545,27738,33318,27769,146876,17605,146877,147876,149772,149760,146633,14053,15595,134450,39811,143865,140433,32655,26679,159013,159137,159211,28054,27996,28284,28420,149887,147589,159346,34099,159604,20935,27804,28189,33838,166689,28207,146991,29779,147330,31180,28239,23185,143435,28664,14093,28573,146992,28410,136343,147517,17749,37872,28484,28508,15694,28532,168304,15675,28575,147780,28627,147601,147797,147513,147440,147380,147775,20959,147798,147799,147776,156125,28747,28798,28839,28801,28876,28885,28886,28895,16644,15848,29108,29078,148087,28971,28997,23176,29002,29038,23708,148325,29007,37730,148161,28972,148570,150055,150050,29114,166888,28861,29198,37954,29205,22801,37955,29220,37697,153093,29230,29248,149876,26813,29269,29271,15957,143428,26637,28477,29314,29482,29483,149539,165931,18669,165892,29480,29486,29647,29610,134202,158254,29641,29769,147938,136935,150052,26147,14021,149943,149901,150011,29687,29717,26883,150054,29753,132547,16087,29788,141485,29792,167602,29767,29668,29814,33721,29804,14128,29812,37873,27180,29826,18771,150156,147807,150137,166799,23366,166915,137374,29896,137608,29966,29929,29982,167641,137803,23511,167596,37765,30029,30026,30055,30062,151426,16132,150803,30094,29789,30110,30132,30210,30252,30289,30287,30319,30326,156661,30352,33263,14328,157969,157966,30369,30373,30391,30412,159647,33890,151709,151933,138780,30494,30502,30528,25775,152096,30552,144044,30639,166244,166248,136897,30708,30729,136054,150034,26826,30895,30919,30931,38565,31022,153056,30935,31028,30897,161292,36792,34948,166699,155779,140828,31110,35072,26882,31104,153687,31133,162617,31036,31145,28202,160038,16040,31174,168205,31188],"euc-kr":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,45081,45082,45083,45086,45087,45088,45089,45090,45091,45092,45093,45094,45095,45097,45098,45099,45100,45101,45102,45103,45104,45105,45106,45107,45108,45109,45110,45111,45112,45113,45114,45115,45116,45117,45118,45119,45120,45121,45122,45123,45126,45127,45129,45131,45133,45135,45136,45137,45138,45142,45144,45146,45147,45148,45150,45151,45152,45153,45154,45155,45156,45157,45158,45159,45160,45161,45162,45163,45164,45165,45166,45167,45168,45169,45170,45171,45172,45173,45174,45175,45176,45177,45178,45179,45182,45183,45185,45186,45187,45189,45190,45191,45192,45193,45194,45195,45198,45200,45202,45203,45204,45205,45206,45207,45211,45213,45214,45219,45220,45221,45222,45223,45226,45232,45234,45238,45239,45241,45242,45243,45245,45246,45247,45248,45249,45250,45251,45254,45258,45259,45260,45261,45262,45263,45266,null,null,null,null,null,null,45267,45269,45270,45271,45273,45274,45275,45276,45277,45278,45279,45281,45282,45283,45284,45286,45287,45288,45289,45290,45291,45292,45293,45294,45295,45296,null,null,null,null,null,null,45297,45298,45299,45300,45301,45302,45303,45304,45305,45306,45307,45308,45309,45310,45311,45312,45313,45314,45315,45316,45317,45318,45319,45322,45325,45326,45327,45329,45332,45333,45334,45335,45338,45342,45343,45344,45345,45346,45350,45351,45353,45354,45355,45357,45358,45359,45360,45361,45362,45363,45366,45370,45371,45372,45373,45374,45375,45378,45379,45381,45382,45383,45385,45386,45387,45388,45389,45390,45391,45394,45395,45398,45399,45401,45402,45403,45405,45406,45407,45409,45410,45411,45412,45413,45414,45415,45416,45417,45418,45419,45420,45421,45422,45423,45424,45425,45426,45427,45428,45429,45430,45431,45434,45435,45437,45438,45439,45441,45443,45444,45445,45446,45447,45450,45452,45454,45455,45456,45457,45461,45462,45463,45465,45466,45467,45469,45470,45471,45472,45473,45474,45475,45476,45477,45478,45479,45481,45482,45483,45484,45485,45486,45487,45488,45489,45490,45491,45492,45493,45494,45495,45496,null,null,null,null,null,null,45497,45498,45499,45500,45501,45502,45503,45504,45505,45506,45507,45508,45509,45510,45511,45512,45513,45514,45515,45517,45518,45519,45521,45522,45523,45525,null,null,null,null,null,null,45526,45527,45528,45529,45530,45531,45534,45536,45537,45538,45539,45540,45541,45542,45543,45546,45547,45549,45550,45551,45553,45554,45555,45556,45557,45558,45559,45560,45562,45564,45566,45567,45568,45569,45570,45571,45574,45575,45577,45578,45581,45582,45583,45584,45585,45586,45587,45590,45592,45594,45595,45596,45597,45598,45599,45601,45602,45603,45604,45605,45606,45607,45608,45609,45610,45611,45612,45613,45614,45615,45616,45617,45618,45619,45621,45622,45623,45624,45625,45626,45627,45629,45630,45631,45632,45633,45634,45635,45636,45637,45638,45639,45640,45641,45642,45643,45644,45645,45646,45647,45648,45649,45650,45651,45652,45653,45654,45655,45657,45658,45659,45661,45662,45663,45665,45666,45667,45668,45669,45670,45671,45674,45675,45676,45677,45678,45679,45680,45681,45682,45683,45686,45687,45688,45689,45690,45691,45693,45694,45695,45696,45697,45698,45699,45702,45703,45704,45706,45707,45708,45709,45710,null,null,null,null,null,null,45711,45714,45715,45717,45718,45719,45723,45724,45725,45726,45727,45730,45732,45735,45736,45737,45739,45741,45742,45743,45745,45746,45747,45749,45750,45751,null,null,null,null,null,null,45752,45753,45754,45755,45756,45757,45758,45759,45760,45761,45762,45763,45764,45765,45766,45767,45770,45771,45773,45774,45775,45777,45779,45780,45781,45782,45783,45786,45788,45790,45791,45792,45793,45795,45799,45801,45802,45808,45809,45810,45814,45820,45821,45822,45826,45827,45829,45830,45831,45833,45834,45835,45836,45837,45838,45839,45842,45846,45847,45848,45849,45850,45851,45853,45854,45855,45856,45857,45858,45859,45860,45861,45862,45863,45864,45865,45866,45867,45868,45869,45870,45871,45872,45873,45874,45875,45876,45877,45878,45879,45880,45881,45882,45883,45884,45885,45886,45887,45888,45889,45890,45891,45892,45893,45894,45895,45896,45897,45898,45899,45900,45901,45902,45903,45904,45905,45906,45907,45911,45913,45914,45917,45920,45921,45922,45923,45926,45928,45930,45932,45933,45935,45938,45939,45941,45942,45943,45945,45946,45947,45948,45949,45950,45951,45954,45958,45959,45960,45961,45962,45963,45965,null,null,null,null,null,null,45966,45967,45969,45970,45971,45973,45974,45975,45976,45977,45978,45979,45980,45981,45982,45983,45986,45987,45988,45989,45990,45991,45993,45994,45995,45997,null,null,null,null,null,null,45998,45999,46e3,46001,46002,46003,46004,46005,46006,46007,46008,46009,46010,46011,46012,46013,46014,46015,46016,46017,46018,46019,46022,46023,46025,46026,46029,46031,46033,46034,46035,46038,46040,46042,46044,46046,46047,46049,46050,46051,46053,46054,46055,46057,46058,46059,46060,46061,46062,46063,46064,46065,46066,46067,46068,46069,46070,46071,46072,46073,46074,46075,46077,46078,46079,46080,46081,46082,46083,46084,46085,46086,46087,46088,46089,46090,46091,46092,46093,46094,46095,46097,46098,46099,46100,46101,46102,46103,46105,46106,46107,46109,46110,46111,46113,46114,46115,46116,46117,46118,46119,46122,46124,46125,46126,46127,46128,46129,46130,46131,46133,46134,46135,46136,46137,46138,46139,46140,46141,46142,46143,46144,46145,46146,46147,46148,46149,46150,46151,46152,46153,46154,46155,46156,46157,46158,46159,46162,46163,46165,46166,46167,46169,46170,46171,46172,46173,46174,46175,46178,46180,46182,null,null,null,null,null,null,46183,46184,46185,46186,46187,46189,46190,46191,46192,46193,46194,46195,46196,46197,46198,46199,46200,46201,46202,46203,46204,46205,46206,46207,46209,46210,null,null,null,null,null,null,46211,46212,46213,46214,46215,46217,46218,46219,46220,46221,46222,46223,46224,46225,46226,46227,46228,46229,46230,46231,46232,46233,46234,46235,46236,46238,46239,46240,46241,46242,46243,46245,46246,46247,46249,46250,46251,46253,46254,46255,46256,46257,46258,46259,46260,46262,46264,46266,46267,46268,46269,46270,46271,46273,46274,46275,46277,46278,46279,46281,46282,46283,46284,46285,46286,46287,46289,46290,46291,46292,46294,46295,46296,46297,46298,46299,46302,46303,46305,46306,46309,46311,46312,46313,46314,46315,46318,46320,46322,46323,46324,46325,46326,46327,46329,46330,46331,46332,46333,46334,46335,46336,46337,46338,46339,46340,46341,46342,46343,46344,46345,46346,46347,46348,46349,46350,46351,46352,46353,46354,46355,46358,46359,46361,46362,46365,46366,46367,46368,46369,46370,46371,46374,46379,46380,46381,46382,46383,46386,46387,46389,46390,46391,46393,46394,46395,46396,46397,46398,46399,46402,46406,null,null,null,null,null,null,46407,46408,46409,46410,46414,46415,46417,46418,46419,46421,46422,46423,46424,46425,46426,46427,46430,46434,46435,46436,46437,46438,46439,46440,46441,46442,null,null,null,null,null,null,46443,46444,46445,46446,46447,46448,46449,46450,46451,46452,46453,46454,46455,46456,46457,46458,46459,46460,46461,46462,46463,46464,46465,46466,46467,46468,46469,46470,46471,46472,46473,46474,46475,46476,46477,46478,46479,46480,46481,46482,46483,46484,46485,46486,46487,46488,46489,46490,46491,46492,46493,46494,46495,46498,46499,46501,46502,46503,46505,46508,46509,46510,46511,46514,46518,46519,46520,46521,46522,46526,46527,46529,46530,46531,46533,46534,46535,46536,46537,46538,46539,46542,46546,46547,46548,46549,46550,46551,46553,46554,46555,46556,46557,46558,46559,46560,46561,46562,46563,46564,46565,46566,46567,46568,46569,46570,46571,46573,46574,46575,46576,46577,46578,46579,46580,46581,46582,46583,46584,46585,46586,46587,46588,46589,46590,46591,46592,46593,46594,46595,46596,46597,46598,46599,46600,46601,46602,46603,46604,46605,46606,46607,46610,46611,46613,46614,46615,46617,46618,46619,46620,46621,null,null,null,null,null,null,46622,46623,46624,46625,46626,46627,46628,46630,46631,46632,46633,46634,46635,46637,46638,46639,46640,46641,46642,46643,46645,46646,46647,46648,46649,46650,null,null,null,null,null,null,46651,46652,46653,46654,46655,46656,46657,46658,46659,46660,46661,46662,46663,46665,46666,46667,46668,46669,46670,46671,46672,46673,46674,46675,46676,46677,46678,46679,46680,46681,46682,46683,46684,46685,46686,46687,46688,46689,46690,46691,46693,46694,46695,46697,46698,46699,46700,46701,46702,46703,46704,46705,46706,46707,46708,46709,46710,46711,46712,46713,46714,46715,46716,46717,46718,46719,46720,46721,46722,46723,46724,46725,46726,46727,46728,46729,46730,46731,46732,46733,46734,46735,46736,46737,46738,46739,46740,46741,46742,46743,46744,46745,46746,46747,46750,46751,46753,46754,46755,46757,46758,46759,46760,46761,46762,46765,46766,46767,46768,46770,46771,46772,46773,46774,46775,46776,46777,46778,46779,46780,46781,46782,46783,46784,46785,46786,46787,46788,46789,46790,46791,46792,46793,46794,46795,46796,46797,46798,46799,46800,46801,46802,46803,46805,46806,46807,46808,46809,46810,46811,46812,46813,null,null,null,null,null,null,46814,46815,46816,46817,46818,46819,46820,46821,46822,46823,46824,46825,46826,46827,46828,46829,46830,46831,46833,46834,46835,46837,46838,46839,46841,46842,null,null,null,null,null,null,46843,46844,46845,46846,46847,46850,46851,46852,46854,46855,46856,46857,46858,46859,46860,46861,46862,46863,46864,46865,46866,46867,46868,46869,46870,46871,46872,46873,46874,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46885,46886,46887,46890,46891,46893,46894,46897,46898,46899,46900,46901,46902,46903,46906,46908,46909,46910,46911,46912,46913,46914,46915,46917,46918,46919,46921,46922,46923,46925,46926,46927,46928,46929,46930,46931,46934,46935,46936,46937,46938,46939,46940,46941,46942,46943,46945,46946,46947,46949,46950,46951,46953,46954,46955,46956,46957,46958,46959,46962,46964,46966,46967,46968,46969,46970,46971,46974,46975,46977,46978,46979,46981,46982,46983,46984,46985,46986,46987,46990,46995,46996,46997,47002,47003,47005,47006,47007,47009,47010,47011,47012,47013,47014,47015,47018,47022,47023,47024,47025,47026,47027,47030,47031,47033,47034,47035,47036,47037,47038,47039,47040,47041,null,null,null,null,null,null,47042,47043,47044,47045,47046,47048,47050,47051,47052,47053,47054,47055,47056,47057,47058,47059,47060,47061,47062,47063,47064,47065,47066,47067,47068,47069,null,null,null,null,null,null,47070,47071,47072,47073,47074,47075,47076,47077,47078,47079,47080,47081,47082,47083,47086,47087,47089,47090,47091,47093,47094,47095,47096,47097,47098,47099,47102,47106,47107,47108,47109,47110,47114,47115,47117,47118,47119,47121,47122,47123,47124,47125,47126,47127,47130,47132,47134,47135,47136,47137,47138,47139,47142,47143,47145,47146,47147,47149,47150,47151,47152,47153,47154,47155,47158,47162,47163,47164,47165,47166,47167,47169,47170,47171,47173,47174,47175,47176,47177,47178,47179,47180,47181,47182,47183,47184,47186,47188,47189,47190,47191,47192,47193,47194,47195,47198,47199,47201,47202,47203,47205,47206,47207,47208,47209,47210,47211,47214,47216,47218,47219,47220,47221,47222,47223,47225,47226,47227,47229,47230,47231,47232,47233,47234,47235,47236,47237,47238,47239,47240,47241,47242,47243,47244,47246,47247,47248,47249,47250,47251,47252,47253,47254,47255,47256,47257,47258,47259,47260,47261,47262,47263,null,null,null,null,null,null,47264,47265,47266,47267,47268,47269,47270,47271,47273,47274,47275,47276,47277,47278,47279,47281,47282,47283,47285,47286,47287,47289,47290,47291,47292,47293,null,null,null,null,null,null,47294,47295,47298,47300,47302,47303,47304,47305,47306,47307,47309,47310,47311,47313,47314,47315,47317,47318,47319,47320,47321,47322,47323,47324,47326,47328,47330,47331,47332,47333,47334,47335,47338,47339,47341,47342,47343,47345,47346,47347,47348,47349,47350,47351,47354,47356,47358,47359,47360,47361,47362,47363,47365,47366,47367,47368,47369,47370,47371,47372,47373,47374,47375,47376,47377,47378,47379,47380,47381,47382,47383,47385,47386,47387,47388,47389,47390,47391,47393,47394,47395,47396,47397,47398,47399,47400,47401,47402,47403,47404,47405,47406,47407,47408,47409,47410,47411,47412,47413,47414,47415,47416,47417,47418,47419,47422,47423,47425,47426,47427,47429,47430,47431,47432,47433,47434,47435,47437,47438,47440,47442,47443,47444,47445,47446,47447,47450,47451,47453,47454,47455,47457,47458,47459,47460,47461,47462,47463,47466,47468,47470,47471,47472,47473,47474,47475,47478,47479,47481,47482,47483,47485,null,null,null,null,null,null,47486,47487,47488,47489,47490,47491,47494,47496,47499,47500,47503,47504,47505,47506,47507,47508,47509,47510,47511,47512,47513,47514,47515,47516,47517,47518,null,null,null,null,null,null,47519,47520,47521,47522,47523,47524,47525,47526,47527,47528,47529,47530,47531,47534,47535,47537,47538,47539,47541,47542,47543,47544,47545,47546,47547,47550,47552,47554,47555,47556,47557,47558,47559,47562,47563,47565,47571,47572,47573,47574,47575,47578,47580,47583,47584,47586,47590,47591,47593,47594,47595,47597,47598,47599,47600,47601,47602,47603,47606,47611,47612,47613,47614,47615,47618,47619,47620,47621,47622,47623,47625,47626,47627,47628,47629,47630,47631,47632,47633,47634,47635,47636,47638,47639,47640,47641,47642,47643,47644,47645,47646,47647,47648,47649,47650,47651,47652,47653,47654,47655,47656,47657,47658,47659,47660,47661,47662,47663,47664,47665,47666,47667,47668,47669,47670,47671,47674,47675,47677,47678,47679,47681,47683,47684,47685,47686,47687,47690,47692,47695,47696,47697,47698,47702,47703,47705,47706,47707,47709,47710,47711,47712,47713,47714,47715,47718,47722,47723,47724,47725,47726,47727,null,null,null,null,null,null,47730,47731,47733,47734,47735,47737,47738,47739,47740,47741,47742,47743,47744,47745,47746,47750,47752,47753,47754,47755,47757,47758,47759,47760,47761,47762,null,null,null,null,null,null,47763,47764,47765,47766,47767,47768,47769,47770,47771,47772,47773,47774,47775,47776,47777,47778,47779,47780,47781,47782,47783,47786,47789,47790,47791,47793,47795,47796,47797,47798,47799,47802,47804,47806,47807,47808,47809,47810,47811,47813,47814,47815,47817,47818,47819,47820,47821,47822,47823,47824,47825,47826,47827,47828,47829,47830,47831,47834,47835,47836,47837,47838,47839,47840,47841,47842,47843,47844,47845,47846,47847,47848,47849,47850,47851,47852,47853,47854,47855,47856,47857,47858,47859,47860,47861,47862,47863,47864,47865,47866,47867,47869,47870,47871,47873,47874,47875,47877,47878,47879,47880,47881,47882,47883,47884,47886,47888,47890,47891,47892,47893,47894,47895,47897,47898,47899,47901,47902,47903,47905,47906,47907,47908,47909,47910,47911,47912,47914,47916,47917,47918,47919,47920,47921,47922,47923,47927,47929,47930,47935,47936,47937,47938,47939,47942,47944,47946,47947,47948,47950,47953,47954,null,null,null,null,null,null,47955,47957,47958,47959,47961,47962,47963,47964,47965,47966,47967,47968,47970,47972,47973,47974,47975,47976,47977,47978,47979,47981,47982,47983,47984,47985,null,null,null,null,null,null,47986,47987,47988,47989,47990,47991,47992,47993,47994,47995,47996,47997,47998,47999,48e3,48001,48002,48003,48004,48005,48006,48007,48009,48010,48011,48013,48014,48015,48017,48018,48019,48020,48021,48022,48023,48024,48025,48026,48027,48028,48029,48030,48031,48032,48033,48034,48035,48037,48038,48039,48041,48042,48043,48045,48046,48047,48048,48049,48050,48051,48053,48054,48056,48057,48058,48059,48060,48061,48062,48063,48065,48066,48067,48069,48070,48071,48073,48074,48075,48076,48077,48078,48079,48081,48082,48084,48085,48086,48087,48088,48089,48090,48091,48092,48093,48094,48095,48096,48097,48098,48099,48100,48101,48102,48103,48104,48105,48106,48107,48108,48109,48110,48111,48112,48113,48114,48115,48116,48117,48118,48119,48122,48123,48125,48126,48129,48131,48132,48133,48134,48135,48138,48142,48144,48146,48147,48153,48154,48160,48161,48162,48163,48166,48168,48170,48171,48172,48174,48175,48178,48179,48181,null,null,null,null,null,null,48182,48183,48185,48186,48187,48188,48189,48190,48191,48194,48198,48199,48200,48202,48203,48206,48207,48209,48210,48211,48212,48213,48214,48215,48216,48217,null,null,null,null,null,null,48218,48219,48220,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48234,48235,48236,48237,48238,48239,48240,48241,48242,48243,48244,48245,48246,48247,48248,48249,48250,48251,48252,48253,48254,48255,48256,48257,48258,48259,48262,48263,48265,48266,48269,48271,48272,48273,48274,48275,48278,48280,48283,48284,48285,48286,48287,48290,48291,48293,48294,48297,48298,48299,48300,48301,48302,48303,48306,48310,48311,48312,48313,48314,48315,48318,48319,48321,48322,48323,48325,48326,48327,48328,48329,48330,48331,48332,48334,48338,48339,48340,48342,48343,48345,48346,48347,48349,48350,48351,48352,48353,48354,48355,48356,48357,48358,48359,48360,48361,48362,48363,48364,48365,48366,48367,48368,48369,48370,48371,48375,48377,48378,48379,48381,48382,48383,48384,48385,48386,48387,48390,48392,48394,48395,48396,48397,48398,48399,48401,48402,48403,48405,48406,48407,48408,48409,48410,48411,48412,48413,null,null,null,null,null,null,48414,48415,48416,48417,48418,48419,48421,48422,48423,48424,48425,48426,48427,48429,48430,48431,48432,48433,48434,48435,48436,48437,48438,48439,48440,48441,null,null,null,null,null,null,48442,48443,48444,48445,48446,48447,48449,48450,48451,48452,48453,48454,48455,48458,48459,48461,48462,48463,48465,48466,48467,48468,48469,48470,48471,48474,48475,48476,48477,48478,48479,48480,48481,48482,48483,48485,48486,48487,48489,48490,48491,48492,48493,48494,48495,48496,48497,48498,48499,48500,48501,48502,48503,48504,48505,48506,48507,48508,48509,48510,48511,48514,48515,48517,48518,48523,48524,48525,48526,48527,48530,48532,48534,48535,48536,48539,48541,48542,48543,48544,48545,48546,48547,48549,48550,48551,48552,48553,48554,48555,48556,48557,48558,48559,48561,48562,48563,48564,48565,48566,48567,48569,48570,48571,48572,48573,48574,48575,48576,48577,48578,48579,48580,48581,48582,48583,48584,48585,48586,48587,48588,48589,48590,48591,48592,48593,48594,48595,48598,48599,48601,48602,48603,48605,48606,48607,48608,48609,48610,48611,48612,48613,48614,48615,48616,48618,48619,48620,48621,48622,48623,48625,null,null,null,null,null,null,48626,48627,48629,48630,48631,48633,48634,48635,48636,48637,48638,48639,48641,48642,48644,48646,48647,48648,48649,48650,48651,48654,48655,48657,48658,48659,null,null,null,null,null,null,48661,48662,48663,48664,48665,48666,48667,48670,48672,48673,48674,48675,48676,48677,48678,48679,48680,48681,48682,48683,48684,48685,48686,48687,48688,48689,48690,48691,48692,48693,48694,48695,48696,48697,48698,48699,48700,48701,48702,48703,48704,48705,48706,48707,48710,48711,48713,48714,48715,48717,48719,48720,48721,48722,48723,48726,48728,48732,48733,48734,48735,48738,48739,48741,48742,48743,48745,48747,48748,48749,48750,48751,48754,48758,48759,48760,48761,48762,48766,48767,48769,48770,48771,48773,48774,48775,48776,48777,48778,48779,48782,48786,48787,48788,48789,48790,48791,48794,48795,48796,48797,48798,48799,48800,48801,48802,48803,48804,48805,48806,48807,48809,48810,48811,48812,48813,48814,48815,48816,48817,48818,48819,48820,48821,48822,48823,48824,48825,48826,48827,48828,48829,48830,48831,48832,48833,48834,48835,48836,48837,48838,48839,48840,48841,48842,48843,48844,48845,48846,48847,48850,48851,null,null,null,null,null,null,48853,48854,48857,48858,48859,48860,48861,48862,48863,48865,48866,48870,48871,48872,48873,48874,48875,48877,48878,48879,48880,48881,48882,48883,48884,48885,null,null,null,null,null,null,48886,48887,48888,48889,48890,48891,48892,48893,48894,48895,48896,48898,48899,48900,48901,48902,48903,48906,48907,48908,48909,48910,48911,48912,48913,48914,48915,48916,48917,48918,48919,48922,48926,48927,48928,48929,48930,48931,48932,48933,48934,48935,48936,48937,48938,48939,48940,48941,48942,48943,48944,48945,48946,48947,48948,48949,48950,48951,48952,48953,48954,48955,48956,48957,48958,48959,48962,48963,48965,48966,48967,48969,48970,48971,48972,48973,48974,48975,48978,48979,48980,48982,48983,48984,48985,48986,48987,48988,48989,48990,48991,48992,48993,48994,48995,48996,48997,48998,48999,49e3,49001,49002,49003,49004,49005,49006,49007,49008,49009,49010,49011,49012,49013,49014,49015,49016,49017,49018,49019,49020,49021,49022,49023,49024,49025,49026,49027,49028,49029,49030,49031,49032,49033,49034,49035,49036,49037,49038,49039,49040,49041,49042,49043,49045,49046,49047,49048,49049,49050,49051,49052,49053,null,null,null,null,null,null,49054,49055,49056,49057,49058,49059,49060,49061,49062,49063,49064,49065,49066,49067,49068,49069,49070,49071,49073,49074,49075,49076,49077,49078,49079,49080,null,null,null,null,null,null,49081,49082,49083,49084,49085,49086,49087,49088,49089,49090,49091,49092,49094,49095,49096,49097,49098,49099,49102,49103,49105,49106,49107,49109,49110,49111,49112,49113,49114,49115,49117,49118,49120,49122,49123,49124,49125,49126,49127,49128,49129,49130,49131,49132,49133,49134,49135,49136,49137,49138,49139,49140,49141,49142,49143,49144,49145,49146,49147,49148,49149,49150,49151,49152,49153,49154,49155,49156,49157,49158,49159,49160,49161,49162,49163,49164,49165,49166,49167,49168,49169,49170,49171,49172,49173,49174,49175,49176,49177,49178,49179,49180,49181,49182,49183,49184,49185,49186,49187,49188,49189,49190,49191,49192,49193,49194,49195,49196,49197,49198,49199,49200,49201,49202,49203,49204,49205,49206,49207,49208,49209,49210,49211,49213,49214,49215,49216,49217,49218,49219,49220,49221,49222,49223,49224,49225,49226,49227,49228,49229,49230,49231,49232,49234,49235,49236,49237,49238,49239,49241,49242,49243,null,null,null,null,null,null,49245,49246,49247,49249,49250,49251,49252,49253,49254,49255,49258,49259,49260,49261,49262,49263,49264,49265,49266,49267,49268,49269,49270,49271,49272,49273,null,null,null,null,null,null,49274,49275,49276,49277,49278,49279,49280,49281,49282,49283,49284,49285,49286,49287,49288,49289,49290,49291,49292,49293,49294,49295,49298,49299,49301,49302,49303,49305,49306,49307,49308,49309,49310,49311,49314,49316,49318,49319,49320,49321,49322,49323,49326,49329,49330,49335,49336,49337,49338,49339,49342,49346,49347,49348,49350,49351,49354,49355,49357,49358,49359,49361,49362,49363,49364,49365,49366,49367,49370,49374,49375,49376,49377,49378,49379,49382,49383,49385,49386,49387,49389,49390,49391,49392,49393,49394,49395,49398,49400,49402,49403,49404,49405,49406,49407,49409,49410,49411,49413,49414,49415,49417,49418,49419,49420,49421,49422,49423,49425,49426,49427,49428,49430,49431,49432,49433,49434,49435,49441,49442,49445,49448,49449,49450,49451,49454,49458,49459,49460,49461,49463,49466,49467,49469,49470,49471,49473,49474,49475,49476,49477,49478,49479,49482,49486,49487,49488,49489,49490,49491,49494,49495,null,null,null,null,null,null,49497,49498,49499,49501,49502,49503,49504,49505,49506,49507,49510,49514,49515,49516,49517,49518,49519,49521,49522,49523,49525,49526,49527,49529,49530,49531,null,null,null,null,null,null,49532,49533,49534,49535,49536,49537,49538,49539,49540,49542,49543,49544,49545,49546,49547,49551,49553,49554,49555,49557,49559,49560,49561,49562,49563,49566,49568,49570,49571,49572,49574,49575,49578,49579,49581,49582,49583,49585,49586,49587,49588,49589,49590,49591,49592,49593,49594,49595,49596,49598,49599,49600,49601,49602,49603,49605,49606,49607,49609,49610,49611,49613,49614,49615,49616,49617,49618,49619,49621,49622,49625,49626,49627,49628,49629,49630,49631,49633,49634,49635,49637,49638,49639,49641,49642,49643,49644,49645,49646,49647,49650,49652,49653,49654,49655,49656,49657,49658,49659,49662,49663,49665,49666,49667,49669,49670,49671,49672,49673,49674,49675,49678,49680,49682,49683,49684,49685,49686,49687,49690,49691,49693,49694,49697,49698,49699,49700,49701,49702,49703,49706,49708,49710,49712,49715,49717,49718,49719,49720,49721,49722,49723,49724,49725,49726,49727,49728,49729,49730,49731,49732,49733,null,null,null,null,null,null,49734,49735,49737,49738,49739,49740,49741,49742,49743,49746,49747,49749,49750,49751,49753,49754,49755,49756,49757,49758,49759,49761,49762,49763,49764,49766,null,null,null,null,null,null,49767,49768,49769,49770,49771,49774,49775,49777,49778,49779,49781,49782,49783,49784,49785,49786,49787,49790,49792,49794,49795,49796,49797,49798,49799,49802,49803,49804,49805,49806,49807,49809,49810,49811,49812,49813,49814,49815,49817,49818,49820,49822,49823,49824,49825,49826,49827,49830,49831,49833,49834,49835,49838,49839,49840,49841,49842,49843,49846,49848,49850,49851,49852,49853,49854,49855,49856,49857,49858,49859,49860,49861,49862,49863,49864,49865,49866,49867,49868,49869,49870,49871,49872,49873,49874,49875,49876,49877,49878,49879,49880,49881,49882,49883,49886,49887,49889,49890,49893,49894,49895,49896,49897,49898,49902,49904,49906,49907,49908,49909,49911,49914,49917,49918,49919,49921,49922,49923,49924,49925,49926,49927,49930,49931,49934,49935,49936,49937,49938,49942,49943,49945,49946,49947,49949,49950,49951,49952,49953,49954,49955,49958,49959,49962,49963,49964,49965,49966,49967,49968,49969,49970,null,null,null,null,null,null,49971,49972,49973,49974,49975,49976,49977,49978,49979,49980,49981,49982,49983,49984,49985,49986,49987,49988,49990,49991,49992,49993,49994,49995,49996,49997,null,null,null,null,null,null,49998,49999,5e4,50001,50002,50003,50004,50005,50006,50007,50008,50009,50010,50011,50012,50013,50014,50015,50016,50017,50018,50019,50020,50021,50022,50023,50026,50027,50029,50030,50031,50033,50035,50036,50037,50038,50039,50042,50043,50046,50047,50048,50049,50050,50051,50053,50054,50055,50057,50058,50059,50061,50062,50063,50064,50065,50066,50067,50068,50069,50070,50071,50072,50073,50074,50075,50076,50077,50078,50079,50080,50081,50082,50083,50084,50085,50086,50087,50088,50089,50090,50091,50092,50093,50094,50095,50096,50097,50098,50099,50100,50101,50102,50103,50104,50105,50106,50107,50108,50109,50110,50111,50113,50114,50115,50116,50117,50118,50119,50120,50121,50122,50123,50124,50125,50126,50127,50128,50129,50130,50131,50132,50133,50134,50135,50138,50139,50141,50142,50145,50147,50148,50149,50150,50151,50154,50155,50156,50158,50159,50160,50161,50162,50163,50166,50167,50169,50170,50171,50172,50173,50174,null,null,null,null,null,null,50175,50176,50177,50178,50179,50180,50181,50182,50183,50185,50186,50187,50188,50189,50190,50191,50193,50194,50195,50196,50197,50198,50199,50200,50201,50202,null,null,null,null,null,null,50203,50204,50205,50206,50207,50208,50209,50210,50211,50213,50214,50215,50216,50217,50218,50219,50221,50222,50223,50225,50226,50227,50229,50230,50231,50232,50233,50234,50235,50238,50239,50240,50241,50242,50243,50244,50245,50246,50247,50249,50250,50251,50252,50253,50254,50255,50256,50257,50258,50259,50260,50261,50262,50263,50264,50265,50266,50267,50268,50269,50270,50271,50272,50273,50274,50275,50278,50279,50281,50282,50283,50285,50286,50287,50288,50289,50290,50291,50294,50295,50296,50298,50299,50300,50301,50302,50303,50305,50306,50307,50308,50309,50310,50311,50312,50313,50314,50315,50316,50317,50318,50319,50320,50321,50322,50323,50325,50326,50327,50328,50329,50330,50331,50333,50334,50335,50336,50337,50338,50339,50340,50341,50342,50343,50344,50345,50346,50347,50348,50349,50350,50351,50352,50353,50354,50355,50356,50357,50358,50359,50361,50362,50363,50365,50366,50367,50368,50369,50370,50371,50372,50373,null,null,null,null,null,null,50374,50375,50376,50377,50378,50379,50380,50381,50382,50383,50384,50385,50386,50387,50388,50389,50390,50391,50392,50393,50394,50395,50396,50397,50398,50399,null,null,null,null,null,null,50400,50401,50402,50403,50404,50405,50406,50407,50408,50410,50411,50412,50413,50414,50415,50418,50419,50421,50422,50423,50425,50427,50428,50429,50430,50434,50435,50436,50437,50438,50439,50440,50441,50442,50443,50445,50446,50447,50449,50450,50451,50453,50454,50455,50456,50457,50458,50459,50461,50462,50463,50464,50465,50466,50467,50468,50469,50470,50471,50474,50475,50477,50478,50479,50481,50482,50483,50484,50485,50486,50487,50490,50492,50494,50495,50496,50497,50498,50499,50502,50503,50507,50511,50512,50513,50514,50518,50522,50523,50524,50527,50530,50531,50533,50534,50535,50537,50538,50539,50540,50541,50542,50543,50546,50550,50551,50552,50553,50554,50555,50558,50559,50561,50562,50563,50565,50566,50568,50569,50570,50571,50574,50576,50578,50579,50580,50582,50585,50586,50587,50589,50590,50591,50593,50594,50595,50596,50597,50598,50599,50600,50602,50603,50604,50605,50606,50607,50608,50609,50610,50611,50614,null,null,null,null,null,null,50615,50618,50623,50624,50625,50626,50627,50635,50637,50639,50642,50643,50645,50646,50647,50649,50650,50651,50652,50653,50654,50655,50658,50660,50662,50663,null,null,null,null,null,null,50664,50665,50666,50667,50671,50673,50674,50675,50677,50680,50681,50682,50683,50690,50691,50692,50697,50698,50699,50701,50702,50703,50705,50706,50707,50708,50709,50710,50711,50714,50717,50718,50719,50720,50721,50722,50723,50726,50727,50729,50730,50731,50735,50737,50738,50742,50744,50746,50748,50749,50750,50751,50754,50755,50757,50758,50759,50761,50762,50763,50764,50765,50766,50767,50770,50774,50775,50776,50777,50778,50779,50782,50783,50785,50786,50787,50788,50789,50790,50791,50792,50793,50794,50795,50797,50798,50800,50802,50803,50804,50805,50806,50807,50810,50811,50813,50814,50815,50817,50818,50819,50820,50821,50822,50823,50826,50828,50830,50831,50832,50833,50834,50835,50838,50839,50841,50842,50843,50845,50846,50847,50848,50849,50850,50851,50854,50856,50858,50859,50860,50861,50862,50863,50866,50867,50869,50870,50871,50875,50876,50877,50878,50879,50882,50884,50886,50887,50888,50889,50890,50891,50894,null,null,null,null,null,null,50895,50897,50898,50899,50901,50902,50903,50904,50905,50906,50907,50910,50911,50914,50915,50916,50917,50918,50919,50922,50923,50925,50926,50927,50929,50930,null,null,null,null,null,null,50931,50932,50933,50934,50935,50938,50939,50940,50942,50943,50944,50945,50946,50947,50950,50951,50953,50954,50955,50957,50958,50959,50960,50961,50962,50963,50966,50968,50970,50971,50972,50973,50974,50975,50978,50979,50981,50982,50983,50985,50986,50987,50988,50989,50990,50991,50994,50996,50998,51e3,51001,51002,51003,51006,51007,51009,51010,51011,51013,51014,51015,51016,51017,51019,51022,51024,51033,51034,51035,51037,51038,51039,51041,51042,51043,51044,51045,51046,51047,51049,51050,51052,51053,51054,51055,51056,51057,51058,51059,51062,51063,51065,51066,51067,51071,51072,51073,51074,51078,51083,51084,51085,51087,51090,51091,51093,51097,51099,51100,51101,51102,51103,51106,51111,51112,51113,51114,51115,51118,51119,51121,51122,51123,51125,51126,51127,51128,51129,51130,51131,51134,51138,51139,51140,51141,51142,51143,51146,51147,51149,51151,51153,51154,51155,51156,51157,51158,51159,51161,51162,51163,51164,null,null,null,null,null,null,51166,51167,51168,51169,51170,51171,51173,51174,51175,51177,51178,51179,51181,51182,51183,51184,51185,51186,51187,51188,51189,51190,51191,51192,51193,51194,null,null,null,null,null,null,51195,51196,51197,51198,51199,51202,51203,51205,51206,51207,51209,51211,51212,51213,51214,51215,51218,51220,51223,51224,51225,51226,51227,51230,51231,51233,51234,51235,51237,51238,51239,51240,51241,51242,51243,51246,51248,51250,51251,51252,51253,51254,51255,51257,51258,51259,51261,51262,51263,51265,51266,51267,51268,51269,51270,51271,51274,51275,51278,51279,51280,51281,51282,51283,51285,51286,51287,51288,51289,51290,51291,51292,51293,51294,51295,51296,51297,51298,51299,51300,51301,51302,51303,51304,51305,51306,51307,51308,51309,51310,51311,51314,51315,51317,51318,51319,51321,51323,51324,51325,51326,51327,51330,51332,51336,51337,51338,51342,51343,51344,51345,51346,51347,51349,51350,51351,51352,51353,51354,51355,51356,51358,51360,51362,51363,51364,51365,51366,51367,51369,51370,51371,51372,51373,51374,51375,51376,51377,51378,51379,51380,51381,51382,51383,51384,51385,51386,51387,51390,51391,51392,51393,null,null,null,null,null,null,51394,51395,51397,51398,51399,51401,51402,51403,51405,51406,51407,51408,51409,51410,51411,51414,51416,51418,51419,51420,51421,51422,51423,51426,51427,51429,null,null,null,null,null,null,51430,51431,51432,51433,51434,51435,51436,51437,51438,51439,51440,51441,51442,51443,51444,51446,51447,51448,51449,51450,51451,51454,51455,51457,51458,51459,51463,51464,51465,51466,51467,51470,12288,12289,12290,183,8229,8230,168,12291,173,8213,8741,65340,8764,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,177,215,247,8800,8804,8805,8734,8756,176,8242,8243,8451,8491,65504,65505,65509,9794,9792,8736,8869,8978,8706,8711,8801,8786,167,8251,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8594,8592,8593,8595,8596,12307,8810,8811,8730,8765,8733,8757,8747,8748,8712,8715,8838,8839,8834,8835,8746,8745,8743,8744,65506,51472,51474,51475,51476,51477,51478,51479,51481,51482,51483,51484,51485,51486,51487,51488,51489,51490,51491,51492,51493,51494,51495,51496,51497,51498,51499,null,null,null,null,null,null,51501,51502,51503,51504,51505,51506,51507,51509,51510,51511,51512,51513,51514,51515,51516,51517,51518,51519,51520,51521,51522,51523,51524,51525,51526,51527,null,null,null,null,null,null,51528,51529,51530,51531,51532,51533,51534,51535,51538,51539,51541,51542,51543,51545,51546,51547,51548,51549,51550,51551,51554,51556,51557,51558,51559,51560,51561,51562,51563,51565,51566,51567,8658,8660,8704,8707,180,65374,711,728,733,730,729,184,731,161,191,720,8750,8721,8719,164,8457,8240,9665,9664,9655,9654,9828,9824,9825,9829,9831,9827,8857,9672,9635,9680,9681,9618,9636,9637,9640,9639,9638,9641,9832,9743,9742,9756,9758,182,8224,8225,8597,8599,8601,8598,8600,9837,9833,9834,9836,12927,12828,8470,13255,8482,13250,13272,8481,8364,174,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51569,51570,51571,51573,51574,51575,51576,51577,51578,51579,51581,51582,51583,51584,51585,51586,51587,51588,51589,51590,51591,51594,51595,51597,51598,51599,null,null,null,null,null,null,51601,51602,51603,51604,51605,51606,51607,51610,51612,51614,51615,51616,51617,51618,51619,51620,51621,51622,51623,51624,51625,51626,51627,51628,51629,51630,null,null,null,null,null,null,51631,51632,51633,51634,51635,51636,51637,51638,51639,51640,51641,51642,51643,51644,51645,51646,51647,51650,51651,51653,51654,51657,51659,51660,51661,51662,51663,51666,51668,51671,51672,51675,65281,65282,65283,65284,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65510,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,51678,51679,51681,51683,51685,51686,51688,51689,51690,51691,51694,51698,51699,51700,51701,51702,51703,51706,51707,51709,51710,51711,51713,51714,51715,51716,null,null,null,null,null,null,51717,51718,51719,51722,51726,51727,51728,51729,51730,51731,51733,51734,51735,51737,51738,51739,51740,51741,51742,51743,51744,51745,51746,51747,51748,51749,null,null,null,null,null,null,51750,51751,51752,51754,51755,51756,51757,51758,51759,51760,51761,51762,51763,51764,51765,51766,51767,51768,51769,51770,51771,51772,51773,51774,51775,51776,51777,51778,51779,51780,51781,51782,12593,12594,12595,12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,51783,51784,51785,51786,51787,51790,51791,51793,51794,51795,51797,51798,51799,51800,51801,51802,51803,51806,51810,51811,51812,51813,51814,51815,51817,51818,null,null,null,null,null,null,51819,51820,51821,51822,51823,51824,51825,51826,51827,51828,51829,51830,51831,51832,51833,51834,51835,51836,51838,51839,51840,51841,51842,51843,51845,51846,null,null,null,null,null,null,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,null,null,null,null,null,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892,51893,51894,51895,51896,51897,51898,51899,51902,51903,51905,51906,51907,51909,null,null,null,null,null,null,51910,51911,51912,51913,51914,51915,51918,51920,51922,51924,51925,51926,51927,51930,51931,51932,51933,51934,51935,51937,51938,51939,51940,51941,51942,51943,null,null,null,null,null,null,51944,51945,51946,51947,51949,51950,51951,51952,51953,51954,51955,51957,51958,51959,51960,51961,51962,51963,51964,51965,51966,51967,51968,51969,51970,51971,51972,51973,51974,51975,51977,51978,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,9490,9489,9498,9497,9494,9493,9486,9485,9502,9503,9505,9506,9510,9511,9513,9514,9517,9518,9521,9522,9525,9526,9529,9530,9533,9534,9536,9537,9539,9540,9541,9542,9543,9544,9545,9546,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51979,51980,51981,51982,51983,51985,51986,51987,51989,51990,51991,51993,51994,51995,51996,51997,51998,51999,52002,52003,52004,52005,52006,52007,52008,52009,null,null,null,null,null,null,52010,52011,52012,52013,52014,52015,52016,52017,52018,52019,52020,52021,52022,52023,52024,52025,52026,52027,52028,52029,52030,52031,52032,52034,52035,52036,null,null,null,null,null,null,52037,52038,52039,52042,52043,52045,52046,52047,52049,52050,52051,52052,52053,52054,52055,52058,52059,52060,52062,52063,52064,52065,52066,52067,52069,52070,52071,52072,52073,52074,52075,52076,13205,13206,13207,8467,13208,13252,13219,13220,13221,13222,13209,13210,13211,13212,13213,13214,13215,13216,13217,13218,13258,13197,13198,13199,13263,13192,13193,13256,13223,13224,13232,13233,13234,13235,13236,13237,13238,13239,13240,13241,13184,13185,13186,13187,13188,13242,13243,13244,13245,13246,13247,13200,13201,13202,13203,13204,8486,13248,13249,13194,13195,13196,13270,13253,13229,13230,13231,13275,13225,13226,13227,13228,13277,13264,13267,13251,13257,13276,13254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52077,52078,52079,52080,52081,52082,52083,52084,52085,52086,52087,52090,52091,52092,52093,52094,52095,52096,52097,52098,52099,52100,52101,52102,52103,52104,null,null,null,null,null,null,52105,52106,52107,52108,52109,52110,52111,52112,52113,52114,52115,52116,52117,52118,52119,52120,52121,52122,52123,52125,52126,52127,52128,52129,52130,52131,null,null,null,null,null,null,52132,52133,52134,52135,52136,52137,52138,52139,52140,52141,52142,52143,52144,52145,52146,52147,52148,52149,52150,52151,52153,52154,52155,52156,52157,52158,52159,52160,52161,52162,52163,52164,198,208,170,294,null,306,null,319,321,216,338,186,222,358,330,null,12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911,12912,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,9424,9425,9426,9427,9428,9429,9430,9431,9432,9433,9434,9435,9436,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,189,8531,8532,188,190,8539,8540,8541,8542,52165,52166,52167,52168,52169,52170,52171,52172,52173,52174,52175,52176,52177,52178,52179,52181,52182,52183,52184,52185,52186,52187,52188,52189,52190,52191,null,null,null,null,null,null,52192,52193,52194,52195,52197,52198,52200,52202,52203,52204,52205,52206,52207,52208,52209,52210,52211,52212,52213,52214,52215,52216,52217,52218,52219,52220,null,null,null,null,null,null,52221,52222,52223,52224,52225,52226,52227,52228,52229,52230,52231,52232,52233,52234,52235,52238,52239,52241,52242,52243,52245,52246,52247,52248,52249,52250,52251,52254,52255,52256,52259,52260,230,273,240,295,305,307,312,320,322,248,339,223,254,359,331,329,12800,12801,12802,12803,12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819,12820,12821,12822,12823,12824,12825,12826,12827,9372,9373,9374,9375,9376,9377,9378,9379,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,9393,9394,9395,9396,9397,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,185,178,179,8308,8319,8321,8322,8323,8324,52261,52262,52266,52267,52269,52271,52273,52274,52275,52276,52277,52278,52279,52282,52287,52288,52289,52290,52291,52294,52295,52297,52298,52299,52301,52302,null,null,null,null,null,null,52303,52304,52305,52306,52307,52310,52314,52315,52316,52317,52318,52319,52321,52322,52323,52325,52327,52329,52330,52331,52332,52333,52334,52335,52337,52338,null,null,null,null,null,null,52339,52340,52342,52343,52344,52345,52346,52347,52348,52349,52350,52351,52352,52353,52354,52355,52356,52357,52358,52359,52360,52361,52362,52363,52364,52365,52366,52367,52368,52369,52370,52371,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,52372,52373,52374,52375,52378,52379,52381,52382,52383,52385,52386,52387,52388,52389,52390,52391,52394,52398,52399,52400,52401,52402,52403,52406,52407,52409,null,null,null,null,null,null,52410,52411,52413,52414,52415,52416,52417,52418,52419,52422,52424,52426,52427,52428,52429,52430,52431,52433,52434,52435,52437,52438,52439,52440,52441,52442,null,null,null,null,null,null,52443,52444,52445,52446,52447,52448,52449,52450,52451,52453,52454,52455,52456,52457,52458,52459,52461,52462,52463,52465,52466,52467,52468,52469,52470,52471,52472,52473,52474,52475,52476,52477,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,52478,52479,52480,52482,52483,52484,52485,52486,52487,52490,52491,52493,52494,52495,52497,52498,52499,52500,52501,52502,52503,52506,52508,52510,52511,52512,null,null,null,null,null,null,52513,52514,52515,52517,52518,52519,52521,52522,52523,52525,52526,52527,52528,52529,52530,52531,52532,52533,52534,52535,52536,52538,52539,52540,52541,52542,null,null,null,null,null,null,52543,52544,52545,52546,52547,52548,52549,52550,52551,52552,52553,52554,52555,52556,52557,52558,52559,52560,52561,52562,52563,52564,52565,52566,52567,52568,52569,52570,52571,52573,52574,52575,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,52577,52578,52579,52581,52582,52583,52584,52585,52586,52587,52590,52592,52594,52595,52596,52597,52598,52599,52601,52602,52603,52604,52605,52606,52607,52608,null,null,null,null,null,null,52609,52610,52611,52612,52613,52614,52615,52617,52618,52619,52620,52621,52622,52623,52624,52625,52626,52627,52630,52631,52633,52634,52635,52637,52638,52639,null,null,null,null,null,null,52640,52641,52642,52643,52646,52648,52650,52651,52652,52653,52654,52655,52657,52658,52659,52660,52661,52662,52663,52664,52665,52666,52667,52668,52669,52670,52671,52672,52673,52674,52675,52677,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52678,52679,52680,52681,52682,52683,52685,52686,52687,52689,52690,52691,52692,52693,52694,52695,52696,52697,52698,52699,52700,52701,52702,52703,52704,52705,null,null,null,null,null,null,52706,52707,52708,52709,52710,52711,52713,52714,52715,52717,52718,52719,52721,52722,52723,52724,52725,52726,52727,52730,52732,52734,52735,52736,52737,52738,null,null,null,null,null,null,52739,52741,52742,52743,52745,52746,52747,52749,52750,52751,52752,52753,52754,52755,52757,52758,52759,52760,52762,52763,52764,52765,52766,52767,52770,52771,52773,52774,52775,52777,52778,52779,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52780,52781,52782,52783,52786,52788,52790,52791,52792,52793,52794,52795,52796,52797,52798,52799,52800,52801,52802,52803,52804,52805,52806,52807,52808,52809,null,null,null,null,null,null,52810,52811,52812,52813,52814,52815,52816,52817,52818,52819,52820,52821,52822,52823,52826,52827,52829,52830,52834,52835,52836,52837,52838,52839,52842,52844,null,null,null,null,null,null,52846,52847,52848,52849,52850,52851,52854,52855,52857,52858,52859,52861,52862,52863,52864,52865,52866,52867,52870,52872,52874,52875,52876,52877,52878,52879,52882,52883,52885,52886,52887,52889,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52890,52891,52892,52893,52894,52895,52898,52902,52903,52904,52905,52906,52907,52910,52911,52912,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,null,null,null,null,null,null,52923,52924,52925,52926,52927,52928,52930,52931,52932,52933,52934,52935,52936,52937,52938,52939,52940,52941,52942,52943,52944,52945,52946,52947,52948,52949,null,null,null,null,null,null,52950,52951,52952,52953,52954,52955,52956,52957,52958,52959,52960,52961,52962,52963,52966,52967,52969,52970,52973,52974,52975,52976,52977,52978,52979,52982,52986,52987,52988,52989,52990,52991,44032,44033,44036,44039,44040,44041,44042,44048,44049,44050,44051,44052,44053,44054,44055,44057,44058,44059,44060,44061,44064,44068,44076,44077,44079,44080,44081,44088,44089,44092,44096,44107,44109,44116,44120,44124,44144,44145,44148,44151,44152,44154,44160,44161,44163,44164,44165,44166,44169,44170,44171,44172,44176,44180,44188,44189,44191,44192,44193,44200,44201,44202,44204,44207,44208,44216,44217,44219,44220,44221,44225,44228,44232,44236,44245,44247,44256,44257,44260,44263,44264,44266,44268,44271,44272,44273,44275,44277,44278,44284,44285,44288,44292,44294,52994,52995,52997,52998,52999,53001,53002,53003,53004,53005,53006,53007,53010,53012,53014,53015,53016,53017,53018,53019,53021,53022,53023,53025,53026,53027,null,null,null,null,null,null,53029,53030,53031,53032,53033,53034,53035,53038,53042,53043,53044,53045,53046,53047,53049,53050,53051,53052,53053,53054,53055,53056,53057,53058,53059,53060,null,null,null,null,null,null,53061,53062,53063,53064,53065,53066,53067,53068,53069,53070,53071,53072,53073,53074,53075,53078,53079,53081,53082,53083,53085,53086,53087,53088,53089,53090,53091,53094,53096,53098,53099,53100,44300,44301,44303,44305,44312,44316,44320,44329,44332,44333,44340,44341,44344,44348,44356,44357,44359,44361,44368,44372,44376,44385,44387,44396,44397,44400,44403,44404,44405,44406,44411,44412,44413,44415,44417,44418,44424,44425,44428,44432,44444,44445,44452,44471,44480,44481,44484,44488,44496,44497,44499,44508,44512,44516,44536,44537,44540,44543,44544,44545,44552,44553,44555,44557,44564,44592,44593,44596,44599,44600,44602,44608,44609,44611,44613,44614,44618,44620,44621,44622,44624,44628,44630,44636,44637,44639,44640,44641,44645,44648,44649,44652,44656,44664,53101,53102,53103,53106,53107,53109,53110,53111,53113,53114,53115,53116,53117,53118,53119,53121,53122,53123,53124,53126,53127,53128,53129,53130,53131,53133,null,null,null,null,null,null,53134,53135,53136,53137,53138,53139,53140,53141,53142,53143,53144,53145,53146,53147,53148,53149,53150,53151,53152,53154,53155,53156,53157,53158,53159,53161,null,null,null,null,null,null,53162,53163,53164,53165,53166,53167,53169,53170,53171,53172,53173,53174,53175,53176,53177,53178,53179,53180,53181,53182,53183,53184,53185,53186,53187,53189,53190,53191,53192,53193,53194,53195,44665,44667,44668,44669,44676,44677,44684,44732,44733,44734,44736,44740,44748,44749,44751,44752,44753,44760,44761,44764,44776,44779,44781,44788,44792,44796,44807,44808,44813,44816,44844,44845,44848,44850,44852,44860,44861,44863,44865,44866,44867,44872,44873,44880,44892,44893,44900,44901,44921,44928,44932,44936,44944,44945,44949,44956,44984,44985,44988,44992,44999,45e3,45001,45003,45005,45006,45012,45020,45032,45033,45040,45041,45044,45048,45056,45057,45060,45068,45072,45076,45084,45085,45096,45124,45125,45128,45130,45132,45134,45139,45140,45141,45143,45145,53196,53197,53198,53199,53200,53201,53202,53203,53204,53205,53206,53207,53208,53209,53210,53211,53212,53213,53214,53215,53218,53219,53221,53222,53223,53225,null,null,null,null,null,null,53226,53227,53228,53229,53230,53231,53234,53236,53238,53239,53240,53241,53242,53243,53245,53246,53247,53249,53250,53251,53253,53254,53255,53256,53257,53258,null,null,null,null,null,null,53259,53260,53261,53262,53263,53264,53266,53267,53268,53269,53270,53271,53273,53274,53275,53276,53277,53278,53279,53280,53281,53282,53283,53284,53285,53286,53287,53288,53289,53290,53291,53292,45149,45180,45181,45184,45188,45196,45197,45199,45201,45208,45209,45210,45212,45215,45216,45217,45218,45224,45225,45227,45228,45229,45230,45231,45233,45235,45236,45237,45240,45244,45252,45253,45255,45256,45257,45264,45265,45268,45272,45280,45285,45320,45321,45323,45324,45328,45330,45331,45336,45337,45339,45340,45341,45347,45348,45349,45352,45356,45364,45365,45367,45368,45369,45376,45377,45380,45384,45392,45393,45396,45397,45400,45404,45408,45432,45433,45436,45440,45442,45448,45449,45451,45453,45458,45459,45460,45464,45468,45480,45516,45520,45524,45532,45533,53294,53295,53296,53297,53298,53299,53302,53303,53305,53306,53307,53309,53310,53311,53312,53313,53314,53315,53318,53320,53322,53323,53324,53325,53326,53327,null,null,null,null,null,null,53329,53330,53331,53333,53334,53335,53337,53338,53339,53340,53341,53342,53343,53345,53346,53347,53348,53349,53350,53351,53352,53353,53354,53355,53358,53359,null,null,null,null,null,null,53361,53362,53363,53365,53366,53367,53368,53369,53370,53371,53374,53375,53376,53378,53379,53380,53381,53382,53383,53384,53385,53386,53387,53388,53389,53390,53391,53392,53393,53394,53395,53396,45535,45544,45545,45548,45552,45561,45563,45565,45572,45573,45576,45579,45580,45588,45589,45591,45593,45600,45620,45628,45656,45660,45664,45672,45673,45684,45685,45692,45700,45701,45705,45712,45713,45716,45720,45721,45722,45728,45729,45731,45733,45734,45738,45740,45744,45748,45768,45769,45772,45776,45778,45784,45785,45787,45789,45794,45796,45797,45798,45800,45803,45804,45805,45806,45807,45811,45812,45813,45815,45816,45817,45818,45819,45823,45824,45825,45828,45832,45840,45841,45843,45844,45845,45852,45908,45909,45910,45912,45915,45916,45918,45919,45924,45925,53397,53398,53399,53400,53401,53402,53403,53404,53405,53406,53407,53408,53409,53410,53411,53414,53415,53417,53418,53419,53421,53422,53423,53424,53425,53426,null,null,null,null,null,null,53427,53430,53432,53434,53435,53436,53437,53438,53439,53442,53443,53445,53446,53447,53450,53451,53452,53453,53454,53455,53458,53462,53463,53464,53465,53466,null,null,null,null,null,null,53467,53470,53471,53473,53474,53475,53477,53478,53479,53480,53481,53482,53483,53486,53490,53491,53492,53493,53494,53495,53497,53498,53499,53500,53501,53502,53503,53504,53505,53506,53507,53508,45927,45929,45931,45934,45936,45937,45940,45944,45952,45953,45955,45956,45957,45964,45968,45972,45984,45985,45992,45996,46020,46021,46024,46027,46028,46030,46032,46036,46037,46039,46041,46043,46045,46048,46052,46056,46076,46096,46104,46108,46112,46120,46121,46123,46132,46160,46161,46164,46168,46176,46177,46179,46181,46188,46208,46216,46237,46244,46248,46252,46261,46263,46265,46272,46276,46280,46288,46293,46300,46301,46304,46307,46308,46310,46316,46317,46319,46321,46328,46356,46357,46360,46363,46364,46372,46373,46375,46376,46377,46378,46384,46385,46388,46392,53509,53510,53511,53512,53513,53514,53515,53516,53518,53519,53520,53521,53522,53523,53524,53525,53526,53527,53528,53529,53530,53531,53532,53533,53534,53535,null,null,null,null,null,null,53536,53537,53538,53539,53540,53541,53542,53543,53544,53545,53546,53547,53548,53549,53550,53551,53554,53555,53557,53558,53559,53561,53563,53564,53565,53566,null,null,null,null,null,null,53567,53570,53574,53575,53576,53577,53578,53579,53582,53583,53585,53586,53587,53589,53590,53591,53592,53593,53594,53595,53598,53600,53602,53603,53604,53605,53606,53607,53609,53610,53611,53613,46400,46401,46403,46404,46405,46411,46412,46413,46416,46420,46428,46429,46431,46432,46433,46496,46497,46500,46504,46506,46507,46512,46513,46515,46516,46517,46523,46524,46525,46528,46532,46540,46541,46543,46544,46545,46552,46572,46608,46609,46612,46616,46629,46636,46644,46664,46692,46696,46748,46749,46752,46756,46763,46764,46769,46804,46832,46836,46840,46848,46849,46853,46888,46889,46892,46895,46896,46904,46905,46907,46916,46920,46924,46932,46933,46944,46948,46952,46960,46961,46963,46965,46972,46973,46976,46980,46988,46989,46991,46992,46993,46994,46998,46999,53614,53615,53616,53617,53618,53619,53620,53621,53622,53623,53624,53625,53626,53627,53629,53630,53631,53632,53633,53634,53635,53637,53638,53639,53641,53642,null,null,null,null,null,null,53643,53644,53645,53646,53647,53648,53649,53650,53651,53652,53653,53654,53655,53656,53657,53658,53659,53660,53661,53662,53663,53666,53667,53669,53670,53671,null,null,null,null,null,null,53673,53674,53675,53676,53677,53678,53679,53682,53684,53686,53687,53688,53689,53691,53693,53694,53695,53697,53698,53699,53700,53701,53702,53703,53704,53705,53706,53707,53708,53709,53710,53711,47e3,47001,47004,47008,47016,47017,47019,47020,47021,47028,47029,47032,47047,47049,47084,47085,47088,47092,47100,47101,47103,47104,47105,47111,47112,47113,47116,47120,47128,47129,47131,47133,47140,47141,47144,47148,47156,47157,47159,47160,47161,47168,47172,47185,47187,47196,47197,47200,47204,47212,47213,47215,47217,47224,47228,47245,47272,47280,47284,47288,47296,47297,47299,47301,47308,47312,47316,47325,47327,47329,47336,47337,47340,47344,47352,47353,47355,47357,47364,47384,47392,47420,47421,47424,47428,47436,47439,47441,47448,47449,47452,47456,47464,47465,53712,53713,53714,53715,53716,53717,53718,53719,53721,53722,53723,53724,53725,53726,53727,53728,53729,53730,53731,53732,53733,53734,53735,53736,53737,53738,null,null,null,null,null,null,53739,53740,53741,53742,53743,53744,53745,53746,53747,53749,53750,53751,53753,53754,53755,53756,53757,53758,53759,53760,53761,53762,53763,53764,53765,53766,null,null,null,null,null,null,53768,53770,53771,53772,53773,53774,53775,53777,53778,53779,53780,53781,53782,53783,53784,53785,53786,53787,53788,53789,53790,53791,53792,53793,53794,53795,53796,53797,53798,53799,53800,53801,47467,47469,47476,47477,47480,47484,47492,47493,47495,47497,47498,47501,47502,47532,47533,47536,47540,47548,47549,47551,47553,47560,47561,47564,47566,47567,47568,47569,47570,47576,47577,47579,47581,47582,47585,47587,47588,47589,47592,47596,47604,47605,47607,47608,47609,47610,47616,47617,47624,47637,47672,47673,47676,47680,47682,47688,47689,47691,47693,47694,47699,47700,47701,47704,47708,47716,47717,47719,47720,47721,47728,47729,47732,47736,47747,47748,47749,47751,47756,47784,47785,47787,47788,47792,47794,47800,47801,47803,47805,47812,47816,47832,47833,47868,53802,53803,53806,53807,53809,53810,53811,53813,53814,53815,53816,53817,53818,53819,53822,53824,53826,53827,53828,53829,53830,53831,53833,53834,53835,53836,null,null,null,null,null,null,53837,53838,53839,53840,53841,53842,53843,53844,53845,53846,53847,53848,53849,53850,53851,53853,53854,53855,53856,53857,53858,53859,53861,53862,53863,53864,null,null,null,null,null,null,53865,53866,53867,53868,53869,53870,53871,53872,53873,53874,53875,53876,53877,53878,53879,53880,53881,53882,53883,53884,53885,53886,53887,53890,53891,53893,53894,53895,53897,53898,53899,53900,47872,47876,47885,47887,47889,47896,47900,47904,47913,47915,47924,47925,47926,47928,47931,47932,47933,47934,47940,47941,47943,47945,47949,47951,47952,47956,47960,47969,47971,47980,48008,48012,48016,48036,48040,48044,48052,48055,48064,48068,48072,48080,48083,48120,48121,48124,48127,48128,48130,48136,48137,48139,48140,48141,48143,48145,48148,48149,48150,48151,48152,48155,48156,48157,48158,48159,48164,48165,48167,48169,48173,48176,48177,48180,48184,48192,48193,48195,48196,48197,48201,48204,48205,48208,48221,48260,48261,48264,48267,48268,48270,48276,48277,48279,53901,53902,53903,53906,53907,53908,53910,53911,53912,53913,53914,53915,53917,53918,53919,53921,53922,53923,53925,53926,53927,53928,53929,53930,53931,53933,null,null,null,null,null,null,53934,53935,53936,53938,53939,53940,53941,53942,53943,53946,53947,53949,53950,53953,53955,53956,53957,53958,53959,53962,53964,53965,53966,53967,53968,53969,null,null,null,null,null,null,53970,53971,53973,53974,53975,53977,53978,53979,53981,53982,53983,53984,53985,53986,53987,53990,53991,53992,53993,53994,53995,53996,53997,53998,53999,54002,54003,54005,54006,54007,54009,54010,48281,48282,48288,48289,48292,48295,48296,48304,48305,48307,48308,48309,48316,48317,48320,48324,48333,48335,48336,48337,48341,48344,48348,48372,48373,48374,48376,48380,48388,48389,48391,48393,48400,48404,48420,48428,48448,48456,48457,48460,48464,48472,48473,48484,48488,48512,48513,48516,48519,48520,48521,48522,48528,48529,48531,48533,48537,48538,48540,48548,48560,48568,48596,48597,48600,48604,48617,48624,48628,48632,48640,48643,48645,48652,48653,48656,48660,48668,48669,48671,48708,48709,48712,48716,48718,48724,48725,48727,48729,48730,48731,48736,48737,48740,54011,54012,54013,54014,54015,54018,54020,54022,54023,54024,54025,54026,54027,54031,54033,54034,54035,54037,54039,54040,54041,54042,54043,54046,54050,54051,null,null,null,null,null,null,54052,54054,54055,54058,54059,54061,54062,54063,54065,54066,54067,54068,54069,54070,54071,54074,54078,54079,54080,54081,54082,54083,54086,54087,54088,54089,null,null,null,null,null,null,54090,54091,54092,54093,54094,54095,54096,54097,54098,54099,54100,54101,54102,54103,54104,54105,54106,54107,54108,54109,54110,54111,54112,54113,54114,54115,54116,54117,54118,54119,54120,54121,48744,48746,48752,48753,48755,48756,48757,48763,48764,48765,48768,48772,48780,48781,48783,48784,48785,48792,48793,48808,48848,48849,48852,48855,48856,48864,48867,48868,48869,48876,48897,48904,48905,48920,48921,48923,48924,48925,48960,48961,48964,48968,48976,48977,48981,49044,49072,49093,49100,49101,49104,49108,49116,49119,49121,49212,49233,49240,49244,49248,49256,49257,49296,49297,49300,49304,49312,49313,49315,49317,49324,49325,49327,49328,49331,49332,49333,49334,49340,49341,49343,49344,49345,49349,49352,49353,49356,49360,49368,49369,49371,49372,49373,49380,54122,54123,54124,54125,54126,54127,54128,54129,54130,54131,54132,54133,54134,54135,54136,54137,54138,54139,54142,54143,54145,54146,54147,54149,54150,54151,null,null,null,null,null,null,54152,54153,54154,54155,54158,54162,54163,54164,54165,54166,54167,54170,54171,54173,54174,54175,54177,54178,54179,54180,54181,54182,54183,54186,54188,54190,null,null,null,null,null,null,54191,54192,54193,54194,54195,54197,54198,54199,54201,54202,54203,54205,54206,54207,54208,54209,54210,54211,54214,54215,54218,54219,54220,54221,54222,54223,54225,54226,54227,54228,54229,54230,49381,49384,49388,49396,49397,49399,49401,49408,49412,49416,49424,49429,49436,49437,49438,49439,49440,49443,49444,49446,49447,49452,49453,49455,49456,49457,49462,49464,49465,49468,49472,49480,49481,49483,49484,49485,49492,49493,49496,49500,49508,49509,49511,49512,49513,49520,49524,49528,49541,49548,49549,49550,49552,49556,49558,49564,49565,49567,49569,49573,49576,49577,49580,49584,49597,49604,49608,49612,49620,49623,49624,49632,49636,49640,49648,49649,49651,49660,49661,49664,49668,49676,49677,49679,49681,49688,49689,49692,49695,49696,49704,49705,49707,49709,54231,54233,54234,54235,54236,54237,54238,54239,54240,54242,54244,54245,54246,54247,54248,54249,54250,54251,54254,54255,54257,54258,54259,54261,54262,54263,null,null,null,null,null,null,54264,54265,54266,54267,54270,54272,54274,54275,54276,54277,54278,54279,54281,54282,54283,54284,54285,54286,54287,54288,54289,54290,54291,54292,54293,54294,null,null,null,null,null,null,54295,54296,54297,54298,54299,54300,54302,54303,54304,54305,54306,54307,54308,54309,54310,54311,54312,54313,54314,54315,54316,54317,54318,54319,54320,54321,54322,54323,54324,54325,54326,54327,49711,49713,49714,49716,49736,49744,49745,49748,49752,49760,49765,49772,49773,49776,49780,49788,49789,49791,49793,49800,49801,49808,49816,49819,49821,49828,49829,49832,49836,49837,49844,49845,49847,49849,49884,49885,49888,49891,49892,49899,49900,49901,49903,49905,49910,49912,49913,49915,49916,49920,49928,49929,49932,49933,49939,49940,49941,49944,49948,49956,49957,49960,49961,49989,50024,50025,50028,50032,50034,50040,50041,50044,50045,50052,50056,50060,50112,50136,50137,50140,50143,50144,50146,50152,50153,50157,50164,50165,50168,50184,50192,50212,50220,50224,54328,54329,54330,54331,54332,54333,54334,54335,54337,54338,54339,54341,54342,54343,54344,54345,54346,54347,54348,54349,54350,54351,54352,54353,54354,54355,null,null,null,null,null,null,54356,54357,54358,54359,54360,54361,54362,54363,54365,54366,54367,54369,54370,54371,54373,54374,54375,54376,54377,54378,54379,54380,54382,54384,54385,54386,null,null,null,null,null,null,54387,54388,54389,54390,54391,54394,54395,54397,54398,54401,54403,54404,54405,54406,54407,54410,54412,54414,54415,54416,54417,54418,54419,54421,54422,54423,54424,54425,54426,54427,54428,54429,50228,50236,50237,50248,50276,50277,50280,50284,50292,50293,50297,50304,50324,50332,50360,50364,50409,50416,50417,50420,50424,50426,50431,50432,50433,50444,50448,50452,50460,50472,50473,50476,50480,50488,50489,50491,50493,50500,50501,50504,50505,50506,50508,50509,50510,50515,50516,50517,50519,50520,50521,50525,50526,50528,50529,50532,50536,50544,50545,50547,50548,50549,50556,50557,50560,50564,50567,50572,50573,50575,50577,50581,50583,50584,50588,50592,50601,50612,50613,50616,50617,50619,50620,50621,50622,50628,50629,50630,50631,50632,50633,50634,50636,50638,54430,54431,54432,54433,54434,54435,54436,54437,54438,54439,54440,54442,54443,54444,54445,54446,54447,54448,54449,54450,54451,54452,54453,54454,54455,54456,null,null,null,null,null,null,54457,54458,54459,54460,54461,54462,54463,54464,54465,54466,54467,54468,54469,54470,54471,54472,54473,54474,54475,54477,54478,54479,54481,54482,54483,54485,null,null,null,null,null,null,54486,54487,54488,54489,54490,54491,54493,54494,54496,54497,54498,54499,54500,54501,54502,54503,54505,54506,54507,54509,54510,54511,54513,54514,54515,54516,54517,54518,54519,54521,54522,54524,50640,50641,50644,50648,50656,50657,50659,50661,50668,50669,50670,50672,50676,50678,50679,50684,50685,50686,50687,50688,50689,50693,50694,50695,50696,50700,50704,50712,50713,50715,50716,50724,50725,50728,50732,50733,50734,50736,50739,50740,50741,50743,50745,50747,50752,50753,50756,50760,50768,50769,50771,50772,50773,50780,50781,50784,50796,50799,50801,50808,50809,50812,50816,50824,50825,50827,50829,50836,50837,50840,50844,50852,50853,50855,50857,50864,50865,50868,50872,50873,50874,50880,50881,50883,50885,50892,50893,50896,50900,50908,50909,50912,50913,50920,54526,54527,54528,54529,54530,54531,54533,54534,54535,54537,54538,54539,54541,54542,54543,54544,54545,54546,54547,54550,54552,54553,54554,54555,54556,54557,null,null,null,null,null,null,54558,54559,54560,54561,54562,54563,54564,54565,54566,54567,54568,54569,54570,54571,54572,54573,54574,54575,54576,54577,54578,54579,54580,54581,54582,54583,null,null,null,null,null,null,54584,54585,54586,54587,54590,54591,54593,54594,54595,54597,54598,54599,54600,54601,54602,54603,54606,54608,54610,54611,54612,54613,54614,54615,54618,54619,54621,54622,54623,54625,54626,54627,50921,50924,50928,50936,50937,50941,50948,50949,50952,50956,50964,50965,50967,50969,50976,50977,50980,50984,50992,50993,50995,50997,50999,51004,51005,51008,51012,51018,51020,51021,51023,51025,51026,51027,51028,51029,51030,51031,51032,51036,51040,51048,51051,51060,51061,51064,51068,51069,51070,51075,51076,51077,51079,51080,51081,51082,51086,51088,51089,51092,51094,51095,51096,51098,51104,51105,51107,51108,51109,51110,51116,51117,51120,51124,51132,51133,51135,51136,51137,51144,51145,51148,51150,51152,51160,51165,51172,51176,51180,51200,51201,51204,51208,51210,54628,54630,54631,54634,54636,54638,54639,54640,54641,54642,54643,54646,54647,54649,54650,54651,54653,54654,54655,54656,54657,54658,54659,54662,54666,54667,null,null,null,null,null,null,54668,54669,54670,54671,54673,54674,54675,54676,54677,54678,54679,54680,54681,54682,54683,54684,54685,54686,54687,54688,54689,54690,54691,54692,54694,54695,null,null,null,null,null,null,54696,54697,54698,54699,54700,54701,54702,54703,54704,54705,54706,54707,54708,54709,54710,54711,54712,54713,54714,54715,54716,54717,54718,54719,54720,54721,54722,54723,54724,54725,54726,54727,51216,51217,51219,51221,51222,51228,51229,51232,51236,51244,51245,51247,51249,51256,51260,51264,51272,51273,51276,51277,51284,51312,51313,51316,51320,51322,51328,51329,51331,51333,51334,51335,51339,51340,51341,51348,51357,51359,51361,51368,51388,51389,51396,51400,51404,51412,51413,51415,51417,51424,51425,51428,51445,51452,51453,51456,51460,51461,51462,51468,51469,51471,51473,51480,51500,51508,51536,51537,51540,51544,51552,51553,51555,51564,51568,51572,51580,51592,51593,51596,51600,51608,51609,51611,51613,51648,51649,51652,51655,51656,51658,51664,51665,51667,54730,54731,54733,54734,54735,54737,54739,54740,54741,54742,54743,54746,54748,54750,54751,54752,54753,54754,54755,54758,54759,54761,54762,54763,54765,54766,null,null,null,null,null,null,54767,54768,54769,54770,54771,54774,54776,54778,54779,54780,54781,54782,54783,54786,54787,54789,54790,54791,54793,54794,54795,54796,54797,54798,54799,54802,null,null,null,null,null,null,54806,54807,54808,54809,54810,54811,54813,54814,54815,54817,54818,54819,54821,54822,54823,54824,54825,54826,54827,54828,54830,54831,54832,54833,54834,54835,54836,54837,54838,54839,54842,54843,51669,51670,51673,51674,51676,51677,51680,51682,51684,51687,51692,51693,51695,51696,51697,51704,51705,51708,51712,51720,51721,51723,51724,51725,51732,51736,51753,51788,51789,51792,51796,51804,51805,51807,51808,51809,51816,51837,51844,51864,51900,51901,51904,51908,51916,51917,51919,51921,51923,51928,51929,51936,51948,51956,51976,51984,51988,51992,52e3,52001,52033,52040,52041,52044,52048,52056,52057,52061,52068,52088,52089,52124,52152,52180,52196,52199,52201,52236,52237,52240,52244,52252,52253,52257,52258,52263,52264,52265,52268,52270,52272,52280,52281,52283,54845,54846,54847,54849,54850,54851,54852,54854,54855,54858,54860,54862,54863,54864,54866,54867,54870,54871,54873,54874,54875,54877,54878,54879,54880,54881,null,null,null,null,null,null,54882,54883,54884,54885,54886,54888,54890,54891,54892,54893,54894,54895,54898,54899,54901,54902,54903,54904,54905,54906,54907,54908,54909,54910,54911,54912,null,null,null,null,null,null,54913,54914,54916,54918,54919,54920,54921,54922,54923,54926,54927,54929,54930,54931,54933,54934,54935,54936,54937,54938,54939,54940,54942,54944,54946,54947,54948,54949,54950,54951,54953,54954,52284,52285,52286,52292,52293,52296,52300,52308,52309,52311,52312,52313,52320,52324,52326,52328,52336,52341,52376,52377,52380,52384,52392,52393,52395,52396,52397,52404,52405,52408,52412,52420,52421,52423,52425,52432,52436,52452,52460,52464,52481,52488,52489,52492,52496,52504,52505,52507,52509,52516,52520,52524,52537,52572,52576,52580,52588,52589,52591,52593,52600,52616,52628,52629,52632,52636,52644,52645,52647,52649,52656,52676,52684,52688,52712,52716,52720,52728,52729,52731,52733,52740,52744,52748,52756,52761,52768,52769,52772,52776,52784,52785,52787,52789,54955,54957,54958,54959,54961,54962,54963,54964,54965,54966,54967,54968,54970,54972,54973,54974,54975,54976,54977,54978,54979,54982,54983,54985,54986,54987,null,null,null,null,null,null,54989,54990,54991,54992,54994,54995,54997,54998,55e3,55002,55003,55004,55005,55006,55007,55009,55010,55011,55013,55014,55015,55017,55018,55019,55020,55021,null,null,null,null,null,null,55022,55023,55025,55026,55027,55028,55030,55031,55032,55033,55034,55035,55038,55039,55041,55042,55043,55045,55046,55047,55048,55049,55050,55051,55052,55053,55054,55055,55056,55058,55059,55060,52824,52825,52828,52831,52832,52833,52840,52841,52843,52845,52852,52853,52856,52860,52868,52869,52871,52873,52880,52881,52884,52888,52896,52897,52899,52900,52901,52908,52909,52929,52964,52965,52968,52971,52972,52980,52981,52983,52984,52985,52992,52993,52996,53e3,53008,53009,53011,53013,53020,53024,53028,53036,53037,53039,53040,53041,53048,53076,53077,53080,53084,53092,53093,53095,53097,53104,53105,53108,53112,53120,53125,53132,53153,53160,53168,53188,53216,53217,53220,53224,53232,53233,53235,53237,53244,53248,53252,53265,53272,53293,53300,53301,53304,53308,55061,55062,55063,55066,55067,55069,55070,55071,55073,55074,55075,55076,55077,55078,55079,55082,55084,55086,55087,55088,55089,55090,55091,55094,55095,55097,null,null,null,null,null,null,55098,55099,55101,55102,55103,55104,55105,55106,55107,55109,55110,55112,55114,55115,55116,55117,55118,55119,55122,55123,55125,55130,55131,55132,55133,55134,null,null,null,null,null,null,55135,55138,55140,55142,55143,55144,55146,55147,55149,55150,55151,55153,55154,55155,55157,55158,55159,55160,55161,55162,55163,55166,55167,55168,55170,55171,55172,55173,55174,55175,55178,55179,53316,53317,53319,53321,53328,53332,53336,53344,53356,53357,53360,53364,53372,53373,53377,53412,53413,53416,53420,53428,53429,53431,53433,53440,53441,53444,53448,53449,53456,53457,53459,53460,53461,53468,53469,53472,53476,53484,53485,53487,53488,53489,53496,53517,53552,53553,53556,53560,53562,53568,53569,53571,53572,53573,53580,53581,53584,53588,53596,53597,53599,53601,53608,53612,53628,53636,53640,53664,53665,53668,53672,53680,53681,53683,53685,53690,53692,53696,53720,53748,53752,53767,53769,53776,53804,53805,53808,53812,53820,53821,53823,53825,53832,53852,55181,55182,55183,55185,55186,55187,55188,55189,55190,55191,55194,55196,55198,55199,55200,55201,55202,55203,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,53860,53888,53889,53892,53896,53904,53905,53909,53916,53920,53924,53932,53937,53944,53945,53948,53951,53952,53954,53960,53961,53963,53972,53976,53980,53988,53989,54e3,54001,54004,54008,54016,54017,54019,54021,54028,54029,54030,54032,54036,54038,54044,54045,54047,54048,54049,54053,54056,54057,54060,54064,54072,54073,54075,54076,54077,54084,54085,54140,54141,54144,54148,54156,54157,54159,54160,54161,54168,54169,54172,54176,54184,54185,54187,54189,54196,54200,54204,54212,54213,54216,54217,54224,54232,54241,54243,54252,54253,54256,54260,54268,54269,54271,54273,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54280,54301,54336,54340,54364,54368,54372,54381,54383,54392,54393,54396,54399,54400,54402,54408,54409,54411,54413,54420,54441,54476,54480,54484,54492,54495,54504,54508,54512,54520,54523,54525,54532,54536,54540,54548,54549,54551,54588,54589,54592,54596,54604,54605,54607,54609,54616,54617,54620,54624,54629,54632,54633,54635,54637,54644,54645,54648,54652,54660,54661,54663,54664,54665,54672,54693,54728,54729,54732,54736,54738,54744,54745,54747,54749,54756,54757,54760,54764,54772,54773,54775,54777,54784,54785,54788,54792,54800,54801,54803,54804,54805,54812,54816,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54820,54829,54840,54841,54844,54848,54853,54856,54857,54859,54861,54865,54868,54869,54872,54876,54887,54889,54896,54897,54900,54915,54917,54924,54925,54928,54932,54941,54943,54945,54952,54956,54960,54969,54971,54980,54981,54984,54988,54993,54996,54999,55001,55008,55012,55016,55024,55029,55036,55037,55040,55044,55057,55064,55065,55068,55072,55080,55081,55083,55085,55092,55093,55096,55100,55108,55111,55113,55120,55121,55124,55126,55127,55128,55129,55136,55137,55139,55141,55145,55148,55152,55156,55164,55165,55169,55176,55177,55180,55184,55192,55193,55195,55197,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20285,20339,20551,20729,21152,21487,21621,21733,22025,23233,23478,26247,26550,26551,26607,27468,29634,30146,31292,33499,33540,34903,34952,35382,36040,36303,36603,36838,39381,21051,21364,21508,24682,24932,27580,29647,33050,35258,35282,38307,20355,21002,22718,22904,23014,24178,24185,25031,25536,26438,26604,26751,28567,30286,30475,30965,31240,31487,31777,32925,33390,33393,35563,38291,20075,21917,26359,28212,30883,31469,33883,35088,34638,38824,21208,22350,22570,23884,24863,25022,25121,25954,26577,27204,28187,29976,30131,30435,30640,32058,37039,37969,37970,40853,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21283,23724,30002,32987,37440,38296,21083,22536,23004,23713,23831,24247,24378,24394,24951,27743,30074,30086,31968,32115,32177,32652,33108,33313,34193,35137,35611,37628,38477,40007,20171,20215,20491,20977,22607,24887,24894,24936,25913,27114,28433,30117,30342,30422,31623,33445,33995,63744,37799,38283,21888,23458,22353,63745,31923,32697,37301,20520,21435,23621,24040,25298,25454,25818,25831,28192,28844,31067,36317,36382,63746,36989,37445,37624,20094,20214,20581,24062,24314,24838,26967,33137,34388,36423,37749,39467,20062,20625,26480,26688,20745,21133,21138,27298,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30652,37392,40660,21163,24623,36850,20552,25001,25581,25802,26684,27268,28608,33160,35233,38548,22533,29309,29356,29956,32121,32365,32937,35211,35700,36963,40273,25225,27770,28500,32080,32570,35363,20860,24906,31645,35609,37463,37772,20140,20435,20510,20670,20742,21185,21197,21375,22384,22659,24218,24465,24950,25004,25806,25964,26223,26299,26356,26775,28039,28805,28913,29855,29861,29898,30169,30828,30956,31455,31478,32069,32147,32789,32831,33051,33686,35686,36629,36885,37857,38915,38968,39514,39912,20418,21843,22586,22865,23395,23622,24760,25106,26690,26800,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26856,28330,30028,30328,30926,31293,31995,32363,32380,35336,35489,35903,38542,40388,21476,21481,21578,21617,22266,22993,23396,23611,24235,25335,25911,25925,25970,26272,26543,27073,27837,30204,30352,30590,31295,32660,32771,32929,33167,33510,33533,33776,34241,34865,34996,35493,63747,36764,37678,38599,39015,39640,40723,21741,26011,26354,26767,31296,35895,40288,22256,22372,23825,26118,26801,26829,28414,29736,34974,39908,27752,63748,39592,20379,20844,20849,21151,23380,24037,24656,24685,25329,25511,25915,29657,31354,34467,36002,38799,20018,23521,25096,26524,29916,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31185,33747,35463,35506,36328,36942,37707,38982,24275,27112,34303,37101,63749,20896,23448,23532,24931,26874,27454,28748,29743,29912,31649,32592,33733,35264,36011,38364,39208,21038,24669,25324,36866,20362,20809,21281,22745,24291,26336,27960,28826,29378,29654,31568,33009,37979,21350,25499,32619,20054,20608,22602,22750,24618,24871,25296,27088,39745,23439,32024,32945,36703,20132,20689,21676,21932,23308,23968,24039,25898,25934,26657,27211,29409,30350,30703,32094,32761,33184,34126,34527,36611,36686,37066,39171,39509,39851,19992,20037,20061,20167,20465,20855,21246,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21312,21475,21477,21646,22036,22389,22434,23495,23943,24272,25084,25304,25937,26552,26601,27083,27472,27590,27628,27714,28317,28792,29399,29590,29699,30655,30697,31350,32127,32777,33276,33285,33290,33503,34914,35635,36092,36544,36881,37041,37476,37558,39378,39493,40169,40407,40860,22283,23616,33738,38816,38827,40628,21531,31384,32676,35033,36557,37089,22528,23624,25496,31391,23470,24339,31353,31406,33422,36524,20518,21048,21240,21367,22280,25331,25458,27402,28099,30519,21413,29527,34152,36470,38357,26426,27331,28528,35437,36556,39243,63750,26231,27512,36020,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,39740,63751,21483,22317,22862,25542,27131,29674,30789,31418,31429,31998,33909,35215,36211,36917,38312,21243,22343,30023,31584,33740,37406,63752,27224,20811,21067,21127,25119,26840,26997,38553,20677,21156,21220,25027,26020,26681,27135,29822,31563,33465,33771,35250,35641,36817,39241,63753,20170,22935,25810,26129,27278,29748,31105,31165,33449,34942,34943,35167,63754,37670,20235,21450,24613,25201,27762,32026,32102,20120,20834,30684,32943,20225,20238,20854,20864,21980,22120,22331,22522,22524,22804,22855,22931,23492,23696,23822,24049,24190,24524,25216,26071,26083,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26398,26399,26462,26827,26820,27231,27450,27683,27773,27778,28103,29592,29734,29738,29826,29859,30072,30079,30849,30959,31041,31047,31048,31098,31637,32e3,32186,32648,32774,32813,32908,35352,35663,35912,36215,37665,37668,39138,39249,39438,39439,39525,40594,32202,20342,21513,25326,26708,37329,21931,20794,63755,63756,23068,25062,63757,25295,25343,63758,63759,63760,63761,63762,63763,37027,63764,63765,63766,63767,63768,35582,63769,63770,63771,63772,26262,63773,29014,63774,63775,38627,63776,25423,25466,21335,63777,26511,26976,28275,63778,30007,63779,63780,63781,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32013,63782,63783,34930,22218,23064,63784,63785,63786,63787,63788,20035,63789,20839,22856,26608,32784,63790,22899,24180,25754,31178,24565,24684,25288,25467,23527,23511,21162,63791,22900,24361,24594,63792,63793,63794,29785,63795,63796,63797,63798,63799,63800,39377,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,28611,63812,63813,33215,36786,24817,63814,63815,33126,63816,63817,23615,63818,63819,63820,63821,63822,63823,63824,63825,23273,35365,26491,32016,63826,63827,63828,63829,63830,63831,33021,63832,63833,23612,27877,21311,28346,22810,33590,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20025,20150,20294,21934,22296,22727,24406,26039,26086,27264,27573,28237,30701,31471,31774,32222,34507,34962,37170,37723,25787,28606,29562,30136,36948,21846,22349,25018,25812,26311,28129,28251,28525,28601,30192,32835,33213,34113,35203,35527,35674,37663,27795,30035,31572,36367,36957,21776,22530,22616,24162,25095,25758,26848,30070,31958,34739,40680,20195,22408,22382,22823,23565,23729,24118,24453,25140,25825,29619,33274,34955,36024,38538,40667,23429,24503,24755,20498,20992,21040,22294,22581,22615,23566,23648,23798,23947,24230,24466,24764,25361,25481,25623,26691,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26873,27330,28120,28193,28372,28644,29182,30428,30585,31153,31291,33796,35241,36077,36339,36424,36867,36884,36947,37117,37709,38518,38876,27602,28678,29272,29346,29544,30563,31167,31716,32411,35712,22697,24775,25958,26109,26302,27788,28958,29129,35930,38931,20077,31361,20189,20908,20941,21205,21516,24999,26481,26704,26847,27934,28540,30140,30643,31461,33012,33891,37509,20828,26007,26460,26515,30168,31431,33651,63834,35910,36887,38957,23663,33216,33434,36929,36975,37389,24471,23965,27225,29128,30331,31561,34276,35588,37159,39472,21895,25078,63835,30313,32645,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34367,34746,35064,37007,63836,27931,28889,29662,32097,33853,63837,37226,39409,63838,20098,21365,27396,27410,28734,29211,34349,40478,21068,36771,23888,25829,25900,27414,28651,31811,32412,34253,35172,35261,25289,33240,34847,24266,26391,28010,29436,29701,29807,34690,37086,20358,23821,24480,33802,20919,25504,30053,20142,20486,20841,20937,26753,27153,31918,31921,31975,33391,35538,36635,37327,20406,20791,21237,21570,24300,24942,25150,26053,27354,28670,31018,34268,34851,38317,39522,39530,40599,40654,21147,26310,27511,28701,31019,36706,38722,24976,25088,25891,28451,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29001,29833,32244,32879,34030,36646,36899,37706,20925,21015,21155,27916,28872,35010,24265,25986,27566,28610,31806,29557,20196,20278,22265,63839,23738,23994,24604,29618,31533,32666,32718,32838,36894,37428,38646,38728,38936,40801,20363,28583,31150,37300,38583,21214,63840,25736,25796,27347,28510,28696,29200,30439,32769,34310,34396,36335,36613,38706,39791,40442,40565,30860,31103,32160,33737,37636,40575,40595,35542,22751,24324,26407,28711,29903,31840,32894,20769,28712,29282,30922,36034,36058,36084,38647,20102,20698,23534,24278,26009,29134,30274,30637,32842,34044,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36988,39719,40845,22744,23105,23650,27155,28122,28431,30267,32047,32311,34078,35128,37860,38475,21129,26066,26611,27060,27969,28316,28687,29705,29792,30041,30244,30827,35628,39006,20845,25134,38520,20374,20523,23833,28138,32184,36650,24459,24900,26647,63841,38534,21202,32907,20956,20940,26974,31260,32190,33777,38517,20442,21033,21400,21519,21774,23653,24743,26446,26792,28012,29313,29432,29702,29827,63842,30178,31852,32633,32696,33673,35023,35041,37324,37328,38626,39881,21533,28542,29136,29848,34298,36522,38563,40023,40607,26519,28107,29747,33256,38678,30764,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31435,31520,31890,25705,29802,30194,30908,30952,39340,39764,40635,23518,24149,28448,33180,33707,37e3,19975,21325,23081,24018,24398,24930,25405,26217,26364,28415,28459,28771,30622,33836,34067,34875,36627,39237,39995,21788,25273,26411,27819,33545,35178,38778,20129,22916,24536,24537,26395,32178,32596,33426,33579,33725,36638,37017,22475,22969,23186,23504,26151,26522,26757,27599,29028,32629,36023,36067,36993,39749,33032,35978,38476,39488,40613,23391,27667,29467,30450,30431,33804,20906,35219,20813,20885,21193,26825,27796,30468,30496,32191,32236,38754,40629,28357,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34065,20901,21517,21629,26126,26269,26919,28319,30399,30609,33559,33986,34719,37225,37528,40180,34946,20398,20882,21215,22982,24125,24917,25720,25721,26286,26576,27169,27597,27611,29279,29281,29761,30520,30683,32791,33468,33541,35584,35624,35980,26408,27792,29287,30446,30566,31302,40361,27519,27794,22818,26406,33945,21359,22675,22937,24287,25551,26164,26483,28218,29483,31447,33495,37672,21209,24043,25006,25035,25098,25287,25771,26080,26969,27494,27595,28961,29687,30045,32326,33310,33538,34154,35491,36031,38695,40289,22696,40664,20497,21006,21563,21839,25991,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27766,32010,32011,32862,34442,38272,38639,21247,27797,29289,21619,23194,23614,23883,24396,24494,26410,26806,26979,28220,28228,30473,31859,32654,34183,35598,36855,38753,40692,23735,24758,24845,25003,25935,26107,26108,27665,27887,29599,29641,32225,38292,23494,34588,35600,21085,21338,25293,25615,25778,26420,27192,27850,29632,29854,31636,31893,32283,33162,33334,34180,36843,38649,39361,20276,21322,21453,21467,25292,25644,25856,26001,27075,27886,28504,29677,30036,30242,30436,30460,30928,30971,31020,32070,33324,34784,36820,38930,39151,21187,25300,25765,28196,28497,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30332,36299,37297,37474,39662,39747,20515,20621,22346,22952,23592,24135,24439,25151,25918,26041,26049,26121,26507,27036,28354,30917,32033,32938,33152,33323,33459,33953,34444,35370,35607,37030,38450,40848,20493,20467,63843,22521,24472,25308,25490,26479,28227,28953,30403,32972,32986,35060,35061,35097,36064,36649,37197,38506,20271,20336,24091,26575,26658,30333,30334,39748,24161,27146,29033,29140,30058,63844,32321,34115,34281,39132,20240,31567,32624,38309,20961,24070,26805,27710,27726,27867,29359,31684,33539,27861,29754,20731,21128,22721,25816,27287,29863,30294,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30887,34327,38370,38713,63845,21342,24321,35722,36776,36783,37002,21029,30629,40009,40712,19993,20482,20853,23643,24183,26142,26170,26564,26821,28851,29953,30149,31177,31453,36647,39200,39432,20445,22561,22577,23542,26222,27493,27921,28282,28541,29668,29995,33769,35036,35091,35676,36628,20239,20693,21264,21340,23443,24489,26381,31119,33145,33583,34068,35079,35206,36665,36667,39333,39954,26412,20086,20472,22857,23553,23791,23792,25447,26834,28925,29090,29739,32299,34028,34562,36898,37586,40179,19981,20184,20463,20613,21078,21103,21542,21648,22496,22827,23142,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23386,23413,23500,24220,63846,25206,25975,26023,28014,28325,29238,31526,31807,32566,33104,33105,33178,33344,33433,33705,35331,36e3,36070,36091,36212,36282,37096,37340,38428,38468,39385,40167,21271,20998,21545,22132,22707,22868,22894,24575,24996,25198,26128,27774,28954,30406,31881,31966,32027,33452,36033,38640,63847,20315,24343,24447,25282,23849,26379,26842,30844,32323,40300,19989,20633,21269,21290,21329,22915,23138,24199,24754,24970,25161,25209,26e3,26503,27047,27604,27606,27607,27608,27832,63848,29749,30202,30738,30865,31189,31192,31875,32203,32737,32933,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,33086,33218,33778,34586,35048,35513,35692,36027,37145,38750,39131,40763,22188,23338,24428,25996,27315,27567,27996,28657,28693,29277,29613,36007,36051,38971,24977,27703,32856,39425,20045,20107,20123,20181,20282,20284,20351,20447,20735,21490,21496,21766,21987,22235,22763,22882,23057,23531,23546,23556,24051,24107,24473,24605,25448,26012,26031,26614,26619,26797,27515,27801,27863,28195,28681,29509,30722,31038,31040,31072,31169,31721,32023,32114,32902,33293,33678,34001,34503,35039,35408,35422,35613,36060,36198,36781,37034,39164,39391,40605,21066,63849,26388,63850,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20632,21034,23665,25955,27733,29642,29987,30109,31639,33948,37240,38704,20087,25746,27578,29022,34217,19977,63851,26441,26862,28183,33439,34072,34923,25591,28545,37394,39087,19978,20663,20687,20767,21830,21930,22039,23360,23577,23776,24120,24202,24224,24258,24819,26705,27233,28248,29245,29248,29376,30456,31077,31665,32724,35059,35316,35443,35937,36062,38684,22622,29885,36093,21959,63852,31329,32034,33394,29298,29983,29989,63853,31513,22661,22779,23996,24207,24246,24464,24661,25234,25471,25933,26257,26329,26360,26646,26866,29312,29790,31598,32110,32214,32626,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32997,33298,34223,35199,35475,36893,37604,40653,40736,22805,22893,24109,24796,26132,26227,26512,27728,28101,28511,30707,30889,33990,37323,37675,20185,20682,20808,21892,23307,23459,25159,25982,26059,28210,29053,29697,29764,29831,29887,30316,31146,32218,32341,32680,33146,33203,33337,34330,34796,35445,36323,36984,37521,37925,39245,39854,21352,23633,26964,27844,27945,28203,33292,34203,35131,35373,35498,38634,40807,21089,26297,27570,32406,34814,36109,38275,38493,25885,28041,29166,63854,22478,22995,23468,24615,24826,25104,26143,26207,29481,29689,30427,30465,31596,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32854,32882,33125,35488,37266,19990,21218,27506,27927,31237,31545,32048,63855,36016,21484,22063,22609,23477,23567,23569,24034,25152,25475,25620,26157,26803,27836,28040,28335,28703,28836,29138,29990,30095,30094,30233,31505,31712,31787,32032,32057,34092,34157,34311,35380,36877,36961,37045,37559,38902,39479,20439,23660,26463,28049,31903,32396,35606,36118,36895,23403,24061,25613,33984,36956,39137,29575,23435,24730,26494,28126,35359,35494,36865,38924,21047,63856,28753,30862,37782,34928,37335,20462,21463,22013,22234,22402,22781,23234,23432,23723,23744,24101,24833,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,25101,25163,25480,25628,25910,25976,27193,27530,27700,27929,28465,29159,29417,29560,29703,29874,30246,30561,31168,31319,31466,31929,32143,32172,32353,32670,33065,33585,33936,34010,34282,34966,35504,35728,36664,36930,36995,37228,37526,37561,38539,38567,38568,38614,38656,38920,39318,39635,39706,21460,22654,22809,23408,23487,28113,28506,29087,29729,29881,32901,33789,24033,24455,24490,24642,26092,26642,26991,27219,27529,27957,28147,29667,30462,30636,31565,32020,33059,33308,33600,34036,34147,35426,35524,37255,37662,38918,39348,25100,34899,36848,37477,23815,23847,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23913,29791,33181,34664,28629,25342,32722,35126,35186,19998,20056,20711,21213,21319,25215,26119,32361,34821,38494,20365,21273,22070,22987,23204,23608,23630,23629,24066,24337,24643,26045,26159,26178,26558,26612,29468,30690,31034,32709,33940,33997,35222,35430,35433,35553,35925,35962,22516,23508,24335,24687,25325,26893,27542,28252,29060,31698,34645,35672,36606,39135,39166,20280,20353,20449,21627,23072,23480,24892,26032,26216,29180,30003,31070,32051,33102,33251,33688,34218,34254,34563,35338,36523,36763,63857,36805,22833,23460,23526,24713,23529,23563,24515,27777,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63858,28145,28683,29978,33455,35574,20160,21313,63859,38617,27663,20126,20420,20818,21854,23077,23784,25105,29273,33469,33706,34558,34905,35357,38463,38597,39187,40201,40285,22538,23731,23997,24132,24801,24853,25569,27138,28197,37122,37716,38990,39952,40823,23433,23736,25353,26191,26696,30524,38593,38797,38996,39839,26017,35585,36555,38332,21813,23721,24022,24245,26263,30284,33780,38343,22739,25276,29390,40232,20208,22830,24591,26171,27523,31207,40230,21395,21696,22467,23830,24859,26326,28079,30861,33406,38552,38724,21380,25212,25494,28082,32266,33099,38989,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27387,32588,40367,40474,20063,20539,20918,22812,24825,25590,26928,29242,32822,63860,37326,24369,63861,63862,32004,33509,33903,33979,34277,36493,63863,20335,63864,63865,22756,23363,24665,25562,25880,25965,26264,63866,26954,27171,27915,28673,29036,30162,30221,31155,31344,63867,32650,63868,35140,63869,35731,37312,38525,63870,39178,22276,24481,26044,28417,30208,31142,35486,39341,39770,40812,20740,25014,25233,27277,33222,20547,22576,24422,28937,35328,35578,23420,34326,20474,20796,22196,22852,25513,28153,23978,26989,20870,20104,20313,63871,63872,63873,22914,63874,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63875,27487,27741,63876,29877,30998,63877,33287,33349,33593,36671,36701,63878,39192,63879,63880,63881,20134,63882,22495,24441,26131,63883,63884,30123,32377,35695,63885,36870,39515,22181,22567,23032,23071,23476,63886,24310,63887,63888,25424,25403,63889,26941,27783,27839,28046,28051,28149,28436,63890,28895,28982,29017,63891,29123,29141,63892,30799,30831,63893,31605,32227,63894,32303,63895,34893,36575,63896,63897,63898,37467,63899,40182,63900,63901,63902,24709,28037,63903,29105,63904,63905,38321,21421,63906,63907,63908,26579,63909,28814,28976,29744,33398,33490,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63910,38331,39653,40573,26308,63911,29121,33865,63912,63913,22603,63914,63915,23992,24433,63916,26144,26254,27001,27054,27704,27891,28214,28481,28634,28699,28719,29008,29151,29552,63917,29787,63918,29908,30408,31310,32403,63919,63920,33521,35424,36814,63921,37704,63922,38681,63923,63924,20034,20522,63925,21e3,21473,26355,27757,28618,29450,30591,31330,33454,34269,34306,63926,35028,35427,35709,35947,63927,37555,63928,38675,38928,20116,20237,20425,20658,21320,21566,21555,21978,22626,22714,22887,23067,23524,24735,63929,25034,25942,26111,26212,26791,27738,28595,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28879,29100,29522,31613,34568,35492,39986,40711,23627,27779,29508,29577,37434,28331,29797,30239,31337,32277,34314,20800,22725,25793,29934,29973,30320,32705,37013,38605,39252,28198,29926,31401,31402,33253,34521,34680,35355,23113,23436,23451,26785,26880,28003,29609,29715,29740,30871,32233,32747,33048,33109,33694,35916,38446,38929,26352,24448,26106,26505,27754,29579,20525,23043,27498,30702,22806,23916,24013,29477,30031,63930,63931,20709,20985,22575,22829,22934,23002,23525,63932,63933,23970,25303,25622,25747,25854,63934,26332,63935,27208,63936,29183,29796,63937,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31368,31407,32327,32350,32768,33136,63938,34799,35201,35616,36953,63939,36992,39250,24958,27442,28020,32287,35109,36785,20433,20653,20887,21191,22471,22665,23481,24248,24898,27029,28044,28263,28342,29076,29794,29992,29996,32883,33592,33993,36362,37780,37854,63940,20110,20305,20598,20778,21448,21451,21491,23431,23507,23588,24858,24962,26100,29275,29591,29760,30402,31056,31121,31161,32006,32701,33419,34261,34398,36802,36935,37109,37354,38533,38632,38633,21206,24423,26093,26161,26671,29020,31286,37057,38922,20113,63941,27218,27550,28560,29065,32792,33464,34131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36939,38549,38642,38907,34074,39729,20112,29066,38596,20803,21407,21729,22291,22290,22435,23195,23236,23491,24616,24895,25588,27781,27961,28274,28304,29232,29503,29783,33489,34945,36677,36960,63942,38498,39e3,40219,26376,36234,37470,20301,20553,20702,21361,22285,22996,23041,23561,24944,26256,28205,29234,29771,32239,32963,33806,33894,34111,34655,34907,35096,35586,36949,38859,39759,20083,20369,20754,20842,63943,21807,21929,23418,23461,24188,24189,24254,24736,24799,24840,24841,25540,25912,26377,63944,26580,26586,63945,26977,26978,27833,27943,63946,28216,63947,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28641,29494,29495,63948,29788,30001,63949,30290,63950,63951,32173,33278,33848,35029,35480,35547,35565,36400,36418,36938,36926,36986,37193,37321,37742,63952,63953,22537,63954,27603,32905,32946,63955,63956,20801,22891,23609,63957,63958,28516,29607,32996,36103,63959,37399,38287,63960,63961,63962,63963,32895,25102,28700,32104,34701,63964,22432,24681,24903,27575,35518,37504,38577,20057,21535,28139,34093,38512,38899,39150,25558,27875,37009,20957,25033,33210,40441,20381,20506,20736,23452,24847,25087,25836,26885,27589,30097,30691,32681,33380,34191,34811,34915,35516,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,35696,37291,20108,20197,20234,63965,63966,22839,23016,63967,24050,24347,24411,24609,63968,63969,63970,63971,29246,29669,63972,30064,30157,63973,31227,63974,32780,32819,32900,33505,33617,63975,63976,36029,36019,36999,63977,63978,39156,39180,63979,63980,28727,30410,32714,32716,32764,35610,20154,20161,20995,21360,63981,21693,22240,23035,23493,24341,24525,28270,63982,63983,32106,33589,63984,34451,35469,63985,38765,38775,63986,63987,19968,20314,20350,22777,26085,28322,36920,37808,39353,20219,22764,22922,23001,24641,63988,63989,31252,63990,33615,36035,20837,21316,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63991,63992,63993,20173,21097,23381,33471,20180,21050,21672,22985,23039,23376,23383,23388,24675,24904,28363,28825,29038,29574,29943,30133,30913,32043,32773,33258,33576,34071,34249,35566,36039,38604,20316,21242,22204,26027,26152,28796,28856,29237,32189,33421,37196,38592,40306,23409,26855,27544,28538,30430,23697,26283,28507,31668,31786,34870,38620,19976,20183,21280,22580,22715,22767,22892,23559,24115,24196,24373,25484,26290,26454,27167,27299,27404,28479,29254,63994,29520,29835,31456,31911,33144,33247,33255,33674,33900,34083,34196,34255,35037,36115,37292,38263,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38556,20877,21705,22312,23472,25165,26448,26685,26771,28221,28371,28797,32289,35009,36001,36617,40779,40782,29229,31631,35533,37658,20295,20302,20786,21632,22992,24213,25269,26485,26990,27159,27822,28186,29401,29482,30141,31672,32053,33511,33785,33879,34295,35419,36015,36487,36889,37048,38606,40799,21219,21514,23265,23490,25688,25973,28404,29380,63995,30340,31309,31515,31821,32318,32735,33659,35627,36042,36196,36321,36447,36842,36857,36969,37841,20291,20346,20659,20840,20856,21069,21098,22625,22652,22880,23560,23637,24283,24731,25136,26643,27583,27656,28593,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29006,29728,3e4,30008,30033,30322,31564,31627,31661,31686,32399,35438,36670,36681,37439,37523,37666,37931,38651,39002,39019,39198,20999,25130,25240,27993,30308,31434,31680,32118,21344,23742,24215,28472,28857,31896,38673,39822,40670,25509,25722,34678,19969,20117,20141,20572,20597,21576,22979,23450,24128,24237,24311,24449,24773,25402,25919,25972,26060,26230,26232,26622,26984,27273,27491,27712,28096,28136,28191,28254,28702,28833,29582,29693,30010,30555,30855,31118,31243,31357,31934,32142,33351,35330,35562,35998,37165,37194,37336,37478,37580,37664,38662,38742,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38748,38914,40718,21046,21137,21884,22564,24093,24351,24716,25552,26799,28639,31085,31532,33229,34234,35069,35576,36420,37261,38500,38555,38717,38988,40778,20430,20806,20939,21161,22066,24340,24427,25514,25805,26089,26177,26362,26361,26397,26781,26839,27133,28437,28526,29031,29157,29226,29866,30522,31062,31066,31199,31264,31381,31895,31967,32068,32368,32903,34299,34468,35412,35519,36249,36481,36896,36973,37347,38459,38613,40165,26063,31751,36275,37827,23384,23562,21330,25305,29469,20519,23447,24478,24752,24939,26837,28121,29742,31278,32066,32156,32305,33131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36394,36405,37758,37912,20304,22352,24038,24231,25387,32618,20027,20303,20367,20570,23005,32964,21610,21608,22014,22863,23449,24030,24282,26205,26417,26609,26666,27880,27954,28234,28557,28855,29664,30087,31820,32002,32044,32162,33311,34523,35387,35461,36208,36490,36659,36913,37198,37202,37956,39376,31481,31909,20426,20737,20934,22472,23535,23803,26201,27197,27994,28310,28652,28940,30063,31459,34850,36897,36981,38603,39423,33537,20013,20210,34886,37325,21373,27355,26987,27713,33914,22686,24974,26366,25327,28893,29969,30151,32338,33976,35657,36104,20043,21482,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21675,22320,22336,24535,25345,25351,25711,25903,26088,26234,26525,26547,27490,27744,27802,28460,30693,30757,31049,31063,32025,32930,33026,33267,33437,33463,34584,35468,63996,36100,36286,36978,30452,31257,31287,32340,32887,21767,21972,22645,25391,25634,26185,26187,26733,27035,27524,27941,28337,29645,29800,29857,30043,30137,30433,30494,30603,31206,32265,32285,33275,34095,34967,35386,36049,36587,36784,36914,37805,38499,38515,38663,20356,21489,23018,23241,24089,26702,29894,30142,31209,31378,33187,34541,36074,36300,36845,26015,26389,63997,22519,28503,32221,36655,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37878,38598,24501,25074,28548,19988,20376,20511,21449,21983,23919,24046,27425,27492,30923,31642,63998,36425,36554,36974,25417,25662,30528,31364,37679,38015,40810,25776,28591,29158,29864,29914,31428,31762,32386,31922,32408,35738,36106,38013,39184,39244,21049,23519,25830,26413,32046,20717,21443,22649,24920,24921,25082,26028,31449,35730,35734,20489,20513,21109,21809,23100,24288,24432,24884,25950,26124,26166,26274,27085,28356,28466,29462,30241,31379,33081,33369,33750,33980,20661,22512,23488,23528,24425,25505,30758,32181,33756,34081,37319,37365,20874,26613,31574,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36012,20932,22971,24765,34389,20508,63999,21076,23610,24957,25114,25299,25842,26021,28364,30240,33034,36448,38495,38587,20191,21315,21912,22825,24029,25797,27849,28154,29588,31359,33307,34214,36068,36368,36983,37351,38369,38433,38854,20984,21746,21894,24505,25764,28552,32180,36639,36685,37941,20681,23574,27838,28155,29979,30651,31805,31844,35449,35522,22558,22974,24086,25463,29266,30090,30571,35548,36028,36626,24307,26228,28152,32893,33729,35531,38737,39894,64e3,21059,26367,28053,28399,32224,35558,36910,36958,39636,21021,21119,21736,24980,25220,25307,26786,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26898,26970,27189,28818,28966,30813,30977,30990,31186,31245,32918,33400,33493,33609,34121,35970,36229,37218,37259,37294,20419,22225,29165,30679,34560,35320,23544,24534,26449,37032,21474,22618,23541,24740,24961,25696,32317,32880,34085,37507,25774,20652,23828,26368,22684,25277,25512,26894,27e3,27166,28267,30394,31179,33467,33833,35535,36264,36861,37138,37195,37276,37648,37656,37786,38619,39478,39949,19985,30044,31069,31482,31569,31689,32302,33988,36441,36468,36600,36880,26149,26943,29763,20986,26414,40668,20805,24544,27798,34802,34909,34935,24756,33205,33795,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36101,21462,21561,22068,23094,23601,28810,32736,32858,33030,33261,36259,37257,39519,40434,20596,20164,21408,24827,28204,23652,20360,20516,21988,23769,24159,24677,26772,27835,28100,29118,30164,30196,30305,31258,31305,32199,32251,32622,33268,34473,36636,38601,39347,40786,21063,21189,39149,35242,19971,26578,28422,20405,23522,26517,27784,28024,29723,30759,37341,37756,34756,31204,31281,24555,20182,21668,21822,22702,22949,24816,25171,25302,26422,26965,33333,38464,39345,39389,20524,21331,21828,22396,64001,25176,64002,25826,26219,26589,28609,28655,29730,29752,35351,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37944,21585,22022,22374,24392,24986,27470,28760,28845,32187,35477,22890,33067,25506,30472,32829,36010,22612,25645,27067,23445,24081,28271,64003,34153,20812,21488,22826,24608,24907,27526,27760,27888,31518,32974,33492,36294,37040,39089,64004,25799,28580,25745,25860,20814,21520,22303,35342,24927,26742,64005,30171,31570,32113,36890,22534,27084,33151,35114,36864,38969,20600,22871,22956,25237,36879,39722,24925,29305,38358,22369,23110,24052,25226,25773,25850,26487,27874,27966,29228,29750,30772,32631,33453,36315,38935,21028,22338,26495,29256,29923,36009,36774,37393,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38442,20843,21485,25420,20329,21764,24726,25943,27803,28031,29260,29437,31255,35207,35997,24429,28558,28921,33192,24846,20415,20559,25153,29255,31687,32232,32745,36941,38829,39449,36022,22378,24179,26544,33805,35413,21536,23318,24163,24290,24330,25987,32954,34109,38281,38491,20296,21253,21261,21263,21638,21754,22275,24067,24598,25243,25265,25429,64006,27873,28006,30129,30770,32990,33071,33502,33889,33970,34957,35090,36875,37610,39165,39825,24133,26292,26333,28689,29190,64007,20469,21117,24426,24915,26451,27161,28418,29922,31080,34920,35961,39111,39108,39491,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21697,31263,26963,35575,35914,39080,39342,24444,25259,30130,30382,34987,36991,38466,21305,24380,24517,27852,29644,30050,30091,31558,33534,39325,20047,36924,19979,20309,21414,22799,24264,26160,27827,29781,33655,34662,36032,36944,38686,39957,22737,23416,34384,35604,40372,23506,24680,24717,26097,27735,28450,28579,28698,32597,32752,38289,38290,38480,38867,21106,36676,20989,21547,21688,21859,21898,27323,28085,32216,33382,37532,38519,40569,21512,21704,30418,34532,38308,38356,38492,20130,20233,23022,23270,24055,24658,25239,26477,26689,27782,28207,32568,32923,33322,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,64008,64009,38917,20133,20565,21683,22419,22874,23401,23475,25032,26999,28023,28707,34809,35299,35442,35559,36994,39405,39608,21182,26680,20502,24184,26447,33607,34892,20139,21521,22190,29670,37141,38911,39177,39255,39321,22099,22687,34395,35377,25010,27382,29563,36562,27463,38570,39511,22869,29184,36203,38761,20436,23796,24358,25080,26203,27883,28843,29572,29625,29694,30505,30541,32067,32098,32291,33335,34898,64010,36066,37449,39023,23377,31348,34880,38913,23244,20448,21332,22846,23805,25406,28025,29433,33029,33031,33698,37583,38960,20136,20804,21009,22411,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24418,27842,28366,28677,28752,28847,29074,29673,29801,33610,34722,34913,36872,37026,37795,39336,20846,24407,24800,24935,26291,34137,36426,37295,38795,20046,20114,21628,22741,22778,22909,23733,24359,25142,25160,26122,26215,27627,28009,28111,28246,28408,28564,28640,28649,28765,29392,29733,29786,29920,30355,31068,31946,32286,32993,33446,33899,33983,34382,34399,34676,35703,35946,37804,38912,39013,24785,25110,37239,23130,26127,28151,28222,29759,39746,24573,24794,31503,21700,24344,27742,27859,27946,28888,32005,34425,35340,40251,21270,21644,23301,27194,28779,30069,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31117,31166,33457,33775,35441,35649,36008,38772,64011,25844,25899,30906,30907,31339,20024,21914,22864,23462,24187,24739,25563,27489,26213,26707,28185,29029,29872,32008,36996,39529,39973,27963,28369,29502,35905,38346,20976,24140,24488,24653,24822,24880,24908,26179,26180,27045,27841,28255,28361,28514,29004,29852,30343,31681,31783,33618,34647,36945,38541,40643,21295,22238,24315,24458,24674,24724,25079,26214,26371,27292,28142,28590,28784,29546,32362,33214,33588,34516,35496,36036,21123,29554,23446,27243,37892,21742,22150,23389,25928,25989,26313,26783,28045,28102,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29243,32948,37237,39501,20399,20505,21402,21518,21564,21897,21957,24127,24460,26429,29030,29661,36869,21211,21235,22628,22734,28932,29071,29179,34224,35347,26248,34216,21927,26244,29002,33841,21321,21913,27585,24409,24509,25582,26249,28999,35569,36637,40638,20241,25658,28875,30054,34407,24676,35662,40440,20807,20982,21256,27958,33016,40657,26133,27427,28824,30165,21507,23673,32007,35350,27424,27453,27462,21560,24688,27965,32725,33288,20694,20958,21916,22123,22221,23020,23305,24076,24985,24984,25137,26206,26342,29081,29113,29114,29351,31143,31232,32690,35440,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],gb18030:[19970,19972,19973,19974,19983,19986,19991,19999,2e4,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,21403,21404,21406,21408,21409,21412,21415,21418,21419,21420,21421,21423,21424,21425,21426,21427,21428,21429,21431,21432,21433,21434,21436,21437,21438,21440,21443,21444,21445,21446,21447,21454,21455,21456,21458,21459,21461,21466,21468,21469,21470,21473,21474,21479,21492,21498,21502,21503,21504,21506,21509,21511,21515,21524,21528,21529,21530,21532,21538,21540,21541,21546,21552,21555,21558,21559,21562,21565,21567,21569,21570,21572,21573,21575,21577,21580,21581,21582,21583,21585,21594,21597,21598,21599,21600,21601,21603,21605,21607,21609,21610,21611,21612,21613,21614,21615,21616,21620,21625,21626,21630,21631,21633,21635,21637,21639,21640,21641,21642,21645,21649,21651,21655,21656,21660,21662,21663,21664,21665,21666,21669,21678,21680,21682,21685,21686,21687,21689,21690,21692,21694,21699,21701,21706,21707,21718,21720,21723,21728,21729,21730,21731,21732,21739,21740,21743,21744,21745,21748,21749,21750,21751,21752,21753,21755,21758,21760,21762,21763,21764,21765,21768,21770,21771,21772,21773,21774,21778,21779,21781,21782,21783,21784,21785,21786,21788,21789,21790,21791,21793,21797,21798,21800,21801,21803,21805,21810,21812,21813,21814,21816,21817,21818,21819,21821,21824,21826,21829,21831,21832,21835,21836,21837,21838,21839,21841,21842,21843,21844,21847,21848,21849,21850,21851,21853,21854,21855,21856,21858,21859,21864,21865,21867,21871,21872,21873,21874,21875,21876,21881,21882,21885,21887,21893,21894,21900,21901,21902,21904,21906,21907,21909,21910,21911,21914,21915,21918,21920,21921,21922,21923,21924,21925,21926,21928,21929,21930,21931,21932,21933,21934,21935,21936,21938,21940,21942,21944,21946,21948,21951,21952,21953,21954,21955,21958,21959,21960,21962,21963,21966,21967,21968,21973,21975,21976,21977,21978,21979,21982,21984,21986,21991,21993,21997,21998,22e3,22001,22004,22006,22008,22009,22010,22011,22012,22015,22018,22019,22020,22021,22022,22023,22026,22027,22029,22032,22033,22034,22035,22036,22037,22038,22039,22041,22042,22044,22045,22048,22049,22050,22053,22054,22056,22057,22058,22059,22062,22063,22064,22067,22069,22071,22072,22074,22076,22077,22078,22080,22081,22082,22083,22084,22085,22086,22087,22088,22089,22090,22091,22095,22096,22097,22098,22099,22101,22102,22106,22107,22109,22110,22111,22112,22113,22115,22117,22118,22119,22125,22126,22127,22128,22130,22131,22132,22133,22135,22136,22137,22138,22141,22142,22143,22144,22145,22146,22147,22148,22151,22152,22153,22154,22155,22156,22157,22160,22161,22162,22164,22165,22166,22167,22168,22169,22170,22171,22172,22173,22174,22175,22176,22177,22178,22180,22181,22182,22183,22184,22185,22186,22187,22188,22189,22190,22192,22193,22194,22195,22196,22197,22198,22200,22201,22202,22203,22205,22206,22207,22208,22209,22210,22211,22212,22213,22214,22215,22216,22217,22219,22220,22221,22222,22223,22224,22225,22226,22227,22229,22230,22232,22233,22236,22243,22245,22246,22247,22248,22249,22250,22252,22254,22255,22258,22259,22262,22263,22264,22267,22268,22272,22273,22274,22277,22279,22283,22284,22285,22286,22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22301,22302,22304,22305,22306,22308,22309,22310,22311,22315,22321,22322,22324,22325,22326,22327,22328,22332,22333,22335,22337,22339,22340,22341,22342,22344,22345,22347,22354,22355,22356,22357,22358,22360,22361,22370,22371,22373,22375,22380,22382,22384,22385,22386,22388,22389,22392,22393,22394,22397,22398,22399,22400,22401,22407,22408,22409,22410,22413,22414,22415,22416,22417,22420,22421,22422,22423,22424,22425,22426,22428,22429,22430,22431,22437,22440,22442,22444,22447,22448,22449,22451,22453,22454,22455,22457,22458,22459,22460,22461,22462,22463,22464,22465,22468,22469,22470,22471,22472,22473,22474,22476,22477,22480,22481,22483,22486,22487,22491,22492,22494,22497,22498,22499,22501,22502,22503,22504,22505,22506,22507,22508,22510,22512,22513,22514,22515,22517,22518,22519,22523,22524,22526,22527,22529,22531,22532,22533,22536,22537,22538,22540,22542,22543,22544,22546,22547,22548,22550,22551,22552,22554,22555,22556,22557,22559,22562,22563,22565,22566,22567,22568,22569,22571,22572,22573,22574,22575,22577,22578,22579,22580,22582,22583,22584,22585,22586,22587,22588,22589,22590,22591,22592,22593,22594,22595,22597,22598,22599,22600,22601,22602,22603,22606,22607,22608,22610,22611,22613,22614,22615,22617,22618,22619,22620,22621,22623,22624,22625,22626,22627,22628,22630,22631,22632,22633,22634,22637,22638,22639,22640,22641,22642,22643,22644,22645,22646,22647,22648,22649,22650,22651,22652,22653,22655,22658,22660,22662,22663,22664,22666,22667,22668,22669,22670,22671,22672,22673,22676,22677,22678,22679,22680,22683,22684,22685,22688,22689,22690,22691,22692,22693,22694,22695,22698,22699,22700,22701,22702,22703,22704,22705,22706,22707,22708,22709,22710,22711,22712,22713,22714,22715,22717,22718,22719,22720,22722,22723,22724,22726,22727,22728,22729,22730,22731,22732,22733,22734,22735,22736,22738,22739,22740,22742,22743,22744,22745,22746,22747,22748,22749,22750,22751,22752,22753,22754,22755,22757,22758,22759,22760,22761,22762,22765,22767,22769,22770,22772,22773,22775,22776,22778,22779,22780,22781,22782,22783,22784,22785,22787,22789,22790,22792,22793,22794,22795,22796,22798,22800,22801,22802,22803,22807,22808,22811,22813,22814,22816,22817,22818,22819,22822,22824,22828,22832,22834,22835,22837,22838,22843,22845,22846,22847,22848,22851,22853,22854,22858,22860,22861,22864,22866,22867,22873,22875,22876,22877,22878,22879,22881,22883,22884,22886,22887,22888,22889,22890,22891,22892,22893,22894,22895,22896,22897,22898,22901,22903,22906,22907,22908,22910,22911,22912,22917,22921,22923,22924,22926,22927,22928,22929,22932,22933,22936,22938,22939,22940,22941,22943,22944,22945,22946,22950,22951,22956,22957,22960,22961,22963,22964,22965,22966,22967,22968,22970,22972,22973,22975,22976,22977,22978,22979,22980,22981,22983,22984,22985,22988,22989,22990,22991,22997,22998,23001,23003,23006,23007,23008,23009,23010,23012,23014,23015,23017,23018,23019,23021,23022,23023,23024,23025,23026,23027,23028,23029,23030,23031,23032,23034,23036,23037,23038,23040,23042,23050,23051,23053,23054,23055,23056,23058,23060,23061,23062,23063,23065,23066,23067,23069,23070,23073,23074,23076,23078,23079,23080,23082,23083,23084,23085,23086,23087,23088,23091,23093,23095,23096,23097,23098,23099,23101,23102,23103,23105,23106,23107,23108,23109,23111,23112,23115,23116,23117,23118,23119,23120,23121,23122,23123,23124,23126,23127,23128,23129,23131,23132,23133,23134,23135,23136,23137,23139,23140,23141,23142,23144,23145,23147,23148,23149,23150,23151,23152,23153,23154,23155,23160,23161,23163,23164,23165,23166,23168,23169,23170,23171,23172,23173,23174,23175,23176,23177,23178,23179,23180,23181,23182,23183,23184,23185,23187,23188,23189,23190,23191,23192,23193,23196,23197,23198,23199,23200,23201,23202,23203,23204,23205,23206,23207,23208,23209,23211,23212,23213,23214,23215,23216,23217,23220,23222,23223,23225,23226,23227,23228,23229,23231,23232,23235,23236,23237,23238,23239,23240,23242,23243,23245,23246,23247,23248,23249,23251,23253,23255,23257,23258,23259,23261,23262,23263,23266,23268,23269,23271,23272,23274,23276,23277,23278,23279,23280,23282,23283,23284,23285,23286,23287,23288,23289,23290,23291,23292,23293,23294,23295,23296,23297,23298,23299,23300,23301,23302,23303,23304,23306,23307,23308,23309,23310,23311,23312,23313,23314,23315,23316,23317,23320,23321,23322,23323,23324,23325,23326,23327,23328,23329,23330,23331,23332,23333,23334,23335,23336,23337,23338,23339,23340,23341,23342,23343,23344,23345,23347,23349,23350,23352,23353,23354,23355,23356,23357,23358,23359,23361,23362,23363,23364,23365,23366,23367,23368,23369,23370,23371,23372,23373,23374,23375,23378,23382,23390,23392,23393,23399,23400,23403,23405,23406,23407,23410,23412,23414,23415,23416,23417,23419,23420,23422,23423,23426,23430,23434,23437,23438,23440,23441,23442,23444,23446,23455,23463,23464,23465,23468,23469,23470,23471,23473,23474,23479,23482,23483,23484,23488,23489,23491,23496,23497,23498,23499,23501,23502,23503,23505,23508,23509,23510,23511,23512,23513,23514,23515,23516,23520,23522,23523,23526,23527,23529,23530,23531,23532,23533,23535,23537,23538,23539,23540,23541,23542,23543,23549,23550,23552,23554,23555,23557,23559,23560,23563,23564,23565,23566,23568,23570,23571,23575,23577,23579,23582,23583,23584,23585,23587,23590,23592,23593,23594,23595,23597,23598,23599,23600,23602,23603,23605,23606,23607,23619,23620,23622,23623,23628,23629,23634,23635,23636,23638,23639,23640,23642,23643,23644,23645,23647,23650,23652,23655,23656,23657,23658,23659,23660,23661,23664,23666,23667,23668,23669,23670,23671,23672,23675,23676,23677,23678,23680,23683,23684,23685,23686,23687,23689,23690,23691,23694,23695,23698,23699,23701,23709,23710,23711,23712,23713,23716,23717,23718,23719,23720,23722,23726,23727,23728,23730,23732,23734,23737,23738,23739,23740,23742,23744,23746,23747,23749,23750,23751,23752,23753,23754,23756,23757,23758,23759,23760,23761,23763,23764,23765,23766,23767,23768,23770,23771,23772,23773,23774,23775,23776,23778,23779,23783,23785,23787,23788,23790,23791,23793,23794,23795,23796,23797,23798,23799,23800,23801,23802,23804,23805,23806,23807,23808,23809,23812,23813,23816,23817,23818,23819,23820,23821,23823,23824,23825,23826,23827,23829,23831,23832,23833,23834,23836,23837,23839,23840,23841,23842,23843,23845,23848,23850,23851,23852,23855,23856,23857,23858,23859,23861,23862,23863,23864,23865,23866,23867,23868,23871,23872,23873,23874,23875,23876,23877,23878,23880,23881,23885,23886,23887,23888,23889,23890,23891,23892,23893,23894,23895,23897,23898,23900,23902,23903,23904,23905,23906,23907,23908,23909,23910,23911,23912,23914,23917,23918,23920,23921,23922,23923,23925,23926,23927,23928,23929,23930,23931,23932,23933,23934,23935,23936,23937,23939,23940,23941,23942,23943,23944,23945,23946,23947,23948,23949,23950,23951,23952,23953,23954,23955,23956,23957,23958,23959,23960,23962,23963,23964,23966,23967,23968,23969,23970,23971,23972,23973,23974,23975,23976,23977,23978,23979,23980,23981,23982,23983,23984,23985,23986,23987,23988,23989,23990,23992,23993,23994,23995,23996,23997,23998,23999,24e3,24001,24002,24003,24004,24006,24007,24008,24009,24010,24011,24012,24014,24015,24016,24017,24018,24019,24020,24021,24022,24023,24024,24025,24026,24028,24031,24032,24035,24036,24042,24044,24045,24048,24053,24054,24056,24057,24058,24059,24060,24063,24064,24068,24071,24073,24074,24075,24077,24078,24082,24083,24087,24094,24095,24096,24097,24098,24099,24100,24101,24104,24105,24106,24107,24108,24111,24112,24114,24115,24116,24117,24118,24121,24122,24126,24127,24128,24129,24131,24134,24135,24136,24137,24138,24139,24141,24142,24143,24144,24145,24146,24147,24150,24151,24152,24153,24154,24156,24157,24159,24160,24163,24164,24165,24166,24167,24168,24169,24170,24171,24172,24173,24174,24175,24176,24177,24181,24183,24185,24190,24193,24194,24195,24197,24200,24201,24204,24205,24206,24210,24216,24219,24221,24225,24226,24227,24228,24232,24233,24234,24235,24236,24238,24239,24240,24241,24242,24244,24250,24251,24252,24253,24255,24256,24257,24258,24259,24260,24261,24262,24263,24264,24267,24268,24269,24270,24271,24272,24276,24277,24279,24280,24281,24282,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24297,24299,24300,24301,24302,24303,24304,24305,24306,24307,24309,24312,24313,24315,24316,24317,24325,24326,24327,24329,24332,24333,24334,24336,24338,24340,24342,24345,24346,24348,24349,24350,24353,24354,24355,24356,24360,24363,24364,24366,24368,24370,24371,24372,24373,24374,24375,24376,24379,24381,24382,24383,24385,24386,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24399,24401,24404,24409,24410,24411,24412,24414,24415,24416,24419,24421,24423,24424,24427,24430,24431,24434,24436,24437,24438,24440,24442,24445,24446,24447,24451,24454,24461,24462,24463,24465,24467,24468,24470,24474,24475,24477,24478,24479,24480,24482,24483,24484,24485,24486,24487,24489,24491,24492,24495,24496,24497,24498,24499,24500,24502,24504,24505,24506,24507,24510,24511,24512,24513,24514,24519,24520,24522,24523,24526,24531,24532,24533,24538,24539,24540,24542,24543,24546,24547,24549,24550,24552,24553,24556,24559,24560,24562,24563,24564,24566,24567,24569,24570,24572,24583,24584,24585,24587,24588,24592,24593,24595,24599,24600,24602,24606,24607,24610,24611,24612,24620,24621,24622,24624,24625,24626,24627,24628,24630,24631,24632,24633,24634,24637,24638,24640,24644,24645,24646,24647,24648,24649,24650,24652,24654,24655,24657,24659,24660,24662,24663,24664,24667,24668,24670,24671,24672,24673,24677,24678,24686,24689,24690,24692,24693,24695,24702,24704,24705,24706,24709,24710,24711,24712,24714,24715,24718,24719,24720,24721,24723,24725,24727,24728,24729,24732,24734,24737,24738,24740,24741,24743,24745,24746,24750,24752,24755,24757,24758,24759,24761,24762,24765,24766,24767,24768,24769,24770,24771,24772,24775,24776,24777,24780,24781,24782,24783,24784,24786,24787,24788,24790,24791,24793,24795,24798,24801,24802,24803,24804,24805,24810,24817,24818,24821,24823,24824,24827,24828,24829,24830,24831,24834,24835,24836,24837,24839,24842,24843,24844,24848,24849,24850,24851,24852,24854,24855,24856,24857,24859,24860,24861,24862,24865,24866,24869,24872,24873,24874,24876,24877,24878,24879,24880,24881,24882,24883,24884,24885,24886,24887,24888,24889,24890,24891,24892,24893,24894,24896,24897,24898,24899,24900,24901,24902,24903,24905,24907,24909,24911,24912,24914,24915,24916,24918,24919,24920,24921,24922,24923,24924,24926,24927,24928,24929,24931,24932,24933,24934,24937,24938,24939,24940,24941,24942,24943,24945,24946,24947,24948,24950,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24972,24973,24975,24976,24977,24978,24979,24981,24982,24983,24984,24985,24986,24987,24988,24990,24991,24992,24993,24994,24995,24996,24997,24998,25002,25003,25005,25006,25007,25008,25009,25010,25011,25012,25013,25014,25016,25017,25018,25019,25020,25021,25023,25024,25025,25027,25028,25029,25030,25031,25033,25036,25037,25038,25039,25040,25043,25045,25046,25047,25048,25049,25050,25051,25052,25053,25054,25055,25056,25057,25058,25059,25060,25061,25063,25064,25065,25066,25067,25068,25069,25070,25071,25072,25073,25074,25075,25076,25078,25079,25080,25081,25082,25083,25084,25085,25086,25088,25089,25090,25091,25092,25093,25095,25097,25107,25108,25113,25116,25117,25118,25120,25123,25126,25127,25128,25129,25131,25133,25135,25136,25137,25138,25141,25142,25144,25145,25146,25147,25148,25154,25156,25157,25158,25162,25167,25168,25173,25174,25175,25177,25178,25180,25181,25182,25183,25184,25185,25186,25188,25189,25192,25201,25202,25204,25205,25207,25208,25210,25211,25213,25217,25218,25219,25221,25222,25223,25224,25227,25228,25229,25230,25231,25232,25236,25241,25244,25245,25246,25251,25254,25255,25257,25258,25261,25262,25263,25264,25266,25267,25268,25270,25271,25272,25274,25278,25280,25281,25283,25291,25295,25297,25301,25309,25310,25312,25313,25316,25322,25323,25328,25330,25333,25336,25337,25338,25339,25344,25347,25348,25349,25350,25354,25355,25356,25357,25359,25360,25362,25363,25364,25365,25367,25368,25369,25372,25382,25383,25385,25388,25389,25390,25392,25393,25395,25396,25397,25398,25399,25400,25403,25404,25406,25407,25408,25409,25412,25415,25416,25418,25425,25426,25427,25428,25430,25431,25432,25433,25434,25435,25436,25437,25440,25444,25445,25446,25448,25450,25451,25452,25455,25456,25458,25459,25460,25461,25464,25465,25468,25469,25470,25471,25473,25475,25476,25477,25478,25483,25485,25489,25491,25492,25493,25495,25497,25498,25499,25500,25501,25502,25503,25505,25508,25510,25515,25519,25521,25522,25525,25526,25529,25531,25533,25535,25536,25537,25538,25539,25541,25543,25544,25546,25547,25548,25553,25555,25556,25557,25559,25560,25561,25562,25563,25564,25565,25567,25570,25572,25573,25574,25575,25576,25579,25580,25582,25583,25584,25585,25587,25589,25591,25593,25594,25595,25596,25598,25603,25604,25606,25607,25608,25609,25610,25613,25614,25617,25618,25621,25622,25623,25624,25625,25626,25629,25631,25634,25635,25636,25637,25639,25640,25641,25643,25646,25647,25648,25649,25650,25651,25653,25654,25655,25656,25657,25659,25660,25662,25664,25666,25667,25673,25675,25676,25677,25678,25679,25680,25681,25683,25685,25686,25687,25689,25690,25691,25692,25693,25695,25696,25697,25698,25699,25700,25701,25702,25704,25706,25707,25708,25710,25711,25712,25713,25714,25715,25716,25717,25718,25719,25723,25724,25725,25726,25727,25728,25729,25731,25734,25736,25737,25738,25739,25740,25741,25742,25743,25744,25747,25748,25751,25752,25754,25755,25756,25757,25759,25760,25761,25762,25763,25765,25766,25767,25768,25770,25771,25775,25777,25778,25779,25780,25782,25785,25787,25789,25790,25791,25793,25795,25796,25798,25799,25800,25801,25802,25803,25804,25807,25809,25811,25812,25813,25814,25817,25818,25819,25820,25821,25823,25824,25825,25827,25829,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25857,25858,25859,25860,25861,25862,25863,25864,25866,25867,25868,25869,25870,25871,25872,25873,25875,25876,25877,25878,25879,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25894,25895,25896,25897,25898,25900,25901,25904,25905,25906,25907,25911,25914,25916,25917,25920,25921,25922,25923,25924,25926,25927,25930,25931,25933,25934,25936,25938,25939,25940,25943,25944,25946,25948,25951,25952,25953,25956,25957,25959,25960,25961,25962,25965,25966,25967,25969,25971,25973,25974,25976,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25992,25993,25994,25997,25998,25999,26002,26004,26005,26006,26008,26010,26013,26014,26016,26018,26019,26022,26024,26026,26028,26030,26033,26034,26035,26036,26037,26038,26039,26040,26042,26043,26046,26047,26048,26050,26055,26056,26057,26058,26061,26064,26065,26067,26068,26069,26072,26073,26074,26075,26076,26077,26078,26079,26081,26083,26084,26090,26091,26098,26099,26100,26101,26104,26105,26107,26108,26109,26110,26111,26113,26116,26117,26119,26120,26121,26123,26125,26128,26129,26130,26134,26135,26136,26138,26139,26140,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26162,26163,26167,26168,26169,26170,26171,26173,26175,26176,26178,26180,26181,26182,26183,26184,26185,26186,26189,26190,26192,26193,26200,26201,26203,26204,26205,26206,26208,26210,26211,26213,26215,26217,26218,26219,26220,26221,26225,26226,26227,26229,26232,26233,26235,26236,26237,26239,26240,26241,26243,26245,26246,26248,26249,26250,26251,26253,26254,26255,26256,26258,26259,26260,26261,26264,26265,26266,26267,26268,26270,26271,26272,26273,26274,26275,26276,26277,26278,26281,26282,26283,26284,26285,26287,26288,26289,26290,26291,26293,26294,26295,26296,26298,26299,26300,26301,26303,26304,26305,26306,26307,26308,26309,26310,26311,26312,26313,26314,26315,26316,26317,26318,26319,26320,26321,26322,26323,26324,26325,26326,26327,26328,26330,26334,26335,26336,26337,26338,26339,26340,26341,26343,26344,26346,26347,26348,26349,26350,26351,26353,26357,26358,26360,26362,26363,26365,26369,26370,26371,26372,26373,26374,26375,26380,26382,26383,26385,26386,26387,26390,26392,26393,26394,26396,26398,26400,26401,26402,26403,26404,26405,26407,26409,26414,26416,26418,26419,26422,26423,26424,26425,26427,26428,26430,26431,26433,26436,26437,26439,26442,26443,26445,26450,26452,26453,26455,26456,26457,26458,26459,26461,26466,26467,26468,26470,26471,26475,26476,26478,26481,26484,26486,26488,26489,26490,26491,26493,26496,26498,26499,26501,26502,26504,26506,26508,26509,26510,26511,26513,26514,26515,26516,26518,26521,26523,26527,26528,26529,26532,26534,26537,26540,26542,26545,26546,26548,26553,26554,26555,26556,26557,26558,26559,26560,26562,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26581,26582,26583,26587,26591,26593,26595,26596,26598,26599,26600,26602,26603,26605,26606,26610,26613,26614,26615,26616,26617,26618,26619,26620,26622,26625,26626,26627,26628,26630,26637,26640,26642,26644,26645,26648,26649,26650,26651,26652,26654,26655,26656,26658,26659,26660,26661,26662,26663,26664,26667,26668,26669,26670,26671,26672,26673,26676,26677,26678,26682,26683,26687,26695,26699,26701,26703,26706,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26730,26732,26733,26734,26735,26736,26737,26738,26739,26741,26744,26745,26746,26747,26748,26749,26750,26751,26752,26754,26756,26759,26760,26761,26762,26763,26764,26765,26766,26768,26769,26770,26772,26773,26774,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26787,26788,26789,26793,26794,26795,26796,26798,26801,26802,26804,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26817,26819,26820,26821,26822,26823,26824,26826,26828,26830,26831,26832,26833,26835,26836,26838,26839,26841,26843,26844,26845,26846,26847,26849,26850,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26863,26866,26867,26868,26870,26871,26872,26875,26877,26878,26879,26880,26882,26883,26884,26886,26887,26888,26889,26890,26892,26895,26897,26899,26900,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26913,26914,26915,26917,26918,26919,26920,26921,26922,26923,26924,26926,26927,26929,26930,26931,26933,26934,26935,26936,26938,26939,26940,26942,26944,26945,26947,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26968,26969,26971,26972,26975,26977,26978,26980,26981,26983,26984,26985,26986,26988,26989,26991,26992,26994,26995,26996,26997,26998,27002,27003,27005,27006,27007,27009,27011,27013,27018,27019,27020,27022,27023,27024,27025,27026,27027,27030,27031,27033,27034,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27049,27050,27052,27054,27055,27056,27058,27059,27061,27062,27064,27065,27066,27068,27069,27070,27071,27072,27074,27075,27076,27077,27078,27079,27080,27081,27083,27085,27087,27089,27090,27091,27093,27094,27095,27096,27097,27098,27100,27101,27102,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27118,27119,27120,27121,27123,27124,27125,27126,27127,27128,27129,27130,27131,27132,27134,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27161,27162,27163,27164,27165,27166,27168,27170,27171,27172,27173,27174,27175,27177,27179,27180,27181,27182,27184,27186,27187,27188,27190,27191,27192,27193,27194,27195,27196,27199,27200,27201,27202,27203,27205,27206,27208,27209,27210,27211,27212,27213,27214,27215,27217,27218,27219,27220,27221,27222,27223,27226,27228,27229,27230,27231,27232,27234,27235,27236,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27250,27251,27252,27253,27254,27255,27256,27258,27259,27261,27262,27263,27265,27266,27267,27269,27270,27271,27272,27273,27274,27275,27276,27277,27279,27282,27283,27284,27285,27286,27288,27289,27290,27291,27292,27293,27294,27295,27297,27298,27299,27300,27301,27302,27303,27304,27306,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27321,27322,27323,27324,27325,27326,27327,27328,27329,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27381,27382,27383,27384,27385,27386,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27423,27429,27430,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27443,27444,27445,27446,27448,27451,27452,27453,27455,27456,27457,27458,27460,27461,27464,27466,27467,27469,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27482,27483,27484,27485,27486,27487,27488,27489,27496,27497,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27514,27517,27518,27519,27520,27525,27528,27532,27534,27535,27536,27537,27540,27541,27543,27544,27545,27548,27549,27550,27551,27552,27554,27555,27556,27557,27558,27559,27560,27561,27563,27564,27565,27566,27567,27568,27569,27570,27574,27576,27577,27578,27579,27580,27581,27582,27584,27587,27588,27590,27591,27592,27593,27594,27596,27598,27600,27601,27608,27610,27612,27613,27614,27615,27616,27618,27619,27620,27621,27622,27623,27624,27625,27628,27629,27630,27632,27633,27634,27636,27638,27639,27640,27642,27643,27644,27646,27647,27648,27649,27650,27651,27652,27656,27657,27658,27659,27660,27662,27666,27671,27676,27677,27678,27680,27683,27685,27691,27692,27693,27697,27699,27702,27703,27705,27706,27707,27708,27710,27711,27715,27716,27717,27720,27723,27724,27725,27726,27727,27729,27730,27731,27734,27736,27737,27738,27746,27747,27749,27750,27751,27755,27756,27757,27758,27759,27761,27763,27765,27767,27768,27770,27771,27772,27775,27776,27780,27783,27786,27787,27789,27790,27793,27794,27797,27798,27799,27800,27802,27804,27805,27806,27808,27810,27816,27820,27823,27824,27828,27829,27830,27831,27834,27840,27841,27842,27843,27846,27847,27848,27851,27853,27854,27855,27857,27858,27864,27865,27866,27868,27869,27871,27876,27878,27879,27881,27884,27885,27890,27892,27897,27903,27904,27906,27907,27909,27910,27912,27913,27914,27917,27919,27920,27921,27923,27924,27925,27926,27928,27932,27933,27935,27936,27937,27938,27939,27940,27942,27944,27945,27948,27949,27951,27952,27956,27958,27959,27960,27962,27967,27968,27970,27972,27977,27980,27984,27989,27990,27991,27992,27995,27997,27999,28001,28002,28004,28005,28007,28008,28011,28012,28013,28016,28017,28018,28019,28021,28022,28025,28026,28027,28029,28030,28031,28032,28033,28035,28036,28038,28039,28042,28043,28045,28047,28048,28050,28054,28055,28056,28057,28058,28060,28066,28069,28076,28077,28080,28081,28083,28084,28086,28087,28089,28090,28091,28092,28093,28094,28097,28098,28099,28104,28105,28106,28109,28110,28111,28112,28114,28115,28116,28117,28119,28122,28123,28124,28127,28130,28131,28133,28135,28136,28137,28138,28141,28143,28144,28146,28148,28149,28150,28152,28154,28157,28158,28159,28160,28161,28162,28163,28164,28166,28167,28168,28169,28171,28175,28178,28179,28181,28184,28185,28187,28188,28190,28191,28194,28198,28199,28200,28202,28204,28206,28208,28209,28211,28213,28214,28215,28217,28219,28220,28221,28222,28223,28224,28225,28226,28229,28230,28231,28232,28233,28234,28235,28236,28239,28240,28241,28242,28245,28247,28249,28250,28252,28253,28254,28256,28257,28258,28259,28260,28261,28262,28263,28264,28265,28266,28268,28269,28271,28272,28273,28274,28275,28276,28277,28278,28279,28280,28281,28282,28283,28284,28285,28288,28289,28290,28292,28295,28296,28298,28299,28300,28301,28302,28305,28306,28307,28308,28309,28310,28311,28313,28314,28315,28317,28318,28320,28321,28323,28324,28326,28328,28329,28331,28332,28333,28334,28336,28339,28341,28344,28345,28348,28350,28351,28352,28355,28356,28357,28358,28360,28361,28362,28364,28365,28366,28368,28370,28374,28376,28377,28379,28380,28381,28387,28391,28394,28395,28396,28397,28398,28399,28400,28401,28402,28403,28405,28406,28407,28408,28410,28411,28412,28413,28414,28415,28416,28417,28419,28420,28421,28423,28424,28426,28427,28428,28429,28430,28432,28433,28434,28438,28439,28440,28441,28442,28443,28444,28445,28446,28447,28449,28450,28451,28453,28454,28455,28456,28460,28462,28464,28466,28468,28469,28471,28472,28473,28474,28475,28476,28477,28479,28480,28481,28482,28483,28484,28485,28488,28489,28490,28492,28494,28495,28496,28497,28498,28499,28500,28501,28502,28503,28505,28506,28507,28509,28511,28512,28513,28515,28516,28517,28519,28520,28521,28522,28523,28524,28527,28528,28529,28531,28533,28534,28535,28537,28539,28541,28542,28543,28544,28545,28546,28547,28549,28550,28551,28554,28555,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28573,28574,28575,28576,28578,28579,28580,28581,28582,28584,28585,28586,28587,28588,28589,28590,28591,28592,28593,28594,28596,28597,28599,28600,28602,28603,28604,28605,28606,28607,28609,28611,28612,28613,28614,28615,28616,28618,28619,28620,28621,28622,28623,28624,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28639,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28683,28684,28685,28686,28687,28688,28690,28691,28692,28693,28694,28695,28696,28697,28700,28701,28702,28703,28704,28705,28706,28708,28709,28710,28711,28712,28713,28714,28715,28716,28717,28718,28719,28720,28721,28722,28723,28724,28726,28727,28728,28730,28731,28732,28733,28734,28735,28736,28737,28738,28739,28740,28741,28742,28743,28744,28745,28746,28747,28749,28750,28752,28753,28754,28755,28756,28757,28758,28759,28760,28761,28762,28763,28764,28765,28767,28768,28769,28770,28771,28772,28773,28774,28775,28776,28777,28778,28782,28785,28786,28787,28788,28791,28793,28794,28795,28797,28801,28802,28803,28804,28806,28807,28808,28811,28812,28813,28815,28816,28817,28819,28823,28824,28826,28827,28830,28831,28832,28833,28834,28835,28836,28837,28838,28839,28840,28841,28842,28848,28850,28852,28853,28854,28858,28862,28863,28868,28869,28870,28871,28873,28875,28876,28877,28878,28879,28880,28881,28882,28883,28884,28885,28886,28887,28890,28892,28893,28894,28896,28897,28898,28899,28901,28906,28910,28912,28913,28914,28915,28916,28917,28918,28920,28922,28923,28924,28926,28927,28928,28929,28930,28931,28932,28933,28934,28935,28936,28939,28940,28941,28942,28943,28945,28946,28948,28951,28955,28956,28957,28958,28959,28960,28961,28962,28963,28964,28965,28967,28968,28969,28970,28971,28972,28973,28974,28978,28979,28980,28981,28983,28984,28985,28986,28987,28988,28989,28990,28991,28992,28993,28994,28995,28996,28998,28999,29e3,29001,29003,29005,29007,29008,29009,29010,29011,29012,29013,29014,29015,29016,29017,29018,29019,29021,29023,29024,29025,29026,29027,29029,29033,29034,29035,29036,29037,29039,29040,29041,29044,29045,29046,29047,29049,29051,29052,29054,29055,29056,29057,29058,29059,29061,29062,29063,29064,29065,29067,29068,29069,29070,29072,29073,29074,29075,29077,29078,29079,29082,29083,29084,29085,29086,29089,29090,29091,29092,29093,29094,29095,29097,29098,29099,29101,29102,29103,29104,29105,29106,29108,29110,29111,29112,29114,29115,29116,29117,29118,29119,29120,29121,29122,29124,29125,29126,29127,29128,29129,29130,29131,29132,29133,29135,29136,29137,29138,29139,29142,29143,29144,29145,29146,29147,29148,29149,29150,29151,29153,29154,29155,29156,29158,29160,29161,29162,29163,29164,29165,29167,29168,29169,29170,29171,29172,29173,29174,29175,29176,29178,29179,29180,29181,29182,29183,29184,29185,29186,29187,29188,29189,29191,29192,29193,29194,29195,29196,29197,29198,29199,29200,29201,29202,29203,29204,29205,29206,29207,29208,29209,29210,29211,29212,29214,29215,29216,29217,29218,29219,29220,29221,29222,29223,29225,29227,29229,29230,29231,29234,29235,29236,29242,29244,29246,29248,29249,29250,29251,29252,29253,29254,29257,29258,29259,29262,29263,29264,29265,29267,29268,29269,29271,29272,29274,29276,29278,29280,29283,29284,29285,29288,29290,29291,29292,29293,29296,29297,29299,29300,29302,29303,29304,29307,29308,29309,29314,29315,29317,29318,29319,29320,29321,29324,29326,29328,29329,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29358,29361,29362,29363,29365,29370,29371,29372,29373,29374,29375,29376,29381,29382,29383,29385,29386,29387,29388,29391,29393,29395,29396,29397,29398,29400,29402,29403,58566,58567,58568,58569,58570,58571,58572,58573,58574,58575,58576,58577,58578,58579,58580,58581,58582,58583,58584,58585,58586,58587,58588,58589,58590,58591,58592,58593,58594,58595,58596,58597,58598,58599,58600,58601,58602,58603,58604,58605,58606,58607,58608,58609,58610,58611,58612,58613,58614,58615,58616,58617,58618,58619,58620,58621,58622,58623,58624,58625,58626,58627,58628,58629,58630,58631,58632,58633,58634,58635,58636,58637,58638,58639,58640,58641,58642,58643,58644,58645,58646,58647,58648,58649,58650,58651,58652,58653,58654,58655,58656,58657,58658,58659,58660,58661,12288,12289,12290,183,713,711,168,12291,12293,8212,65374,8214,8230,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12310,12311,12304,12305,177,215,247,8758,8743,8744,8721,8719,8746,8745,8712,8759,8730,8869,8741,8736,8978,8857,8747,8750,8801,8780,8776,8765,8733,8800,8814,8815,8804,8805,8734,8757,8756,9794,9792,176,8242,8243,8451,65284,164,65504,65505,8240,167,8470,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,8251,8594,8592,8593,8595,12307,58662,58663,58664,58665,58666,58667,58668,58669,58670,58671,58672,58673,58674,58675,58676,58677,58678,58679,58680,58681,58682,58683,58684,58685,58686,58687,58688,58689,58690,58691,58692,58693,58694,58695,58696,58697,58698,58699,58700,58701,58702,58703,58704,58705,58706,58707,58708,58709,58710,58711,58712,58713,58714,58715,58716,58717,58718,58719,58720,58721,58722,58723,58724,58725,58726,58727,58728,58729,58730,58731,58732,58733,58734,58735,58736,58737,58738,58739,58740,58741,58742,58743,58744,58745,58746,58747,58748,58749,58750,58751,58752,58753,58754,58755,58756,58757,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,59238,59239,59240,59241,59242,59243,9352,9353,9354,9355,9356,9357,9358,9359,9360,9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,9347,9348,9349,9350,9351,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,8364,59245,12832,12833,12834,12835,12836,12837,12838,12839,12840,12841,59246,59247,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,59248,59249,58758,58759,58760,58761,58762,58763,58764,58765,58766,58767,58768,58769,58770,58771,58772,58773,58774,58775,58776,58777,58778,58779,58780,58781,58782,58783,58784,58785,58786,58787,58788,58789,58790,58791,58792,58793,58794,58795,58796,58797,58798,58799,58800,58801,58802,58803,58804,58805,58806,58807,58808,58809,58810,58811,58812,58813,58814,58815,58816,58817,58818,58819,58820,58821,58822,58823,58824,58825,58826,58827,58828,58829,58830,58831,58832,58833,58834,58835,58836,58837,58838,58839,58840,58841,58842,58843,58844,58845,58846,58847,58848,58849,58850,58851,58852,12288,65281,65282,65283,65509,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,58854,58855,58856,58857,58858,58859,58860,58861,58862,58863,58864,58865,58866,58867,58868,58869,58870,58871,58872,58873,58874,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58886,58887,58888,58889,58890,58891,58892,58893,58894,58895,58896,58897,58898,58899,58900,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920,58921,58922,58923,58924,58925,58926,58927,58928,58929,58930,58931,58932,58933,58934,58935,58936,58937,58938,58939,58940,58941,58942,58943,58944,58945,58946,58947,58948,58949,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,59250,59251,59252,59253,59254,59255,59256,59257,59258,59259,59260,58950,58951,58952,58953,58954,58955,58956,58957,58958,58959,58960,58961,58962,58963,58964,58965,58966,58967,58968,58969,58970,58971,58972,58973,58974,58975,58976,58977,58978,58979,58980,58981,58982,58983,58984,58985,58986,58987,58988,58989,58990,58991,58992,58993,58994,58995,58996,58997,58998,58999,59e3,59001,59002,59003,59004,59005,59006,59007,59008,59009,59010,59011,59012,59013,59014,59015,59016,59017,59018,59019,59020,59021,59022,59023,59024,59025,59026,59027,59028,59029,59030,59031,59032,59033,59034,59035,59036,59037,59038,59039,59040,59041,59042,59043,59044,59045,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,59261,59262,59263,59264,59265,59266,59267,59268,59046,59047,59048,59049,59050,59051,59052,59053,59054,59055,59056,59057,59058,59059,59060,59061,59062,59063,59064,59065,59066,59067,59068,59069,59070,59071,59072,59073,59074,59075,59076,59077,59078,59079,59080,59081,59082,59083,59084,59085,59086,59087,59088,59089,59090,59091,59092,59093,59094,59095,59096,59097,59098,59099,59100,59101,59102,59103,59104,59105,59106,59107,59108,59109,59110,59111,59112,59113,59114,59115,59116,59117,59118,59119,59120,59121,59122,59123,59124,59125,59126,59127,59128,59129,59130,59131,59132,59133,59134,59135,59136,59137,59138,59139,59140,59141,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,59269,59270,59271,59272,59273,59274,59275,59276,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,59277,59278,59279,59280,59281,59282,59283,65077,65078,65081,65082,65087,65088,65085,65086,65089,65090,65091,65092,59284,59285,65083,65084,65079,65080,65073,59286,65075,65076,59287,59288,59289,59290,59291,59292,59293,59294,59295,59142,59143,59144,59145,59146,59147,59148,59149,59150,59151,59152,59153,59154,59155,59156,59157,59158,59159,59160,59161,59162,59163,59164,59165,59166,59167,59168,59169,59170,59171,59172,59173,59174,59175,59176,59177,59178,59179,59180,59181,59182,59183,59184,59185,59186,59187,59188,59189,59190,59191,59192,59193,59194,59195,59196,59197,59198,59199,59200,59201,59202,59203,59204,59205,59206,59207,59208,59209,59210,59211,59212,59213,59214,59215,59216,59217,59218,59219,59220,59221,59222,59223,59224,59225,59226,59227,59228,59229,59230,59231,59232,59233,59234,59235,59236,59237,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,59296,59297,59298,59299,59300,59301,59302,59303,59304,59305,59306,59307,59308,59309,59310,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,59311,59312,59313,59314,59315,59316,59317,59318,59319,59320,59321,59322,59323,714,715,729,8211,8213,8229,8245,8453,8457,8598,8599,8600,8601,8725,8735,8739,8786,8806,8807,8895,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584,9585,9586,9587,9601,9602,9603,9604,9605,9606,9607,9608,9609,9610,9611,9612,9613,9614,9615,9619,9620,9621,9660,9661,9698,9699,9700,9701,9737,8853,12306,12317,12318,59324,59325,59326,59327,59328,59329,59330,59331,59332,59333,59334,257,225,462,224,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,234,593,7743,324,328,505,609,59337,59338,59339,59340,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,59341,59342,59343,59344,59345,59346,59347,59348,59349,59350,59351,59352,59353,59354,59355,59356,59357,59358,59359,59360,59361,12321,12322,12323,12324,12325,12326,12327,12328,12329,12963,13198,13199,13212,13213,13214,13217,13252,13262,13265,13266,13269,65072,65506,65508,59362,8481,12849,59363,8208,59364,59365,59366,12540,12443,12444,12541,12542,12294,12445,12446,65097,65098,65099,65100,65101,65102,65103,65104,65105,65106,65108,65109,65110,65111,65113,65114,65115,65116,65117,65118,65119,65120,65121,65122,65123,65124,65125,65126,65128,65129,65130,65131,12350,12272,12273,12274,12275,12276,12277,12278,12279,12280,12281,12282,12283,12295,59380,59381,59382,59383,59384,59385,59386,59387,59388,59389,59390,59391,59392,9472,9473,9474,9475,9476,9477,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,9489,9490,9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506,9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,9521,9522,9523,9524,9525,9526,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,59393,59394,59395,59396,59397,59398,59399,59400,59401,59402,59403,59404,59405,59406,59407,29404,29405,29407,29410,29411,29412,29413,29414,29415,29418,29419,29429,29430,29433,29437,29438,29439,29440,29442,29444,29445,29446,29447,29448,29449,29451,29452,29453,29455,29456,29457,29458,29460,29464,29465,29466,29471,29472,29475,29476,29478,29479,29480,29485,29487,29488,29490,29491,29493,29494,29498,29499,29500,29501,29504,29505,29506,29507,29508,29509,29510,29511,29512,29513,29514,29515,29516,29518,29519,29521,29523,29524,29525,29526,29528,29529,29530,29531,29532,29533,29534,29535,29537,29538,29539,29540,29541,29542,29543,29544,29545,29546,29547,29550,29552,29553,57344,57345,57346,57347,57348,57349,57350,57351,57352,57353,57354,57355,57356,57357,57358,57359,57360,57361,57362,57363,57364,57365,57366,57367,57368,57369,57370,57371,57372,57373,57374,57375,57376,57377,57378,57379,57380,57381,57382,57383,57384,57385,57386,57387,57388,57389,57390,57391,57392,57393,57394,57395,57396,57397,57398,57399,57400,57401,57402,57403,57404,57405,57406,57407,57408,57409,57410,57411,57412,57413,57414,57415,57416,57417,57418,57419,57420,57421,57422,57423,57424,57425,57426,57427,57428,57429,57430,57431,57432,57433,57434,57435,57436,57437,29554,29555,29556,29557,29558,29559,29560,29561,29562,29563,29564,29565,29567,29568,29569,29570,29571,29573,29574,29576,29578,29580,29581,29583,29584,29586,29587,29588,29589,29591,29592,29593,29594,29596,29597,29598,29600,29601,29603,29604,29605,29606,29607,29608,29610,29612,29613,29617,29620,29621,29622,29624,29625,29628,29629,29630,29631,29633,29635,29636,29637,29638,29639,29643,29644,29646,29650,29651,29652,29653,29654,29655,29656,29658,29659,29660,29661,29663,29665,29666,29667,29668,29670,29672,29674,29675,29676,29678,29679,29680,29681,29683,29684,29685,29686,29687,57438,57439,57440,57441,57442,57443,57444,57445,57446,57447,57448,57449,57450,57451,57452,57453,57454,57455,57456,57457,57458,57459,57460,57461,57462,57463,57464,57465,57466,57467,57468,57469,57470,57471,57472,57473,57474,57475,57476,57477,57478,57479,57480,57481,57482,57483,57484,57485,57486,57487,57488,57489,57490,57491,57492,57493,57494,57495,57496,57497,57498,57499,57500,57501,57502,57503,57504,57505,57506,57507,57508,57509,57510,57511,57512,57513,57514,57515,57516,57517,57518,57519,57520,57521,57522,57523,57524,57525,57526,57527,57528,57529,57530,57531,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29700,29703,29704,29707,29708,29709,29710,29713,29714,29715,29716,29717,29718,29719,29720,29721,29724,29725,29726,29727,29728,29729,29731,29732,29735,29737,29739,29741,29743,29745,29746,29751,29752,29753,29754,29755,29757,29758,29759,29760,29762,29763,29764,29765,29766,29767,29768,29769,29770,29771,29772,29773,29774,29775,29776,29777,29778,29779,29780,29782,29784,29789,29792,29793,29794,29795,29796,29797,29798,29799,29800,29801,29802,29803,29804,29806,29807,29809,29810,29811,29812,29813,29816,29817,29818,57532,57533,57534,57535,57536,57537,57538,57539,57540,57541,57542,57543,57544,57545,57546,57547,57548,57549,57550,57551,57552,57553,57554,57555,57556,57557,57558,57559,57560,57561,57562,57563,57564,57565,57566,57567,57568,57569,57570,57571,57572,57573,57574,57575,57576,57577,57578,57579,57580,57581,57582,57583,57584,57585,57586,57587,57588,57589,57590,57591,57592,57593,57594,57595,57596,57597,57598,57599,57600,57601,57602,57603,57604,57605,57606,57607,57608,57609,57610,57611,57612,57613,57614,57615,57616,57617,57618,57619,57620,57621,57622,57623,57624,57625,29819,29820,29821,29823,29826,29828,29829,29830,29832,29833,29834,29836,29837,29839,29841,29842,29843,29844,29845,29846,29847,29848,29849,29850,29851,29853,29855,29856,29857,29858,29859,29860,29861,29862,29866,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29883,29884,29885,29886,29887,29888,29889,29890,29891,29892,29893,29894,29895,29896,29897,29898,29899,29900,29901,29902,29903,29904,29905,29907,29908,29909,29910,29911,29912,29913,29914,29915,29917,29919,29921,29925,29927,29928,29929,29930,29931,29932,29933,29936,29937,29938,57626,57627,57628,57629,57630,57631,57632,57633,57634,57635,57636,57637,57638,57639,57640,57641,57642,57643,57644,57645,57646,57647,57648,57649,57650,57651,57652,57653,57654,57655,57656,57657,57658,57659,57660,57661,57662,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57677,57678,57679,57680,57681,57682,57683,57684,57685,57686,57687,57688,57689,57690,57691,57692,57693,57694,57695,57696,57697,57698,57699,57700,57701,57702,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57717,57718,57719,29939,29941,29944,29945,29946,29947,29948,29949,29950,29952,29953,29954,29955,29957,29958,29959,29960,29961,29962,29963,29964,29966,29968,29970,29972,29973,29974,29975,29979,29981,29982,29984,29985,29986,29987,29988,29990,29991,29994,29998,30004,30006,30009,30012,30013,30015,30017,30018,30019,30020,30022,30023,30025,30026,30029,30032,30033,30034,30035,30037,30038,30039,30040,30045,30046,30047,30048,30049,30050,30051,30052,30055,30056,30057,30059,30060,30061,30062,30063,30064,30065,30067,30069,30070,30071,30074,30075,30076,30077,30078,30080,30081,30082,30084,30085,30087,57720,57721,57722,57723,57724,57725,57726,57727,57728,57729,57730,57731,57732,57733,57734,57735,57736,57737,57738,57739,57740,57741,57742,57743,57744,57745,57746,57747,57748,57749,57750,57751,57752,57753,57754,57755,57756,57757,57758,57759,57760,57761,57762,57763,57764,57765,57766,57767,57768,57769,57770,57771,57772,57773,57774,57775,57776,57777,57778,57779,57780,57781,57782,57783,57784,57785,57786,57787,57788,57789,57790,57791,57792,57793,57794,57795,57796,57797,57798,57799,57800,57801,57802,57803,57804,57805,57806,57807,57808,57809,57810,57811,57812,57813,30088,30089,30090,30092,30093,30094,30096,30099,30101,30104,30107,30108,30110,30114,30118,30119,30120,30121,30122,30125,30134,30135,30138,30139,30143,30144,30145,30150,30155,30156,30158,30159,30160,30161,30163,30167,30169,30170,30172,30173,30175,30176,30177,30181,30185,30188,30189,30190,30191,30194,30195,30197,30198,30199,30200,30202,30203,30205,30206,30210,30212,30214,30215,30216,30217,30219,30221,30222,30223,30225,30226,30227,30228,30230,30234,30236,30237,30238,30241,30243,30247,30248,30252,30254,30255,30257,30258,30262,30263,30265,30266,30267,30269,30273,30274,30276,57814,57815,57816,57817,57818,57819,57820,57821,57822,57823,57824,57825,57826,57827,57828,57829,57830,57831,57832,57833,57834,57835,57836,57837,57838,57839,57840,57841,57842,57843,57844,57845,57846,57847,57848,57849,57850,57851,57852,57853,57854,57855,57856,57857,57858,57859,57860,57861,57862,57863,57864,57865,57866,57867,57868,57869,57870,57871,57872,57873,57874,57875,57876,57877,57878,57879,57880,57881,57882,57883,57884,57885,57886,57887,57888,57889,57890,57891,57892,57893,57894,57895,57896,57897,57898,57899,57900,57901,57902,57903,57904,57905,57906,57907,30277,30278,30279,30280,30281,30282,30283,30286,30287,30288,30289,30290,30291,30293,30295,30296,30297,30298,30299,30301,30303,30304,30305,30306,30308,30309,30310,30311,30312,30313,30314,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30329,30330,30332,30335,30336,30337,30339,30341,30345,30346,30348,30349,30351,30352,30354,30356,30357,30359,30360,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30373,30374,30375,30376,30377,30378,30379,30380,30381,30383,30384,30387,30389,30390,30391,30392,30393,30394,30395,30396,30397,30398,30400,30401,30403,21834,38463,22467,25384,21710,21769,21696,30353,30284,34108,30702,33406,30861,29233,38552,38797,27688,23433,20474,25353,26263,23736,33018,26696,32942,26114,30414,20985,25942,29100,32753,34948,20658,22885,25034,28595,33453,25420,25170,21485,21543,31494,20843,30116,24052,25300,36299,38774,25226,32793,22365,38712,32610,29240,30333,26575,30334,25670,20336,36133,25308,31255,26001,29677,25644,25203,33324,39041,26495,29256,25198,25292,20276,29923,21322,21150,32458,37030,24110,26758,27036,33152,32465,26834,30917,34444,38225,20621,35876,33502,32990,21253,35090,21093,30404,30407,30409,30411,30412,30419,30421,30425,30426,30428,30429,30430,30432,30433,30434,30435,30436,30438,30439,30440,30441,30442,30443,30444,30445,30448,30451,30453,30454,30455,30458,30459,30461,30463,30464,30466,30467,30469,30470,30474,30476,30478,30479,30480,30481,30482,30483,30484,30485,30486,30487,30488,30491,30492,30493,30494,30497,30499,30500,30501,30503,30506,30507,30508,30510,30512,30513,30514,30515,30516,30521,30523,30525,30526,30527,30530,30532,30533,30534,30536,30537,30538,30539,30540,30541,30542,30543,30546,30547,30548,30549,30550,30551,30552,30553,30556,34180,38649,20445,22561,39281,23453,25265,25253,26292,35961,40077,29190,26479,30865,24754,21329,21271,36744,32972,36125,38049,20493,29384,22791,24811,28953,34987,22868,33519,26412,31528,23849,32503,29997,27893,36454,36856,36924,40763,27604,37145,31508,24444,30887,34006,34109,27605,27609,27606,24065,24199,30201,38381,25949,24330,24517,36767,22721,33218,36991,38491,38829,36793,32534,36140,25153,20415,21464,21342,36776,36777,36779,36941,26631,24426,33176,34920,40150,24971,21035,30250,24428,25996,28626,28392,23486,25672,20853,20912,26564,19993,31177,39292,28851,30557,30558,30559,30560,30564,30567,30569,30570,30573,30574,30575,30576,30577,30578,30579,30580,30581,30582,30583,30584,30586,30587,30588,30593,30594,30595,30598,30599,30600,30601,30602,30603,30607,30608,30611,30612,30613,30614,30615,30616,30617,30618,30619,30620,30621,30622,30625,30627,30628,30630,30632,30635,30637,30638,30639,30641,30642,30644,30646,30647,30648,30649,30650,30652,30654,30656,30657,30658,30659,30660,30661,30662,30663,30664,30665,30666,30667,30668,30670,30671,30672,30673,30674,30675,30676,30677,30678,30680,30681,30682,30685,30686,30687,30688,30689,30692,30149,24182,29627,33760,25773,25320,38069,27874,21338,21187,25615,38082,31636,20271,24091,33334,33046,33162,28196,27850,39539,25429,21340,21754,34917,22496,19981,24067,27493,31807,37096,24598,25830,29468,35009,26448,25165,36130,30572,36393,37319,24425,33756,34081,39184,21442,34453,27531,24813,24808,28799,33485,33329,20179,27815,34255,25805,31961,27133,26361,33609,21397,31574,20391,20876,27979,23618,36461,25554,21449,33580,33590,26597,30900,25661,23519,23700,24046,35815,25286,26612,35962,25600,25530,34633,39307,35863,32544,38130,20135,38416,39076,26124,29462,30694,30696,30698,30703,30704,30705,30706,30708,30709,30711,30713,30714,30715,30716,30723,30724,30725,30726,30727,30728,30730,30731,30734,30735,30736,30739,30741,30745,30747,30750,30752,30753,30754,30756,30760,30762,30763,30766,30767,30769,30770,30771,30773,30774,30781,30783,30785,30786,30787,30788,30790,30792,30793,30794,30795,30797,30799,30801,30803,30804,30808,30809,30810,30811,30812,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30831,30832,30833,30834,30835,30836,30837,30838,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30851,22330,23581,24120,38271,20607,32928,21378,25950,30021,21809,20513,36229,25220,38046,26397,22066,28526,24034,21557,28818,36710,25199,25764,25507,24443,28552,37108,33251,36784,23576,26216,24561,27785,38472,36225,34924,25745,31216,22478,27225,25104,21576,20056,31243,24809,28548,35802,25215,36894,39563,31204,21507,30196,25345,21273,27744,36831,24347,39536,32827,40831,20360,23610,36196,32709,26021,28861,20805,20914,34411,23815,23456,25277,37228,30068,36364,31264,24833,31609,20167,32504,30597,19985,33261,21021,20986,27249,21416,36487,38148,38607,28353,38500,26970,30852,30853,30854,30856,30858,30859,30863,30864,30866,30868,30869,30870,30873,30877,30878,30880,30882,30884,30886,30888,30889,30890,30891,30892,30893,30894,30895,30901,30902,30903,30904,30906,30907,30908,30909,30911,30912,30914,30915,30916,30918,30919,30920,30924,30925,30926,30927,30929,30930,30931,30934,30935,30936,30938,30939,30940,30941,30942,30943,30944,30945,30946,30947,30948,30949,30950,30951,30953,30954,30955,30957,30958,30959,30960,30961,30963,30965,30966,30968,30969,30971,30972,30973,30974,30975,30976,30978,30979,30980,30982,30983,30984,30985,30986,30987,30988,30784,20648,30679,25616,35302,22788,25571,24029,31359,26941,20256,33337,21912,20018,30126,31383,24162,24202,38383,21019,21561,28810,25462,38180,22402,26149,26943,37255,21767,28147,32431,34850,25139,32496,30133,33576,30913,38604,36766,24904,29943,35789,27492,21050,36176,27425,32874,33905,22257,21254,20174,19995,20945,31895,37259,31751,20419,36479,31713,31388,25703,23828,20652,33030,30209,31929,28140,32736,26449,23384,23544,30923,25774,25619,25514,25387,38169,25645,36798,31572,30249,25171,22823,21574,27513,20643,25140,24102,27526,20195,36151,34955,24453,36910,30989,30990,30991,30992,30993,30994,30996,30997,30998,30999,31e3,31001,31002,31003,31004,31005,31007,31008,31009,31010,31011,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023,31024,31025,31026,31027,31029,31030,31031,31032,31033,31037,31039,31042,31043,31044,31045,31047,31050,31051,31052,31053,31054,31055,31056,31057,31058,31060,31061,31064,31065,31073,31075,31076,31078,31081,31082,31083,31084,31086,31088,31089,31090,31091,31092,31093,31094,31097,31099,31100,31101,31102,31103,31106,31107,31110,31111,31112,31113,31115,31116,31117,31118,31120,31121,31122,24608,32829,25285,20025,21333,37112,25528,32966,26086,27694,20294,24814,28129,35806,24377,34507,24403,25377,20826,33633,26723,20992,25443,36424,20498,23707,31095,23548,21040,31291,24764,36947,30423,24503,24471,30340,36460,28783,30331,31561,30634,20979,37011,22564,20302,28404,36842,25932,31515,29380,28068,32735,23265,25269,24213,22320,33922,31532,24093,24351,36882,32532,39072,25474,28359,30872,28857,20856,38747,22443,30005,20291,30008,24215,24806,22880,28096,27583,30857,21500,38613,20939,20993,25481,21514,38035,35843,36300,29241,30879,34678,36845,35853,21472,31123,31124,31125,31126,31127,31128,31129,31131,31132,31133,31134,31135,31136,31137,31138,31139,31140,31141,31142,31144,31145,31146,31147,31148,31149,31150,31151,31152,31153,31154,31156,31157,31158,31159,31160,31164,31167,31170,31172,31173,31175,31176,31178,31180,31182,31183,31184,31187,31188,31190,31191,31193,31194,31195,31196,31197,31198,31200,31201,31202,31205,31208,31210,31212,31214,31217,31218,31219,31220,31221,31222,31223,31225,31226,31228,31230,31231,31233,31236,31237,31239,31240,31241,31242,31244,31247,31248,31249,31250,31251,31253,31254,31256,31257,31259,31260,19969,30447,21486,38025,39030,40718,38189,23450,35746,20002,19996,20908,33891,25026,21160,26635,20375,24683,20923,27934,20828,25238,26007,38497,35910,36887,30168,37117,30563,27602,29322,29420,35835,22581,30585,36172,26460,38208,32922,24230,28193,22930,31471,30701,38203,27573,26029,32526,22534,20817,38431,23545,22697,21544,36466,25958,39039,22244,38045,30462,36929,25479,21702,22810,22842,22427,36530,26421,36346,33333,21057,24816,22549,34558,23784,40517,20420,39069,35769,23077,24694,21380,25212,36943,37122,39295,24681,32780,20799,32819,23572,39285,27953,20108,31261,31263,31265,31266,31268,31269,31270,31271,31272,31273,31274,31275,31276,31277,31278,31279,31280,31281,31282,31284,31285,31286,31288,31290,31294,31296,31297,31298,31299,31300,31301,31303,31304,31305,31306,31307,31308,31309,31310,31311,31312,31314,31315,31316,31317,31318,31320,31321,31322,31323,31324,31325,31326,31327,31328,31329,31330,31331,31332,31333,31334,31335,31336,31337,31338,31339,31340,31341,31342,31343,31345,31346,31347,31349,31355,31356,31357,31358,31362,31365,31367,31369,31370,31371,31372,31374,31375,31376,31379,31380,31385,31386,31387,31390,31393,31394,36144,21457,32602,31567,20240,20047,38400,27861,29648,34281,24070,30058,32763,27146,30718,38034,32321,20961,28902,21453,36820,33539,36137,29359,39277,27867,22346,33459,26041,32938,25151,38450,22952,20223,35775,32442,25918,33778,38750,21857,39134,32933,21290,35837,21536,32954,24223,27832,36153,33452,37210,21545,27675,20998,32439,22367,28954,27774,31881,22859,20221,24575,24868,31914,20016,23553,26539,34562,23792,38155,39118,30127,28925,36898,20911,32541,35773,22857,20964,20315,21542,22827,25975,32932,23413,25206,25282,36752,24133,27679,31526,20239,20440,26381,31395,31396,31399,31401,31402,31403,31406,31407,31408,31409,31410,31412,31413,31414,31415,31416,31417,31418,31419,31420,31421,31422,31424,31425,31426,31427,31428,31429,31430,31431,31432,31433,31434,31436,31437,31438,31439,31440,31441,31442,31443,31444,31445,31447,31448,31450,31451,31452,31453,31457,31458,31460,31463,31464,31465,31466,31467,31468,31470,31472,31473,31474,31475,31476,31477,31478,31479,31480,31483,31484,31486,31488,31489,31490,31493,31495,31497,31500,31501,31502,31504,31506,31507,31510,31511,31512,31514,31516,31517,31519,31521,31522,31523,31527,31529,31533,28014,28074,31119,34993,24343,29995,25242,36741,20463,37340,26023,33071,33105,24220,33104,36212,21103,35206,36171,22797,20613,20184,38428,29238,33145,36127,23500,35747,38468,22919,32538,21648,22134,22030,35813,25913,27010,38041,30422,28297,24178,29976,26438,26577,31487,32925,36214,24863,31174,25954,36195,20872,21018,38050,32568,32923,32434,23703,28207,26464,31705,30347,39640,33167,32660,31957,25630,38224,31295,21578,21733,27468,25601,25096,40509,33011,30105,21106,38761,33883,26684,34532,38401,38548,38124,20010,21508,32473,26681,36319,32789,26356,24218,32697,31535,31536,31538,31540,31541,31542,31543,31545,31547,31549,31551,31552,31553,31554,31555,31556,31558,31560,31562,31565,31566,31571,31573,31575,31577,31580,31582,31583,31585,31587,31588,31589,31590,31591,31592,31593,31594,31595,31596,31597,31599,31600,31603,31604,31606,31608,31610,31612,31613,31615,31617,31618,31619,31620,31622,31623,31624,31625,31626,31627,31628,31630,31631,31633,31634,31635,31638,31640,31641,31642,31643,31646,31647,31648,31651,31652,31653,31662,31663,31664,31666,31667,31669,31670,31671,31673,31674,31675,31676,31677,31678,31679,31680,31682,31683,31684,22466,32831,26775,24037,25915,21151,24685,40858,20379,36524,20844,23467,24339,24041,27742,25329,36129,20849,38057,21246,27807,33503,29399,22434,26500,36141,22815,36764,33735,21653,31629,20272,27837,23396,22993,40723,21476,34506,39592,35895,32929,25925,39038,22266,38599,21038,29916,21072,23521,25346,35074,20054,25296,24618,26874,20851,23448,20896,35266,31649,39302,32592,24815,28748,36143,20809,24191,36891,29808,35268,22317,30789,24402,40863,38394,36712,39740,35809,30328,26690,26588,36330,36149,21053,36746,28378,26829,38149,37101,22269,26524,35065,36807,21704,31685,31688,31689,31690,31691,31693,31694,31695,31696,31698,31700,31701,31702,31703,31704,31707,31708,31710,31711,31712,31714,31715,31716,31719,31720,31721,31723,31724,31725,31727,31728,31730,31731,31732,31733,31734,31736,31737,31738,31739,31741,31743,31744,31745,31746,31747,31748,31749,31750,31752,31753,31754,31757,31758,31760,31761,31762,31763,31764,31765,31767,31768,31769,31770,31771,31772,31773,31774,31776,31777,31778,31779,31780,31781,31784,31785,31787,31788,31789,31790,31791,31792,31793,31794,31795,31796,31797,31798,31799,31801,31802,31803,31804,31805,31806,31810,39608,23401,28023,27686,20133,23475,39559,37219,25e3,37039,38889,21547,28085,23506,20989,21898,32597,32752,25788,25421,26097,25022,24717,28938,27735,27721,22831,26477,33322,22741,22158,35946,27627,37085,22909,32791,21495,28009,21621,21917,33655,33743,26680,31166,21644,20309,21512,30418,35977,38402,27827,28088,36203,35088,40548,36154,22079,40657,30165,24456,29408,24680,21756,20136,27178,34913,24658,36720,21700,28888,34425,40511,27946,23439,24344,32418,21897,20399,29492,21564,21402,20505,21518,21628,20046,24573,29786,22774,33899,32993,34676,29392,31946,28246,31811,31812,31813,31814,31815,31816,31817,31818,31819,31820,31822,31823,31824,31825,31826,31827,31828,31829,31830,31831,31832,31833,31834,31835,31836,31837,31838,31839,31840,31841,31842,31843,31844,31845,31846,31847,31848,31849,31850,31851,31852,31853,31854,31855,31856,31857,31858,31861,31862,31863,31864,31865,31866,31870,31871,31872,31873,31874,31875,31876,31877,31878,31879,31880,31882,31883,31884,31885,31886,31887,31888,31891,31892,31894,31897,31898,31899,31904,31905,31907,31910,31911,31912,31913,31915,31916,31917,31919,31920,31924,31925,31926,31927,31928,31930,31931,24359,34382,21804,25252,20114,27818,25143,33457,21719,21326,29502,28369,30011,21010,21270,35805,27088,24458,24576,28142,22351,27426,29615,26707,36824,32531,25442,24739,21796,30186,35938,28949,28067,23462,24187,33618,24908,40644,30970,34647,31783,30343,20976,24822,29004,26179,24140,24653,35854,28784,25381,36745,24509,24674,34516,22238,27585,24724,24935,21321,24800,26214,36159,31229,20250,28905,27719,35763,35826,32472,33636,26127,23130,39746,27985,28151,35905,27963,20249,28779,33719,25110,24785,38669,36135,31096,20987,22334,22522,26426,30072,31293,31215,31637,31935,31936,31938,31939,31940,31942,31945,31947,31950,31951,31952,31953,31954,31955,31956,31960,31962,31963,31965,31966,31969,31970,31971,31972,31973,31974,31975,31977,31978,31979,31980,31981,31982,31984,31985,31986,31987,31988,31989,31990,31991,31993,31994,31996,31997,31998,31999,32e3,32001,32002,32003,32004,32005,32006,32007,32008,32009,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32035,32036,32037,32038,32040,32041,32042,32044,32045,32046,32048,32049,32050,32051,32052,32053,32054,32908,39269,36857,28608,35749,40481,23020,32489,32521,21513,26497,26840,36753,31821,38598,21450,24613,30142,27762,21363,23241,32423,25380,20960,33034,24049,34015,25216,20864,23395,20238,31085,21058,24760,27982,23492,23490,35745,35760,26082,24524,38469,22931,32487,32426,22025,26551,22841,20339,23478,21152,33626,39050,36158,30002,38078,20551,31292,20215,26550,39550,23233,27516,30417,22362,23574,31546,38388,29006,20860,32937,33392,22904,32516,33575,26816,26604,30897,30839,25315,25441,31616,20461,21098,20943,33616,27099,37492,36341,36145,35265,38190,31661,20214,32055,32056,32057,32058,32059,32060,32061,32062,32063,32064,32065,32066,32067,32068,32069,32070,32071,32072,32073,32074,32075,32076,32077,32078,32079,32080,32081,32082,32083,32084,32085,32086,32087,32088,32089,32090,32091,32092,32093,32094,32095,32096,32097,32098,32099,32100,32101,32102,32103,32104,32105,32106,32107,32108,32109,32111,32112,32113,32114,32115,32116,32117,32118,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32131,32132,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,20581,33328,21073,39279,28176,28293,28071,24314,20725,23004,23558,27974,27743,30086,33931,26728,22870,35762,21280,37233,38477,34121,26898,30977,28966,33014,20132,37066,27975,39556,23047,22204,25605,38128,30699,20389,33050,29409,35282,39290,32564,32478,21119,25945,37237,36735,36739,21483,31382,25581,25509,30342,31224,34903,38454,25130,21163,33410,26708,26480,25463,30571,31469,27905,32467,35299,22992,25106,34249,33445,30028,20511,20171,30117,35819,23626,24062,31563,26020,37329,20170,27941,35167,32039,38182,20165,35880,36827,38771,26187,31105,36817,28908,28024,32153,32154,32155,32156,32157,32158,32159,32160,32161,32162,32163,32164,32165,32167,32168,32169,32170,32171,32172,32173,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,23613,21170,33606,20834,33550,30555,26230,40120,20140,24778,31934,31923,32463,20117,35686,26223,39048,38745,22659,25964,38236,24452,30153,38742,31455,31454,20928,28847,31384,25578,31350,32416,29590,38893,20037,28792,20061,37202,21417,25937,26087,33276,33285,21646,23601,30106,38816,25304,29401,30141,23621,39545,33738,23616,21632,30697,20030,27822,32858,25298,25454,24040,20855,36317,36382,38191,20465,21477,24807,28844,21095,25424,40515,23071,20518,30519,21367,32482,25733,25899,25225,25496,20500,29237,35273,20915,35776,32477,22343,33740,38055,20891,21531,23803,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32261,32262,32263,32264,32265,32266,32267,32268,32269,32270,32271,32272,32273,32274,32275,32276,32277,32278,32279,32280,32281,32282,32283,32284,32285,32286,32287,32288,32289,32290,32291,32292,32293,32294,32295,32296,32297,32298,32299,32300,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32316,32317,32318,32319,32320,32322,32323,32324,32325,32326,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,20426,31459,27994,37089,39567,21888,21654,21345,21679,24320,25577,26999,20975,24936,21002,22570,21208,22350,30733,30475,24247,24951,31968,25179,25239,20130,28821,32771,25335,28900,38752,22391,33499,26607,26869,30933,39063,31185,22771,21683,21487,28212,20811,21051,23458,35838,32943,21827,22438,24691,22353,21549,31354,24656,23380,25511,25248,21475,25187,23495,26543,21741,31391,33510,37239,24211,35044,22840,22446,25358,36328,33007,22359,31607,20393,24555,23485,27454,21281,31568,29378,26694,30719,30518,26103,20917,20111,30420,23743,31397,33909,22862,39745,20608,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32361,32362,32363,32364,32365,32366,32367,32368,32369,32370,32371,32372,32373,32374,32375,32376,32377,32378,32379,32380,32381,32382,32383,32384,32385,32387,32388,32389,32390,32391,32392,32393,32394,32395,32396,32397,32398,32399,32400,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32412,32413,32414,32430,32436,32443,32444,32470,32484,32492,32505,32522,32528,32542,32567,32569,32571,32572,32573,32574,32575,32576,32577,32579,32582,32583,32584,32585,32586,32587,32588,32589,32590,32591,32594,32595,39304,24871,28291,22372,26118,25414,22256,25324,25193,24275,38420,22403,25289,21895,34593,33098,36771,21862,33713,26469,36182,34013,23146,26639,25318,31726,38417,20848,28572,35888,25597,35272,25042,32518,28866,28389,29701,27028,29436,24266,37070,26391,28010,25438,21171,29282,32769,20332,23013,37226,28889,28061,21202,20048,38647,38253,34174,30922,32047,20769,22418,25794,32907,31867,27882,26865,26974,20919,21400,26792,29313,40654,31729,29432,31163,28435,29702,26446,37324,40100,31036,33673,33620,21519,26647,20029,21385,21169,30782,21382,21033,20616,20363,20432,32598,32601,32603,32604,32605,32606,32608,32611,32612,32613,32614,32615,32619,32620,32621,32623,32624,32627,32629,32630,32631,32632,32634,32635,32636,32637,32639,32640,32642,32643,32644,32645,32646,32647,32648,32649,32651,32653,32655,32656,32657,32658,32659,32661,32662,32663,32664,32665,32667,32668,32672,32674,32675,32677,32678,32680,32681,32682,32683,32684,32685,32686,32689,32691,32692,32693,32694,32695,32698,32699,32702,32704,32706,32707,32708,32710,32711,32712,32713,32715,32717,32719,32720,32721,32722,32723,32726,32727,32729,32730,32731,32732,32733,32734,32738,32739,30178,31435,31890,27813,38582,21147,29827,21737,20457,32852,33714,36830,38256,24265,24604,28063,24088,25947,33080,38142,24651,28860,32451,31918,20937,26753,31921,33391,20004,36742,37327,26238,20142,35845,25769,32842,20698,30103,29134,23525,36797,28518,20102,25730,38243,24278,26009,21015,35010,28872,21155,29454,29747,26519,30967,38678,20020,37051,40158,28107,20955,36161,21533,25294,29618,33777,38646,40836,38083,20278,32666,20940,28789,38517,23725,39046,21478,20196,28316,29705,27060,30827,39311,30041,21016,30244,27969,26611,20845,40857,32843,21657,31548,31423,32740,32743,32744,32746,32747,32748,32749,32751,32754,32756,32757,32758,32759,32760,32761,32762,32765,32766,32767,32770,32775,32776,32777,32778,32782,32783,32785,32787,32794,32795,32797,32798,32799,32801,32803,32804,32811,32812,32813,32814,32815,32816,32818,32820,32825,32826,32828,32830,32832,32833,32836,32837,32839,32840,32841,32846,32847,32848,32849,32851,32853,32854,32855,32857,32859,32860,32861,32862,32863,32864,32865,32866,32867,32868,32869,32870,32871,32872,32875,32876,32877,32878,32879,32880,32882,32883,32884,32885,32886,32887,32888,32889,32890,32891,32892,32893,38534,22404,25314,38471,27004,23044,25602,31699,28431,38475,33446,21346,39045,24208,28809,25523,21348,34383,40065,40595,30860,38706,36335,36162,40575,28510,31108,24405,38470,25134,39540,21525,38109,20387,26053,23653,23649,32533,34385,27695,24459,29575,28388,32511,23782,25371,23402,28390,21365,20081,25504,30053,25249,36718,20262,20177,27814,32438,35770,33821,34746,32599,36923,38179,31657,39585,35064,33853,27931,39558,32476,22920,40635,29595,30721,34434,39532,39554,22043,21527,22475,20080,40614,21334,36808,33033,30610,39314,34542,28385,34067,26364,24930,28459,32894,32897,32898,32901,32904,32906,32909,32910,32911,32912,32913,32914,32916,32917,32919,32921,32926,32931,32934,32935,32936,32940,32944,32947,32949,32950,32952,32953,32955,32965,32967,32968,32969,32970,32971,32975,32976,32977,32978,32979,32980,32981,32984,32991,32992,32994,32995,32998,33006,33013,33015,33017,33019,33022,33023,33024,33025,33027,33028,33029,33031,33032,33035,33036,33045,33047,33049,33051,33052,33053,33055,33056,33057,33058,33059,33060,33061,33062,33063,33064,33065,33066,33067,33069,33070,33072,33075,33076,33077,33079,33081,33082,33083,33084,33085,33087,35881,33426,33579,30450,27667,24537,33725,29483,33541,38170,27611,30683,38086,21359,33538,20882,24125,35980,36152,20040,29611,26522,26757,37238,38665,29028,27809,30473,23186,38209,27599,32654,26151,23504,22969,23194,38376,38391,20204,33804,33945,27308,30431,38192,29467,26790,23391,30511,37274,38753,31964,36855,35868,24357,31859,31192,35269,27852,34588,23494,24130,26825,30496,32501,20885,20813,21193,23081,32517,38754,33495,25551,30596,34256,31186,28218,24217,22937,34065,28781,27665,25279,30399,25935,24751,38397,26126,34719,40483,38125,21517,21629,35884,25720,33088,33089,33090,33091,33092,33093,33095,33097,33101,33102,33103,33106,33110,33111,33112,33115,33116,33117,33118,33119,33121,33122,33123,33124,33126,33128,33130,33131,33132,33135,33138,33139,33141,33142,33143,33144,33153,33155,33156,33157,33158,33159,33161,33163,33164,33165,33166,33168,33170,33171,33172,33173,33174,33175,33177,33178,33182,33183,33184,33185,33186,33188,33189,33191,33193,33195,33196,33197,33198,33199,33200,33201,33202,33204,33205,33206,33207,33208,33209,33212,33213,33214,33215,33220,33221,33223,33224,33225,33227,33229,33230,33231,33232,33233,33234,33235,25721,34321,27169,33180,30952,25705,39764,25273,26411,33707,22696,40664,27819,28448,23518,38476,35851,29279,26576,25287,29281,20137,22982,27597,22675,26286,24149,21215,24917,26408,30446,30566,29287,31302,25343,21738,21584,38048,37027,23068,32435,27670,20035,22902,32784,22856,21335,30007,38590,22218,25376,33041,24700,38393,28118,21602,39297,20869,23273,33021,22958,38675,20522,27877,23612,25311,20320,21311,33147,36870,28346,34091,25288,24180,30910,25781,25467,24565,23064,37247,40479,23615,25423,32834,23421,21870,38218,38221,28037,24744,26592,29406,20957,23425,33236,33237,33238,33239,33240,33241,33242,33243,33244,33245,33246,33247,33248,33249,33250,33252,33253,33254,33256,33257,33259,33262,33263,33264,33265,33266,33269,33270,33271,33272,33273,33274,33277,33279,33283,33287,33288,33289,33290,33291,33294,33295,33297,33299,33301,33302,33303,33304,33305,33306,33309,33312,33316,33317,33318,33319,33321,33326,33330,33338,33340,33341,33343,33344,33345,33346,33347,33349,33350,33352,33354,33356,33357,33358,33360,33361,33362,33363,33364,33365,33366,33367,33369,33371,33372,33373,33374,33376,33377,33378,33379,33380,33381,33382,33383,33385,25319,27870,29275,25197,38062,32445,33043,27987,20892,24324,22900,21162,24594,22899,26262,34384,30111,25386,25062,31983,35834,21734,27431,40485,27572,34261,21589,20598,27812,21866,36276,29228,24085,24597,29750,25293,25490,29260,24472,28227,27966,25856,28504,30424,30928,30460,30036,21028,21467,20051,24222,26049,32810,32982,25243,21638,21032,28846,34957,36305,27873,21624,32986,22521,35060,36180,38506,37197,20329,27803,21943,30406,30768,25256,28921,28558,24429,34028,26842,30844,31735,33192,26379,40527,25447,30896,22383,30738,38713,25209,25259,21128,29749,27607,33386,33387,33388,33389,33393,33397,33398,33399,33400,33403,33404,33408,33409,33411,33413,33414,33415,33417,33420,33424,33427,33428,33429,33430,33434,33435,33438,33440,33442,33443,33447,33458,33461,33462,33466,33467,33468,33471,33472,33474,33475,33477,33478,33481,33488,33494,33497,33498,33501,33506,33511,33512,33513,33514,33516,33517,33518,33520,33522,33523,33525,33526,33528,33530,33532,33533,33534,33535,33536,33546,33547,33549,33552,33554,33555,33558,33560,33561,33565,33566,33567,33568,33569,33570,33571,33572,33573,33574,33577,33578,33582,33584,33586,33591,33595,33597,21860,33086,30130,30382,21305,30174,20731,23617,35692,31687,20559,29255,39575,39128,28418,29922,31080,25735,30629,25340,39057,36139,21697,32856,20050,22378,33529,33805,24179,20973,29942,35780,23631,22369,27900,39047,23110,30772,39748,36843,31893,21078,25169,38138,20166,33670,33889,33769,33970,22484,26420,22275,26222,28006,35889,26333,28689,26399,27450,26646,25114,22971,19971,20932,28422,26578,27791,20854,26827,22855,27495,30054,23822,33040,40784,26071,31048,31041,39569,36215,23682,20062,20225,21551,22865,30732,22120,27668,36804,24323,27773,27875,35755,25488,33598,33599,33601,33602,33604,33605,33608,33610,33611,33612,33613,33614,33619,33621,33622,33623,33624,33625,33629,33634,33648,33649,33650,33651,33652,33653,33654,33657,33658,33662,33663,33664,33665,33666,33667,33668,33671,33672,33674,33675,33676,33677,33679,33680,33681,33684,33685,33686,33687,33689,33690,33693,33695,33697,33698,33699,33700,33701,33702,33703,33708,33709,33710,33711,33717,33723,33726,33727,33730,33731,33732,33734,33736,33737,33739,33741,33742,33744,33745,33746,33747,33749,33751,33753,33754,33755,33758,33762,33763,33764,33766,33767,33768,33771,33772,33773,24688,27965,29301,25190,38030,38085,21315,36801,31614,20191,35878,20094,40660,38065,38067,21069,28508,36963,27973,35892,22545,23884,27424,27465,26538,21595,33108,32652,22681,34103,24378,25250,27207,38201,25970,24708,26725,30631,20052,20392,24039,38808,25772,32728,23789,20431,31373,20999,33540,19988,24623,31363,38054,20405,20146,31206,29748,21220,33465,25810,31165,23517,27777,38738,36731,27682,20542,21375,28165,25806,26228,27696,24773,39031,35831,24198,29756,31351,31179,19992,37041,29699,27714,22234,37195,27845,36235,21306,34502,26354,36527,23624,39537,28192,33774,33775,33779,33780,33781,33782,33783,33786,33787,33788,33790,33791,33792,33794,33797,33799,33800,33801,33802,33808,33810,33811,33812,33813,33814,33815,33817,33818,33819,33822,33823,33824,33825,33826,33827,33833,33834,33835,33836,33837,33838,33839,33840,33842,33843,33844,33845,33846,33847,33849,33850,33851,33854,33855,33856,33857,33858,33859,33860,33861,33863,33864,33865,33866,33867,33868,33869,33870,33871,33872,33874,33875,33876,33877,33878,33880,33885,33886,33887,33888,33890,33892,33893,33894,33895,33896,33898,33902,33903,33904,33906,33908,33911,33913,33915,33916,21462,23094,40843,36259,21435,22280,39079,26435,37275,27849,20840,30154,25331,29356,21048,21149,32570,28820,30264,21364,40522,27063,30830,38592,35033,32676,28982,29123,20873,26579,29924,22756,25880,22199,35753,39286,25200,32469,24825,28909,22764,20161,20154,24525,38887,20219,35748,20995,22922,32427,25172,20173,26085,25102,33592,33993,33635,34701,29076,28342,23481,32466,20887,25545,26580,32905,33593,34837,20754,23418,22914,36785,20083,27741,20837,35109,36719,38446,34122,29790,38160,38384,28070,33509,24369,25746,27922,33832,33134,40131,22622,36187,19977,21441,33917,33918,33919,33920,33921,33923,33924,33925,33926,33930,33933,33935,33936,33937,33938,33939,33940,33941,33942,33944,33946,33947,33949,33950,33951,33952,33954,33955,33956,33957,33958,33959,33960,33961,33962,33963,33964,33965,33966,33968,33969,33971,33973,33974,33975,33979,33980,33982,33984,33986,33987,33989,33990,33991,33992,33995,33996,33998,33999,34002,34004,34005,34007,34008,34009,34010,34011,34012,34014,34017,34018,34020,34023,34024,34025,34026,34027,34029,34030,34031,34033,34034,34035,34036,34037,34038,34039,34040,34041,34042,34043,34045,34046,34048,34049,34050,20254,25955,26705,21971,20007,25620,39578,25195,23234,29791,33394,28073,26862,20711,33678,30722,26432,21049,27801,32433,20667,21861,29022,31579,26194,29642,33515,26441,23665,21024,29053,34923,38378,38485,25797,36193,33203,21892,27733,25159,32558,22674,20260,21830,36175,26188,19978,23578,35059,26786,25422,31245,28903,33421,21242,38902,23569,21736,37045,32461,22882,36170,34503,33292,33293,36198,25668,23556,24913,28041,31038,35774,30775,30003,21627,20280,36523,28145,23072,32453,31070,27784,23457,23158,29978,32958,24910,28183,22768,29983,29989,29298,21319,32499,34051,34052,34053,34054,34055,34056,34057,34058,34059,34061,34062,34063,34064,34066,34068,34069,34070,34072,34073,34075,34076,34077,34078,34080,34082,34083,34084,34085,34086,34087,34088,34089,34090,34093,34094,34095,34096,34097,34098,34099,34100,34101,34102,34110,34111,34112,34113,34114,34116,34117,34118,34119,34123,34124,34125,34126,34127,34128,34129,34130,34131,34132,34133,34135,34136,34138,34139,34140,34141,34143,34144,34145,34146,34147,34149,34150,34151,34153,34154,34155,34156,34157,34158,34159,34160,34161,34163,34165,34166,34167,34168,34172,34173,34175,34176,34177,30465,30427,21097,32988,22307,24072,22833,29422,26045,28287,35799,23608,34417,21313,30707,25342,26102,20160,39135,34432,23454,35782,21490,30690,20351,23630,39542,22987,24335,31034,22763,19990,26623,20107,25325,35475,36893,21183,26159,21980,22124,36866,20181,20365,37322,39280,27663,24066,24643,23460,35270,35797,25910,25163,39318,23432,23551,25480,21806,21463,30246,20861,34092,26530,26803,27530,25234,36755,21460,33298,28113,30095,20070,36174,23408,29087,34223,26257,26329,32626,34560,40653,40736,23646,26415,36848,26641,26463,25101,31446,22661,24246,25968,28465,34178,34179,34182,34184,34185,34186,34187,34188,34189,34190,34192,34193,34194,34195,34196,34197,34198,34199,34200,34201,34202,34205,34206,34207,34208,34209,34210,34211,34213,34214,34215,34217,34219,34220,34221,34225,34226,34227,34228,34229,34230,34232,34234,34235,34236,34237,34238,34239,34240,34242,34243,34244,34245,34246,34247,34248,34250,34251,34252,34253,34254,34257,34258,34260,34262,34263,34264,34265,34266,34267,34269,34270,34271,34272,34273,34274,34275,34277,34278,34279,34280,34282,34283,34284,34285,34286,34287,34288,34289,34290,34291,34292,34293,34294,34295,34296,24661,21047,32781,25684,34928,29993,24069,26643,25332,38684,21452,29245,35841,27700,30561,31246,21550,30636,39034,33308,35828,30805,26388,28865,26031,25749,22070,24605,31169,21496,19997,27515,32902,23546,21987,22235,20282,20284,39282,24051,26494,32824,24578,39042,36865,23435,35772,35829,25628,33368,25822,22013,33487,37221,20439,32032,36895,31903,20723,22609,28335,23487,35785,32899,37240,33948,31639,34429,38539,38543,32485,39635,30862,23681,31319,36930,38567,31071,23385,25439,31499,34001,26797,21766,32553,29712,32034,38145,25152,22604,20182,23427,22905,22612,34297,34298,34300,34301,34302,34304,34305,34306,34307,34308,34310,34311,34312,34313,34314,34315,34316,34317,34318,34319,34320,34322,34323,34324,34325,34327,34328,34329,34330,34331,34332,34333,34334,34335,34336,34337,34338,34339,34340,34341,34342,34344,34346,34347,34348,34349,34350,34351,34352,34353,34354,34355,34356,34357,34358,34359,34361,34362,34363,34365,34366,34367,34368,34369,34370,34371,34372,34373,34374,34375,34376,34377,34378,34379,34380,34386,34387,34389,34390,34391,34392,34393,34395,34396,34397,34399,34400,34401,34403,34404,34405,34406,34407,34408,34409,34410,29549,25374,36427,36367,32974,33492,25260,21488,27888,37214,22826,24577,27760,22349,25674,36138,30251,28393,22363,27264,30192,28525,35885,35848,22374,27631,34962,30899,25506,21497,28845,27748,22616,25642,22530,26848,33179,21776,31958,20504,36538,28108,36255,28907,25487,28059,28372,32486,33796,26691,36867,28120,38518,35752,22871,29305,34276,33150,30140,35466,26799,21076,36386,38161,25552,39064,36420,21884,20307,26367,22159,24789,28053,21059,23625,22825,28155,22635,3e4,29980,24684,33300,33094,25361,26465,36834,30522,36339,36148,38081,24086,21381,21548,28867,34413,34415,34416,34418,34419,34420,34421,34422,34423,34424,34435,34436,34437,34438,34439,34440,34441,34446,34447,34448,34449,34450,34452,34454,34455,34456,34457,34458,34459,34462,34463,34464,34465,34466,34469,34470,34475,34477,34478,34482,34483,34487,34488,34489,34491,34492,34493,34494,34495,34497,34498,34499,34501,34504,34508,34509,34514,34515,34517,34518,34519,34522,34524,34525,34528,34529,34530,34531,34533,34534,34535,34536,34538,34539,34540,34543,34549,34550,34551,34554,34555,34556,34557,34559,34561,34564,34565,34566,34571,34572,34574,34575,34576,34577,34580,34582,27712,24311,20572,20141,24237,25402,33351,36890,26704,37230,30643,21516,38108,24420,31461,26742,25413,31570,32479,30171,20599,25237,22836,36879,20984,31171,31361,22270,24466,36884,28034,23648,22303,21520,20820,28237,22242,25512,39059,33151,34581,35114,36864,21534,23663,33216,25302,25176,33073,40501,38464,39534,39548,26925,22949,25299,21822,25366,21703,34521,27964,23043,29926,34972,27498,22806,35916,24367,28286,29609,39037,20024,28919,23436,30871,25405,26202,30358,24779,23451,23113,19975,33109,27754,29579,20129,26505,32593,24448,26106,26395,24536,22916,23041,34585,34587,34589,34591,34592,34596,34598,34599,34600,34602,34603,34604,34605,34607,34608,34610,34611,34613,34614,34616,34617,34618,34620,34621,34624,34625,34626,34627,34628,34629,34630,34634,34635,34637,34639,34640,34641,34642,34644,34645,34646,34648,34650,34651,34652,34653,34654,34655,34657,34658,34662,34663,34664,34665,34666,34667,34668,34669,34671,34673,34674,34675,34677,34679,34680,34681,34682,34687,34688,34689,34692,34694,34695,34697,34698,34700,34702,34703,34704,34705,34706,34708,34709,34710,34712,34713,34714,34715,34716,34717,34718,34720,34721,34722,34723,34724,24013,24494,21361,38886,36829,26693,22260,21807,24799,20026,28493,32500,33479,33806,22996,20255,20266,23614,32428,26410,34074,21619,30031,32963,21890,39759,20301,28205,35859,23561,24944,21355,30239,28201,34442,25991,38395,32441,21563,31283,32010,38382,21985,32705,29934,25373,34583,28065,31389,25105,26017,21351,25569,27779,24043,21596,38056,20044,27745,35820,23627,26080,33436,26791,21566,21556,27595,27494,20116,25410,21320,33310,20237,20398,22366,25098,38654,26212,29289,21247,21153,24735,35823,26132,29081,26512,35199,30802,30717,26224,22075,21560,38177,29306,34725,34726,34727,34729,34730,34734,34736,34737,34738,34740,34742,34743,34744,34745,34747,34748,34750,34751,34753,34754,34755,34756,34757,34759,34760,34761,34764,34765,34766,34767,34768,34772,34773,34774,34775,34776,34777,34778,34780,34781,34782,34783,34785,34786,34787,34788,34790,34791,34792,34793,34795,34796,34797,34799,34800,34801,34802,34803,34804,34805,34806,34807,34808,34810,34811,34812,34813,34815,34816,34817,34818,34820,34821,34822,34823,34824,34825,34827,34828,34829,34830,34831,34832,34833,34834,34836,34839,34840,34841,34842,34844,34845,34846,34847,34848,34851,31232,24687,24076,24713,33181,22805,24796,29060,28911,28330,27728,29312,27268,34989,24109,20064,23219,21916,38115,27927,31995,38553,25103,32454,30606,34430,21283,38686,36758,26247,23777,20384,29421,19979,21414,22799,21523,25472,38184,20808,20185,40092,32420,21688,36132,34900,33335,38386,28046,24358,23244,26174,38505,29616,29486,21439,33146,39301,32673,23466,38519,38480,32447,30456,21410,38262,39321,31665,35140,28248,20065,32724,31077,35814,24819,21709,20139,39033,24055,27233,20687,21521,35937,33831,30813,38660,21066,21742,22179,38144,28040,23477,28102,26195,34852,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34867,34868,34869,34870,34871,34872,34874,34875,34877,34878,34879,34881,34882,34883,34886,34887,34888,34889,34890,34891,34894,34895,34896,34897,34898,34899,34901,34902,34904,34906,34907,34908,34909,34910,34911,34912,34918,34919,34922,34925,34927,34929,34931,34932,34933,34934,34936,34937,34938,34939,34940,34944,34947,34950,34951,34953,34954,34956,34958,34959,34960,34961,34963,34964,34965,34967,34968,34969,34970,34971,34973,34974,34975,34976,34977,34979,34981,34982,34983,34984,34985,34986,23567,23389,26657,32918,21880,31505,25928,26964,20123,27463,34638,38795,21327,25375,25658,37034,26012,32961,35856,20889,26800,21368,34809,25032,27844,27899,35874,23633,34218,33455,38156,27427,36763,26032,24571,24515,20449,34885,26143,33125,29481,24826,20852,21009,22411,24418,37026,34892,37266,24184,26447,24615,22995,20804,20982,33016,21256,27769,38596,29066,20241,20462,32670,26429,21957,38152,31168,34966,32483,22687,25100,38656,34394,22040,39035,24464,35768,33988,37207,21465,26093,24207,30044,24676,32110,23167,32490,32493,36713,21927,23459,24748,26059,29572,34988,34990,34991,34992,34994,34995,34996,34997,34998,35e3,35001,35002,35003,35005,35006,35007,35008,35011,35012,35015,35016,35018,35019,35020,35021,35023,35024,35025,35027,35030,35031,35034,35035,35036,35037,35038,35040,35041,35046,35047,35049,35050,35051,35052,35053,35054,35055,35058,35061,35062,35063,35066,35067,35069,35071,35072,35073,35075,35076,35077,35078,35079,35080,35081,35083,35084,35085,35086,35087,35089,35092,35093,35094,35095,35096,35100,35101,35102,35103,35104,35106,35107,35108,35110,35111,35112,35113,35116,35117,35118,35119,35121,35122,35123,35125,35127,36873,30307,30505,32474,38772,34203,23398,31348,38634,34880,21195,29071,24490,26092,35810,23547,39535,24033,27529,27739,35757,35759,36874,36805,21387,25276,40486,40493,21568,20011,33469,29273,34460,23830,34905,28079,38597,21713,20122,35766,28937,21693,38409,28895,28153,30416,20005,30740,34578,23721,24310,35328,39068,38414,28814,27839,22852,25513,30524,34893,28436,33395,22576,29141,21388,30746,38593,21761,24422,28976,23476,35866,39564,27523,22830,40495,31207,26472,25196,20335,30113,32650,27915,38451,27687,20208,30162,20859,26679,28478,36992,33136,22934,29814,35128,35129,35130,35131,35132,35133,35134,35135,35136,35138,35139,35141,35142,35143,35144,35145,35146,35147,35148,35149,35150,35151,35152,35153,35154,35155,35156,35157,35158,35159,35160,35161,35162,35163,35164,35165,35168,35169,35170,35171,35172,35173,35175,35176,35177,35178,35179,35180,35181,35182,35183,35184,35185,35186,35187,35188,35189,35190,35191,35192,35193,35194,35196,35197,35198,35200,35202,35204,35205,35207,35208,35209,35210,35211,35212,35213,35214,35215,35216,35217,35218,35219,35220,35221,35222,35223,35224,35225,35226,35227,35228,35229,35230,35231,35232,35233,25671,23591,36965,31377,35875,23002,21676,33280,33647,35201,32768,26928,22094,32822,29239,37326,20918,20063,39029,25494,19994,21494,26355,33099,22812,28082,19968,22777,21307,25558,38129,20381,20234,34915,39056,22839,36951,31227,20202,33008,30097,27778,23452,23016,24413,26885,34433,20506,24050,20057,30691,20197,33402,25233,26131,37009,23673,20159,24441,33222,36920,32900,30123,20134,35028,24847,27589,24518,20041,30410,28322,35811,35758,35850,35793,24322,32764,32716,32462,33589,33643,22240,27575,38899,38452,23035,21535,38134,28139,23493,39278,23609,24341,38544,35234,35235,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245,35246,35247,35248,35249,35250,35251,35252,35253,35254,35255,35256,35257,35258,35259,35260,35261,35262,35263,35264,35267,35277,35283,35284,35285,35287,35288,35289,35291,35293,35295,35296,35297,35298,35300,35303,35304,35305,35306,35308,35309,35310,35312,35313,35314,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35329,35330,35331,35332,35333,35334,35336,35337,35338,35339,35340,35341,35342,35343,35344,35345,35346,35347,35348,35349,35350,35351,35352,35353,35354,35355,35356,35357,21360,33521,27185,23156,40560,24212,32552,33721,33828,33829,33639,34631,36814,36194,30408,24433,39062,30828,26144,21727,25317,20323,33219,30152,24248,38605,36362,34553,21647,27891,28044,27704,24703,21191,29992,24189,20248,24736,24551,23588,30001,37038,38080,29369,27833,28216,37193,26377,21451,21491,20305,37321,35825,21448,24188,36802,28132,20110,30402,27014,34398,24858,33286,20313,20446,36926,40060,24841,28189,28180,38533,20104,23089,38632,19982,23679,31161,23431,35821,32701,29577,22495,33419,37057,21505,36935,21947,23786,24481,24840,27442,29425,32946,35465,35358,35359,35360,35361,35362,35363,35364,35365,35366,35367,35368,35369,35370,35371,35372,35373,35374,35375,35376,35377,35378,35379,35380,35381,35382,35383,35384,35385,35386,35387,35388,35389,35391,35392,35393,35394,35395,35396,35397,35398,35399,35401,35402,35403,35404,35405,35406,35407,35408,35409,35410,35411,35412,35413,35414,35415,35416,35417,35418,35419,35420,35421,35422,35423,35424,35425,35426,35427,35428,35429,35430,35431,35432,35433,35434,35435,35436,35437,35438,35439,35440,35441,35442,35443,35444,35445,35446,35447,35448,35450,35451,35452,35453,35454,35455,35456,28020,23507,35029,39044,35947,39533,40499,28170,20900,20803,22435,34945,21407,25588,36757,22253,21592,22278,29503,28304,32536,36828,33489,24895,24616,38498,26352,32422,36234,36291,38053,23731,31908,26376,24742,38405,32792,20113,37095,21248,38504,20801,36816,34164,37213,26197,38901,23381,21277,30776,26434,26685,21705,28798,23472,36733,20877,22312,21681,25874,26242,36190,36163,33039,33900,36973,31967,20991,34299,26531,26089,28577,34468,36481,22122,36896,30338,28790,29157,36131,25321,21017,27901,36156,24590,22686,24974,26366,36192,25166,21939,28195,26413,36711,35457,35458,35459,35460,35461,35462,35463,35464,35467,35468,35469,35470,35471,35472,35473,35474,35476,35477,35478,35479,35480,35481,35482,35483,35484,35485,35486,35487,35488,35489,35490,35491,35492,35493,35494,35495,35496,35497,35498,35499,35500,35501,35502,35503,35504,35505,35506,35507,35508,35509,35510,35511,35512,35513,35514,35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538,35539,35540,35541,35542,35543,35544,35545,35546,35547,35548,35549,35550,35551,35552,35553,35554,35555,38113,38392,30504,26629,27048,21643,20045,28856,35784,25688,25995,23429,31364,20538,23528,30651,27617,35449,31896,27838,30415,26025,36759,23853,23637,34360,26632,21344,25112,31449,28251,32509,27167,31456,24432,28467,24352,25484,28072,26454,19976,24080,36134,20183,32960,30260,38556,25307,26157,25214,27836,36213,29031,32617,20806,32903,21484,36974,25240,21746,34544,36761,32773,38167,34071,36825,27993,29645,26015,30495,29956,30759,33275,36126,38024,20390,26517,30137,35786,38663,25391,38215,38453,33976,25379,30529,24449,29424,20105,24596,25972,25327,27491,25919,35556,35557,35558,35559,35560,35561,35562,35563,35564,35565,35566,35567,35568,35569,35570,35571,35572,35573,35574,35575,35576,35577,35578,35579,35580,35581,35582,35583,35584,35585,35586,35587,35588,35589,35590,35592,35593,35594,35595,35596,35597,35598,35599,35600,35601,35602,35603,35604,35605,35606,35607,35608,35609,35610,35611,35612,35613,35614,35615,35616,35617,35618,35619,35620,35621,35623,35624,35625,35626,35627,35628,35629,35630,35631,35632,35633,35634,35635,35636,35637,35638,35639,35640,35641,35642,35643,35644,35645,35646,35647,35648,35649,35650,35651,35652,35653,24103,30151,37073,35777,33437,26525,25903,21553,34584,30693,32930,33026,27713,20043,32455,32844,30452,26893,27542,25191,20540,20356,22336,25351,27490,36286,21482,26088,32440,24535,25370,25527,33267,33268,32622,24092,23769,21046,26234,31209,31258,36136,28825,30164,28382,27835,31378,20013,30405,24544,38047,34935,32456,31181,32959,37325,20210,20247,33311,21608,24030,27954,35788,31909,36724,32920,24090,21650,30385,23449,26172,39588,29664,26666,34523,26417,29482,35832,35803,36880,31481,28891,29038,25284,30633,22065,20027,33879,26609,21161,34496,36142,38136,31569,35654,35655,35656,35657,35658,35659,35660,35661,35662,35663,35664,35665,35666,35667,35668,35669,35670,35671,35672,35673,35674,35675,35676,35677,35678,35679,35680,35681,35682,35683,35684,35685,35687,35688,35689,35690,35691,35693,35694,35695,35696,35697,35698,35699,35700,35701,35702,35703,35704,35705,35706,35707,35708,35709,35710,35711,35712,35713,35714,35715,35716,35717,35718,35719,35720,35721,35722,35723,35724,35725,35726,35727,35728,35729,35730,35731,35732,35733,35734,35735,35736,35737,35738,35739,35740,35741,35742,35743,35756,35761,35771,35783,35792,35818,35849,35870,20303,27880,31069,39547,25235,29226,25341,19987,30742,36716,25776,36186,31686,26729,24196,35013,22918,25758,22766,29366,26894,38181,36861,36184,22368,32512,35846,20934,25417,25305,21331,26700,29730,33537,37196,21828,30528,28796,27978,20857,21672,36164,23039,28363,28100,23388,32043,20180,31869,28371,23376,33258,28173,23383,39683,26837,36394,23447,32508,24635,32437,37049,36208,22863,25549,31199,36275,21330,26063,31062,35781,38459,32452,38075,32386,22068,37257,26368,32618,23562,36981,26152,24038,20304,26590,20570,20316,22352,24231,59408,59409,59410,59411,59412,35896,35897,35898,35899,35900,35901,35902,35903,35904,35906,35907,35908,35909,35912,35914,35915,35917,35918,35919,35920,35921,35922,35923,35924,35926,35927,35928,35929,35931,35932,35933,35934,35935,35936,35939,35940,35941,35942,35943,35944,35945,35948,35949,35950,35951,35952,35953,35954,35956,35957,35958,35959,35963,35964,35965,35966,35967,35968,35969,35971,35972,35974,35975,35976,35979,35981,35982,35983,35984,35985,35986,35987,35989,35990,35991,35993,35994,35995,35996,35997,35998,35999,36e3,36001,36002,36003,36004,36005,36006,36007,36008,36009,36010,36011,36012,36013,20109,19980,20800,19984,24319,21317,19989,20120,19998,39730,23404,22121,20008,31162,20031,21269,20039,22829,29243,21358,27664,22239,32996,39319,27603,30590,40727,20022,20127,40720,20060,20073,20115,33416,23387,21868,22031,20164,21389,21405,21411,21413,21422,38757,36189,21274,21493,21286,21294,21310,36188,21350,21347,20994,21e3,21006,21037,21043,21055,21056,21068,21086,21089,21084,33967,21117,21122,21121,21136,21139,20866,32596,20155,20163,20169,20162,20200,20193,20203,20190,20251,20211,20258,20324,20213,20261,20263,20233,20267,20318,20327,25912,20314,20317,36014,36015,36016,36017,36018,36019,36020,36021,36022,36023,36024,36025,36026,36027,36028,36029,36030,36031,36032,36033,36034,36035,36036,36037,36038,36039,36040,36041,36042,36043,36044,36045,36046,36047,36048,36049,36050,36051,36052,36053,36054,36055,36056,36057,36058,36059,36060,36061,36062,36063,36064,36065,36066,36067,36068,36069,36070,36071,36072,36073,36074,36075,36076,36077,36078,36079,36080,36081,36082,36083,36084,36085,36086,36087,36088,36089,36090,36091,36092,36093,36094,36095,36096,36097,36098,36099,36100,36101,36102,36103,36104,36105,36106,36107,36108,36109,20319,20311,20274,20285,20342,20340,20369,20361,20355,20367,20350,20347,20394,20348,20396,20372,20454,20456,20458,20421,20442,20451,20444,20433,20447,20472,20521,20556,20467,20524,20495,20526,20525,20478,20508,20492,20517,20520,20606,20547,20565,20552,20558,20588,20603,20645,20647,20649,20666,20694,20742,20717,20716,20710,20718,20743,20747,20189,27709,20312,20325,20430,40864,27718,31860,20846,24061,40649,39320,20865,22804,21241,21261,35335,21264,20971,22809,20821,20128,20822,20147,34926,34980,20149,33044,35026,31104,23348,34819,32696,20907,20913,20925,20924,36110,36111,36112,36113,36114,36115,36116,36117,36118,36119,36120,36121,36122,36123,36124,36128,36177,36178,36183,36191,36197,36200,36201,36202,36204,36206,36207,36209,36210,36216,36217,36218,36219,36220,36221,36222,36223,36224,36226,36227,36230,36231,36232,36233,36236,36237,36238,36239,36240,36242,36243,36245,36246,36247,36248,36249,36250,36251,36252,36253,36254,36256,36257,36258,36260,36261,36262,36263,36264,36265,36266,36267,36268,36269,36270,36271,36272,36274,36278,36279,36281,36283,36285,36288,36289,36290,36293,36295,36296,36297,36298,36301,36304,36306,36307,36308,20935,20886,20898,20901,35744,35750,35751,35754,35764,35765,35767,35778,35779,35787,35791,35790,35794,35795,35796,35798,35800,35801,35804,35807,35808,35812,35816,35817,35822,35824,35827,35830,35833,35836,35839,35840,35842,35844,35847,35852,35855,35857,35858,35860,35861,35862,35865,35867,35864,35869,35871,35872,35873,35877,35879,35882,35883,35886,35887,35890,35891,35893,35894,21353,21370,38429,38434,38433,38449,38442,38461,38460,38466,38473,38484,38495,38503,38508,38514,38516,38536,38541,38551,38576,37015,37019,37021,37017,37036,37025,37044,37043,37046,37050,36309,36312,36313,36316,36320,36321,36322,36325,36326,36327,36329,36333,36334,36336,36337,36338,36340,36342,36348,36350,36351,36352,36353,36354,36355,36356,36358,36359,36360,36363,36365,36366,36368,36369,36370,36371,36373,36374,36375,36376,36377,36378,36379,36380,36384,36385,36388,36389,36390,36391,36392,36395,36397,36400,36402,36403,36404,36406,36407,36408,36411,36412,36414,36415,36419,36421,36422,36428,36429,36430,36431,36432,36435,36436,36437,36438,36439,36440,36442,36443,36444,36445,36446,36447,36448,36449,36450,36451,36452,36453,36455,36456,36458,36459,36462,36465,37048,37040,37071,37061,37054,37072,37060,37063,37075,37094,37090,37084,37079,37083,37099,37103,37118,37124,37154,37150,37155,37169,37167,37177,37187,37190,21005,22850,21154,21164,21165,21182,21759,21200,21206,21232,21471,29166,30669,24308,20981,20988,39727,21430,24321,30042,24047,22348,22441,22433,22654,22716,22725,22737,22313,22316,22314,22323,22329,22318,22319,22364,22331,22338,22377,22405,22379,22406,22396,22395,22376,22381,22390,22387,22445,22436,22412,22450,22479,22439,22452,22419,22432,22485,22488,22490,22489,22482,22456,22516,22511,22520,22500,22493,36467,36469,36471,36472,36473,36474,36475,36477,36478,36480,36482,36483,36484,36486,36488,36489,36490,36491,36492,36493,36494,36497,36498,36499,36501,36502,36503,36504,36505,36506,36507,36509,36511,36512,36513,36514,36515,36516,36517,36518,36519,36520,36521,36522,36525,36526,36528,36529,36531,36532,36533,36534,36535,36536,36537,36539,36540,36541,36542,36543,36544,36545,36546,36547,36548,36549,36550,36551,36552,36553,36554,36555,36556,36557,36559,36560,36561,36562,36563,36564,36565,36566,36567,36568,36569,36570,36571,36572,36573,36574,36575,36576,36577,36578,36579,36580,22539,22541,22525,22509,22528,22558,22553,22596,22560,22629,22636,22657,22665,22682,22656,39336,40729,25087,33401,33405,33407,33423,33418,33448,33412,33422,33425,33431,33433,33451,33464,33470,33456,33480,33482,33507,33432,33463,33454,33483,33484,33473,33449,33460,33441,33450,33439,33476,33486,33444,33505,33545,33527,33508,33551,33543,33500,33524,33490,33496,33548,33531,33491,33553,33562,33542,33556,33557,33504,33493,33564,33617,33627,33628,33544,33682,33596,33588,33585,33691,33630,33583,33615,33607,33603,33631,33600,33559,33632,33581,33594,33587,33638,33637,36581,36582,36583,36584,36585,36586,36587,36588,36589,36590,36591,36592,36593,36594,36595,36596,36597,36598,36599,36600,36601,36602,36603,36604,36605,36606,36607,36608,36609,36610,36611,36612,36613,36614,36615,36616,36617,36618,36619,36620,36621,36622,36623,36624,36625,36626,36627,36628,36629,36630,36631,36632,36633,36634,36635,36636,36637,36638,36639,36640,36641,36642,36643,36644,36645,36646,36647,36648,36649,36650,36651,36652,36653,36654,36655,36656,36657,36658,36659,36660,36661,36662,36663,36664,36665,36666,36667,36668,36669,36670,36671,36672,36673,36674,36675,36676,33640,33563,33641,33644,33642,33645,33646,33712,33656,33715,33716,33696,33706,33683,33692,33669,33660,33718,33705,33661,33720,33659,33688,33694,33704,33722,33724,33729,33793,33765,33752,22535,33816,33803,33757,33789,33750,33820,33848,33809,33798,33748,33759,33807,33795,33784,33785,33770,33733,33728,33830,33776,33761,33884,33873,33882,33881,33907,33927,33928,33914,33929,33912,33852,33862,33897,33910,33932,33934,33841,33901,33985,33997,34e3,34022,33981,34003,33994,33983,33978,34016,33953,33977,33972,33943,34021,34019,34060,29965,34104,34032,34105,34079,34106,36677,36678,36679,36680,36681,36682,36683,36684,36685,36686,36687,36688,36689,36690,36691,36692,36693,36694,36695,36696,36697,36698,36699,36700,36701,36702,36703,36704,36705,36706,36707,36708,36709,36714,36736,36748,36754,36765,36768,36769,36770,36772,36773,36774,36775,36778,36780,36781,36782,36783,36786,36787,36788,36789,36791,36792,36794,36795,36796,36799,36800,36803,36806,36809,36810,36811,36812,36813,36815,36818,36822,36823,36826,36832,36833,36835,36839,36844,36847,36849,36850,36852,36853,36854,36858,36859,36860,36862,36863,36871,36872,36876,36878,36883,36885,36888,34134,34107,34047,34044,34137,34120,34152,34148,34142,34170,30626,34115,34162,34171,34212,34216,34183,34191,34169,34222,34204,34181,34233,34231,34224,34259,34241,34268,34303,34343,34309,34345,34326,34364,24318,24328,22844,22849,32823,22869,22874,22872,21263,23586,23589,23596,23604,25164,25194,25247,25275,25290,25306,25303,25326,25378,25334,25401,25419,25411,25517,25590,25457,25466,25486,25524,25453,25516,25482,25449,25518,25532,25586,25592,25568,25599,25540,25566,25550,25682,25542,25534,25669,25665,25611,25627,25632,25612,25638,25633,25694,25732,25709,25750,36889,36892,36899,36900,36901,36903,36904,36905,36906,36907,36908,36912,36913,36914,36915,36916,36919,36921,36922,36925,36927,36928,36931,36933,36934,36936,36937,36938,36939,36940,36942,36948,36949,36950,36953,36954,36956,36957,36958,36959,36960,36961,36964,36966,36967,36969,36970,36971,36972,36975,36976,36977,36978,36979,36982,36983,36984,36985,36986,36987,36988,36990,36993,36996,36997,36998,36999,37001,37002,37004,37005,37006,37007,37008,37010,37012,37014,37016,37018,37020,37022,37023,37024,37028,37029,37031,37032,37033,37035,37037,37042,37047,37052,37053,37055,37056,25722,25783,25784,25753,25786,25792,25808,25815,25828,25826,25865,25893,25902,24331,24530,29977,24337,21343,21489,21501,21481,21480,21499,21522,21526,21510,21579,21586,21587,21588,21590,21571,21537,21591,21593,21539,21554,21634,21652,21623,21617,21604,21658,21659,21636,21622,21606,21661,21712,21677,21698,21684,21714,21671,21670,21715,21716,21618,21667,21717,21691,21695,21708,21721,21722,21724,21673,21674,21668,21725,21711,21726,21787,21735,21792,21757,21780,21747,21794,21795,21775,21777,21799,21802,21863,21903,21941,21833,21869,21825,21845,21823,21840,21820,37058,37059,37062,37064,37065,37067,37068,37069,37074,37076,37077,37078,37080,37081,37082,37086,37087,37088,37091,37092,37093,37097,37098,37100,37102,37104,37105,37106,37107,37109,37110,37111,37113,37114,37115,37116,37119,37120,37121,37123,37125,37126,37127,37128,37129,37130,37131,37132,37133,37134,37135,37136,37137,37138,37139,37140,37141,37142,37143,37144,37146,37147,37148,37149,37151,37152,37153,37156,37157,37158,37159,37160,37161,37162,37163,37164,37165,37166,37168,37170,37171,37172,37173,37174,37175,37176,37178,37179,37180,37181,37182,37183,37184,37185,37186,37188,21815,21846,21877,21878,21879,21811,21808,21852,21899,21970,21891,21937,21945,21896,21889,21919,21886,21974,21905,21883,21983,21949,21950,21908,21913,21994,22007,21961,22047,21969,21995,21996,21972,21990,21981,21956,21999,21989,22002,22003,21964,21965,21992,22005,21988,36756,22046,22024,22028,22017,22052,22051,22014,22016,22055,22061,22104,22073,22103,22060,22093,22114,22105,22108,22092,22100,22150,22116,22129,22123,22139,22140,22149,22163,22191,22228,22231,22237,22241,22261,22251,22265,22271,22276,22282,22281,22300,24079,24089,24084,24081,24113,24123,24124,37189,37191,37192,37201,37203,37204,37205,37206,37208,37209,37211,37212,37215,37216,37222,37223,37224,37227,37229,37235,37242,37243,37244,37248,37249,37250,37251,37252,37254,37256,37258,37262,37263,37267,37268,37269,37270,37271,37272,37273,37276,37277,37278,37279,37280,37281,37284,37285,37286,37287,37288,37289,37291,37292,37296,37297,37298,37299,37302,37303,37304,37305,37307,37308,37309,37310,37311,37312,37313,37314,37315,37316,37317,37318,37320,37323,37328,37330,37331,37332,37333,37334,37335,37336,37337,37338,37339,37341,37342,37343,37344,37345,37346,37347,37348,37349,24119,24132,24148,24155,24158,24161,23692,23674,23693,23696,23702,23688,23704,23705,23697,23706,23708,23733,23714,23741,23724,23723,23729,23715,23745,23735,23748,23762,23780,23755,23781,23810,23811,23847,23846,23854,23844,23838,23814,23835,23896,23870,23860,23869,23916,23899,23919,23901,23915,23883,23882,23913,23924,23938,23961,23965,35955,23991,24005,24435,24439,24450,24455,24457,24460,24469,24473,24476,24488,24493,24501,24508,34914,24417,29357,29360,29364,29367,29368,29379,29377,29390,29389,29394,29416,29423,29417,29426,29428,29431,29441,29427,29443,29434,37350,37351,37352,37353,37354,37355,37356,37357,37358,37359,37360,37361,37362,37363,37364,37365,37366,37367,37368,37369,37370,37371,37372,37373,37374,37375,37376,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37387,37388,37389,37390,37391,37392,37393,37394,37395,37396,37397,37398,37399,37400,37401,37402,37403,37404,37405,37406,37407,37408,37409,37410,37411,37412,37413,37414,37415,37416,37417,37418,37419,37420,37421,37422,37423,37424,37425,37426,37427,37428,37429,37430,37431,37432,37433,37434,37435,37436,37437,37438,37439,37440,37441,37442,37443,37444,37445,29435,29463,29459,29473,29450,29470,29469,29461,29474,29497,29477,29484,29496,29489,29520,29517,29527,29536,29548,29551,29566,33307,22821,39143,22820,22786,39267,39271,39272,39273,39274,39275,39276,39284,39287,39293,39296,39300,39303,39306,39309,39312,39313,39315,39316,39317,24192,24209,24203,24214,24229,24224,24249,24245,24254,24243,36179,24274,24273,24283,24296,24298,33210,24516,24521,24534,24527,24579,24558,24580,24545,24548,24574,24581,24582,24554,24557,24568,24601,24629,24614,24603,24591,24589,24617,24619,24586,24639,24609,24696,24697,24699,24698,24642,37446,37447,37448,37449,37450,37451,37452,37453,37454,37455,37456,37457,37458,37459,37460,37461,37462,37463,37464,37465,37466,37467,37468,37469,37470,37471,37472,37473,37474,37475,37476,37477,37478,37479,37480,37481,37482,37483,37484,37485,37486,37487,37488,37489,37490,37491,37493,37494,37495,37496,37497,37498,37499,37500,37501,37502,37503,37504,37505,37506,37507,37508,37509,37510,37511,37512,37513,37514,37515,37516,37517,37519,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,24682,24701,24726,24730,24749,24733,24707,24722,24716,24731,24812,24763,24753,24797,24792,24774,24794,24756,24864,24870,24853,24867,24820,24832,24846,24875,24906,24949,25004,24980,24999,25015,25044,25077,24541,38579,38377,38379,38385,38387,38389,38390,38396,38398,38403,38404,38406,38408,38410,38411,38412,38413,38415,38418,38421,38422,38423,38425,38426,20012,29247,25109,27701,27732,27740,27722,27811,27781,27792,27796,27788,27752,27753,27764,27766,27782,27817,27856,27860,27821,27895,27896,27889,27863,27826,27872,27862,27898,27883,27886,27825,27859,27887,27902,37544,37545,37546,37547,37548,37549,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37611,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37622,37623,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,27961,27943,27916,27971,27976,27911,27908,27929,27918,27947,27981,27950,27957,27930,27983,27986,27988,27955,28049,28015,28062,28064,27998,28051,28052,27996,28e3,28028,28003,28186,28103,28101,28126,28174,28095,28128,28177,28134,28125,28121,28182,28075,28172,28078,28203,28270,28238,28267,28338,28255,28294,28243,28244,28210,28197,28228,28383,28337,28312,28384,28461,28386,28325,28327,28349,28347,28343,28375,28340,28367,28303,28354,28319,28514,28486,28487,28452,28437,28409,28463,28470,28491,28532,28458,28425,28457,28553,28557,28556,28536,28530,28540,28538,28625,37642,37643,37644,37645,37646,37647,37648,37649,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37670,37671,37672,37673,37674,37675,37676,37677,37678,37679,37680,37681,37682,37683,37684,37685,37686,37687,37688,37689,37690,37691,37692,37693,37695,37696,37697,37698,37699,37700,37701,37702,37703,37704,37705,37706,37707,37708,37709,37710,37711,37712,37713,37714,37715,37716,37717,37718,37719,37720,37721,37722,37723,37724,37725,37726,37727,37728,37729,37730,37731,37732,37733,37734,37735,37736,37737,37739,28617,28583,28601,28598,28610,28641,28654,28638,28640,28655,28698,28707,28699,28729,28725,28751,28766,23424,23428,23445,23443,23461,23480,29999,39582,25652,23524,23534,35120,23536,36423,35591,36790,36819,36821,36837,36846,36836,36841,36838,36851,36840,36869,36868,36875,36902,36881,36877,36886,36897,36917,36918,36909,36911,36932,36945,36946,36944,36968,36952,36962,36955,26297,36980,36989,36994,37e3,36995,37003,24400,24407,24406,24408,23611,21675,23632,23641,23409,23651,23654,32700,24362,24361,24365,33396,24380,39739,23662,22913,22915,22925,22953,22954,22947,37740,37741,37742,37743,37744,37745,37746,37747,37748,37749,37750,37751,37752,37753,37754,37755,37756,37757,37758,37759,37760,37761,37762,37763,37764,37765,37766,37767,37768,37769,37770,37771,37772,37773,37774,37776,37777,37778,37779,37780,37781,37782,37783,37784,37785,37786,37787,37788,37789,37790,37791,37792,37793,37794,37795,37796,37797,37798,37799,37800,37801,37802,37803,37804,37805,37806,37807,37808,37809,37810,37811,37812,37813,37814,37815,37816,37817,37818,37819,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37835,37836,37837,22935,22986,22955,22942,22948,22994,22962,22959,22999,22974,23045,23046,23005,23048,23011,23e3,23033,23052,23049,23090,23092,23057,23075,23059,23104,23143,23114,23125,23100,23138,23157,33004,23210,23195,23159,23162,23230,23275,23218,23250,23252,23224,23264,23267,23281,23254,23270,23256,23260,23305,23319,23318,23346,23351,23360,23573,23580,23386,23397,23411,23377,23379,23394,39541,39543,39544,39546,39551,39549,39552,39553,39557,39560,39562,39568,39570,39571,39574,39576,39579,39580,39581,39583,39584,39586,39587,39589,39591,32415,32417,32419,32421,32424,32425,37838,37839,37840,37841,37842,37843,37844,37845,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37857,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37876,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,37898,37899,37900,37901,37902,37903,37904,37905,37906,37907,37908,37909,37910,37911,37912,37913,37914,37915,37916,37917,37918,37919,37920,37921,37922,37923,37924,37925,37926,37927,37928,37929,37930,37931,37932,37933,37934,32429,32432,32446,32448,32449,32450,32457,32459,32460,32464,32468,32471,32475,32480,32481,32488,32491,32494,32495,32497,32498,32525,32502,32506,32507,32510,32513,32514,32515,32519,32520,32523,32524,32527,32529,32530,32535,32537,32540,32539,32543,32545,32546,32547,32548,32549,32550,32551,32554,32555,32556,32557,32559,32560,32561,32562,32563,32565,24186,30079,24027,30014,37013,29582,29585,29614,29602,29599,29647,29634,29649,29623,29619,29632,29641,29640,29669,29657,39036,29706,29673,29671,29662,29626,29682,29711,29738,29787,29734,29733,29736,29744,29742,29740,37935,37936,37937,37938,37939,37940,37941,37942,37943,37944,37945,37946,37947,37948,37949,37951,37952,37953,37954,37955,37956,37957,37958,37959,37960,37961,37962,37963,37964,37965,37966,37967,37968,37969,37970,37971,37972,37973,37974,37975,37976,37977,37978,37979,37980,37981,37982,37983,37984,37985,37986,37987,37988,37989,37990,37991,37992,37993,37994,37996,37997,37998,37999,38e3,38001,38002,38003,38004,38005,38006,38007,38008,38009,38010,38011,38012,38013,38014,38015,38016,38017,38018,38019,38020,38033,38038,38040,38087,38095,38099,38100,38106,38118,38139,38172,38176,29723,29722,29761,29788,29783,29781,29785,29815,29805,29822,29852,29838,29824,29825,29831,29835,29854,29864,29865,29840,29863,29906,29882,38890,38891,38892,26444,26451,26462,26440,26473,26533,26503,26474,26483,26520,26535,26485,26536,26526,26541,26507,26487,26492,26608,26633,26584,26634,26601,26544,26636,26585,26549,26586,26547,26589,26624,26563,26552,26594,26638,26561,26621,26674,26675,26720,26721,26702,26722,26692,26724,26755,26653,26709,26726,26689,26727,26688,26686,26698,26697,26665,26805,26767,26740,26743,26771,26731,26818,26990,26876,26911,26912,26873,38183,38195,38205,38211,38216,38219,38229,38234,38240,38254,38260,38261,38263,38264,38265,38266,38267,38268,38269,38270,38272,38273,38274,38275,38276,38277,38278,38279,38280,38281,38282,38283,38284,38285,38286,38287,38288,38289,38290,38291,38292,38293,38294,38295,38296,38297,38298,38299,38300,38301,38302,38303,38304,38305,38306,38307,38308,38309,38310,38311,38312,38313,38314,38315,38316,38317,38318,38319,38320,38321,38322,38323,38324,38325,38326,38327,38328,38329,38330,38331,38332,38333,38334,38335,38336,38337,38338,38339,38340,38341,38342,38343,38344,38345,38346,38347,26916,26864,26891,26881,26967,26851,26896,26993,26937,26976,26946,26973,27012,26987,27008,27032,27e3,26932,27084,27015,27016,27086,27017,26982,26979,27001,27035,27047,27067,27051,27053,27092,27057,27073,27082,27103,27029,27104,27021,27135,27183,27117,27159,27160,27237,27122,27204,27198,27296,27216,27227,27189,27278,27257,27197,27176,27224,27260,27281,27280,27305,27287,27307,29495,29522,27521,27522,27527,27524,27538,27539,27533,27546,27547,27553,27562,36715,36717,36721,36722,36723,36725,36726,36728,36727,36729,36730,36732,36734,36737,36738,36740,36743,36747,38348,38349,38350,38351,38352,38353,38354,38355,38356,38357,38358,38359,38360,38361,38362,38363,38364,38365,38366,38367,38368,38369,38370,38371,38372,38373,38374,38375,38380,38399,38407,38419,38424,38427,38430,38432,38435,38436,38437,38438,38439,38440,38441,38443,38444,38445,38447,38448,38455,38456,38457,38458,38462,38465,38467,38474,38478,38479,38481,38482,38483,38486,38487,38488,38489,38490,38492,38493,38494,38496,38499,38501,38502,38507,38509,38510,38511,38512,38513,38515,38520,38521,38522,38523,38524,38525,38526,38527,38528,38529,38530,38531,38532,38535,38537,38538,36749,36750,36751,36760,36762,36558,25099,25111,25115,25119,25122,25121,25125,25124,25132,33255,29935,29940,29951,29967,29969,29971,25908,26094,26095,26096,26122,26137,26482,26115,26133,26112,28805,26359,26141,26164,26161,26166,26165,32774,26207,26196,26177,26191,26198,26209,26199,26231,26244,26252,26279,26269,26302,26331,26332,26342,26345,36146,36147,36150,36155,36157,36160,36165,36166,36168,36169,36167,36173,36181,36185,35271,35274,35275,35276,35278,35279,35280,35281,29294,29343,29277,29286,29295,29310,29311,29316,29323,29325,29327,29330,25352,25394,25520,38540,38542,38545,38546,38547,38549,38550,38554,38555,38557,38558,38559,38560,38561,38562,38563,38564,38565,38566,38568,38569,38570,38571,38572,38573,38574,38575,38577,38578,38580,38581,38583,38584,38586,38587,38591,38594,38595,38600,38602,38603,38608,38609,38611,38612,38614,38615,38616,38617,38618,38619,38620,38621,38622,38623,38625,38626,38627,38628,38629,38630,38631,38635,38636,38637,38638,38640,38641,38642,38644,38645,38648,38650,38651,38652,38653,38655,38658,38659,38661,38666,38667,38668,38672,38673,38674,38676,38677,38679,38680,38681,38682,38683,38685,38687,38688,25663,25816,32772,27626,27635,27645,27637,27641,27653,27655,27654,27661,27669,27672,27673,27674,27681,27689,27684,27690,27698,25909,25941,25963,29261,29266,29270,29232,34402,21014,32927,32924,32915,32956,26378,32957,32945,32939,32941,32948,32951,32999,33e3,33001,33002,32987,32962,32964,32985,32973,32983,26384,32989,33003,33009,33012,33005,33037,33038,33010,33020,26389,33042,35930,33078,33054,33068,33048,33074,33096,33100,33107,33140,33113,33114,33137,33120,33129,33148,33149,33133,33127,22605,23221,33160,33154,33169,28373,33187,33194,33228,26406,33226,33211,38689,38690,38691,38692,38693,38694,38695,38696,38697,38699,38700,38702,38703,38705,38707,38708,38709,38710,38711,38714,38715,38716,38717,38719,38720,38721,38722,38723,38724,38725,38726,38727,38728,38729,38730,38731,38732,38733,38734,38735,38736,38737,38740,38741,38743,38744,38746,38748,38749,38751,38755,38756,38758,38759,38760,38762,38763,38764,38765,38766,38767,38768,38769,38770,38773,38775,38776,38777,38778,38779,38781,38782,38783,38784,38785,38786,38787,38788,38790,38791,38792,38793,38794,38796,38798,38799,38800,38803,38805,38806,38807,38809,38810,38811,38812,38813,33217,33190,27428,27447,27449,27459,27462,27481,39121,39122,39123,39125,39129,39130,27571,24384,27586,35315,26e3,40785,26003,26044,26054,26052,26051,26060,26062,26066,26070,28800,28828,28822,28829,28859,28864,28855,28843,28849,28904,28874,28944,28947,28950,28975,28977,29043,29020,29032,28997,29042,29002,29048,29050,29080,29107,29109,29096,29088,29152,29140,29159,29177,29213,29224,28780,28952,29030,29113,25150,25149,25155,25160,25161,31035,31040,31046,31049,31067,31068,31059,31066,31074,31063,31072,31087,31079,31098,31109,31114,31130,31143,31155,24529,24528,38814,38815,38817,38818,38820,38821,38822,38823,38824,38825,38826,38828,38830,38832,38833,38835,38837,38838,38839,38840,38841,38842,38843,38844,38845,38846,38847,38848,38849,38850,38851,38852,38853,38854,38855,38856,38857,38858,38859,38860,38861,38862,38863,38864,38865,38866,38867,38868,38869,38870,38871,38872,38873,38874,38875,38876,38877,38878,38879,38880,38881,38882,38883,38884,38885,38888,38894,38895,38896,38897,38898,38900,38903,38904,38905,38906,38907,38908,38909,38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920,38921,38922,38923,38924,38925,38926,24636,24669,24666,24679,24641,24665,24675,24747,24838,24845,24925,25001,24989,25035,25041,25094,32896,32895,27795,27894,28156,30710,30712,30720,30729,30743,30744,30737,26027,30765,30748,30749,30777,30778,30779,30751,30780,30757,30764,30755,30761,30798,30829,30806,30807,30758,30800,30791,30796,30826,30875,30867,30874,30855,30876,30881,30883,30898,30905,30885,30932,30937,30921,30956,30962,30981,30964,30995,31012,31006,31028,40859,40697,40699,40700,30449,30468,30477,30457,30471,30472,30490,30498,30489,30509,30502,30517,30520,30544,30545,30535,30531,30554,30568,38927,38928,38929,38930,38931,38932,38933,38934,38935,38936,38937,38938,38939,38940,38941,38942,38943,38944,38945,38946,38947,38948,38949,38950,38951,38952,38953,38954,38955,38956,38957,38958,38959,38960,38961,38962,38963,38964,38965,38966,38967,38968,38969,38970,38971,38972,38973,38974,38975,38976,38977,38978,38979,38980,38981,38982,38983,38984,38985,38986,38987,38988,38989,38990,38991,38992,38993,38994,38995,38996,38997,38998,38999,39e3,39001,39002,39003,39004,39005,39006,39007,39008,39009,39010,39011,39012,39013,39014,39015,39016,39017,39018,39019,39020,39021,39022,30562,30565,30591,30605,30589,30592,30604,30609,30623,30624,30640,30645,30653,30010,30016,30030,30027,30024,30043,30066,30073,30083,32600,32609,32607,35400,32616,32628,32625,32633,32641,32638,30413,30437,34866,38021,38022,38023,38027,38026,38028,38029,38031,38032,38036,38039,38037,38042,38043,38044,38051,38052,38059,38058,38061,38060,38063,38064,38066,38068,38070,38071,38072,38073,38074,38076,38077,38079,38084,38088,38089,38090,38091,38092,38093,38094,38096,38097,38098,38101,38102,38103,38105,38104,38107,38110,38111,38112,38114,38116,38117,38119,38120,38122,39023,39024,39025,39026,39027,39028,39051,39054,39058,39061,39065,39075,39080,39081,39082,39083,39084,39085,39086,39087,39088,39089,39090,39091,39092,39093,39094,39095,39096,39097,39098,39099,39100,39101,39102,39103,39104,39105,39106,39107,39108,39109,39110,39111,39112,39113,39114,39115,39116,39117,39119,39120,39124,39126,39127,39131,39132,39133,39136,39137,39138,39139,39140,39141,39142,39145,39146,39147,39148,39149,39150,39151,39152,39153,39154,39155,39156,39157,39158,39159,39160,39161,39162,39163,39164,39165,39166,39167,39168,39169,39170,39171,39172,39173,39174,39175,38121,38123,38126,38127,38131,38132,38133,38135,38137,38140,38141,38143,38147,38146,38150,38151,38153,38154,38157,38158,38159,38162,38163,38164,38165,38166,38168,38171,38173,38174,38175,38178,38186,38187,38185,38188,38193,38194,38196,38198,38199,38200,38204,38206,38207,38210,38197,38212,38213,38214,38217,38220,38222,38223,38226,38227,38228,38230,38231,38232,38233,38235,38238,38239,38237,38241,38242,38244,38245,38246,38247,38248,38249,38250,38251,38252,38255,38257,38258,38259,38202,30695,30700,38601,31189,31213,31203,31211,31238,23879,31235,31234,31262,31252,39176,39177,39178,39179,39180,39182,39183,39185,39186,39187,39188,39189,39190,39191,39192,39193,39194,39195,39196,39197,39198,39199,39200,39201,39202,39203,39204,39205,39206,39207,39208,39209,39210,39211,39212,39213,39215,39216,39217,39218,39219,39220,39221,39222,39223,39224,39225,39226,39227,39228,39229,39230,39231,39232,39233,39234,39235,39236,39237,39238,39239,39240,39241,39242,39243,39244,39245,39246,39247,39248,39249,39250,39251,39254,39255,39256,39257,39258,39259,39260,39261,39262,39263,39264,39265,39266,39268,39270,39283,39288,39289,39291,39294,39298,39299,39305,31289,31287,31313,40655,39333,31344,30344,30350,30355,30361,30372,29918,29920,29996,40480,40482,40488,40489,40490,40491,40492,40498,40497,40502,40504,40503,40505,40506,40510,40513,40514,40516,40518,40519,40520,40521,40523,40524,40526,40529,40533,40535,40538,40539,40540,40542,40547,40550,40551,40552,40553,40554,40555,40556,40561,40557,40563,30098,30100,30102,30112,30109,30124,30115,30131,30132,30136,30148,30129,30128,30147,30146,30166,30157,30179,30184,30182,30180,30187,30183,30211,30193,30204,30207,30224,30208,30213,30220,30231,30218,30245,30232,30229,30233,39308,39310,39322,39323,39324,39325,39326,39327,39328,39329,39330,39331,39332,39334,39335,39337,39338,39339,39340,39341,39342,39343,39344,39345,39346,39347,39348,39349,39350,39351,39352,39353,39354,39355,39356,39357,39358,39359,39360,39361,39362,39363,39364,39365,39366,39367,39368,39369,39370,39371,39372,39373,39374,39375,39376,39377,39378,39379,39380,39381,39382,39383,39384,39385,39386,39387,39388,39389,39390,39391,39392,39393,39394,39395,39396,39397,39398,39399,39400,39401,39402,39403,39404,39405,39406,39407,39408,39409,39410,39411,39412,39413,39414,39415,39416,39417,30235,30268,30242,30240,30272,30253,30256,30271,30261,30275,30270,30259,30285,30302,30292,30300,30294,30315,30319,32714,31462,31352,31353,31360,31366,31368,31381,31398,31392,31404,31400,31405,31411,34916,34921,34930,34941,34943,34946,34978,35014,34999,35004,35017,35042,35022,35043,35045,35057,35098,35068,35048,35070,35056,35105,35097,35091,35099,35082,35124,35115,35126,35137,35174,35195,30091,32997,30386,30388,30684,32786,32788,32790,32796,32800,32802,32805,32806,32807,32809,32808,32817,32779,32821,32835,32838,32845,32850,32873,32881,35203,39032,39040,39043,39418,39419,39420,39421,39422,39423,39424,39425,39426,39427,39428,39429,39430,39431,39432,39433,39434,39435,39436,39437,39438,39439,39440,39441,39442,39443,39444,39445,39446,39447,39448,39449,39450,39451,39452,39453,39454,39455,39456,39457,39458,39459,39460,39461,39462,39463,39464,39465,39466,39467,39468,39469,39470,39471,39472,39473,39474,39475,39476,39477,39478,39479,39480,39481,39482,39483,39484,39485,39486,39487,39488,39489,39490,39491,39492,39493,39494,39495,39496,39497,39498,39499,39500,39501,39502,39503,39504,39505,39506,39507,39508,39509,39510,39511,39512,39513,39049,39052,39053,39055,39060,39066,39067,39070,39071,39073,39074,39077,39078,34381,34388,34412,34414,34431,34426,34428,34427,34472,34445,34443,34476,34461,34471,34467,34474,34451,34473,34486,34500,34485,34510,34480,34490,34481,34479,34505,34511,34484,34537,34545,34546,34541,34547,34512,34579,34526,34548,34527,34520,34513,34563,34567,34552,34568,34570,34573,34569,34595,34619,34590,34597,34606,34586,34622,34632,34612,34609,34601,34615,34623,34690,34594,34685,34686,34683,34656,34672,34636,34670,34699,34643,34659,34684,34660,34649,34661,34707,34735,34728,34770,39514,39515,39516,39517,39518,39519,39520,39521,39522,39523,39524,39525,39526,39527,39528,39529,39530,39531,39538,39555,39561,39565,39566,39572,39573,39577,39590,39593,39594,39595,39596,39597,39598,39599,39602,39603,39604,39605,39609,39611,39613,39614,39615,39619,39620,39622,39623,39624,39625,39626,39629,39630,39631,39632,39634,39636,39637,39638,39639,39641,39642,39643,39644,39645,39646,39648,39650,39651,39652,39653,39655,39656,39657,39658,39660,39662,39664,39665,39666,39667,39668,39669,39670,39671,39672,39674,39676,39677,39678,39679,39680,39681,39682,39684,39685,39686,34758,34696,34693,34733,34711,34691,34731,34789,34732,34741,34739,34763,34771,34749,34769,34752,34762,34779,34794,34784,34798,34838,34835,34814,34826,34843,34849,34873,34876,32566,32578,32580,32581,33296,31482,31485,31496,31491,31492,31509,31498,31531,31503,31559,31544,31530,31513,31534,31537,31520,31525,31524,31539,31550,31518,31576,31578,31557,31605,31564,31581,31584,31598,31611,31586,31602,31601,31632,31654,31655,31672,31660,31645,31656,31621,31658,31644,31650,31659,31668,31697,31681,31692,31709,31706,31717,31718,31722,31756,31742,31740,31759,31766,31755,39687,39689,39690,39691,39692,39693,39694,39696,39697,39698,39700,39701,39702,39703,39704,39705,39706,39707,39708,39709,39710,39712,39713,39714,39716,39717,39718,39719,39720,39721,39722,39723,39724,39725,39726,39728,39729,39731,39732,39733,39734,39735,39736,39737,39738,39741,39742,39743,39744,39750,39754,39755,39756,39758,39760,39762,39763,39765,39766,39767,39768,39769,39770,39771,39772,39773,39774,39775,39776,39777,39778,39779,39780,39781,39782,39783,39784,39785,39786,39787,39788,39789,39790,39791,39792,39793,39794,39795,39796,39797,39798,39799,39800,39801,39802,39803,31775,31786,31782,31800,31809,31808,33278,33281,33282,33284,33260,34884,33313,33314,33315,33325,33327,33320,33323,33336,33339,33331,33332,33342,33348,33353,33355,33359,33370,33375,33384,34942,34949,34952,35032,35039,35166,32669,32671,32679,32687,32688,32690,31868,25929,31889,31901,31900,31902,31906,31922,31932,31933,31937,31943,31948,31949,31944,31941,31959,31976,33390,26280,32703,32718,32725,32741,32737,32742,32745,32750,32755,31992,32119,32166,32174,32327,32411,40632,40628,36211,36228,36244,36241,36273,36199,36205,35911,35913,37194,37200,37198,37199,37220,39804,39805,39806,39807,39808,39809,39810,39811,39812,39813,39814,39815,39816,39817,39818,39819,39820,39821,39822,39823,39824,39825,39826,39827,39828,39829,39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39840,39841,39842,39843,39844,39845,39846,39847,39848,39849,39850,39851,39852,39853,39854,39855,39856,39857,39858,39859,39860,39861,39862,39863,39864,39865,39866,39867,39868,39869,39870,39871,39872,39873,39874,39875,39876,39877,39878,39879,39880,39881,39882,39883,39884,39885,39886,39887,39888,39889,39890,39891,39892,39893,39894,39895,39896,39897,39898,39899,37218,37217,37232,37225,37231,37245,37246,37234,37236,37241,37260,37253,37264,37261,37265,37282,37283,37290,37293,37294,37295,37301,37300,37306,35925,40574,36280,36331,36357,36441,36457,36277,36287,36284,36282,36292,36310,36311,36314,36318,36302,36303,36315,36294,36332,36343,36344,36323,36345,36347,36324,36361,36349,36372,36381,36383,36396,36398,36387,36399,36410,36416,36409,36405,36413,36401,36425,36417,36418,36433,36434,36426,36464,36470,36476,36463,36468,36485,36495,36500,36496,36508,36510,35960,35970,35978,35973,35992,35988,26011,35286,35294,35290,35292,39900,39901,39902,39903,39904,39905,39906,39907,39908,39909,39910,39911,39912,39913,39914,39915,39916,39917,39918,39919,39920,39921,39922,39923,39924,39925,39926,39927,39928,39929,39930,39931,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39969,39970,39971,39972,39973,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39987,39988,39989,39990,39991,39992,39993,39994,39995,35301,35307,35311,35390,35622,38739,38633,38643,38639,38662,38657,38664,38671,38670,38698,38701,38704,38718,40832,40835,40837,40838,40839,40840,40841,40842,40844,40702,40715,40717,38585,38588,38589,38606,38610,30655,38624,37518,37550,37576,37694,37738,37834,37775,37950,37995,40063,40066,40069,40070,40071,40072,31267,40075,40078,40080,40081,40082,40084,40085,40090,40091,40094,40095,40096,40097,40098,40099,40101,40102,40103,40104,40105,40107,40109,40110,40112,40113,40114,40115,40116,40117,40118,40119,40122,40123,40124,40125,40132,40133,40134,40135,40138,40139,39996,39997,39998,39999,4e4,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40018,40019,40020,40021,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40035,40036,40037,40038,40039,40040,40041,40042,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40061,40062,40064,40067,40068,40073,40074,40076,40079,40083,40086,40087,40088,40089,40093,40106,40108,40111,40121,40126,40127,40128,40129,40130,40136,40137,40145,40146,40154,40155,40160,40161,40140,40141,40142,40143,40144,40147,40148,40149,40151,40152,40153,40156,40157,40159,40162,38780,38789,38801,38802,38804,38831,38827,38819,38834,38836,39601,39600,39607,40536,39606,39610,39612,39617,39616,39621,39618,39627,39628,39633,39749,39747,39751,39753,39752,39757,39761,39144,39181,39214,39253,39252,39647,39649,39654,39663,39659,39675,39661,39673,39688,39695,39699,39711,39715,40637,40638,32315,40578,40583,40584,40587,40594,37846,40605,40607,40667,40668,40669,40672,40671,40674,40681,40679,40677,40682,40687,40738,40748,40751,40761,40759,40765,40766,40772,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40183,40184,40185,40186,40187,40188,40189,40190,40191,40192,40193,40194,40195,40196,40197,40198,40199,40200,40201,40202,40203,40204,40205,40206,40207,40208,40209,40210,40211,40212,40213,40214,40215,40216,40217,40218,40219,40220,40221,40222,40223,40224,40225,40226,40227,40228,40229,40230,40231,40232,40233,40234,40235,40236,40237,40238,40239,40240,40241,40242,40243,40244,40245,40246,40247,40248,40249,40250,40251,40252,40253,40254,40255,40256,40257,40258,57908,57909,57910,57911,57912,57913,57914,57915,57916,57917,57918,57919,57920,57921,57922,57923,57924,57925,57926,57927,57928,57929,57930,57931,57932,57933,57934,57935,57936,57937,57938,57939,57940,57941,57942,57943,57944,57945,57946,57947,57948,57949,57950,57951,57952,57953,57954,57955,57956,57957,57958,57959,57960,57961,57962,57963,57964,57965,57966,57967,57968,57969,57970,57971,57972,57973,57974,57975,57976,57977,57978,57979,57980,57981,57982,57983,57984,57985,57986,57987,57988,57989,57990,57991,57992,57993,57994,57995,57996,57997,57998,57999,58e3,58001,40259,40260,40261,40262,40263,40264,40265,40266,40267,40268,40269,40270,40271,40272,40273,40274,40275,40276,40277,40278,40279,40280,40281,40282,40283,40284,40285,40286,40287,40288,40289,40290,40291,40292,40293,40294,40295,40296,40297,40298,40299,40300,40301,40302,40303,40304,40305,40306,40307,40308,40309,40310,40311,40312,40313,40314,40315,40316,40317,40318,40319,40320,40321,40322,40323,40324,40325,40326,40327,40328,40329,40330,40331,40332,40333,40334,40335,40336,40337,40338,40339,40340,40341,40342,40343,40344,40345,40346,40347,40348,40349,40350,40351,40352,40353,40354,58002,58003,58004,58005,58006,58007,58008,58009,58010,58011,58012,58013,58014,58015,58016,58017,58018,58019,58020,58021,58022,58023,58024,58025,58026,58027,58028,58029,58030,58031,58032,58033,58034,58035,58036,58037,58038,58039,58040,58041,58042,58043,58044,58045,58046,58047,58048,58049,58050,58051,58052,58053,58054,58055,58056,58057,58058,58059,58060,58061,58062,58063,58064,58065,58066,58067,58068,58069,58070,58071,58072,58073,58074,58075,58076,58077,58078,58079,58080,58081,58082,58083,58084,58085,58086,58087,58088,58089,58090,58091,58092,58093,58094,58095,40355,40356,40357,40358,40359,40360,40361,40362,40363,40364,40365,40366,40367,40368,40369,40370,40371,40372,40373,40374,40375,40376,40377,40378,40379,40380,40381,40382,40383,40384,40385,40386,40387,40388,40389,40390,40391,40392,40393,40394,40395,40396,40397,40398,40399,40400,40401,40402,40403,40404,40405,40406,40407,40408,40409,40410,40411,40412,40413,40414,40415,40416,40417,40418,40419,40420,40421,40422,40423,40424,40425,40426,40427,40428,40429,40430,40431,40432,40433,40434,40435,40436,40437,40438,40439,40440,40441,40442,40443,40444,40445,40446,40447,40448,40449,40450,58096,58097,58098,58099,58100,58101,58102,58103,58104,58105,58106,58107,58108,58109,58110,58111,58112,58113,58114,58115,58116,58117,58118,58119,58120,58121,58122,58123,58124,58125,58126,58127,58128,58129,58130,58131,58132,58133,58134,58135,58136,58137,58138,58139,58140,58141,58142,58143,58144,58145,58146,58147,58148,58149,58150,58151,58152,58153,58154,58155,58156,58157,58158,58159,58160,58161,58162,58163,58164,58165,58166,58167,58168,58169,58170,58171,58172,58173,58174,58175,58176,58177,58178,58179,58180,58181,58182,58183,58184,58185,58186,58187,58188,58189,40451,40452,40453,40454,40455,40456,40457,40458,40459,40460,40461,40462,40463,40464,40465,40466,40467,40468,40469,40470,40471,40472,40473,40474,40475,40476,40477,40478,40484,40487,40494,40496,40500,40507,40508,40512,40525,40528,40530,40531,40532,40534,40537,40541,40543,40544,40545,40546,40549,40558,40559,40562,40564,40565,40566,40567,40568,40569,40570,40571,40572,40573,40576,40577,40579,40580,40581,40582,40585,40586,40588,40589,40590,40591,40592,40593,40596,40597,40598,40599,40600,40601,40602,40603,40604,40606,40608,40609,40610,40611,40612,40613,40615,40616,40617,40618,58190,58191,58192,58193,58194,58195,58196,58197,58198,58199,58200,58201,58202,58203,58204,58205,58206,58207,58208,58209,58210,58211,58212,58213,58214,58215,58216,58217,58218,58219,58220,58221,58222,58223,58224,58225,58226,58227,58228,58229,58230,58231,58232,58233,58234,58235,58236,58237,58238,58239,58240,58241,58242,58243,58244,58245,58246,58247,58248,58249,58250,58251,58252,58253,58254,58255,58256,58257,58258,58259,58260,58261,58262,58263,58264,58265,58266,58267,58268,58269,58270,58271,58272,58273,58274,58275,58276,58277,58278,58279,58280,58281,58282,58283,40619,40620,40621,40622,40623,40624,40625,40626,40627,40629,40630,40631,40633,40634,40636,40639,40640,40641,40642,40643,40645,40646,40647,40648,40650,40651,40652,40656,40658,40659,40661,40662,40663,40665,40666,40670,40673,40675,40676,40678,40680,40683,40684,40685,40686,40688,40689,40690,40691,40692,40693,40694,40695,40696,40698,40701,40703,40704,40705,40706,40707,40708,40709,40710,40711,40712,40713,40714,40716,40719,40721,40722,40724,40725,40726,40728,40730,40731,40732,40733,40734,40735,40737,40739,40740,40741,40742,40743,40744,40745,40746,40747,40749,40750,40752,40753,58284,58285,58286,58287,58288,58289,58290,58291,58292,58293,58294,58295,58296,58297,58298,58299,58300,58301,58302,58303,58304,58305,58306,58307,58308,58309,58310,58311,58312,58313,58314,58315,58316,58317,58318,58319,58320,58321,58322,58323,58324,58325,58326,58327,58328,58329,58330,58331,58332,58333,58334,58335,58336,58337,58338,58339,58340,58341,58342,58343,58344,58345,58346,58347,58348,58349,58350,58351,58352,58353,58354,58355,58356,58357,58358,58359,58360,58361,58362,58363,58364,58365,58366,58367,58368,58369,58370,58371,58372,58373,58374,58375,58376,58377,40754,40755,40756,40757,40758,40760,40762,40764,40767,40768,40769,40770,40771,40773,40774,40775,40776,40777,40778,40779,40780,40781,40782,40783,40786,40787,40788,40789,40790,40791,40792,40793,40794,40795,40796,40797,40798,40799,40800,40801,40802,40803,40804,40805,40806,40807,40808,40809,40810,40811,40812,40813,40814,40815,40816,40817,40818,40819,40820,40821,40822,40823,40824,40825,40826,40827,40828,40829,40830,40833,40834,40845,40846,40847,40848,40849,40850,40851,40852,40853,40854,40855,40856,40860,40861,40862,40865,40866,40867,40868,40869,63788,63865,63893,63975,63985,58378,58379,58380,58381,58382,58383,58384,58385,58386,58387,58388,58389,58390,58391,58392,58393,58394,58395,58396,58397,58398,58399,58400,58401,58402,58403,58404,58405,58406,58407,58408,58409,58410,58411,58412,58413,58414,58415,58416,58417,58418,58419,58420,58421,58422,58423,58424,58425,58426,58427,58428,58429,58430,58431,58432,58433,58434,58435,58436,58437,58438,58439,58440,58441,58442,58443,58444,58445,58446,58447,58448,58449,58450,58451,58452,58453,58454,58455,58456,58457,58458,58459,58460,58461,58462,58463,58464,58465,58466,58467,58468,58469,58470,58471,64012,64013,64014,64015,64017,64019,64020,64024,64031,64032,64033,64035,64036,64039,64040,64041,11905,59414,59415,59416,11908,13427,13383,11912,11915,59422,13726,13850,13838,11916,11927,14702,14616,59430,14799,14815,14963,14800,59435,59436,15182,15470,15584,11943,59441,59442,11946,16470,16735,11950,17207,11955,11958,11959,59451,17329,17324,11963,17373,17622,18017,17996,59459,18211,18217,18300,18317,11978,18759,18810,18813,18818,18819,18821,18822,18847,18843,18871,18870,59476,59477,19619,19615,19616,19617,19575,19618,19731,19732,19733,19734,19735,19736,19737,19886,59492,58472,58473,58474,58475,58476,58477,58478,58479,58480,58481,58482,58483,58484,58485,58486,58487,58488,58489,58490,58491,58492,58493,58494,58495,58496,58497,58498,58499,58500,58501,58502,58503,58504,58505,58506,58507,58508,58509,58510,58511,58512,58513,58514,58515,58516,58517,58518,58519,58520,58521,58522,58523,58524,58525,58526,58527,58528,58529,58530,58531,58532,58533,58534,58535,58536,58537,58538,58539,58540,58541,58542,58543,58544,58545,58546,58547,58548,58549,58550,58551,58552,58553,58554,58555,58556,58557,58558,58559,58560,58561,58562,58563,58564,58565],"gb18030-ranges":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,18318],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189e3,65536]],jis0208:[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,9327,9328,9329,9330,9331,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,13129,13076,13090,13133,13080,13095,13059,13110,13137,13143,13069,13094,13091,13099,13130,13115,13212,13213,13214,13198,13199,13252,13217,null,null,null,null,null,null,null,null,13179,12317,12319,8470,13261,8481,12964,12965,12966,12967,12968,12849,12850,12857,13182,13181,13180,8786,8801,8747,8750,8721,8730,8869,8736,8735,8895,8757,8745,8746,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20124,21782,23043,38463,21696,24859,25384,23030,36898,33909,33564,31312,24746,25569,28197,26093,33894,33446,39925,26771,22311,26017,25201,23451,22992,34427,39156,32098,32190,39822,25110,31903,34999,23433,24245,25353,26263,26696,38343,38797,26447,20197,20234,20301,20381,20553,22258,22839,22996,23041,23561,24799,24847,24944,26131,26885,28858,30031,30064,31227,32173,32239,32963,33806,34915,35586,36949,36986,21307,20117,20133,22495,32946,37057,30959,19968,22769,28322,36920,31282,33576,33419,39983,20801,21360,21693,21729,22240,23035,24341,39154,28139,32996,34093,38498,38512,38560,38907,21515,21491,23431,28879,32701,36802,38632,21359,40284,31418,19985,30867,33276,28198,22040,21764,27421,34074,39995,23013,21417,28006,29916,38287,22082,20113,36939,38642,33615,39180,21473,21942,23344,24433,26144,26355,26628,27704,27891,27945,29787,30408,31310,38964,33521,34907,35424,37613,28082,30123,30410,39365,24742,35585,36234,38322,27022,21421,20870,22290,22576,22852,23476,24310,24616,25513,25588,27839,28436,28814,28948,29017,29141,29503,32257,33398,33489,34199,36960,37467,40219,22633,26044,27738,29989,20985,22830,22885,24448,24540,25276,26106,27178,27431,27572,29579,32705,35158,40236,40206,40644,23713,27798,33659,20740,23627,25014,33222,26742,29281,20057,20474,21368,24681,28201,31311,38899,19979,21270,20206,20309,20285,20385,20339,21152,21487,22025,22799,23233,23478,23521,31185,26247,26524,26550,27468,27827,28779,29634,31117,31166,31292,31623,33457,33499,33540,33655,33775,33747,34662,35506,22057,36008,36838,36942,38686,34442,20420,23784,25105,29273,30011,33253,33469,34558,36032,38597,39187,39381,20171,20250,35299,22238,22602,22730,24315,24555,24618,24724,24674,25040,25106,25296,25913,39745,26214,26800,28023,28784,30028,30342,32117,33445,34809,38283,38542,35997,20977,21182,22806,21683,23475,23830,24936,27010,28079,30861,33995,34903,35442,37799,39608,28012,39336,34521,22435,26623,34510,37390,21123,22151,21508,24275,25313,25785,26684,26680,27579,29554,30906,31339,35226,35282,36203,36611,37101,38307,38548,38761,23398,23731,27005,38989,38990,25499,31520,27179,27263,26806,39949,28511,21106,21917,24688,25324,27963,28167,28369,33883,35088,36676,19988,39993,21494,26907,27194,38788,26666,20828,31427,33970,37340,37772,22107,40232,26658,33541,33841,31909,21e3,33477,29926,20094,20355,20896,23506,21002,21208,21223,24059,21914,22570,23014,23436,23448,23515,24178,24185,24739,24863,24931,25022,25563,25954,26577,26707,26874,27454,27475,27735,28450,28567,28485,29872,29976,30435,30475,31487,31649,31777,32233,32566,32752,32925,33382,33694,35251,35532,36011,36996,37969,38291,38289,38306,38501,38867,39208,33304,20024,21547,23736,24012,29609,30284,30524,23721,32747,36107,38593,38929,38996,39e3,20225,20238,21361,21916,22120,22522,22855,23305,23492,23696,24076,24190,24524,25582,26426,26071,26082,26399,26827,26820,27231,24112,27589,27671,27773,30079,31048,23395,31232,32e3,24509,35215,35352,36020,36215,36556,36637,39138,39438,39740,20096,20605,20736,22931,23452,25135,25216,25836,27450,29344,30097,31047,32681,34811,35516,35696,25516,33738,38816,21513,21507,21931,26708,27224,35440,30759,26485,40653,21364,23458,33050,34384,36870,19992,20037,20167,20241,21450,21560,23470,24339,24613,25937,26429,27714,27762,27875,28792,29699,31350,31406,31496,32026,31998,32102,26087,29275,21435,23621,24040,25298,25312,25369,28192,34394,35377,36317,37624,28417,31142,39770,20136,20139,20140,20379,20384,20689,20807,31478,20849,20982,21332,21281,21375,21483,21932,22659,23777,24375,24394,24623,24656,24685,25375,25945,27211,27841,29378,29421,30703,33016,33029,33288,34126,37111,37857,38911,39255,39514,20208,20957,23597,26241,26989,23616,26354,26997,29577,26704,31873,20677,21220,22343,24062,37670,26020,27427,27453,29748,31105,31165,31563,32202,33465,33740,34943,35167,35641,36817,37329,21535,37504,20061,20534,21477,21306,29399,29590,30697,33510,36527,39366,39368,39378,20855,24858,34398,21936,31354,20598,23507,36935,38533,20018,27355,37351,23633,23624,25496,31391,27795,38772,36705,31402,29066,38536,31874,26647,32368,26705,37740,21234,21531,34219,35347,32676,36557,37089,21350,34952,31041,20418,20670,21009,20804,21843,22317,29674,22411,22865,24418,24452,24693,24950,24935,25001,25522,25658,25964,26223,26690,28179,30054,31293,31995,32076,32153,32331,32619,33550,33610,34509,35336,35427,35686,36605,38938,40335,33464,36814,39912,21127,25119,25731,28608,38553,26689,20625,27424,27770,28500,31348,32080,34880,35363,26376,20214,20537,20518,20581,20860,21048,21091,21927,22287,22533,23244,24314,25010,25080,25331,25458,26908,27177,29309,29356,29486,30740,30831,32121,30476,32937,35211,35609,36066,36562,36963,37749,38522,38997,39443,40568,20803,21407,21427,24187,24358,28187,28304,29572,29694,32067,33335,35328,35578,38480,20046,20491,21476,21628,22266,22993,23396,24049,24235,24359,25144,25925,26543,28246,29392,31946,34996,32929,32993,33776,34382,35463,36328,37431,38599,39015,40723,20116,20114,20237,21320,21577,21566,23087,24460,24481,24735,26791,27278,29786,30849,35486,35492,35703,37264,20062,39881,20132,20348,20399,20505,20502,20809,20844,21151,21177,21246,21402,21475,21521,21518,21897,22353,22434,22909,23380,23389,23439,24037,24039,24055,24184,24195,24218,24247,24344,24658,24908,25239,25304,25511,25915,26114,26179,26356,26477,26657,26775,27083,27743,27946,28009,28207,28317,30002,30343,30828,31295,31968,32005,32024,32094,32177,32789,32771,32943,32945,33108,33167,33322,33618,34892,34913,35611,36002,36092,37066,37237,37489,30783,37628,38308,38477,38917,39321,39640,40251,21083,21163,21495,21512,22741,25335,28640,35946,36703,40633,20811,21051,21578,22269,31296,37239,40288,40658,29508,28425,33136,29969,24573,24794,39592,29403,36796,27492,38915,20170,22256,22372,22718,23130,24680,25031,26127,26118,26681,26801,28151,30165,32058,33390,39746,20123,20304,21449,21766,23919,24038,24046,26619,27801,29811,30722,35408,37782,35039,22352,24231,25387,20661,20652,20877,26368,21705,22622,22971,23472,24425,25165,25505,26685,27507,28168,28797,37319,29312,30741,30758,31085,25998,32048,33756,35009,36617,38555,21092,22312,26448,32618,36001,20916,22338,38442,22586,27018,32948,21682,23822,22524,30869,40442,20316,21066,21643,25662,26152,26388,26613,31364,31574,32034,37679,26716,39853,31545,21273,20874,21047,23519,25334,25774,25830,26413,27578,34217,38609,30352,39894,25420,37638,39851,30399,26194,19977,20632,21442,23665,24808,25746,25955,26719,29158,29642,29987,31639,32386,34453,35715,36059,37240,39184,26028,26283,27531,20181,20180,20282,20351,21050,21496,21490,21987,22235,22763,22987,22985,23039,23376,23629,24066,24107,24535,24605,25351,25903,23388,26031,26045,26088,26525,27490,27515,27663,29509,31049,31169,31992,32025,32043,32930,33026,33267,35222,35422,35433,35430,35468,35566,36039,36060,38604,39164,27503,20107,20284,20365,20816,23383,23546,24904,25345,26178,27425,28363,27835,29246,29885,30164,30913,31034,32780,32819,33258,33940,36766,27728,40575,24335,35672,40235,31482,36600,23437,38635,19971,21489,22519,22833,23241,23460,24713,28287,28422,30142,36074,23455,34048,31712,20594,26612,33437,23649,34122,32286,33294,20889,23556,25448,36198,26012,29038,31038,32023,32773,35613,36554,36974,34503,37034,20511,21242,23610,26451,28796,29237,37196,37320,37675,33509,23490,24369,24825,20027,21462,23432,25163,26417,27530,29417,29664,31278,33131,36259,37202,39318,20754,21463,21610,23551,25480,27193,32172,38656,22234,21454,21608,23447,23601,24030,20462,24833,25342,27954,31168,31179,32066,32333,32722,33261,33311,33936,34886,35186,35728,36468,36655,36913,37195,37228,38598,37276,20160,20303,20805,21313,24467,25102,26580,27713,28171,29539,32294,37325,37507,21460,22809,23487,28113,31069,32302,31899,22654,29087,20986,34899,36848,20426,23803,26149,30636,31459,33308,39423,20934,24490,26092,26991,27529,28147,28310,28516,30462,32020,24033,36981,37255,38918,20966,21021,25152,26257,26329,28186,24246,32210,32626,26360,34223,34295,35576,21161,21465,22899,24207,24464,24661,37604,38500,20663,20767,21213,21280,21319,21484,21736,21830,21809,22039,22888,22974,23100,23477,23558,23567,23569,23578,24196,24202,24288,24432,25215,25220,25307,25484,25463,26119,26124,26157,26230,26494,26786,27167,27189,27836,28040,28169,28248,28988,28966,29031,30151,30465,30813,30977,31077,31216,31456,31505,31911,32057,32918,33750,33931,34121,34909,35059,35359,35388,35412,35443,35937,36062,37284,37478,37758,37912,38556,38808,19978,19976,19998,20055,20887,21104,22478,22580,22732,23330,24120,24773,25854,26465,26454,27972,29366,30067,31331,33976,35698,37304,37664,22065,22516,39166,25325,26893,27542,29165,32340,32887,33394,35302,39135,34645,36785,23611,20280,20449,20405,21767,23072,23517,23529,24515,24910,25391,26032,26187,26862,27035,28024,28145,30003,30137,30495,31070,31206,32051,33251,33455,34218,35242,35386,36523,36763,36914,37341,38663,20154,20161,20995,22645,22764,23563,29978,23613,33102,35338,36805,38499,38765,31525,35535,38920,37218,22259,21416,36887,21561,22402,24101,25512,27700,28810,30561,31883,32736,34928,36930,37204,37648,37656,38543,29790,39620,23815,23913,25968,26530,36264,38619,25454,26441,26905,33733,38935,38592,35070,28548,25722,23544,19990,28716,30045,26159,20932,21046,21218,22995,24449,24615,25104,25919,25972,26143,26228,26866,26646,27491,28165,29298,29983,30427,31934,32854,22768,35069,35199,35488,35475,35531,36893,37266,38738,38745,25993,31246,33030,38587,24109,24796,25114,26021,26132,26512,30707,31309,31821,32318,33034,36012,36196,36321,36447,30889,20999,25305,25509,25666,25240,35373,31363,31680,35500,38634,32118,33292,34633,20185,20808,21315,21344,23459,23554,23574,24029,25126,25159,25776,26643,26676,27849,27973,27927,26579,28508,29006,29053,26059,31359,31661,32218,32330,32680,33146,33307,33337,34214,35438,36046,36341,36984,36983,37549,37521,38275,39854,21069,21892,28472,28982,20840,31109,32341,33203,31950,22092,22609,23720,25514,26366,26365,26970,29401,30095,30094,30990,31062,31199,31895,32032,32068,34311,35380,38459,36961,40736,20711,21109,21452,21474,20489,21930,22766,22863,29245,23435,23652,21277,24803,24819,25436,25475,25407,25531,25805,26089,26361,24035,27085,27133,28437,29157,20105,30185,30456,31379,31967,32207,32156,32865,33609,33624,33900,33980,34299,35013,36208,36865,36973,37783,38684,39442,20687,22679,24974,33235,34101,36104,36896,20419,20596,21063,21363,24687,25417,26463,28204,36275,36895,20439,23646,36042,26063,32154,21330,34966,20854,25539,23384,23403,23562,25613,26449,36956,20182,22810,22826,27760,35409,21822,22549,22949,24816,25171,26561,33333,26965,38464,39364,39464,20307,22534,23550,32784,23729,24111,24453,24608,24907,25140,26367,27888,28382,32974,33151,33492,34955,36024,36864,36910,38538,40667,39899,20195,21488,22823,31532,37261,38988,40441,28381,28711,21331,21828,23429,25176,25246,25299,27810,28655,29730,35351,37944,28609,35582,33592,20967,34552,21482,21481,20294,36948,36784,22890,33073,24061,31466,36799,26842,35895,29432,40008,27197,35504,20025,21336,22022,22374,25285,25506,26086,27470,28129,28251,28845,30701,31471,31658,32187,32829,32966,34507,35477,37723,22243,22727,24382,26029,26262,27264,27573,30007,35527,20516,30693,22320,24347,24677,26234,27744,30196,31258,32622,33268,34584,36933,39347,31689,30044,31481,31569,33988,36880,31209,31378,33590,23265,30528,20013,20210,23449,24544,25277,26172,26609,27880,34411,34935,35387,37198,37619,39376,27159,28710,29482,33511,33879,36015,19969,20806,20939,21899,23541,24086,24115,24193,24340,24373,24427,24500,25074,25361,26274,26397,28526,29266,30010,30522,32884,33081,33144,34678,35519,35548,36229,36339,37530,38263,38914,40165,21189,25431,30452,26389,27784,29645,36035,37806,38515,27941,22684,26894,27084,36861,37786,30171,36890,22618,26626,25524,27131,20291,28460,26584,36795,34086,32180,37716,26943,28528,22378,22775,23340,32044,29226,21514,37347,40372,20141,20302,20572,20597,21059,35998,21576,22564,23450,24093,24213,24237,24311,24351,24716,25269,25402,25552,26799,27712,30855,31118,31243,32224,33351,35330,35558,36420,36883,37048,37165,37336,40718,27877,25688,25826,25973,28404,30340,31515,36969,37841,28346,21746,24505,25764,36685,36845,37444,20856,22635,22825,23637,24215,28155,32399,29980,36028,36578,39003,28857,20253,27583,28593,3e4,38651,20814,21520,22581,22615,22956,23648,24466,26007,26460,28193,30331,33759,36077,36884,37117,37709,30757,30778,21162,24230,22303,22900,24594,20498,20826,20908,20941,20992,21776,22612,22616,22871,23445,23798,23947,24764,25237,25645,26481,26691,26812,26847,30423,28120,28271,28059,28783,29128,24403,30168,31095,31561,31572,31570,31958,32113,21040,33891,34153,34276,35342,35588,35910,36367,36867,36879,37913,38518,38957,39472,38360,20685,21205,21516,22530,23566,24999,25758,27934,30643,31461,33012,33796,36947,37509,23776,40199,21311,24471,24499,28060,29305,30563,31167,31716,27602,29420,35501,26627,27233,20984,31361,26932,23626,40182,33515,23493,37193,28702,22136,23663,24775,25958,27788,35930,36929,38931,21585,26311,37389,22856,37027,20869,20045,20970,34201,35598,28760,25466,37707,26978,39348,32260,30071,21335,26976,36575,38627,27741,20108,23612,24336,36841,21250,36049,32905,34425,24319,26085,20083,20837,22914,23615,38894,20219,22922,24525,35469,28641,31152,31074,23527,33905,29483,29105,24180,24565,25467,25754,29123,31896,20035,24316,20043,22492,22178,24745,28611,32013,33021,33075,33215,36786,35223,34468,24052,25226,25773,35207,26487,27874,27966,29750,30772,23110,32629,33453,39340,20467,24259,25309,25490,25943,26479,30403,29260,32972,32954,36649,37197,20493,22521,23186,26757,26995,29028,29437,36023,22770,36064,38506,36889,34687,31204,30695,33833,20271,21093,21338,25293,26575,27850,30333,31636,31893,33334,34180,36843,26333,28448,29190,32283,33707,39361,40614,20989,31665,30834,31672,32903,31560,27368,24161,32908,30033,30048,20843,37474,28300,30330,37271,39658,20240,32624,25244,31567,38309,40169,22138,22617,34532,38588,20276,21028,21322,21453,21467,24070,25644,26001,26495,27710,27726,29256,29359,29677,30036,32321,33324,34281,36009,31684,37318,29033,38930,39151,25405,26217,30058,30436,30928,34115,34542,21290,21329,21542,22915,24199,24444,24754,25161,25209,25259,26e3,27604,27852,30130,30382,30865,31192,32203,32631,32933,34987,35513,36027,36991,38750,39131,27147,31800,20633,23614,24494,26503,27608,29749,30473,32654,40763,26570,31255,21305,30091,39661,24422,33181,33777,32920,24380,24517,30050,31558,36924,26727,23019,23195,32016,30334,35628,20469,24426,27161,27703,28418,29922,31080,34920,35413,35961,24287,25551,30149,31186,33495,37672,37618,33948,34541,39981,21697,24428,25996,27996,28693,36007,36051,38971,25935,29942,19981,20184,22496,22827,23142,23500,20904,24067,24220,24598,25206,25975,26023,26222,28014,29238,31526,33104,33178,33433,35676,36e3,36070,36212,38428,38468,20398,25771,27494,33310,33889,34154,37096,23553,26963,39080,33914,34135,20239,21103,24489,24133,26381,31119,33145,35079,35206,28149,24343,25173,27832,20175,29289,39826,20998,21563,22132,22707,24996,25198,28954,22894,31881,31966,32027,38640,25991,32862,19993,20341,20853,22592,24163,24179,24330,26564,20006,34109,38281,38491,31859,38913,20731,22721,30294,30887,21029,30629,34065,31622,20559,22793,29255,31687,32232,36794,36820,36941,20415,21193,23081,24321,38829,20445,33303,37610,22275,25429,27497,29995,35036,36628,31298,21215,22675,24917,25098,26286,27597,31807,33769,20515,20472,21253,21574,22577,22857,23453,23792,23791,23849,24214,25265,25447,25918,26041,26379,27861,27873,28921,30770,32299,32990,33459,33804,34028,34562,35090,35370,35914,37030,37586,39165,40179,40300,20047,20129,20621,21078,22346,22952,24125,24536,24537,25151,26292,26395,26576,26834,20882,32033,32938,33192,35584,35980,36031,37502,38450,21536,38956,21271,20693,21340,22696,25778,26420,29287,30566,31302,37350,21187,27809,27526,22528,24140,22868,26412,32763,20961,30406,25705,30952,39764,40635,22475,22969,26151,26522,27598,21737,27097,24149,33180,26517,39850,26622,40018,26717,20134,20451,21448,25273,26411,27819,36804,20397,32365,40639,19975,24930,28288,28459,34067,21619,26410,39749,24051,31637,23724,23494,34588,28234,34001,31252,33032,22937,31885,27665,30496,21209,22818,28961,29279,30683,38695,40289,26891,23167,23064,20901,21517,21629,26126,30431,36855,37528,40180,23018,29277,28357,20813,26825,32191,32236,38754,40634,25720,27169,33538,22916,23391,27611,29467,30450,32178,32791,33945,20786,26408,40665,30446,26466,21247,39173,23588,25147,31870,36016,21839,24758,32011,38272,21249,20063,20918,22812,29242,32822,37326,24357,30690,21380,24441,32004,34220,35379,36493,38742,26611,34222,37971,24841,24840,27833,30290,35565,36664,21807,20305,20778,21191,21451,23461,24189,24736,24962,25558,26377,26586,28263,28044,29494,29495,30001,31056,35029,35480,36938,37009,37109,38596,34701,22805,20104,20313,19982,35465,36671,38928,20653,24188,22934,23481,24248,25562,25594,25793,26332,26954,27096,27915,28342,29076,29992,31407,32650,32768,33865,33993,35201,35617,36362,36965,38525,39178,24958,25233,27442,27779,28020,32716,32764,28096,32645,34746,35064,26469,33713,38972,38647,27931,32097,33853,37226,20081,21365,23888,27396,28651,34253,34349,35239,21033,21519,23653,26446,26792,29702,29827,30178,35023,35041,37324,38626,38520,24459,29575,31435,33870,25504,30053,21129,27969,28316,29705,30041,30827,31890,38534,31452,40845,20406,24942,26053,34396,20102,20142,20698,20001,20940,23534,26009,26753,28092,29471,30274,30637,31260,31975,33391,35538,36988,37327,38517,38936,21147,32209,20523,21400,26519,28107,29136,29747,33256,36650,38563,40023,40607,29792,22593,28057,32047,39006,20196,20278,20363,20919,21169,23994,24604,29618,31036,33491,37428,38583,38646,38666,40599,40802,26278,27508,21015,21155,28872,35010,24265,24651,24976,28451,29001,31806,32244,32879,34030,36899,37676,21570,39791,27347,28809,36034,36335,38706,21172,23105,24266,24324,26391,27004,27028,28010,28431,29282,29436,31725,32769,32894,34635,37070,20845,40595,31108,32907,37682,35542,20525,21644,35441,27498,36036,33031,24785,26528,40434,20121,20120,39952,35435,34241,34152,26880,28286,30871,33109,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24332,19984,19989,20010,20017,20022,20028,20031,20034,20054,20056,20098,20101,35947,20106,33298,24333,20110,20126,20127,20128,20130,20144,20147,20150,20174,20173,20164,20166,20162,20183,20190,20205,20191,20215,20233,20314,20272,20315,20317,20311,20295,20342,20360,20367,20376,20347,20329,20336,20369,20335,20358,20374,20760,20436,20447,20430,20440,20443,20433,20442,20432,20452,20453,20506,20520,20500,20522,20517,20485,20252,20470,20513,20521,20524,20478,20463,20497,20486,20547,20551,26371,20565,20560,20552,20570,20566,20588,20600,20608,20634,20613,20660,20658,20681,20682,20659,20674,20694,20702,20709,20717,20707,20718,20729,20725,20745,20737,20738,20758,20757,20756,20762,20769,20794,20791,20796,20795,20799,20800,20818,20812,20820,20834,31480,20841,20842,20846,20864,20866,22232,20876,20873,20879,20881,20883,20885,20886,20900,20902,20898,20905,20906,20907,20915,20913,20914,20912,20917,20925,20933,20937,20955,20960,34389,20969,20973,20976,20981,20990,20996,21003,21012,21006,21031,21034,21038,21043,21049,21071,21060,21067,21068,21086,21076,21098,21108,21097,21107,21119,21117,21133,21140,21138,21105,21128,21137,36776,36775,21164,21165,21180,21173,21185,21197,21207,21214,21219,21222,39149,21216,21235,21237,21240,21241,21254,21256,30008,21261,21264,21263,21269,21274,21283,21295,21297,21299,21304,21312,21318,21317,19991,21321,21325,20950,21342,21353,21358,22808,21371,21367,21378,21398,21408,21414,21413,21422,21424,21430,21443,31762,38617,21471,26364,29166,21486,21480,21485,21498,21505,21565,21568,21548,21549,21564,21550,21558,21545,21533,21582,21647,21621,21646,21599,21617,21623,21616,21650,21627,21632,21622,21636,21648,21638,21703,21666,21688,21669,21676,21700,21704,21672,21675,21698,21668,21694,21692,21720,21733,21734,21775,21780,21757,21742,21741,21754,21730,21817,21824,21859,21836,21806,21852,21829,21846,21847,21816,21811,21853,21913,21888,21679,21898,21919,21883,21886,21912,21918,21934,21884,21891,21929,21895,21928,21978,21957,21983,21956,21980,21988,21972,22036,22007,22038,22014,22013,22043,22009,22094,22096,29151,22068,22070,22066,22072,22123,22116,22063,22124,22122,22150,22144,22154,22176,22164,22159,22181,22190,22198,22196,22210,22204,22209,22211,22208,22216,22222,22225,22227,22231,22254,22265,22272,22271,22276,22281,22280,22283,22285,22291,22296,22294,21959,22300,22310,22327,22328,22350,22331,22336,22351,22377,22464,22408,22369,22399,22409,22419,22432,22451,22436,22442,22448,22467,22470,22484,22482,22483,22538,22486,22499,22539,22553,22557,22642,22561,22626,22603,22640,27584,22610,22589,22649,22661,22713,22687,22699,22714,22750,22715,22712,22702,22725,22739,22737,22743,22745,22744,22757,22748,22756,22751,22767,22778,22777,22779,22780,22781,22786,22794,22800,22811,26790,22821,22828,22829,22834,22840,22846,31442,22869,22864,22862,22874,22872,22882,22880,22887,22892,22889,22904,22913,22941,20318,20395,22947,22962,22982,23016,23004,22925,23001,23002,23077,23071,23057,23068,23049,23066,23104,23148,23113,23093,23094,23138,23146,23194,23228,23230,23243,23234,23229,23267,23255,23270,23273,23254,23290,23291,23308,23307,23318,23346,23248,23338,23350,23358,23363,23365,23360,23377,23381,23386,23387,23397,23401,23408,23411,23413,23416,25992,23418,23424,23427,23462,23480,23491,23495,23497,23508,23504,23524,23526,23522,23518,23525,23531,23536,23542,23539,23557,23559,23560,23565,23571,23584,23586,23592,23608,23609,23617,23622,23630,23635,23632,23631,23409,23660,23662,20066,23670,23673,23692,23697,23700,22939,23723,23739,23734,23740,23735,23749,23742,23751,23769,23785,23805,23802,23789,23948,23786,23819,23829,23831,23900,23839,23835,23825,23828,23842,23834,23833,23832,23884,23890,23886,23883,23916,23923,23926,23943,23940,23938,23970,23965,23980,23982,23997,23952,23991,23996,24009,24013,24019,24018,24022,24027,24043,24050,24053,24075,24090,24089,24081,24091,24118,24119,24132,24131,24128,24142,24151,24148,24159,24162,24164,24135,24181,24182,24186,40636,24191,24224,24257,24258,24264,24272,24271,24278,24291,24285,24282,24283,24290,24289,24296,24297,24300,24305,24307,24304,24308,24312,24318,24323,24329,24413,24412,24331,24337,24342,24361,24365,24376,24385,24392,24396,24398,24367,24401,24406,24407,24409,24417,24429,24435,24439,24451,24450,24447,24458,24456,24465,24455,24478,24473,24472,24480,24488,24493,24508,24534,24571,24548,24568,24561,24541,24755,24575,24609,24672,24601,24592,24617,24590,24625,24603,24597,24619,24614,24591,24634,24666,24641,24682,24695,24671,24650,24646,24653,24675,24643,24676,24642,24684,24683,24665,24705,24717,24807,24707,24730,24708,24731,24726,24727,24722,24743,24715,24801,24760,24800,24787,24756,24560,24765,24774,24757,24792,24909,24853,24838,24822,24823,24832,24820,24826,24835,24865,24827,24817,24845,24846,24903,24894,24872,24871,24906,24895,24892,24876,24884,24893,24898,24900,24947,24951,24920,24921,24922,24939,24948,24943,24933,24945,24927,24925,24915,24949,24985,24982,24967,25004,24980,24986,24970,24977,25003,25006,25036,25034,25033,25079,25032,25027,25030,25018,25035,32633,25037,25062,25059,25078,25082,25076,25087,25085,25084,25086,25088,25096,25097,25101,25100,25108,25115,25118,25121,25130,25134,25136,25138,25139,25153,25166,25182,25187,25179,25184,25192,25212,25218,25225,25214,25234,25235,25238,25300,25219,25236,25303,25297,25275,25295,25343,25286,25812,25288,25308,25292,25290,25282,25287,25243,25289,25356,25326,25329,25383,25346,25352,25327,25333,25424,25406,25421,25628,25423,25494,25486,25472,25515,25462,25507,25487,25481,25503,25525,25451,25449,25534,25577,25536,25542,25571,25545,25554,25590,25540,25622,25652,25606,25619,25638,25654,25885,25623,25640,25615,25703,25711,25718,25678,25898,25749,25747,25765,25769,25736,25788,25818,25810,25797,25799,25787,25816,25794,25841,25831,33289,25824,25825,25260,25827,25839,25900,25846,25844,25842,25850,25856,25853,25880,25884,25861,25892,25891,25899,25908,25909,25911,25910,25912,30027,25928,25942,25941,25933,25944,25950,25949,25970,25976,25986,25987,35722,26011,26015,26027,26039,26051,26054,26049,26052,26060,26066,26075,26073,26080,26081,26097,26482,26122,26115,26107,26483,26165,26166,26164,26140,26191,26180,26185,26177,26206,26205,26212,26215,26216,26207,26210,26224,26243,26248,26254,26249,26244,26264,26269,26305,26297,26313,26302,26300,26308,26296,26326,26330,26336,26175,26342,26345,26352,26357,26359,26383,26390,26398,26406,26407,38712,26414,26431,26422,26433,26424,26423,26438,26462,26464,26457,26467,26468,26505,26480,26537,26492,26474,26508,26507,26534,26529,26501,26551,26607,26548,26604,26547,26601,26552,26596,26590,26589,26594,26606,26553,26574,26566,26599,27292,26654,26694,26665,26688,26701,26674,26702,26803,26667,26713,26723,26743,26751,26783,26767,26797,26772,26781,26779,26755,27310,26809,26740,26805,26784,26810,26895,26765,26750,26881,26826,26888,26840,26914,26918,26849,26892,26829,26836,26855,26837,26934,26898,26884,26839,26851,26917,26873,26848,26863,26920,26922,26906,26915,26913,26822,27001,26999,26972,27e3,26987,26964,27006,26990,26937,26996,26941,26969,26928,26977,26974,26973,27009,26986,27058,27054,27088,27071,27073,27091,27070,27086,23528,27082,27101,27067,27075,27047,27182,27025,27040,27036,27029,27060,27102,27112,27138,27163,27135,27402,27129,27122,27111,27141,27057,27166,27117,27156,27115,27146,27154,27329,27171,27155,27204,27148,27250,27190,27256,27207,27234,27225,27238,27208,27192,27170,27280,27277,27296,27268,27298,27299,27287,34327,27323,27331,27330,27320,27315,27308,27358,27345,27359,27306,27354,27370,27387,27397,34326,27386,27410,27414,39729,27423,27448,27447,30428,27449,39150,27463,27459,27465,27472,27481,27476,27483,27487,27489,27512,27513,27519,27520,27524,27523,27533,27544,27541,27550,27556,27562,27563,27567,27570,27569,27571,27575,27580,27590,27595,27603,27615,27628,27627,27635,27631,40638,27656,27667,27668,27675,27684,27683,27742,27733,27746,27754,27778,27789,27802,27777,27803,27774,27752,27763,27794,27792,27844,27889,27859,27837,27863,27845,27869,27822,27825,27838,27834,27867,27887,27865,27882,27935,34893,27958,27947,27965,27960,27929,27957,27955,27922,27916,28003,28051,28004,27994,28025,27993,28046,28053,28644,28037,28153,28181,28170,28085,28103,28134,28088,28102,28140,28126,28108,28136,28114,28101,28154,28121,28132,28117,28138,28142,28205,28270,28206,28185,28274,28255,28222,28195,28267,28203,28278,28237,28191,28227,28218,28238,28196,28415,28189,28216,28290,28330,28312,28361,28343,28371,28349,28335,28356,28338,28372,28373,28303,28325,28354,28319,28481,28433,28748,28396,28408,28414,28479,28402,28465,28399,28466,28364,28478,28435,28407,28550,28538,28536,28545,28544,28527,28507,28659,28525,28546,28540,28504,28558,28561,28610,28518,28595,28579,28577,28580,28601,28614,28586,28639,28629,28652,28628,28632,28657,28654,28635,28681,28683,28666,28689,28673,28687,28670,28699,28698,28532,28701,28696,28703,28720,28734,28722,28753,28771,28825,28818,28847,28913,28844,28856,28851,28846,28895,28875,28893,28889,28937,28925,28956,28953,29029,29013,29064,29030,29026,29004,29014,29036,29071,29179,29060,29077,29096,29100,29143,29113,29118,29138,29129,29140,29134,29152,29164,29159,29173,29180,29177,29183,29197,29200,29211,29224,29229,29228,29232,29234,29243,29244,29247,29248,29254,29259,29272,29300,29310,29314,29313,29319,29330,29334,29346,29351,29369,29362,29379,29382,29380,29390,29394,29410,29408,29409,29433,29431,20495,29463,29450,29468,29462,29469,29492,29487,29481,29477,29502,29518,29519,40664,29527,29546,29544,29552,29560,29557,29563,29562,29640,29619,29646,29627,29632,29669,29678,29662,29858,29701,29807,29733,29688,29746,29754,29781,29759,29791,29785,29761,29788,29801,29808,29795,29802,29814,29822,29835,29854,29863,29898,29903,29908,29681,29920,29923,29927,29929,29934,29938,29936,29937,29944,29943,29956,29955,29957,29964,29966,29965,29973,29971,29982,29990,29996,30012,30020,30029,30026,30025,30043,30022,30042,30057,30052,30055,30059,30061,30072,30070,30086,30087,30068,30090,30089,30082,30100,30106,30109,30117,30115,30146,30131,30147,30133,30141,30136,30140,30129,30157,30154,30162,30169,30179,30174,30206,30207,30204,30209,30192,30202,30194,30195,30219,30221,30217,30239,30247,30240,30241,30242,30244,30260,30256,30267,30279,30280,30278,30300,30296,30305,30306,30312,30313,30314,30311,30316,30320,30322,30326,30328,30332,30336,30339,30344,30347,30350,30358,30355,30361,30362,30384,30388,30392,30393,30394,30402,30413,30422,30418,30430,30433,30437,30439,30442,34351,30459,30472,30471,30468,30505,30500,30494,30501,30502,30491,30519,30520,30535,30554,30568,30571,30555,30565,30591,30590,30585,30606,30603,30609,30624,30622,30640,30646,30649,30655,30652,30653,30651,30663,30669,30679,30682,30684,30691,30702,30716,30732,30738,31014,30752,31018,30789,30862,30836,30854,30844,30874,30860,30883,30901,30890,30895,30929,30918,30923,30932,30910,30908,30917,30922,30956,30951,30938,30973,30964,30983,30994,30993,31001,31020,31019,31040,31072,31063,31071,31066,31061,31059,31098,31103,31114,31133,31143,40779,31146,31150,31155,31161,31162,31177,31189,31207,31212,31201,31203,31240,31245,31256,31257,31264,31263,31104,31281,31291,31294,31287,31299,31319,31305,31329,31330,31337,40861,31344,31353,31357,31368,31383,31381,31384,31382,31401,31432,31408,31414,31429,31428,31423,36995,31431,31434,31437,31439,31445,31443,31449,31450,31453,31457,31458,31462,31469,31472,31490,31503,31498,31494,31539,31512,31513,31518,31541,31528,31542,31568,31610,31492,31565,31499,31564,31557,31605,31589,31604,31591,31600,31601,31596,31598,31645,31640,31647,31629,31644,31642,31627,31634,31631,31581,31641,31691,31681,31692,31695,31668,31686,31709,31721,31761,31764,31718,31717,31840,31744,31751,31763,31731,31735,31767,31757,31734,31779,31783,31786,31775,31799,31787,31805,31820,31811,31828,31823,31808,31824,31832,31839,31844,31830,31845,31852,31861,31875,31888,31908,31917,31906,31915,31905,31912,31923,31922,31921,31918,31929,31933,31936,31941,31938,31960,31954,31964,31970,39739,31983,31986,31988,31990,31994,32006,32002,32028,32021,32010,32069,32075,32046,32050,32063,32053,32070,32115,32086,32078,32114,32104,32110,32079,32099,32147,32137,32091,32143,32125,32155,32186,32174,32163,32181,32199,32189,32171,32317,32162,32175,32220,32184,32159,32176,32216,32221,32228,32222,32251,32242,32225,32261,32266,32291,32289,32274,32305,32287,32265,32267,32290,32326,32358,32315,32309,32313,32323,32311,32306,32314,32359,32349,32342,32350,32345,32346,32377,32362,32361,32380,32379,32387,32213,32381,36782,32383,32392,32393,32396,32402,32400,32403,32404,32406,32398,32411,32412,32568,32570,32581,32588,32589,32590,32592,32593,32597,32596,32600,32607,32608,32616,32617,32615,32632,32642,32646,32643,32648,32647,32652,32660,32670,32669,32666,32675,32687,32690,32697,32686,32694,32696,35697,32709,32710,32714,32725,32724,32737,32742,32745,32755,32761,39132,32774,32772,32779,32786,32792,32793,32796,32801,32808,32831,32827,32842,32838,32850,32856,32858,32863,32866,32872,32883,32882,32880,32886,32889,32893,32895,32900,32902,32901,32923,32915,32922,32941,20880,32940,32987,32997,32985,32989,32964,32986,32982,33033,33007,33009,33051,33065,33059,33071,33099,38539,33094,33086,33107,33105,33020,33137,33134,33125,33126,33140,33155,33160,33162,33152,33154,33184,33173,33188,33187,33119,33171,33193,33200,33205,33214,33208,33213,33216,33218,33210,33225,33229,33233,33241,33240,33224,33242,33247,33248,33255,33274,33275,33278,33281,33282,33285,33287,33290,33293,33296,33302,33321,33323,33336,33331,33344,33369,33368,33373,33370,33375,33380,33378,33384,33386,33387,33326,33393,33399,33400,33406,33421,33426,33451,33439,33467,33452,33505,33507,33503,33490,33524,33523,33530,33683,33539,33531,33529,33502,33542,33500,33545,33497,33589,33588,33558,33586,33585,33600,33593,33616,33605,33583,33579,33559,33560,33669,33690,33706,33695,33698,33686,33571,33678,33671,33674,33660,33717,33651,33653,33696,33673,33704,33780,33811,33771,33742,33789,33795,33752,33803,33729,33783,33799,33760,33778,33805,33826,33824,33725,33848,34054,33787,33901,33834,33852,34138,33924,33911,33899,33965,33902,33922,33897,33862,33836,33903,33913,33845,33994,33890,33977,33983,33951,34009,33997,33979,34010,34e3,33985,33990,34006,33953,34081,34047,34036,34071,34072,34092,34079,34069,34068,34044,34112,34147,34136,34120,34113,34306,34123,34133,34176,34212,34184,34193,34186,34216,34157,34196,34203,34282,34183,34204,34167,34174,34192,34249,34234,34255,34233,34256,34261,34269,34277,34268,34297,34314,34323,34315,34302,34298,34310,34338,34330,34352,34367,34381,20053,34388,34399,34407,34417,34451,34467,34473,34474,34443,34444,34486,34479,34500,34502,34480,34505,34851,34475,34516,34526,34537,34540,34527,34523,34543,34578,34566,34568,34560,34563,34555,34577,34569,34573,34553,34570,34612,34623,34615,34619,34597,34601,34586,34656,34655,34680,34636,34638,34676,34647,34664,34670,34649,34643,34659,34666,34821,34722,34719,34690,34735,34763,34749,34752,34768,38614,34731,34756,34739,34759,34758,34747,34799,34802,34784,34831,34829,34814,34806,34807,34830,34770,34833,34838,34837,34850,34849,34865,34870,34873,34855,34875,34884,34882,34898,34905,34910,34914,34923,34945,34942,34974,34933,34941,34997,34930,34946,34967,34962,34990,34969,34978,34957,34980,34992,35007,34993,35011,35012,35028,35032,35033,35037,35065,35074,35068,35060,35048,35058,35076,35084,35082,35091,35139,35102,35109,35114,35115,35137,35140,35131,35126,35128,35148,35101,35168,35166,35174,35172,35181,35178,35183,35188,35191,35198,35203,35208,35210,35219,35224,35233,35241,35238,35244,35247,35250,35258,35261,35263,35264,35290,35292,35293,35303,35316,35320,35331,35350,35344,35340,35355,35357,35365,35382,35393,35419,35410,35398,35400,35452,35437,35436,35426,35461,35458,35460,35496,35489,35473,35493,35494,35482,35491,35524,35533,35522,35546,35563,35571,35559,35556,35569,35604,35552,35554,35575,35550,35547,35596,35591,35610,35553,35606,35600,35607,35616,35635,38827,35622,35627,35646,35624,35649,35660,35663,35662,35657,35670,35675,35674,35691,35679,35692,35695,35700,35709,35712,35724,35726,35730,35731,35734,35737,35738,35898,35905,35903,35912,35916,35918,35920,35925,35938,35948,35960,35962,35970,35977,35973,35978,35981,35982,35988,35964,35992,25117,36013,36010,36029,36018,36019,36014,36022,36040,36033,36068,36067,36058,36093,36090,36091,36100,36101,36106,36103,36111,36109,36112,40782,36115,36045,36116,36118,36199,36205,36209,36211,36225,36249,36290,36286,36282,36303,36314,36310,36300,36315,36299,36330,36331,36319,36323,36348,36360,36361,36351,36381,36382,36368,36383,36418,36405,36400,36404,36426,36423,36425,36428,36432,36424,36441,36452,36448,36394,36451,36437,36470,36466,36476,36481,36487,36485,36484,36491,36490,36499,36497,36500,36505,36522,36513,36524,36528,36550,36529,36542,36549,36552,36555,36571,36579,36604,36603,36587,36606,36618,36613,36629,36626,36633,36627,36636,36639,36635,36620,36646,36659,36667,36665,36677,36674,36670,36684,36681,36678,36686,36695,36700,36706,36707,36708,36764,36767,36771,36781,36783,36791,36826,36837,36834,36842,36847,36999,36852,36869,36857,36858,36881,36885,36897,36877,36894,36886,36875,36903,36918,36917,36921,36856,36943,36944,36945,36946,36878,36937,36926,36950,36952,36958,36968,36975,36982,38568,36978,36994,36989,36993,36992,37002,37001,37007,37032,37039,37041,37045,37090,37092,25160,37083,37122,37138,37145,37170,37168,37194,37206,37208,37219,37221,37225,37235,37234,37259,37257,37250,37282,37291,37295,37290,37301,37300,37306,37312,37313,37321,37323,37328,37334,37343,37345,37339,37372,37365,37366,37406,37375,37396,37420,37397,37393,37470,37463,37445,37449,37476,37448,37525,37439,37451,37456,37532,37526,37523,37531,37466,37583,37561,37559,37609,37647,37626,37700,37678,37657,37666,37658,37667,37690,37685,37691,37724,37728,37756,37742,37718,37808,37804,37805,37780,37817,37846,37847,37864,37861,37848,37827,37853,37840,37832,37860,37914,37908,37907,37891,37895,37904,37942,37931,37941,37921,37946,37953,37970,37956,37979,37984,37986,37982,37994,37417,38e3,38005,38007,38013,37978,38012,38014,38017,38015,38274,38279,38282,38292,38294,38296,38297,38304,38312,38311,38317,38332,38331,38329,38334,38346,28662,38339,38349,38348,38357,38356,38358,38364,38369,38373,38370,38433,38440,38446,38447,38466,38476,38479,38475,38519,38492,38494,38493,38495,38502,38514,38508,38541,38552,38549,38551,38570,38567,38577,38578,38576,38580,38582,38584,38585,38606,38603,38601,38605,35149,38620,38669,38613,38649,38660,38662,38664,38675,38670,38673,38671,38678,38681,38692,38698,38704,38713,38717,38718,38724,38726,38728,38722,38729,38748,38752,38756,38758,38760,21202,38763,38769,38777,38789,38780,38785,38778,38790,38795,38799,38800,38812,38824,38822,38819,38835,38836,38851,38854,38856,38859,38876,38893,40783,38898,31455,38902,38901,38927,38924,38968,38948,38945,38967,38973,38982,38991,38987,39019,39023,39024,39025,39028,39027,39082,39087,39089,39094,39108,39107,39110,39145,39147,39171,39177,39186,39188,39192,39201,39197,39198,39204,39200,39212,39214,39229,39230,39234,39241,39237,39248,39243,39249,39250,39244,39253,39319,39320,39333,39341,39342,39356,39391,39387,39389,39384,39377,39405,39406,39409,39410,39419,39416,39425,39439,39429,39394,39449,39467,39479,39493,39490,39488,39491,39486,39509,39501,39515,39511,39519,39522,39525,39524,39529,39531,39530,39597,39600,39612,39616,39631,39633,39635,39636,39646,39647,39650,39651,39654,39663,39659,39662,39668,39665,39671,39675,39686,39704,39706,39711,39714,39715,39717,39719,39720,39721,39722,39726,39727,39730,39748,39747,39759,39757,39758,39761,39768,39796,39827,39811,39825,39830,39831,39839,39840,39848,39860,39872,39882,39865,39878,39887,39889,39890,39907,39906,39908,39892,39905,39994,39922,39921,39920,39957,39956,39945,39955,39948,39942,39944,39954,39946,39940,39982,39963,39973,39972,39969,39984,40007,39986,40006,39998,40026,40032,40039,40054,40056,40167,40172,40176,40201,40200,40171,40195,40198,40234,40230,40367,40227,40223,40260,40213,40210,40257,40255,40254,40262,40264,40285,40286,40292,40273,40272,40281,40306,40329,40327,40363,40303,40314,40346,40356,40361,40370,40388,40385,40379,40376,40378,40390,40399,40386,40409,40403,40440,40422,40429,40431,40445,40474,40475,40478,40565,40569,40573,40577,40584,40587,40588,40594,40597,40593,40605,40613,40617,40632,40618,40621,38753,40652,40654,40655,40656,40660,40668,40670,40669,40672,40677,40680,40687,40692,40694,40695,40697,40699,40700,40701,40711,40712,30391,40725,40737,40748,40766,40778,40786,40788,40803,40799,40800,40801,40806,40807,40812,40810,40823,40818,40822,40853,40860,40864,22575,27079,36953,29796,20956,29081,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,65506,65508,65287,65282,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,65506,65508,65287,65282,12849,8470,8481,8757,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],jis0212:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19970,19972,19973,19980,19986,19999,20003,20004,20008,20011,20014,20015,20016,20021,20032,20033,20036,20039,20049,20058,20060,20067,20072,20073,20084,20085,20089,20095,20109,20118,20119,20125,20143,20153,20163,20176,20186,20187,20192,20193,20194,20200,20207,20209,20211,20213,20221,20222,20223,20224,20226,20227,20232,20235,20236,20242,20245,20246,20247,20249,20270,20273,20320,20275,20277,20279,20281,20283,20286,20288,20290,20296,20297,20299,20300,20306,20308,20310,20312,20319,20323,20330,20332,20334,20337,20343,20344,20345,20346,20349,20350,20353,20354,20356,20357,20361,20362,20364,20366,20368,20370,20371,20372,20375,20377,20378,20382,20383,20402,20407,20409,20411,20412,20413,20414,20416,20417,20421,20422,20424,20425,20427,20428,20429,20431,20434,20444,20448,20450,20464,20466,20476,20477,20479,20480,20481,20484,20487,20490,20492,20494,20496,20499,20503,20504,20507,20508,20509,20510,20514,20519,20526,20528,20530,20531,20533,20544,20545,20546,20549,20550,20554,20556,20558,20561,20562,20563,20567,20569,20575,20576,20578,20579,20582,20583,20586,20589,20592,20593,20539,20609,20611,20612,20614,20618,20622,20623,20624,20626,20627,20628,20630,20635,20636,20638,20639,20640,20641,20642,20650,20655,20656,20665,20666,20669,20672,20675,20676,20679,20684,20686,20688,20691,20692,20696,20700,20701,20703,20706,20708,20710,20712,20713,20719,20721,20726,20730,20734,20739,20742,20743,20744,20747,20748,20749,20750,20722,20752,20759,20761,20763,20764,20765,20766,20771,20775,20776,20780,20781,20783,20785,20787,20788,20789,20792,20793,20802,20810,20815,20819,20821,20823,20824,20831,20836,20838,20862,20867,20868,20875,20878,20888,20893,20897,20899,20909,20920,20922,20924,20926,20927,20930,20936,20943,20945,20946,20947,20949,20952,20958,20962,20965,20974,20978,20979,20980,20983,20993,20994,20997,21010,21011,21013,21014,21016,21026,21032,21041,21042,21045,21052,21061,21065,21077,21079,21080,21082,21084,21087,21088,21089,21094,21102,21111,21112,21113,21120,21122,21125,21130,21132,21139,21141,21142,21143,21144,21146,21148,21156,21157,21158,21159,21167,21168,21174,21175,21176,21178,21179,21181,21184,21188,21190,21192,21196,21199,21201,21204,21206,21211,21212,21217,21221,21224,21225,21226,21228,21232,21233,21236,21238,21239,21248,21251,21258,21259,21260,21265,21267,21272,21275,21276,21278,21279,21285,21287,21288,21289,21291,21292,21293,21296,21298,21301,21308,21309,21310,21314,21324,21323,21337,21339,21345,21347,21349,21356,21357,21362,21369,21374,21379,21383,21384,21390,21395,21396,21401,21405,21409,21412,21418,21419,21423,21426,21428,21429,21431,21432,21434,21437,21440,21445,21455,21458,21459,21461,21466,21469,21470,21472,21478,21479,21493,21506,21523,21530,21537,21543,21544,21546,21551,21553,21556,21557,21571,21572,21575,21581,21583,21598,21602,21604,21606,21607,21609,21611,21613,21614,21620,21631,21633,21635,21637,21640,21641,21645,21649,21653,21654,21660,21663,21665,21670,21671,21673,21674,21677,21678,21681,21687,21689,21690,21691,21695,21702,21706,21709,21710,21728,21738,21740,21743,21750,21756,21758,21759,21760,21761,21765,21768,21769,21772,21773,21774,21781,21802,21803,21810,21813,21814,21819,21820,21821,21825,21831,21833,21834,21837,21840,21841,21848,21850,21851,21854,21856,21857,21860,21862,21887,21889,21890,21894,21896,21902,21903,21905,21906,21907,21908,21911,21923,21924,21933,21938,21951,21953,21955,21958,21961,21963,21964,21966,21969,21970,21971,21975,21976,21979,21982,21986,21993,22006,22015,22021,22024,22026,22029,22030,22031,22032,22033,22034,22041,22060,22064,22067,22069,22071,22073,22075,22076,22077,22079,22080,22081,22083,22084,22086,22089,22091,22093,22095,22100,22110,22112,22113,22114,22115,22118,22121,22125,22127,22129,22130,22133,22148,22149,22152,22155,22156,22165,22169,22170,22173,22174,22175,22182,22183,22184,22185,22187,22188,22189,22193,22195,22199,22206,22213,22217,22218,22219,22223,22224,22220,22221,22233,22236,22237,22239,22241,22244,22245,22246,22247,22248,22257,22251,22253,22262,22263,22273,22274,22279,22282,22284,22289,22293,22298,22299,22301,22304,22306,22307,22308,22309,22313,22314,22316,22318,22319,22323,22324,22333,22334,22335,22341,22342,22348,22349,22354,22370,22373,22375,22376,22379,22381,22382,22383,22384,22385,22387,22388,22389,22391,22393,22394,22395,22396,22398,22401,22403,22412,22420,22423,22425,22426,22428,22429,22430,22431,22433,22421,22439,22440,22441,22444,22456,22461,22471,22472,22476,22479,22485,22493,22494,22500,22502,22503,22505,22509,22512,22517,22518,22520,22525,22526,22527,22531,22532,22536,22537,22497,22540,22541,22555,22558,22559,22560,22566,22567,22573,22578,22585,22591,22601,22604,22605,22607,22608,22613,22623,22625,22628,22631,22632,22648,22652,22655,22656,22657,22663,22664,22665,22666,22668,22669,22671,22672,22676,22678,22685,22688,22689,22690,22694,22697,22705,22706,22724,22716,22722,22728,22733,22734,22736,22738,22740,22742,22746,22749,22753,22754,22761,22771,22789,22790,22795,22796,22802,22803,22804,34369,22813,22817,22819,22820,22824,22831,22832,22835,22837,22838,22847,22851,22854,22866,22867,22873,22875,22877,22878,22879,22881,22883,22891,22893,22895,22898,22901,22902,22905,22907,22908,22923,22924,22926,22930,22933,22935,22943,22948,22951,22957,22958,22959,22960,22963,22967,22970,22972,22977,22979,22980,22984,22986,22989,22994,23005,23006,23007,23011,23012,23015,23022,23023,23025,23026,23028,23031,23040,23044,23052,23053,23054,23058,23059,23070,23075,23076,23079,23080,23082,23085,23088,23108,23109,23111,23112,23116,23120,23125,23134,23139,23141,23143,23149,23159,23162,23163,23166,23179,23184,23187,23190,23193,23196,23198,23199,23200,23202,23207,23212,23217,23218,23219,23221,23224,23226,23227,23231,23236,23238,23240,23247,23258,23260,23264,23269,23274,23278,23285,23286,23293,23296,23297,23304,23319,23348,23321,23323,23325,23329,23333,23341,23352,23361,23371,23372,23378,23382,23390,23400,23406,23407,23420,23421,23422,23423,23425,23428,23430,23434,23438,23440,23441,23443,23444,23446,23464,23465,23468,23469,23471,23473,23474,23479,23482,23484,23488,23489,23501,23503,23510,23511,23512,23513,23514,23520,23535,23537,23540,23549,23564,23575,23582,23583,23587,23590,23593,23595,23596,23598,23600,23602,23605,23606,23641,23642,23644,23650,23651,23655,23656,23657,23661,23664,23668,23669,23674,23675,23676,23677,23687,23688,23690,23695,23698,23709,23711,23712,23714,23715,23718,23722,23730,23732,23733,23738,23753,23755,23762,23773,23767,23790,23793,23794,23796,23809,23814,23821,23826,23851,23843,23844,23846,23847,23857,23860,23865,23869,23871,23874,23875,23878,23880,23893,23889,23897,23882,23903,23904,23905,23906,23908,23914,23917,23920,23929,23930,23934,23935,23937,23939,23944,23946,23954,23955,23956,23957,23961,23963,23967,23968,23975,23979,23984,23988,23992,23993,24003,24007,24011,24016,24014,24024,24025,24032,24036,24041,24056,24057,24064,24071,24077,24082,24084,24085,24088,24095,24096,24110,24104,24114,24117,24126,24139,24144,24137,24145,24150,24152,24155,24156,24158,24168,24170,24171,24172,24173,24174,24176,24192,24203,24206,24226,24228,24229,24232,24234,24236,24241,24243,24253,24254,24255,24262,24268,24267,24270,24273,24274,24276,24277,24284,24286,24293,24299,24322,24326,24327,24328,24334,24345,24348,24349,24353,24354,24355,24356,24360,24363,24364,24366,24368,24372,24374,24379,24381,24383,24384,24388,24389,24391,24397,24400,24404,24408,24411,24416,24419,24420,24423,24431,24434,24436,24437,24440,24442,24445,24446,24457,24461,24463,24470,24476,24477,24482,24487,24491,24484,24492,24495,24496,24497,24504,24516,24519,24520,24521,24523,24528,24529,24530,24531,24532,24542,24545,24546,24552,24553,24554,24556,24557,24558,24559,24562,24563,24566,24570,24572,24583,24586,24589,24595,24596,24599,24600,24602,24607,24612,24621,24627,24629,24640,24647,24648,24649,24652,24657,24660,24662,24663,24669,24673,24679,24689,24702,24703,24706,24710,24712,24714,24718,24721,24723,24725,24728,24733,24734,24738,24740,24741,24744,24752,24753,24759,24763,24766,24770,24772,24776,24777,24778,24779,24782,24783,24788,24789,24793,24795,24797,24798,24802,24805,24818,24821,24824,24828,24829,24834,24839,24842,24844,24848,24849,24850,24851,24852,24854,24855,24857,24860,24862,24866,24874,24875,24880,24881,24885,24886,24887,24889,24897,24901,24902,24905,24926,24928,24940,24946,24952,24955,24956,24959,24960,24961,24963,24964,24971,24973,24978,24979,24983,24984,24988,24989,24991,24992,24997,25e3,25002,25005,25016,25017,25020,25024,25025,25026,25038,25039,25045,25052,25053,25054,25055,25057,25058,25063,25065,25061,25068,25069,25071,25089,25091,25092,25095,25107,25109,25116,25120,25122,25123,25127,25129,25131,25145,25149,25154,25155,25156,25158,25164,25168,25169,25170,25172,25174,25178,25180,25188,25197,25199,25203,25210,25213,25229,25230,25231,25232,25254,25256,25267,25270,25271,25274,25278,25279,25284,25294,25301,25302,25306,25322,25330,25332,25340,25341,25347,25348,25354,25355,25357,25360,25363,25366,25368,25385,25386,25389,25397,25398,25401,25404,25409,25410,25411,25412,25414,25418,25419,25422,25426,25427,25428,25432,25435,25445,25446,25452,25453,25457,25460,25461,25464,25468,25469,25471,25474,25476,25479,25482,25488,25492,25493,25497,25498,25502,25508,25510,25517,25518,25519,25533,25537,25541,25544,25550,25553,25555,25556,25557,25564,25568,25573,25578,25580,25586,25587,25589,25592,25593,25609,25610,25616,25618,25620,25624,25630,25632,25634,25636,25637,25641,25642,25647,25648,25653,25661,25663,25675,25679,25681,25682,25683,25684,25690,25691,25692,25693,25695,25696,25697,25699,25709,25715,25716,25723,25725,25733,25735,25743,25744,25745,25752,25753,25755,25757,25759,25761,25763,25766,25768,25772,25779,25789,25790,25791,25796,25801,25802,25803,25804,25806,25808,25809,25813,25815,25828,25829,25833,25834,25837,25840,25845,25847,25851,25855,25857,25860,25864,25865,25866,25871,25875,25876,25878,25881,25883,25886,25887,25890,25894,25897,25902,25905,25914,25916,25917,25923,25927,25929,25936,25938,25940,25951,25952,25959,25963,25978,25981,25985,25989,25994,26002,26005,26008,26013,26016,26019,26022,26030,26034,26035,26036,26047,26050,26056,26057,26062,26064,26068,26070,26072,26079,26096,26098,26100,26101,26105,26110,26111,26112,26116,26120,26121,26125,26129,26130,26133,26134,26141,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26161,26163,26169,26167,26176,26181,26182,26186,26188,26193,26190,26199,26200,26201,26203,26204,26208,26209,26363,26218,26219,26220,26238,26227,26229,26239,26231,26232,26233,26235,26240,26236,26251,26252,26253,26256,26258,26265,26266,26267,26268,26271,26272,26276,26285,26289,26290,26293,26299,26303,26304,26306,26307,26312,26316,26318,26319,26324,26331,26335,26344,26347,26348,26350,26362,26373,26375,26382,26387,26393,26396,26400,26402,26419,26430,26437,26439,26440,26444,26452,26453,26461,26470,26476,26478,26484,26486,26491,26497,26500,26510,26511,26513,26515,26518,26520,26521,26523,26544,26545,26546,26549,26555,26556,26557,26617,26560,26562,26563,26565,26568,26569,26578,26583,26585,26588,26593,26598,26608,26610,26614,26615,26706,26644,26649,26653,26655,26664,26663,26668,26669,26671,26672,26673,26675,26683,26687,26692,26693,26698,26700,26709,26711,26712,26715,26731,26734,26735,26736,26737,26738,26741,26745,26746,26747,26748,26754,26756,26758,26760,26774,26776,26778,26780,26785,26787,26789,26793,26794,26798,26802,26811,26821,26824,26828,26831,26832,26833,26835,26838,26841,26844,26845,26853,26856,26858,26859,26860,26861,26864,26865,26869,26870,26875,26876,26877,26886,26889,26890,26896,26897,26899,26902,26903,26929,26931,26933,26936,26939,26946,26949,26953,26958,26967,26971,26979,26980,26981,26982,26984,26985,26988,26992,26993,26994,27002,27003,27007,27008,27021,27026,27030,27032,27041,27045,27046,27048,27051,27053,27055,27063,27064,27066,27068,27077,27080,27089,27094,27095,27106,27109,27118,27119,27121,27123,27125,27134,27136,27137,27139,27151,27153,27157,27162,27165,27168,27172,27176,27184,27186,27188,27191,27195,27198,27199,27205,27206,27209,27210,27214,27216,27217,27218,27221,27222,27227,27236,27239,27242,27249,27251,27262,27265,27267,27270,27271,27273,27275,27281,27291,27293,27294,27295,27301,27307,27311,27312,27313,27316,27325,27326,27327,27334,27337,27336,27340,27344,27348,27349,27350,27356,27357,27364,27367,27372,27376,27377,27378,27388,27389,27394,27395,27398,27399,27401,27407,27408,27409,27415,27419,27422,27428,27432,27435,27436,27439,27445,27446,27451,27455,27462,27466,27469,27474,27478,27480,27485,27488,27495,27499,27502,27504,27509,27517,27518,27522,27525,27543,27547,27551,27552,27554,27555,27560,27561,27564,27565,27566,27568,27576,27577,27581,27582,27587,27588,27593,27596,27606,27610,27617,27619,27622,27623,27630,27633,27639,27641,27647,27650,27652,27653,27657,27661,27662,27664,27666,27673,27679,27686,27687,27688,27692,27694,27699,27701,27702,27706,27707,27711,27722,27723,27725,27727,27730,27732,27737,27739,27740,27755,27757,27759,27764,27766,27768,27769,27771,27781,27782,27783,27785,27796,27797,27799,27800,27804,27807,27824,27826,27828,27842,27846,27853,27855,27856,27857,27858,27860,27862,27866,27868,27872,27879,27881,27883,27884,27886,27890,27892,27908,27911,27914,27918,27919,27921,27923,27930,27942,27943,27944,27751,27950,27951,27953,27961,27964,27967,27991,27998,27999,28001,28005,28007,28015,28016,28028,28034,28039,28049,28050,28052,28054,28055,28056,28074,28076,28084,28087,28089,28093,28095,28100,28104,28106,28110,28111,28118,28123,28125,28127,28128,28130,28133,28137,28143,28144,28148,28150,28156,28160,28164,28190,28194,28199,28210,28214,28217,28219,28220,28228,28229,28232,28233,28235,28239,28241,28242,28243,28244,28247,28252,28253,28254,28258,28259,28264,28275,28283,28285,28301,28307,28313,28320,28327,28333,28334,28337,28339,28347,28351,28352,28353,28355,28359,28360,28362,28365,28366,28367,28395,28397,28398,28409,28411,28413,28420,28424,28426,28428,28429,28438,28440,28442,28443,28454,28457,28458,28463,28464,28467,28470,28475,28476,28461,28495,28497,28498,28499,28503,28505,28506,28509,28510,28513,28514,28520,28524,28541,28542,28547,28551,28552,28555,28556,28557,28560,28562,28563,28564,28566,28570,28575,28576,28581,28582,28583,28584,28590,28591,28592,28597,28598,28604,28613,28615,28616,28618,28634,28638,28648,28649,28656,28661,28665,28668,28669,28672,28677,28678,28679,28685,28695,28704,28707,28719,28724,28727,28729,28732,28739,28740,28744,28745,28746,28747,28756,28757,28765,28766,28750,28772,28773,28780,28782,28789,28790,28798,28801,28805,28806,28820,28821,28822,28823,28824,28827,28836,28843,28848,28849,28852,28855,28874,28881,28883,28884,28885,28886,28888,28892,28900,28922,28931,28932,28933,28934,28935,28939,28940,28943,28958,28960,28971,28973,28975,28976,28977,28984,28993,28997,28998,28999,29002,29003,29008,29010,29015,29018,29020,29022,29024,29032,29049,29056,29061,29063,29068,29074,29082,29083,29088,29090,29103,29104,29106,29107,29114,29119,29120,29121,29124,29131,29132,29139,29142,29145,29146,29148,29176,29182,29184,29191,29192,29193,29203,29207,29210,29213,29215,29220,29227,29231,29236,29240,29241,29249,29250,29251,29253,29262,29263,29264,29267,29269,29270,29274,29276,29278,29280,29283,29288,29291,29294,29295,29297,29303,29304,29307,29308,29311,29316,29321,29325,29326,29331,29339,29352,29357,29358,29361,29364,29374,29377,29383,29385,29388,29397,29398,29400,29407,29413,29427,29428,29434,29435,29438,29442,29444,29445,29447,29451,29453,29458,29459,29464,29465,29470,29474,29476,29479,29480,29484,29489,29490,29493,29498,29499,29501,29507,29517,29520,29522,29526,29528,29533,29534,29535,29536,29542,29543,29545,29547,29548,29550,29551,29553,29559,29561,29564,29568,29569,29571,29573,29574,29582,29584,29587,29589,29591,29592,29596,29598,29599,29600,29602,29605,29606,29610,29611,29613,29621,29623,29625,29628,29629,29631,29637,29638,29641,29643,29644,29647,29650,29651,29654,29657,29661,29665,29667,29670,29671,29673,29684,29685,29687,29689,29690,29691,29693,29695,29696,29697,29700,29703,29706,29713,29722,29723,29732,29734,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29753,29760,29763,29764,29766,29767,29771,29773,29777,29778,29783,29789,29794,29798,29799,29800,29803,29805,29806,29809,29810,29824,29825,29829,29830,29831,29833,29839,29840,29841,29842,29848,29849,29850,29852,29855,29856,29857,29859,29862,29864,29865,29866,29867,29870,29871,29873,29874,29877,29881,29883,29887,29896,29897,29900,29904,29907,29912,29914,29915,29918,29919,29924,29928,29930,29931,29935,29940,29946,29947,29948,29951,29958,29970,29974,29975,29984,29985,29988,29991,29993,29994,29999,30006,30009,30013,30014,30015,30016,30019,30023,30024,30030,30032,30034,30039,30046,30047,30049,30063,30065,30073,30074,30075,30076,30077,30078,30081,30085,30096,30098,30099,30101,30105,30108,30114,30116,30132,30138,30143,30144,30145,30148,30150,30156,30158,30159,30167,30172,30175,30176,30177,30180,30183,30188,30190,30191,30193,30201,30208,30210,30211,30212,30215,30216,30218,30220,30223,30226,30227,30229,30230,30233,30235,30236,30237,30238,30243,30245,30246,30249,30253,30258,30259,30261,30264,30265,30266,30268,30282,30272,30273,30275,30276,30277,30281,30283,30293,30297,30303,30308,30309,30317,30318,30319,30321,30324,30337,30341,30348,30349,30357,30363,30364,30365,30367,30368,30370,30371,30372,30373,30374,30375,30376,30378,30381,30397,30401,30405,30409,30411,30412,30414,30420,30425,30432,30438,30440,30444,30448,30449,30454,30457,30460,30464,30470,30474,30478,30482,30484,30485,30487,30489,30490,30492,30498,30504,30509,30510,30511,30516,30517,30518,30521,30525,30526,30530,30533,30534,30538,30541,30542,30543,30546,30550,30551,30556,30558,30559,30560,30562,30564,30567,30570,30572,30576,30578,30579,30580,30586,30589,30592,30596,30604,30605,30612,30613,30614,30618,30623,30626,30631,30634,30638,30639,30641,30645,30654,30659,30665,30673,30674,30677,30681,30686,30687,30688,30692,30694,30698,30700,30704,30705,30708,30712,30715,30725,30726,30729,30733,30734,30737,30749,30753,30754,30755,30765,30766,30768,30773,30775,30787,30788,30791,30792,30796,30798,30802,30812,30814,30816,30817,30819,30820,30824,30826,30830,30842,30846,30858,30863,30868,30872,30881,30877,30878,30879,30884,30888,30892,30893,30896,30897,30898,30899,30907,30909,30911,30919,30920,30921,30924,30926,30930,30931,30933,30934,30948,30939,30943,30944,30945,30950,30954,30962,30963,30976,30966,30967,30970,30971,30975,30982,30988,30992,31002,31004,31006,31007,31008,31013,31015,31017,31021,31025,31028,31029,31035,31037,31039,31044,31045,31046,31050,31051,31055,31057,31060,31064,31067,31068,31079,31081,31083,31090,31097,31099,31100,31102,31115,31116,31121,31123,31124,31125,31126,31128,31131,31132,31137,31144,31145,31147,31151,31153,31156,31160,31163,31170,31172,31175,31176,31178,31183,31188,31190,31194,31197,31198,31200,31202,31205,31210,31211,31213,31217,31224,31228,31234,31235,31239,31241,31242,31244,31249,31253,31259,31262,31265,31271,31275,31277,31279,31280,31284,31285,31288,31289,31290,31300,31301,31303,31304,31308,31317,31318,31321,31324,31325,31327,31328,31333,31335,31338,31341,31349,31352,31358,31360,31362,31365,31366,31370,31371,31376,31377,31380,31390,31392,31395,31404,31411,31413,31417,31419,31420,31430,31433,31436,31438,31441,31451,31464,31465,31467,31468,31473,31476,31483,31485,31486,31495,31508,31519,31523,31527,31529,31530,31531,31533,31534,31535,31536,31537,31540,31549,31551,31552,31553,31559,31566,31573,31584,31588,31590,31593,31594,31597,31599,31602,31603,31607,31620,31625,31630,31632,31633,31638,31643,31646,31648,31653,31660,31663,31664,31666,31669,31670,31674,31675,31676,31677,31682,31685,31688,31690,31700,31702,31703,31705,31706,31707,31720,31722,31730,31732,31733,31736,31737,31738,31740,31742,31745,31746,31747,31748,31750,31753,31755,31756,31758,31759,31769,31771,31776,31781,31782,31784,31788,31793,31795,31796,31798,31801,31802,31814,31818,31829,31825,31826,31827,31833,31834,31835,31836,31837,31838,31841,31843,31847,31849,31853,31854,31856,31858,31865,31868,31869,31878,31879,31887,31892,31902,31904,31910,31920,31926,31927,31930,31931,31932,31935,31940,31943,31944,31945,31949,31951,31955,31956,31957,31959,31961,31962,31965,31974,31977,31979,31989,32003,32007,32008,32009,32015,32017,32018,32019,32022,32029,32030,32035,32038,32042,32045,32049,32060,32061,32062,32064,32065,32071,32072,32077,32081,32083,32087,32089,32090,32092,32093,32101,32103,32106,32112,32120,32122,32123,32127,32129,32130,32131,32133,32134,32136,32139,32140,32141,32145,32150,32151,32157,32158,32166,32167,32170,32179,32182,32183,32185,32194,32195,32196,32197,32198,32204,32205,32206,32215,32217,32256,32226,32229,32230,32234,32235,32237,32241,32245,32246,32249,32250,32264,32272,32273,32277,32279,32284,32285,32288,32295,32296,32300,32301,32303,32307,32310,32319,32324,32325,32327,32334,32336,32338,32344,32351,32353,32354,32357,32363,32366,32367,32371,32376,32382,32385,32390,32391,32394,32397,32401,32405,32408,32410,32413,32414,32572,32571,32573,32574,32575,32579,32580,32583,32591,32594,32595,32603,32604,32605,32609,32611,32612,32613,32614,32621,32625,32637,32638,32639,32640,32651,32653,32655,32656,32657,32662,32663,32668,32673,32674,32678,32682,32685,32692,32700,32703,32704,32707,32712,32718,32719,32731,32735,32739,32741,32744,32748,32750,32751,32754,32762,32765,32766,32767,32775,32776,32778,32781,32782,32783,32785,32787,32788,32790,32797,32798,32799,32800,32804,32806,32812,32814,32816,32820,32821,32823,32825,32826,32828,32830,32832,32836,32864,32868,32870,32877,32881,32885,32897,32904,32910,32924,32926,32934,32935,32939,32952,32953,32968,32973,32975,32978,32980,32981,32983,32984,32992,33005,33006,33008,33010,33011,33014,33017,33018,33022,33027,33035,33046,33047,33048,33052,33054,33056,33060,33063,33068,33072,33077,33082,33084,33093,33095,33098,33100,33106,33111,33120,33121,33127,33128,33129,33133,33135,33143,33153,33168,33156,33157,33158,33163,33166,33174,33176,33179,33182,33186,33198,33202,33204,33211,33227,33219,33221,33226,33230,33231,33237,33239,33243,33245,33246,33249,33252,33259,33260,33264,33265,33266,33269,33270,33272,33273,33277,33279,33280,33283,33295,33299,33300,33305,33306,33309,33313,33314,33320,33330,33332,33338,33347,33348,33349,33350,33355,33358,33359,33361,33366,33372,33376,33379,33383,33389,33396,33403,33405,33407,33408,33409,33411,33412,33415,33417,33418,33422,33425,33428,33430,33432,33434,33435,33440,33441,33443,33444,33447,33448,33449,33450,33454,33456,33458,33460,33463,33466,33468,33470,33471,33478,33488,33493,33498,33504,33506,33508,33512,33514,33517,33519,33526,33527,33533,33534,33536,33537,33543,33544,33546,33547,33620,33563,33565,33566,33567,33569,33570,33580,33581,33582,33584,33587,33591,33594,33596,33597,33602,33603,33604,33607,33613,33614,33617,33621,33622,33623,33648,33656,33661,33663,33664,33666,33668,33670,33677,33682,33684,33685,33688,33689,33691,33692,33693,33702,33703,33705,33708,33726,33727,33728,33735,33737,33743,33744,33745,33748,33757,33619,33768,33770,33782,33784,33785,33788,33793,33798,33802,33807,33809,33813,33817,33709,33839,33849,33861,33863,33864,33866,33869,33871,33873,33874,33878,33880,33881,33882,33884,33888,33892,33893,33895,33898,33904,33907,33908,33910,33912,33916,33917,33921,33925,33938,33939,33941,33950,33958,33960,33961,33962,33967,33969,33972,33978,33981,33982,33984,33986,33991,33992,33996,33999,34003,34012,34023,34026,34031,34032,34033,34034,34039,34098,34042,34043,34045,34050,34051,34055,34060,34062,34064,34076,34078,34082,34083,34084,34085,34087,34090,34091,34095,34099,34100,34102,34111,34118,34127,34128,34129,34130,34131,34134,34137,34140,34141,34142,34143,34144,34145,34146,34148,34155,34159,34169,34170,34171,34173,34175,34177,34181,34182,34185,34187,34188,34191,34195,34200,34205,34207,34208,34210,34213,34215,34228,34230,34231,34232,34236,34237,34238,34239,34242,34247,34250,34251,34254,34221,34264,34266,34271,34272,34278,34280,34285,34291,34294,34300,34303,34304,34308,34309,34317,34318,34320,34321,34322,34328,34329,34331,34334,34337,34343,34345,34358,34360,34362,34364,34365,34368,34370,34374,34386,34387,34390,34391,34392,34393,34397,34400,34401,34402,34403,34404,34409,34412,34415,34421,34422,34423,34426,34445,34449,34454,34456,34458,34460,34465,34470,34471,34472,34477,34481,34483,34484,34485,34487,34488,34489,34495,34496,34497,34499,34501,34513,34514,34517,34519,34522,34524,34528,34531,34533,34535,34440,34554,34556,34557,34564,34565,34567,34571,34574,34575,34576,34579,34580,34585,34590,34591,34593,34595,34600,34606,34607,34609,34610,34617,34618,34620,34621,34622,34624,34627,34629,34637,34648,34653,34657,34660,34661,34671,34673,34674,34683,34691,34692,34693,34694,34695,34696,34697,34699,34700,34704,34707,34709,34711,34712,34713,34718,34720,34723,34727,34732,34733,34734,34737,34741,34750,34751,34753,34760,34761,34762,34766,34773,34774,34777,34778,34780,34783,34786,34787,34788,34794,34795,34797,34801,34803,34808,34810,34815,34817,34819,34822,34825,34826,34827,34832,34841,34834,34835,34836,34840,34842,34843,34844,34846,34847,34856,34861,34862,34864,34866,34869,34874,34876,34881,34883,34885,34888,34889,34890,34891,34894,34897,34901,34902,34904,34906,34908,34911,34912,34916,34921,34929,34937,34939,34944,34968,34970,34971,34972,34975,34976,34984,34986,35002,35005,35006,35008,35018,35019,35020,35021,35022,35025,35026,35027,35035,35038,35047,35055,35056,35057,35061,35063,35073,35078,35085,35086,35087,35093,35094,35096,35097,35098,35100,35104,35110,35111,35112,35120,35121,35122,35125,35129,35130,35134,35136,35138,35141,35142,35145,35151,35154,35159,35162,35163,35164,35169,35170,35171,35179,35182,35184,35187,35189,35194,35195,35196,35197,35209,35213,35216,35220,35221,35227,35228,35231,35232,35237,35248,35252,35253,35254,35255,35260,35284,35285,35286,35287,35288,35301,35305,35307,35309,35313,35315,35318,35321,35325,35327,35332,35333,35335,35343,35345,35346,35348,35349,35358,35360,35362,35364,35366,35371,35372,35375,35381,35383,35389,35390,35392,35395,35397,35399,35401,35405,35406,35411,35414,35415,35416,35420,35421,35425,35429,35431,35445,35446,35447,35449,35450,35451,35454,35455,35456,35459,35462,35467,35471,35472,35474,35478,35479,35481,35487,35495,35497,35502,35503,35507,35510,35511,35515,35518,35523,35526,35528,35529,35530,35537,35539,35540,35541,35543,35549,35551,35564,35568,35572,35573,35574,35580,35583,35589,35590,35595,35601,35612,35614,35615,35594,35629,35632,35639,35644,35650,35651,35652,35653,35654,35656,35666,35667,35668,35673,35661,35678,35683,35693,35702,35704,35705,35708,35710,35713,35716,35717,35723,35725,35727,35732,35733,35740,35742,35743,35896,35897,35901,35902,35909,35911,35913,35915,35919,35921,35923,35924,35927,35928,35931,35933,35929,35939,35940,35942,35944,35945,35949,35955,35957,35958,35963,35966,35974,35975,35979,35984,35986,35987,35993,35995,35996,36004,36025,36026,36037,36038,36041,36043,36047,36054,36053,36057,36061,36065,36072,36076,36079,36080,36082,36085,36087,36088,36094,36095,36097,36099,36105,36114,36119,36123,36197,36201,36204,36206,36223,36226,36228,36232,36237,36240,36241,36245,36254,36255,36256,36262,36267,36268,36271,36274,36277,36279,36281,36283,36288,36293,36294,36295,36296,36298,36302,36305,36308,36309,36311,36313,36324,36325,36327,36332,36336,36284,36337,36338,36340,36349,36353,36356,36357,36358,36363,36369,36372,36374,36384,36385,36386,36387,36390,36391,36401,36403,36406,36407,36408,36409,36413,36416,36417,36427,36429,36430,36431,36436,36443,36444,36445,36446,36449,36450,36457,36460,36461,36463,36464,36465,36473,36474,36475,36482,36483,36489,36496,36498,36501,36506,36507,36509,36510,36514,36519,36521,36525,36526,36531,36533,36538,36539,36544,36545,36547,36548,36551,36559,36561,36564,36572,36584,36590,36592,36593,36599,36601,36602,36589,36608,36610,36615,36616,36623,36624,36630,36631,36632,36638,36640,36641,36643,36645,36647,36648,36652,36653,36654,36660,36661,36662,36663,36666,36672,36673,36675,36679,36687,36689,36690,36691,36692,36693,36696,36701,36702,36709,36765,36768,36769,36772,36773,36774,36789,36790,36792,36798,36800,36801,36806,36810,36811,36813,36816,36818,36819,36821,36832,36835,36836,36840,36846,36849,36853,36854,36859,36862,36866,36868,36872,36876,36888,36891,36904,36905,36911,36906,36908,36909,36915,36916,36919,36927,36931,36932,36940,36955,36957,36962,36966,36967,36972,36976,36980,36985,36997,37e3,37003,37004,37006,37008,37013,37015,37016,37017,37019,37024,37025,37026,37029,37040,37042,37043,37044,37046,37053,37068,37054,37059,37060,37061,37063,37064,37077,37079,37080,37081,37084,37085,37087,37093,37074,37110,37099,37103,37104,37108,37118,37119,37120,37124,37125,37126,37128,37133,37136,37140,37142,37143,37144,37146,37148,37150,37152,37157,37154,37155,37159,37161,37166,37167,37169,37172,37174,37175,37177,37178,37180,37181,37187,37191,37192,37199,37203,37207,37209,37210,37211,37217,37220,37223,37229,37236,37241,37242,37243,37249,37251,37253,37254,37258,37262,37265,37267,37268,37269,37272,37278,37281,37286,37288,37292,37293,37294,37296,37297,37298,37299,37302,37307,37308,37309,37311,37314,37315,37317,37331,37332,37335,37337,37338,37342,37348,37349,37353,37354,37356,37357,37358,37359,37360,37361,37367,37369,37371,37373,37376,37377,37380,37381,37382,37383,37385,37386,37388,37392,37394,37395,37398,37400,37404,37405,37411,37412,37413,37414,37416,37422,37423,37424,37427,37429,37430,37432,37433,37434,37436,37438,37440,37442,37443,37446,37447,37450,37453,37454,37455,37457,37464,37465,37468,37469,37472,37473,37477,37479,37480,37481,37486,37487,37488,37493,37494,37495,37496,37497,37499,37500,37501,37503,37512,37513,37514,37517,37518,37522,37527,37529,37535,37536,37540,37541,37543,37544,37547,37551,37554,37558,37560,37562,37563,37564,37565,37567,37568,37569,37570,37571,37573,37574,37575,37576,37579,37580,37581,37582,37584,37587,37589,37591,37592,37593,37596,37597,37599,37600,37601,37603,37605,37607,37608,37612,37614,37616,37625,37627,37631,37632,37634,37640,37645,37649,37652,37653,37660,37661,37662,37663,37665,37668,37669,37671,37673,37674,37683,37684,37686,37687,37703,37704,37705,37712,37713,37714,37717,37719,37720,37722,37726,37732,37733,37735,37737,37738,37741,37743,37744,37745,37747,37748,37750,37754,37757,37759,37760,37761,37762,37768,37770,37771,37773,37775,37778,37781,37784,37787,37790,37793,37795,37796,37798,37800,37803,37812,37813,37814,37818,37801,37825,37828,37829,37830,37831,37833,37834,37835,37836,37837,37843,37849,37852,37854,37855,37858,37862,37863,37881,37879,37880,37882,37883,37885,37889,37890,37892,37896,37897,37901,37902,37903,37909,37910,37911,37919,37934,37935,37937,37938,37939,37940,37947,37951,37949,37955,37957,37960,37962,37964,37973,37977,37980,37983,37985,37987,37992,37995,37997,37998,37999,38001,38002,38020,38019,38264,38265,38270,38276,38280,38284,38285,38286,38301,38302,38303,38305,38310,38313,38315,38316,38324,38326,38330,38333,38335,38342,38344,38345,38347,38352,38353,38354,38355,38361,38362,38365,38366,38367,38368,38372,38374,38429,38430,38434,38436,38437,38438,38444,38449,38451,38455,38456,38457,38458,38460,38461,38465,38482,38484,38486,38487,38488,38497,38510,38516,38523,38524,38526,38527,38529,38530,38531,38532,38537,38545,38550,38554,38557,38559,38564,38565,38566,38569,38574,38575,38579,38586,38602,38610,23986,38616,38618,38621,38622,38623,38633,38639,38641,38650,38658,38659,38661,38665,38682,38683,38685,38689,38690,38691,38696,38705,38707,38721,38723,38730,38734,38735,38741,38743,38744,38746,38747,38755,38759,38762,38766,38771,38774,38775,38776,38779,38781,38783,38784,38793,38805,38806,38807,38809,38810,38814,38815,38818,38828,38830,38833,38834,38837,38838,38840,38841,38842,38844,38846,38847,38849,38852,38853,38855,38857,38858,38860,38861,38862,38864,38865,38868,38871,38872,38873,38877,38878,38880,38875,38881,38884,38895,38897,38900,38903,38904,38906,38919,38922,38937,38925,38926,38932,38934,38940,38942,38944,38947,38950,38955,38958,38959,38960,38962,38963,38965,38949,38974,38980,38983,38986,38993,38994,38995,38998,38999,39001,39002,39010,39011,39013,39014,39018,39020,39083,39085,39086,39088,39092,39095,39096,39098,39099,39103,39106,39109,39112,39116,39137,39139,39141,39142,39143,39146,39155,39158,39170,39175,39176,39185,39189,39190,39191,39194,39195,39196,39199,39202,39206,39207,39211,39217,39218,39219,39220,39221,39225,39226,39227,39228,39232,39233,39238,39239,39240,39245,39246,39252,39256,39257,39259,39260,39262,39263,39264,39323,39325,39327,39334,39344,39345,39346,39349,39353,39354,39357,39359,39363,39369,39379,39380,39385,39386,39388,39390,39399,39402,39403,39404,39408,39412,39413,39417,39421,39422,39426,39427,39428,39435,39436,39440,39441,39446,39454,39456,39458,39459,39460,39463,39469,39470,39475,39477,39478,39480,39495,39489,39492,39498,39499,39500,39502,39505,39508,39510,39517,39594,39596,39598,39599,39602,39604,39605,39606,39609,39611,39614,39615,39617,39619,39622,39624,39630,39632,39634,39637,39638,39639,39643,39644,39648,39652,39653,39655,39657,39660,39666,39667,39669,39673,39674,39677,39679,39680,39681,39682,39683,39684,39685,39688,39689,39691,39692,39693,39694,39696,39698,39702,39705,39707,39708,39712,39718,39723,39725,39731,39732,39733,39735,39737,39738,39741,39752,39755,39756,39765,39766,39767,39771,39774,39777,39779,39781,39782,39784,39786,39787,39788,39789,39790,39795,39797,39799,39800,39801,39807,39808,39812,39813,39814,39815,39817,39818,39819,39821,39823,39824,39828,39834,39837,39838,39846,39847,39849,39852,39856,39857,39858,39863,39864,39867,39868,39870,39871,39873,39879,39880,39886,39888,39895,39896,39901,39903,39909,39911,39914,39915,39919,39923,39927,39928,39929,39930,39933,39935,39936,39938,39947,39951,39953,39958,39960,39961,39962,39964,39966,39970,39971,39974,39975,39976,39977,39978,39985,39989,39990,39991,39997,40001,40003,40004,40005,40009,40010,40014,40015,40016,40019,40020,40022,40024,40027,40029,40030,40031,40035,40041,40042,40028,40043,40040,40046,40048,40050,40053,40055,40059,40166,40178,40183,40185,40203,40194,40209,40215,40216,40220,40221,40222,40239,40240,40242,40243,40244,40250,40252,40261,40253,40258,40259,40263,40266,40275,40276,40287,40291,40290,40293,40297,40298,40299,40304,40310,40311,40315,40316,40318,40323,40324,40326,40330,40333,40334,40338,40339,40341,40342,40343,40344,40353,40362,40364,40366,40369,40373,40377,40380,40383,40387,40391,40393,40394,40404,40405,40406,40407,40410,40414,40415,40416,40421,40423,40425,40427,40430,40432,40435,40436,40446,40458,40450,40455,40462,40464,40465,40466,40469,40470,40473,40476,40477,40570,40571,40572,40576,40578,40579,40580,40581,40583,40590,40591,40598,40600,40603,40606,40612,40616,40620,40622,40623,40624,40627,40628,40629,40646,40648,40651,40661,40671,40676,40679,40684,40685,40686,40688,40689,40690,40693,40696,40703,40706,40707,40713,40719,40720,40721,40722,40724,40726,40727,40729,40730,40731,40735,40738,40742,40746,40747,40751,40753,40754,40756,40759,40761,40762,40764,40765,40767,40769,40771,40772,40773,40774,40775,40787,40789,40790,40791,40792,40794,40797,40798,40808,40809,40813,40814,40815,40816,40817,40819,40821,40826,40829,40847,40848,40849,40850,40852,40854,40855,40862,40865,40866,40867,40869,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]}}(this||{})},290:function(module,__unused_webpack_exports,__webpack_require__){!function(global2){"use strict";function inRange(a,min,max){return min<=a&&a<=max}module.exports&&!global2["encoding-indexes"]&&(global2["encoding-indexes"]=__webpack_require__(6413)["encoding-indexes"]);var floor=Math.floor;function ToDictionary(o){if(void 0===o)return{};if(o===Object(o))return o;throw TypeError("Could not convert argument to dictionary")}function isASCIIByte(a){return 0<=a&&a<=127}var isASCIICodePoint=isASCIIByte;function Stream(tokens){this.tokens=[].slice.call(tokens),this.tokens.reverse()}function decoderError(fatal,opt_code_point){if(fatal)throw TypeError("Decoder error");return opt_code_point||65533}function encoderError(code_point){throw TypeError("The code point "+code_point+" could not be encoded.")}function getEncoding(label){return label=String(label).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(label_to_encoding,label)?label_to_encoding[label]:null}Stream.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():-1},prepend:function(token){if(Array.isArray(token))for(var tokens=token;tokens.length;)this.tokens.push(tokens.pop());else this.tokens.push(token)},push:function(token){if(Array.isArray(token))for(var tokens=token;tokens.length;)this.tokens.unshift(tokens.shift());else this.tokens.unshift(token)}};var encodings=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],label_to_encoding={};encodings.forEach(function(category){category.encodings.forEach(function(encoding){encoding.labels.forEach(function(label){label_to_encoding[label]=encoding})})});var shift_jis_index,big5_index_no_hkscs,encoders={},decoders={};function indexCodePointFor(pointer,index2){return index2&&index2[pointer]||null}function indexPointerFor(code_point,index2){var pointer=index2.indexOf(code_point);return-1===pointer?null:pointer}function index(name){if(!("encoding-indexes"in global2))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return global2["encoding-indexes"][name]}function TextDecoder2(label,options){if(!(this instanceof TextDecoder2))throw TypeError("Called as a function. Did you forget 'new'?");label=void 0!==label?String(label):"utf-8",options=ToDictionary(options),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var encoding=getEncoding(label);if(null===encoding||"replacement"===encoding.name)throw RangeError("Unknown encoding: "+label);if(!decoders[encoding.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");return this._encoding=encoding,options.fatal&&(this._error_mode="fatal"),options.ignoreBOM&&(this._ignoreBOM=!0),Object.defineProperty||(this.encoding=this._encoding.name.toLowerCase(),this.fatal="fatal"===this._error_mode,this.ignoreBOM=this._ignoreBOM),this}function TextEncoder2(label,options){if(!(this instanceof TextEncoder2))throw TypeError("Called as a function. Did you forget 'new'?");if(options=ToDictionary(options),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=options.fatal?"fatal":"replacement",options.NONSTANDARD_allowLegacyEncoding){var encoding=getEncoding(label=void 0!==label?String(label):"utf-8");if(null===encoding||"replacement"===encoding.name)throw RangeError("Unknown encoding: "+label);if(!encoders[encoding.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");this._encoding=encoding}else this._encoding=getEncoding("utf-8"),void 0!==label&&"console"in global2&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=this._encoding.name.toLowerCase()),this}function UTF8Decoder(options){var fatal=options.fatal,utf8_code_point=0,utf8_bytes_seen=0,utf8_bytes_needed=0,utf8_lower_boundary=128,utf8_upper_boundary=191;this.handler=function(stream,bite){if(-1===bite&&0!==utf8_bytes_needed)return utf8_bytes_needed=0,decoderError(fatal);if(-1===bite)return-1;if(0===utf8_bytes_needed){if(inRange(bite,0,127))return bite;if(inRange(bite,194,223))utf8_bytes_needed=1,utf8_code_point=31&bite;else if(inRange(bite,224,239))224===bite&&(utf8_lower_boundary=160),237===bite&&(utf8_upper_boundary=159),utf8_bytes_needed=2,utf8_code_point=15&bite;else{if(!inRange(bite,240,244))return decoderError(fatal);240===bite&&(utf8_lower_boundary=144),244===bite&&(utf8_upper_boundary=143),utf8_bytes_needed=3,utf8_code_point=7&bite}return null}if(!inRange(bite,utf8_lower_boundary,utf8_upper_boundary))return utf8_code_point=utf8_bytes_needed=utf8_bytes_seen=0,utf8_lower_boundary=128,utf8_upper_boundary=191,stream.prepend(bite),decoderError(fatal);if(utf8_lower_boundary=128,utf8_upper_boundary=191,utf8_code_point=utf8_code_point<<6|63&bite,(utf8_bytes_seen+=1)!==utf8_bytes_needed)return null;var code_point=utf8_code_point;return utf8_code_point=utf8_bytes_needed=utf8_bytes_seen=0,code_point}}function UTF8Encoder(options){this.handler=function(stream,code_point){if(-1===code_point)return-1;if(isASCIICodePoint(code_point))return code_point;var count,offset;inRange(code_point,128,2047)?(count=1,offset=192):inRange(code_point,2048,65535)?(count=2,offset=224):inRange(code_point,65536,1114111)&&(count=3,offset=240);for(var bytes=[(code_point>>6*count)+offset];count>0;)bytes.push(128|63&code_point>>6*(count-1)),count-=1;return bytes}}function SingleByteDecoder(index2,options){var fatal=options.fatal;this.handler=function(stream,bite){if(-1===bite)return-1;if(isASCIIByte(bite))return bite;var code_point=index2[bite-128];return null===code_point?decoderError(fatal):code_point}}function SingleByteEncoder(index2,options){this.handler=function(stream,code_point){if(-1===code_point)return-1;if(isASCIICodePoint(code_point))return code_point;var pointer=indexPointerFor(code_point,index2);return null===pointer&&encoderError(code_point),pointer+128}}function GB18030Decoder(options){var fatal=options.fatal,gb18030_first=0,gb18030_second=0,gb18030_third=0;this.handler=function(stream,bite){if(-1===bite&&0===gb18030_first&&0===gb18030_second&&0===gb18030_third)return-1;var code_point;if(-1===bite&&(0!==gb18030_first||0!==gb18030_second||0!==gb18030_third)&&(gb18030_first=0,gb18030_second=0,gb18030_third=0,decoderError(fatal)),0!==gb18030_third){code_point=null,inRange(bite,48,57)&&(code_point=function indexGB18030RangesCodePointFor(pointer){if(pointer>39419&&pointer<189e3||pointer>1237575)return null;if(7457===pointer)return 59335;var i,offset=0,code_point_offset=0,idx=index("gb18030-ranges");for(i=0;i>8,byte2=255&code_unit;return utf16be?[byte1,byte2]:[byte2,byte1]}function UTF16Decoder(utf16_be,options){var fatal=options.fatal,utf16_lead_byte=null,utf16_lead_surrogate=null;this.handler=function(stream,bite){if(-1===bite&&(null!==utf16_lead_byte||null!==utf16_lead_surrogate))return decoderError(fatal);if(-1===bite&&null===utf16_lead_byte&&null===utf16_lead_surrogate)return-1;if(null===utf16_lead_byte)return utf16_lead_byte=bite,null;var code_unit;if(code_unit=utf16_be?(utf16_lead_byte<<8)+bite:(bite<<8)+utf16_lead_byte,utf16_lead_byte=null,null!==utf16_lead_surrogate){var lead_surrogate=utf16_lead_surrogate;return utf16_lead_surrogate=null,inRange(code_unit,56320,57343)?65536+1024*(lead_surrogate-55296)+(code_unit-56320):(stream.prepend(convertCodeUnitToBytes(code_unit,utf16_be)),decoderError(fatal))}return inRange(code_unit,55296,56319)?(utf16_lead_surrogate=code_unit,null):inRange(code_unit,56320,57343)?decoderError(fatal):code_unit}}function UTF16Encoder(utf16_be,options){this.handler=function(stream,code_point){if(-1===code_point)return-1;if(inRange(code_point,0,65535))return convertCodeUnitToBytes(code_point,utf16_be);var lead=convertCodeUnitToBytes(55296+(code_point-65536>>10),utf16_be),trail=convertCodeUnitToBytes(56320+(code_point-65536&1023),utf16_be);return lead.concat(trail)}}function XUserDefinedDecoder(options){this.handler=function(stream,bite){return-1===bite?-1:isASCIIByte(bite)?bite:63360+bite-128}}function XUserDefinedEncoder(options){this.handler=function(stream,code_point){return-1===code_point?-1:isASCIICodePoint(code_point)?code_point:inRange(code_point,63360,63487)?code_point-63360+128:encoderError(code_point)}}Object.defineProperty&&(Object.defineProperty(TextDecoder2.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(TextDecoder2.prototype,"fatal",{get:function(){return"fatal"===this._error_mode}}),Object.defineProperty(TextDecoder2.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}})),TextDecoder2.prototype.decode=function(input,options){var bytes;bytes="object"==typeof input&&input instanceof ArrayBuffer?new Uint8Array(input):"object"==typeof input&&"buffer"in input&&input.buffer instanceof ArrayBuffer?new Uint8Array(input.buffer,input.byteOffset,input.byteLength):new Uint8Array(0),options=ToDictionary(options),this._do_not_flush||(this._decoder=decoders[this._encoding.name]({fatal:"fatal"===this._error_mode}),this._BOMseen=!1),this._do_not_flush=!!options.stream;for(var result,input_stream=new Stream(bytes),output=[];;){var token=input_stream.read();if(-1===token||-1===(result=this._decoder.handler(input_stream,token)))break;null!==result&&(Array.isArray(result)?output.push.apply(output,result):output.push(result))}if(!this._do_not_flush){do{if(-1===(result=this._decoder.handler(input_stream,input_stream.read())))break;null!==result&&(Array.isArray(result)?output.push.apply(output,result):output.push(result))}while(!input_stream.endOfStream());this._decoder=null}return function serializeStream(stream){return function includes(array,item){return-1!==array.indexOf(item)}(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(stream.length>0&&65279===stream[0]?(this._BOMseen=!0,stream.shift()):stream.length>0&&(this._BOMseen=!0)),function codePointsToString(code_points){for(var s="",i=0;i>10),56320+(1023&cp)))}return s}(stream)}.call(this,output)},Object.defineProperty&&Object.defineProperty(TextEncoder2.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),TextEncoder2.prototype.encode=function(opt_string,options){opt_string=void 0===opt_string?"":String(opt_string),options=ToDictionary(options),this._do_not_flush||(this._encoder=encoders[this._encoding.name]({fatal:"fatal"===this._fatal})),this._do_not_flush=!!options.stream;for(var result,input=new Stream(function stringToCodePoints(string){for(var s=String(string),n=s.length,i=0,u=[];i57343)u.push(c);else if(56320<=c&&c<=57343)u.push(65533);else if(55296<=c&&c<=56319)if(i===n-1)u.push(65533);else{var d=s.charCodeAt(i+1);56320<=d&&d<=57343?(u.push(65536+((1023&c)<<10)+(1023&d)),i+=1):u.push(65533)}i+=1}return u}(opt_string)),output=[];;){var token=input.read();if(-1===token||-1===(result=this._encoder.handler(input,token)))break;Array.isArray(result)?output.push.apply(output,result):output.push(result)}if(!this._do_not_flush){for(;-1!==(result=this._encoder.handler(input,input.read()));)Array.isArray(result)?output.push.apply(output,result):output.push(result);this._encoder=null}return new Uint8Array(output)},encoders["UTF-8"]=function(options){return new UTF8Encoder(options)},decoders["UTF-8"]=function(options){return new UTF8Decoder(options)},"encoding-indexes"in global2&&encodings.forEach(function(category){"Legacy single-byte encodings"===category.heading&&category.encodings.forEach(function(encoding){var name=encoding.name,idx=index(name.toLowerCase());decoders[name]=function(options){return new SingleByteDecoder(idx,options)},encoders[name]=function(options){return new SingleByteEncoder(idx,options)}})}),decoders.GBK=function(options){return new GB18030Decoder(options)},encoders.GBK=function(options){return new GB18030Encoder(options,!0)},encoders.gb18030=function(options){return new GB18030Encoder(options)},decoders.gb18030=function(options){return new GB18030Decoder(options)},encoders.Big5=function(options){return new Big5Encoder(options)},decoders.Big5=function(options){return new Big5Decoder(options)},encoders["EUC-JP"]=function(options){return new EUCJPEncoder(options)},decoders["EUC-JP"]=function(options){return new EUCJPDecoder(options)},encoders["ISO-2022-JP"]=function(options){return new ISO2022JPEncoder(options)},decoders["ISO-2022-JP"]=function(options){return new ISO2022JPDecoder(options)},encoders.Shift_JIS=function(options){return new ShiftJISEncoder(options)},decoders.Shift_JIS=function(options){return new ShiftJISDecoder(options)},encoders["EUC-KR"]=function(options){return new EUCKREncoder(options)},decoders["EUC-KR"]=function(options){return new EUCKRDecoder(options)},encoders["UTF-16BE"]=function(options){return new UTF16Encoder(!0,options)},decoders["UTF-16BE"]=function(options){return new UTF16Decoder(!0,options)},encoders["UTF-16LE"]=function(options){return new UTF16Encoder(!1,options)},decoders["UTF-16LE"]=function(options){return new UTF16Decoder(!1,options)},encoders["x-user-defined"]=function(options){return new XUserDefinedEncoder(options)},decoders["x-user-defined"]=function(options){return new XUserDefinedDecoder(options)},global2.TextEncoder||(global2.TextEncoder=TextEncoder2),global2.TextDecoder||(global2.TextDecoder=TextDecoder2),module.exports&&(module.exports={TextEncoder:global2.TextEncoder,TextDecoder:global2.TextDecoder,EncodingIndexes:global2["encoding-indexes"]})}(this||{})},4750:module=>{module.exports=function(arg){return arg&&"object"==typeof arg&&"function"==typeof arg.copy&&"function"==typeof arg.fill&&"function"==typeof arg.readUInt8}},6758:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";var isArgumentsObject=__webpack_require__(8147),isGeneratorFunction=__webpack_require__(3286),whichTypedArray=__webpack_require__(6326),isTypedArray=__webpack_require__(2462);function uncurryThis(f){return f.call.bind(f)}var BigIntSupported=typeof BigInt<"u",SymbolSupported=typeof Symbol<"u",ObjectToString=uncurryThis(Object.prototype.toString),numberValue=uncurryThis(Number.prototype.valueOf),stringValue=uncurryThis(String.prototype.valueOf),booleanValue=uncurryThis(Boolean.prototype.valueOf);if(BigIntSupported)var bigIntValue=uncurryThis(BigInt.prototype.valueOf);if(SymbolSupported)var symbolValue=uncurryThis(Symbol.prototype.valueOf);function checkBoxedPrimitive(value,prototypeValueOf){if("object"!=typeof value)return!1;try{return prototypeValueOf(value),!0}catch{return!1}}function isMapToString(value){return"[object Map]"===ObjectToString(value)}function isSetToString(value){return"[object Set]"===ObjectToString(value)}function isWeakMapToString(value){return"[object WeakMap]"===ObjectToString(value)}function isWeakSetToString(value){return"[object WeakSet]"===ObjectToString(value)}function isArrayBufferToString(value){return"[object ArrayBuffer]"===ObjectToString(value)}function isArrayBuffer(value){return!(typeof ArrayBuffer>"u")&&(isArrayBufferToString.working?isArrayBufferToString(value):value instanceof ArrayBuffer)}function isDataViewToString(value){return"[object DataView]"===ObjectToString(value)}function isDataView(value){return!(typeof DataView>"u")&&(isDataViewToString.working?isDataViewToString(value):value instanceof DataView)}exports.isArgumentsObject=isArgumentsObject,exports.isGeneratorFunction=isGeneratorFunction,exports.isTypedArray=isTypedArray,exports.isPromise=function isPromise(input){return typeof Promise<"u"&&input instanceof Promise||null!==input&&"object"==typeof input&&"function"==typeof input.then&&"function"==typeof input.catch},exports.isArrayBufferView=function isArrayBufferView(value){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(value):isTypedArray(value)||isDataView(value)},exports.isUint8Array=function isUint8Array(value){return"Uint8Array"===whichTypedArray(value)},exports.isUint8ClampedArray=function isUint8ClampedArray(value){return"Uint8ClampedArray"===whichTypedArray(value)},exports.isUint16Array=function isUint16Array(value){return"Uint16Array"===whichTypedArray(value)},exports.isUint32Array=function isUint32Array(value){return"Uint32Array"===whichTypedArray(value)},exports.isInt8Array=function isInt8Array(value){return"Int8Array"===whichTypedArray(value)},exports.isInt16Array=function isInt16Array(value){return"Int16Array"===whichTypedArray(value)},exports.isInt32Array=function isInt32Array(value){return"Int32Array"===whichTypedArray(value)},exports.isFloat32Array=function isFloat32Array(value){return"Float32Array"===whichTypedArray(value)},exports.isFloat64Array=function isFloat64Array(value){return"Float64Array"===whichTypedArray(value)},exports.isBigInt64Array=function isBigInt64Array(value){return"BigInt64Array"===whichTypedArray(value)},exports.isBigUint64Array=function isBigUint64Array(value){return"BigUint64Array"===whichTypedArray(value)},isMapToString.working=typeof Map<"u"&&isMapToString(new Map),exports.isMap=function isMap(value){return!(typeof Map>"u")&&(isMapToString.working?isMapToString(value):value instanceof Map)},isSetToString.working=typeof Set<"u"&&isSetToString(new Set),exports.isSet=function isSet(value){return!(typeof Set>"u")&&(isSetToString.working?isSetToString(value):value instanceof Set)},isWeakMapToString.working=typeof WeakMap<"u"&&isWeakMapToString(new WeakMap),exports.isWeakMap=function isWeakMap(value){return!(typeof WeakMap>"u")&&(isWeakMapToString.working?isWeakMapToString(value):value instanceof WeakMap)},isWeakSetToString.working=typeof WeakSet<"u"&&isWeakSetToString(new WeakSet),exports.isWeakSet=function isWeakSet(value){return isWeakSetToString(value)},isArrayBufferToString.working=typeof ArrayBuffer<"u"&&isArrayBufferToString(new ArrayBuffer),exports.isArrayBuffer=isArrayBuffer,isDataViewToString.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&isDataViewToString(new DataView(new ArrayBuffer(1),0,1)),exports.isDataView=isDataView;var SharedArrayBufferCopy=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function isSharedArrayBufferToString(value){return"[object SharedArrayBuffer]"===ObjectToString(value)}function isSharedArrayBuffer(value){return!(typeof SharedArrayBufferCopy>"u")&&(typeof isSharedArrayBufferToString.working>"u"&&(isSharedArrayBufferToString.working=isSharedArrayBufferToString(new SharedArrayBufferCopy)),isSharedArrayBufferToString.working?isSharedArrayBufferToString(value):value instanceof SharedArrayBufferCopy)}function isNumberObject(value){return checkBoxedPrimitive(value,numberValue)}function isStringObject(value){return checkBoxedPrimitive(value,stringValue)}function isBooleanObject(value){return checkBoxedPrimitive(value,booleanValue)}function isBigIntObject(value){return BigIntSupported&&checkBoxedPrimitive(value,bigIntValue)}function isSymbolObject(value){return SymbolSupported&&checkBoxedPrimitive(value,symbolValue)}exports.isSharedArrayBuffer=isSharedArrayBuffer,exports.isAsyncFunction=function isAsyncFunction(value){return"[object AsyncFunction]"===ObjectToString(value)},exports.isMapIterator=function isMapIterator(value){return"[object Map Iterator]"===ObjectToString(value)},exports.isSetIterator=function isSetIterator(value){return"[object Set Iterator]"===ObjectToString(value)},exports.isGeneratorObject=function isGeneratorObject(value){return"[object Generator]"===ObjectToString(value)},exports.isWebAssemblyCompiledModule=function isWebAssemblyCompiledModule(value){return"[object WebAssembly.Module]"===ObjectToString(value)},exports.isNumberObject=isNumberObject,exports.isStringObject=isStringObject,exports.isBooleanObject=isBooleanObject,exports.isBigIntObject=isBigIntObject,exports.isSymbolObject=isSymbolObject,exports.isBoxedPrimitive=function isBoxedPrimitive(value){return isNumberObject(value)||isStringObject(value)||isBooleanObject(value)||isBigIntObject(value)||isSymbolObject(value)},exports.isAnyArrayBuffer=function isAnyArrayBuffer(value){return typeof Uint8Array<"u"&&(isArrayBuffer(value)||isSharedArrayBuffer(value))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(method){Object.defineProperty(exports,method,{enumerable:!1,value:function(){throw new Error(method+" is not supported in userland")}})})},179:(__unused_webpack_module,exports,__webpack_require__)=>{var getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors||function(obj){for(var keys=Object.keys(obj),descriptors={},i=0;i=len)return x2;switch(x2){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch{return"[Circular]"}default:return x2}}),x=args[i];i"u")return function(){return exports.deprecate(fn,msg).apply(this,arguments)};var warned=!1;return function deprecated(){if(!warned){if(process.throwDeprecation)throw new Error(msg);process.traceDeprecation?console.trace(msg):console.error(msg),warned=!0}return fn.apply(this,arguments)}};var debugs={},debugEnvRegex=/^$/;if(process.env.NODE_DEBUG){var debugEnv=process.env.NODE_DEBUG;debugEnv=debugEnv.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),debugEnvRegex=new RegExp("^"+debugEnv+"$","i")}function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(ctx.depth=arguments[2]),arguments.length>=4&&(ctx.colors=arguments[3]),isBoolean(opts)?ctx.showHidden=opts:opts&&exports._extend(ctx,opts),isUndefined(ctx.showHidden)&&(ctx.showHidden=!1),isUndefined(ctx.depth)&&(ctx.depth=2),isUndefined(ctx.colors)&&(ctx.colors=!1),isUndefined(ctx.customInspect)&&(ctx.customInspect=!0),ctx.colors&&(ctx.stylize=stylizeWithColor),formatValue(ctx,obj,ctx.depth)}function stylizeWithColor(str,styleType){var style2=inspect.styles[styleType];return style2?"\x1b["+inspect.colors[style2][0]+"m"+str+"\x1b["+inspect.colors[style2][1]+"m":str}function stylizeNoColor(str,styleType){return str}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&(!value.constructor||value.constructor.prototype!==value)){var ret=value.inspect(recurseTimes,ctx);return isString(ret)||(ret=formatValue(ctx,ret,recurseTimes)),ret}var primitive=function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}return isNumber(value)?ctx.stylize(""+value,"number"):isBoolean(value)?ctx.stylize(""+value,"boolean"):isNull(value)?ctx.stylize("null","null"):void 0}(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}(keys);if(ctx.showHidden&&(keys=Object.getOwnPropertyNames(value)),isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0))return formatError(value);if(0===keys.length){if(isFunction(value))return ctx.stylize("[Function"+(value.name?": "+value.name:"")+"]","special");if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),"regexp");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),"date");if(isError(value))return formatError(value)}var output,base="",array=!1,braces=["{","}"];return isArray(value)&&(array=!0,braces=["[","]"]),isFunction(value)&&(base=" [Function"+(value.name?": "+value.name:"")+"]"),isRegExp(value)&&(base=" "+RegExp.prototype.toString.call(value)),isDate(value)&&(base=" "+Date.prototype.toUTCString.call(value)),isError(value)&&(base=" "+formatError(value)),0!==keys.length||array&&0!=value.length?recurseTimes<0?isRegExp(value)?ctx.stylize(RegExp.prototype.toString.call(value),"regexp"):ctx.stylize("[Object]","special"):(ctx.seen.push(value),output=array?function formatArray(ctx,value,recurseTimes,visibleKeys,keys){for(var output=[],i=0,l=value.length;i60?braces[0]+(""===base?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]:braces[0]+base+" "+output.join(", ")+" "+braces[1]}(output,base,braces)):braces[0]+base+braces[1]}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if((desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]}).get?str=ctx.stylize(desc.set?"[Getter/Setter]":"[Getter]","special"):desc.set&&(str=ctx.stylize("[Setter]","special")),hasOwnProperty(visibleKeys,key)||(name="["+key+"]"),str||(ctx.seen.indexOf(desc.value)<0?(str=isNull(recurseTimes)?formatValue(ctx,desc.value,null):formatValue(ctx,desc.value,recurseTimes-1)).indexOf("\n")>-1&&(str=array?str.split("\n").map(function(line){return" "+line}).join("\n").slice(2):"\n"+str.split("\n").map(function(line){return" "+line}).join("\n")):str=ctx.stylize("[Circular]","special")),isUndefined(name)){if(array&&key.match(/^\d+$/))return str;(name=JSON.stringify(""+key)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(name=name.slice(1,-1),name=ctx.stylize(name,"name")):(name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),name=ctx.stylize(name,"string"))}return name+": "+str}function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return"boolean"==typeof arg}function isNull(arg){return null===arg}function isNumber(arg){return"number"==typeof arg}function isString(arg){return"string"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return isObject(re)&&"[object RegExp]"===objectToString(re)}function isObject(arg){return"object"==typeof arg&&null!==arg}function isDate(d){return isObject(d)&&"[object Date]"===objectToString(d)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(arg){return"function"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}exports.debuglog=function(set){if(set=set.toUpperCase(),!debugs[set])if(debugEnvRegex.test(set)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else debugs[set]=function(){};return debugs[set]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.types=__webpack_require__(6758),exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=function isNullOrUndefined(arg){return null==arg},exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=function isSymbol(arg){return"symbol"==typeof arg},exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.types.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.types.isDate=isDate,exports.isError=isError,exports.types.isNativeError=isError,exports.isFunction=isFunction,exports.isPrimitive=function isPrimitive2(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||typeof arg>"u"},exports.isBuffer=__webpack_require__(4750);var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}exports.log=function(){console.log("%s - %s",function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}(),exports.format.apply(exports,arguments))},exports.inherits=__webpack_require__(6698),exports._extend=function(origin,add){if(!add||!isObject(add))return origin;for(var keys=Object.keys(add),i=keys.length;i--;)origin[keys[i]]=add[keys[i]];return origin};var kCustomPromisifiedSymbol=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function callbackifyOnRejected(reason,cb){if(!reason){var newReason=new Error("Promise was rejected with a falsy value");newReason.reason=reason,reason=newReason}return cb(reason)}exports.promisify=function(original){if("function"!=typeof original)throw new TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn;if("function"!=typeof(fn=original[kCustomPromisifiedSymbol]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0}),fn}function fn(){for(var promiseResolve,promiseReject,promise=new Promise(function(resolve,reject){promiseResolve=resolve,promiseReject=reject}),args=[],i=0;i{"use strict";var forEach=__webpack_require__(3307),availableTypedArrays=__webpack_require__(9067),callBind=__webpack_require__(5436),callBound=__webpack_require__(1098),gOPD=__webpack_require__(9262),$toString=callBound("Object.prototype.toString"),hasToStringTag=__webpack_require__(8041)(),g=typeof globalThis>"u"?global:globalThis,typedArrays=availableTypedArrays(),$slice=callBound("String.prototype.slice"),getPrototypeOf=Object.getPrototypeOf,$indexOf=callBound("Array.prototype.indexOf",!0)||function(array,value){for(var i=0;i-1?tag:"Object"===tag&&function(value){var found=!1;return forEach(cache,function(getter,name){if(!found)try{getter(value),found=$slice(name,1)}catch{}}),found}(value)}return gOPD?function(value){var found=!1;return forEach(cache,function(getter,typedArray){if(!found)try{"$"+getter(value)===typedArray&&(found=$slice(typedArray,1))}catch{}}),found}(value):null}},9067:module=>{"use strict";var possibleNames=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],g=typeof globalThis>"u"?global:globalThis;module.exports=function(){for(var out=[],i=0;i{__webpack_require__(__webpack_require__.s=1774)}]); \ No newline at end of file +(self.webpackChunkide=self.webpackChunkide||[]).push([[179],{1774:(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _01_estrutura_b_sica_namespaceObject={};__webpack_require__.r(_01_estrutura_b_sica_namespaceObject),__webpack_require__.d(_01_estrutura_b_sica_namespaceObject,{checarFun\u00e7\u00e3oIn\u00edcio:()=>checarFun\u00e7\u00e3oIn\u00edcio,checarFun\u00e7\u00f5esComRetorno:()=>checarFun\u00e7\u00f5esComRetorno});var _02_vari_veis_namespaceObject={};function isFunction(value){return"function"==typeof value}function createErrorClass(createImpl){const ctorFunc=createImpl(instance=>{Error.call(instance),instance.stack=(new Error).stack});return ctorFunc.prototype=Object.create(Error.prototype),ctorFunc.prototype.constructor=ctorFunc,ctorFunc}__webpack_require__.r(_02_vari_veis_namespaceObject),__webpack_require__.d(_02_vari_veis_namespaceObject,{checarUsoEscopo:()=>checarUsoEscopo});const UnsubscriptionError=createErrorClass(_super=>function(errors){_super(this),this.message=errors?`${errors.length} errors occurred during unsubscription:\n${errors.map((err,i6)=>`${i6+1}) ${err.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=errors});function arrRemove(arr,item){if(arr){const index=arr.indexOf(item);0<=index&&arr.splice(index,1)}}class Subscription_Subscription{constructor(initialTeardown){this.initialTeardown=initialTeardown,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let errors;if(!this.closed){this.closed=!0;const{_parentage}=this;if(_parentage)if(this._parentage=null,Array.isArray(_parentage))for(const parent of _parentage)parent.remove(this);else _parentage.remove(this);const{initialTeardown:initialFinalizer}=this;if(isFunction(initialFinalizer))try{initialFinalizer()}catch(e2){errors=e2 instanceof UnsubscriptionError?e2.errors:[e2]}const{_finalizers}=this;if(_finalizers){this._finalizers=null;for(const finalizer of _finalizers)try{execFinalizer(finalizer)}catch(err){errors=errors??[],err instanceof UnsubscriptionError?errors=[...errors,...err.errors]:errors.push(err)}}if(errors)throw new UnsubscriptionError(errors)}}add(teardown){var _a;if(teardown&&teardown!==this)if(this.closed)execFinalizer(teardown);else{if(teardown instanceof Subscription_Subscription){if(teardown.closed||teardown._hasParent(this))return;teardown._addParent(this)}(this._finalizers=null!==(_a=this._finalizers)&&void 0!==_a?_a:[]).push(teardown)}}_hasParent(parent){const{_parentage}=this;return _parentage===parent||Array.isArray(_parentage)&&_parentage.includes(parent)}_addParent(parent){const{_parentage}=this;this._parentage=Array.isArray(_parentage)?(_parentage.push(parent),_parentage):_parentage?[_parentage,parent]:parent}_removeParent(parent){const{_parentage}=this;_parentage===parent?this._parentage=null:Array.isArray(_parentage)&&arrRemove(_parentage,parent)}remove(teardown){const{_finalizers}=this;_finalizers&&arrRemove(_finalizers,teardown),teardown instanceof Subscription_Subscription&&teardown._removeParent(this)}}Subscription_Subscription.EMPTY=(()=>{const empty2=new Subscription_Subscription;return empty2.closed=!0,empty2})();const EMPTY_SUBSCRIPTION=Subscription_Subscription.EMPTY;function isSubscription(value){return value instanceof Subscription_Subscription||value&&"closed"in value&&isFunction(value.remove)&&isFunction(value.add)&&isFunction(value.unsubscribe)}function execFinalizer(finalizer){isFunction(finalizer)?finalizer():finalizer.unsubscribe()}const config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},timeoutProvider={setTimeout(handler,timeout,...args){const{delegate}=timeoutProvider;return delegate?.setTimeout?delegate.setTimeout(handler,timeout,...args):setTimeout(handler,timeout,...args)},clearTimeout(handle){const{delegate}=timeoutProvider;return(delegate?.clearTimeout||clearTimeout)(handle)},delegate:void 0};function reportUnhandledError(err){timeoutProvider.setTimeout(()=>{const{onUnhandledError}=config;if(!onUnhandledError)throw err;onUnhandledError(err)})}function noop(){}const COMPLETE_NOTIFICATION=createNotification("C",void 0,void 0);function createNotification(kind,value,error){return{kind,value,error}}let context=null;function errorContext(cb){if(config.useDeprecatedSynchronousErrorHandling){const isRoot=!context;if(isRoot&&(context={errorThrown:!1,error:null}),cb(),isRoot){const{errorThrown,error}=context;if(context=null,errorThrown)throw error}}else cb()}class Subscriber extends Subscription_Subscription{constructor(destination){super(),this.isStopped=!1,destination?(this.destination=destination,isSubscription(destination)&&destination.add(this)):this.destination=EMPTY_OBSERVER}static create(next,error,complete){return new SafeSubscriber(next,error,complete)}next(value){this.isStopped?handleStoppedNotification(function nextNotification(value){return createNotification("N",value,void 0)}(value),this):this._next(value)}error(err){this.isStopped?handleStoppedNotification(function errorNotification(error){return createNotification("E",void 0,error)}(err),this):(this.isStopped=!0,this._error(err))}complete(){this.isStopped?handleStoppedNotification(COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(value){this.destination.next(value)}_error(err){try{this.destination.error(err)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const _bind=Function.prototype.bind;function bind(fn,thisArg){return _bind.call(fn,thisArg)}class ConsumerObserver{constructor(partialObserver){this.partialObserver=partialObserver}next(value){const{partialObserver}=this;if(partialObserver.next)try{partialObserver.next(value)}catch(error){handleUnhandledError(error)}}error(err){const{partialObserver}=this;if(partialObserver.error)try{partialObserver.error(err)}catch(error){handleUnhandledError(error)}else handleUnhandledError(err)}complete(){const{partialObserver}=this;if(partialObserver.complete)try{partialObserver.complete()}catch(error){handleUnhandledError(error)}}}class SafeSubscriber extends Subscriber{constructor(observerOrNext,error,complete){let partialObserver;if(super(),isFunction(observerOrNext)||!observerOrNext)partialObserver={next:observerOrNext??void 0,error:error??void 0,complete:complete??void 0};else{let context2;this&&config.useDeprecatedNextContext?(context2=Object.create(observerOrNext),context2.unsubscribe=()=>this.unsubscribe(),partialObserver={next:observerOrNext.next&&bind(observerOrNext.next,context2),error:observerOrNext.error&&bind(observerOrNext.error,context2),complete:observerOrNext.complete&&bind(observerOrNext.complete,context2)}):partialObserver=observerOrNext}this.destination=new ConsumerObserver(partialObserver)}}function handleUnhandledError(error){config.useDeprecatedSynchronousErrorHandling?function captureError(err){config.useDeprecatedSynchronousErrorHandling&&context&&(context.errorThrown=!0,context.error=err)}(error):reportUnhandledError(error)}function handleStoppedNotification(notification,subscriber){const{onStoppedNotification}=config;onStoppedNotification&&timeoutProvider.setTimeout(()=>onStoppedNotification(notification,subscriber))}const EMPTY_OBSERVER={closed:!0,next:noop,error:function defaultErrorHandler(err){throw err},complete:noop},observable="function"==typeof Symbol&&Symbol.observable||"@@observable";function identity(x){return x}let Observable_Observable=(()=>{class Observable2{constructor(subscribe){subscribe&&(this._subscribe=subscribe)}lift(operator){const observable2=new Observable2;return observable2.source=this,observable2.operator=operator,observable2}subscribe(observerOrNext,error,complete){const subscriber=function isSubscriber(value){return value&&value instanceof Subscriber||function isObserver(value){return value&&isFunction(value.next)&&isFunction(value.error)&&isFunction(value.complete)}(value)&&isSubscription(value)}(observerOrNext)?observerOrNext:new SafeSubscriber(observerOrNext,error,complete);return errorContext(()=>{const{operator,source}=this;subscriber.add(operator?operator.call(subscriber,source):source?this._subscribe(subscriber):this._trySubscribe(subscriber))}),subscriber}_trySubscribe(sink){try{return this._subscribe(sink)}catch(err){sink.error(err)}}forEach(next,promiseCtor){return new(promiseCtor=getPromiseCtor(promiseCtor))((resolve,reject)=>{const subscriber=new SafeSubscriber({next:value=>{try{next(value)}catch(err){reject(err),subscriber.unsubscribe()}},error:reject,complete:resolve});this.subscribe(subscriber)})}_subscribe(subscriber){var _a;return null===(_a=this.source)||void 0===_a?void 0:_a.subscribe(subscriber)}[observable](){return this}pipe(...operations){return function pipeFromArray(fns){return 0===fns.length?identity:1===fns.length?fns[0]:function(input){return fns.reduce((prev,fn)=>fn(prev),input)}}(operations)(this)}toPromise(promiseCtor){return new(promiseCtor=getPromiseCtor(promiseCtor))((resolve,reject)=>{let value;this.subscribe(x=>value=x,err=>reject(err),()=>resolve(value))})}}return Observable2.create=subscribe=>new Observable2(subscribe),Observable2})();function getPromiseCtor(promiseCtor){var _a;return null!==(_a=promiseCtor??config.Promise)&&void 0!==_a?_a:Promise}const ObjectUnsubscribedError=createErrorClass(_super=>function(){_super(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Subject_Subject=(()=>{class Subject2 extends Observable_Observable{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(operator){const subject=new AnonymousSubject(this,this);return subject.operator=operator,subject}_throwIfClosed(){if(this.closed)throw new ObjectUnsubscribedError}next(value){errorContext(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const observer of this.currentObservers)observer.next(value)}})}error(err){errorContext(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=err;const{observers}=this;for(;observers.length;)observers.shift().error(err)}})}complete(){errorContext(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers}=this;for(;observers.length;)observers.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var _a;return(null===(_a=this.observers)||void 0===_a?void 0:_a.length)>0}_trySubscribe(subscriber){return this._throwIfClosed(),super._trySubscribe(subscriber)}_subscribe(subscriber){return this._throwIfClosed(),this._checkFinalizedStatuses(subscriber),this._innerSubscribe(subscriber)}_innerSubscribe(subscriber){const{hasError,isStopped,observers}=this;return hasError||isStopped?EMPTY_SUBSCRIPTION:(this.currentObservers=null,observers.push(subscriber),new Subscription_Subscription(()=>{this.currentObservers=null,arrRemove(observers,subscriber)}))}_checkFinalizedStatuses(subscriber){const{hasError,thrownError,isStopped}=this;hasError?subscriber.error(thrownError):isStopped&&subscriber.complete()}asObservable(){const observable2=new Observable_Observable;return observable2.source=this,observable2}}return Subject2.create=(destination,source)=>new AnonymousSubject(destination,source),Subject2})();class AnonymousSubject extends Subject_Subject{constructor(destination,source){super(),this.destination=destination,this.source=source}next(value){var _a,_b;null===(_b=null===(_a=this.destination)||void 0===_a?void 0:_a.next)||void 0===_b||_b.call(_a,value)}error(err){var _a,_b;null===(_b=null===(_a=this.destination)||void 0===_a?void 0:_a.error)||void 0===_b||_b.call(_a,err)}complete(){var _a,_b;null===(_b=null===(_a=this.destination)||void 0===_a?void 0:_a.complete)||void 0===_b||_b.call(_a)}_subscribe(subscriber){var _a,_b;return null!==(_b=null===(_a=this.source)||void 0===_a?void 0:_a.subscribe(subscriber))&&void 0!==_b?_b:EMPTY_SUBSCRIPTION}}class BehaviorSubject_BehaviorSubject extends Subject_Subject{constructor(_value){super(),this._value=_value}get value(){return this.getValue()}_subscribe(subscriber){const subscription=super._subscribe(subscriber);return!subscription.closed&&subscriber.next(this._value),subscription}getValue(){const{hasError,thrownError,_value}=this;if(hasError)throw thrownError;return this._throwIfClosed(),_value}next(value){super.next(this._value=value)}}function hasLift(source){return isFunction(source?.lift)}function operate(init2){return source=>{if(hasLift(source))return source.lift(function(liftedSource){try{return init2(liftedSource,this)}catch(err){this.error(err)}});throw new TypeError("Unable to lift unknown Observable type")}}function createOperatorSubscriber(destination,onNext,onComplete,onError,onFinalize){return new OperatorSubscriber(destination,onNext,onComplete,onError,onFinalize)}class OperatorSubscriber extends Subscriber{constructor(destination,onNext,onComplete,onError,onFinalize,shouldUnsubscribe){super(destination),this.onFinalize=onFinalize,this.shouldUnsubscribe=shouldUnsubscribe,this._next=onNext?function(value){try{onNext(value)}catch(err){destination.error(err)}}:super._next,this._error=onError?function(err){try{onError(err)}catch(err2){destination.error(err2)}finally{this.unsubscribe()}}:super._error,this._complete=onComplete?function(){try{onComplete()}catch(err){destination.error(err)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var _a;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed}=this;super.unsubscribe(),!closed&&(null===(_a=this.onFinalize)||void 0===_a||_a.call(this))}}}function map_map(project,thisArg){return operate((source,subscriber)=>{let index=0;source.subscribe(createOperatorSubscriber(subscriber,value=>{subscriber.next(project.call(thisArg,value,index++))}))})}function tslib_es6_rest(s,e2){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e2.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i6=0;for(p=Object.getOwnPropertySymbols(s);i6=o.length&&(o=void 0),{value:o&&o[i6++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}(o),i6={},verb("next"),verb("throw"),verb("return"),i6[Symbol.asyncIterator]=function(){return this},i6);function verb(n){i6[n]=o[n]&&function(v){return new Promise(function(resolve,reject){!function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v2){resolve({value:v2,done:d})},reject)}(resolve,reject,(v=o[n](v)).done,v.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const isArrayLike=x=>x&&"number"==typeof x.length&&"function"!=typeof x;function isPromise(value){return isFunction(value?.then)}function isInteropObservable(input){return isFunction(input[observable])}function isAsyncIterable(obj){return Symbol.asyncIterator&&isFunction(obj?.[Symbol.asyncIterator])}function createInvalidObservableTypeError(input){return new TypeError(`You provided ${null!==input&&"object"==typeof input?"an invalid object":`'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const iterator_iterator=function getSymbolIterator(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function isIterable(input){return isFunction(input?.[iterator_iterator])}function readableStreamLikeToAsyncGenerator(readableStream){return function __asyncGenerator(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i6,g=generator.apply(thisArg,_arguments||[]),q=[];return i6={},verb("next"),verb("throw"),verb("return"),i6[Symbol.asyncIterator]=function(){return this},i6;function verb(n){g[n]&&(i6[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})})}function resume(n,v){try{!function step(r2){r2.value instanceof __await?Promise.resolve(r2.value.v).then(fulfill,reject):settle(q[0][2],r2)}(g[n](v))}catch(e2){settle(q[0][3],e2)}}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){f(v),q.shift(),q.length&&resume(q[0][0],q[0][1])}}(this,arguments,function*(){const reader=readableStream.getReader();try{for(;;){const{value,done}=yield __await(reader.read());if(done)return yield __await(void 0);yield yield __await(value)}}finally{reader.releaseLock()}})}function isReadableStreamLike(obj){return isFunction(obj?.getReader)}function innerFrom(input){if(input instanceof Observable_Observable)return input;if(null!=input){if(isInteropObservable(input))return function fromInteropObservable(obj){return new Observable_Observable(subscriber=>{const obs=obj[observable]();if(isFunction(obs.subscribe))return obs.subscribe(subscriber);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(input);if(isArrayLike(input))return function fromArrayLike(array){return new Observable_Observable(subscriber=>{for(let i6=0;i6{promise.then(value=>{subscriber.closed||(subscriber.next(value),subscriber.complete())},err=>subscriber.error(err)).then(null,reportUnhandledError)})}(input);if(isAsyncIterable(input))return fromAsyncIterable(input);if(isIterable(input))return function fromIterable(iterable){return new Observable_Observable(subscriber=>{for(const value of iterable)if(subscriber.next(value),subscriber.closed)return;subscriber.complete()})}(input);if(isReadableStreamLike(input))return function fromReadableStreamLike(readableStream){return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream))}(input)}throw createInvalidObservableTypeError(input)}function fromAsyncIterable(asyncIterable){return new Observable_Observable(subscriber=>{(function innerFrom_process(asyncIterable,subscriber){var asyncIterable_1,asyncIterable_1_1,e_1,_a;return function __awaiter(thisArg,_arguments,P2,generator){return new(P2||(P2=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e2){reject(e2)}}function rejected(value){try{step(generator.throw(value))}catch(e2){reject(e2)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P2?value:new P2(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}(this,void 0,void 0,function*(){try{for(asyncIterable_1=__asyncValues(asyncIterable);!(asyncIterable_1_1=yield asyncIterable_1.next()).done;)if(subscriber.next(asyncIterable_1_1.value),subscriber.closed)return}catch(e_1_1){e_1={error:e_1_1}}finally{try{asyncIterable_1_1&&!asyncIterable_1_1.done&&(_a=asyncIterable_1.return)&&(yield _a.call(asyncIterable_1))}finally{if(e_1)throw e_1.error}}subscriber.complete()})})(asyncIterable,subscriber).catch(err=>subscriber.error(err))})}function executeSchedule(parentSubscription,scheduler,work,delay=0,repeat2=!1){const scheduleSubscription=scheduler.schedule(function(){work(),repeat2?parentSubscription.add(this.schedule(null,delay)):this.unsubscribe()},delay);if(parentSubscription.add(scheduleSubscription),!repeat2)return scheduleSubscription}function mergeMap_mergeMap(project,resultSelector,concurrent=1/0){return isFunction(resultSelector)?mergeMap_mergeMap((a,i6)=>map_map((b,ii)=>resultSelector(a,b,i6,ii))(innerFrom(project(a,i6))),concurrent):("number"==typeof resultSelector&&(concurrent=resultSelector),operate((source,subscriber)=>function mergeInternals(source,subscriber,project,concurrent,onBeforeNext,expand,innerSubScheduler,additionalFinalizer){const buffer=[];let active=0,index=0,isComplete=!1;const checkComplete=()=>{isComplete&&!buffer.length&&!active&&subscriber.complete()},outerNext=value=>active{expand&&subscriber.next(value),active++;let innerComplete=!1;innerFrom(project(value,index++)).subscribe(createOperatorSubscriber(subscriber,innerValue=>{onBeforeNext?.(innerValue),expand?outerNext(innerValue):subscriber.next(innerValue)},()=>{innerComplete=!0},void 0,()=>{if(innerComplete)try{for(active--;buffer.length&&activedoInnerSub(bufferedValue)):doInnerSub(bufferedValue)}checkComplete()}catch(err){subscriber.error(err)}}))};return source.subscribe(createOperatorSubscriber(subscriber,outerNext,()=>{isComplete=!0,checkComplete()})),()=>{additionalFinalizer?.()}}(source,subscriber,project,concurrent)))}function mergeAll_mergeAll(concurrent=1/0){return mergeMap_mergeMap(identity,concurrent)}const EMPTY=new Observable_Observable(subscriber=>subscriber.complete());function isScheduler(value){return value&&isFunction(value.schedule)}function last(arr){return arr[arr.length-1]}function popResultSelector(args){return isFunction(last(args))?args.pop():void 0}function popScheduler(args){return isScheduler(last(args))?args.pop():void 0}function observeOn_observeOn(scheduler,delay=0){return operate((source,subscriber)=>{source.subscribe(createOperatorSubscriber(subscriber,value=>executeSchedule(subscriber,scheduler,()=>subscriber.next(value),delay),()=>executeSchedule(subscriber,scheduler,()=>subscriber.complete(),delay),err=>executeSchedule(subscriber,scheduler,()=>subscriber.error(err),delay)))})}function subscribeOn(scheduler,delay=0){return operate((source,subscriber)=>{subscriber.add(scheduler.schedule(()=>source.subscribe(subscriber),delay))})}function scheduleAsyncIterable(input,scheduler){if(!input)throw new Error("Iterable cannot be null");return new Observable_Observable(subscriber=>{executeSchedule(subscriber,scheduler,()=>{const iterator=input[Symbol.asyncIterator]();executeSchedule(subscriber,scheduler,()=>{iterator.next().then(result=>{result.done?subscriber.complete():subscriber.next(result.value)})},0,!0)})})}function from_from(input,scheduler){return scheduler?function scheduled(input,scheduler){if(null!=input){if(isInteropObservable(input))return function scheduleObservable(input,scheduler){return innerFrom(input).pipe(subscribeOn(scheduler),observeOn_observeOn(scheduler))}(input,scheduler);if(isArrayLike(input))return function scheduleArray(input,scheduler){return new Observable_Observable(subscriber=>{let i6=0;return scheduler.schedule(function(){i6===input.length?subscriber.complete():(subscriber.next(input[i6++]),subscriber.closed||this.schedule())})})}(input,scheduler);if(isPromise(input))return function schedulePromise(input,scheduler){return innerFrom(input).pipe(subscribeOn(scheduler),observeOn_observeOn(scheduler))}(input,scheduler);if(isAsyncIterable(input))return scheduleAsyncIterable(input,scheduler);if(isIterable(input))return function scheduleIterable(input,scheduler){return new Observable_Observable(subscriber=>{let iterator;return executeSchedule(subscriber,scheduler,()=>{iterator=input[iterator_iterator](),executeSchedule(subscriber,scheduler,()=>{let value,done;try{({value,done}=iterator.next())}catch(err){return void subscriber.error(err)}done?subscriber.complete():subscriber.next(value)},0,!0)}),()=>isFunction(iterator?.return)&&iterator.return()})}(input,scheduler);if(isReadableStreamLike(input))return function scheduleReadableStreamLike(input,scheduler){return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input),scheduler)}(input,scheduler)}throw createInvalidObservableTypeError(input)}(input,scheduler):innerFrom(input)}function merge_merge(...args){const scheduler=popScheduler(args),concurrent=function popNumber(args,defaultValue){return"number"==typeof last(args)?args.pop():defaultValue}(args,1/0),sources=args;return sources.length?1===sources.length?innerFrom(sources[0]):mergeAll_mergeAll(concurrent)(from_from(sources,scheduler)):EMPTY}function of_of(...args){return from_from(args,popScheduler(args))}function share(options={}){const{connector=()=>new Subject_Subject,resetOnError=!0,resetOnComplete=!0,resetOnRefCountZero=!0}=options;return wrapperSource=>{let connection,resetConnection,subject,refCount2=0,hasCompleted=!1,hasErrored=!1;const cancelReset=()=>{resetConnection?.unsubscribe(),resetConnection=void 0},reset=()=>{cancelReset(),connection=subject=void 0,hasCompleted=hasErrored=!1},resetAndUnsubscribe=()=>{const conn=connection;reset(),conn?.unsubscribe()};return operate((source,subscriber)=>{refCount2++,!hasErrored&&!hasCompleted&&cancelReset();const dest=subject=subject??connector();subscriber.add(()=>{refCount2--,0===refCount2&&!hasErrored&&!hasCompleted&&(resetConnection=handleReset(resetAndUnsubscribe,resetOnRefCountZero))}),dest.subscribe(subscriber),!connection&&refCount2>0&&(connection=new SafeSubscriber({next:value=>dest.next(value),error:err=>{hasErrored=!0,cancelReset(),resetConnection=handleReset(reset,resetOnError,err),dest.error(err)},complete:()=>{hasCompleted=!0,cancelReset(),resetConnection=handleReset(reset,resetOnComplete),dest.complete()}}),innerFrom(source).subscribe(connection))})(wrapperSource)}}function handleReset(reset,on2,...args){if(!0===on2)return void reset();if(!1===on2)return;const onSubscriber=new SafeSubscriber({next:()=>{onSubscriber.unsubscribe(),reset()}});return innerFrom(on2(...args)).subscribe(onSubscriber)}function switchMap_switchMap(project,resultSelector){return operate((source,subscriber)=>{let innerSubscriber=null,index=0,isComplete=!1;const checkComplete=()=>isComplete&&!innerSubscriber&&subscriber.complete();source.subscribe(createOperatorSubscriber(subscriber,value=>{innerSubscriber?.unsubscribe();let innerIndex=0;const outerIndex=index++;innerFrom(project(value,outerIndex)).subscribe(innerSubscriber=createOperatorSubscriber(subscriber,innerValue=>subscriber.next(resultSelector?resultSelector(value,innerValue,outerIndex,innerIndex++):innerValue),()=>{innerSubscriber=null,checkComplete()}))},()=>{isComplete=!0,checkComplete()}))})}function distinctUntilChanged_distinctUntilChanged(comparator,keySelector=identity){return comparator=comparator??defaultCompare,operate((source,subscriber)=>{let previousKey,first2=!0;source.subscribe(createOperatorSubscriber(subscriber,value=>{const currentKey=keySelector(value);(first2||!comparator(previousKey,currentKey))&&(first2=!1,previousKey=currentKey,subscriber.next(value))}))})}function defaultCompare(a,b){return a===b}function getClosureSafeProperty(objWithPropertyToExtract){for(let key in objWithPropertyToExtract)if(objWithPropertyToExtract[key]===getClosureSafeProperty)return key;throw Error("Could not find renamed property on target object.")}function fillProperties(target,source){for(const key in source)source.hasOwnProperty(key)&&!target.hasOwnProperty(key)&&(target[key]=source[key])}function stringify(token){if("string"==typeof token)return token;if(Array.isArray(token))return"["+token.map(stringify).join(", ")+"]";if(null==token)return""+token;if(token.overriddenName)return`${token.overriddenName}`;if(token.name)return`${token.name}`;const res=token.toString();if(null==res)return""+res;const newLineIndex=res.indexOf("\n");return-1===newLineIndex?res:res.substring(0,newLineIndex)}function concatStringsWithSpace(before,after){return null==before||""===before?null===after?"":after:null==after||""===after?before:before+" "+after}const __forward_ref__=getClosureSafeProperty({__forward_ref__:getClosureSafeProperty});function core_forwardRef(forwardRefFn){return forwardRefFn.__forward_ref__=core_forwardRef,forwardRefFn.toString=function(){return stringify(this())},forwardRefFn}function resolveForwardRef(type){return isForwardRef(type)?type():type}function isForwardRef(fn){return"function"==typeof fn&&fn.hasOwnProperty(__forward_ref__)&&fn.__forward_ref__===core_forwardRef}function isEnvironmentProviders(value){return value&&!!value.\u0275providers}const XSS_SECURITY_URL="https://g.co/ng/security#xss";class RuntimeError extends Error{constructor(code,message){super(function formatRuntimeError(code,message){return`NG0${Math.abs(code)}${message?": "+message:""}`}(code,message)),this.code=code}}function renderStringify(value){return"string"==typeof value?value:null==value?"":String(value)}function throwProviderNotFoundError(token,injectorName){throw new RuntimeError(-201,!1)}function assertDefined(actual,msg){null==actual&&function throwError(msg,actual,expected,comparison){throw new Error(`ASSERTION ERROR: ${msg}`+(null==comparison?"":` [Expected=> ${expected} ${comparison} ${actual} <=Actual]`))}(msg,actual,null,"!=")}function core_defineInjectable(opts){return{token:opts.token,providedIn:opts.providedIn||null,factory:opts.factory,value:void 0}}function \u0275\u0275defineInjector(options){return{providers:options.providers||[],imports:options.imports||[]}}function getInjectableDef(type){return getOwnDefinition(type,NG_PROV_DEF)||getOwnDefinition(type,NG_INJECTABLE_DEF)}function getOwnDefinition(type,field){return type.hasOwnProperty(field)?type[field]:null}function getInjectorDef(type){return type&&(type.hasOwnProperty(NG_INJ_DEF)||type.hasOwnProperty(NG_INJECTOR_DEF))?type[NG_INJ_DEF]:null}const NG_PROV_DEF=getClosureSafeProperty({\u0275prov:getClosureSafeProperty}),NG_INJ_DEF=getClosureSafeProperty({\u0275inj:getClosureSafeProperty}),NG_INJECTABLE_DEF=getClosureSafeProperty({ngInjectableDef:getClosureSafeProperty}),NG_INJECTOR_DEF=getClosureSafeProperty({ngInjectorDef:getClosureSafeProperty});var core_InjectFlags=function(InjectFlags2){return InjectFlags2[InjectFlags2.Default=0]="Default",InjectFlags2[InjectFlags2.Host=1]="Host",InjectFlags2[InjectFlags2.Self=2]="Self",InjectFlags2[InjectFlags2.SkipSelf=4]="SkipSelf",InjectFlags2[InjectFlags2.Optional=8]="Optional",InjectFlags2}(core_InjectFlags||{});let _injectImplementation;function setInjectImplementation(impl){const previous=_injectImplementation;return _injectImplementation=impl,previous}function injectRootLimpMode(token,notFoundValue,flags){const injectableDef=getInjectableDef(token);return injectableDef&&"root"==injectableDef.providedIn?void 0===injectableDef.value?injectableDef.value=injectableDef.factory():injectableDef.value:flags&core_InjectFlags.Optional?null:void 0!==notFoundValue?notFoundValue:void throwProviderNotFoundError(stringify(token))}const _global=globalThis,THROW_IF_NOT_FOUND={},DI_DECORATOR_FLAG="__NG_DI_FLAG__",NEW_LINE=/\n/gm;let _currentInjector;function setCurrentInjector(injector){const former=_currentInjector;return _currentInjector=injector,former}function injectInjectorOnly(token,flags=core_InjectFlags.Default){if(void 0===_currentInjector)throw new RuntimeError(-203,!1);return null===_currentInjector?injectRootLimpMode(token,void 0,flags):_currentInjector.get(token,flags&core_InjectFlags.Optional?null:void 0,flags)}function core_inject(token,flags=core_InjectFlags.Default){return(function getInjectImplementation(){return _injectImplementation}()||injectInjectorOnly)(resolveForwardRef(token),flags)}function fesm2022_core_inject(token,flags=core_InjectFlags.Default){return core_inject(token,convertToBitFlags(flags))}function convertToBitFlags(flags){return typeof flags>"u"||"number"==typeof flags?flags:0|(flags.optional&&8)|(flags.host&&1)|(flags.self&&2)|(flags.skipSelf&&4)}function injectArgs(types){const args=[];for(let i6=0;i6marker){markerInsertPosition=i6-1;break}}}for(;i6nameOnlyMarkerIdx?"":nodeAttrs[attrIndexInNode+1].toLowerCase();const compareAgainstClassName=8&mode?nodeAttrValue:null;if(compareAgainstClassName&&-1!==classIndexOf(compareAgainstClassName,selectorAttrValue,0)||2&mode&&selectorAttrValue!==nodeAttrValue){if(isPositive(mode))return!1;skipToNextSelector=!0}}}}else{if(!skipToNextSelector&&!isPositive(mode)&&!isPositive(current))return!1;if(skipToNextSelector&&isPositive(current))continue;skipToNextSelector=!1,mode=current|1&mode}}return isPositive(mode)||skipToNextSelector}function isPositive(mode){return 0==(1&mode)}function findAttrIndexInNode(name,attrs,isInlineTemplate2,isProjectionMode){if(null===attrs)return-1;let i6=0;if(isProjectionMode||!isInlineTemplate2){let bindingsMode=!1;for(;i6-1)for(i6++;i60?'="'+attrValue+'"':"")+"]"}else 8&mode?currentChunk+="."+valueOrMarker:4&mode&&(currentChunk+=" "+valueOrMarker);else""!==currentChunk&&!isPositive(valueOrMarker)&&(result+=maybeWrapInNotSelector(isNegativeMode,currentChunk),currentChunk=""),mode=valueOrMarker,isNegativeMode=isNegativeMode||!isPositive(mode);i6++}return""!==currentChunk&&(result+=maybeWrapInNotSelector(isNegativeMode,currentChunk)),result}function \u0275\u0275defineComponent(componentDefinition){return noSideEffects(()=>{const baseDef=getNgDirectiveDef(componentDefinition),def={...baseDef,decls:componentDefinition.decls,vars:componentDefinition.vars,template:componentDefinition.template,consts:componentDefinition.consts||null,ngContentSelectors:componentDefinition.ngContentSelectors,onPush:componentDefinition.changeDetection===ChangeDetectionStrategy.OnPush,directiveDefs:null,pipeDefs:null,dependencies:baseDef.standalone&&componentDefinition.dependencies||null,getStandaloneInjector:null,signals:componentDefinition.signals??!1,data:componentDefinition.data||{},encapsulation:componentDefinition.encapsulation||ViewEncapsulation$1.Emulated,styles:componentDefinition.styles||EMPTY_ARRAY,_:null,schemas:componentDefinition.schemas||null,tView:null,id:""};initFeatures(def);const dependencies=componentDefinition.dependencies;return def.directiveDefs=extractDefListOrFactory(dependencies,!1),def.pipeDefs=extractDefListOrFactory(dependencies,!0),def.id=function getComponentId(componentDef){let hash=0;const hashSelectors=[componentDef.selectors,componentDef.ngContentSelectors,componentDef.hostVars,componentDef.hostAttrs,componentDef.consts,componentDef.vars,componentDef.decls,componentDef.encapsulation,componentDef.standalone,componentDef.signals,componentDef.exportAs,JSON.stringify(componentDef.inputs),JSON.stringify(componentDef.outputs),Object.getOwnPropertyNames(componentDef.type.prototype),!!componentDef.contentQueries,!!componentDef.viewQuery].join("|");for(const char of hashSelectors)hash=Math.imul(31,hash)+char.charCodeAt(0)<<0;return hash+=2147483648,"c"+hash}(def),def})}function extractDirectiveDef(type){return getComponentDef(type)||getDirectiveDef(type)}function nonNull(value){return null!==value}function \u0275\u0275defineNgModule(def){return noSideEffects(()=>({type:def.type,bootstrap:def.bootstrap||EMPTY_ARRAY,declarations:def.declarations||EMPTY_ARRAY,imports:def.imports||EMPTY_ARRAY,exports:def.exports||EMPTY_ARRAY,transitiveCompileScopes:null,schemas:def.schemas||null,id:def.id||null}))}function invertObject(obj,secondary){if(null==obj)return EMPTY_OBJ;const newLookup={};for(const minifiedKey in obj)if(obj.hasOwnProperty(minifiedKey)){let publicName=obj[minifiedKey],declaredName=publicName;Array.isArray(publicName)&&(declaredName=publicName[1],publicName=publicName[0]),newLookup[publicName]=minifiedKey,secondary&&(secondary[publicName]=declaredName)}return newLookup}function \u0275\u0275defineDirective(directiveDefinition){return noSideEffects(()=>{const def=getNgDirectiveDef(directiveDefinition);return initFeatures(def),def})}function \u0275\u0275definePipe(pipeDef){return{type:pipeDef.type,name:pipeDef.name,factory:null,pure:!1!==pipeDef.pure,standalone:!0===pipeDef.standalone,onDestroy:pipeDef.type.prototype.ngOnDestroy||null}}function getComponentDef(type){return type[NG_COMP_DEF]||null}function getDirectiveDef(type){return type[NG_DIR_DEF]||null}function getPipeDef$1(type){return type[NG_PIPE_DEF]||null}function getNgDirectiveDef(directiveDefinition){const declaredInputs={};return{type:directiveDefinition.type,providersResolver:null,factory:null,hostBindings:directiveDefinition.hostBindings||null,hostVars:directiveDefinition.hostVars||0,hostAttrs:directiveDefinition.hostAttrs||null,contentQueries:directiveDefinition.contentQueries||null,declaredInputs,inputTransforms:null,inputConfig:directiveDefinition.inputs||EMPTY_OBJ,exportAs:directiveDefinition.exportAs||null,standalone:!0===directiveDefinition.standalone,signals:!0===directiveDefinition.signals,selectors:directiveDefinition.selectors||EMPTY_ARRAY,viewQuery:directiveDefinition.viewQuery||null,features:directiveDefinition.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:invertObject(directiveDefinition.inputs,declaredInputs),outputs:invertObject(directiveDefinition.outputs)}}function initFeatures(definition){definition.features?.forEach(fn=>fn(definition))}function extractDefListOrFactory(dependencies,pipeDef){if(!dependencies)return null;const defExtractor=pipeDef?getPipeDef$1:extractDirectiveDef;return()=>("function"==typeof dependencies?dependencies():dependencies).map(dep=>defExtractor(dep)).filter(nonNull)}const HOST=0,TVIEW=1,FLAGS=2,PARENT=3,NEXT=4,DESCENDANT_VIEWS_TO_REFRESH=5,T_HOST=6,CLEANUP=7,CONTEXT=8,INJECTOR$1=9,ENVIRONMENT=10,RENDERER=11,CHILD_HEAD=12,CHILD_TAIL=13,DECLARATION_VIEW=14,DECLARATION_COMPONENT_VIEW=15,DECLARATION_LCONTAINER=16,PREORDER_HOOK_FLAGS=17,QUERIES=18,ID=19,EMBEDDED_VIEW_INJECTOR=20,ON_DESTROY_HOOKS=21,HYDRATION=22,REACTIVE_TEMPLATE_CONSUMER=23,REACTIVE_HOST_BINDING_CONSUMER=24,HEADER_OFFSET=25,TYPE=1,HAS_TRANSPLANTED_VIEWS=2,NATIVE=7,MOVED_VIEWS=9,CONTAINER_HEADER_OFFSET=11;function isLView(value){return Array.isArray(value)&&"object"==typeof value[TYPE]}function isLContainer(value){return Array.isArray(value)&&!0===value[TYPE]}function isContentQueryHost(tNode){return 0!=(4&tNode.flags)}function isComponentHost(tNode){return tNode.componentOffset>-1}function isDirectiveHost(tNode){return 1==(1&tNode.flags)}function isComponentDef(def){return!!def.template}function getFactoryDef(type,throwNotFound){return type.hasOwnProperty(NG_FACTORY_DEF)?type[NG_FACTORY_DEF]:null}let WeakRefImpl=_global.WeakRef??class LeakyRef{constructor(ref2){this.ref=ref2}deref(){return this.ref}},_nextReactiveId=0,activeConsumer=null,inNotificationPhase=!1;function setActiveConsumer(consumer){const prev=activeConsumer;return activeConsumer=consumer,prev}class ReactiveNode{constructor(){this.id=_nextReactiveId++,this.ref=function newWeakRef(value){return new WeakRefImpl(value)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[producerId,edge]of this.producers){const producer=edge.producerNode.deref();if(null!=producer&&edge.atTrackingVersion===this.trackingVersion){if(producer.producerPollStatus(edge.seenValueVersion))return!0}else this.producers.delete(producerId),producer?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const prev=inNotificationPhase;inNotificationPhase=!0;try{for(const[consumerId,edge]of this.consumers){const consumer=edge.consumerNode.deref();null!=consumer&&consumer.trackingVersion===edge.atTrackingVersion?consumer.onConsumerDependencyMayHaveChanged():(this.consumers.delete(consumerId),consumer?.producers.delete(this.id))}}finally{inNotificationPhase=prev}}producerAccessed(){if(inNotificationPhase)throw new Error("");if(null===activeConsumer)return;let edge=activeConsumer.producers.get(this.id);void 0===edge?(edge={consumerNode:activeConsumer.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:activeConsumer.trackingVersion},activeConsumer.producers.set(this.id,edge),this.consumers.set(activeConsumer.id,edge)):(edge.seenValueVersion=this.valueVersion,edge.atTrackingVersion=activeConsumer.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==activeConsumer?.consumerAllowSignalWrites}producerPollStatus(lastSeenValueVersion){return this.valueVersion!==lastSeenValueVersion||(this.onProducerUpdateValueVersion(),this.valueVersion!==lastSeenValueVersion)}}let throwInvalidWriteToSignalErrorFn=null;const NOOP_CLEANUP_FN=()=>{};class Watch extends ReactiveNode{constructor(watch,schedule,allowSignalWrites){super(),this.watch=watch,this.schedule=schedule,this.dirty=!1,this.cleanupFn=NOOP_CLEANUP_FN,this.registerOnCleanup=cleanupFn=>{this.cleanupFn=cleanupFn},this.consumerAllowSignalWrites=allowSignalWrites}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const prevConsumer=setActiveConsumer(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=NOOP_CLEANUP_FN,this.watch(this.registerOnCleanup)}finally{setActiveConsumer(prevConsumer)}}cleanup(){this.cleanupFn()}}class SimpleChange{constructor(previousValue,currentValue,firstChange){this.previousValue=previousValue,this.currentValue=currentValue,this.firstChange=firstChange}isFirstChange(){return this.firstChange}}function \u0275\u0275NgOnChangesFeature(){return NgOnChangesFeatureImpl}function NgOnChangesFeatureImpl(definition){return definition.type.prototype.ngOnChanges&&(definition.setInput=ngOnChangesSetInput),rememberChangeHistoryAndInvokeOnChangesHook}function rememberChangeHistoryAndInvokeOnChangesHook(){const simpleChangesStore=getSimpleChangesStore(this),current=simpleChangesStore?.current;if(current){const previous=simpleChangesStore.previous;if(previous===EMPTY_OBJ)simpleChangesStore.previous=current;else for(let key in current)previous[key]=current[key];simpleChangesStore.current=null,this.ngOnChanges(current)}}function ngOnChangesSetInput(instance,value,publicName,privateName){const declaredName=this.declaredInputs[publicName],simpleChangesStore=getSimpleChangesStore(instance)||function setSimpleChangesStore(instance,store2){return instance[SIMPLE_CHANGES_STORE]=store2}(instance,{previous:EMPTY_OBJ,current:null}),current=simpleChangesStore.current||(simpleChangesStore.current={}),previous=simpleChangesStore.previous,previousChange=previous[declaredName];current[declaredName]=new SimpleChange(previousChange&&previousChange.currentValue,value,previous===EMPTY_OBJ),instance[privateName]=value}\u0275\u0275NgOnChangesFeature.ngInherit=!0;const SIMPLE_CHANGES_STORE="__ngSimpleChanges__";function getSimpleChangesStore(instance){return instance[SIMPLE_CHANGES_STORE]||null}const profiler=function(event,instance,hookOrListener){},SVG_NAMESPACE="svg";function unwrapRNode(value){for(;Array.isArray(value);)value=value[HOST];return value}function getNativeByIndex(index,lView){return unwrapRNode(lView[index])}function getNativeByTNode(tNode,lView){return unwrapRNode(lView[tNode.index])}function getTNode(tView,index){return tView.data[index]}function load(view,index){return view[index]}function getComponentLViewByIndex(nodeIndex,hostView){const slotValue=hostView[nodeIndex];return isLView(slotValue)?slotValue:slotValue[HOST]}function getConstant(consts,index){return null==index?null:consts[index]}function resetPreOrderHookFlags(lView){lView[PREORDER_HOOK_FLAGS]=0}function markViewForRefresh(lView){1024&lView[FLAGS]||(lView[FLAGS]|=1024,updateViewsToRefresh(lView,1))}function clearViewRefreshFlag(lView){1024&lView[FLAGS]&&(lView[FLAGS]&=-1025,updateViewsToRefresh(lView,-1))}function updateViewsToRefresh(lView,amount){let parent=lView[PARENT];if(null===parent)return;parent[DESCENDANT_VIEWS_TO_REFRESH]+=amount;let viewOrContainer=parent;for(parent=parent[PARENT];null!==parent&&(1===amount&&1===viewOrContainer[DESCENDANT_VIEWS_TO_REFRESH]||-1===amount&&0===viewOrContainer[DESCENDANT_VIEWS_TO_REFRESH]);)parent[DESCENDANT_VIEWS_TO_REFRESH]+=amount,viewOrContainer=parent,parent=parent[PARENT]}const instructionState={lFrame:createLFrame(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function getBindingsEnabled(){return instructionState.bindingsEnabled}function isInSkipHydrationBlock$1(){return null!==instructionState.skipHydrationRootTNode}function getLView(){return instructionState.lFrame.lView}function getTView(){return instructionState.lFrame.tView}function \u0275\u0275restoreView(viewToRestore){return instructionState.lFrame.contextLView=viewToRestore,viewToRestore[CONTEXT]}function \u0275\u0275resetView(value){return instructionState.lFrame.contextLView=null,value}function getCurrentTNode(){let currentTNode=getCurrentTNodePlaceholderOk();for(;null!==currentTNode&&64===currentTNode.type;)currentTNode=currentTNode.parent;return currentTNode}function getCurrentTNodePlaceholderOk(){return instructionState.lFrame.currentTNode}function setCurrentTNode(tNode,isParent){const lFrame=instructionState.lFrame;lFrame.currentTNode=tNode,lFrame.isParent=isParent}function isCurrentTNodeParent(){return instructionState.lFrame.isParent}function setCurrentTNodeAsNotParent(){instructionState.lFrame.isParent=!1}function getBindingRoot(){const lFrame=instructionState.lFrame;let index=lFrame.bindingRootIndex;return-1===index&&(index=lFrame.bindingRootIndex=lFrame.tView.bindingStartIndex),index}function nextBindingIndex(){return instructionState.lFrame.bindingIndex++}function incrementBindingIndex(count){const lFrame=instructionState.lFrame,index=lFrame.bindingIndex;return lFrame.bindingIndex=lFrame.bindingIndex+count,index}function setBindingRootForHostBindings(bindingRootIndex,currentDirectiveIndex){const lFrame=instructionState.lFrame;lFrame.bindingIndex=lFrame.bindingRootIndex=bindingRootIndex,setCurrentDirectiveIndex(currentDirectiveIndex)}function setCurrentDirectiveIndex(currentDirectiveIndex){instructionState.lFrame.currentDirectiveIndex=currentDirectiveIndex}function getCurrentDirectiveDef(tData){const currentDirectiveIndex=instructionState.lFrame.currentDirectiveIndex;return-1===currentDirectiveIndex?null:tData[currentDirectiveIndex]}function getCurrentQueryIndex(){return instructionState.lFrame.currentQueryIndex}function setCurrentQueryIndex(value){instructionState.lFrame.currentQueryIndex=value}function getDeclarationTNode(lView){const tView=lView[TVIEW];return 2===tView.type?tView.declTNode:1===tView.type?lView[T_HOST]:null}function enterDI(lView,tNode,flags){if(flags&core_InjectFlags.SkipSelf){let parentTNode=tNode,parentLView=lView;for(;!(parentTNode=parentTNode.parent,null!==parentTNode||flags&core_InjectFlags.Host||(parentTNode=getDeclarationTNode(parentLView),null===parentTNode||(parentLView=parentLView[DECLARATION_VIEW],10&parentTNode.type))););if(null===parentTNode)return!1;tNode=parentTNode,lView=parentLView}const lFrame=instructionState.lFrame=allocLFrame();return lFrame.currentTNode=tNode,lFrame.lView=lView,!0}function enterView(newView){const newLFrame=allocLFrame(),tView=newView[TVIEW];instructionState.lFrame=newLFrame,newLFrame.currentTNode=tView.firstChild,newLFrame.lView=newView,newLFrame.tView=tView,newLFrame.contextLView=newView,newLFrame.bindingIndex=tView.bindingStartIndex,newLFrame.inI18n=!1}function allocLFrame(){const currentLFrame=instructionState.lFrame,childLFrame=null===currentLFrame?null:currentLFrame.child;return null===childLFrame?createLFrame(currentLFrame):childLFrame}function createLFrame(parent){const lFrame={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent,child:null,inI18n:!1};return null!==parent&&(parent.child=lFrame),lFrame}function leaveViewLight(){const oldLFrame=instructionState.lFrame;return instructionState.lFrame=oldLFrame.parent,oldLFrame.currentTNode=null,oldLFrame.lView=null,oldLFrame}const leaveDI=leaveViewLight;function leaveView(){const oldLFrame=leaveViewLight();oldLFrame.isParent=!0,oldLFrame.tView=null,oldLFrame.selectedIndex=-1,oldLFrame.contextLView=null,oldLFrame.elementDepthCount=0,oldLFrame.currentDirectiveIndex=-1,oldLFrame.currentNamespace=null,oldLFrame.bindingRootIndex=-1,oldLFrame.bindingIndex=-1,oldLFrame.currentQueryIndex=0}function getSelectedIndex(){return instructionState.lFrame.selectedIndex}function setSelectedIndex(index){instructionState.lFrame.selectedIndex=index}function getSelectedTNode(){const lFrame=instructionState.lFrame;return getTNode(lFrame.tView,lFrame.selectedIndex)}function \u0275\u0275namespaceSVG(){instructionState.lFrame.currentNamespace=SVG_NAMESPACE}let _wasLastNodeCreated=!0;function wasLastNodeCreated(){return _wasLastNodeCreated}function lastNodeWasCreated(flag){_wasLastNodeCreated=flag}function registerPostOrderHooks(tView,tNode){for(let i6=tNode.directiveStart,end=tNode.directiveEnd;i6=currentNodeIndex)break}else arr[i6]<0&&(currentView[PREORDER_HOOK_FLAGS]+=65536),(lastNodeIndexFound>13>16&&(3¤tView[FLAGS])===initPhase&&(currentView[FLAGS]+=8192,callHookInternal(directive,hook)):callHookInternal(directive,hook)}const NO_PARENT_INJECTOR=-1;class NodeInjectorFactory{constructor(factory2,isViewProvider,injectImplementation){this.factory=factory2,this.resolving=!1,this.canSeeViewProviders=isViewProvider,this.injectImpl=injectImplementation}}function hasParentInjector(parentLocation){return parentLocation!==NO_PARENT_INJECTOR}function getParentInjectorIndex(parentLocation){return 32767&parentLocation}function getParentInjectorView(location2,startView){let viewOffset=function getParentInjectorViewOffset(parentLocation){return parentLocation>>16}(location2),parentView=startView;for(;viewOffset>0;)parentView=parentView[DECLARATION_VIEW],viewOffset--;return parentView}let includeViewProviders=!0;function setIncludeViewProviders(v){const oldValue=includeViewProviders;return includeViewProviders=v,oldValue}const BLOOM_MASK=255,BLOOM_BUCKET_BITS=5;let nextNgElementId=0;const NOT_FOUND={};function getOrCreateNodeInjectorForNode(tNode,lView){const existingInjectorIndex=getInjectorIndex(tNode,lView);if(-1!==existingInjectorIndex)return existingInjectorIndex;const tView=lView[TVIEW];tView.firstCreatePass&&(tNode.injectorIndex=lView.length,insertBloom(tView.data,tNode),insertBloom(lView,null),insertBloom(tView.blueprint,null));const parentLoc=getParentInjectorLocation(tNode,lView),injectorIndex=tNode.injectorIndex;if(hasParentInjector(parentLoc)){const parentIndex=getParentInjectorIndex(parentLoc),parentLView=getParentInjectorView(parentLoc,lView),parentData=parentLView[TVIEW].data;for(let i6=0;i6<8;i6++)lView[injectorIndex+i6]=parentLView[parentIndex+i6]|parentData[parentIndex+i6]}return lView[injectorIndex+8]=parentLoc,injectorIndex}function insertBloom(arr,footer){arr.push(0,0,0,0,0,0,0,0,footer)}function getInjectorIndex(tNode,lView){return-1===tNode.injectorIndex||tNode.parent&&tNode.parent.injectorIndex===tNode.injectorIndex||null===lView[tNode.injectorIndex+8]?-1:tNode.injectorIndex}function getParentInjectorLocation(tNode,lView){if(tNode.parent&&-1!==tNode.parent.injectorIndex)return tNode.parent.injectorIndex;let declarationViewOffset=0,parentTNode=null,lViewCursor=lView;for(;null!==lViewCursor;){if(parentTNode=getTNodeFromLView(lViewCursor),null===parentTNode)return NO_PARENT_INJECTOR;if(declarationViewOffset++,lViewCursor=lViewCursor[DECLARATION_VIEW],-1!==parentTNode.injectorIndex)return parentTNode.injectorIndex|declarationViewOffset<<16}return NO_PARENT_INJECTOR}function diPublicInInjector(injectorIndex,tView,token){!function bloomAdd(injectorIndex,tView,type){let id;"string"==typeof type?id=type.charCodeAt(0)||0:type.hasOwnProperty(NG_ELEMENT_ID)&&(id=type[NG_ELEMENT_ID]),null==id&&(id=type[NG_ELEMENT_ID]=nextNgElementId++);const bloomHash=id&BLOOM_MASK;tView.data[injectorIndex+(bloomHash>>BLOOM_BUCKET_BITS)]|=1<=0?tokenId&BLOOM_MASK:createNodeInjector:tokenId}(token);if("function"==typeof bloomHash){if(!enterDI(lView,tNode,flags))return flags&core_InjectFlags.Host?notFoundValueOrThrow(notFoundValue,0,flags):lookupTokenUsingModuleInjector(lView,token,flags,notFoundValue);try{let value;if(value=bloomHash(flags),null!=value||flags&core_InjectFlags.Optional)return value;throwProviderNotFoundError()}finally{leaveDI()}}else if("number"==typeof bloomHash){let previousTView=null,injectorIndex=getInjectorIndex(tNode,lView),parentLocation=NO_PARENT_INJECTOR,hostTElementNode=flags&core_InjectFlags.Host?lView[DECLARATION_COMPONENT_VIEW][T_HOST]:null;for((-1===injectorIndex||flags&core_InjectFlags.SkipSelf)&&(parentLocation=-1===injectorIndex?getParentInjectorLocation(tNode,lView):lView[injectorIndex+8],parentLocation!==NO_PARENT_INJECTOR&&shouldSearchParent(flags,!1)?(previousTView=lView[TVIEW],injectorIndex=getParentInjectorIndex(parentLocation),lView=getParentInjectorView(parentLocation,lView)):injectorIndex=-1);-1!==injectorIndex;){const tView=lView[TVIEW];if(bloomHasToken(bloomHash,injectorIndex,tView.data)){const instance=searchTokensOnInjector(injectorIndex,lView,token,previousTView,flags,hostTElementNode);if(instance!==NOT_FOUND)return instance}parentLocation=lView[injectorIndex+8],parentLocation!==NO_PARENT_INJECTOR&&shouldSearchParent(flags,lView[TVIEW].data[injectorIndex+8]===hostTElementNode)&&bloomHasToken(bloomHash,injectorIndex,lView)?(previousTView=tView,injectorIndex=getParentInjectorIndex(parentLocation),lView=getParentInjectorView(parentLocation,lView)):injectorIndex=-1}}return notFoundValue}function searchTokensOnInjector(injectorIndex,lView,token,previousTView,flags,hostTElementNode){const currentTView=lView[TVIEW],tNode=currentTView.data[injectorIndex+8],injectableIdx=locateDirectiveOrProvider(tNode,currentTView,token,null==previousTView?isComponentHost(tNode)&&includeViewProviders:previousTView!=currentTView&&0!=(3&tNode.type),flags&core_InjectFlags.Host&&hostTElementNode===tNode);return null!==injectableIdx?getNodeInjectable(lView,currentTView,injectableIdx,tNode):NOT_FOUND}function locateDirectiveOrProvider(tNode,tView,token,canAccessViewProviders,isHostSpecialCase){const nodeProviderIndexes=tNode.providerIndexes,tInjectables=tView.data,injectablesStart=1048575&nodeProviderIndexes,directivesStart=tNode.directiveStart,cptViewProvidersCount=nodeProviderIndexes>>20,endIndex=isHostSpecialCase?injectablesStart+cptViewProvidersCount:tNode.directiveEnd;for(let i6=canAccessViewProviders?injectablesStart:injectablesStart+cptViewProvidersCount;i6=directivesStart&&providerTokenOrDef.type===token)return i6}if(isHostSpecialCase){const dirDef=tInjectables[directivesStart];if(dirDef&&isComponentDef(dirDef)&&dirDef.type===token)return directivesStart}return null}function getNodeInjectable(lView,tView,index,tNode){let value=lView[index];const tData=tView.data;if(function isFactory(obj){return obj instanceof NodeInjectorFactory}(value)){const factory2=value;factory2.resolving&&function throwCyclicDependencyError(token,path){const depPath=path?`. Dependency path: ${path.join(" > ")} > ${token}`:"";throw new RuntimeError(-200,`Circular dependency in DI detected for ${token}${depPath}`)}(function stringifyForError(value){return"function"==typeof value?value.name||value.toString():"object"==typeof value&&null!=value&&"function"==typeof value.type?value.type.name||value.type.toString():renderStringify(value)}(tData[index]));const previousIncludeViewProviders=setIncludeViewProviders(factory2.canSeeViewProviders);factory2.resolving=!0;const previousInjectImplementation=factory2.injectImpl?setInjectImplementation(factory2.injectImpl):null;enterDI(lView,tNode,core_InjectFlags.Default);try{value=lView[index]=factory2.factory(void 0,tData,lView,tNode),tView.firstCreatePass&&index>=tNode.directiveStart&&function registerPreOrderHooks(directiveIndex,directiveDef,tView){const{ngOnChanges,ngOnInit,ngDoCheck}=directiveDef.type.prototype;if(ngOnChanges){const wrappedOnChanges=NgOnChangesFeatureImpl(directiveDef);(tView.preOrderHooks??=[]).push(directiveIndex,wrappedOnChanges),(tView.preOrderCheckHooks??=[]).push(directiveIndex,wrappedOnChanges)}ngOnInit&&(tView.preOrderHooks??=[]).push(0-directiveIndex,ngOnInit),ngDoCheck&&((tView.preOrderHooks??=[]).push(directiveIndex,ngDoCheck),(tView.preOrderCheckHooks??=[]).push(directiveIndex,ngDoCheck))}(index,tData[index],tView)}finally{null!==previousInjectImplementation&&setInjectImplementation(previousInjectImplementation),setIncludeViewProviders(previousIncludeViewProviders),factory2.resolving=!1,leaveDI()}}return value}function bloomHasToken(bloomHash,injectorIndex,injectorView){return!!(injectorView[injectorIndex+(bloomHash>>BLOOM_BUCKET_BITS)]&1<{const ownConstructor=type.prototype.constructor,ownFactory=ownConstructor[NG_FACTORY_DEF]||getFactoryOf(ownConstructor),objectPrototype=Object.prototype;let parent=Object.getPrototypeOf(type.prototype).constructor;for(;parent&&parent!==objectPrototype;){const factory2=parent[NG_FACTORY_DEF]||getFactoryOf(parent);if(factory2&&factory2!==ownFactory)return factory2;parent=Object.getPrototypeOf(parent)}return t=>new t})}function getFactoryOf(type){return isForwardRef(type)?()=>{const factory2=getFactoryOf(resolveForwardRef(type));return factory2&&factory2()}:getFactoryDef(type)}function getTNodeFromLView(lView){const tView=lView[TVIEW],tViewType=tView.type;return 2===tViewType?tView.declTNode:1===tViewType?lView[T_HOST]:null}function \u0275\u0275injectAttribute(attrNameToInject){return function injectAttributeImpl(tNode,attrNameToInject){if("class"===attrNameToInject)return tNode.classes;if("style"===attrNameToInject)return tNode.styles;const attrs=tNode.attrs;if(attrs){const attrsLength=attrs.length;let i6=0;for(;i6{const metaCtor=function makeMetadataCtor(props){return function(...args){if(props){const values=props(...args);for(const propName in values)this[propName]=values[propName]}}}(props);function ParamDecoratorFactory(...args){if(this instanceof ParamDecoratorFactory)return metaCtor.apply(this,args),this;const annotationInstance=new ParamDecoratorFactory(...args);return ParamDecorator.annotation=annotationInstance,ParamDecorator;function ParamDecorator(cls,unusedKey,index){const parameters=cls.hasOwnProperty("__parameters__")?cls.__parameters__:Object.defineProperty(cls,"__parameters__",{value:[]}).__parameters__;for(;parameters.length<=index;)parameters.push(null);return(parameters[index]=parameters[index]||[]).push(annotationInstance),cls}}return parentClass&&(ParamDecoratorFactory.prototype=Object.create(parentClass.prototype)),ParamDecoratorFactory.prototype.ngMetadataName=name,ParamDecoratorFactory.annotationCls=ParamDecoratorFactory,ParamDecoratorFactory})}function deepForEach(input,fn){input.forEach(value=>Array.isArray(value)?deepForEach(value,fn):fn(value))}function addToArray(arr,index,value){index>=arr.length?arr.push(value):arr.splice(index,0,value)}function removeFromArray(arr,index){return index>=arr.length-1?arr.pop():arr.splice(index,1)[0]}function newArray(size,value){const list2=[];for(let i6=0;i6=0?keyValueArray[1|index]=value:(index=~index,function arrayInsert2(array,index,value1,value2){let end=array.length;if(end==index)array.push(value1,value2);else if(1===end)array.push(value2,array[0]),array[0]=value1;else{for(end--,array.push(array[end-1],array[end]);end>index;)array[end]=array[end-2],end--;array[index]=value1,array[index+1]=value2}}(keyValueArray,index,key,value)),index}function keyValueArrayGet(keyValueArray,key){const index=keyValueArrayIndexOf(keyValueArray,key);if(index>=0)return keyValueArray[1|index]}function keyValueArrayIndexOf(keyValueArray,key){return function _arrayIndexOfSorted(array,value,shift){let start2=0,end=array.length>>shift;for(;end!==start2;){const middle=start2+(end-start2>>1),current=array[middle<value?end=middle:start2=middle+1}return~(end<|^->||--!>|)/,COMMENT_DELIMITER_ESCAPED="\u200b$1\u200b";const TRACKED_LVIEWS=new Map;let uniqueIdCounter=0;const MONKEY_PATCH_KEY_NAME="__ngContext__";function attachPatchData(target,data){isLView(data)?(target[MONKEY_PATCH_KEY_NAME]=data[ID],function registerLView(lView){TRACKED_LVIEWS.set(lView[ID],lView)}(data)):target[MONKEY_PATCH_KEY_NAME]=data}let _icuContainerIterate;function icuContainerIterate(tIcuContainerNode,lView){return _icuContainerIterate(tIcuContainerNode,lView)}function getLViewParent(lView){const parent=lView[PARENT];return isLContainer(parent)?parent[PARENT]:parent}function getFirstLContainer(lView){return getNearestLContainer(lView[CHILD_HEAD])}function getNextLContainer(container){return getNearestLContainer(container[NEXT])}function getNearestLContainer(viewOrContainer){for(;null!==viewOrContainer&&!isLContainer(viewOrContainer);)viewOrContainer=viewOrContainer[NEXT];return viewOrContainer}function applyToElementOrContainer(action,renderer,parent,lNodeToHandle,beforeNode){if(null!=lNodeToHandle){let lContainer,isComponent2=!1;isLContainer(lNodeToHandle)?lContainer=lNodeToHandle:isLView(lNodeToHandle)&&(isComponent2=!0,lNodeToHandle=lNodeToHandle[HOST]);const rNode=unwrapRNode(lNodeToHandle);0===action&&null!==parent?null==beforeNode?nativeAppendChild(renderer,parent,rNode):nativeInsertBefore(renderer,parent,rNode,beforeNode||null,!0):1===action&&null!==parent?nativeInsertBefore(renderer,parent,rNode,beforeNode||null,!0):2===action?function nativeRemoveNode(renderer,rNode,isHostElement){const nativeParent=nativeParentNode(renderer,rNode);nativeParent&&function nativeRemoveChild(renderer,parent,child2,isHostElement){renderer.removeChild(parent,child2,isHostElement)}(renderer,nativeParent,rNode,isHostElement)}(renderer,rNode,isComponent2):3===action&&renderer.destroyNode(rNode),null!=lContainer&&function applyContainer(renderer,action,lContainer,parentRElement,beforeNode){const anchor=lContainer[NATIVE];anchor!==unwrapRNode(lContainer)&&applyToElementOrContainer(action,renderer,parentRElement,anchor,beforeNode);for(let i6=CONTAINER_HEADER_OFFSET;i6text.replace(COMMENT_DELIMITER,COMMENT_DELIMITER_ESCAPED))}(value))}function createElementNode(renderer,name,namespace){return renderer.createElement(name,namespace)}function detachMovedView(declarationContainer,lView){const movedViews=declarationContainer[MOVED_VIEWS],declarationViewIndex=movedViews.indexOf(lView);clearViewRefreshFlag(lView),movedViews.splice(declarationViewIndex,1)}function detachView(lContainer,removeIndex){if(lContainer.length<=CONTAINER_HEADER_OFFSET)return;const indexInContainer=CONTAINER_HEADER_OFFSET+removeIndex,viewToDetach=lContainer[indexInContainer];if(viewToDetach){const declarationLContainer=viewToDetach[DECLARATION_LCONTAINER];null!==declarationLContainer&&declarationLContainer!==lContainer&&detachMovedView(declarationLContainer,viewToDetach),removeIndex>0&&(lContainer[indexInContainer-1][NEXT]=viewToDetach[NEXT]);const removedLView=removeFromArray(lContainer,CONTAINER_HEADER_OFFSET+removeIndex);!function removeViewFromDOM(tView,lView){applyView(tView,lView,lView[RENDERER],2,null,null),lView[HOST]=null,lView[T_HOST]=null}(viewToDetach[TVIEW],viewToDetach);const lQueries=removedLView[QUERIES];null!==lQueries&&lQueries.detachView(removedLView[TVIEW]),viewToDetach[PARENT]=null,viewToDetach[NEXT]=null,viewToDetach[FLAGS]&=-129}return viewToDetach}function destroyLView(tView,lView){if(!(256&lView[FLAGS])){const renderer=lView[RENDERER];lView[REACTIVE_TEMPLATE_CONSUMER]?.destroy(),lView[REACTIVE_HOST_BINDING_CONSUMER]?.destroy(),renderer.destroyNode&&applyView(tView,lView,renderer,3,null,null),function destroyViewTree(rootView){let lViewOrLContainer=rootView[CHILD_HEAD];if(!lViewOrLContainer)return cleanUpView(rootView[TVIEW],rootView);for(;lViewOrLContainer;){let next=null;if(isLView(lViewOrLContainer))next=lViewOrLContainer[CHILD_HEAD];else{const firstView=lViewOrLContainer[CONTAINER_HEADER_OFFSET];firstView&&(next=firstView)}if(!next){for(;lViewOrLContainer&&!lViewOrLContainer[NEXT]&&lViewOrLContainer!==rootView;)isLView(lViewOrLContainer)&&cleanUpView(lViewOrLContainer[TVIEW],lViewOrLContainer),lViewOrLContainer=lViewOrLContainer[PARENT];null===lViewOrLContainer&&(lViewOrLContainer=rootView),isLView(lViewOrLContainer)&&cleanUpView(lViewOrLContainer[TVIEW],lViewOrLContainer),next=lViewOrLContainer&&lViewOrLContainer[NEXT]}lViewOrLContainer=next}}(lView)}}function cleanUpView(tView,lView){if(!(256&lView[FLAGS])){lView[FLAGS]&=-129,lView[FLAGS]|=256,function executeOnDestroys(tView,lView){let destroyHooks;if(null!=tView&&null!=(destroyHooks=tView.destroyHooks))for(let i6=0;i6=0?lCleanup[targetIdx]():lCleanup[-targetIdx].unsubscribe(),i6+=2}else tCleanup[i6].call(lCleanup[tCleanup[i6+1]]);null!==lCleanup&&(lView[CLEANUP]=null);const destroyHooks=lView[ON_DESTROY_HOOKS];if(null!==destroyHooks){lView[ON_DESTROY_HOOKS]=null;for(let i6=0;i6-1){const{encapsulation}=tView.data[parentTNode.directiveStart+componentOffset];if(encapsulation===ViewEncapsulation$1.None||encapsulation===ViewEncapsulation$1.Emulated)return null}return getNativeByTNode(parentTNode,lView)}}(tView,tNode.parent,lView)}function nativeInsertBefore(renderer,parent,child2,beforeNode,isMove){renderer.insertBefore(parent,child2,beforeNode,isMove)}function nativeAppendChild(renderer,parent,child2){renderer.appendChild(parent,child2)}function nativeAppendOrInsertBefore(renderer,parent,child2,beforeNode,isMove){null!==beforeNode?nativeInsertBefore(renderer,parent,child2,beforeNode,isMove):nativeAppendChild(renderer,parent,child2)}function nativeParentNode(renderer,node2){return renderer.parentNode(node2)}function getInsertInFrontOfRNode(parentTNode,currentTNode,lView){return _getInsertInFrontOfRNodeWithI18n(parentTNode,currentTNode,lView)}let _processI18nInsertBefore,policy$1,core_DOCUMENT,policy,_getInsertInFrontOfRNodeWithI18n=function getInsertInFrontOfRNodeWithNoI18n(parentTNode,currentTNode,lView){return 40&parentTNode.type?getNativeByTNode(parentTNode,lView):null};function appendChild(tView,lView,childRNode,childTNode){const parentRNode=getParentRElement(tView,childTNode,lView),renderer=lView[RENDERER],anchorNode=getInsertInFrontOfRNode(childTNode.parent||lView[T_HOST],childTNode,lView);if(null!=parentRNode)if(Array.isArray(childRNode))for(let i6=0;i6s,createScript:s=>s,createScriptURL:s=>s})}catch{}return policy$1}()?.createHTML(html)||html}function trustedScriptURLFromStringBypass(url){return function getPolicy(){if(void 0===policy&&(policy=null,_global.trustedTypes))try{policy=_global.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:s=>s,createScript:s=>s,createScriptURL:s=>s})}catch{}return policy}()?.createScriptURL(url)||url}class SafeValueImpl{constructor(changingThisBreaksApplicationSecurity){this.changingThisBreaksApplicationSecurity=changingThisBreaksApplicationSecurity}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${XSS_SECURITY_URL})`}}class SafeHtmlImpl extends SafeValueImpl{getTypeName(){return"HTML"}}class SafeStyleImpl extends SafeValueImpl{getTypeName(){return"Style"}}class SafeScriptImpl extends SafeValueImpl{getTypeName(){return"Script"}}class SafeUrlImpl extends SafeValueImpl{getTypeName(){return"URL"}}class SafeResourceUrlImpl extends SafeValueImpl{getTypeName(){return"ResourceURL"}}function unwrapSafeValue(value){return value instanceof SafeValueImpl?value.changingThisBreaksApplicationSecurity:value}function allowSanitizationBypassAndThrow(value,type){const actualType=function getSanitizationBypassType(value){return value instanceof SafeValueImpl&&value.getTypeName()||null}(value);if(null!=actualType&&actualType!==type){if("ResourceURL"===actualType&&"URL"===type)return!0;throw new Error(`Required a safe ${type}, got a ${actualType} (see ${XSS_SECURITY_URL})`)}return actualType===type}class DOMParserHelper{constructor(inertDocumentHelper){this.inertDocumentHelper=inertDocumentHelper}getInertBodyElement(html){html=""+html;try{const body=(new window.DOMParser).parseFromString(trustedHTMLFromString(html),"text/html").body;return null===body?this.inertDocumentHelper.getInertBodyElement(html):(body.removeChild(body.firstChild),body)}catch{return null}}}class InertDocumentHelper{constructor(defaultDoc){this.defaultDoc=defaultDoc,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(html){const templateEl=this.inertDocument.createElement("template");return templateEl.innerHTML=trustedHTMLFromString(html),templateEl}}const SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function _sanitizeUrl(url){return(url=String(url)).match(SAFE_URL_PATTERN)?url:"unsafe:"+url}function tagSet(tags){const res={};for(const t of tags.split(","))res[t]=!0;return res}function core_merge(...sets){const res={};for(const s of sets)for(const v in s)s.hasOwnProperty(v)&&(res[v]=!0);return res}const VOID_ELEMENTS=tagSet("area,br,col,hr,img,wbr"),OPTIONAL_END_TAG_BLOCK_ELEMENTS=tagSet("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),OPTIONAL_END_TAG_INLINE_ELEMENTS=tagSet("rp,rt"),VALID_ELEMENTS=core_merge(VOID_ELEMENTS,core_merge(OPTIONAL_END_TAG_BLOCK_ELEMENTS,tagSet("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),core_merge(OPTIONAL_END_TAG_INLINE_ELEMENTS,tagSet("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),core_merge(OPTIONAL_END_TAG_INLINE_ELEMENTS,OPTIONAL_END_TAG_BLOCK_ELEMENTS)),URI_ATTRS=tagSet("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),VALID_ATTRS=core_merge(URI_ATTRS,tagSet("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),tagSet("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS=tagSet("script,style,template");class SanitizingHtmlSerializer{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(el){let current=el.firstChild,traverseContent=!0;for(;current;)if(current.nodeType===Node.ELEMENT_NODE?traverseContent=this.startElement(current):current.nodeType===Node.TEXT_NODE?this.chars(current.nodeValue):this.sanitizedSomething=!0,traverseContent&¤t.firstChild)current=current.firstChild;else for(;current;){current.nodeType===Node.ELEMENT_NODE&&this.endElement(current);let next=this.checkClobberedElement(current,current.nextSibling);if(next){current=next;break}current=this.checkClobberedElement(current,current.parentNode)}return this.buf.join("")}startElement(element){const tagName=element.nodeName.toLowerCase();if(!VALID_ELEMENTS.hasOwnProperty(tagName))return this.sanitizedSomething=!0,!SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS.hasOwnProperty(tagName);this.buf.push("<"),this.buf.push(tagName);const elAttrs=element.attributes;for(let i6=0;i6"),!0}endElement(current){const tagName=current.nodeName.toLowerCase();VALID_ELEMENTS.hasOwnProperty(tagName)&&!VOID_ELEMENTS.hasOwnProperty(tagName)&&(this.buf.push(""))}chars(chars2){this.buf.push(encodeEntities(chars2))}checkClobberedElement(node2,nextNode){if(nextNode&&(node2.compareDocumentPosition(nextNode)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${node2.outerHTML}`);return nextNode}}const SURROGATE_PAIR_REGEXP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,NON_ALPHANUMERIC_REGEXP=/([^\#-~ |!])/g;function encodeEntities(value){return value.replace(/&/g,"&").replace(SURROGATE_PAIR_REGEXP,function(match2){return"&#"+(1024*(match2.charCodeAt(0)-55296)+(match2.charCodeAt(1)-56320)+65536)+";"}).replace(NON_ALPHANUMERIC_REGEXP,function(match2){return"&#"+match2.charCodeAt(0)+";"}).replace(//g,">")}let inertBodyHelper;function _sanitizeHtml(defaultDoc,unsafeHtmlInput){let inertBodyElement=null;try{inertBodyHelper=inertBodyHelper||function getInertBodyHelper(defaultDoc){const inertDocumentHelper=new InertDocumentHelper(defaultDoc);return function isDOMParserAvailable(){try{return!!(new window.DOMParser).parseFromString(trustedHTMLFromString(""),"text/html")}catch{return!1}}()?new DOMParserHelper(inertDocumentHelper):inertDocumentHelper}(defaultDoc);let unsafeHtml=unsafeHtmlInput?String(unsafeHtmlInput):"";inertBodyElement=inertBodyHelper.getInertBodyElement(unsafeHtml);let mXSSAttempts=5,parsedHtml=unsafeHtml;do{if(0===mXSSAttempts)throw new Error("Failed to sanitize html because the input is unstable");mXSSAttempts--,unsafeHtml=parsedHtml,parsedHtml=inertBodyElement.innerHTML,inertBodyElement=inertBodyHelper.getInertBodyElement(unsafeHtml)}while(unsafeHtml!==parsedHtml);return trustedHTMLFromString((new SanitizingHtmlSerializer).sanitizeChildren(getTemplateContent(inertBodyElement)||inertBodyElement))}finally{if(inertBodyElement){const parent=getTemplateContent(inertBodyElement)||inertBodyElement;for(;parent.firstChild;)parent.removeChild(parent.firstChild)}}}function getTemplateContent(el){return"content"in el&&function isTemplateElement(el){return el.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===el.nodeName}(el)?el.content:null}var SecurityContext=function(SecurityContext2){return SecurityContext2[SecurityContext2.NONE=0]="NONE",SecurityContext2[SecurityContext2.HTML=1]="HTML",SecurityContext2[SecurityContext2.STYLE=2]="STYLE",SecurityContext2[SecurityContext2.SCRIPT=3]="SCRIPT",SecurityContext2[SecurityContext2.URL=4]="URL",SecurityContext2[SecurityContext2.RESOURCE_URL=5]="RESOURCE_URL",SecurityContext2}(SecurityContext||{});function \u0275\u0275sanitizeUrl(unsafeUrl){const sanitizer=getSanitizer();return sanitizer?sanitizer.sanitize(SecurityContext.URL,unsafeUrl)||"":allowSanitizationBypassAndThrow(unsafeUrl,"URL")?unwrapSafeValue(unsafeUrl):_sanitizeUrl(renderStringify(unsafeUrl))}function \u0275\u0275sanitizeResourceUrl(unsafeResourceUrl){const sanitizer=getSanitizer();if(sanitizer)return trustedScriptURLFromStringBypass(sanitizer.sanitize(SecurityContext.RESOURCE_URL,unsafeResourceUrl)||"");if(allowSanitizationBypassAndThrow(unsafeResourceUrl,"ResourceURL"))return trustedScriptURLFromStringBypass(unwrapSafeValue(unsafeResourceUrl));throw new RuntimeError(904,!1)}function getSanitizer(){const lView=getLView();return lView&&lView[ENVIRONMENT].sanitizer}class InjectionToken{constructor(_desc,options){this._desc=_desc,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof options?this.__NG_ELEMENT_ID__=options:void 0!==options&&(this.\u0275prov=core_defineInjectable({token:this,providedIn:options.providedIn||"root",factory:options.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const core_ENVIRONMENT_INITIALIZER=new InjectionToken("ENVIRONMENT_INITIALIZER"),INJECTOR=new InjectionToken("INJECTOR",-1),INJECTOR_DEF_TYPES=new InjectionToken("INJECTOR_DEF_TYPES");class NullInjector{get(token,notFoundValue=THROW_IF_NOT_FOUND){if(notFoundValue===THROW_IF_NOT_FOUND){const error=new Error(`NullInjectorError: No provider for ${stringify(token)}!`);throw error.name="NullInjectorError",error}return notFoundValue}}function importProvidersFrom(...sources){return{\u0275providers:internalImportProvidersFrom(0,sources),\u0275fromNgModule:!0}}function internalImportProvidersFrom(checkForStandaloneCmp,...sources){const providersOut=[],dedup=new Set;let injectorTypesWithProviders;const collectProviders=provider=>{providersOut.push(provider)};return deepForEach(sources,source=>{const internalSource=source;walkProviderTree(internalSource,collectProviders,[],dedup)&&(injectorTypesWithProviders||=[],injectorTypesWithProviders.push(internalSource))}),void 0!==injectorTypesWithProviders&&processInjectorTypesWithProviders(injectorTypesWithProviders,collectProviders),providersOut}function processInjectorTypesWithProviders(typesWithProviders,visitor){for(let i6=0;i6{visitor(provider,ngModule)})}}function walkProviderTree(container,visitor,parents,dedup){if(!(container=resolveForwardRef(container)))return!1;let defType=null,injDef=getInjectorDef(container);const cmpDef=!injDef&&getComponentDef(container);if(injDef||cmpDef){if(cmpDef&&!cmpDef.standalone)return!1;defType=container}else{const ngModule=container.ngModule;if(injDef=getInjectorDef(ngModule),!injDef)return!1;defType=ngModule}const isDuplicate=dedup.has(defType);if(cmpDef){if(isDuplicate)return!1;if(dedup.add(defType),cmpDef.dependencies){const deps="function"==typeof cmpDef.dependencies?cmpDef.dependencies():cmpDef.dependencies;for(const dep of deps)walkProviderTree(dep,visitor,parents,dedup)}}else{if(!injDef)return!1;{if(null!=injDef.imports&&!isDuplicate){let importTypesWithProviders;dedup.add(defType);try{deepForEach(injDef.imports,imported=>{walkProviderTree(imported,visitor,parents,dedup)&&(importTypesWithProviders||=[],importTypesWithProviders.push(imported))})}finally{}void 0!==importTypesWithProviders&&processInjectorTypesWithProviders(importTypesWithProviders,visitor)}if(!isDuplicate){const factory2=getFactoryDef(defType)||(()=>new defType);visitor({provide:defType,useFactory:factory2,deps:EMPTY_ARRAY},defType),visitor({provide:INJECTOR_DEF_TYPES,useValue:defType,multi:!0},defType),visitor({provide:core_ENVIRONMENT_INITIALIZER,useValue:()=>core_inject(defType),multi:!0},defType)}const defProviders=injDef.providers;if(null!=defProviders&&!isDuplicate){const injectorType=container;deepForEachProvider(defProviders,provider=>{visitor(provider,injectorType)})}}}return defType!==container&&void 0!==container.providers}function deepForEachProvider(providers,fn){for(let provider of providers)isEnvironmentProviders(provider)&&(provider=provider.\u0275providers),Array.isArray(provider)?deepForEachProvider(provider,fn):fn(provider)}const USE_VALUE$1=getClosureSafeProperty({provide:String,useValue:getClosureSafeProperty});function isValueProvider(value){return null!==value&&"object"==typeof value&&USE_VALUE$1 in value}function isTypeProvider(value){return"function"==typeof value}const INJECTOR_SCOPE=new InjectionToken("Set Injector scope."),NOT_YET={},CIRCULAR={};let NULL_INJECTOR;function getNullInjector(){return void 0===NULL_INJECTOR&&(NULL_INJECTOR=new NullInjector),NULL_INJECTOR}class core_EnvironmentInjector{}class R3Injector extends core_EnvironmentInjector{get destroyed(){return this._destroyed}constructor(providers,parent,source,scopes){super(),this.parent=parent,this.source=source,this.scopes=scopes,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,forEachSingleProvider(providers,provider=>this.processProvider(provider)),this.records.set(INJECTOR,makeRecord(void 0,this)),scopes.has("environment")&&this.records.set(core_EnvironmentInjector,makeRecord(void 0,this));const record2=this.records.get(INJECTOR_SCOPE);null!=record2&&"string"==typeof record2.value&&this.scopes.add(record2.value),this.injectorDefTypes=new Set(this.get(INJECTOR_DEF_TYPES.multi,EMPTY_ARRAY,core_InjectFlags.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const service of this._ngOnDestroyHooks)service.ngOnDestroy();const onDestroyHooks=this._onDestroyHooks;this._onDestroyHooks=[];for(const hook of onDestroyHooks)hook()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(callback){return this.assertNotDestroyed(),this._onDestroyHooks.push(callback),()=>this.removeOnDestroy(callback)}runInContext(fn){this.assertNotDestroyed();const previousInjector=setCurrentInjector(this),previousInjectImplementation=setInjectImplementation(void 0);try{return fn()}finally{setCurrentInjector(previousInjector),setInjectImplementation(previousInjectImplementation)}}get(token,notFoundValue=THROW_IF_NOT_FOUND,flags=core_InjectFlags.Default){if(this.assertNotDestroyed(),token.hasOwnProperty(NG_ENV_ID))return token[NG_ENV_ID](this);flags=convertToBitFlags(flags);const previousInjector=setCurrentInjector(this),previousInjectImplementation=setInjectImplementation(void 0);try{if(!(flags&core_InjectFlags.SkipSelf)){let record2=this.records.get(token);if(void 0===record2){const def=function couldBeInjectableType(value){return"function"==typeof value||"object"==typeof value&&value instanceof InjectionToken}(token)&&getInjectableDef(token);record2=def&&this.injectableDefInScope(def)?makeRecord(injectableDefOrInjectorDefFactory(token),NOT_YET):null,this.records.set(token,record2)}if(null!=record2)return this.hydrate(token,record2)}return(flags&core_InjectFlags.Self?getNullInjector():this.parent).get(token,notFoundValue=flags&core_InjectFlags.Optional&¬FoundValue===THROW_IF_NOT_FOUND?null:notFoundValue)}catch(e2){if("NullInjectorError"===e2.name){if((e2.ngTempTokenPath=e2.ngTempTokenPath||[]).unshift(stringify(token)),previousInjector)throw e2;return function catchInjectorError(e2,token,injectorErrorName,source){const tokenPath=e2.ngTempTokenPath;throw token.__source&&tokenPath.unshift(token.__source),e2.message=function formatError(text,obj,injectorErrorName,source=null){text=text&&"\n"===text.charAt(0)&&"\u0275"==text.charAt(1)?text.slice(2):text;let context2=stringify(obj);if(Array.isArray(obj))context2=obj.map(stringify).join(" -> ");else if("object"==typeof obj){let parts=[];for(let key in obj)if(obj.hasOwnProperty(key)){let value=obj[key];parts.push(key+":"+("string"==typeof value?JSON.stringify(value):stringify(value)))}context2=`{${parts.join(", ")}}`}return`${injectorErrorName}${source?"("+source+")":""}[${context2}]: ${text.replace(NEW_LINE,"\n ")}`}("\n"+e2.message,tokenPath,injectorErrorName,source),e2.ngTokenPath=tokenPath,e2.ngTempTokenPath=null,e2}(e2,token,"R3InjectorError",this.source)}throw e2}finally{setInjectImplementation(previousInjectImplementation),setCurrentInjector(previousInjector)}}resolveInjectorInitializers(){const previousInjector=setCurrentInjector(this),previousInjectImplementation=setInjectImplementation(void 0);try{const initializers=this.get(core_ENVIRONMENT_INITIALIZER.multi,EMPTY_ARRAY,core_InjectFlags.Self);for(const initializer of initializers)initializer()}finally{setCurrentInjector(previousInjector),setInjectImplementation(previousInjectImplementation)}}toString(){const tokens=[],records=this.records;for(const token of records.keys())tokens.push(stringify(token));return`R3Injector[${tokens.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new RuntimeError(205,!1)}processProvider(provider){let token=isTypeProvider(provider=resolveForwardRef(provider))?provider:resolveForwardRef(provider&&provider.provide);const record2=function providerToRecord(provider){return isValueProvider(provider)?makeRecord(void 0,provider.useValue):makeRecord(providerToFactory(provider),NOT_YET)}(provider);if(isTypeProvider(provider)||!0!==provider.multi)this.records.get(token);else{let multiRecord=this.records.get(token);multiRecord||(multiRecord=makeRecord(void 0,NOT_YET,!0),multiRecord.factory=()=>injectArgs(multiRecord.multi),this.records.set(token,multiRecord)),token=provider,multiRecord.multi.push(provider)}this.records.set(token,record2)}hydrate(token,record2){return record2.value===NOT_YET&&(record2.value=CIRCULAR,record2.value=record2.factory()),"object"==typeof record2.value&&record2.value&&function hasOnDestroy(value){return null!==value&&"object"==typeof value&&"function"==typeof value.ngOnDestroy}(record2.value)&&this._ngOnDestroyHooks.add(record2.value),record2.value}injectableDefInScope(def){if(!def.providedIn)return!1;const providedIn=resolveForwardRef(def.providedIn);return"string"==typeof providedIn?"any"===providedIn||this.scopes.has(providedIn):this.injectorDefTypes.has(providedIn)}removeOnDestroy(callback){const destroyCBIdx=this._onDestroyHooks.indexOf(callback);-1!==destroyCBIdx&&this._onDestroyHooks.splice(destroyCBIdx,1)}}function injectableDefOrInjectorDefFactory(token){const injectableDef=getInjectableDef(token),factory2=null!==injectableDef?injectableDef.factory:getFactoryDef(token);if(null!==factory2)return factory2;if(token instanceof InjectionToken)throw new RuntimeError(204,!1);if(token instanceof Function)return function getUndecoratedInjectableFactory(token){const paramLength=token.length;if(paramLength>0)throw newArray(paramLength,"?"),new RuntimeError(204,!1);const inheritedInjectableDef=function getInheritedInjectableDef(type){return type&&(type[NG_PROV_DEF]||type[NG_INJECTABLE_DEF])||null}(token);return null!==inheritedInjectableDef?()=>inheritedInjectableDef.factory(token):()=>new token}(token);throw new RuntimeError(204,!1)}function providerToFactory(provider,ngModuleType,providers){let factory2;if(isTypeProvider(provider)){const unwrappedProvider=resolveForwardRef(provider);return getFactoryDef(unwrappedProvider)||injectableDefOrInjectorDefFactory(unwrappedProvider)}if(isValueProvider(provider))factory2=()=>resolveForwardRef(provider.useValue);else if(function isFactoryProvider(value){return!(!value||!value.useFactory)}(provider))factory2=()=>provider.useFactory(...injectArgs(provider.deps||[]));else if(function isExistingProvider(value){return!(!value||!value.useExisting)}(provider))factory2=()=>core_inject(resolveForwardRef(provider.useExisting));else{const classRef=resolveForwardRef(provider&&(provider.useClass||provider.provide));if(!function hasDeps(value){return!!value.deps}(provider))return getFactoryDef(classRef)||injectableDefOrInjectorDefFactory(classRef);factory2=()=>new classRef(...injectArgs(provider.deps))}return factory2}function makeRecord(factory2,value,multi=!1){return{factory:factory2,value,multi:multi?[]:void 0}}function forEachSingleProvider(providers,fn){for(const provider of providers)Array.isArray(provider)?forEachSingleProvider(provider,fn):provider&&isEnvironmentProviders(provider)?forEachSingleProvider(provider.\u0275providers,fn):fn(provider)}const APP_ID=new InjectionToken("AppId",{providedIn:"root",factory:()=>DEFAULT_APP_ID}),DEFAULT_APP_ID="ng",PLATFORM_INITIALIZER=new InjectionToken("Platform Initializer"),core_PLATFORM_ID=new InjectionToken("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),core_ANIMATION_MODULE_TYPE=new InjectionToken("AnimationModuleType"),CSP_NONCE=new InjectionToken("CSP nonce",{providedIn:"root",factory:()=>function getDocument(){if(void 0!==core_DOCUMENT)return core_DOCUMENT;if(typeof document<"u")return document;throw new RuntimeError(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let _retrieveHydrationInfoImpl=(rNode,injector,isRootView2)=>null;function retrieveHydrationInfo(rNode,injector,isRootView2=!1){return _retrieveHydrationInfoImpl(rNode,injector,isRootView2)}class ComponentRef$1{}class ComponentFactory$1{}class _NullComponentFactoryResolver{resolveComponentFactory(component){throw function noComponentFactoryError(component){const error=Error(`No component factory found for ${stringify(component)}.`);return error.ngComponent=component,error}(component)}}let ComponentFactoryResolver$1=(()=>{class ComponentFactoryResolver$12{}return ComponentFactoryResolver$12.NULL=new _NullComponentFactoryResolver,ComponentFactoryResolver$12})();function injectElementRef(){return createElementRef(getCurrentTNode(),getLView())}function createElementRef(tNode,lView){return new core_ElementRef(getNativeByTNode(tNode,lView))}let core_ElementRef=(()=>{class ElementRef2{constructor(nativeElement){this.nativeElement=nativeElement}}return ElementRef2.__NG_ELEMENT_ID__=injectElementRef,ElementRef2})();function unwrapElementRef(value){return value instanceof core_ElementRef?value.nativeElement:value}class RendererFactory2{}let core_Renderer2=(()=>{class Renderer22{constructor(){this.destroyNode=null}}return Renderer22.__NG_ELEMENT_ID__=()=>function injectRenderer2(){const lView=getLView(),nodeAtIndex=getComponentLViewByIndex(getCurrentTNode().index,lView);return(isLView(nodeAtIndex)?nodeAtIndex:lView)[RENDERER]}(),Renderer22})(),Sanitizer=(()=>{var _class5;class Sanitizer2{}return(_class5=Sanitizer2).\u0275prov=core_defineInjectable({token:_class5,providedIn:"root",factory:()=>null}),Sanitizer2})();class Version{constructor(full){this.full=full,this.major=full.split(".")[0],this.minor=full.split(".")[1],this.patch=full.split(".").slice(2).join(".")}}const core_VERSION=new Version("16.2.0"),NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR={};function createInjector(defType,parent=null,additionalProviders=null,name){const injector=createInjectorWithoutInjectorInstances(defType,parent,additionalProviders,name);return injector.resolveInjectorInitializers(),injector}function createInjectorWithoutInjectorInstances(defType,parent=null,additionalProviders=null,name,scopes=new Set){const providers=[additionalProviders||EMPTY_ARRAY,importProvidersFrom(defType)];return name=name||("object"==typeof defType?void 0:stringify(defType)),new R3Injector(providers,parent||getNullInjector(),name||null,scopes)}let core_Injector=(()=>{var _class6;class Injector2{static create(options,parent){if(Array.isArray(options))return createInjector({name:""},parent,options,"");{const name=options.name??"";return createInjector({name},options.parent,options.providers,name)}}}return(_class6=Injector2).THROW_IF_NOT_FOUND=THROW_IF_NOT_FOUND,_class6.NULL=new NullInjector,_class6.\u0275prov=core_defineInjectable({token:_class6,providedIn:"any",factory:()=>core_inject(INJECTOR)}),_class6.__NG_ELEMENT_ID__=-1,Injector2})();let AfterRenderEventManager=(()=>{var _class8;class AfterRenderEventManager2{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new RuntimeError(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const callback of this.callbacks)callback.invoke()}finally{this.runningCallbacks=!1;for(const callback of this.deferredCallbacks)this.callbacks.add(callback);this.deferredCallbacks.clear()}}register(callback){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(callback)}unregister(callback){this.callbacks.delete(callback),this.deferredCallbacks.delete(callback)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(_class8=AfterRenderEventManager2).\u0275prov=core_defineInjectable({token:_class8,providedIn:"root",factory:()=>new _class8}),AfterRenderEventManager2})();function markViewDirty(lView){for(;lView;){lView[FLAGS]|=64;const parent=getLViewParent(lView);if(0!=(512&lView[FLAGS])&&!parent)return lView;lView=parent}return null}function getOriginalError(error){return error.ngOriginalError}class ErrorHandler{constructor(){this._console=console}handleError(error){const originalError=this._findOriginalError(error);this._console.error("ERROR",error),originalError&&this._console.error("ORIGINAL ERROR",originalError)}_findOriginalError(error){let e2=error&&getOriginalError(error);for(;e2&&getOriginalError(e2);)e2=getOriginalError(e2);return e2||null}}const PRESERVE_HOST_CONTENT=new InjectionToken("",{providedIn:"root",factory:()=>!1});class ReactiveLViewConsumer extends ReactiveNode{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(lView){this._lView=lView}onConsumerDependencyMayHaveChanged(){markViewDirty(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(fn,rf,ctx){const prevConsumer=setActiveConsumer(this);this.trackingVersion++;try{fn(rf,ctx)}finally{setActiveConsumer(prevConsumer)}}destroy(){this.trackingVersion++}}let currentConsumer=null;function getOrCreateCurrentLViewConsumer(){return currentConsumer??=new ReactiveLViewConsumer,currentConsumer}function getReactiveLViewConsumer(lView,slot){return lView[slot]??getOrCreateCurrentLViewConsumer()}function commitLViewConsumerIfHasProducers(lView,slot){const consumer=getOrCreateCurrentLViewConsumer();consumer.hasReadASignal&&(lView[slot]=currentConsumer,consumer.lView=lView,currentConsumer=new ReactiveLViewConsumer)}const NO_CHANGE={};function \u0275\u0275advance(delta){selectIndexInternal(getTView(),getLView(),getSelectedIndex()+delta,!1)}function selectIndexInternal(tView,lView,index,checkNoChangesMode){if(!checkNoChangesMode)if(3==(3&lView[FLAGS])){const preOrderCheckHooks=tView.preOrderCheckHooks;null!==preOrderCheckHooks&&executeCheckHooks(lView,preOrderCheckHooks,index)}else{const preOrderHooks=tView.preOrderHooks;null!==preOrderHooks&&executeInitAndCheckHooks(lView,preOrderHooks,0,index)}setSelectedIndex(index)}function \u0275\u0275directiveInject(token,flags=core_InjectFlags.Default){const lView=getLView();return null===lView?core_inject(token,flags):getOrCreateInjectable(getCurrentTNode(),lView,resolveForwardRef(token),flags)}function \u0275\u0275invalidFactory(){throw new Error("invalid")}function createLView(parentLView,tView,context2,flags,host,tHostNode,environment2,renderer,injector,embeddedViewInjector,hydrationInfo){const lView=tView.blueprint.slice();return lView[HOST]=host,lView[FLAGS]=140|flags,(null!==embeddedViewInjector||parentLView&&2048&parentLView[FLAGS])&&(lView[FLAGS]|=2048),resetPreOrderHookFlags(lView),lView[PARENT]=lView[DECLARATION_VIEW]=parentLView,lView[CONTEXT]=context2,lView[ENVIRONMENT]=environment2||parentLView&&parentLView[ENVIRONMENT],lView[RENDERER]=renderer||parentLView&&parentLView[RENDERER],lView[INJECTOR$1]=injector||parentLView&&parentLView[INJECTOR$1]||null,lView[T_HOST]=tHostNode,lView[ID]=function getUniqueLViewId(){return uniqueIdCounter++}(),lView[HYDRATION]=hydrationInfo,lView[EMBEDDED_VIEW_INJECTOR]=embeddedViewInjector,lView[DECLARATION_COMPONENT_VIEW]=2==tView.type?parentLView[DECLARATION_COMPONENT_VIEW]:lView,lView}function getOrCreateTNode(tView,index,type,name,attrs){let tNode=tView.data[index];if(null===tNode)tNode=function createTNodeAtIndex(tView,index,type,name,attrs){const currentTNode=getCurrentTNodePlaceholderOk(),isParent=isCurrentTNodeParent(),tNode=tView.data[index]=function createTNode(tView,tParent,type,index,value,attrs){let injectorIndex=tParent?tParent.injectorIndex:-1,flags=0;return isInSkipHydrationBlock$1()&&(flags|=128),{type,index,insertBeforeIndex:null,injectorIndex,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags,providerIndexes:0,value,attrs,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:tParent,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,isParent?currentTNode:currentTNode&¤tTNode.parent,type,index,name,attrs);return null===tView.firstChild&&(tView.firstChild=tNode),null!==currentTNode&&(isParent?null==currentTNode.child&&null!==tNode.parent&&(currentTNode.child=tNode):null===currentTNode.next&&(currentTNode.next=tNode,tNode.prev=currentTNode)),tNode}(tView,index,type,name,attrs),function isInI18nBlock(){return instructionState.lFrame.inI18n}()&&(tNode.flags|=32);else if(64&tNode.type){tNode.type=type,tNode.value=name,tNode.attrs=attrs;const parent=function getCurrentParentTNode(){const lFrame=instructionState.lFrame,currentTNode=lFrame.currentTNode;return lFrame.isParent?currentTNode:currentTNode.parent}();tNode.injectorIndex=null===parent?-1:parent.injectorIndex}return setCurrentTNode(tNode,!0),tNode}function allocExpando(tView,lView,numSlotsToAlloc,initialValue){if(0===numSlotsToAlloc)return-1;const allocIdx=lView.length;for(let i6=0;i6HEADER_OFFSET&&selectIndexInternal(tView,lView,HEADER_OFFSET,!1),profiler(isUpdatePhase?2:0,context2),isUpdatePhase)consumer.runInContext(templateFn,rf,context2);else{const prevConsumer=setActiveConsumer(null);try{templateFn(rf,context2)}finally{setActiveConsumer(prevConsumer)}}}finally{isUpdatePhase&&null===lView[REACTIVE_TEMPLATE_CONSUMER]&&commitLViewConsumerIfHasProducers(lView,REACTIVE_TEMPLATE_CONSUMER),setSelectedIndex(prevSelectedIndex),profiler(isUpdatePhase?3:1,context2)}}function executeContentQueries(tView,tNode,lView){if(isContentQueryHost(tNode)){const prevConsumer=setActiveConsumer(null);try{const end=tNode.directiveEnd;for(let directiveIndex=tNode.directiveStart;directiveIndexnull;function generatePropertyAliases(aliasMap,directiveIndex,propertyAliases,hostDirectiveAliasMap){for(let publicName in aliasMap)if(aliasMap.hasOwnProperty(publicName)){propertyAliases=null===propertyAliases?{}:propertyAliases;const internalName=aliasMap[publicName];null===hostDirectiveAliasMap?addPropertyAlias(propertyAliases,directiveIndex,publicName,internalName):hostDirectiveAliasMap.hasOwnProperty(publicName)&&addPropertyAlias(propertyAliases,directiveIndex,hostDirectiveAliasMap[publicName],internalName)}return propertyAliases}function addPropertyAlias(propertyAliases,directiveIndex,publicName,internalName){propertyAliases.hasOwnProperty(publicName)?propertyAliases[publicName].push(directiveIndex,internalName):propertyAliases[publicName]=[directiveIndex,internalName]}function elementPropertyInternal(tView,tNode,lView,propName,value,renderer,sanitizer,nativeOnly){const element=getNativeByTNode(tNode,lView);let dataValue,inputData=tNode.inputs;!nativeOnly&&null!=inputData&&(dataValue=inputData[propName])?(setInputsForProperty(tView,lView,dataValue,propName,value),isComponentHost(tNode)&&function markDirtyIfOnPush(lView,viewIndex){const childComponentLView=getComponentLViewByIndex(viewIndex,lView);16&childComponentLView[FLAGS]||(childComponentLView[FLAGS]|=64)}(lView,tNode.index)):3&tNode.type&&(propName=function mapPropName(name){return"class"===name?"className":"for"===name?"htmlFor":"formaction"===name?"formAction":"innerHtml"===name?"innerHTML":"readonly"===name?"readOnly":"tabindex"===name?"tabIndex":name}(propName),value=null!=sanitizer?sanitizer(value,tNode.value||"",propName):value,renderer.setProperty(element,propName,value))}function resolveDirectives(tView,lView,tNode,localRefs){if(getBindingsEnabled()){const exportsMap=null===localRefs?null:{"":-1},matchResult=function findDirectiveDefMatches(tView,tNode){const registry=tView.directiveRegistry;let matches=null,hostDirectiveDefs=null;if(registry)for(let i6=0;i60;){const value=hostBindingOpCodes[--i6];if("number"==typeof value&&value<0)return value}return 0})(hostBindingOpCodes)!=elementIndx&&hostBindingOpCodes.push(elementIndx),hostBindingOpCodes.push(directiveIdx,directiveVarsIdx,hostBindings)}}(tView,tNode,directiveIndex,allocExpando(tView,lView,def.hostVars,NO_CHANGE),def)}function elementAttributeInternal(tNode,lView,name,value,sanitizer,namespace){const element=getNativeByTNode(tNode,lView);!function setElementAttribute(renderer,element,namespace,tagName,name,value,sanitizer){if(null==value)renderer.removeAttribute(element,name,namespace);else{const strValue=null==sanitizer?renderStringify(value):sanitizer(value,tagName||"",name);renderer.setAttribute(element,name,strValue,namespace)}}(lView[RENDERER],element,namespace,tNode.value,name,value,sanitizer)}function setInputsFromAttrs(lView,directiveIndex,instance,def,tNode,initialInputData){const initialInputs=initialInputData[directiveIndex];if(null!==initialInputs)for(let i6=0;i6{var _class9;class EffectManager2{constructor(){this.all=new Set,this.queue=new Map}create(effectFn,destroyRef,allowSignalWrites){const zone=typeof Zone>"u"?null:Zone.current,watch=new Watch(effectFn,watch2=>{this.all.has(watch2)&&this.queue.set(watch2,zone)},allowSignalWrites);let unregisterOnDestroy;this.all.add(watch),watch.notify();const destroy=()=>{watch.cleanup(),unregisterOnDestroy?.(),this.all.delete(watch),this.queue.delete(watch)};return unregisterOnDestroy=destroyRef?.onDestroy(destroy),{destroy}}flush(){if(0!==this.queue.size)for(const[watch,zone]of this.queue)this.queue.delete(watch),zone?zone.run(()=>watch.run()):watch.run()}get isQueueEmpty(){return 0===this.queue.size}}return(_class9=EffectManager2).\u0275prov=core_defineInjectable({token:_class9,providedIn:"root",factory:()=>new _class9}),EffectManager2})();function computeStaticStyling(tNode,attrs,writeToHost){let styles=writeToHost?tNode.styles:null,classes=writeToHost?tNode.classes:null,mode=0;if(null!==attrs)for(let i6=0;i60){detectChangesInEmbeddedViews(lView,1);const components=lView[TVIEW].components;null!==components&&detectChangesInChildComponents(lView,components,1)}}function detectChangesInChildComponents(hostLView,components,mode){for(let i6=0;i6-1&&(detachView(parent,index),removeFromArray(viewRefs,index))}this._attachedToViewContainer=!1}destroyLView(this._lView[TVIEW],this._lView)}onDestroy(callback){!function storeLViewOnDestroy(lView,onDestroyCallback){if(256==(256&lView[FLAGS]))throw new RuntimeError(911,!1);null===lView[ON_DESTROY_HOOKS]&&(lView[ON_DESTROY_HOOKS]=[]),lView[ON_DESTROY_HOOKS].push(onDestroyCallback)}(this._lView,callback)}markForCheck(){markViewDirty(this._cdRefInjectingView||this._lView)}detach(){this._lView[FLAGS]&=-129}reattach(){this._lView[FLAGS]|=128}detectChanges(){detectChangesInternal(this._lView[TVIEW],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new RuntimeError(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function detachViewFromDOM(tView,lView){applyView(tView,lView,lView[RENDERER],2,null,null)}(this._lView[TVIEW],this._lView)}attachToAppRef(appRef){if(this._attachedToViewContainer)throw new RuntimeError(902,!1);this._appRef=appRef}}class RootViewRef extends ViewRef$1{constructor(_view){super(_view),this._view=_view}detectChanges(){const lView=this._view;detectChangesInternal(lView[TVIEW],lView,lView[CONTEXT],!1)}checkNoChanges(){}get context(){return null}}class ComponentFactoryResolver extends ComponentFactoryResolver$1{constructor(ngModule){super(),this.ngModule=ngModule}resolveComponentFactory(component){const componentDef=getComponentDef(component);return new ComponentFactory(componentDef,this.ngModule)}}function toRefArray(map2){const array=[];for(let nonMinified in map2)map2.hasOwnProperty(nonMinified)&&array.push({propName:map2[nonMinified],templateName:nonMinified});return array}class ChainedInjector{constructor(injector,parentInjector){this.injector=injector,this.parentInjector=parentInjector}get(token,notFoundValue,flags){flags=convertToBitFlags(flags);const value=this.injector.get(token,NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR,flags);return value!==NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR||notFoundValue===NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR?value:this.parentInjector.get(token,notFoundValue,flags)}}class ComponentFactory extends ComponentFactory$1{get inputs(){const componentDef=this.componentDef,inputTransforms=componentDef.inputTransforms,refArray=toRefArray(componentDef.inputs);if(null!==inputTransforms)for(const input of refArray)inputTransforms.hasOwnProperty(input.propName)&&(input.transform=inputTransforms[input.propName]);return refArray}get outputs(){return toRefArray(this.componentDef.outputs)}constructor(componentDef,ngModule){super(),this.componentDef=componentDef,this.ngModule=ngModule,this.componentType=componentDef.type,this.selector=function stringifyCSSSelectorList(selectorList){return selectorList.map(stringifyCSSSelector).join(",")}(componentDef.selectors),this.ngContentSelectors=componentDef.ngContentSelectors?componentDef.ngContentSelectors:[],this.isBoundToModule=!!ngModule}create(injector,projectableNodes,rootSelectorOrNode,environmentInjector){let realEnvironmentInjector=(environmentInjector=environmentInjector||this.ngModule)instanceof core_EnvironmentInjector?environmentInjector:environmentInjector?.injector;realEnvironmentInjector&&null!==this.componentDef.getStandaloneInjector&&(realEnvironmentInjector=this.componentDef.getStandaloneInjector(realEnvironmentInjector)||realEnvironmentInjector);const rootViewInjector=realEnvironmentInjector?new ChainedInjector(injector,realEnvironmentInjector):injector,rendererFactory=rootViewInjector.get(RendererFactory2,null);if(null===rendererFactory)throw new RuntimeError(407,!1);const environment2={rendererFactory,sanitizer:rootViewInjector.get(Sanitizer,null),effectManager:rootViewInjector.get(EffectManager,null),afterRenderEventManager:rootViewInjector.get(AfterRenderEventManager,null)},hostRenderer=rendererFactory.createRenderer(null,this.componentDef),elementName=this.componentDef.selectors[0][0]||"div",hostRNode=rootSelectorOrNode?function locateHostElement(renderer,elementOrSelector,encapsulation,injector){const preserveContent=injector.get(PRESERVE_HOST_CONTENT,!1)||encapsulation===ViewEncapsulation$1.ShadowDom,rootElement=renderer.selectRootElement(elementOrSelector,preserveContent);return function applyRootElementTransform(rootElement){_applyRootElementTransformImpl(rootElement)}(rootElement),rootElement}(hostRenderer,rootSelectorOrNode,this.componentDef.encapsulation,rootViewInjector):createElementNode(hostRenderer,elementName,function getNamespace(elementName){const name=elementName.toLowerCase();return"svg"===name?SVG_NAMESPACE:"math"===name?"math":null}(elementName)),rootFlags=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let hydrationInfo=null;null!==hostRNode&&(hydrationInfo=retrieveHydrationInfo(hostRNode,rootViewInjector,!0));const rootTView=createTView(0,null,null,1,0,null,null,null,null,null,null),rootLView=createLView(null,rootTView,null,rootFlags,null,null,environment2,hostRenderer,rootViewInjector,null,hydrationInfo);let component,tElementNode;enterView(rootLView);try{const rootComponentDef=this.componentDef;let rootDirectives,hostDirectiveDefs=null;rootComponentDef.findHostDirectiveDefs?(rootDirectives=[],hostDirectiveDefs=new Map,rootComponentDef.findHostDirectiveDefs(rootComponentDef,rootDirectives,hostDirectiveDefs),rootDirectives.push(rootComponentDef)):rootDirectives=[rootComponentDef];const componentView=function createRootComponentView(tNode,hostRNode,rootComponentDef,rootDirectives,rootView,environment2,hostRenderer){const tView=rootView[TVIEW];!function applyRootComponentStyling(rootDirectives,tNode,rNode,hostRenderer){for(const def of rootDirectives)tNode.mergedAttrs=mergeHostAttrs(tNode.mergedAttrs,def.hostAttrs);null!==tNode.mergedAttrs&&(computeStaticStyling(tNode,tNode.mergedAttrs,!0),null!==rNode&&setupStaticAttributes(hostRenderer,rNode,tNode))}(rootDirectives,tNode,hostRNode,hostRenderer);let hydrationInfo=null;null!==hostRNode&&(hydrationInfo=retrieveHydrationInfo(hostRNode,rootView[INJECTOR$1]));const viewRenderer=environment2.rendererFactory.createRenderer(hostRNode,rootComponentDef);let lViewFlags=16;rootComponentDef.signals?lViewFlags=4096:rootComponentDef.onPush&&(lViewFlags=64);const componentView=createLView(rootView,getOrCreateComponentTView(rootComponentDef),null,lViewFlags,rootView[tNode.index],tNode,environment2,viewRenderer,null,null,hydrationInfo);return tView.firstCreatePass&&markAsComponentHost(tView,tNode,rootDirectives.length-1),addToViewTree(rootView,componentView),rootView[tNode.index]=componentView}(function createRootComponentTNode(lView,rNode){const tView=lView[TVIEW],index=HEADER_OFFSET;return lView[index]=rNode,getOrCreateTNode(tView,index,2,"#host",null)}(rootLView,hostRNode),hostRNode,rootComponentDef,rootDirectives,rootLView,environment2,hostRenderer);tElementNode=getTNode(rootTView,HEADER_OFFSET),hostRNode&&function setRootNodeAttributes(hostRenderer,componentDef,hostRNode,rootSelectorOrNode){if(rootSelectorOrNode)setUpAttributes(hostRenderer,hostRNode,["ng-version",core_VERSION.full]);else{const{attrs,classes}=function extractAttrsAndClassesFromSelector(selector){const attrs=[],classes=[];let i6=1,mode=2;for(;i60&&writeDirectClass(hostRenderer,hostRNode,classes.join(" "))}}(hostRenderer,rootComponentDef,hostRNode,rootSelectorOrNode),void 0!==projectableNodes&&function projectNodes(tNode,ngContentSelectors,projectableNodes){const projection=tNode.projection=[];for(let i6=0;i6=0;i6--){const def=inheritanceChain[i6];def.hostVars=hostVars+=def.hostVars,def.hostAttrs=mergeHostAttrs(def.hostAttrs,hostAttrs=mergeHostAttrs(hostAttrs,def.hostAttrs))}}(inheritanceChain)}function maybeUnwrapEmpty(value){return value===EMPTY_OBJ?{}:value===EMPTY_ARRAY?[]:value}function inheritViewQuery(definition,superViewQuery){const prevViewQuery=definition.viewQuery;definition.viewQuery=prevViewQuery?(rf,ctx)=>{superViewQuery(rf,ctx),prevViewQuery(rf,ctx)}:superViewQuery}function inheritContentQueries(definition,superContentQueries){const prevContentQueries=definition.contentQueries;definition.contentQueries=prevContentQueries?(rf,ctx,directiveIndex)=>{superContentQueries(rf,ctx,directiveIndex),prevContentQueries(rf,ctx,directiveIndex)}:superContentQueries}function inheritHostBindings(definition,superHostBindings){const prevHostBindings=definition.hostBindings;definition.hostBindings=prevHostBindings?(rf,ctx)=>{superHostBindings(rf,ctx),prevHostBindings(rf,ctx)}:superHostBindings}function isListLikeIterable(obj){return!!isJsObject(obj)&&(Array.isArray(obj)||!(obj instanceof Map)&&Symbol.iterator in obj)}function isJsObject(o){return null!==o&&("function"==typeof o||"object"==typeof o)}function updateBinding(lView,bindingIndex,value){return lView[bindingIndex]=value}function bindingUpdated(lView,bindingIndex,value){return!Object.is(lView[bindingIndex],value)&&(lView[bindingIndex]=value,!0)}function bindingUpdated2(lView,bindingIndex,exp1,exp2){const different=bindingUpdated(lView,bindingIndex,exp1);return bindingUpdated(lView,bindingIndex+1,exp2)||different}function \u0275\u0275attribute(name,value,sanitizer,namespace){const lView=getLView();return bindingUpdated(lView,nextBindingIndex(),value)&&(getTView(),elementAttributeInternal(getSelectedTNode(),lView,name,value,sanitizer,namespace)),\u0275\u0275attribute}function interpolation2(lView,prefix,v0,i02,v1,suffix){const different=bindingUpdated2(lView,function getBindingIndex(){return instructionState.lFrame.bindingIndex}(),v0,v1);return incrementBindingIndex(2),different?prefix+renderStringify(v0)+i02+renderStringify(v1)+suffix:NO_CHANGE}function \u0275\u0275template(index,templateFn,decls,vars,tagName,attrsIndex,localRefsIndex,localRefExtractor){const lView=getLView(),tView=getTView(),adjustedIndex=index+HEADER_OFFSET,tNode=tView.firstCreatePass?function templateFirstCreatePass(index,tView,lView,templateFn,decls,vars,tagName,attrsIndex,localRefsIndex){const tViewConsts=tView.consts,tNode=getOrCreateTNode(tView,index,4,tagName||null,getConstant(tViewConsts,attrsIndex));resolveDirectives(tView,lView,tNode,getConstant(tViewConsts,localRefsIndex)),registerPostOrderHooks(tView,tNode);const embeddedTView=tNode.tView=createTView(2,tNode,templateFn,decls,vars,tView.directiveRegistry,tView.pipeRegistry,null,tView.schemas,tViewConsts,null);return null!==tView.queries&&(tView.queries.template(tView,tNode),embeddedTView.queries=tView.queries.embeddedTView(tNode)),tNode}(adjustedIndex,tView,lView,templateFn,decls,vars,tagName,attrsIndex,localRefsIndex):tView.data[adjustedIndex];setCurrentTNode(tNode,!1);const comment=_locateOrCreateContainerAnchor(tView,lView,tNode,index);wasLastNodeCreated()&&appendChild(tView,lView,comment,tNode),attachPatchData(comment,lView),addToViewTree(lView,lView[adjustedIndex]=createLContainer(comment,lView,comment,tNode)),isDirectiveHost(tNode)&&createDirectivesInstances(tView,lView,tNode),null!=localRefsIndex&&saveResolvedLocalsInData(lView,tNode,localRefExtractor)}let _locateOrCreateContainerAnchor=function createContainerAnchorImpl(tView,lView,tNode,index){return lastNodeWasCreated(!0),lView[RENDERER].createComment("")};function \u0275\u0275reference(index){return load(function getContextLView(){return instructionState.lFrame.contextLView}(),HEADER_OFFSET+index)}function \u0275\u0275property(propName,value,sanitizer){const lView=getLView();return bindingUpdated(lView,nextBindingIndex(),value)&&elementPropertyInternal(getTView(),getSelectedTNode(),lView,propName,value,lView[RENDERER],sanitizer,!1),\u0275\u0275property}function setDirectiveInputsWhichShadowsStyling(tView,tNode,lView,value,isClassBased){const property=isClassBased?"class":"style";setInputsForProperty(tView,lView,tNode.inputs[property],property,value)}function \u0275\u0275elementStart(index,name,attrsIndex,localRefsIndex){const lView=getLView(),tView=getTView(),adjustedIndex=HEADER_OFFSET+index,renderer=lView[RENDERER],tNode=tView.firstCreatePass?function elementStartFirstCreatePass(index,tView,lView,name,attrsIndex,localRefsIndex){const tViewConsts=tView.consts,tNode=getOrCreateTNode(tView,index,2,name,getConstant(tViewConsts,attrsIndex));return resolveDirectives(tView,lView,tNode,getConstant(tViewConsts,localRefsIndex)),null!==tNode.attrs&&computeStaticStyling(tNode,tNode.attrs,!1),null!==tNode.mergedAttrs&&computeStaticStyling(tNode,tNode.mergedAttrs,!0),null!==tView.queries&&tView.queries.elementStart(tView,tNode),tNode}(adjustedIndex,tView,lView,name,attrsIndex,localRefsIndex):tView.data[adjustedIndex],native=_locateOrCreateElementNode(tView,lView,tNode,renderer,name,index);lView[adjustedIndex]=native;const hasDirectives=isDirectiveHost(tNode);return setCurrentTNode(tNode,!0),setupStaticAttributes(renderer,native,tNode),32!=(32&tNode.flags)&&wasLastNodeCreated()&&appendChild(tView,lView,native,tNode),0===function getElementDepthCount(){return instructionState.lFrame.elementDepthCount}()&&attachPatchData(native,lView),function increaseElementDepthCount(){instructionState.lFrame.elementDepthCount++}(),hasDirectives&&(createDirectivesInstances(tView,lView,tNode),executeContentQueries(tView,tNode,lView)),null!==localRefsIndex&&saveResolvedLocalsInData(lView,tNode),\u0275\u0275elementStart}function \u0275\u0275elementEnd(){let currentTNode=getCurrentTNode();isCurrentTNodeParent()?setCurrentTNodeAsNotParent():(currentTNode=currentTNode.parent,setCurrentTNode(currentTNode,!1));const tNode=currentTNode;(function isSkipHydrationRootTNode(tNode){return instructionState.skipHydrationRootTNode===tNode})(tNode)&&function leaveSkipHydrationBlock(){instructionState.skipHydrationRootTNode=null}(),function decreaseElementDepthCount(){instructionState.lFrame.elementDepthCount--}();const tView=getTView();return tView.firstCreatePass&&(registerPostOrderHooks(tView,currentTNode),isContentQueryHost(currentTNode)&&tView.queries.elementEnd(currentTNode)),null!=tNode.classesWithoutHost&&function hasClassInput(tNode){return 0!=(8&tNode.flags)}(tNode)&&setDirectiveInputsWhichShadowsStyling(tView,tNode,getLView(),tNode.classesWithoutHost,!0),null!=tNode.stylesWithoutHost&&function hasStyleInput(tNode){return 0!=(16&tNode.flags)}(tNode)&&setDirectiveInputsWhichShadowsStyling(tView,tNode,getLView(),tNode.stylesWithoutHost,!1),\u0275\u0275elementEnd}function \u0275\u0275element(index,name,attrsIndex,localRefsIndex){return \u0275\u0275elementStart(index,name,attrsIndex,localRefsIndex),\u0275\u0275elementEnd(),\u0275\u0275element}let _locateOrCreateElementNode=(tView,lView,tNode,renderer,name,index)=>(lastNodeWasCreated(!0),createElementNode(renderer,name,function getNamespace$1(){return instructionState.lFrame.currentNamespace}()));function \u0275\u0275elementContainerStart(index,attrsIndex,localRefsIndex){const lView=getLView(),tView=getTView(),adjustedIndex=index+HEADER_OFFSET,tNode=tView.firstCreatePass?function elementContainerStartFirstCreatePass(index,tView,lView,attrsIndex,localRefsIndex){const tViewConsts=tView.consts,attrs=getConstant(tViewConsts,attrsIndex),tNode=getOrCreateTNode(tView,index,8,"ng-container",attrs);return null!==attrs&&computeStaticStyling(tNode,attrs,!0),resolveDirectives(tView,lView,tNode,getConstant(tViewConsts,localRefsIndex)),null!==tView.queries&&tView.queries.elementStart(tView,tNode),tNode}(adjustedIndex,tView,lView,attrsIndex,localRefsIndex):tView.data[adjustedIndex];setCurrentTNode(tNode,!0);const comment=_locateOrCreateElementContainerNode(tView,lView,tNode,index);return lView[adjustedIndex]=comment,wasLastNodeCreated()&&appendChild(tView,lView,comment,tNode),attachPatchData(comment,lView),isDirectiveHost(tNode)&&(createDirectivesInstances(tView,lView,tNode),executeContentQueries(tView,tNode,lView)),null!=localRefsIndex&&saveResolvedLocalsInData(lView,tNode),\u0275\u0275elementContainerStart}function \u0275\u0275elementContainerEnd(){let currentTNode=getCurrentTNode();const tView=getTView();return isCurrentTNodeParent()?setCurrentTNodeAsNotParent():(currentTNode=currentTNode.parent,setCurrentTNode(currentTNode,!1)),tView.firstCreatePass&&(registerPostOrderHooks(tView,currentTNode),isContentQueryHost(currentTNode)&&tView.queries.elementEnd(currentTNode)),\u0275\u0275elementContainerEnd}function \u0275\u0275elementContainer(index,attrsIndex,localRefsIndex){return \u0275\u0275elementContainerStart(index,attrsIndex,localRefsIndex),\u0275\u0275elementContainerEnd(),\u0275\u0275elementContainer}let _locateOrCreateElementContainerNode=(tView,lView,tNode,index)=>(lastNodeWasCreated(!0),createCommentNode(lView[RENDERER],""));function \u0275\u0275getCurrentView(){return getLView()}function core_isPromise(obj){return!!obj&&"function"==typeof obj.then}function \u0275\u0275listener(eventName,listenerFn,useCapture,eventTargetResolver){const lView=getLView(),tView=getTView(),tNode=getCurrentTNode();return listenerInternal(tView,lView,lView[RENDERER],tNode,eventName,listenerFn,eventTargetResolver),\u0275\u0275listener}function \u0275\u0275syntheticHostListener(eventName,listenerFn){const tNode=getCurrentTNode(),lView=getLView(),tView=getTView();return listenerInternal(tView,lView,loadComponentRenderer(getCurrentDirectiveDef(tView.data),tNode,lView),tNode,eventName,listenerFn),\u0275\u0275syntheticHostListener}function listenerInternal(tView,lView,renderer,tNode,eventName,listenerFn,eventTargetResolver){const isTNodeDirectiveHost=isDirectiveHost(tNode),tCleanup=tView.firstCreatePass&&getOrCreateTViewCleanup(tView),context2=lView[CONTEXT],lCleanup=getOrCreateLViewCleanup(lView);let processOutputs=!0;if(3&tNode.type||eventTargetResolver){const native=getNativeByTNode(tNode,lView),target=eventTargetResolver?eventTargetResolver(native):native,lCleanupIndex=lCleanup.length,idxOrTargetGetter=eventTargetResolver?_lView=>eventTargetResolver(unwrapRNode(_lView[tNode.index])):tNode.index;let existingListener=null;if(!eventTargetResolver&&isTNodeDirectiveHost&&(existingListener=function findExistingListener(tView,lView,eventName,tNodeIdx){const tCleanup=tView.cleanup;if(null!=tCleanup)for(let i6=0;i6listenerIdxInLCleanup?lCleanup[listenerIdxInLCleanup]:null}"string"==typeof cleanupEventName&&(i6+=2)}return null}(tView,lView,eventName,tNode.index)),null!==existingListener)(existingListener.__ngLastListenerFn__||existingListener).__ngNextListenerFn__=listenerFn,existingListener.__ngLastListenerFn__=listenerFn,processOutputs=!1;else{listenerFn=wrapListener(tNode,lView,context2,listenerFn,!1);const cleanupFn=renderer.listen(target,eventName,listenerFn);lCleanup.push(listenerFn,cleanupFn),tCleanup&&tCleanup.push(eventName,idxOrTargetGetter,lCleanupIndex,lCleanupIndex+1)}}else listenerFn=wrapListener(tNode,lView,context2,listenerFn,!1);const outputs=tNode.outputs;let props;if(processOutputs&&null!==outputs&&(props=outputs[eventName])){const propsLength=props.length;if(propsLength)for(let i6=0;i6-1?getComponentLViewByIndex(tNode.index,lView):lView);let result=executeListenerWithErrorHandling(lView,context2,listenerFn,e2),nextListenerFn=wrapListenerIn_markDirtyAndPreventDefault.__ngNextListenerFn__;for(;nextListenerFn;)result=executeListenerWithErrorHandling(lView,context2,nextListenerFn,e2)&&result,nextListenerFn=nextListenerFn.__ngNextListenerFn__;return wrapWithPreventDefault&&!1===result&&e2.preventDefault(),result}}function \u0275\u0275nextContext(level=1){return function nextContextImpl(level){return(instructionState.lFrame.contextLView=function walkUpViews(nestingLevel,currentView){for(;nestingLevel>0;)currentView=currentView[DECLARATION_VIEW],nestingLevel--;return currentView}(level,instructionState.lFrame.contextLView))[CONTEXT]}(level)}function matchingProjectionSlotIndex(tNode,projectionSlots){let wildcardNgContentIndex=null;const ngProjectAsAttrVal=function getProjectAsAttrValue(tNode){const nodeAttrs=tNode.attrs;if(null!=nodeAttrs){const ngProjectAsAttrIdx=nodeAttrs.indexOf(5);if(!(1&ngProjectAsAttrIdx))return nodeAttrs[ngProjectAsAttrIdx+1]}return null}(tNode);for(let i6=0;i6>17&32767}function setTStylingRangePrevDuplicate(tStylingRange){return 2|tStylingRange}function getTStylingRangeNext(tStylingRange){return(131068&tStylingRange)>>2}function setTStylingRangeNext(tStylingRange,next){return-131069&tStylingRange|next<<2}function setTStylingRangeNextDuplicate(tStylingRange){return 1|tStylingRange}function markDuplicates(tData,tStylingKey,index,isPrevDir,isClassBinding){const tStylingAtIndex=tData[index+1],isMap=null===tStylingKey;let cursor=isPrevDir?getTStylingRangePrev(tStylingAtIndex):getTStylingRangeNext(tStylingAtIndex),foundDuplicate=!1;for(;0!==cursor&&(!1===foundDuplicate||isMap);){const tStyleRangeAtCursor=tData[cursor+1];isStylingMatch(tData[cursor],tStylingKey)&&(foundDuplicate=!0,tData[cursor+1]=isPrevDir?setTStylingRangeNextDuplicate(tStyleRangeAtCursor):setTStylingRangePrevDuplicate(tStyleRangeAtCursor)),cursor=isPrevDir?getTStylingRangePrev(tStyleRangeAtCursor):getTStylingRangeNext(tStyleRangeAtCursor)}foundDuplicate&&(tData[index+1]=isPrevDir?setTStylingRangePrevDuplicate(tStylingAtIndex):setTStylingRangeNextDuplicate(tStylingAtIndex))}function isStylingMatch(tStylingKeyCursor,tStylingKey){return null===tStylingKeyCursor||null==tStylingKey||(Array.isArray(tStylingKeyCursor)?tStylingKeyCursor[1]:tStylingKeyCursor)===tStylingKey||!(!Array.isArray(tStylingKeyCursor)||"string"!=typeof tStylingKey)&&keyValueArrayIndexOf(tStylingKeyCursor,tStylingKey)>=0}const parserState={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function getLastParsedKey(text){return text.substring(parserState.key,parserState.keyEnd)}function getLastParsedValue(text){return text.substring(parserState.value,parserState.valueEnd)}function parseStyleNext(text,startIndex){const end=parserState.textEnd;let index=parserState.key=consumeWhitespace(text,startIndex,end);return end===index?-1:(index=parserState.keyEnd=function consumeStyleKey(text,startIndex,endIndex){let ch;for(;startIndex=65&&(-33&ch)<=90||ch>=48&&ch<=57);)startIndex++;return startIndex}(text,index,end),index=consumeSeparator(text,index,end),index=parserState.value=consumeWhitespace(text,index,end),index=parserState.valueEnd=function consumeStyleValue(text,startIndex,endIndex){let ch1=-1,ch2=-1,ch3=-1,i6=startIndex,lastChIndex=i6;for(;i632&&(lastChIndex=i6),ch3=ch2,ch2=ch1,ch1=-33&ch}return lastChIndex}(text,index,end),consumeSeparator(text,index,end))}function consumeWhitespace(text,startIndex,endIndex){for(;startIndex=0;i6=parseStyleNext(text,i6))styleKeyValueArraySet(keyValueArray,getLastParsedKey(text),getLastParsedValue(text))}function checkStylingProperty(prop2,value,suffix,isClassBased){const lView=getLView(),tView=getTView(),bindingIndex=incrementBindingIndex(2);tView.firstUpdatePass&&stylingFirstUpdatePass(tView,prop2,bindingIndex,isClassBased),value!==NO_CHANGE&&bindingUpdated(lView,bindingIndex,value)&&updateStyling(tView,tView.data[getSelectedIndex()],lView,lView[RENDERER],prop2,lView[bindingIndex+1]=function normalizeSuffix(value,suffix){return null==value||""===value||("string"==typeof suffix?value+=suffix:"object"==typeof value&&(value=stringify(unwrapSafeValue(value)))),value}(value,suffix),isClassBased,bindingIndex)}function isInHostBindings(tView,bindingIndex){return bindingIndex>=tView.expandoStartIndex}function stylingFirstUpdatePass(tView,tStylingKey,bindingIndex,isClassBased){const tData=tView.data;if(null===tData[bindingIndex+1]){const tNode=tData[getSelectedIndex()],isHostBindings=isInHostBindings(tView,bindingIndex);hasStylingInputShadow(tNode,isClassBased)&&null===tStylingKey&&!isHostBindings&&(tStylingKey=!1),tStylingKey=function wrapInStaticStylingKey(tData,tNode,stylingKey,isClassBased){const hostDirectiveDef=getCurrentDirectiveDef(tData);let residual=isClassBased?tNode.residualClasses:tNode.residualStyles;if(null===hostDirectiveDef)0===(isClassBased?tNode.classBindings:tNode.styleBindings)&&(stylingKey=collectStylingFromTAttrs(stylingKey=collectStylingFromDirectives(null,tData,tNode,stylingKey,isClassBased),tNode.attrs,isClassBased),residual=null);else{const directiveStylingLast=tNode.directiveStylingLast;if(-1===directiveStylingLast||tData[directiveStylingLast]!==hostDirectiveDef)if(stylingKey=collectStylingFromDirectives(hostDirectiveDef,tData,tNode,stylingKey,isClassBased),null===residual){let templateStylingKey=function getTemplateHeadTStylingKey(tData,tNode,isClassBased){const bindings=isClassBased?tNode.classBindings:tNode.styleBindings;if(0!==getTStylingRangeNext(bindings))return tData[getTStylingRangePrev(bindings)]}(tData,tNode,isClassBased);void 0!==templateStylingKey&&Array.isArray(templateStylingKey)&&(templateStylingKey=collectStylingFromDirectives(null,tData,tNode,templateStylingKey[1],isClassBased),templateStylingKey=collectStylingFromTAttrs(templateStylingKey,tNode.attrs,isClassBased),function setTemplateHeadTStylingKey(tData,tNode,isClassBased,tStylingKey){tData[getTStylingRangePrev(isClassBased?tNode.classBindings:tNode.styleBindings)]=tStylingKey}(tData,tNode,isClassBased,templateStylingKey))}else residual=function collectResidual(tData,tNode,isClassBased){let residual;const directiveEnd=tNode.directiveEnd;for(let i6=1+tNode.directiveStylingLast;i60)&&(isKeyDuplicateOfStatic=!0)):tStylingKey=tStylingKeyWithStatic,isHostBinding)if(0!==tmplTail){const previousNode=getTStylingRangePrev(tData[tmplHead+1]);tData[index+1]=toTStylingRange(previousNode,tmplHead),0!==previousNode&&(tData[previousNode+1]=setTStylingRangeNext(tData[previousNode+1],index)),tData[tmplHead+1]=function setTStylingRangePrev(tStylingRange,previous){return 131071&tStylingRange|previous<<17}(tData[tmplHead+1],index)}else tData[index+1]=toTStylingRange(tmplHead,0),0!==tmplHead&&(tData[tmplHead+1]=setTStylingRangeNext(tData[tmplHead+1],index)),tmplHead=index;else tData[index+1]=toTStylingRange(tmplTail,0),0===tmplHead?tmplHead=index:tData[tmplTail+1]=setTStylingRangeNext(tData[tmplTail+1],index),tmplTail=index;isKeyDuplicateOfStatic&&(tData[index+1]=setTStylingRangePrevDuplicate(tData[index+1])),markDuplicates(tData,tStylingKey,index,!0),markDuplicates(tData,tStylingKey,index,!1),function markDuplicateOfResidualStyling(tNode,tStylingKey,tData,index,isClassBinding){const residual=isClassBinding?tNode.residualClasses:tNode.residualStyles;null!=residual&&"string"==typeof tStylingKey&&keyValueArrayIndexOf(residual,tStylingKey)>=0&&(tData[index+1]=setTStylingRangeNextDuplicate(tData[index+1]))}(tNode,tStylingKey,tData,index,isClassBinding),tBindings=toTStylingRange(tmplHead,tmplTail),isClassBinding?tNode.classBindings=tBindings:tNode.styleBindings=tBindings}(tData,tNode,tStylingKey,bindingIndex,isHostBindings,isClassBased)}}function collectStylingFromDirectives(hostDirectiveDef,tData,tNode,stylingKey,isClassBased){let currentDirective=null;const directiveEnd=tNode.directiveEnd;let directiveStylingLast=tNode.directiveStylingLast;for(-1===directiveStylingLast?directiveStylingLast=tNode.directiveStart:directiveStylingLast++;directiveStylingLast0;){const rawKey=tData[index],containsStatics=Array.isArray(rawKey),key=containsStatics?rawKey[1]:rawKey,isStylingMap=null===key;let valueAtLViewIndex=lView[index+1];valueAtLViewIndex===NO_CHANGE&&(valueAtLViewIndex=isStylingMap?EMPTY_ARRAY:void 0);let currentValue=isStylingMap?keyValueArrayGet(valueAtLViewIndex,prop2):key===prop2?valueAtLViewIndex:void 0;if(containsStatics&&!isStylingValuePresent(currentValue)&&(currentValue=keyValueArrayGet(rawKey,prop2)),isStylingValuePresent(currentValue)&&(value=currentValue,isPrevDirection))return value;const tRange=tData[index+1];index=isPrevDirection?getTStylingRangePrev(tRange):getTStylingRangeNext(tRange)}if(null!==tNode){let residual=isClassBased?tNode.residualClasses:tNode.residualStyles;null!=residual&&(value=keyValueArrayGet(residual,prop2))}return value}function isStylingValuePresent(value){return void 0!==value}function hasStylingInputShadow(tNode,isClassBased){return 0!=(tNode.flags&(isClassBased?8:16))}function \u0275\u0275text(index,value=""){const lView=getLView(),tView=getTView(),adjustedIndex=index+HEADER_OFFSET,tNode=tView.firstCreatePass?getOrCreateTNode(tView,adjustedIndex,1,value,null):tView.data[adjustedIndex],textNative=_locateOrCreateTextNode(tView,lView,tNode,value,index);lView[adjustedIndex]=textNative,wasLastNodeCreated()&&appendChild(tView,lView,textNative,tNode),setCurrentTNode(tNode,!1)}let _locateOrCreateTextNode=(tView,lView,tNode,value,index)=>(lastNodeWasCreated(!0),function createTextNode(renderer,value){return renderer.createText(value)}(lView[RENDERER],value));function \u0275\u0275textInterpolate(v0){return \u0275\u0275textInterpolate1("",v0,""),\u0275\u0275textInterpolate}function \u0275\u0275textInterpolate1(prefix,v0,suffix){const lView=getLView(),interpolated=function interpolation1(lView,prefix,v0,suffix){return bindingUpdated(lView,nextBindingIndex(),v0)?prefix+renderStringify(v0)+suffix:NO_CHANGE}(lView,prefix,v0,suffix);return interpolated!==NO_CHANGE&&textBindingInternal(lView,getSelectedIndex(),interpolated),\u0275\u0275textInterpolate1}function \u0275\u0275textInterpolate2(prefix,v0,i02,v1,suffix){const lView=getLView(),interpolated=interpolation2(lView,prefix,v0,i02,v1,suffix);return interpolated!==NO_CHANGE&&textBindingInternal(lView,getSelectedIndex(),interpolated),\u0275\u0275textInterpolate2}function \u0275\u0275hostProperty(propName,value,sanitizer){const lView=getLView();return bindingUpdated(lView,nextBindingIndex(),value)&&elementPropertyInternal(getTView(),getSelectedTNode(),lView,propName,value,lView[RENDERER],sanitizer,!0),\u0275\u0275hostProperty}function \u0275\u0275syntheticHostProperty(propName,value,sanitizer){const lView=getLView();if(bindingUpdated(lView,nextBindingIndex(),value)){const tView=getTView(),tNode=getSelectedTNode();elementPropertyInternal(tView,tNode,lView,propName,value,loadComponentRenderer(getCurrentDirectiveDef(tView.data),tNode,lView),sanitizer,!0)}return \u0275\u0275syntheticHostProperty}let LOCALE_ID$1="en-US";function resolveProvider(provider,tInjectables,lInjectablesBlueprint,isComponent2,isViewProvider){if(provider=resolveForwardRef(provider),Array.isArray(provider))for(let i6=0;i6>20;if(isTypeProvider(provider)||!provider.multi){const factory2=new NodeInjectorFactory(providerFactory,isViewProvider,\u0275\u0275directiveInject),existingFactoryIndex=indexOf(token,tInjectables,isViewProvider?beginIndex:beginIndex+cptViewProvidersCount,endIndex);-1===existingFactoryIndex?(diPublicInInjector(getOrCreateNodeInjectorForNode(tNode,lView),tView,token),registerDestroyHooksIfSupported(tView,provider,tInjectables.length),tInjectables.push(token),tNode.directiveStart++,tNode.directiveEnd++,isViewProvider&&(tNode.providerIndexes+=1048576),lInjectablesBlueprint.push(factory2),lView.push(factory2)):(lInjectablesBlueprint[existingFactoryIndex]=factory2,lView[existingFactoryIndex]=factory2)}else{const existingProvidersFactoryIndex=indexOf(token,tInjectables,beginIndex+cptViewProvidersCount,endIndex),existingViewProvidersFactoryIndex=indexOf(token,tInjectables,beginIndex,beginIndex+cptViewProvidersCount),doesViewProvidersFactoryExist=existingViewProvidersFactoryIndex>=0&&lInjectablesBlueprint[existingViewProvidersFactoryIndex];if(isViewProvider&&!doesViewProvidersFactoryExist||!isViewProvider&&!(existingProvidersFactoryIndex>=0&&lInjectablesBlueprint[existingProvidersFactoryIndex])){diPublicInInjector(getOrCreateNodeInjectorForNode(tNode,lView),tView,token);const factory2=function multiFactory(factoryFn,index,isViewProvider,isComponent2,f){const factory2=new NodeInjectorFactory(factoryFn,isViewProvider,\u0275\u0275directiveInject);return factory2.multi=[],factory2.index=index,factory2.componentProviders=0,multiFactoryAdd(factory2,f,isComponent2&&!isViewProvider),factory2}(isViewProvider?multiViewProvidersFactoryResolver:multiProvidersFactoryResolver,lInjectablesBlueprint.length,isViewProvider,isComponent2,providerFactory);!isViewProvider&&doesViewProvidersFactoryExist&&(lInjectablesBlueprint[existingViewProvidersFactoryIndex].providerFactory=factory2),registerDestroyHooksIfSupported(tView,provider,tInjectables.length,0),tInjectables.push(token),tNode.directiveStart++,tNode.directiveEnd++,isViewProvider&&(tNode.providerIndexes+=1048576),lInjectablesBlueprint.push(factory2),lView.push(factory2)}else registerDestroyHooksIfSupported(tView,provider,existingProvidersFactoryIndex>-1?existingProvidersFactoryIndex:existingViewProvidersFactoryIndex,multiFactoryAdd(lInjectablesBlueprint[isViewProvider?existingViewProvidersFactoryIndex:existingProvidersFactoryIndex],providerFactory,!isViewProvider&&isComponent2));!isViewProvider&&isComponent2&&doesViewProvidersFactoryExist&&lInjectablesBlueprint[existingViewProvidersFactoryIndex].componentProviders++}}}function registerDestroyHooksIfSupported(tView,provider,contextIndex,indexInFactory){const providerIsTypeProvider=isTypeProvider(provider),providerIsClassProvider=function isClassProvider(value){return!!value.useClass}(provider);if(providerIsTypeProvider||providerIsClassProvider){const ngOnDestroy=(providerIsClassProvider?resolveForwardRef(provider.useClass):provider).prototype.ngOnDestroy;if(ngOnDestroy){const hooks=tView.destroyHooks||(tView.destroyHooks=[]);if(!providerIsTypeProvider&&provider.multi){const existingCallbacksIndex=hooks.indexOf(contextIndex);-1===existingCallbacksIndex?hooks.push(contextIndex,[indexInFactory,ngOnDestroy]):hooks[existingCallbacksIndex+1].push(indexInFactory,ngOnDestroy)}else hooks.push(contextIndex,ngOnDestroy)}}}function multiFactoryAdd(multiFactory2,factory2,isComponentProvider){return isComponentProvider&&multiFactory2.componentProviders++,multiFactory2.multi.push(factory2)-1}function indexOf(item,arr,begin,end){for(let i6=begin;i6{definition.providersResolver=(def,processProvidersFn)=>function providersResolver(def,providers,viewProviders){const tView=getTView();if(tView.firstCreatePass){const isComponent2=isComponentDef(def);resolveProvider(viewProviders,tView.data,tView.blueprint,isComponent2,!0),resolveProvider(providers,tView.data,tView.blueprint,isComponent2,!1)}}(def,processProvidersFn?processProvidersFn(providers):providers,viewProviders)}}class NgModuleRef$1{}class NgModuleFactory$1{}class NgModuleRef extends NgModuleRef$1{constructor(ngModuleType,_parent,additionalProviders){super(),this._parent=_parent,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new ComponentFactoryResolver(this);const ngModuleDef=function getNgModuleDef(type,throwNotFound){const ngModuleDef=type[NG_MOD_DEF]||null;if(!ngModuleDef&&!0===throwNotFound)throw new Error(`Type ${stringify(type)} does not have '\u0275mod' property.`);return ngModuleDef}(ngModuleType);this._bootstrapComponents=function maybeUnwrapFn(value){return value instanceof Function?value():value}(ngModuleDef.bootstrap),this._r3Injector=createInjectorWithoutInjectorInstances(ngModuleType,_parent,[{provide:NgModuleRef$1,useValue:this},{provide:ComponentFactoryResolver$1,useValue:this.componentFactoryResolver},...additionalProviders],stringify(ngModuleType),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(ngModuleType)}get injector(){return this._r3Injector}destroy(){const injector=this._r3Injector;!injector.destroyed&&injector.destroy(),this.destroyCbs.forEach(fn=>fn()),this.destroyCbs=null}onDestroy(callback){this.destroyCbs.push(callback)}}class NgModuleFactory extends NgModuleFactory$1{constructor(moduleType){super(),this.moduleType=moduleType}create(parentInjector){return new NgModuleRef(this.moduleType,parentInjector,[])}}function \u0275\u0275pureFunction0(slotOffset,pureFn,thisArg){const bindingIndex=getBindingRoot()+slotOffset,lView=getLView();return lView[bindingIndex]===NO_CHANGE?updateBinding(lView,bindingIndex,thisArg?pureFn.call(thisArg):pureFn()):function getBinding(lView,bindingIndex){return lView[bindingIndex]}(lView,bindingIndex)}function \u0275\u0275pureFunction1(slotOffset,pureFn,exp,thisArg){return function pureFunction1Internal(lView,bindingRoot,slotOffset,pureFn,exp,thisArg){const bindingIndex=bindingRoot+slotOffset;return bindingUpdated(lView,bindingIndex,exp)?updateBinding(lView,bindingIndex+1,thisArg?pureFn.call(thisArg,exp):pureFn(exp)):getPureFunctionReturnValue(lView,bindingIndex+1)}(getLView(),getBindingRoot(),slotOffset,pureFn,exp,thisArg)}function getPureFunctionReturnValue(lView,returnValueIndex){const lastReturnValue=lView[returnValueIndex];return lastReturnValue===NO_CHANGE?void 0:lastReturnValue}function pureFunction2Internal(lView,bindingRoot,slotOffset,pureFn,exp1,exp2,thisArg){const bindingIndex=bindingRoot+slotOffset;return bindingUpdated2(lView,bindingIndex,exp1,exp2)?updateBinding(lView,bindingIndex+2,thisArg?pureFn.call(thisArg,exp1,exp2):pureFn(exp1,exp2)):getPureFunctionReturnValue(lView,bindingIndex+2)}function pureFunction3Internal(lView,bindingRoot,slotOffset,pureFn,exp1,exp2,exp3,thisArg){const bindingIndex=bindingRoot+slotOffset;return function bindingUpdated3(lView,bindingIndex,exp1,exp2,exp3){const different=bindingUpdated2(lView,bindingIndex,exp1,exp2);return bindingUpdated(lView,bindingIndex+2,exp3)||different}(lView,bindingIndex,exp1,exp2,exp3)?updateBinding(lView,bindingIndex+3,thisArg?pureFn.call(thisArg,exp1,exp2,exp3):pureFn(exp1,exp2,exp3)):getPureFunctionReturnValue(lView,bindingIndex+3)}function \u0275\u0275pipe(index,pipeName){const tView=getTView();let pipeDef;const adjustedIndex=index+HEADER_OFFSET;tView.firstCreatePass?(pipeDef=function getPipeDef(name,registry){if(registry)for(let i6=registry.length-1;i6>=0;i6--){const pipeDef=registry[i6];if(name===pipeDef.name)return pipeDef}}(pipeName,tView.pipeRegistry),tView.data[adjustedIndex]=pipeDef,pipeDef.onDestroy&&(tView.destroyHooks??=[]).push(adjustedIndex,pipeDef.onDestroy)):pipeDef=tView.data[adjustedIndex];const pipeFactory=pipeDef.factory||(pipeDef.factory=getFactoryDef(pipeDef.type)),previousInjectImplementation=setInjectImplementation(\u0275\u0275directiveInject);try{const previousIncludeViewProviders=setIncludeViewProviders(!1),pipeInstance=pipeFactory();return setIncludeViewProviders(previousIncludeViewProviders),function store(tView,lView,index,value){index>=tView.data.length&&(tView.data[index]=null,tView.blueprint[index]=null),lView[index]=value}(tView,getLView(),adjustedIndex,pipeInstance),pipeInstance}finally{setInjectImplementation(previousInjectImplementation)}}function isPure(lView,index){return lView[TVIEW].data[index].pure}function _wrapInTimeout(fn){return value=>{setTimeout(fn,void 0,value)}}const core_EventEmitter=class EventEmitter_ extends Subject_Subject{constructor(isAsync=!1){super(),this.__isAsync=isAsync}emit(value){super.next(value)}subscribe(observerOrNext,error,complete){let nextFn=observerOrNext,errorFn=error||(()=>null),completeFn=complete;if(observerOrNext&&"object"==typeof observerOrNext){const observer=observerOrNext;nextFn=observer.next?.bind(observer),errorFn=observer.error?.bind(observer),completeFn=observer.complete?.bind(observer)}this.__isAsync&&(errorFn=_wrapInTimeout(errorFn),nextFn&&(nextFn=_wrapInTimeout(nextFn)),completeFn&&(completeFn=_wrapInTimeout(completeFn)));const sink=super.subscribe({next:nextFn,error:errorFn,complete:completeFn});return observerOrNext instanceof Subscription_Subscription&&observerOrNext.add(sink),sink}};function symbolIterator(){return this._results[Symbol.iterator]()}class QueryList{get changes(){return this._changes||(this._changes=new core_EventEmitter)}constructor(_emitDistinctChangesOnly=!1){this._emitDistinctChangesOnly=_emitDistinctChangesOnly,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const proto=QueryList.prototype;proto[Symbol.iterator]||(proto[Symbol.iterator]=symbolIterator)}get(index){return this._results[index]}map(fn){return this._results.map(fn)}filter(fn){return this._results.filter(fn)}find(fn){return this._results.find(fn)}reduce(fn,init2){return this._results.reduce(fn,init2)}forEach(fn){this._results.forEach(fn)}some(fn){return this._results.some(fn)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(resultsTree,identityAccessor){this.dirty=!1;const newResultFlat=function flatten(list2){return list2.flat(Number.POSITIVE_INFINITY)}(resultsTree);(this._changesDetected=!function arrayEquals(a,b,identityAccessor){if(a.length!==b.length)return!1;for(let i6=0;i60&&(lContainer[indexInContainer-1][NEXT]=lView),index{class TemplateRef2{}return TemplateRef2.__NG_ELEMENT_ID__=injectTemplateRef,TemplateRef2})();const ViewEngineTemplateRef=core_TemplateRef,R3TemplateRef=class extends ViewEngineTemplateRef{constructor(_declarationLView,_declarationTContainer,elementRef){super(),this._declarationLView=_declarationLView,this._declarationTContainer=_declarationTContainer,this.elementRef=elementRef}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(context2,injector){return this.createEmbeddedViewImpl(context2,injector)}createEmbeddedViewImpl(context2,injector,hydrationInfo){const embeddedLView=function createAndRenderEmbeddedLView(declarationLView,templateTNode,context2,options){const embeddedTView=templateTNode.tView,embeddedLView=createLView(declarationLView,embeddedTView,context2,4096&declarationLView[FLAGS]?4096:16,null,templateTNode,null,null,null,options?.injector??null,options?.hydrationInfo??null);embeddedLView[DECLARATION_LCONTAINER]=declarationLView[templateTNode.index];const declarationViewLQueries=declarationLView[QUERIES];return null!==declarationViewLQueries&&(embeddedLView[QUERIES]=declarationViewLQueries.createEmbeddedView(embeddedTView)),renderView(embeddedTView,embeddedLView,context2),embeddedLView}(this._declarationLView,this._declarationTContainer,context2,{injector,hydrationInfo});return new ViewRef$1(embeddedLView)}};function injectTemplateRef(){return createTemplateRef(getCurrentTNode(),getLView())}function createTemplateRef(hostTNode,hostLView){return 4&hostTNode.type?new R3TemplateRef(hostLView,hostTNode,createElementRef(hostTNode,hostLView)):null}let ViewContainerRef=(()=>{class ViewContainerRef2{}return ViewContainerRef2.__NG_ELEMENT_ID__=injectViewContainerRef,ViewContainerRef2})();function injectViewContainerRef(){return createContainerRef(getCurrentTNode(),getLView())}const VE_ViewContainerRef=ViewContainerRef,R3ViewContainerRef=class extends VE_ViewContainerRef{constructor(_lContainer,_hostTNode,_hostLView){super(),this._lContainer=_lContainer,this._hostTNode=_hostTNode,this._hostLView=_hostLView}get element(){return createElementRef(this._hostTNode,this._hostLView)}get injector(){return new NodeInjector(this._hostTNode,this._hostLView)}get parentInjector(){const parentLocation=getParentInjectorLocation(this._hostTNode,this._hostLView);if(hasParentInjector(parentLocation)){const parentView=getParentInjectorView(parentLocation,this._hostLView),injectorIndex=getParentInjectorIndex(parentLocation);return new NodeInjector(parentView[TVIEW].data[injectorIndex+8],parentView)}return new NodeInjector(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(index){const viewRefs=getViewRefs(this._lContainer);return null!==viewRefs&&viewRefs[index]||null}get length(){return this._lContainer.length-CONTAINER_HEADER_OFFSET}createEmbeddedView(templateRef,context2,indexOrOptions){let index,injector;"number"==typeof indexOrOptions?index=indexOrOptions:null!=indexOrOptions&&(index=indexOrOptions.index,injector=indexOrOptions.injector);const viewRef=templateRef.createEmbeddedViewImpl(context2||{},injector,null);return this.insertImpl(viewRef,index,false),viewRef}createComponent(componentFactoryOrType,indexOrOptions,injector,projectableNodes,environmentInjector){const isComponentFactory=componentFactoryOrType&&!function isType(v){return"function"==typeof v}(componentFactoryOrType);let index;if(isComponentFactory)index=indexOrOptions;else{const options=indexOrOptions||{};index=options.index,injector=options.injector,projectableNodes=options.projectableNodes,environmentInjector=options.environmentInjector||options.ngModuleRef}const componentFactory=isComponentFactory?componentFactoryOrType:new ComponentFactory(getComponentDef(componentFactoryOrType)),contextInjector=injector||this.parentInjector;if(!environmentInjector&&null==componentFactory.ngModule){const result=(isComponentFactory?contextInjector:this.parentInjector).get(core_EnvironmentInjector,null);result&&(environmentInjector=result)}getComponentDef(componentFactory.componentType??{});const componentRef=componentFactory.create(contextInjector,projectableNodes,null,environmentInjector);return this.insertImpl(componentRef.hostView,index,false),componentRef}insert(viewRef,index){return this.insertImpl(viewRef,index,!1)}insertImpl(viewRef,index,skipDomInsertion){const lView=viewRef._lView;if(function viewAttachedToContainer(view){return isLContainer(view[PARENT])}(lView)){const prevIdx=this.indexOf(viewRef);if(-1!==prevIdx)this.detach(prevIdx);else{const prevLContainer=lView[PARENT],prevVCRef=new R3ViewContainerRef(prevLContainer,prevLContainer[T_HOST],prevLContainer[PARENT]);prevVCRef.detach(prevVCRef.indexOf(viewRef))}}const adjustedIdx=this._adjustIndex(index),lContainer=this._lContainer;return addLViewToLContainer(lContainer,lView,adjustedIdx,!skipDomInsertion),viewRef.attachToViewContainerRef(),addToArray(getOrCreateViewRefs(lContainer),adjustedIdx,viewRef),viewRef}move(viewRef,newIndex){return this.insert(viewRef,newIndex)}indexOf(viewRef){const viewRefsArr=getViewRefs(this._lContainer);return null!==viewRefsArr?viewRefsArr.indexOf(viewRef):-1}remove(index){const adjustedIdx=this._adjustIndex(index,-1),detachedView=detachView(this._lContainer,adjustedIdx);detachedView&&(removeFromArray(getOrCreateViewRefs(this._lContainer),adjustedIdx),destroyLView(detachedView[TVIEW],detachedView))}detach(index){const adjustedIdx=this._adjustIndex(index,-1),view=detachView(this._lContainer,adjustedIdx);return view&&null!=removeFromArray(getOrCreateViewRefs(this._lContainer),adjustedIdx)?new ViewRef$1(view):null}_adjustIndex(index,shift=0){return index??this.length+shift}};function getViewRefs(lContainer){return lContainer[8]}function getOrCreateViewRefs(lContainer){return lContainer[8]||(lContainer[8]=[])}function createContainerRef(hostTNode,hostLView){let lContainer;const slotValue=hostLView[hostTNode.index];return isLContainer(slotValue)?lContainer=slotValue:(lContainer=createLContainer(slotValue,hostLView,null,hostTNode),hostLView[hostTNode.index]=lContainer,addToViewTree(hostLView,lContainer)),_locateOrCreateAnchorNode(lContainer,hostLView,hostTNode,slotValue),new R3ViewContainerRef(lContainer,hostTNode,hostLView)}let _locateOrCreateAnchorNode=function createAnchorNode(lContainer,hostLView,hostTNode,slotValue){if(lContainer[NATIVE])return;let commentNode;commentNode=8&hostTNode.type?unwrapRNode(slotValue):function insertAnchorNode(hostLView,hostTNode){const renderer=hostLView[RENDERER],commentNode=renderer.createComment(""),hostNative=getNativeByTNode(hostTNode,hostLView);return nativeInsertBefore(renderer,nativeParentNode(renderer,hostNative),commentNode,function nativeNextSibling(renderer,node2){return renderer.nextSibling(node2)}(renderer,hostNative),!1),commentNode}(hostLView,hostTNode),lContainer[NATIVE]=commentNode};class LQuery_{constructor(queryList){this.queryList=queryList,this.matches=null}clone(){return new LQuery_(this.queryList)}setDirty(){this.queryList.setDirty()}}class LQueries_{constructor(queries=[]){this.queries=queries}createEmbeddedView(tView){const tQueries=tView.queries;if(null!==tQueries){const noOfInheritedQueries=null!==tView.contentQueries?tView.contentQueries[0]:tQueries.length,viewLQueries=[];for(let i6=0;i60)result.push(lViewResults[i6/2]);else{const childQueryIndex=tQueryMatches[i6+1],declarationLContainer=lView[-tNodeIdx];for(let i7=CONTAINER_HEADER_OFFSET;i7{var _class14;class ApplicationInitStatus2{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((res,rej)=>{this.resolve=res,this.reject=rej}),this.appInits=fesm2022_core_inject(core_APP_INITIALIZER,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const asyncInitPromises=[];for(const appInits of this.appInits){const initResult=appInits();if(core_isPromise(initResult))asyncInitPromises.push(initResult);else if((obj=initResult)&&"function"==typeof obj.subscribe){const observableAsPromise=new Promise((resolve,reject)=>{initResult.subscribe({complete:resolve,error:reject})});asyncInitPromises.push(observableAsPromise)}}var obj;const complete=()=>{this.done=!0,this.resolve()};Promise.all(asyncInitPromises).then(()=>{complete()}).catch(e2=>{this.reject(e2)}),0===asyncInitPromises.length&&complete(),this.initialized=!0}}return(_class14=ApplicationInitStatus2).\u0275fac=function(t){return new(t||_class14)},_class14.\u0275prov=core_defineInjectable({token:_class14,factory:_class14.\u0275fac,providedIn:"root"}),ApplicationInitStatus2})();const LOCALE_ID=new InjectionToken("LocaleId",{providedIn:"root",factory:()=>fesm2022_core_inject(LOCALE_ID,core_InjectFlags.Optional|core_InjectFlags.SkipSelf)||function getGlobalLocale(){return typeof $localize<"u"&&$localize.locale||"en-US"}()});let InitialRenderPendingTasks=(()=>{var _class16;class InitialRenderPendingTasks2{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new BehaviorSubject_BehaviorSubject(!1)}add(){this.hasPendingTasks.next(!0);const taskId=this.taskId++;return this.pendingTasks.add(taskId),taskId}remove(taskId){this.pendingTasks.delete(taskId),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(_class16=InitialRenderPendingTasks2).\u0275fac=function(t){return new(t||_class16)},_class16.\u0275prov=core_defineInjectable({token:_class16,factory:_class16.\u0275fac,providedIn:"root"}),InitialRenderPendingTasks2})();function core_noop(...args){}class core_NgZone{constructor({enableLongStackTrace=!1,shouldCoalesceEventChangeDetection=!1,shouldCoalesceRunChangeDetection=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new core_EventEmitter(!1),this.onMicrotaskEmpty=new core_EventEmitter(!1),this.onStable=new core_EventEmitter(!1),this.onError=new core_EventEmitter(!1),typeof Zone>"u")throw new RuntimeError(908,!1);Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),enableLongStackTrace&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),this.shouldCoalesceEventChangeDetection=!shouldCoalesceRunChangeDetection&&shouldCoalesceEventChangeDetection,this.shouldCoalesceRunChangeDetection=shouldCoalesceRunChangeDetection,this.lastRequestAnimationFrameId=-1,this.nativeRequestAnimationFrame=function getNativeRequestAnimationFrame(){const isBrowser2="function"==typeof _global.requestAnimationFrame;let nativeRequestAnimationFrame=_global[isBrowser2?"requestAnimationFrame":"setTimeout"],nativeCancelAnimationFrame=_global[isBrowser2?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&nativeRequestAnimationFrame&&nativeCancelAnimationFrame){const unpatchedRequestAnimationFrame=nativeRequestAnimationFrame[Zone.__symbol__("OriginalDelegate")];unpatchedRequestAnimationFrame&&(nativeRequestAnimationFrame=unpatchedRequestAnimationFrame);const unpatchedCancelAnimationFrame=nativeCancelAnimationFrame[Zone.__symbol__("OriginalDelegate")];unpatchedCancelAnimationFrame&&(nativeCancelAnimationFrame=unpatchedCancelAnimationFrame)}return{nativeRequestAnimationFrame,nativeCancelAnimationFrame}}().nativeRequestAnimationFrame,function forkInnerZoneWithAngularBehavior(zone){const delayChangeDetectionForEventsDelegate=()=>{!function delayChangeDetectionForEvents(zone){zone.isCheckStableRunning||-1!==zone.lastRequestAnimationFrameId||(zone.lastRequestAnimationFrameId=zone.nativeRequestAnimationFrame.call(_global,()=>{zone.fakeTopEventTask||(zone.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{zone.lastRequestAnimationFrameId=-1,updateMicroTaskStatus(zone),zone.isCheckStableRunning=!0,checkStable(zone),zone.isCheckStableRunning=!1},void 0,()=>{},()=>{})),zone.fakeTopEventTask.invoke()}),updateMicroTaskStatus(zone))}(zone)};zone._inner=zone._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(delegate,current,target,task,applyThis,applyArgs)=>{try{return onEnter(zone),delegate.invokeTask(target,task,applyThis,applyArgs)}finally{(zone.shouldCoalesceEventChangeDetection&&"eventTask"===task.type||zone.shouldCoalesceRunChangeDetection)&&delayChangeDetectionForEventsDelegate(),onLeave(zone)}},onInvoke:(delegate,current,target,callback,applyThis,applyArgs,source)=>{try{return onEnter(zone),delegate.invoke(target,callback,applyThis,applyArgs,source)}finally{zone.shouldCoalesceRunChangeDetection&&delayChangeDetectionForEventsDelegate(),onLeave(zone)}},onHasTask:(delegate,current,target,hasTaskState)=>{delegate.hasTask(target,hasTaskState),current===target&&("microTask"==hasTaskState.change?(zone._hasPendingMicrotasks=hasTaskState.microTask,updateMicroTaskStatus(zone),checkStable(zone)):"macroTask"==hasTaskState.change&&(zone.hasPendingMacrotasks=hasTaskState.macroTask))},onHandleError:(delegate,current,target,error)=>(delegate.handleError(target,error),zone.runOutsideAngular(()=>zone.onError.emit(error)),!1)})}(this)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!core_NgZone.isInAngularZone())throw new RuntimeError(909,!1)}static assertNotInAngularZone(){if(core_NgZone.isInAngularZone())throw new RuntimeError(909,!1)}run(fn,applyThis,applyArgs){return this._inner.run(fn,applyThis,applyArgs)}runTask(fn,applyThis,applyArgs,name){const zone=this._inner,task=zone.scheduleEventTask("NgZoneEvent: "+name,fn,EMPTY_PAYLOAD,core_noop,core_noop);try{return zone.runTask(task,applyThis,applyArgs)}finally{zone.cancelTask(task)}}runGuarded(fn,applyThis,applyArgs){return this._inner.runGuarded(fn,applyThis,applyArgs)}runOutsideAngular(fn){return this._outer.run(fn)}}const EMPTY_PAYLOAD={};function checkStable(zone){if(0==zone._nesting&&!zone.hasPendingMicrotasks&&!zone.isStable)try{zone._nesting++,zone.onMicrotaskEmpty.emit(null)}finally{if(zone._nesting--,!zone.hasPendingMicrotasks)try{zone.runOutsideAngular(()=>zone.onStable.emit(null))}finally{zone.isStable=!0}}}function updateMicroTaskStatus(zone){zone.hasPendingMicrotasks=!!(zone._hasPendingMicrotasks||(zone.shouldCoalesceEventChangeDetection||zone.shouldCoalesceRunChangeDetection)&&-1!==zone.lastRequestAnimationFrameId)}function onEnter(zone){zone._nesting++,zone.isStable&&(zone.isStable=!1,zone.onUnstable.emit(null))}function onLeave(zone){zone._nesting--,checkStable(zone)}class NoopNgZone{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new core_EventEmitter,this.onMicrotaskEmpty=new core_EventEmitter,this.onStable=new core_EventEmitter,this.onError=new core_EventEmitter}run(fn,applyThis,applyArgs){return fn.apply(applyThis,applyArgs)}runGuarded(fn,applyThis,applyArgs){return fn.apply(applyThis,applyArgs)}runOutsideAngular(fn){return fn()}runTask(fn,applyThis,applyArgs,name){return fn.apply(applyThis,applyArgs)}}const ZONE_IS_STABLE_OBSERVABLE=new InjectionToken("",{providedIn:"root",factory:isStableFactory});function isStableFactory(){const zone=fesm2022_core_inject(core_NgZone);let _stable=!0;return merge_merge(new Observable_Observable(observer=>{_stable=zone.isStable&&!zone.hasPendingMacrotasks&&!zone.hasPendingMicrotasks,zone.runOutsideAngular(()=>{observer.next(_stable),observer.complete()})}),new Observable_Observable(observer=>{let stableSub;zone.runOutsideAngular(()=>{stableSub=zone.onStable.subscribe(()=>{core_NgZone.assertNotInAngularZone(),queueMicrotask(()=>{!_stable&&!zone.hasPendingMacrotasks&&!zone.hasPendingMicrotasks&&(_stable=!0,observer.next(!0))})})});const unstableSub=zone.onUnstable.subscribe(()=>{core_NgZone.assertInAngularZone(),_stable&&(_stable=!1,zone.runOutsideAngular(()=>{observer.next(!1)}))});return()=>{stableSub.unsubscribe(),unstableSub.unsubscribe()}}).pipe(share()))}const TESTABILITY=new InjectionToken(""),TESTABILITY_GETTER=new InjectionToken("");let _testabilityGetter,Testability=(()=>{var _class18;class Testability2{constructor(_ngZone,registry,testabilityGetter){this._ngZone=_ngZone,this.registry=registry,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,_testabilityGetter||(function setTestabilityGetter(getter){_testabilityGetter=getter}(testabilityGetter),testabilityGetter.addToWindow(registry)),this._watchAngularEvents(),_ngZone.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{core_NgZone.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let cb=this._callbacks.pop();clearTimeout(cb.timeoutId),cb.doneCb(this._didWork)}this._didWork=!1});else{let pending=this.getPendingTasks();this._callbacks=this._callbacks.filter(cb=>!cb.updateCb||!cb.updateCb(pending)||(clearTimeout(cb.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(cb,timeout,updateCb){let timeoutId=-1;timeout&&timeout>0&&(timeoutId=setTimeout(()=>{this._callbacks=this._callbacks.filter(cb2=>cb2.timeoutId!==timeoutId),cb(this._didWork,this.getPendingTasks())},timeout)),this._callbacks.push({doneCb:cb,timeoutId,updateCb})}whenStable(doneCb,timeout,updateCb){if(updateCb&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(doneCb,timeout,updateCb),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(token){this.registry.registerApplication(token,this)}unregisterApplication(token){this.registry.unregisterApplication(token)}findProviders(using,provider,exactMatch){return[]}}return(_class18=Testability2).\u0275fac=function(t){return new(t||_class18)(core_inject(core_NgZone),core_inject(TestabilityRegistry),core_inject(TESTABILITY_GETTER))},_class18.\u0275prov=core_defineInjectable({token:_class18,factory:_class18.\u0275fac}),Testability2})(),TestabilityRegistry=(()=>{var _class19;class TestabilityRegistry2{constructor(){this._applications=new Map}registerApplication(token,testability){this._applications.set(token,testability)}unregisterApplication(token){this._applications.delete(token)}unregisterAllApplications(){this._applications.clear()}getTestability(elem){return this._applications.get(elem)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(elem,findInAncestors=!0){return _testabilityGetter?.findTestabilityInTree(this,elem,findInAncestors)??null}}return(_class19=TestabilityRegistry2).\u0275fac=function(t){return new(t||_class19)},_class19.\u0275prov=core_defineInjectable({token:_class19,factory:_class19.\u0275fac,providedIn:"platform"}),TestabilityRegistry2})(),_platformInjector=null;const ALLOW_MULTIPLE_PLATFORMS=new InjectionToken("AllowMultipleToken"),PLATFORM_DESTROY_LISTENERS=new InjectionToken("PlatformDestroyListeners"),core_APP_BOOTSTRAP_LISTENER=new InjectionToken("appBootstrapListener");function createPlatformFactory(parentPlatformFactory,name,providers=[]){const desc=`Platform: ${name}`,marker=new InjectionToken(desc);return(extraProviders=[])=>{let platform=getPlatform();if(!platform||platform.injector.get(ALLOW_MULTIPLE_PLATFORMS,!1)){const platformProviders=[...providers,...extraProviders,{provide:marker,useValue:!0}];parentPlatformFactory?parentPlatformFactory(platformProviders):function createPlatform(injector){if(_platformInjector&&!_platformInjector.get(ALLOW_MULTIPLE_PLATFORMS,!1))throw new RuntimeError(400,!1);(function publishSignalConfiguration(){!function setThrowInvalidWriteToSignalError(fn){throwInvalidWriteToSignalErrorFn=fn}(()=>{throw new RuntimeError(600,!1)})})(),_platformInjector=injector;const platform=injector.get(PlatformRef);(function runPlatformInitializers(injector){injector.get(PLATFORM_INITIALIZER,null)?.forEach(init2=>init2())})(injector)}(function createPlatformInjector(providers=[],name){return core_Injector.create({name,providers:[{provide:INJECTOR_SCOPE,useValue:"platform"},{provide:PLATFORM_DESTROY_LISTENERS,useValue:new Set([()=>_platformInjector=null])},...providers]})}(platformProviders,desc))}return function assertPlatform(requiredToken){const platform=getPlatform();if(!platform)throw new RuntimeError(401,!1);return platform}()}}function getPlatform(){return _platformInjector?.get(PlatformRef)??null}let PlatformRef=(()=>{var _class20;class PlatformRef2{constructor(_injector){this._injector=_injector,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(moduleFactory,options){const ngZone=function getNgZone(ngZoneToUse="zone.js",options){return"noop"===ngZoneToUse?new NoopNgZone:"zone.js"===ngZoneToUse?new core_NgZone(options):ngZoneToUse}(options?.ngZone,function getNgZoneOptions(options){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:options?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:options?.runCoalescing??!1}}({eventCoalescing:options?.ngZoneEventCoalescing,runCoalescing:options?.ngZoneRunCoalescing}));return ngZone.run(()=>{const moduleRef=function createNgModuleRefWithProviders(moduleType,parentInjector,additionalProviders){return new NgModuleRef(moduleType,parentInjector,additionalProviders)}(moduleFactory.moduleType,this.injector,function internalProvideZoneChangeDetection(ngZoneFactory){return[{provide:core_NgZone,useFactory:ngZoneFactory},{provide:core_ENVIRONMENT_INITIALIZER,multi:!0,useFactory:()=>{const ngZoneChangeDetectionScheduler=fesm2022_core_inject(NgZoneChangeDetectionScheduler,{optional:!0});return()=>ngZoneChangeDetectionScheduler.initialize()}},{provide:INTERNAL_APPLICATION_ERROR_HANDLER,useFactory:ngZoneApplicationErrorHandlerFactory},{provide:ZONE_IS_STABLE_OBSERVABLE,useFactory:isStableFactory}]}(()=>ngZone)),exceptionHandler=moduleRef.injector.get(ErrorHandler,null);return ngZone.runOutsideAngular(()=>{const subscription=ngZone.onError.subscribe({next:error=>{exceptionHandler.handleError(error)}});moduleRef.onDestroy(()=>{remove(this._modules,moduleRef),subscription.unsubscribe()})}),function _callAndReportToErrorHandler(errorHandler2,ngZone,callback){try{const result=callback();return core_isPromise(result)?result.catch(e2=>{throw ngZone.runOutsideAngular(()=>errorHandler2.handleError(e2)),e2}):result}catch(e2){throw ngZone.runOutsideAngular(()=>errorHandler2.handleError(e2)),e2}}(exceptionHandler,ngZone,()=>{const initStatus=moduleRef.injector.get(ApplicationInitStatus);return initStatus.runInitializers(),initStatus.donePromise.then(()=>(function setLocaleId(localeId){assertDefined(localeId,"Expected localeId to be defined"),"string"==typeof localeId&&(LOCALE_ID$1=localeId.toLowerCase().replace(/_/g,"-"))}(moduleRef.injector.get(LOCALE_ID,"en-US")||"en-US"),this._moduleDoBootstrap(moduleRef),moduleRef))})})}bootstrapModule(moduleType,compilerOptions=[]){const options=optionsReducer({},compilerOptions);return function compileNgModuleFactory(injector,options,moduleType){const moduleFactory=new NgModuleFactory(moduleType);return Promise.resolve(moduleFactory)}(0,0,moduleType).then(moduleFactory=>this.bootstrapModuleFactory(moduleFactory,options))}_moduleDoBootstrap(moduleRef){const appRef=moduleRef.injector.get(core_ApplicationRef);if(moduleRef._bootstrapComponents.length>0)moduleRef._bootstrapComponents.forEach(f=>appRef.bootstrap(f));else{if(!moduleRef.instance.ngDoBootstrap)throw new RuntimeError(-403,!1);moduleRef.instance.ngDoBootstrap(appRef)}this._modules.push(moduleRef)}onDestroy(callback){this._destroyListeners.push(callback)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new RuntimeError(404,!1);this._modules.slice().forEach(module=>module.destroy()),this._destroyListeners.forEach(listener=>listener());const destroyListeners=this._injector.get(PLATFORM_DESTROY_LISTENERS,null);destroyListeners&&(destroyListeners.forEach(listener=>listener()),destroyListeners.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(_class20=PlatformRef2).\u0275fac=function(t){return new(t||_class20)(core_inject(core_Injector))},_class20.\u0275prov=core_defineInjectable({token:_class20,factory:_class20.\u0275fac,providedIn:"platform"}),PlatformRef2})();function optionsReducer(dst,objs){return Array.isArray(objs)?objs.reduce(optionsReducer,dst):{...dst,...objs}}let core_ApplicationRef=(()=>{var _class21;class ApplicationRef2{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fesm2022_core_inject(INTERNAL_APPLICATION_ERROR_HANDLER),this.zoneIsStable=fesm2022_core_inject(ZONE_IS_STABLE_OBSERVABLE),this.componentTypes=[],this.components=[],this.isStable=fesm2022_core_inject(InitialRenderPendingTasks).hasPendingTasks.pipe(switchMap_switchMap(hasPendingTasks=>hasPendingTasks?of_of(!1):this.zoneIsStable),distinctUntilChanged_distinctUntilChanged(),share()),this._injector=fesm2022_core_inject(core_EnvironmentInjector)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(componentOrFactory,rootSelectorOrNode){const isComponentFactory=componentOrFactory instanceof ComponentFactory$1;if(!this._injector.get(ApplicationInitStatus).done)throw!isComponentFactory&&function isStandalone(type){const def=getComponentDef(type)||getDirectiveDef(type)||getPipeDef$1(type);return null!==def&&def.standalone}(componentOrFactory),new RuntimeError(405,!1);let componentFactory;componentFactory=isComponentFactory?componentOrFactory:this._injector.get(ComponentFactoryResolver$1).resolveComponentFactory(componentOrFactory),this.componentTypes.push(componentFactory.componentType);const ngModule=function isBoundToModule(cf){return cf.isBoundToModule}(componentFactory)?void 0:this._injector.get(NgModuleRef$1),compRef=componentFactory.create(core_Injector.NULL,[],rootSelectorOrNode||componentFactory.selector,ngModule),nativeElement=compRef.location.nativeElement,testability=compRef.injector.get(TESTABILITY,null);return testability?.registerApplication(nativeElement),compRef.onDestroy(()=>{this.detachView(compRef.hostView),remove(this.components,compRef),testability?.unregisterApplication(nativeElement)}),this._loadComponent(compRef),compRef}tick(){if(this._runningTick)throw new RuntimeError(101,!1);try{this._runningTick=!0;for(let view of this._views)view.detectChanges()}catch(e2){this.internalErrorHandler(e2)}finally{this._runningTick=!1}}attachView(viewRef){const view=viewRef;this._views.push(view),view.attachToAppRef(this)}detachView(viewRef){const view=viewRef;remove(this._views,view),view.detachFromAppRef()}_loadComponent(componentRef){this.attachView(componentRef.hostView),this.tick(),this.components.push(componentRef);const listeners=this._injector.get(core_APP_BOOTSTRAP_LISTENER,[]);listeners.push(...this._bootstrapListeners),listeners.forEach(listener=>listener(componentRef))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(listener=>listener()),this._views.slice().forEach(view=>view.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(callback){return this._destroyListeners.push(callback),()=>remove(this._destroyListeners,callback)}destroy(){if(this._destroyed)throw new RuntimeError(406,!1);const injector=this._injector;injector.destroy&&!injector.destroyed&&injector.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(_class21=ApplicationRef2).\u0275fac=function(t){return new(t||_class21)},_class21.\u0275prov=core_defineInjectable({token:_class21,factory:_class21.\u0275fac,providedIn:"root"}),ApplicationRef2})();function remove(list2,el){const index=list2.indexOf(el);index>-1&&list2.splice(index,1)}const INTERNAL_APPLICATION_ERROR_HANDLER=new InjectionToken("",{providedIn:"root",factory:()=>fesm2022_core_inject(ErrorHandler).handleError.bind(void 0)});function ngZoneApplicationErrorHandlerFactory(){const zone=fesm2022_core_inject(core_NgZone),userErrorHandler=fesm2022_core_inject(ErrorHandler);return e2=>zone.runOutsideAngular(()=>userErrorHandler.handleError(e2))}let NgZoneChangeDetectionScheduler=(()=>{var _class22;class NgZoneChangeDetectionScheduler2{constructor(){this.zone=fesm2022_core_inject(core_NgZone),this.applicationRef=fesm2022_core_inject(core_ApplicationRef)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(_class22=NgZoneChangeDetectionScheduler2).\u0275fac=function(t){return new(t||_class22)},_class22.\u0275prov=core_defineInjectable({token:_class22,factory:_class22.\u0275fac,providedIn:"root"}),NgZoneChangeDetectionScheduler2})();let ChangeDetectorRef=(()=>{class ChangeDetectorRef2{}return ChangeDetectorRef2.__NG_ELEMENT_ID__=injectChangeDetectorRef,ChangeDetectorRef2})();function injectChangeDetectorRef(flags){return function createViewRef(tNode,lView,isPipe2){if(isComponentHost(tNode)&&!isPipe2){const componentView=getComponentLViewByIndex(tNode.index,lView);return new ViewRef$1(componentView,componentView)}return 47&tNode.type?new ViewRef$1(lView[DECLARATION_COMPONENT_VIEW],lView):null}(getCurrentTNode(),getLView(),16==(16&flags))}class DefaultIterableDifferFactory{constructor(){}supports(obj){return isListLikeIterable(obj)}create(trackByFn){return new DefaultIterableDiffer(trackByFn)}}const trackByIdentity=(index,item)=>item;class DefaultIterableDiffer{constructor(trackByFn){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=trackByFn||trackByIdentity}forEachItem(fn){let record2;for(record2=this._itHead;null!==record2;record2=record2._next)fn(record2)}forEachOperation(fn){let nextIt=this._itHead,nextRemove=this._removalsHead,addRemoveOffset=0,moveOffsets=null;for(;nextIt||nextRemove;){const record2=!nextRemove||nextIt&&nextIt.currentIndex{itemTrackBy=this._trackByFn(index,item2),null!==record2&&Object.is(record2.trackById,itemTrackBy)?(mayBeDirty&&(record2=this._verifyReinsertion(record2,item2,itemTrackBy,index)),Object.is(record2.item,item2)||this._addIdentityChange(record2,item2)):(record2=this._mismatch(record2,item2,itemTrackBy,index),mayBeDirty=!0),record2=record2._next,index++}),this.length=index;return this._truncate(record2),this.collection=collection,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let record2;for(record2=this._previousItHead=this._itHead;null!==record2;record2=record2._next)record2._nextPrevious=record2._next;for(record2=this._additionsHead;null!==record2;record2=record2._nextAdded)record2.previousIndex=record2.currentIndex;for(this._additionsHead=this._additionsTail=null,record2=this._movesHead;null!==record2;record2=record2._nextMoved)record2.previousIndex=record2.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(record2,item,itemTrackBy,index){let previousRecord;return null===record2?previousRecord=this._itTail:(previousRecord=record2._prev,this._remove(record2)),null!==(record2=null===this._unlinkedRecords?null:this._unlinkedRecords.get(itemTrackBy,null))?(Object.is(record2.item,item)||this._addIdentityChange(record2,item),this._reinsertAfter(record2,previousRecord,index)):null!==(record2=null===this._linkedRecords?null:this._linkedRecords.get(itemTrackBy,index))?(Object.is(record2.item,item)||this._addIdentityChange(record2,item),this._moveAfter(record2,previousRecord,index)):record2=this._addAfter(new IterableChangeRecord_(item,itemTrackBy),previousRecord,index),record2}_verifyReinsertion(record2,item,itemTrackBy,index){let reinsertRecord=null===this._unlinkedRecords?null:this._unlinkedRecords.get(itemTrackBy,null);return null!==reinsertRecord?record2=this._reinsertAfter(reinsertRecord,record2._prev,index):record2.currentIndex!=index&&(record2.currentIndex=index,this._addToMoves(record2,index)),record2}_truncate(record2){for(;null!==record2;){const nextRecord=record2._next;this._addToRemovals(this._unlink(record2)),record2=nextRecord}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(record2,prevRecord,index){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(record2);const prev=record2._prevRemoved,next=record2._nextRemoved;return null===prev?this._removalsHead=next:prev._nextRemoved=next,null===next?this._removalsTail=prev:next._prevRemoved=prev,this._insertAfter(record2,prevRecord,index),this._addToMoves(record2,index),record2}_moveAfter(record2,prevRecord,index){return this._unlink(record2),this._insertAfter(record2,prevRecord,index),this._addToMoves(record2,index),record2}_addAfter(record2,prevRecord,index){return this._insertAfter(record2,prevRecord,index),this._additionsTail=null===this._additionsTail?this._additionsHead=record2:this._additionsTail._nextAdded=record2,record2}_insertAfter(record2,prevRecord,index){const next=null===prevRecord?this._itHead:prevRecord._next;return record2._next=next,record2._prev=prevRecord,null===next?this._itTail=record2:next._prev=record2,null===prevRecord?this._itHead=record2:prevRecord._next=record2,null===this._linkedRecords&&(this._linkedRecords=new _DuplicateMap),this._linkedRecords.put(record2),record2.currentIndex=index,record2}_remove(record2){return this._addToRemovals(this._unlink(record2))}_unlink(record2){null!==this._linkedRecords&&this._linkedRecords.remove(record2);const prev=record2._prev,next=record2._next;return null===prev?this._itHead=next:prev._next=next,null===next?this._itTail=prev:next._prev=prev,record2}_addToMoves(record2,toIndex){return record2.previousIndex===toIndex||(this._movesTail=null===this._movesTail?this._movesHead=record2:this._movesTail._nextMoved=record2),record2}_addToRemovals(record2){return null===this._unlinkedRecords&&(this._unlinkedRecords=new _DuplicateMap),this._unlinkedRecords.put(record2),record2.currentIndex=null,record2._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=record2,record2._prevRemoved=null):(record2._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=record2),record2}_addIdentityChange(record2,item){return record2.item=item,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=record2:this._identityChangesTail._nextIdentityChange=record2,record2}}class IterableChangeRecord_{constructor(item,trackById){this.item=item,this.trackById=trackById,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class _DuplicateItemRecordList{constructor(){this._head=null,this._tail=null}add(record2){null===this._head?(this._head=this._tail=record2,record2._nextDup=null,record2._prevDup=null):(this._tail._nextDup=record2,record2._prevDup=this._tail,record2._nextDup=null,this._tail=record2)}get(trackById,atOrAfterIndex){let record2;for(record2=this._head;null!==record2;record2=record2._nextDup)if((null===atOrAfterIndex||atOrAfterIndex<=record2.currentIndex)&&Object.is(record2.trackById,trackById))return record2;return null}remove(record2){const prev=record2._prevDup,next=record2._nextDup;return null===prev?this._head=next:prev._nextDup=next,null===next?this._tail=prev:next._prevDup=prev,null===this._head}}class _DuplicateMap{constructor(){this.map=new Map}put(record2){const key=record2.trackById;let duplicates=this.map.get(key);duplicates||(duplicates=new _DuplicateItemRecordList,this.map.set(key,duplicates)),duplicates.add(record2)}get(trackById,atOrAfterIndex){const recordList=this.map.get(trackById);return recordList?recordList.get(trackById,atOrAfterIndex):null}remove(record2){const key=record2.trackById;return this.map.get(key).remove(record2)&&this.map.delete(key),record2}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function getPreviousIndex(item,addRemoveOffset,moveOffsets){const previousIndex=item.previousIndex;if(null===previousIndex)return previousIndex;let moveOffset=0;return moveOffsets&&previousIndex{if(insertBefore&&insertBefore.key===key)this._maybeAddToChanges(insertBefore,value),this._appendAfter=insertBefore,insertBefore=insertBefore._next;else{const record2=this._getOrCreateRecordForKey(key,value);insertBefore=this._insertBeforeOrAppend(insertBefore,record2)}}),insertBefore){insertBefore._prev&&(insertBefore._prev._next=null),this._removalsHead=insertBefore;for(let record2=insertBefore;null!==record2;record2=record2._nextRemoved)record2===this._mapHead&&(this._mapHead=null),this._records.delete(record2.key),record2._nextRemoved=record2._next,record2.previousValue=record2.currentValue,record2.currentValue=null,record2._prev=null,record2._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(before,record2){if(before){const prev=before._prev;return record2._next=before,record2._prev=prev,before._prev=record2,prev&&(prev._next=record2),before===this._mapHead&&(this._mapHead=record2),this._appendAfter=before,before}return this._appendAfter?(this._appendAfter._next=record2,record2._prev=this._appendAfter):this._mapHead=record2,this._appendAfter=record2,null}_getOrCreateRecordForKey(key,value){if(this._records.has(key)){const record3=this._records.get(key);this._maybeAddToChanges(record3,value);const prev=record3._prev,next=record3._next;return prev&&(prev._next=next),next&&(next._prev=prev),record3._next=null,record3._prev=null,record3}const record2=new KeyValueChangeRecord_(key);return this._records.set(key,record2),record2.currentValue=value,this._addToAdditions(record2),record2}_reset(){if(this.isDirty){let record2;for(this._previousMapHead=this._mapHead,record2=this._previousMapHead;null!==record2;record2=record2._next)record2._nextPrevious=record2._next;for(record2=this._changesHead;null!==record2;record2=record2._nextChanged)record2.previousValue=record2.currentValue;for(record2=this._additionsHead;null!=record2;record2=record2._nextAdded)record2.previousValue=record2.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(record2,newValue){Object.is(newValue,record2.currentValue)||(record2.previousValue=record2.currentValue,record2.currentValue=newValue,this._addToChanges(record2))}_addToAdditions(record2){null===this._additionsHead?this._additionsHead=this._additionsTail=record2:(this._additionsTail._nextAdded=record2,this._additionsTail=record2)}_addToChanges(record2){null===this._changesHead?this._changesHead=this._changesTail=record2:(this._changesTail._nextChanged=record2,this._changesTail=record2)}_forEach(obj,fn){obj instanceof Map?obj.forEach(fn):Object.keys(obj).forEach(k=>fn(obj[k],k))}}class KeyValueChangeRecord_{constructor(key){this.key=key,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function defaultIterableDiffersFactory(){return new IterableDiffers([new DefaultIterableDifferFactory])}let IterableDiffers=(()=>{var _class24;class IterableDiffers2{constructor(factories){this.factories=factories}static create(factories,parent){if(null!=parent){const copied=parent.factories.slice();factories=factories.concat(copied)}return new IterableDiffers2(factories)}static extend(factories){return{provide:IterableDiffers2,useFactory:parent=>IterableDiffers2.create(factories,parent||defaultIterableDiffersFactory()),deps:[[IterableDiffers2,new core_SkipSelf,new core_Optional]]}}find(iterable){const factory2=this.factories.find(f=>f.supports(iterable));if(null!=factory2)return factory2;throw new RuntimeError(901,!1)}}return(_class24=IterableDiffers2).\u0275prov=core_defineInjectable({token:_class24,providedIn:"root",factory:defaultIterableDiffersFactory}),IterableDiffers2})();function defaultKeyValueDiffersFactory(){return new KeyValueDiffers([new DefaultKeyValueDifferFactory])}let KeyValueDiffers=(()=>{var _class25;class KeyValueDiffers2{constructor(factories){this.factories=factories}static create(factories,parent){if(parent){const copied=parent.factories.slice();factories=factories.concat(copied)}return new KeyValueDiffers2(factories)}static extend(factories){return{provide:KeyValueDiffers2,useFactory:parent=>KeyValueDiffers2.create(factories,parent||defaultKeyValueDiffersFactory()),deps:[[KeyValueDiffers2,new core_SkipSelf,new core_Optional]]}}find(kv){const factory2=this.factories.find(f=>f.supports(kv));if(factory2)return factory2;throw new RuntimeError(901,!1)}}return(_class25=KeyValueDiffers2).\u0275prov=core_defineInjectable({token:_class25,providedIn:"root",factory:defaultKeyValueDiffersFactory}),KeyValueDiffers2})();const platformCore=createPlatformFactory(null,"core",[]);let ApplicationModule=(()=>{var _class26;class ApplicationModule2{constructor(appRef){}}return(_class26=ApplicationModule2).\u0275fac=function(t){return new(t||_class26)(core_inject(core_ApplicationRef))},_class26.\u0275mod=\u0275\u0275defineNgModule({type:_class26}),_class26.\u0275inj=\u0275\u0275defineInjector({}),ApplicationModule2})();let _DOM=null;function getDOM(){return _DOM}class DomAdapter{}const common_DOCUMENT=new InjectionToken("DocumentToken");let PlatformLocation=(()=>{var _class2;class PlatformLocation2{historyGo(relativePosition){throw new Error("Not implemented")}}return(_class2=PlatformLocation2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:function(){return fesm2022_core_inject(BrowserPlatformLocation)},providedIn:"platform"}),PlatformLocation2})(),BrowserPlatformLocation=(()=>{var _class2;class BrowserPlatformLocation2 extends PlatformLocation{constructor(){super(),this._doc=fesm2022_core_inject(common_DOCUMENT),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return getDOM().getBaseHref(this._doc)}onPopState(fn){const window2=getDOM().getGlobalEventTarget(this._doc,"window");return window2.addEventListener("popstate",fn,!1),()=>window2.removeEventListener("popstate",fn)}onHashChange(fn){const window2=getDOM().getGlobalEventTarget(this._doc,"window");return window2.addEventListener("hashchange",fn,!1),()=>window2.removeEventListener("hashchange",fn)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(newPath){this._location.pathname=newPath}pushState(state2,title,url){this._history.pushState(state2,title,url)}replaceState(state2,title,url){this._history.replaceState(state2,title,url)}forward(){this._history.forward()}back(){this._history.back()}historyGo(relativePosition=0){this._history.go(relativePosition)}getState(){return this._history.state}}return(_class2=BrowserPlatformLocation2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:function(){return new _class2},providedIn:"platform"}),BrowserPlatformLocation2})();function joinWithSlash(start2,end){if(0==start2.length)return end;if(0==end.length)return start2;let slashes=0;return start2.endsWith("/")&&slashes++,end.startsWith("/")&&slashes++,2==slashes?start2+end.substring(1):1==slashes?start2+end:start2+"/"+end}function stripTrailingSlash(url){const match2=url.match(/#|\?|$/),pathEndIdx=match2&&match2.index||url.length;return url.slice(0,pathEndIdx-("/"===url[pathEndIdx-1]?1:0))+url.slice(pathEndIdx)}function normalizeQueryParams(params){return params&&"?"!==params[0]?"?"+params:params}let common_LocationStrategy=(()=>{var _class3;class LocationStrategy2{historyGo(relativePosition){throw new Error("Not implemented")}}return(_class3=LocationStrategy2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:function(){return fesm2022_core_inject(common_PathLocationStrategy)},providedIn:"root"}),LocationStrategy2})();const APP_BASE_HREF=new InjectionToken("appBaseHref");let common_PathLocationStrategy=(()=>{var _class4;class PathLocationStrategy2 extends common_LocationStrategy{constructor(_platformLocation,href){super(),this._platformLocation=_platformLocation,this._removeListenerFns=[],this._baseHref=href??this._platformLocation.getBaseHrefFromDOM()??fesm2022_core_inject(common_DOCUMENT).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(fn){this._removeListenerFns.push(this._platformLocation.onPopState(fn),this._platformLocation.onHashChange(fn))}getBaseHref(){return this._baseHref}prepareExternalUrl(internal){return joinWithSlash(this._baseHref,internal)}path(includeHash=!1){const pathname=this._platformLocation.pathname+normalizeQueryParams(this._platformLocation.search),hash=this._platformLocation.hash;return hash&&includeHash?`${pathname}${hash}`:pathname}pushState(state2,title,url,queryParams){const externalUrl=this.prepareExternalUrl(url+normalizeQueryParams(queryParams));this._platformLocation.pushState(state2,title,externalUrl)}replaceState(state2,title,url,queryParams){const externalUrl=this.prepareExternalUrl(url+normalizeQueryParams(queryParams));this._platformLocation.replaceState(state2,title,externalUrl)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(relativePosition=0){this._platformLocation.historyGo?.(relativePosition)}}return(_class4=PathLocationStrategy2).\u0275fac=function(t){return new(t||_class4)(core_inject(PlatformLocation),core_inject(APP_BASE_HREF,8))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac,providedIn:"root"}),PathLocationStrategy2})(),Location=(()=>{var _class6;class Location2{constructor(locationStrategy){this._subject=new core_EventEmitter,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=locationStrategy;const baseHref=this._locationStrategy.getBaseHref();this._basePath=function _stripOrigin(baseHref){if(new RegExp("^(https?:)?//").test(baseHref)){const[,pathname]=baseHref.split(/\/\/[^\/]+/);return pathname}return baseHref}(stripTrailingSlash(_stripIndexHtml(baseHref))),this._locationStrategy.onPopState(ev=>{this._subject.emit({url:this.path(!0),pop:!0,state:ev.state,type:ev.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(includeHash=!1){return this.normalize(this._locationStrategy.path(includeHash))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(path,query2=""){return this.path()==this.normalize(path+normalizeQueryParams(query2))}normalize(url){return Location2.stripTrailingSlash(function _stripBasePath(basePath,url){if(!basePath||!url.startsWith(basePath))return url;const strippedUrl=url.substring(basePath.length);return""===strippedUrl||["/",";","?","#"].includes(strippedUrl[0])?strippedUrl:url}(this._basePath,_stripIndexHtml(url)))}prepareExternalUrl(url){return url&&"/"!==url[0]&&(url="/"+url),this._locationStrategy.prepareExternalUrl(url)}go(path,query2="",state2=null){this._locationStrategy.pushState(state2,"",path,query2),this._notifyUrlChangeListeners(this.prepareExternalUrl(path+normalizeQueryParams(query2)),state2)}replaceState(path,query2="",state2=null){this._locationStrategy.replaceState(state2,"",path,query2),this._notifyUrlChangeListeners(this.prepareExternalUrl(path+normalizeQueryParams(query2)),state2)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(relativePosition=0){this._locationStrategy.historyGo?.(relativePosition)}onUrlChange(fn){return this._urlChangeListeners.push(fn),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(v=>{this._notifyUrlChangeListeners(v.url,v.state)})),()=>{const fnIndex=this._urlChangeListeners.indexOf(fn);this._urlChangeListeners.splice(fnIndex,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(url="",state2){this._urlChangeListeners.forEach(fn=>fn(url,state2))}subscribe(onNext,onThrow,onReturn){return this._subject.subscribe({next:onNext,error:onThrow,complete:onReturn})}}return(_class6=Location2).normalizeQueryParams=normalizeQueryParams,_class6.joinWithSlash=joinWithSlash,_class6.stripTrailingSlash=stripTrailingSlash,_class6.\u0275fac=function(t){return new(t||_class6)(core_inject(common_LocationStrategy))},_class6.\u0275prov=core_defineInjectable({token:_class6,factory:function(){return function createLocation(){return new Location(core_inject(common_LocationStrategy))}()},providedIn:"root"}),Location2})();function _stripIndexHtml(url){return url.replace(/\/index.html$/,"")}function parseCookieValue(cookieStr,name){name=encodeURIComponent(name);for(const cookie of cookieStr.split(";")){const eqIndex=cookie.indexOf("="),[cookieName,cookieValue]=-1==eqIndex?[cookie,""]:[cookie.slice(0,eqIndex),cookie.slice(eqIndex+1)];if(cookieName.trim()===name)return decodeURIComponent(cookieValue)}return null}const WS_REGEXP=/\s+/,common_EMPTY_ARRAY=[];let NgClass=(()=>{var _class9;class NgClass2{constructor(_iterableDiffers,_keyValueDiffers,_ngEl,_renderer){this._iterableDiffers=_iterableDiffers,this._keyValueDiffers=_keyValueDiffers,this._ngEl=_ngEl,this._renderer=_renderer,this.initialClasses=common_EMPTY_ARRAY,this.stateMap=new Map}set klass(value){this.initialClasses=null!=value?value.trim().split(WS_REGEXP):common_EMPTY_ARRAY}set ngClass(value){this.rawClass="string"==typeof value?value.trim().split(WS_REGEXP):value}ngDoCheck(){for(const klass of this.initialClasses)this._updateState(klass,!0);const rawClass=this.rawClass;if(Array.isArray(rawClass)||rawClass instanceof Set)for(const klass of rawClass)this._updateState(klass,!0);else if(null!=rawClass)for(const klass of Object.keys(rawClass))this._updateState(klass,!!rawClass[klass]);this._applyStateDiff()}_updateState(klass,nextEnabled){const state2=this.stateMap.get(klass);void 0!==state2?(state2.enabled!==nextEnabled&&(state2.changed=!0,state2.enabled=nextEnabled),state2.touched=!0):this.stateMap.set(klass,{enabled:nextEnabled,changed:!0,touched:!0})}_applyStateDiff(){for(const stateEntry of this.stateMap){const klass=stateEntry[0],state2=stateEntry[1];state2.changed?(this._toggleClass(klass,state2.enabled),state2.changed=!1):state2.touched||(state2.enabled&&this._toggleClass(klass,!1),this.stateMap.delete(klass)),state2.touched=!1}}_toggleClass(klass,enabled){(klass=klass.trim()).length>0&&klass.split(WS_REGEXP).forEach(klass2=>{enabled?this._renderer.addClass(this._ngEl.nativeElement,klass2):this._renderer.removeClass(this._ngEl.nativeElement,klass2)})}}return(_class9=NgClass2).\u0275fac=function(t){return new(t||_class9)(\u0275\u0275directiveInject(IterableDiffers),\u0275\u0275directiveInject(KeyValueDiffers),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_Renderer2))},_class9.\u0275dir=\u0275\u0275defineDirective({type:_class9,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),NgClass2})();class NgForOfContext{constructor($implicit,ngForOf,index,count){this.$implicit=$implicit,this.ngForOf=ngForOf,this.index=index,this.count=count}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let NgForOf=(()=>{var _class112;class NgForOf2{set ngForOf(ngForOf){this._ngForOf=ngForOf,this._ngForOfDirty=!0}set ngForTrackBy(fn){this._trackByFn=fn}get ngForTrackBy(){return this._trackByFn}constructor(_viewContainer,_template,_differs){this._viewContainer=_viewContainer,this._template=_template,this._differs=_differs,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(value){value&&(this._template=value)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const value=this._ngForOf;!this._differ&&value&&(this._differ=this._differs.find(value).create(this.ngForTrackBy))}if(this._differ){const changes=this._differ.diff(this._ngForOf);changes&&this._applyChanges(changes)}}_applyChanges(changes){const viewContainer=this._viewContainer;changes.forEachOperation((item,adjustedPreviousIndex,currentIndex)=>{if(null==item.previousIndex)viewContainer.createEmbeddedView(this._template,new NgForOfContext(item.item,this._ngForOf,-1,-1),null===currentIndex?void 0:currentIndex);else if(null==currentIndex)viewContainer.remove(null===adjustedPreviousIndex?void 0:adjustedPreviousIndex);else if(null!==adjustedPreviousIndex){const view=viewContainer.get(adjustedPreviousIndex);viewContainer.move(view,currentIndex),applyViewChange(view,item)}});for(let i6=0,ilen=viewContainer.length;i6{applyViewChange(viewContainer.get(record2.currentIndex),record2)})}static ngTemplateContextGuard(dir,ctx){return!0}}return(_class112=NgForOf2).\u0275fac=function(t){return new(t||_class112)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(IterableDiffers))},_class112.\u0275dir=\u0275\u0275defineDirective({type:_class112,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),NgForOf2})();function applyViewChange(view,record2){view.context.$implicit=record2.item}let NgIf=(()=>{var _class12;class NgIf2{constructor(_viewContainer,templateRef){this._viewContainer=_viewContainer,this._context=new NgIfContext,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=templateRef}set ngIf(condition){this._context.$implicit=this._context.ngIf=condition,this._updateView()}set ngIfThen(templateRef){assertTemplate("ngIfThen",templateRef),this._thenTemplateRef=templateRef,this._thenViewRef=null,this._updateView()}set ngIfElse(templateRef){assertTemplate("ngIfElse",templateRef),this._elseTemplateRef=templateRef,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(dir,ctx){return!0}}return(_class12=NgIf2).\u0275fac=function(t){return new(t||_class12)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_TemplateRef))},_class12.\u0275dir=\u0275\u0275defineDirective({type:_class12,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),NgIf2})();class NgIfContext{constructor(){this.$implicit=null,this.ngIf=null}}function assertTemplate(property,templateRef){if(templateRef&&!templateRef.createEmbeddedView)throw new Error(`${property} must be a TemplateRef, but received '${stringify(templateRef)}'.`)}class SwitchView{constructor(_viewContainerRef,_templateRef){this._viewContainerRef=_viewContainerRef,this._templateRef=_templateRef,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(created){created&&!this._created?this.create():!created&&this._created&&this.destroy()}}let NgSwitch=(()=>{var _class13;class NgSwitch2{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(newValue){this._ngSwitch=newValue,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(view){this._defaultViews.push(view)}_matchCase(value){const matched=value==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||matched,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),matched}_updateDefaultCases(useDefault){if(this._defaultViews.length>0&&useDefault!==this._defaultUsed){this._defaultUsed=useDefault;for(const defaultView of this._defaultViews)defaultView.enforceState(useDefault)}}}return(_class13=NgSwitch2).\u0275fac=function(t){return new(t||_class13)},_class13.\u0275dir=\u0275\u0275defineDirective({type:_class13,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0}),NgSwitch2})(),NgSwitchCase=(()=>{var _class14;class NgSwitchCase2{constructor(viewContainer,templateRef,ngSwitch){this.ngSwitch=ngSwitch,ngSwitch._addCase(),this._view=new SwitchView(viewContainer,templateRef)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return(_class14=NgSwitchCase2).\u0275fac=function(t){return new(t||_class14)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(NgSwitch,9))},_class14.\u0275dir=\u0275\u0275defineDirective({type:_class14,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),NgSwitchCase2})(),NgSwitchDefault=(()=>{var _class15;class NgSwitchDefault2{constructor(viewContainer,templateRef,ngSwitch){ngSwitch._addDefault(new SwitchView(viewContainer,templateRef))}}return(_class15=NgSwitchDefault2).\u0275fac=function(t){return new(t||_class15)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(NgSwitch,9))},_class15.\u0275dir=\u0275\u0275defineDirective({type:_class15,selectors:[["","ngSwitchDefault",""]],standalone:!0}),NgSwitchDefault2})(),NgTemplateOutlet=(()=>{var _class19;class NgTemplateOutlet2{constructor(_viewContainerRef){this._viewContainerRef=_viewContainerRef,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(changes){if(changes.ngTemplateOutlet||changes.ngTemplateOutletInjector){const viewContainerRef=this._viewContainerRef;if(this._viewRef&&viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:template,ngTemplateOutletContext:context2,ngTemplateOutletInjector:injector}=this;this._viewRef=viewContainerRef.createEmbeddedView(template,context2,injector?{injector}:void 0)}else this._viewRef=null}else this._viewRef&&changes.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return(_class19=NgTemplateOutlet2).\u0275fac=function(t){return new(t||_class19)(\u0275\u0275directiveInject(ViewContainerRef))},_class19.\u0275dir=\u0275\u0275defineDirective({type:_class19,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[\u0275\u0275NgOnChangesFeature]}),NgTemplateOutlet2})();let SlicePipe=(()=>{var _class32;class SlicePipe2{transform(value,start2,end){if(null==value)return null;if(!this.supports(value))throw function invalidPipeArgumentError(type,value){return new RuntimeError(2100,!1)}();return value.slice(start2,end)}supports(obj){return"string"==typeof obj||Array.isArray(obj)}}return(_class32=SlicePipe2).\u0275fac=function(t){return new(t||_class32)},_class32.\u0275pipe=\u0275\u0275definePipe({name:"slice",type:_class32,pure:!1,standalone:!0}),SlicePipe2})(),common_CommonModule=(()=>{var _class33;class CommonModule2{}return(_class33=CommonModule2).\u0275fac=function(t){return new(t||_class33)},_class33.\u0275mod=\u0275\u0275defineNgModule({type:_class33}),_class33.\u0275inj=\u0275\u0275defineInjector({}),CommonModule2})();function common_isPlatformServer(platformId){return"server"===platformId}class XhrFactory{}class GenericBrowserDomAdapter extends DomAdapter{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class BrowserDomAdapter extends GenericBrowserDomAdapter{static makeCurrent(){!function setRootDomAdapter(adapter){_DOM||(_DOM=adapter)}(new BrowserDomAdapter)}onAndCancel(el,evt,listener){return el.addEventListener(evt,listener),()=>{el.removeEventListener(evt,listener)}}dispatchEvent(el,evt){el.dispatchEvent(evt)}remove(node2){node2.parentNode&&node2.parentNode.removeChild(node2)}createElement(tagName,doc){return(doc=doc||this.getDefaultDocument()).createElement(tagName)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(node2){return node2.nodeType===Node.ELEMENT_NODE}isShadowRoot(node2){return node2 instanceof DocumentFragment}getGlobalEventTarget(doc,target){return"window"===target?window:"document"===target?doc:"body"===target?doc.body:null}getBaseHref(doc){const href=function getBaseElementHref(){return baseElement=baseElement||document.querySelector("base"),baseElement?baseElement.getAttribute("href"):null}();return null==href?null:function relativePath(url){urlParsingNode=urlParsingNode||document.createElement("a"),urlParsingNode.setAttribute("href",url);const pathName=urlParsingNode.pathname;return"/"===pathName.charAt(0)?pathName:`/${pathName}`}(href)}resetBaseElement(){baseElement=null}getUserAgent(){return window.navigator.userAgent}getCookie(name){return parseCookieValue(document.cookie,name)}}let urlParsingNode,baseElement=null,BrowserXhr=(()=>{var _class2;class BrowserXhr2{build(){return new XMLHttpRequest}}return(_class2=BrowserXhr2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),BrowserXhr2})();const EVENT_MANAGER_PLUGINS=new InjectionToken("EventManagerPlugins");let EventManager=(()=>{var _class2;class EventManager2{constructor(plugins,_zone){this._zone=_zone,this._eventNameToPlugin=new Map,plugins.forEach(plugin=>{plugin.manager=this}),this._plugins=plugins.slice().reverse()}addEventListener(element,eventName,handler){return this._findPluginFor(eventName).addEventListener(element,eventName,handler)}getZone(){return this._zone}_findPluginFor(eventName){let plugin=this._eventNameToPlugin.get(eventName);if(plugin)return plugin;if(plugin=this._plugins.find(plugin2=>plugin2.supports(eventName)),!plugin)throw new RuntimeError(5101,!1);return this._eventNameToPlugin.set(eventName,plugin),plugin}}return(_class2=EventManager2).\u0275fac=function(t){return new(t||_class2)(core_inject(EVENT_MANAGER_PLUGINS),core_inject(core_NgZone))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),EventManager2})();class EventManagerPlugin{constructor(_doc){this._doc=_doc}}let SharedStylesHost=(()=>{var _class3;class SharedStylesHost2{constructor(doc,appId,nonce,platformId={}){this.doc=doc,this.appId=appId,this.nonce=nonce,this.platformId=platformId,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=common_isPlatformServer(platformId),this.resetHostNodes()}addStyles(styles){for(const style2 of styles)1===this.changeUsageCount(style2,1)&&this.onStyleAdded(style2)}removeStyles(styles){for(const style2 of styles)this.changeUsageCount(style2,-1)<=0&&this.onStyleRemoved(style2)}ngOnDestroy(){const styleNodesInDOM=this.styleNodesInDOM;styleNodesInDOM&&(styleNodesInDOM.forEach(node2=>node2.remove()),styleNodesInDOM.clear());for(const style2 of this.getAllStyles())this.onStyleRemoved(style2);this.resetHostNodes()}addHost(hostNode){this.hostNodes.add(hostNode);for(const style2 of this.getAllStyles())this.addStyleToHost(hostNode,style2)}removeHost(hostNode){this.hostNodes.delete(hostNode)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(style2){for(const host of this.hostNodes)this.addStyleToHost(host,style2)}onStyleRemoved(style2){const styleRef=this.styleRef;styleRef.get(style2)?.elements?.forEach(node2=>node2.remove()),styleRef.delete(style2)}collectServerRenderedStyles(){const styles=this.doc.head?.querySelectorAll(`style[ng-app-id="${this.appId}"]`);if(styles?.length){const styleMap=new Map;return styles.forEach(style2=>{null!=style2.textContent&&styleMap.set(style2.textContent,style2)}),styleMap}return null}changeUsageCount(style2,delta){const map2=this.styleRef;if(map2.has(style2)){const styleRefValue=map2.get(style2);return styleRefValue.usage+=delta,styleRefValue.usage}return map2.set(style2,{usage:delta,elements:[]}),delta}getStyleElement(host,style2){const styleNodesInDOM=this.styleNodesInDOM,styleEl=styleNodesInDOM?.get(style2);if(styleEl?.parentNode===host)return styleNodesInDOM.delete(style2),styleEl.removeAttribute("ng-app-id"),styleEl;{const styleEl2=this.doc.createElement("style");return this.nonce&&styleEl2.setAttribute("nonce",this.nonce),styleEl2.textContent=style2,this.platformIsServer&&styleEl2.setAttribute("ng-app-id",this.appId),styleEl2}}addStyleToHost(host,style2){const styleEl=this.getStyleElement(host,style2);host.appendChild(styleEl);const styleRef=this.styleRef,styleElRef=styleRef.get(style2)?.elements;styleElRef?styleElRef.push(styleEl):styleRef.set(style2,{elements:[styleEl],usage:1})}resetHostNodes(){const hostNodes=this.hostNodes;hostNodes.clear(),hostNodes.add(this.doc.head)}}return(_class3=SharedStylesHost2).\u0275fac=function(t){return new(t||_class3)(core_inject(common_DOCUMENT),core_inject(APP_ID),core_inject(CSP_NONCE,8),core_inject(core_PLATFORM_ID))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac}),SharedStylesHost2})();const NAMESPACE_URIS={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},COMPONENT_REGEX=/%COMP%/g,REMOVE_STYLES_ON_COMPONENT_DESTROY=new InjectionToken("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function shimStylesContent(compId,styles){return styles.map(s=>s.replace(COMPONENT_REGEX,compId))}let DomRendererFactory2=(()=>{var _class4;class DomRendererFactory22{constructor(eventManager,sharedStylesHost,appId,removeStylesOnCompDestroy,doc,platformId,ngZone,nonce=null){this.eventManager=eventManager,this.sharedStylesHost=sharedStylesHost,this.appId=appId,this.removeStylesOnCompDestroy=removeStylesOnCompDestroy,this.doc=doc,this.platformId=platformId,this.ngZone=ngZone,this.nonce=nonce,this.rendererByCompId=new Map,this.platformIsServer=common_isPlatformServer(platformId),this.defaultRenderer=new DefaultDomRenderer2(eventManager,doc,ngZone,this.platformIsServer)}createRenderer(element,type){if(!element||!type)return this.defaultRenderer;this.platformIsServer&&type.encapsulation===ViewEncapsulation$1.ShadowDom&&(type={...type,encapsulation:ViewEncapsulation$1.Emulated});const renderer=this.getOrCreateRenderer(element,type);return renderer instanceof EmulatedEncapsulationDomRenderer2?renderer.applyToHost(element):renderer instanceof NoneEncapsulationDomRenderer&&renderer.applyStyles(),renderer}getOrCreateRenderer(element,type){const rendererByCompId=this.rendererByCompId;let renderer=rendererByCompId.get(type.id);if(!renderer){const doc=this.doc,ngZone=this.ngZone,eventManager=this.eventManager,sharedStylesHost=this.sharedStylesHost,removeStylesOnCompDestroy=this.removeStylesOnCompDestroy,platformIsServer=this.platformIsServer;switch(type.encapsulation){case ViewEncapsulation$1.Emulated:renderer=new EmulatedEncapsulationDomRenderer2(eventManager,sharedStylesHost,type,this.appId,removeStylesOnCompDestroy,doc,ngZone,platformIsServer);break;case ViewEncapsulation$1.ShadowDom:return new ShadowDomRenderer(eventManager,sharedStylesHost,element,type,doc,ngZone,this.nonce,platformIsServer);default:renderer=new NoneEncapsulationDomRenderer(eventManager,sharedStylesHost,type,removeStylesOnCompDestroy,doc,ngZone,platformIsServer)}rendererByCompId.set(type.id,renderer)}return renderer}ngOnDestroy(){this.rendererByCompId.clear()}}return(_class4=DomRendererFactory22).\u0275fac=function(t){return new(t||_class4)(core_inject(EventManager),core_inject(SharedStylesHost),core_inject(APP_ID),core_inject(REMOVE_STYLES_ON_COMPONENT_DESTROY),core_inject(common_DOCUMENT),core_inject(core_PLATFORM_ID),core_inject(core_NgZone),core_inject(CSP_NONCE))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac}),DomRendererFactory22})();class DefaultDomRenderer2{constructor(eventManager,doc,ngZone,platformIsServer){this.eventManager=eventManager,this.doc=doc,this.ngZone=ngZone,this.platformIsServer=platformIsServer,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(name,namespace){return namespace?this.doc.createElementNS(NAMESPACE_URIS[namespace]||namespace,name):this.doc.createElement(name)}createComment(value){return this.doc.createComment(value)}createText(value){return this.doc.createTextNode(value)}appendChild(parent,newChild){(platform_browser_isTemplateNode(parent)?parent.content:parent).appendChild(newChild)}insertBefore(parent,newChild,refChild){parent&&(platform_browser_isTemplateNode(parent)?parent.content:parent).insertBefore(newChild,refChild)}removeChild(parent,oldChild){parent&&parent.removeChild(oldChild)}selectRootElement(selectorOrNode,preserveContent){let el="string"==typeof selectorOrNode?this.doc.querySelector(selectorOrNode):selectorOrNode;if(!el)throw new RuntimeError(-5104,!1);return preserveContent||(el.textContent=""),el}parentNode(node2){return node2.parentNode}nextSibling(node2){return node2.nextSibling}setAttribute(el,name,value,namespace){if(namespace){name=namespace+":"+name;const namespaceUri=NAMESPACE_URIS[namespace];namespaceUri?el.setAttributeNS(namespaceUri,name,value):el.setAttribute(name,value)}else el.setAttribute(name,value)}removeAttribute(el,name,namespace){if(namespace){const namespaceUri=NAMESPACE_URIS[namespace];namespaceUri?el.removeAttributeNS(namespaceUri,name):el.removeAttribute(`${namespace}:${name}`)}else el.removeAttribute(name)}addClass(el,name){el.classList.add(name)}removeClass(el,name){el.classList.remove(name)}setStyle(el,style2,value,flags){flags&(RendererStyleFlags2.DashCase|RendererStyleFlags2.Important)?el.style.setProperty(style2,value,flags&RendererStyleFlags2.Important?"important":""):el.style[style2]=value}removeStyle(el,style2,flags){flags&RendererStyleFlags2.DashCase?el.style.removeProperty(style2):el.style[style2]=""}setProperty(el,name,value){el[name]=value}setValue(node2,value){node2.nodeValue=value}listen(target,event,callback){if("string"==typeof target&&!(target=getDOM().getGlobalEventTarget(this.doc,target)))throw new Error(`Unsupported event target ${target} for event ${event}`);return this.eventManager.addEventListener(target,event,this.decoratePreventDefault(callback))}decoratePreventDefault(eventHandler){return event=>{if("__ngUnwrap__"===event)return eventHandler;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>eventHandler(event)):eventHandler(event))&&event.preventDefault()}}}function platform_browser_isTemplateNode(node2){return"TEMPLATE"===node2.tagName&&void 0!==node2.content}class ShadowDomRenderer extends DefaultDomRenderer2{constructor(eventManager,sharedStylesHost,hostEl,component,doc,ngZone,nonce,platformIsServer){super(eventManager,doc,ngZone,platformIsServer),this.sharedStylesHost=sharedStylesHost,this.hostEl=hostEl,this.shadowRoot=hostEl.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const styles=shimStylesContent(component.id,component.styles);for(const style2 of styles){const styleEl=document.createElement("style");nonce&&styleEl.setAttribute("nonce",nonce),styleEl.textContent=style2,this.shadowRoot.appendChild(styleEl)}}nodeOrShadowRoot(node2){return node2===this.hostEl?this.shadowRoot:node2}appendChild(parent,newChild){return super.appendChild(this.nodeOrShadowRoot(parent),newChild)}insertBefore(parent,newChild,refChild){return super.insertBefore(this.nodeOrShadowRoot(parent),newChild,refChild)}removeChild(parent,oldChild){return super.removeChild(this.nodeOrShadowRoot(parent),oldChild)}parentNode(node2){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node2)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class NoneEncapsulationDomRenderer extends DefaultDomRenderer2{constructor(eventManager,sharedStylesHost,component,removeStylesOnCompDestroy,doc,ngZone,platformIsServer,compId){super(eventManager,doc,ngZone,platformIsServer),this.sharedStylesHost=sharedStylesHost,this.removeStylesOnCompDestroy=removeStylesOnCompDestroy,this.styles=compId?shimStylesContent(compId,component.styles):component.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer{constructor(eventManager,sharedStylesHost,component,appId,removeStylesOnCompDestroy,doc,ngZone,platformIsServer){const compId=appId+"-"+component.id;super(eventManager,sharedStylesHost,component,removeStylesOnCompDestroy,doc,ngZone,platformIsServer,compId),this.contentAttr=function shimContentAttribute(componentShortId){return"_ngcontent-%COMP%".replace(COMPONENT_REGEX,componentShortId)}(compId),this.hostAttr=function shimHostAttribute(componentShortId){return"_nghost-%COMP%".replace(COMPONENT_REGEX,componentShortId)}(compId)}applyToHost(element){this.applyStyles(),this.setAttribute(element,this.hostAttr,"")}createElement(parent,name){const el=super.createElement(parent,name);return super.setAttribute(el,this.contentAttr,""),el}}let DomEventsPlugin=(()=>{var _class5;class DomEventsPlugin2 extends EventManagerPlugin{constructor(doc){super(doc)}supports(eventName){return!0}addEventListener(element,eventName,handler){return element.addEventListener(eventName,handler,!1),()=>this.removeEventListener(element,eventName,handler)}removeEventListener(target,eventName,callback){return target.removeEventListener(eventName,callback)}}return(_class5=DomEventsPlugin2).\u0275fac=function(t){return new(t||_class5)(core_inject(common_DOCUMENT))},_class5.\u0275prov=core_defineInjectable({token:_class5,factory:_class5.\u0275fac}),DomEventsPlugin2})();const MODIFIER_KEYS=["alt","control","meta","shift"],_keyMap={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},MODIFIER_KEY_GETTERS={alt:event=>event.altKey,control:event=>event.ctrlKey,meta:event=>event.metaKey,shift:event=>event.shiftKey};let KeyEventsPlugin=(()=>{var _class6;class KeyEventsPlugin2 extends EventManagerPlugin{constructor(doc){super(doc)}supports(eventName){return null!=KeyEventsPlugin2.parseEventName(eventName)}addEventListener(element,eventName,handler){const parsedEvent=KeyEventsPlugin2.parseEventName(eventName),outsideHandler=KeyEventsPlugin2.eventCallback(parsedEvent.fullKey,handler,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>getDOM().onAndCancel(element,parsedEvent.domEventName,outsideHandler))}static parseEventName(eventName){const parts=eventName.toLowerCase().split("."),domEventName=parts.shift();if(0===parts.length||"keydown"!==domEventName&&"keyup"!==domEventName)return null;const key=KeyEventsPlugin2._normalizeKey(parts.pop());let fullKey="",codeIX=parts.indexOf("code");if(codeIX>-1&&(parts.splice(codeIX,1),fullKey="code."),MODIFIER_KEYS.forEach(modifierName=>{const index=parts.indexOf(modifierName);index>-1&&(parts.splice(index,1),fullKey+=modifierName+".")}),fullKey+=key,0!=parts.length||0===key.length)return null;const result={};return result.domEventName=domEventName,result.fullKey=fullKey,result}static matchEventFullKeyCode(event,fullKeyCode){let keycode=_keyMap[event.key]||event.key,key="";return fullKeyCode.indexOf("code.")>-1&&(keycode=event.code,key="code."),!(null==keycode||!keycode)&&(keycode=keycode.toLowerCase()," "===keycode?keycode="space":"."===keycode&&(keycode="dot"),MODIFIER_KEYS.forEach(modifierName=>{modifierName!==keycode&&(0,MODIFIER_KEY_GETTERS[modifierName])(event)&&(key+=modifierName+".")}),key+=keycode,key===fullKeyCode)}static eventCallback(fullKey,handler,zone){return event=>{KeyEventsPlugin2.matchEventFullKeyCode(event,fullKey)&&zone.runGuarded(()=>handler(event))}}static _normalizeKey(keyName){return"esc"===keyName?"escape":keyName}}return(_class6=KeyEventsPlugin2).\u0275fac=function(t){return new(t||_class6)(core_inject(common_DOCUMENT))},_class6.\u0275prov=core_defineInjectable({token:_class6,factory:_class6.\u0275fac}),KeyEventsPlugin2})();const platformBrowser=createPlatformFactory(platformCore,"browser",[{provide:core_PLATFORM_ID,useValue:"browser"},{provide:PLATFORM_INITIALIZER,useValue:function initDomAdapter(){BrowserDomAdapter.makeCurrent()},multi:!0},{provide:common_DOCUMENT,useFactory:function _document(){return function setDocument(document2){core_DOCUMENT=document2}(document),document},deps:[]}]),BROWSER_MODULE_PROVIDERS_MARKER=new InjectionToken(""),TESTABILITY_PROVIDERS=[{provide:TESTABILITY_GETTER,useClass:class BrowserGetTestability{addToWindow(registry){_global.getAngularTestability=(elem,findInAncestors=!0)=>{const testability=registry.findTestabilityInTree(elem,findInAncestors);if(null==testability)throw new RuntimeError(5103,!1);return testability},_global.getAllAngularTestabilities=()=>registry.getAllTestabilities(),_global.getAllAngularRootElements=()=>registry.getAllRootElements(),_global.frameworkStabilizers||(_global.frameworkStabilizers=[]),_global.frameworkStabilizers.push(callback=>{const testabilities=_global.getAllAngularTestabilities();let count=testabilities.length,didWork=!1;const decrement=function(didWork_){didWork=didWork||didWork_,count--,0==count&&callback(didWork)};testabilities.forEach(testability=>{testability.whenStable(decrement)})})}findTestabilityInTree(registry,elem,findInAncestors){return null==elem?null:registry.getTestability(elem)??(findInAncestors?getDOM().isShadowRoot(elem)?this.findTestabilityInTree(registry,elem.host,!0):this.findTestabilityInTree(registry,elem.parentElement,!0):null)}},deps:[]},{provide:TESTABILITY,useClass:Testability,deps:[core_NgZone,TestabilityRegistry,TESTABILITY_GETTER]},{provide:Testability,useClass:Testability,deps:[core_NgZone,TestabilityRegistry,TESTABILITY_GETTER]}],BROWSER_MODULE_PROVIDERS=[{provide:INJECTOR_SCOPE,useValue:"root"},{provide:ErrorHandler,useFactory:function errorHandler(){return new ErrorHandler},deps:[]},{provide:EVENT_MANAGER_PLUGINS,useClass:DomEventsPlugin,multi:!0,deps:[common_DOCUMENT,core_NgZone,core_PLATFORM_ID]},{provide:EVENT_MANAGER_PLUGINS,useClass:KeyEventsPlugin,multi:!0,deps:[common_DOCUMENT]},DomRendererFactory2,SharedStylesHost,EventManager,{provide:RendererFactory2,useExisting:DomRendererFactory2},{provide:XhrFactory,useClass:BrowserXhr,deps:[]},[]];let platform_browser_BrowserModule=(()=>{var _class7;class BrowserModule2{constructor(providersAlreadyPresent){}static withServerTransition(params){return{ngModule:BrowserModule2,providers:[{provide:APP_ID,useValue:params.appId}]}}}return(_class7=BrowserModule2).\u0275fac=function(t){return new(t||_class7)(core_inject(BROWSER_MODULE_PROVIDERS_MARKER,12))},_class7.\u0275mod=\u0275\u0275defineNgModule({type:_class7}),_class7.\u0275inj=\u0275\u0275defineInjector({providers:[...BROWSER_MODULE_PROVIDERS,...TESTABILITY_PROVIDERS],imports:[common_CommonModule,ApplicationModule]}),BrowserModule2})();typeof window<"u"&&window;let DomSanitizer=(()=>{var _class13;class DomSanitizer2{}return(_class13=DomSanitizer2).\u0275fac=function(t){return new(t||_class13)},_class13.\u0275prov=core_defineInjectable({token:_class13,factory:function(t){let r2=null;return r2=t?new(t||_class13):core_inject(DomSanitizerImpl),r2},providedIn:"root"}),DomSanitizer2})(),DomSanitizerImpl=(()=>{var _class14;class DomSanitizerImpl2 extends DomSanitizer{constructor(_doc){super(),this._doc=_doc}sanitize(ctx,value){if(null==value)return null;switch(ctx){case SecurityContext.NONE:return value;case SecurityContext.HTML:return allowSanitizationBypassAndThrow(value,"HTML")?unwrapSafeValue(value):_sanitizeHtml(this._doc,String(value)).toString();case SecurityContext.STYLE:return allowSanitizationBypassAndThrow(value,"Style")?unwrapSafeValue(value):value;case SecurityContext.SCRIPT:if(allowSanitizationBypassAndThrow(value,"Script"))return unwrapSafeValue(value);throw new RuntimeError(5200,!1);case SecurityContext.URL:return allowSanitizationBypassAndThrow(value,"URL")?unwrapSafeValue(value):_sanitizeUrl(String(value));case SecurityContext.RESOURCE_URL:if(allowSanitizationBypassAndThrow(value,"ResourceURL"))return unwrapSafeValue(value);throw new RuntimeError(5201,!1);default:throw new RuntimeError(5202,!1)}}bypassSecurityTrustHtml(value){return function bypassSanitizationTrustHtml(trustedHtml){return new SafeHtmlImpl(trustedHtml)}(value)}bypassSecurityTrustStyle(value){return function bypassSanitizationTrustStyle(trustedStyle){return new SafeStyleImpl(trustedStyle)}(value)}bypassSecurityTrustScript(value){return function bypassSanitizationTrustScript(trustedScript){return new SafeScriptImpl(trustedScript)}(value)}bypassSecurityTrustUrl(value){return function bypassSanitizationTrustUrl(trustedUrl){return new SafeUrlImpl(trustedUrl)}(value)}bypassSecurityTrustResourceUrl(value){return function bypassSanitizationTrustResourceUrl(trustedResourceUrl){return new SafeResourceUrlImpl(trustedResourceUrl)}(value)}}return(_class14=DomSanitizerImpl2).\u0275fac=function(t){return new(t||_class14)(core_inject(common_DOCUMENT))},_class14.\u0275prov=core_defineInjectable({token:_class14,factory:function(t){let r2=null;return r2=t?new t:function domSanitizerImplFactory(injector){return new DomSanitizerImpl(injector.get(common_DOCUMENT))}(core_inject(core_Injector)),r2},providedIn:"root"}),DomSanitizerImpl2})();const objectToString=Object.prototype.toString;function isError(wat){switch(objectToString.call(wat)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return isInstanceOf(wat,Error)}}function isBuiltin(wat,className){return objectToString.call(wat)===`[object ${className}]`}function isErrorEvent(wat){return isBuiltin(wat,"ErrorEvent")}function isDOMError(wat){return isBuiltin(wat,"DOMError")}function isString(wat){return isBuiltin(wat,"String")}function is_isPrimitive(wat){return null===wat||"object"!=typeof wat&&"function"!=typeof wat}function isPlainObject(wat){return isBuiltin(wat,"Object")}function isEvent(wat){return typeof Event<"u"&&isInstanceOf(wat,Event)}function isThenable(wat){return!(!wat||!wat.then||"function"!=typeof wat.then)}function is_isNaN(wat){return"number"==typeof wat&&wat!=wat}function isInstanceOf(wat,base){try{return wat instanceof base}catch{return!1}}var worldwide=__webpack_require__(3054);const browser_WINDOW=(0,worldwide.Rf)(),DEFAULT_MAX_STRING_LENGTH=80;function htmlTreeAsString(elem,options={}){try{let currentElem=elem;const MAX_TRAVERSE_HEIGHT=5,out=[];let height=0,len=0;const separator=" > ",sepLength=separator.length;let nextStr;const keyAttrs=Array.isArray(options)?options:options.keyAttrs,maxStringLength=!Array.isArray(options)&&options.maxStringLength||DEFAULT_MAX_STRING_LENGTH;for(;currentElem&&height++1&&len+out.length*sepLength+nextStr.length>=maxStringLength));)out.push(nextStr),len+=nextStr.length,currentElem=currentElem.parentNode;return out.reverse().join(separator)}catch{return""}}function _htmlElementAsString(el,keyAttrs){const elem=el,out=[];let className,classes,key,attr,i6;if(!elem||!elem.tagName)return"";out.push(elem.tagName.toLowerCase());const keyAttrPairs=keyAttrs&&keyAttrs.length?keyAttrs.filter(keyAttr=>elem.getAttribute(keyAttr)).map(keyAttr=>[keyAttr,elem.getAttribute(keyAttr)]):null;if(keyAttrPairs&&keyAttrPairs.length)keyAttrPairs.forEach(keyAttrPair=>{out.push(`[${keyAttrPair[0]}="${keyAttrPair[1]}"]`)});else if(elem.id&&out.push(`#${elem.id}`),className=elem.className,className&&isString(className))for(classes=className.split(/\s+/),i6=0;i6function isMatchingPattern(value,pattern,requireExactStringMatch=!1){return!!isString(value)&&(function isRegExp(wat){return isBuiltin(wat,"RegExp")}(pattern)?pattern.test(value):!!isString(pattern)&&(requireExactStringMatch?value===pattern:value.includes(pattern)))}(testString,pattern,requireExactStringMatch))}function fill(source,name,replacementFactory){if(!(name in source))return;const original=source[name],wrapped=replacementFactory(original);if("function"==typeof wrapped)try{markFunctionWrapped(wrapped,original)}catch{}source[name]=wrapped}function addNonEnumerableProperty(obj,name,value){Object.defineProperty(obj,name,{value,writable:!0,configurable:!0})}function markFunctionWrapped(wrapped,original){wrapped.prototype=original.prototype=original.prototype||{},addNonEnumerableProperty(wrapped,"__sentry_original__",original)}function getOriginalFunction(func){return func.__sentry_original__}function convertToPlainObject(value){if(isError(value))return{message:value.message,name:value.name,stack:value.stack,...getOwnProperties(value)};if(isEvent(value)){const newObj={type:value.type,target:serializeEventTarget(value.target),currentTarget:serializeEventTarget(value.currentTarget),...getOwnProperties(value)};return typeof CustomEvent<"u"&&isInstanceOf(value,CustomEvent)&&(newObj.detail=value.detail),newObj}return value}function serializeEventTarget(target){try{return function isElement(wat){return typeof Element<"u"&&isInstanceOf(wat,Element)}(target)?htmlTreeAsString(target):Object.prototype.toString.call(target)}catch{return""}}function getOwnProperties(obj){if("object"==typeof obj&&null!==obj){const extractedProps={};for(const property in obj)Object.prototype.hasOwnProperty.call(obj,property)&&(extractedProps[property]=obj[property]);return extractedProps}return{}}function dropUndefinedKeys(inputValue){return _dropUndefinedKeys(inputValue,new Map)}function _dropUndefinedKeys(inputValue,memoizationMap){if(isPlainObject(inputValue)){const memoVal=memoizationMap.get(inputValue);if(void 0!==memoVal)return memoVal;const returnValue={};memoizationMap.set(inputValue,returnValue);for(const key of Object.keys(inputValue))typeof inputValue[key]<"u"&&(returnValue[key]=_dropUndefinedKeys(inputValue[key],memoizationMap));return returnValue}if(Array.isArray(inputValue)){const memoVal=memoizationMap.get(inputValue);if(void 0!==memoVal)return memoVal;const returnValue=[];return memoizationMap.set(inputValue,returnValue),inputValue.forEach(item=>{returnValue.push(_dropUndefinedKeys(item,memoizationMap))}),returnValue}return inputValue}function misc_uuid4(){const gbl=worldwide.n2,crypto=gbl.crypto||gbl.msCrypto;if(crypto&&crypto.randomUUID)return crypto.randomUUID().replace(/-/g,"");const getRandomByte=crypto&&crypto.getRandomValues?()=>crypto.getRandomValues(new Uint8Array(1))[0]:()=>16*Math.random();return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,c=>(c^(15&getRandomByte())>>c/4).toString(16))}function getFirstException(event){return event.exception&&event.exception.values?event.exception.values[0]:void 0}function getEventDescription(event){const{message,event_id:eventId}=event;if(message)return message;const firstException=getFirstException(event);return firstException?firstException.type&&firstException.value?`${firstException.type}: ${firstException.value}`:firstException.type||firstException.value||eventId||"":eventId||""}function addExceptionTypeValue(event,value,type){const exception=event.exception=event.exception||{},values=exception.values=exception.values||[],firstException=values[0]=values[0]||{};firstException.value||(firstException.value=value||""),firstException.type||(firstException.type=type||"Error")}function addExceptionMechanism(event,newMechanism){const firstException=getFirstException(event);if(!firstException)return;const currentMechanism=firstException.mechanism;if(firstException.mechanism={type:"generic",handled:!0,...currentMechanism,...newMechanism},newMechanism&&"data"in newMechanism){const mergedData={...currentMechanism&¤tMechanism.data,...newMechanism.data};firstException.mechanism.data=mergedData}}function checkOrSetAlreadyCaught(exception){if(exception&&exception.__sentry_captured__)return!0;try{addNonEnumerableProperty(exception,"__sentry_captured__",!0)}catch{}return!1}function arrayify(maybeArray){return Array.isArray(maybeArray)?maybeArray:[maybeArray]}var esm_time=__webpack_require__(7245);const CONSOLE_LEVELS=["debug","info","warn","error","log","assert","trace"];function consoleSandbox(callback){if(!("console"in worldwide.n2))return callback();const originalConsole=worldwide.n2.console,wrappedLevels={};CONSOLE_LEVELS.forEach(level=>{const originalWrappedFunc=originalConsole[level]&&originalConsole[level].__sentry_original__;level in originalConsole&&originalWrappedFunc&&(wrappedLevels[level]=originalConsole[level],originalConsole[level]=originalWrappedFunc)});try{return callback()}finally{Object.keys(wrappedLevels).forEach(level=>{originalConsole[level]=wrappedLevels[level]})}}function makeLogger(){let enabled=!1;const logger2={enable:()=>{enabled=!0},disable:()=>{enabled=!1}};return typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?CONSOLE_LEVELS.forEach(name=>{logger2[name]=(...args)=>{enabled&&consoleSandbox(()=>{worldwide.n2.console[name](`Sentry Logger [${name}]:`,...args)})}}):CONSOLE_LEVELS.forEach(name=>{logger2[name]=()=>{}}),logger2}let logger_logger;logger_logger=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?(0,worldwide.YO)("logger",makeLogger):makeLogger();const DEFAULT_ENVIRONMENT="production";var States,States2;function resolvedSyncPromise(value){return new SyncPromise(resolve=>{resolve(value)})}function rejectedSyncPromise(reason){return new SyncPromise((_,reject)=>{reject(reason)})}(States2=States||(States={}))[States2.PENDING=0]="PENDING",States2[States2.RESOLVED=1]="RESOLVED",States2[States2.REJECTED=2]="REJECTED";class SyncPromise{constructor(executor){SyncPromise.prototype.__init.call(this),SyncPromise.prototype.__init2.call(this),SyncPromise.prototype.__init3.call(this),SyncPromise.prototype.__init4.call(this),this._state=States.PENDING,this._handlers=[];try{executor(this._resolve,this._reject)}catch(e2){this._reject(e2)}}then(onfulfilled,onrejected){return new SyncPromise((resolve,reject)=>{this._handlers.push([!1,result=>{if(onfulfilled)try{resolve(onfulfilled(result))}catch(e2){reject(e2)}else resolve(result)},reason=>{if(onrejected)try{resolve(onrejected(reason))}catch(e2){reject(e2)}else reject(reason)}]),this._executeHandlers()})}catch(onrejected){return this.then(val=>val,onrejected)}finally(onfinally){return new SyncPromise((resolve,reject)=>{let val,isRejected;return this.then(value=>{isRejected=!1,val=value,onfinally&&onfinally()},reason=>{isRejected=!0,val=reason,onfinally&&onfinally()}).then(()=>{isRejected?reject(val):resolve(val)})})}__init(){this._resolve=value=>{this._setResult(States.RESOLVED,value)}}__init2(){this._reject=reason=>{this._setResult(States.REJECTED,reason)}}__init3(){this._setResult=(state2,value)=>{if(this._state===States.PENDING){if(isThenable(value))return void value.then(this._resolve,this._reject);this._state=state2,this._value=value,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===States.PENDING)return;const cachedHandlers=this._handlers.slice();this._handlers=[],cachedHandlers.forEach(handler=>{handler[0]||(this._state===States.RESOLVED&&handler[1](this._value),this._state===States.REJECTED&&handler[2](this._value),handler[0]=!0)})}}}function updateSession(session,context2={}){if(context2.user&&(!session.ipAddress&&context2.user.ip_address&&(session.ipAddress=context2.user.ip_address),!session.did&&!context2.did&&(session.did=context2.user.id||context2.user.email||context2.user.username)),session.timestamp=context2.timestamp||(0,esm_time.ph)(),context2.ignoreDuration&&(session.ignoreDuration=context2.ignoreDuration),context2.sid&&(session.sid=32===context2.sid.length?context2.sid:misc_uuid4()),void 0!==context2.init&&(session.init=context2.init),!session.did&&context2.did&&(session.did=`${context2.did}`),"number"==typeof context2.started&&(session.started=context2.started),session.ignoreDuration)session.duration=void 0;else if("number"==typeof context2.duration)session.duration=context2.duration;else{const duration=session.timestamp-session.started;session.duration=duration>=0?duration:0}context2.release&&(session.release=context2.release),context2.environment&&(session.environment=context2.environment),!session.ipAddress&&context2.ipAddress&&(session.ipAddress=context2.ipAddress),!session.userAgent&&context2.userAgent&&(session.userAgent=context2.userAgent),"number"==typeof context2.errors&&(session.errors=context2.errors),context2.status&&(session.status=context2.status)}class scope_Scope{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=generatePropagationContext()}static clone(scope){const newScope=new scope_Scope;return scope&&(newScope._breadcrumbs=[...scope._breadcrumbs],newScope._tags={...scope._tags},newScope._extra={...scope._extra},newScope._contexts={...scope._contexts},newScope._user=scope._user,newScope._level=scope._level,newScope._span=scope._span,newScope._session=scope._session,newScope._transactionName=scope._transactionName,newScope._fingerprint=scope._fingerprint,newScope._eventProcessors=[...scope._eventProcessors],newScope._requestSession=scope._requestSession,newScope._attachments=[...scope._attachments],newScope._sdkProcessingMetadata={...scope._sdkProcessingMetadata},newScope._propagationContext={...scope._propagationContext}),newScope}addScopeListener(callback){this._scopeListeners.push(callback)}addEventProcessor(callback){return this._eventProcessors.push(callback),this}setUser(user2){return this._user=user2||{},this._session&&updateSession(this._session,{user:user2}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(requestSession){return this._requestSession=requestSession,this}setTags(tags){return this._tags={...this._tags,...tags},this._notifyScopeListeners(),this}setTag(key,value){return this._tags={...this._tags,[key]:value},this._notifyScopeListeners(),this}setExtras(extras){return this._extra={...this._extra,...extras},this._notifyScopeListeners(),this}setExtra(key,extra){return this._extra={...this._extra,[key]:extra},this._notifyScopeListeners(),this}setFingerprint(fingerprint){return this._fingerprint=fingerprint,this._notifyScopeListeners(),this}setLevel(level){return this._level=level,this._notifyScopeListeners(),this}setTransactionName(name){return this._transactionName=name,this._notifyScopeListeners(),this}setContext(key,context2){return null===context2?delete this._contexts[key]:this._contexts[key]=context2,this._notifyScopeListeners(),this}setSpan(span){return this._span=span,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){const span=this.getSpan();return span&&span.transaction}setSession(session){return session?this._session=session:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(captureContext){if(!captureContext)return this;if("function"==typeof captureContext){const updatedScope=captureContext(this);return updatedScope instanceof scope_Scope?updatedScope:this}return captureContext instanceof scope_Scope?(this._tags={...this._tags,...captureContext._tags},this._extra={...this._extra,...captureContext._extra},this._contexts={...this._contexts,...captureContext._contexts},captureContext._user&&Object.keys(captureContext._user).length&&(this._user=captureContext._user),captureContext._level&&(this._level=captureContext._level),captureContext._fingerprint&&(this._fingerprint=captureContext._fingerprint),captureContext._requestSession&&(this._requestSession=captureContext._requestSession),captureContext._propagationContext&&(this._propagationContext=captureContext._propagationContext)):isPlainObject(captureContext)&&(this._tags={...this._tags,...captureContext.tags},this._extra={...this._extra,...captureContext.extra},this._contexts={...this._contexts,...captureContext.contexts},captureContext.user&&(this._user=captureContext.user),captureContext.level&&(this._level=captureContext.level),captureContext.fingerprint&&(this._fingerprint=captureContext.fingerprint),captureContext.requestSession&&(this._requestSession=captureContext.requestSession),captureContext.propagationContext&&(this._propagationContext=captureContext.propagationContext)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=generatePropagationContext(),this}addBreadcrumb(breadcrumb,maxBreadcrumbs){const maxCrumbs="number"==typeof maxBreadcrumbs?maxBreadcrumbs:100;if(maxCrumbs<=0)return this;const mergedBreadcrumb={timestamp:(0,esm_time.yW)(),...breadcrumb};return this._breadcrumbs=[...this._breadcrumbs,mergedBreadcrumb].slice(-maxCrumbs),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(attachment){return this._attachments.push(attachment),this}getAttachments(){return this._attachments}clearAttachments(){return this._attachments=[],this}applyToEvent(event,hint={}){if(this._extra&&Object.keys(this._extra).length&&(event.extra={...this._extra,...event.extra}),this._tags&&Object.keys(this._tags).length&&(event.tags={...this._tags,...event.tags}),this._user&&Object.keys(this._user).length&&(event.user={...this._user,...event.user}),this._contexts&&Object.keys(this._contexts).length&&(event.contexts={...this._contexts,...event.contexts}),this._level&&(event.level=this._level),this._transactionName&&(event.transaction=this._transactionName),this._span){event.contexts={trace:this._span.getTraceContext(),...event.contexts};const transaction=this._span.transaction;if(transaction){event.sdkProcessingMetadata={dynamicSamplingContext:transaction.getDynamicSamplingContext(),...event.sdkProcessingMetadata};const transactionName=transaction.name;transactionName&&(event.tags={transaction:transactionName,...event.tags})}}return this._applyFingerprint(event),event.breadcrumbs=[...event.breadcrumbs||[],...this._breadcrumbs],event.breadcrumbs=event.breadcrumbs.length>0?event.breadcrumbs:void 0,event.sdkProcessingMetadata={...event.sdkProcessingMetadata,...this._sdkProcessingMetadata,propagationContext:this._propagationContext},this._notifyEventProcessors([...getGlobalEventProcessors(),...this._eventProcessors],event,hint)}setSDKProcessingMetadata(newData){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...newData},this}setPropagationContext(context2){return this._propagationContext=context2,this}getPropagationContext(){return this._propagationContext}_notifyEventProcessors(processors,event,hint,index=0){return new SyncPromise((resolve,reject)=>{const processor=processors[index];if(null===event||"function"!=typeof processor)resolve(event);else{const result=processor({...event},hint);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&processor.id&&null===result&&logger_logger.log(`Event processor "${processor.id}" dropped event`),isThenable(result)?result.then(final=>this._notifyEventProcessors(processors,final,hint,index+1).then(resolve)).then(null,reject):this._notifyEventProcessors(processors,result,hint,index+1).then(resolve).then(null,reject)}})}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(callback=>{callback(this)}),this._notifyingListeners=!1)}_applyFingerprint(event){event.fingerprint=event.fingerprint?arrayify(event.fingerprint):[],this._fingerprint&&(event.fingerprint=event.fingerprint.concat(this._fingerprint)),event.fingerprint&&!event.fingerprint.length&&delete event.fingerprint}}function getGlobalEventProcessors(){return(0,worldwide.YO)("globalEventProcessors",()=>[])}function addGlobalEventProcessor(callback){getGlobalEventProcessors().push(callback)}function generatePropagationContext(){return{traceId:misc_uuid4(),spanId:misc_uuid4().substring(16),sampled:!1}}const API_VERSION=4,DEFAULT_BREADCRUMBS=100;class Hub{constructor(client,scope=new scope_Scope,_version=API_VERSION){this._version=_version,this._stack=[{scope}],client&&this.bindClient(client)}isOlderThan(version2){return this._version{client.captureException(exception,{originalException:exception,syntheticException,...hint,event_id:eventId},scope)}),eventId}captureMessage(message,level,hint){const eventId=this._lastEventId=hint&&hint.event_id?hint.event_id:misc_uuid4(),syntheticException=new Error(message);return this._withClient((client,scope)=>{client.captureMessage(message,level,{originalException:message,syntheticException,...hint,event_id:eventId},scope)}),eventId}captureEvent(event,hint){const eventId=hint&&hint.event_id?hint.event_id:misc_uuid4();return event.type||(this._lastEventId=eventId),this._withClient((client,scope)=>{client.captureEvent(event,{...hint,event_id:eventId},scope)}),eventId}lastEventId(){return this._lastEventId}addBreadcrumb(breadcrumb,hint){const{scope,client}=this.getStackTop();if(!client)return;const{beforeBreadcrumb=null,maxBreadcrumbs=DEFAULT_BREADCRUMBS}=client.getOptions&&client.getOptions()||{};if(maxBreadcrumbs<=0)return;const mergedBreadcrumb={timestamp:(0,esm_time.yW)(),...breadcrumb},finalBreadcrumb=beforeBreadcrumb?consoleSandbox(()=>beforeBreadcrumb(mergedBreadcrumb,hint)):mergedBreadcrumb;null!==finalBreadcrumb&&(client.emit&&client.emit("beforeAddBreadcrumb",finalBreadcrumb,hint),scope.addBreadcrumb(finalBreadcrumb,maxBreadcrumbs))}setUser(user2){this.getScope().setUser(user2)}setTags(tags){this.getScope().setTags(tags)}setExtras(extras){this.getScope().setExtras(extras)}setTag(key,value){this.getScope().setTag(key,value)}setExtra(key,extra){this.getScope().setExtra(key,extra)}setContext(name,context2){this.getScope().setContext(name,context2)}configureScope(callback){const{scope,client}=this.getStackTop();client&&callback(scope)}run(callback){const oldHub=makeMain(this);try{callback(this)}finally{makeMain(oldHub)}}getIntegration(integration){const client=this.getClient();if(!client)return null;try{return client.getIntegration(integration)}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`),null}}startTransaction(context2,customSamplingContext){const result=this._callExtensionMethod("startTransaction",context2,customSamplingContext);return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&!result&&console.warn("Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n"),result}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(endSession=!1){if(endSession)return this.endSession();this._sendSessionUpdate()}endSession(){const scope=this.getStackTop().scope,session=scope.getSession();session&&function closeSession(session,status){let context2={};status?context2={status}:"ok"===session.status&&(context2={status:"exited"}),updateSession(session,context2)}(session),this._sendSessionUpdate(),scope.setSession()}startSession(context2){const{scope,client}=this.getStackTop(),{release,environment:environment2=DEFAULT_ENVIRONMENT}=client&&client.getOptions()||{},{userAgent}=worldwide.n2.navigator||{},session=function makeSession(context2){const startingTime=(0,esm_time.ph)(),session={sid:misc_uuid4(),init:!0,timestamp:startingTime,started:startingTime,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>function sessionToJSON(session){return dropUndefinedKeys({sid:`${session.sid}`,init:session.init,started:new Date(1e3*session.started).toISOString(),timestamp:new Date(1e3*session.timestamp).toISOString(),status:session.status,errors:session.errors,did:"number"==typeof session.did||"string"==typeof session.did?`${session.did}`:void 0,duration:session.duration,attrs:{release:session.release,environment:session.environment,ip_address:session.ipAddress,user_agent:session.userAgent}})}(session)};return context2&&updateSession(session,context2),session}({release,environment:environment2,user:scope.getUser(),...userAgent&&{userAgent},...context2}),currentSession=scope.getSession&&scope.getSession();return currentSession&&"ok"===currentSession.status&&updateSession(currentSession,{status:"exited"}),this.endSession(),scope.setSession(session),session}shouldSendDefaultPii(){const client=this.getClient(),options=client&&client.getOptions();return!(!options||!options.sendDefaultPii)}_sendSessionUpdate(){const{scope,client}=this.getStackTop(),session=scope.getSession();session&&client&&client.captureSession&&client.captureSession(session)}_withClient(callback){const{scope,client}=this.getStackTop();client&&callback(client,scope)}_callExtensionMethod(method,...args){const sentry=getMainCarrier().__SENTRY__;if(sentry&&sentry.extensions&&"function"==typeof sentry.extensions[method])return sentry.extensions[method].apply(this,args);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Extension method ${method} couldn't be found, doing nothing.`)}}function getMainCarrier(){return worldwide.n2.__SENTRY__=worldwide.n2.__SENTRY__||{extensions:{},hub:void 0},worldwide.n2}function makeMain(hub){const registry=getMainCarrier(),oldHub=getHubFromCarrier(registry);return setHubOnCarrier(registry,hub),oldHub}function hub_getCurrentHub(){const registry=getMainCarrier();if(registry.__SENTRY__&®istry.__SENTRY__.acs){const hub=registry.__SENTRY__.acs.getCurrentHub();if(hub)return hub}return function getGlobalHub(registry=getMainCarrier()){return(!function hasHubOnCarrier(carrier){return!!(carrier&&carrier.__SENTRY__&&carrier.__SENTRY__.hub)}(registry)||getHubFromCarrier(registry).isOlderThan(API_VERSION))&&setHubOnCarrier(registry,new Hub),getHubFromCarrier(registry)}(registry)}function getHubFromCarrier(carrier){return(0,worldwide.YO)("hub",()=>new Hub,carrier)}function setHubOnCarrier(carrier,hub){return!!carrier&&((carrier.__SENTRY__=carrier.__SENTRY__||{}).hub=hub,!0)}function captureException(exception,captureContext){return hub_getCurrentHub().captureException(exception,{captureContext})}function setContext(name,context2){hub_getCurrentHub().setContext(name,context2)}const DEFAULT_IGNORE_ERRORS=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/],DEFAULT_IGNORE_TRANSACTIONS=[/^.*healthcheck.*$/,/^.*healthy.*$/,/^.*live.*$/,/^.*ready.*$/,/^.*heartbeat.*$/,/^.*\/health$/,/^.*\/healthz$/];class InboundFilters{static __initStatic(){this.id="InboundFilters"}constructor(options={}){this.name=InboundFilters.id,this._options=options}setupOnce(addGlobalEventProcessor2,getCurrentHub2){const eventProcess=event=>{const hub=getCurrentHub2();if(hub){const self2=hub.getIntegration(InboundFilters);if(self2){const client=hub.getClient(),clientOptions=client?client.getOptions():{},options=function _mergeOptions(internalOptions={},clientOptions={}){return{allowUrls:[...internalOptions.allowUrls||[],...clientOptions.allowUrls||[]],denyUrls:[...internalOptions.denyUrls||[],...clientOptions.denyUrls||[]],ignoreErrors:[...internalOptions.ignoreErrors||[],...clientOptions.ignoreErrors||[],...internalOptions.disableErrorDefaults?[]:DEFAULT_IGNORE_ERRORS],ignoreTransactions:[...internalOptions.ignoreTransactions||[],...clientOptions.ignoreTransactions||[],...internalOptions.disableTransactionDefaults?[]:DEFAULT_IGNORE_TRANSACTIONS],ignoreInternal:void 0===internalOptions.ignoreInternal||internalOptions.ignoreInternal}}(self2._options,clientOptions);return function _shouldDropEvent(event,options){return options.ignoreInternal&&function _isSentryError(event){try{return"SentryError"===event.exception.values[0].type}catch{}return!1}(event)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${getEventDescription(event)}`),!0):function _isIgnoredError(event,ignoreErrors){return!(event.type||!ignoreErrors||!ignoreErrors.length)&&function _getPossibleEventMessages(event){if(event.message)return[event.message];if(event.exception){const{values}=event.exception;try{const{type="",value=""}=values&&values[values.length-1]||{};return[`${value}`,`${type}: ${value}`]}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(`Cannot extract message for event ${getEventDescription(event)}`),[]}}return[]}(event).some(message=>stringMatchesSomePattern(message,ignoreErrors))}(event,options.ignoreErrors)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${getEventDescription(event)}`),!0):function _isIgnoredTransaction(event,ignoreTransactions){if("transaction"!==event.type||!ignoreTransactions||!ignoreTransactions.length)return!1;const name=event.transaction;return!!name&&stringMatchesSomePattern(name,ignoreTransactions)}(event,options.ignoreTransactions)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${getEventDescription(event)}`),!0):function _isDeniedUrl(event,denyUrls){if(!denyUrls||!denyUrls.length)return!1;const url=_getEventFilterUrl(event);return!!url&&stringMatchesSomePattern(url,denyUrls)}(event,options.denyUrls)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${getEventDescription(event)}.\nUrl: ${_getEventFilterUrl(event)}`),!0):!function _isAllowedUrl(event,allowUrls){if(!allowUrls||!allowUrls.length)return!0;const url=_getEventFilterUrl(event);return!url||stringMatchesSomePattern(url,allowUrls)}(event,options.allowUrls)&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${getEventDescription(event)}.\nUrl: ${_getEventFilterUrl(event)}`),!0)}(event,options)?null:event}}return event};eventProcess.id=this.name,addGlobalEventProcessor2(eventProcess)}}function _getEventFilterUrl(event){try{let frames;try{frames=event.exception.values[0].stacktrace.frames}catch{}return frames?function _getLastValidUrl(frames=[]){for(let i6=frames.length-1;i6>=0;i6--){const frame=frames[i6];if(frame&&""!==frame.filename&&"[native code]"!==frame.filename)return frame.filename||null}return null}(frames):null}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(`Cannot extract url for event ${getEventDescription(event)}`),null}}let originalFunctionToString;InboundFilters.__initStatic();class FunctionToString{static __initStatic(){this.id="FunctionToString"}constructor(){this.name=FunctionToString.id}setupOnce(){originalFunctionToString=Function.prototype.toString;try{Function.prototype.toString=function(...args){const context2=getOriginalFunction(this)||this;return originalFunctionToString.apply(context2,args)}}catch{}}}FunctionToString.__initStatic();const installedIntegrations=[];function getIntegrationsToSetup(options){const defaultIntegrations2=options.defaultIntegrations||[],userIntegrations=options.integrations;let integrations;defaultIntegrations2.forEach(integration=>{integration.isDefaultInstance=!0}),integrations=Array.isArray(userIntegrations)?[...defaultIntegrations2,...userIntegrations]:"function"==typeof userIntegrations?arrayify(userIntegrations(defaultIntegrations2)):defaultIntegrations2;const finalIntegrations=function filterDuplicates(integrations){const integrationsByName={};return integrations.forEach(currentInstance=>{const{name}=currentInstance,existingInstance=integrationsByName[name];existingInstance&&!existingInstance.isDefaultInstance&¤tInstance.isDefaultInstance||(integrationsByName[name]=currentInstance)}),Object.keys(integrationsByName).map(k=>integrationsByName[k])}(integrations),debugIndex=function findIndex(arr,callback){for(let i6=0;i6"Debug"===integration.name);if(-1!==debugIndex){const[debugInstance]=finalIntegrations.splice(debugIndex,1);finalIntegrations.push(debugInstance)}return finalIntegrations}function setupIntegration(integration,integrationIndex){integrationIndex[integration.name]=integration,-1===installedIntegrations.indexOf(integration.name)&&(integration.setupOnce(addGlobalEventProcessor,hub_getCurrentHub),installedIntegrations.push(integration.name),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`Integration installed: ${integration.name}`))}const DSN_REGEX=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function dsnToString(dsn,withPassword=!1){const{host,path,pass,port,projectId,protocol,publicKey}=dsn;return`${protocol}://${publicKey}${withPassword&&pass?`:${pass}`:""}@${host}${port?`:${port}`:""}/${path&&`${path}/`}${projectId}`}function dsnFromComponents(components){return{protocol:components.protocol,publicKey:components.publicKey||"",pass:components.pass||"",host:components.host,port:components.port||"",path:components.path||"",projectId:components.projectId}}function makeDsn(from2){const components="string"==typeof from2?function dsnFromString(str){const match2=DSN_REGEX.exec(str);if(!match2)return void console.error(`Invalid Sentry Dsn: ${str}`);const[protocol,publicKey,pass="",host,port="",lastPath]=match2.slice(1);let path="",projectId=lastPath;const split2=projectId.split("/");if(split2.length>1&&(path=split2.slice(0,-1).join("/"),projectId=split2.pop()),projectId){const projectMatch=projectId.match(/^\d+/);projectMatch&&(projectId=projectMatch[0])}return dsnFromComponents({host,pass,path,projectId,port,protocol,publicKey})}(from2):dsnFromComponents(from2);if(components&&function validateDsn(dsn){if(!(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__))return!0;const{port,projectId,protocol}=dsn;return!(["protocol","publicKey","host","projectId"].find(component=>!dsn[component]&&(logger_logger.error(`Invalid Sentry Dsn: ${component} missing`),!0))||(projectId.match(/^\d+$/)?function isValidProtocol(protocol){return"http"===protocol||"https"===protocol}(protocol)?port&&isNaN(parseInt(port,10))&&(logger_logger.error(`Invalid Sentry Dsn: Invalid port ${port}`),1):(logger_logger.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`),1):(logger_logger.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`),1)))}(components))return components}const SENTRY_API_VERSION="7";function getBaseApiEndpoint(dsn){return`${dsn.protocol?`${dsn.protocol}:`:""}//${dsn.host}${dsn.port?`:${dsn.port}`:""}${dsn.path?`/${dsn.path}`:""}/api/`}function getEnvelopeEndpointWithUrlEncodedAuth(dsn,tunnelOrOptions={}){const sdkInfo="string"!=typeof tunnelOrOptions&&tunnelOrOptions._metadata?tunnelOrOptions._metadata.sdk:void 0;return("string"==typeof tunnelOrOptions?tunnelOrOptions:tunnelOrOptions.tunnel)||`${function _getIngestEndpoint(dsn){return`${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`}(dsn)}?${function _encodedAuth(dsn,sdkInfo){return function urlEncode(object){return Object.keys(object).map(key=>`${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`).join("&")}({sentry_key:dsn.publicKey,sentry_version:SENTRY_API_VERSION,...sdkInfo&&{sentry_client:`${sdkInfo.name}/${sdkInfo.version}`}})}(dsn,sdkInfo)}`}const STACKTRACE_FRAME_LIMIT=50,WEBPACK_ERROR_REGEXP=/\(error: (.*)\)/,STRIP_FRAME_REGEXP=/captureMessage|captureException/;function createStackParser(...parsers){const sortedParsers=parsers.sort((a,b)=>a[0]-b[0]).map(p=>p[1]);return(stack,skipFirst=0)=>{const frames=[],lines=stack.split("\n");for(let i6=skipFirst;i61024)continue;const cleanedLine=WEBPACK_ERROR_REGEXP.test(line)?line.replace(WEBPACK_ERROR_REGEXP,"$1"):line;if(!cleanedLine.match(/\S*Error: /)){for(const parser of sortedParsers){const frame=parser(cleanedLine);if(frame){frames.push(frame);break}}if(frames.length>=STACKTRACE_FRAME_LIMIT)break}}return function stripSentryFramesAndReverse(stack){if(!stack.length)return[];const localStack=Array.from(stack);return/sentryWrapped/.test(localStack[localStack.length-1].function||"")&&localStack.pop(),localStack.reverse(),STRIP_FRAME_REGEXP.test(localStack[localStack.length-1].function||"")&&(localStack.pop(),STRIP_FRAME_REGEXP.test(localStack[localStack.length-1].function||"")&&localStack.pop()),localStack.slice(0,STACKTRACE_FRAME_LIMIT).map(frame=>({...frame,filename:frame.filename||localStack[localStack.length-1].filename,function:frame.function||"?"}))}(frames)}}const defaultFunctionName="";function getFunctionName(fn){try{return fn&&"function"==typeof fn&&fn.name||defaultFunctionName}catch{return defaultFunctionName}}const supports_WINDOW=(0,worldwide.Rf)();function supportsFetch(){if(!("fetch"in supports_WINDOW))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function isNativeFetch(func){return func&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(func.toString())}const supportsHistory_WINDOW=(0,worldwide.Rf)(),instrument_WINDOW=(0,worldwide.Rf)(),SENTRY_XHR_DATA_KEY="__sentry_xhr_v2__",handlers={},instrumented={};function addInstrumentationHandler(type,callback){handlers[type]=handlers[type]||[],handlers[type].push(callback),function instrument(type){if(!instrumented[type])switch(instrumented[type]=!0,type){case"console":!function instrumentConsole(){"console"in instrument_WINDOW&&CONSOLE_LEVELS.forEach(function(level){level in instrument_WINDOW.console&&fill(instrument_WINDOW.console,level,function(originalConsoleMethod){return function(...args){triggerHandlers("console",{args,level}),originalConsoleMethod&&originalConsoleMethod.apply(instrument_WINDOW.console,args)}})})}();break;case"dom":!function instrumentDOM(){if(!("document"in instrument_WINDOW))return;const triggerDOMHandler=triggerHandlers.bind(null,"dom"),globalDOMEventHandler=makeDOMEventHandler(triggerDOMHandler,!0);instrument_WINDOW.document.addEventListener("click",globalDOMEventHandler,!1),instrument_WINDOW.document.addEventListener("keypress",globalDOMEventHandler,!1),["EventTarget","Node"].forEach(target=>{const proto=instrument_WINDOW[target]&&instrument_WINDOW[target].prototype;!proto||!proto.hasOwnProperty||!proto.hasOwnProperty("addEventListener")||(fill(proto,"addEventListener",function(originalAddEventListener){return function(type,listener,options){if("click"===type||"keypress"==type)try{const el=this,handlers2=el.__sentry_instrumentation_handlers__=el.__sentry_instrumentation_handlers__||{},handlerForType=handlers2[type]=handlers2[type]||{refCount:0};if(!handlerForType.handler){const handler=makeDOMEventHandler(triggerDOMHandler);handlerForType.handler=handler,originalAddEventListener.call(this,type,handler,options)}handlerForType.refCount++}catch{}return originalAddEventListener.call(this,type,listener,options)}}),fill(proto,"removeEventListener",function(originalRemoveEventListener){return function(type,listener,options){if("click"===type||"keypress"==type)try{const el=this,handlers2=el.__sentry_instrumentation_handlers__||{},handlerForType=handlers2[type];handlerForType&&(handlerForType.refCount--,handlerForType.refCount<=0&&(originalRemoveEventListener.call(this,type,handlerForType.handler,options),handlerForType.handler=void 0,delete handlers2[type]),0===Object.keys(handlers2).length&&delete el.__sentry_instrumentation_handlers__)}catch{}return originalRemoveEventListener.call(this,type,listener,options)}}))})}();break;case"xhr":!function instrumentXHR(){if(!("XMLHttpRequest"in instrument_WINDOW))return;const xhrproto=XMLHttpRequest.prototype;fill(xhrproto,"open",function(originalOpen){return function(...args){const url=args[1],xhrInfo=this[SENTRY_XHR_DATA_KEY]={method:isString(args[0])?args[0].toUpperCase():args[0],url:args[1],request_headers:{}};isString(url)&&"POST"===xhrInfo.method&&url.match(/sentry_key/)&&(this.__sentry_own_request__=!0);const onreadystatechangeHandler=()=>{const xhrInfo2=this[SENTRY_XHR_DATA_KEY];if(xhrInfo2&&4===this.readyState){try{xhrInfo2.status_code=this.status}catch{}triggerHandlers("xhr",{args,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:this})}};return"onreadystatechange"in this&&"function"==typeof this.onreadystatechange?fill(this,"onreadystatechange",function(original){return function(...readyStateArgs){return onreadystatechangeHandler(),original.apply(this,readyStateArgs)}}):this.addEventListener("readystatechange",onreadystatechangeHandler),fill(this,"setRequestHeader",function(original){return function(...setRequestHeaderArgs){const[header,value]=setRequestHeaderArgs,xhrInfo2=this[SENTRY_XHR_DATA_KEY];return xhrInfo2&&(xhrInfo2.request_headers[header.toLowerCase()]=value),original.apply(this,setRequestHeaderArgs)}}),originalOpen.apply(this,args)}}),fill(xhrproto,"send",function(originalSend){return function(...args){const sentryXhrData=this[SENTRY_XHR_DATA_KEY];return sentryXhrData&&void 0!==args[0]&&(sentryXhrData.body=args[0]),triggerHandlers("xhr",{args,startTimestamp:Date.now(),xhr:this}),originalSend.apply(this,args)}})}();break;case"fetch":!function instrumentFetch(){(function supportsNativeFetch(){if(!supportsFetch())return!1;if(isNativeFetch(supports_WINDOW.fetch))return!0;let result=!1;const doc=supports_WINDOW.document;if(doc&&"function"==typeof doc.createElement)try{const sandbox=doc.createElement("iframe");sandbox.hidden=!0,doc.head.appendChild(sandbox),sandbox.contentWindow&&sandbox.contentWindow.fetch&&(result=isNativeFetch(sandbox.contentWindow.fetch)),doc.head.removeChild(sandbox)}catch(err){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",err)}return result})()&&fill(instrument_WINDOW,"fetch",function(originalFetch){return function(...args){const{method,url}=function parseFetchArgs(fetchArgs){if(0===fetchArgs.length)return{method:"GET",url:""};if(2===fetchArgs.length){const[url,options]=fetchArgs;return{url:getUrlFromResource(url),method:hasProp(options,"method")?String(options.method).toUpperCase():"GET"}}const arg=fetchArgs[0];return{url:getUrlFromResource(arg),method:hasProp(arg,"method")?String(arg.method).toUpperCase():"GET"}}(args),handlerData={args,fetchData:{method,url},startTimestamp:Date.now()};return triggerHandlers("fetch",{...handlerData}),originalFetch.apply(instrument_WINDOW,args).then(response=>(triggerHandlers("fetch",{...handlerData,endTimestamp:Date.now(),response}),response),error=>{throw triggerHandlers("fetch",{...handlerData,endTimestamp:Date.now(),error}),error})}})}();break;case"history":!function instrumentHistory(){if(!function supportsHistory(){const chrome2=supportsHistory_WINDOW.chrome;return!(chrome2&&chrome2.app&&chrome2.app.runtime||!("history"in supportsHistory_WINDOW)||!supportsHistory_WINDOW.history.pushState||!supportsHistory_WINDOW.history.replaceState)}())return;const oldOnPopState=instrument_WINDOW.onpopstate;function historyReplacementFunction(originalHistoryFunction){return function(...args){const url=args.length>2?args[2]:void 0;if(url){const from2=lastHref,to=String(url);lastHref=to,triggerHandlers("history",{from:from2,to})}return originalHistoryFunction.apply(this,args)}}instrument_WINDOW.onpopstate=function(...args){const to=instrument_WINDOW.location.href,from2=lastHref;if(lastHref=to,triggerHandlers("history",{from:from2,to}),oldOnPopState)try{return oldOnPopState.apply(this,args)}catch{}},fill(instrument_WINDOW.history,"pushState",historyReplacementFunction),fill(instrument_WINDOW.history,"replaceState",historyReplacementFunction)}();break;case"error":!function instrumentError(){_oldOnErrorHandler=instrument_WINDOW.onerror,instrument_WINDOW.onerror=function(msg,url,line,column,error){return triggerHandlers("error",{column,error,line,msg,url}),!(!_oldOnErrorHandler||_oldOnErrorHandler.__SENTRY_LOADER__)&&_oldOnErrorHandler.apply(this,arguments)},instrument_WINDOW.onerror.__SENTRY_INSTRUMENTED__=!0}();break;case"unhandledrejection":!function instrumentUnhandledRejection(){_oldOnUnhandledRejectionHandler=instrument_WINDOW.onunhandledrejection,instrument_WINDOW.onunhandledrejection=function(e2){return triggerHandlers("unhandledrejection",e2),!(_oldOnUnhandledRejectionHandler&&!_oldOnUnhandledRejectionHandler.__SENTRY_LOADER__)||_oldOnUnhandledRejectionHandler.apply(this,arguments)},instrument_WINDOW.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}();break;default:return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("unknown instrumentation type:",type))}}(type)}function triggerHandlers(type,data){if(type&&handlers[type])for(const handler of handlers[type]||[])try{handler(data)}catch(e2){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(`Error while triggering instrumentation handler.\nType: ${type}\nName: ${getFunctionName(handler)}\nError:`,e2)}}function hasProp(obj,prop2){return!!obj&&"object"==typeof obj&&!!obj[prop2]}function getUrlFromResource(resource){return"string"==typeof resource?resource:resource?hasProp(resource,"url")?resource.url:resource.toString?resource.toString():"":""}let lastHref;const debounceDuration=1e3;let debounceTimerID,lastCapturedEvent;function makeDOMEventHandler(handler,globalListener=!1){return event=>{if(!event||lastCapturedEvent===event||function shouldSkipDOMEvent(event){if("keypress"!==event.type)return!1;try{const target=event.target;if(!target||!target.tagName)return!0;if("INPUT"===target.tagName||"TEXTAREA"===target.tagName||target.isContentEditable)return!1}catch{}return!0}(event))return;const name="keypress"===event.type?"input":event.type;(void 0===debounceTimerID||function shouldShortcircuitPreviousDebounce(previous,current){if(!previous||previous.type!==current.type)return!0;try{if(previous.target!==current.target)return!0}catch{}return!1}(lastCapturedEvent,event))&&(handler({event,name,global:globalListener}),lastCapturedEvent=event),clearTimeout(debounceTimerID),debounceTimerID=instrument_WINDOW.setTimeout(()=>{debounceTimerID=void 0},debounceDuration)}}let _oldOnErrorHandler=null,_oldOnUnhandledRejectionHandler=null;function normalize(input,depth=100,maxProperties=1/0){try{return visit("",input,depth,maxProperties)}catch(err){return{ERROR:`**non-serializable** (${err})`}}}function normalizeToSize(object,depth=3,maxSize=102400){const normalized=normalize(object,depth);return function jsonSize(value){return function utf8Length(value){return~-encodeURI(value).split(/%..|./).length}(JSON.stringify(value))}(normalized)>maxSize?normalizeToSize(object,depth-1,maxSize):normalized}function visit(key,value,depth=1/0,maxProperties=1/0,memo=function memoBuilder(){const hasWeakSet="function"==typeof WeakSet,inner=hasWeakSet?new WeakSet:[];return[function memoize(obj){if(hasWeakSet)return!!inner.has(obj)||(inner.add(obj),!1);for(let i6=0;i6=maxProperties){normalized[visitKey]="[MaxProperties ~]";break}normalized[visitKey]=visit(visitKey,visitable[visitKey],remainingDepth-1,maxProperties,memo),numAdded++}return unmemoize(value),normalized}function createEnvelope(headers,items=[]){return[headers,items]}function addItemToEnvelope(envelope,newItem){const[headers,items]=envelope;return[headers,[...items,newItem]]}function forEachEnvelopeItem(envelope,callback){const envelopeItems=envelope[1];for(const envelopeItem of envelopeItems)if(callback(envelopeItem,envelopeItem[0].type))return!0;return!1}function encodeUTF8(input,textEncoder){return(textEncoder||new TextEncoder).encode(input)}function serializeEnvelope(envelope,textEncoder){const[envHeaders,items]=envelope;let parts=JSON.stringify(envHeaders);function append(next){"string"==typeof parts?parts="string"==typeof next?parts+next:[encodeUTF8(parts,textEncoder),next]:parts.push("string"==typeof next?encodeUTF8(next,textEncoder):next)}for(const item of items){const[itemHeaders,payload]=item;if(append(`\n${JSON.stringify(itemHeaders)}\n`),"string"==typeof payload||payload instanceof Uint8Array)append(payload);else{let stringifiedPayload;try{stringifiedPayload=JSON.stringify(payload)}catch{stringifiedPayload=JSON.stringify(normalize(payload))}append(stringifiedPayload)}}return"string"==typeof parts?parts:function concatBuffers(buffers){const totalLength=buffers.reduce((acc,buf)=>acc+buf.length,0),merged=new Uint8Array(totalLength);let offset=0;for(const buffer of buffers)merged.set(buffer,offset),offset+=buffer.length;return merged}(parts)}function createAttachmentEnvelopeItem(attachment,textEncoder){const buffer="string"==typeof attachment.data?encodeUTF8(attachment.data,textEncoder):attachment.data;return[dropUndefinedKeys({type:"attachment",length:buffer.length,filename:attachment.filename,content_type:attachment.contentType,attachment_type:attachment.attachmentType}),buffer]}const ITEM_TYPE_TO_DATA_CATEGORY_MAP={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor"};function envelopeItemTypeToDataCategory(type){return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type]}function getSdkMetadataForEnvelopeHeader(metadataOrEvent){if(!metadataOrEvent||!metadataOrEvent.sdk)return;const{name,version:version2}=metadataOrEvent.sdk;return{name,version:version2}}function createEventEnvelopeHeaders(event,sdkInfo,tunnel,dsn){const dynamicSamplingContext=event.sdkProcessingMetadata&&event.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:event.event_id,sent_at:(new Date).toISOString(),...sdkInfo&&{sdk:sdkInfo},...!!tunnel&&{dsn:dsnToString(dsn)},...dynamicSamplingContext&&{trace:dropUndefinedKeys({...dynamicSamplingContext})}}}class SentryError extends Error{constructor(message,logLevel="warn"){super(message),this.message=message,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=logLevel}}function getDynamicSamplingContextFromClient(trace_id,client,scope){const options=client.getOptions(),{publicKey:public_key}=client.getDsn()||{},{segment:user_segment}=scope&&scope.getUser()||{},dsc=dropUndefinedKeys({environment:options.environment||DEFAULT_ENVIRONMENT,release:options.release,user_segment,public_key,trace_id});return client.emit&&client.emit("createDsc",dsc),dsc}function prepareEvent(options,event,hint,scope){const{normalizeDepth=3,normalizeMaxBreadth=1e3}=options,prepared={...event,event_id:event.event_id||hint.event_id||misc_uuid4(),timestamp:event.timestamp||(0,esm_time.yW)()},integrations=hint.integrations||options.integrations.map(i6=>i6.name);(function applyClientOptions(event,options){const{environment:environment2,release,dist,maxValueLength=250}=options;"environment"in event||(event.environment="environment"in options?environment2:DEFAULT_ENVIRONMENT),void 0===event.release&&void 0!==release&&(event.release=release),void 0===event.dist&&void 0!==dist&&(event.dist=dist),event.message&&(event.message=truncate(event.message,maxValueLength));const exception=event.exception&&event.exception.values&&event.exception.values[0];exception&&exception.value&&(exception.value=truncate(exception.value,maxValueLength));const request=event.request;request&&request.url&&(request.url=truncate(request.url,maxValueLength))})(prepared,options),function applyIntegrationsMetadata(event,integrationNames){integrationNames.length>0&&(event.sdk=event.sdk||{},event.sdk.integrations=[...event.sdk.integrations||[],...integrationNames])}(prepared,integrations),void 0===event.type&&function applyDebugIds(event,stackParser){const debugIdMap=worldwide.n2._sentryDebugIds;if(!debugIdMap)return;let debugIdStackFramesCache;const cachedDebugIdStackFrameCache=debugIdStackParserCache.get(stackParser);cachedDebugIdStackFrameCache?debugIdStackFramesCache=cachedDebugIdStackFrameCache:(debugIdStackFramesCache=new Map,debugIdStackParserCache.set(stackParser,debugIdStackFramesCache));const filenameDebugIdMap=Object.keys(debugIdMap).reduce((acc,debugIdStackTrace)=>{let parsedStack;const cachedParsedStack=debugIdStackFramesCache.get(debugIdStackTrace);cachedParsedStack?parsedStack=cachedParsedStack:(parsedStack=stackParser(debugIdStackTrace),debugIdStackFramesCache.set(debugIdStackTrace,parsedStack));for(let i6=parsedStack.length-1;i6>=0;i6--){const stackFrame=parsedStack[i6];if(stackFrame.filename){acc[stackFrame.filename]=debugIdMap[debugIdStackTrace];break}}return acc},{});try{event.exception.values.forEach(exception=>{exception.stacktrace.frames.forEach(frame=>{frame.filename&&(frame.debug_id=filenameDebugIdMap[frame.filename])})})}catch{}}(prepared,options.stackParser);let finalScope=scope;hint.captureContext&&(finalScope=scope_Scope.clone(finalScope).update(hint.captureContext));let result=resolvedSyncPromise(prepared);if(finalScope){if(finalScope.getAttachments){const attachments=[...hint.attachments||[],...finalScope.getAttachments()];attachments.length&&(hint.attachments=attachments)}result=finalScope.applyToEvent(prepared,hint)}return result.then(evt=>(evt&&function applyDebugMeta(event){const filenameDebugIdMap={};try{event.exception.values.forEach(exception=>{exception.stacktrace.frames.forEach(frame=>{frame.debug_id&&(frame.abs_path?filenameDebugIdMap[frame.abs_path]=frame.debug_id:frame.filename&&(filenameDebugIdMap[frame.filename]=frame.debug_id),delete frame.debug_id)})})}catch{}if(0===Object.keys(filenameDebugIdMap).length)return;event.debug_meta=event.debug_meta||{},event.debug_meta.images=event.debug_meta.images||[];const images=event.debug_meta.images;Object.keys(filenameDebugIdMap).forEach(filename=>{images.push({type:"sourcemap",code_file:filename,debug_id:filenameDebugIdMap[filename]})})}(evt),"number"==typeof normalizeDepth&&normalizeDepth>0?function normalizeEvent(event,depth,maxBreadth){if(!event)return null;const normalized={...event,...event.breadcrumbs&&{breadcrumbs:event.breadcrumbs.map(b=>({...b,...b.data&&{data:normalize(b.data,depth,maxBreadth)}}))},...event.user&&{user:normalize(event.user,depth,maxBreadth)},...event.contexts&&{contexts:normalize(event.contexts,depth,maxBreadth)},...event.extra&&{extra:normalize(event.extra,depth,maxBreadth)}};return event.contexts&&event.contexts.trace&&normalized.contexts&&(normalized.contexts.trace=event.contexts.trace,event.contexts.trace.data&&(normalized.contexts.trace.data=normalize(event.contexts.trace.data,depth,maxBreadth))),event.spans&&(normalized.spans=event.spans.map(span=>(span.data&&(span.data=normalize(span.data,depth,maxBreadth)),span))),normalized}(evt,normalizeDepth,normalizeMaxBreadth):evt))}const debugIdStackParserCache=new WeakMap,ALREADY_SEEN_ERROR="Not capturing exception because it's already been captured.";class BaseClient{constructor(options){if(this._options=options,this._integrations={},this._integrationsInitialized=!1,this._numProcessing=0,this._outcomes={},this._hooks={},options.dsn?this._dsn=makeDsn(options.dsn):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("No DSN provided, client will not do anything."),this._dsn){const url=getEnvelopeEndpointWithUrlEncodedAuth(this._dsn,options);this._transport=options.transport({recordDroppedEvent:this.recordDroppedEvent.bind(this),...options.transportOptions,url})}}captureException(exception,hint,scope){if(checkOrSetAlreadyCaught(exception))return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(ALREADY_SEEN_ERROR));let eventId=hint&&hint.event_id;return this._process(this.eventFromException(exception,hint).then(event=>this._captureEvent(event,hint,scope)).then(result=>{eventId=result})),eventId}captureMessage(message,level,hint,scope){let eventId=hint&&hint.event_id;const promisedEvent=is_isPrimitive(message)?this.eventFromMessage(String(message),level,hint):this.eventFromException(message,hint);return this._process(promisedEvent.then(event=>this._captureEvent(event,hint,scope)).then(result=>{eventId=result})),eventId}captureEvent(event,hint,scope){if(hint&&hint.originalException&&checkOrSetAlreadyCaught(hint.originalException))return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(ALREADY_SEEN_ERROR));let eventId=hint&&hint.event_id;return this._process(this._captureEvent(event,hint,scope).then(result=>{eventId=result})),eventId}captureSession(session){this._isEnabled()?"string"!=typeof session.release?(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Discarded session because of missing or non-string release"):(this.sendSession(session),updateSession(session,{init:!1})):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("SDK not enabled, will not capture session.")}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(timeout){const transport=this._transport;return transport?this._isClientDoneProcessing(timeout).then(clientFinished=>transport.flush(timeout).then(transportFlushed=>clientFinished&&transportFlushed)):resolvedSyncPromise(!0)}close(timeout){return this.flush(timeout).then(result=>(this.getOptions().enabled=!1,result))}setupIntegrations(){this._isEnabled()&&!this._integrationsInitialized&&(this._integrations=function setupIntegrations(integrations){const integrationIndex={};return integrations.forEach(integration=>{integration&&setupIntegration(integration,integrationIndex)}),integrationIndex}(this._options.integrations),this._integrationsInitialized=!0)}getIntegrationById(integrationId){return this._integrations[integrationId]}getIntegration(integration){try{return this._integrations[integration.id]||null}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`),null}}addIntegration(integration){setupIntegration(integration,this._integrations)}sendEvent(event,hint={}){if(this._dsn){let env2=function createEventEnvelope(event,dsn,metadata,tunnel){const sdkInfo=getSdkMetadataForEnvelopeHeader(metadata),eventType=event.type&&"replay_event"!==event.type?event.type:"event";!function enhanceEventWithSdkInfo(event,sdkInfo){sdkInfo&&(event.sdk=event.sdk||{},event.sdk.name=event.sdk.name||sdkInfo.name,event.sdk.version=event.sdk.version||sdkInfo.version,event.sdk.integrations=[...event.sdk.integrations||[],...sdkInfo.integrations||[]],event.sdk.packages=[...event.sdk.packages||[],...sdkInfo.packages||[]])}(event,metadata&&metadata.sdk);const envelopeHeaders=createEventEnvelopeHeaders(event,sdkInfo,tunnel,dsn);return delete event.sdkProcessingMetadata,createEnvelope(envelopeHeaders,[[{type:eventType},event]])}(event,this._dsn,this._options._metadata,this._options.tunnel);for(const attachment of hint.attachments||[])env2=addItemToEnvelope(env2,createAttachmentEnvelopeItem(attachment,this._options.transportOptions&&this._options.transportOptions.textEncoder));const promise=this._sendEnvelope(env2);promise&&promise.then(sendResponse=>this.emit("afterSendEvent",event,sendResponse),null)}}sendSession(session){if(this._dsn){const env2=function createSessionEnvelope(session,dsn,metadata,tunnel){const sdkInfo=getSdkMetadataForEnvelopeHeader(metadata);return createEnvelope({sent_at:(new Date).toISOString(),...sdkInfo&&{sdk:sdkInfo},...!!tunnel&&{dsn:dsnToString(dsn)}},["aggregates"in session?[{type:"sessions"},session]:[{type:"session"},session.toJSON()]])}(session,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(env2)}}recordDroppedEvent(reason,category,_event){if(this._options.sendClientReports){const key=`${reason}:${category}`;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`Adding outcome: "${key}"`),this._outcomes[key]=this._outcomes[key]+1||1}}on(hook,callback){this._hooks[hook]||(this._hooks[hook]=[]),this._hooks[hook].push(callback)}emit(hook,...rest){this._hooks[hook]&&this._hooks[hook].forEach(callback=>callback(...rest))}_updateSessionFromEvent(session,event){let crashed=!1,errored=!1;const exceptions=event.exception&&event.exception.values;if(exceptions){errored=!0;for(const ex of exceptions){const mechanism=ex.mechanism;if(mechanism&&!1===mechanism.handled){crashed=!0;break}}}const sessionNonTerminal="ok"===session.status;(sessionNonTerminal&&0===session.errors||sessionNonTerminal&&crashed)&&(updateSession(session,{...crashed&&{status:"crashed"},errors:session.errors||Number(errored||crashed)}),this.captureSession(session))}_isClientDoneProcessing(timeout){return new SyncPromise(resolve=>{let ticked=0;const interval=setInterval(()=>{0==this._numProcessing?(clearInterval(interval),resolve(!0)):(ticked+=1,timeout&&ticked>=timeout&&(clearInterval(interval),resolve(!1)))},1)})}_isEnabled(){return!1!==this.getOptions().enabled&&void 0!==this._dsn}_prepareEvent(event,hint,scope){const options=this.getOptions(),integrations=Object.keys(this._integrations);return!hint.integrations&&integrations.length>0&&(hint.integrations=integrations),prepareEvent(options,event,hint,scope).then(evt=>{if(null===evt)return evt;const{propagationContext}=evt.sdkProcessingMetadata||{};if((!evt.contexts||!evt.contexts.trace)&&propagationContext){const{traceId:trace_id,spanId,parentSpanId,dsc}=propagationContext;evt.contexts={trace:{trace_id,span_id:spanId,parent_span_id:parentSpanId},...evt.contexts};const dynamicSamplingContext=dsc||getDynamicSamplingContextFromClient(trace_id,this,scope);evt.sdkProcessingMetadata={dynamicSamplingContext,...evt.sdkProcessingMetadata}}return evt})}_captureEvent(event,hint={},scope){return this._processEvent(event,hint,scope).then(finalEvent=>finalEvent.event_id,reason=>{if(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__){const sentryError=reason;"log"===sentryError.logLevel?logger_logger.log(sentryError.message):logger_logger.warn(sentryError)}})}_processEvent(event,hint,scope){const options=this.getOptions(),{sampleRate}=options;if(!this._isEnabled())return rejectedSyncPromise(new SentryError("SDK not enabled, will not capture event.","log"));const isTransaction=isTransactionEvent(event),isError2=baseclient_isErrorEvent(event),eventType=event.type||"error",beforeSendLabel=`before send for type \`${eventType}\``;if(isError2&&"number"==typeof sampleRate&&Math.random()>sampleRate)return this.recordDroppedEvent("sample_rate","error",event),rejectedSyncPromise(new SentryError(`Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,"log"));const dataCategory="replay_event"===eventType?"replay":eventType;return this._prepareEvent(event,hint,scope).then(prepared=>{if(null===prepared)throw this.recordDroppedEvent("event_processor",dataCategory,event),new SentryError("An event processor returned `null`, will not send event.","log");if(hint.data&&!0===hint.data.__sentry__)return prepared;const result=function processBeforeSend(options,event,hint){const{beforeSend,beforeSendTransaction}=options;return baseclient_isErrorEvent(event)&&beforeSend?beforeSend(event,hint):isTransactionEvent(event)&&beforeSendTransaction?beforeSendTransaction(event,hint):event}(options,prepared,hint);return function _validateBeforeSendResult(beforeSendResult,beforeSendLabel){const invalidValueError=`${beforeSendLabel} must return \`null\` or a valid event.`;if(isThenable(beforeSendResult))return beforeSendResult.then(event=>{if(!isPlainObject(event)&&null!==event)throw new SentryError(invalidValueError);return event},e2=>{throw new SentryError(`${beforeSendLabel} rejected with ${e2}`)});if(!isPlainObject(beforeSendResult)&&null!==beforeSendResult)throw new SentryError(invalidValueError);return beforeSendResult}(result,beforeSendLabel)}).then(processedEvent=>{if(null===processedEvent)throw this.recordDroppedEvent("before_send",dataCategory,event),new SentryError(`${beforeSendLabel} returned \`null\`, will not send event.`,"log");const session=scope&&scope.getSession();!isTransaction&&session&&this._updateSessionFromEvent(session,processedEvent);const transactionInfo=processedEvent.transaction_info;if(isTransaction&&transactionInfo&&processedEvent.transaction!==event.transaction){const source="custom";processedEvent.transaction_info={...transactionInfo,source}}return this.sendEvent(processedEvent,hint),processedEvent}).then(null,reason=>{throw reason instanceof SentryError?reason:(this.captureException(reason,{data:{__sentry__:!0},originalException:reason}),new SentryError(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${reason}`))})}_process(promise){this._numProcessing++,promise.then(value=>(this._numProcessing--,value),reason=>(this._numProcessing--,reason))}_sendEnvelope(envelope){if(this._transport&&this._dsn)return this.emit("beforeEnvelope",envelope),this._transport.send(envelope).then(null,reason=>{(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Error while sending event:",reason)});(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Transport disabled")}_clearOutcomes(){const outcomes=this._outcomes;return this._outcomes={},Object.keys(outcomes).map(key=>{const[reason,category]=key.split(":");return{reason,category,quantity:outcomes[key]}})}}function baseclient_isErrorEvent(event){return void 0===event.type}function isTransactionEvent(event){return"transaction"===event.type}var env=__webpack_require__(2007);function exceptionFromError(stackParser,ex){const frames=parseStackFrames(stackParser,ex),exception={type:ex&&ex.name,value:extractMessage(ex)};return frames.length&&(exception.stacktrace={frames}),void 0===exception.type&&""===exception.value&&(exception.value="Unrecoverable error caught"),exception}function eventFromError(stackParser,ex){return{exception:{values:[exceptionFromError(stackParser,ex)]}}}function parseStackFrames(stackParser,ex){const stacktrace=ex.stacktrace||ex.stack||"",popSize=function getPopSize(ex){if(ex){if("number"==typeof ex.framesToPop)return ex.framesToPop;if(reactMinifiedRegexp.test(ex.message))return 1}return 0}(ex);try{return stackParser(stacktrace,popSize)}catch{}return[]}const reactMinifiedRegexp=/Minified React error #\d+;/i;function extractMessage(ex){const message=ex&&ex.message;return message?message.error&&"string"==typeof message.error.message?message.error.message:message:"No error message"}function eventFromUnknownInput(stackParser,exception,syntheticException,attachStacktrace,isUnhandledRejection){let event;if(isErrorEvent(exception)&&exception.error)return eventFromError(stackParser,exception.error);if(isDOMError(exception)||function isDOMException(wat){return isBuiltin(wat,"DOMException")}(exception)){const domException=exception;if("stack"in exception)event=eventFromError(stackParser,exception);else{const name=domException.name||(isDOMError(domException)?"DOMError":"DOMException"),message=domException.message?`${name}: ${domException.message}`:name;event=eventFromString(stackParser,message,syntheticException,attachStacktrace),addExceptionTypeValue(event,message)}return"code"in domException&&(event.tags={...event.tags,"DOMException.code":`${domException.code}`}),event}return isError(exception)?eventFromError(stackParser,exception):isPlainObject(exception)||isEvent(exception)?(event=function eventFromPlainObject(stackParser,exception,syntheticException,isUnhandledRejection){const client=hub_getCurrentHub().getClient(),normalizeDepth=client&&client.getOptions().normalizeDepth,event={exception:{values:[{type:isEvent(exception)?exception.constructor.name:isUnhandledRejection?"UnhandledRejection":"Error",value:getNonErrorObjectExceptionValue(exception,{isUnhandledRejection})}]},extra:{__serialized__:normalizeToSize(exception,normalizeDepth)}};if(syntheticException){const frames=parseStackFrames(stackParser,syntheticException);frames.length&&(event.exception.values[0].stacktrace={frames})}return event}(stackParser,exception,syntheticException,isUnhandledRejection),addExceptionMechanism(event,{synthetic:!0}),event):(event=eventFromString(stackParser,exception,syntheticException,attachStacktrace),addExceptionTypeValue(event,`${exception}`,void 0),addExceptionMechanism(event,{synthetic:!0}),event)}function eventFromString(stackParser,input,syntheticException,attachStacktrace){const event={message:input};if(attachStacktrace&&syntheticException){const frames=parseStackFrames(stackParser,syntheticException);frames.length&&(event.exception={values:[{value:input,stacktrace:{frames}}]})}return event}function getNonErrorObjectExceptionValue(exception,{isUnhandledRejection}){const keys=function extractExceptionKeysForMessage(exception,maxLength=40){const keys=Object.keys(convertToPlainObject(exception));if(keys.sort(),!keys.length)return"[object has no keys]";if(keys[0].length>=maxLength)return truncate(keys[0],maxLength);for(let includedKeys=keys.length;includedKeys>0;includedKeys--){const serialized=keys.slice(0,includedKeys).join(", ");if(!(serialized.length>maxLength))return includedKeys===keys.length?serialized:truncate(serialized,maxLength)}return""}(exception),captureType=isUnhandledRejection?"promise rejection":"exception";return isErrorEvent(exception)?`Event \`ErrorEvent\` captured as ${captureType} with message \`${exception.message}\``:isEvent(exception)?`Event \`${function getObjectClassName(obj){try{const prototype=Object.getPrototypeOf(obj);return prototype?prototype.constructor.name:void 0}catch{}}(exception)}\` (type=${exception.type}) captured as ${captureType}`:`Object captured as ${captureType} with keys: ${keys}`}const helpers_WINDOW=worldwide.n2;let ignoreOnError=0;function shouldIgnoreOnError(){return ignoreOnError>0}function helpers_wrap(fn,options={},before){if("function"!=typeof fn)return fn;try{const wrapper=fn.__sentry_wrapped__;if(wrapper)return wrapper;if(getOriginalFunction(fn))return fn}catch{return fn}const sentryWrapped=function(){const args=Array.prototype.slice.call(arguments);try{before&&"function"==typeof before&&before.apply(this,arguments);const wrappedArguments=args.map(arg=>helpers_wrap(arg,options));return fn.apply(this,wrappedArguments)}catch(ex){throw function ignoreNextOnError(){ignoreOnError++,setTimeout(()=>{ignoreOnError--})}(),function withScope(callback){hub_getCurrentHub().withScope(callback)}(scope=>{scope.addEventProcessor(event=>(options.mechanism&&(addExceptionTypeValue(event,void 0,void 0),addExceptionMechanism(event,options.mechanism)),event.extra={...event.extra,arguments:args},event)),captureException(ex)}),ex}};try{for(const property in fn)Object.prototype.hasOwnProperty.call(fn,property)&&(sentryWrapped[property]=fn[property])}catch{}markFunctionWrapped(sentryWrapped,fn),addNonEnumerableProperty(fn,"__sentry_wrapped__",sentryWrapped);try{Object.getOwnPropertyDescriptor(sentryWrapped,"name").configurable&&Object.defineProperty(sentryWrapped,"name",{get:()=>fn.name})}catch{}return sentryWrapped}const validSeverityLevels=["fatal","error","warning","log","info","debug"];function parseUrl(url){if(!url)return{};const match2=url.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!match2)return{};const query2=match2[6]||"",fragment=match2[8]||"";return{host:match2[4],path:match2[5],protocol:match2[2],search:query2,hash:fragment,relative:match2[5]+query2+fragment}}class Breadcrumbs{static __initStatic(){this.id="Breadcrumbs"}constructor(options){this.name=Breadcrumbs.id,this.options={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...options}}setupOnce(){this.options.console&&addInstrumentationHandler("console",_consoleBreadcrumb),this.options.dom&&addInstrumentationHandler("dom",function _domBreadcrumb(dom){return function _innerDomBreadcrumb(handlerData){let target,keyAttrs="object"==typeof dom?dom.serializeAttribute:void 0,maxStringLength="object"==typeof dom&&"number"==typeof dom.maxStringLength?dom.maxStringLength:void 0;maxStringLength&&maxStringLength>1024&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${maxStringLength} was configured. Sentry will use 1024 instead.`),maxStringLength=1024),"string"==typeof keyAttrs&&(keyAttrs=[keyAttrs]);try{const event=handlerData.event;target=function _isEvent(event){return!!event&&!!event.target}(event)?htmlTreeAsString(event.target,{keyAttrs,maxStringLength}):htmlTreeAsString(event,{keyAttrs,maxStringLength})}catch{target=""}0!==target.length&&hub_getCurrentHub().addBreadcrumb({category:`ui.${handlerData.name}`,message:target},{event:handlerData.event,name:handlerData.name,global:handlerData.global})}}(this.options.dom)),this.options.xhr&&addInstrumentationHandler("xhr",_xhrBreadcrumb),this.options.fetch&&addInstrumentationHandler("fetch",_fetchBreadcrumb),this.options.history&&addInstrumentationHandler("history",_historyBreadcrumb)}addSentryBreadcrumb(event){this.options.sentry&&hub_getCurrentHub().addBreadcrumb({category:"sentry."+("transaction"===event.type?"transaction":"event"),event_id:event.event_id,level:event.level,message:getEventDescription(event)},{event})}}function _consoleBreadcrumb(handlerData){for(let i6=0;i6{"hidden"===helpers_WINDOW.document.visibilityState&&this._flushOutcomes()})}eventFromException(exception,hint){return function eventFromException(stackParser,exception,hint,attachStacktrace){const event=eventFromUnknownInput(stackParser,exception,hint&&hint.syntheticException||void 0,attachStacktrace);return addExceptionMechanism(event),event.level="error",hint&&hint.event_id&&(event.event_id=hint.event_id),resolvedSyncPromise(event)}(this._options.stackParser,exception,hint,this._options.attachStacktrace)}eventFromMessage(message,level="info",hint){return function eventFromMessage(stackParser,message,level="info",hint,attachStacktrace){const event=eventFromString(stackParser,message,hint&&hint.syntheticException||void 0,attachStacktrace);return event.level=level,hint&&hint.event_id&&(event.event_id=hint.event_id),resolvedSyncPromise(event)}(this._options.stackParser,message,level,hint,this._options.attachStacktrace)}sendEvent(event,hint){const breadcrumbIntegration=this.getIntegrationById("Breadcrumbs");breadcrumbIntegration&&breadcrumbIntegration.addSentryBreadcrumb&&breadcrumbIntegration.addSentryBreadcrumb(event),super.sendEvent(event,hint)}captureUserFeedback(feedback){if(!this._isEnabled())return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("SDK not enabled, will not capture user feedback."));const envelope=function createUserFeedbackEnvelope(feedback,{metadata,tunnel,dsn}){const headers={event_id:feedback.event_id,sent_at:(new Date).toISOString(),...metadata&&metadata.sdk&&{sdk:{name:metadata.sdk.name,version:metadata.sdk.version}},...!!tunnel&&!!dsn&&{dsn:dsnToString(dsn)}},item=function createUserFeedbackEnvelopeItem(feedback){return[{type:"user_report"},feedback]}(feedback);return createEnvelope(headers,[item])}(feedback,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this._sendEnvelope(envelope)}_prepareEvent(event,hint,scope){return event.platform=event.platform||"javascript",super._prepareEvent(event,hint,scope)}_flushOutcomes(){const outcomes=this._clearOutcomes();if(0===outcomes.length)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("No outcomes to send"));if(!this._dsn)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("No dsn provided, will not send outcomes"));(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("Sending outcomes:",outcomes);const envelope=function createClientReportEnvelope(discarded_events,dsn,timestamp){return createEnvelope(dsn?{dsn}:{},[[{type:"client_report"},{timestamp:timestamp||(0,esm_time.yW)(),discarded_events}]])}(outcomes,this._options.tunnel&&dsnToString(this._dsn));this._sendEnvelope(envelope)}}class GlobalHandlers{static __initStatic(){this.id="GlobalHandlers"}constructor(options){this.name=GlobalHandlers.id,this._options={onerror:!0,onunhandledrejection:!0,...options},this._installFunc={onerror:_installGlobalOnErrorHandler,onunhandledrejection:_installGlobalOnUnhandledRejectionHandler}}setupOnce(){Error.stackTraceLimit=50;const options=this._options;for(const key in options){const installFunc=this._installFunc[key];installFunc&&options[key]&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`Global Handler attached: ${key}`),installFunc(),this._installFunc[key]=void 0)}}}function _installGlobalOnErrorHandler(){addInstrumentationHandler("error",data=>{const[hub,stackParser,attachStacktrace]=getHubAndOptions();if(!hub.getIntegration(GlobalHandlers))return;const{msg,url,line,column,error}=data;if(shouldIgnoreOnError()||error&&error.__sentry_own_request__)return;const event=void 0===error&&isString(msg)?function _eventFromIncompleteOnError(msg,url,line,column){let message=isErrorEvent(msg)?msg.message:msg,name="Error";const groups=message.match(/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i);return groups&&(name=groups[1],message=groups[2]),_enhanceEventWithInitialFrame({exception:{values:[{type:name,value:message}]}},url,line,column)}(msg,url,line,column):_enhanceEventWithInitialFrame(eventFromUnknownInput(stackParser,error||msg,void 0,attachStacktrace,!1),url,line,column);event.level="error",addMechanismAndCapture(hub,error,event,"onerror")})}function _installGlobalOnUnhandledRejectionHandler(){addInstrumentationHandler("unhandledrejection",e2=>{const[hub,stackParser,attachStacktrace]=getHubAndOptions();if(!hub.getIntegration(GlobalHandlers))return;let error=e2;try{"reason"in e2?error=e2.reason:"detail"in e2&&"reason"in e2.detail&&(error=e2.detail.reason)}catch{}if(shouldIgnoreOnError()||error&&error.__sentry_own_request__)return!0;const event=is_isPrimitive(error)?function _eventFromRejectionWithPrimitive(reason){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(reason)}`}]}}}(error):eventFromUnknownInput(stackParser,error,void 0,attachStacktrace,!0);event.level="error",addMechanismAndCapture(hub,error,event,"onunhandledrejection")})}function _enhanceEventWithInitialFrame(event,url,line,column){const e2=event.exception=event.exception||{},ev=e2.values=e2.values||[],ev0=ev[0]=ev[0]||{},ev0s=ev0.stacktrace=ev0.stacktrace||{},ev0sf=ev0s.frames=ev0s.frames||[],colno=isNaN(parseInt(column,10))?void 0:column,lineno=isNaN(parseInt(line,10))?void 0:line,filename=isString(url)&&url.length>0?url:function getLocationHref(){try{return browser_WINDOW.document.location.href}catch{return""}}();return 0===ev0sf.length&&ev0sf.push({colno,filename,function:"?",in_app:!0,lineno}),event}function addMechanismAndCapture(hub,error,event,type){addExceptionMechanism(event,{handled:!1,type}),hub.captureEvent(event,{originalException:error})}function getHubAndOptions(){const hub=hub_getCurrentHub(),client=hub.getClient(),options=client&&client.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[hub,options.stackParser,options.attachStacktrace]}GlobalHandlers.__initStatic();const DEFAULT_EVENT_TARGET=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"];class TryCatch{static __initStatic(){this.id="TryCatch"}constructor(options){this.name=TryCatch.id,this._options={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...options}}setupOnce(){this._options.setTimeout&&fill(helpers_WINDOW,"setTimeout",_wrapTimeFunction),this._options.setInterval&&fill(helpers_WINDOW,"setInterval",_wrapTimeFunction),this._options.requestAnimationFrame&&fill(helpers_WINDOW,"requestAnimationFrame",_wrapRAF),this._options.XMLHttpRequest&&"XMLHttpRequest"in helpers_WINDOW&&fill(XMLHttpRequest.prototype,"send",_wrapXHR);const eventTargetOption=this._options.eventTarget;eventTargetOption&&(Array.isArray(eventTargetOption)?eventTargetOption:DEFAULT_EVENT_TARGET).forEach(_wrapEventTarget)}}function _wrapTimeFunction(original){return function(...args){return args[0]=helpers_wrap(args[0],{mechanism:{data:{function:getFunctionName(original)},handled:!0,type:"instrument"}}),original.apply(this,args)}}function _wrapRAF(original){return function(callback){return original.apply(this,[helpers_wrap(callback,{mechanism:{data:{function:"requestAnimationFrame",handler:getFunctionName(original)},handled:!0,type:"instrument"}})])}}function _wrapXHR(originalSend){return function(...args){const xhr=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(prop2=>{prop2 in xhr&&"function"==typeof xhr[prop2]&&fill(xhr,prop2,function(original){const wrapOptions={mechanism:{data:{function:prop2,handler:getFunctionName(original)},handled:!0,type:"instrument"}},originalFunction=getOriginalFunction(original);return originalFunction&&(wrapOptions.mechanism.data.handler=getFunctionName(originalFunction)),helpers_wrap(original,wrapOptions)})}),originalSend.apply(this,args)}}function _wrapEventTarget(target){const proto=helpers_WINDOW[target]&&helpers_WINDOW[target].prototype;!proto||!proto.hasOwnProperty||!proto.hasOwnProperty("addEventListener")||(fill(proto,"addEventListener",function(original){return function(eventName,fn,options){try{"function"==typeof fn.handleEvent&&(fn.handleEvent=helpers_wrap(fn.handleEvent,{mechanism:{data:{function:"handleEvent",handler:getFunctionName(fn),target},handled:!0,type:"instrument"}}))}catch{}return original.apply(this,[eventName,helpers_wrap(fn,{mechanism:{data:{function:"addEventListener",handler:getFunctionName(fn),target},handled:!0,type:"instrument"}}),options])}}),fill(proto,"removeEventListener",function(originalRemoveEventListener){return function(eventName,fn,options){const wrappedEventHandler=fn;try{const originalEventHandler=wrappedEventHandler&&wrappedEventHandler.__sentry_wrapped__;originalEventHandler&&originalRemoveEventListener.call(this,eventName,originalEventHandler,options)}catch{}return originalRemoveEventListener.call(this,eventName,wrappedEventHandler,options)}}))}function applyAggregateErrorsToEvent(exceptionFromErrorImplementation,parser,maxValueLimit=250,key,limit,event,hint){if(!(event.exception&&event.exception.values&&hint&&isInstanceOf(hint.originalException,Error)))return;const originalException=event.exception.values.length>0?event.exception.values[event.exception.values.length-1]:void 0;originalException&&(event.exception.values=function truncateAggregateExceptions(exceptions,maxValueLength){return exceptions.map(exception=>(exception.value&&(exception.value=truncate(exception.value,maxValueLength)),exception))}(aggregateExceptionsFromError(exceptionFromErrorImplementation,parser,limit,hint.originalException,key,event.exception.values,originalException,0),maxValueLimit))}function aggregateExceptionsFromError(exceptionFromErrorImplementation,parser,limit,error,key,prevExceptions,exception,exceptionId){if(prevExceptions.length>=limit+1)return prevExceptions;let newExceptions=[...prevExceptions];if(isInstanceOf(error[key],Error)){applyExceptionGroupFieldsForParentException(exception,exceptionId);const newException=exceptionFromErrorImplementation(parser,error[key]),newExceptionId=newExceptions.length;applyExceptionGroupFieldsForChildException(newException,key,newExceptionId,exceptionId),newExceptions=aggregateExceptionsFromError(exceptionFromErrorImplementation,parser,limit,error[key],key,[newException,...newExceptions],newException,newExceptionId)}return Array.isArray(error.errors)&&error.errors.forEach((childError,i6)=>{if(isInstanceOf(childError,Error)){applyExceptionGroupFieldsForParentException(exception,exceptionId);const newException=exceptionFromErrorImplementation(parser,childError),newExceptionId=newExceptions.length;applyExceptionGroupFieldsForChildException(newException,`errors[${i6}]`,newExceptionId,exceptionId),newExceptions=aggregateExceptionsFromError(exceptionFromErrorImplementation,parser,limit,childError,key,[newException,...newExceptions],newException,newExceptionId)}}),newExceptions}function applyExceptionGroupFieldsForParentException(exception,exceptionId){exception.mechanism=exception.mechanism||{type:"generic",handled:!0},exception.mechanism={...exception.mechanism,is_exception_group:!0,exception_id:exceptionId}}function applyExceptionGroupFieldsForChildException(exception,source,exceptionId,parentId){exception.mechanism=exception.mechanism||{type:"generic",handled:!0},exception.mechanism={...exception.mechanism,type:"chained",source,exception_id:exceptionId,parent_id:parentId}}TryCatch.__initStatic();class LinkedErrors{static __initStatic(){this.id="LinkedErrors"}constructor(options={}){this.name=LinkedErrors.id,this._key=options.key||"cause",this._limit=options.limit||5}setupOnce(addGlobalEventProcessor2,getCurrentHub2){addGlobalEventProcessor2((event,hint)=>{const hub=getCurrentHub2(),client=hub.getClient(),self2=hub.getIntegration(LinkedErrors);if(!client||!self2)return event;const options=client.getOptions();return applyAggregateErrorsToEvent(exceptionFromError,options.stackParser,options.maxValueLength,self2._key,self2._limit,event,hint),event})}}LinkedErrors.__initStatic();class HttpContext{static __initStatic(){this.id="HttpContext"}constructor(){this.name=HttpContext.id}setupOnce(){addGlobalEventProcessor(event=>{if(hub_getCurrentHub().getIntegration(HttpContext)){if(!helpers_WINDOW.navigator&&!helpers_WINDOW.location&&!helpers_WINDOW.document)return event;const url=event.request&&event.request.url||helpers_WINDOW.location&&helpers_WINDOW.location.href,{referrer}=helpers_WINDOW.document||{},{userAgent}=helpers_WINDOW.navigator||{},headers={...event.request&&event.request.headers,...referrer&&{Referer:referrer},...userAgent&&{"User-Agent":userAgent}},request={...event.request,...url&&{url},headers};return{...event,request}}return event})}}HttpContext.__initStatic();class Dedupe{static __initStatic(){this.id="Dedupe"}constructor(){this.name=Dedupe.id}setupOnce(addGlobalEventProcessor2,getCurrentHub2){const eventProcessor=currentEvent=>{if(currentEvent.type)return currentEvent;const self2=getCurrentHub2().getIntegration(Dedupe);if(self2){try{if(function dedupe_shouldDropEvent(currentEvent,previousEvent){return!(!previousEvent||!function _isSameMessageEvent(currentEvent,previousEvent){const currentMessage=currentEvent.message,previousMessage=previousEvent.message;return!(!currentMessage&&!previousMessage||currentMessage&&!previousMessage||!currentMessage&&previousMessage||currentMessage!==previousMessage||!_isSameFingerprint(currentEvent,previousEvent)||!_isSameStacktrace(currentEvent,previousEvent))}(currentEvent,previousEvent)&&!function _isSameExceptionEvent(currentEvent,previousEvent){const previousException=_getExceptionFromEvent(previousEvent),currentException=_getExceptionFromEvent(currentEvent);return!!(previousException&¤tException&&previousException.type===currentException.type&&previousException.value===currentException.value&&_isSameFingerprint(currentEvent,previousEvent)&&_isSameStacktrace(currentEvent,previousEvent))}(currentEvent,previousEvent))}(currentEvent,self2._previousEvent))return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{return self2._previousEvent=currentEvent}return self2._previousEvent=currentEvent}return currentEvent};eventProcessor.id=this.name,addGlobalEventProcessor2(eventProcessor)}}function _isSameStacktrace(currentEvent,previousEvent){let currentFrames=_getFramesFromEvent(currentEvent),previousFrames=_getFramesFromEvent(previousEvent);if(!currentFrames&&!previousFrames)return!0;if(currentFrames&&!previousFrames||!currentFrames&&previousFrames||previousFrames.length!==currentFrames.length)return!1;for(let i6=0;i6|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,chromeEvalRegex=/\((\S*)(?::(\d+))(?::(\d+))\)/,geckoREgex=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,geckoEvalRegex=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,winjsRegex=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,defaultStackParser=createStackParser([30,line=>{const parts=chromeRegex.exec(line);if(parts){if(parts[2]&&0===parts[2].indexOf("eval")){const subMatch=chromeEvalRegex.exec(parts[2]);subMatch&&(parts[2]=subMatch[1],parts[3]=subMatch[2],parts[4]=subMatch[3])}const[func,filename]=extractSafariExtensionDetails(parts[1]||"?",parts[2]);return createFrame(filename,func,parts[3]?+parts[3]:void 0,parts[4]?+parts[4]:void 0)}}],[50,line=>{const parts=geckoREgex.exec(line);if(parts){if(parts[3]&&parts[3].indexOf(" > eval")>-1){const subMatch=geckoEvalRegex.exec(parts[3]);subMatch&&(parts[1]=parts[1]||"eval",parts[3]=subMatch[1],parts[4]=subMatch[2],parts[5]="")}let filename=parts[3],func=parts[1]||"?";return[func,filename]=extractSafariExtensionDetails(func,filename),createFrame(filename,func,parts[4]?+parts[4]:void 0,parts[5]?+parts[5]:void 0)}}],[40,line=>{const parts=winjsRegex.exec(line);return parts?createFrame(parts[2],parts[1]||"?",+parts[3],parts[4]?+parts[4]:void 0):void 0}]),extractSafariExtensionDetails=(func,filename)=>{const isSafariExtension=-1!==func.indexOf("safari-extension"),isSafariWebExtension=-1!==func.indexOf("safari-web-extension");return isSafariExtension||isSafariWebExtension?[-1!==func.indexOf("@")?func.split("@")[0]:"?",isSafariExtension?`safari-extension:${filename}`:`safari-web-extension:${filename}`]:[func,filename]};const DEFAULT_RETRY_AFTER=6e4;const DEFAULT_TRANSPORT_BUFFER_SIZE=30;function createTransport(options,makeRequest2,buffer=function makePromiseBuffer(limit){const buffer=[];function remove2(task){return buffer.splice(buffer.indexOf(task),1)[0]}return{$:buffer,add:function add(taskProducer){if(!function isReady(){return void 0===limit||buffer.lengthremove2(task)).then(null,()=>remove2(task).then(null,()=>{})),task},drain:function drain(timeout){return new SyncPromise((resolve,reject)=>{let counter=buffer.length;if(!counter)return resolve(!0);const capturedSetTimeout=setTimeout(()=>{timeout&&timeout>0&&resolve(!1)},timeout);buffer.forEach(item=>{resolvedSyncPromise(item).then(()=>{--counter||(clearTimeout(capturedSetTimeout),resolve(!0))},reject)})})}}}(options.bufferSize||DEFAULT_TRANSPORT_BUFFER_SIZE)){let rateLimits={};function send(envelope){const filteredEnvelopeItems=[];if(forEachEnvelopeItem(envelope,(item,type)=>{const envelopeItemDataCategory=envelopeItemTypeToDataCategory(type);if(function isRateLimited(limits,category,now=Date.now()){return function disabledUntil(limits,category){return limits[category]||limits.all||0}(limits,category)>now}(rateLimits,envelopeItemDataCategory)){const event=getEventForEnvelopeItem(item,type);options.recordDroppedEvent("ratelimit_backoff",envelopeItemDataCategory,event)}else filteredEnvelopeItems.push(item)}),0===filteredEnvelopeItems.length)return resolvedSyncPromise();const filteredEnvelope=createEnvelope(envelope[0],filteredEnvelopeItems),recordEnvelopeLoss=reason=>{forEachEnvelopeItem(filteredEnvelope,(item,type)=>{const event=getEventForEnvelopeItem(item,type);options.recordDroppedEvent(reason,envelopeItemTypeToDataCategory(type),event)})};return buffer.add(()=>makeRequest2({body:serializeEnvelope(filteredEnvelope,options.textEncoder)}).then(response=>(void 0!==response.statusCode&&(response.statusCode<200||response.statusCode>=300)&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Sentry responded with status code ${response.statusCode} to sent event.`),rateLimits=function updateRateLimits(limits,{statusCode,headers},now=Date.now()){const updatedRateLimits={...limits},rateLimitHeader=headers&&headers["x-sentry-rate-limits"],retryAfterHeader=headers&&headers["retry-after"];if(rateLimitHeader)for(const limit of rateLimitHeader.trim().split(",")){const[retryAfter,categories]=limit.split(":",2),headerDelay=parseInt(retryAfter,10),delay=1e3*(isNaN(headerDelay)?60:headerDelay);if(categories)for(const category of categories.split(";"))updatedRateLimits[category]=now+delay;else updatedRateLimits.all=now+delay}else retryAfterHeader?updatedRateLimits.all=now+function parseRetryAfterHeader(header,now=Date.now()){const headerDelay=parseInt(`${header}`,10);if(!isNaN(headerDelay))return 1e3*headerDelay;const headerDate=Date.parse(`${header}`);return isNaN(headerDate)?DEFAULT_RETRY_AFTER:headerDate-now}(retryAfterHeader,now):429===statusCode&&(updatedRateLimits.all=now+6e4);return updatedRateLimits}(rateLimits,response),response),error=>{throw recordEnvelopeLoss("network_error"),error})).then(result=>result,error=>{if(error instanceof SentryError)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Skipped sending event because buffer is full."),recordEnvelopeLoss("queue_overflow"),resolvedSyncPromise();throw error})}return send.__sentry__baseTransport__=!0,{send,flush:timeout=>buffer.drain(timeout)}}function getEventForEnvelopeItem(item,type){if("event"===type||"transaction"===type)return Array.isArray(item)?item[1]:void 0}let cachedFetchImpl;function makeFetchTransport(options,nativeFetch=function getNativeFetchImplementation(){if(cachedFetchImpl)return cachedFetchImpl;if(isNativeFetch(helpers_WINDOW.fetch))return cachedFetchImpl=helpers_WINDOW.fetch.bind(helpers_WINDOW);const document2=helpers_WINDOW.document;let fetchImpl=helpers_WINDOW.fetch;if(document2&&"function"==typeof document2.createElement)try{const sandbox=document2.createElement("iframe");sandbox.hidden=!0,document2.head.appendChild(sandbox);const contentWindow=sandbox.contentWindow;contentWindow&&contentWindow.fetch&&(fetchImpl=contentWindow.fetch),document2.head.removeChild(sandbox)}catch(e2){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",e2)}return cachedFetchImpl=fetchImpl.bind(helpers_WINDOW)}()){let pendingBodySize=0,pendingCount=0;return createTransport(options,function makeRequest2(request){const requestSize=request.body.length;pendingBodySize+=requestSize,pendingCount++;const requestOptions={body:request.body,method:"POST",referrerPolicy:"origin",headers:options.headers,keepalive:pendingBodySize<=6e4&&pendingCount<15,...options.fetchOptions};try{return nativeFetch(options.url,requestOptions).then(response=>(pendingBodySize-=requestSize,pendingCount--,{statusCode:response.status,headers:{"x-sentry-rate-limits":response.headers.get("X-Sentry-Rate-Limits"),"retry-after":response.headers.get("Retry-After")}}))}catch(e2){return function clearCachedFetchImplementation(){cachedFetchImpl=void 0}(),pendingBodySize-=requestSize,pendingCount--,rejectedSyncPromise(e2)}})}const XHR_READYSTATE_DONE=4;function makeXHRTransport(options){return createTransport(options,function makeRequest2(request){return new SyncPromise((resolve,reject)=>{const xhr=new XMLHttpRequest;xhr.onerror=reject,xhr.onreadystatechange=()=>{xhr.readyState===XHR_READYSTATE_DONE&&resolve({statusCode:xhr.status,headers:{"x-sentry-rate-limits":xhr.getResponseHeader("X-Sentry-Rate-Limits"),"retry-after":xhr.getResponseHeader("Retry-After")}})},xhr.open("POST",options.url);for(const header in options.headers)Object.prototype.hasOwnProperty.call(options.headers,header)&&xhr.setRequestHeader(header,options.headers[header]);xhr.send(request.body)})})}const defaultIntegrations=[new InboundFilters,new FunctionToString,new TryCatch,new Breadcrumbs,new GlobalHandlers,new LinkedErrors,new Dedupe,new HttpContext];function showReportDialog(options={},hub=hub_getCurrentHub()){if(!helpers_WINDOW.document)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Global document not defined in showReportDialog call"));const{client,scope}=hub.getStackTop(),dsn=options.dsn||client&&client.getDsn();if(!dsn)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("DSN not configured for showReportDialog call"));scope&&(options.user={...scope.getUser(),...options.user}),options.eventId||(options.eventId=hub.lastEventId());const script=helpers_WINDOW.document.createElement("script");script.async=!0,script.crossOrigin="anonymous",script.src=function getReportDialogEndpoint(dsnLike,dialogOptions){const dsn=makeDsn(dsnLike);if(!dsn)return"";const endpoint=`${getBaseApiEndpoint(dsn)}embed/error-page/`;let encodedOptions=`dsn=${dsnToString(dsn)}`;for(const key in dialogOptions)if("dsn"!==key)if("user"===key){const user2=dialogOptions.user;if(!user2)continue;user2.name&&(encodedOptions+=`&name=${encodeURIComponent(user2.name)}`),user2.email&&(encodedOptions+=`&email=${encodeURIComponent(user2.email)}`)}else encodedOptions+=`&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key])}`;return`${endpoint}?${encodedOptions}`}(dsn,options),options.onLoad&&(script.onload=options.onLoad);const injectionPoint=helpers_WINDOW.document.head||helpers_WINDOW.document.body;injectionPoint?injectionPoint.appendChild(script):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("Not injecting report dialog. No injection point found in HTML")}function startSessionOnHub(hub){hub.startSession({ignoreDuration:!0}),hub.captureSession()}function filter_filter(predicate,thisArg){return operate((source,subscriber)=>{let index=0;source.subscribe(createOperatorSubscriber(subscriber,value=>predicate.call(thisArg,value,index++)&&subscriber.next(value)))})}function finalize(callback){return operate((source,subscriber)=>{try{source.subscribe(subscriber)}finally{subscriber.add(callback)}})}class HttpHandler{}class HttpBackend{}class HttpHeaders{constructor(headers){this.normalizedNames=new Map,this.lazyUpdate=null,headers?"string"==typeof headers?this.lazyInit=()=>{this.headers=new Map,headers.split("\n").forEach(line=>{const index=line.indexOf(":");if(index>0){const name=line.slice(0,index),key=name.toLowerCase(),value=line.slice(index+1).trim();this.maybeSetNormalizedName(name,key),this.headers.has(key)?this.headers.get(key).push(value):this.headers.set(key,[value])}})}:typeof Headers<"u"&&headers instanceof Headers?(this.headers=new Map,headers.forEach((values,name)=>{this.setHeaderEntries(name,values)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(headers).forEach(([name,values])=>{this.setHeaderEntries(name,values)})}:this.headers=new Map}has(name){return this.init(),this.headers.has(name.toLowerCase())}get(name){this.init();const values=this.headers.get(name.toLowerCase());return values&&values.length>0?values[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(name){return this.init(),this.headers.get(name.toLowerCase())||null}append(name,value){return this.clone({name,value,op:"a"})}set(name,value){return this.clone({name,value,op:"s"})}delete(name,value){return this.clone({name,value,op:"d"})}maybeSetNormalizedName(name,lcName){this.normalizedNames.has(lcName)||this.normalizedNames.set(lcName,name)}init(){this.lazyInit&&(this.lazyInit instanceof HttpHeaders?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(update2=>this.applyUpdate(update2)),this.lazyUpdate=null))}copyFrom(other){other.init(),Array.from(other.headers.keys()).forEach(key=>{this.headers.set(key,other.headers.get(key)),this.normalizedNames.set(key,other.normalizedNames.get(key))})}clone(update2){const clone=new HttpHeaders;return clone.lazyInit=this.lazyInit&&this.lazyInit instanceof HttpHeaders?this.lazyInit:this,clone.lazyUpdate=(this.lazyUpdate||[]).concat([update2]),clone}applyUpdate(update2){const key=update2.name.toLowerCase();switch(update2.op){case"a":case"s":let value=update2.value;if("string"==typeof value&&(value=[value]),0===value.length)return;this.maybeSetNormalizedName(update2.name,key);const base=("a"===update2.op?this.headers.get(key):void 0)||[];base.push(...value),this.headers.set(key,base);break;case"d":const toDelete=update2.value;if(toDelete){let existing=this.headers.get(key);if(!existing)return;existing=existing.filter(value2=>-1===toDelete.indexOf(value2)),0===existing.length?(this.headers.delete(key),this.normalizedNames.delete(key)):this.headers.set(key,existing)}else this.headers.delete(key),this.normalizedNames.delete(key)}}setHeaderEntries(name,values){const headerValues=(Array.isArray(values)?values:[values]).map(value=>value.toString()),key=name.toLowerCase();this.headers.set(key,headerValues),this.maybeSetNormalizedName(name,key)}forEach(fn){this.init(),Array.from(this.normalizedNames.keys()).forEach(key=>fn(this.normalizedNames.get(key),this.headers.get(key)))}}class HttpUrlEncodingCodec{encodeKey(key){return standardEncoding(key)}encodeValue(value){return standardEncoding(value)}decodeKey(key){return decodeURIComponent(key)}decodeValue(value){return decodeURIComponent(value)}}const STANDARD_ENCODING_REGEX=/%(\d[a-f0-9])/gi,STANDARD_ENCODING_REPLACEMENTS={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function standardEncoding(v){return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX,(s,t)=>STANDARD_ENCODING_REPLACEMENTS[t]??s)}function valueToString(value){return`${value}`}class HttpParams{constructor(options={}){if(this.updates=null,this.cloneFrom=null,this.encoder=options.encoder||new HttpUrlEncodingCodec,options.fromString){if(options.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function paramParser(rawParams,codec){const map2=new Map;return rawParams.length>0&&rawParams.replace(/^\?/,"").split("&").forEach(param=>{const eqIdx=param.indexOf("="),[key,val]=-1==eqIdx?[codec.decodeKey(param),""]:[codec.decodeKey(param.slice(0,eqIdx)),codec.decodeValue(param.slice(eqIdx+1))],list2=map2.get(key)||[];list2.push(val),map2.set(key,list2)}),map2}(options.fromString,this.encoder)}else options.fromObject?(this.map=new Map,Object.keys(options.fromObject).forEach(key=>{const value=options.fromObject[key],values=Array.isArray(value)?value.map(valueToString):[valueToString(value)];this.map.set(key,values)})):this.map=null}has(param){return this.init(),this.map.has(param)}get(param){this.init();const res=this.map.get(param);return res?res[0]:null}getAll(param){return this.init(),this.map.get(param)||null}keys(){return this.init(),Array.from(this.map.keys())}append(param,value){return this.clone({param,value,op:"a"})}appendAll(params){const updates=[];return Object.keys(params).forEach(param=>{const value=params[param];Array.isArray(value)?value.forEach(_value=>{updates.push({param,value:_value,op:"a"})}):updates.push({param,value,op:"a"})}),this.clone(updates)}set(param,value){return this.clone({param,value,op:"s"})}delete(param,value){return this.clone({param,value,op:"d"})}toString(){return this.init(),this.keys().map(key=>{const eKey=this.encoder.encodeKey(key);return this.map.get(key).map(value=>eKey+"="+this.encoder.encodeValue(value)).join("&")}).filter(param=>""!==param).join("&")}clone(update2){const clone=new HttpParams({encoder:this.encoder});return clone.cloneFrom=this.cloneFrom||this,clone.updates=(this.updates||[]).concat(update2),clone}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(key=>this.map.set(key,this.cloneFrom.map.get(key))),this.updates.forEach(update2=>{switch(update2.op){case"a":case"s":const base=("a"===update2.op?this.map.get(update2.param):void 0)||[];base.push(valueToString(update2.value)),this.map.set(update2.param,base);break;case"d":if(void 0===update2.value){this.map.delete(update2.param);break}{let base2=this.map.get(update2.param)||[];const idx=base2.indexOf(valueToString(update2.value));-1!==idx&&base2.splice(idx,1),base2.length>0?this.map.set(update2.param,base2):this.map.delete(update2.param)}}}),this.cloneFrom=this.updates=null)}}class http_HttpContext{constructor(){this.map=new Map}set(token,value){return this.map.set(token,value),this}get(token){return this.map.has(token)||this.map.set(token,token.defaultValue()),this.map.get(token)}delete(token){return this.map.delete(token),this}has(token){return this.map.has(token)}keys(){return this.map.keys()}}function isArrayBuffer(value){return typeof ArrayBuffer<"u"&&value instanceof ArrayBuffer}function isBlob(value){return typeof Blob<"u"&&value instanceof Blob}function isFormData(value){return typeof FormData<"u"&&value instanceof FormData}class HttpRequest{constructor(method,url,third,fourth){let options;if(this.url=url,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=method.toUpperCase(),function mightHaveBody(method){switch(method){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||fourth?(this.body=void 0!==third?third:null,options=fourth):options=third,options&&(this.reportProgress=!!options.reportProgress,this.withCredentials=!!options.withCredentials,options.responseType&&(this.responseType=options.responseType),options.headers&&(this.headers=options.headers),options.context&&(this.context=options.context),options.params&&(this.params=options.params)),this.headers||(this.headers=new HttpHeaders),this.context||(this.context=new http_HttpContext),this.params){const params=this.params.toString();if(0===params.length)this.urlWithParams=url;else{const qIdx=url.indexOf("?");this.urlWithParams=url+(-1===qIdx?"?":qIdxheaders2.set(name,update2.setHeaders[name]),headers)),update2.setParams&&(params=Object.keys(update2.setParams).reduce((params2,param)=>params2.set(param,update2.setParams[param]),params)),new HttpRequest(method,url,body,{params,headers,context:context2,reportProgress,responseType,withCredentials})}}var HttpEventType=function(HttpEventType2){return HttpEventType2[HttpEventType2.Sent=0]="Sent",HttpEventType2[HttpEventType2.UploadProgress=1]="UploadProgress",HttpEventType2[HttpEventType2.ResponseHeader=2]="ResponseHeader",HttpEventType2[HttpEventType2.DownloadProgress=3]="DownloadProgress",HttpEventType2[HttpEventType2.Response=4]="Response",HttpEventType2[HttpEventType2.User=5]="User",HttpEventType2}(HttpEventType||{});class HttpResponseBase{constructor(init2,defaultStatus=200,defaultStatusText="OK"){this.headers=init2.headers||new HttpHeaders,this.status=void 0!==init2.status?init2.status:defaultStatus,this.statusText=init2.statusText||defaultStatusText,this.url=init2.url||null,this.ok=this.status>=200&&this.status<300}}class HttpHeaderResponse extends HttpResponseBase{constructor(init2={}){super(init2),this.type=HttpEventType.ResponseHeader}clone(update2={}){return new HttpHeaderResponse({headers:update2.headers||this.headers,status:void 0!==update2.status?update2.status:this.status,statusText:update2.statusText||this.statusText,url:update2.url||this.url||void 0})}}class HttpResponse extends HttpResponseBase{constructor(init2={}){super(init2),this.type=HttpEventType.Response,this.body=void 0!==init2.body?init2.body:null}clone(update2={}){return new HttpResponse({body:void 0!==update2.body?update2.body:this.body,headers:update2.headers||this.headers,status:void 0!==update2.status?update2.status:this.status,statusText:update2.statusText||this.statusText,url:update2.url||this.url||void 0})}}class HttpErrorResponse extends HttpResponseBase{constructor(init2){super(init2,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${init2.url||"(unknown url)"}`:`Http failure response for ${init2.url||"(unknown url)"}: ${init2.status} ${init2.statusText}`,this.error=init2.error||null}}function addBody(options,body){return{body,headers:options.headers,context:options.context,observe:options.observe,params:options.params,reportProgress:options.reportProgress,responseType:options.responseType,withCredentials:options.withCredentials}}let HttpClient=(()=>{var _class2;class HttpClient2{constructor(handler){this.handler=handler}request(first2,url,options={}){let req;if(first2 instanceof HttpRequest)req=first2;else{let headers,params;headers=options.headers instanceof HttpHeaders?options.headers:new HttpHeaders(options.headers),options.params&&(params=options.params instanceof HttpParams?options.params:new HttpParams({fromObject:options.params})),req=new HttpRequest(first2,url,void 0!==options.body?options.body:null,{headers,context:options.context,params,reportProgress:options.reportProgress,responseType:options.responseType||"json",withCredentials:options.withCredentials})}const events$=of_of(req).pipe(function concatMap_concatMap(project,resultSelector){return isFunction(resultSelector)?mergeMap_mergeMap(project,resultSelector,1):mergeMap_mergeMap(project,1)}(req2=>this.handler.handle(req2)));if(first2 instanceof HttpRequest||"events"===options.observe)return events$;const res$=events$.pipe(filter_filter(event=>event instanceof HttpResponse));switch(options.observe||"body"){case"body":switch(req.responseType){case"arraybuffer":return res$.pipe(map_map(res=>{if(null!==res.body&&!(res.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return res.body}));case"blob":return res$.pipe(map_map(res=>{if(null!==res.body&&!(res.body instanceof Blob))throw new Error("Response is not a Blob.");return res.body}));case"text":return res$.pipe(map_map(res=>{if(null!==res.body&&"string"!=typeof res.body)throw new Error("Response is not a string.");return res.body}));default:return res$.pipe(map_map(res=>res.body))}case"response":return res$;default:throw new Error(`Unreachable: unhandled observe type ${options.observe}}`)}}delete(url,options={}){return this.request("DELETE",url,options)}get(url,options={}){return this.request("GET",url,options)}head(url,options={}){return this.request("HEAD",url,options)}jsonp(url,callbackParam){return this.request("JSONP",url,{params:(new HttpParams).append(callbackParam,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(url,options={}){return this.request("OPTIONS",url,options)}patch(url,body,options={}){return this.request("PATCH",url,addBody(options,body))}post(url,body,options={}){return this.request("POST",url,addBody(options,body))}put(url,body,options={}){return this.request("PUT",url,addBody(options,body))}}return(_class2=HttpClient2).\u0275fac=function(t){return new(t||_class2)(core_inject(HttpHandler))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),HttpClient2})();function interceptorChainEndFn(req,finalHandlerFn){return finalHandlerFn(req)}function adaptLegacyInterceptorToChain(chainTailFn,interceptor){return(initialRequest,finalHandlerFn)=>interceptor.intercept(initialRequest,{handle:downstreamRequest=>chainTailFn(downstreamRequest,finalHandlerFn)})}const HTTP_INTERCEPTORS=new InjectionToken(""),HTTP_INTERCEPTOR_FNS=new InjectionToken(""),HTTP_ROOT_INTERCEPTOR_FNS=new InjectionToken("");function legacyInterceptorFnFactory(){let chain=null;return(req,handler)=>{null===chain&&(chain=(fesm2022_core_inject(HTTP_INTERCEPTORS,{optional:!0})??[]).reduceRight(adaptLegacyInterceptorToChain,interceptorChainEndFn));const pendingTasks=fesm2022_core_inject(InitialRenderPendingTasks),taskId=pendingTasks.add();return chain(req,handler).pipe(finalize(()=>pendingTasks.remove(taskId)))}}let HttpInterceptorHandler=(()=>{var _class3;class HttpInterceptorHandler2 extends HttpHandler{constructor(backend,injector){super(),this.backend=backend,this.injector=injector,this.chain=null,this.pendingTasks=fesm2022_core_inject(InitialRenderPendingTasks)}handle(initialRequest){if(null===this.chain){const dedupedInterceptorFns=Array.from(new Set([...this.injector.get(HTTP_INTERCEPTOR_FNS),...this.injector.get(HTTP_ROOT_INTERCEPTOR_FNS,[])]));this.chain=dedupedInterceptorFns.reduceRight((nextSequencedFn,interceptorFn)=>function chainedInterceptorFn(chainTailFn,interceptorFn,injector){return(initialRequest,finalHandlerFn)=>injector.runInContext(()=>interceptorFn(initialRequest,downstreamRequest=>chainTailFn(downstreamRequest,finalHandlerFn)))}(nextSequencedFn,interceptorFn,this.injector),interceptorChainEndFn)}const taskId=this.pendingTasks.add();return this.chain(initialRequest,downstreamRequest=>this.backend.handle(downstreamRequest)).pipe(finalize(()=>this.pendingTasks.remove(taskId)))}}return(_class3=HttpInterceptorHandler2).\u0275fac=function(t){return new(t||_class3)(core_inject(HttpBackend),core_inject(core_EnvironmentInjector))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac}),HttpInterceptorHandler2})();const XSSI_PREFIX=/^\)\]\}',?\n/;let HttpXhrBackend=(()=>{var _class6;class HttpXhrBackend2{constructor(xhrFactory){this.xhrFactory=xhrFactory}handle(req){if("JSONP"===req.method)throw new RuntimeError(-2800,!1);const xhrFactory=this.xhrFactory;return(xhrFactory.\u0275loadImpl?from_from(xhrFactory.\u0275loadImpl()):of_of(null)).pipe(switchMap_switchMap(()=>new Observable_Observable(observer=>{const xhr=xhrFactory.build();if(xhr.open(req.method,req.urlWithParams),req.withCredentials&&(xhr.withCredentials=!0),req.headers.forEach((name,values)=>xhr.setRequestHeader(name,values.join(","))),req.headers.has("Accept")||xhr.setRequestHeader("Accept","application/json, text/plain, */*"),!req.headers.has("Content-Type")){const detectedType=req.detectContentTypeHeader();null!==detectedType&&xhr.setRequestHeader("Content-Type",detectedType)}if(req.responseType){const responseType=req.responseType.toLowerCase();xhr.responseType="json"!==responseType?responseType:"text"}const reqBody=req.serializeBody();let headerResponse=null;const partialFromXhr=()=>{if(null!==headerResponse)return headerResponse;const statusText=xhr.statusText||"OK",headers=new HttpHeaders(xhr.getAllResponseHeaders()),url=function getResponseUrl(xhr){return"responseURL"in xhr&&xhr.responseURL?xhr.responseURL:/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())?xhr.getResponseHeader("X-Request-URL"):null}(xhr)||req.url;return headerResponse=new HttpHeaderResponse({headers,status:xhr.status,statusText,url}),headerResponse},onLoad2=()=>{let{headers,status,statusText,url}=partialFromXhr(),body=null;204!==status&&(body=typeof xhr.response>"u"?xhr.responseText:xhr.response),0===status&&(status=body?200:0);let ok=status>=200&&status<300;if("json"===req.responseType&&"string"==typeof body){const originalBody=body;body=body.replace(XSSI_PREFIX,"");try{body=""!==body?JSON.parse(body):null}catch(error){body=originalBody,ok&&(ok=!1,body={error,text:body})}}ok?(observer.next(new HttpResponse({body,headers,status,statusText,url:url||void 0})),observer.complete()):observer.error(new HttpErrorResponse({error:body,headers,status,statusText,url:url||void 0}))},onError=error=>{const{url}=partialFromXhr(),res=new HttpErrorResponse({error,status:xhr.status||0,statusText:xhr.statusText||"Unknown Error",url:url||void 0});observer.error(res)};let sentHeaders=!1;const onDownProgress=event=>{sentHeaders||(observer.next(partialFromXhr()),sentHeaders=!0);let progressEvent={type:HttpEventType.DownloadProgress,loaded:event.loaded};event.lengthComputable&&(progressEvent.total=event.total),"text"===req.responseType&&xhr.responseText&&(progressEvent.partialText=xhr.responseText),observer.next(progressEvent)},onUpProgress=event=>{let progress={type:HttpEventType.UploadProgress,loaded:event.loaded};event.lengthComputable&&(progress.total=event.total),observer.next(progress)};return xhr.addEventListener("load",onLoad2),xhr.addEventListener("error",onError),xhr.addEventListener("timeout",onError),xhr.addEventListener("abort",onError),req.reportProgress&&(xhr.addEventListener("progress",onDownProgress),null!==reqBody&&xhr.upload&&xhr.upload.addEventListener("progress",onUpProgress)),xhr.send(reqBody),observer.next({type:HttpEventType.Sent}),()=>{xhr.removeEventListener("error",onError),xhr.removeEventListener("abort",onError),xhr.removeEventListener("load",onLoad2),xhr.removeEventListener("timeout",onError),req.reportProgress&&(xhr.removeEventListener("progress",onDownProgress),null!==reqBody&&xhr.upload&&xhr.upload.removeEventListener("progress",onUpProgress)),xhr.readyState!==xhr.DONE&&xhr.abort()}})))}}return(_class6=HttpXhrBackend2).\u0275fac=function(t){return new(t||_class6)(core_inject(XhrFactory))},_class6.\u0275prov=core_defineInjectable({token:_class6,factory:_class6.\u0275fac}),HttpXhrBackend2})();const XSRF_ENABLED=new InjectionToken("XSRF_ENABLED"),XSRF_COOKIE_NAME=new InjectionToken("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),XSRF_HEADER_NAME=new InjectionToken("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class HttpXsrfTokenExtractor{}let HttpXsrfCookieExtractor=(()=>{var _class7;class HttpXsrfCookieExtractor2{constructor(doc,platform,cookieName){this.doc=doc,this.platform=platform,this.cookieName=cookieName,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const cookieString=this.doc.cookie||"";return cookieString!==this.lastCookieString&&(this.parseCount++,this.lastToken=parseCookieValue(cookieString,this.cookieName),this.lastCookieString=cookieString),this.lastToken}}return(_class7=HttpXsrfCookieExtractor2).\u0275fac=function(t){return new(t||_class7)(core_inject(common_DOCUMENT),core_inject(core_PLATFORM_ID),core_inject(XSRF_COOKIE_NAME))},_class7.\u0275prov=core_defineInjectable({token:_class7,factory:_class7.\u0275fac}),HttpXsrfCookieExtractor2})();function xsrfInterceptorFn(req,next){const lcUrl=req.url.toLowerCase();if(!fesm2022_core_inject(XSRF_ENABLED)||"GET"===req.method||"HEAD"===req.method||lcUrl.startsWith("http://")||lcUrl.startsWith("https://"))return next(req);const token=fesm2022_core_inject(HttpXsrfTokenExtractor).getToken(),headerName=fesm2022_core_inject(XSRF_HEADER_NAME);return null!=token&&!req.headers.has(headerName)&&(req=req.clone({headers:req.headers.set(headerName,token)})),next(req)}var HttpFeatureKind=function(HttpFeatureKind2){return HttpFeatureKind2[HttpFeatureKind2.Interceptors=0]="Interceptors",HttpFeatureKind2[HttpFeatureKind2.LegacyInterceptors=1]="LegacyInterceptors",HttpFeatureKind2[HttpFeatureKind2.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",HttpFeatureKind2[HttpFeatureKind2.NoXsrfProtection=3]="NoXsrfProtection",HttpFeatureKind2[HttpFeatureKind2.JsonpSupport=4]="JsonpSupport",HttpFeatureKind2[HttpFeatureKind2.RequestsMadeViaParent=5]="RequestsMadeViaParent",HttpFeatureKind2[HttpFeatureKind2.Fetch=6]="Fetch",HttpFeatureKind2}(HttpFeatureKind||{});function provideHttpClient(...features){const providers=[HttpClient,HttpXhrBackend,HttpInterceptorHandler,{provide:HttpHandler,useExisting:HttpInterceptorHandler},{provide:HttpBackend,useExisting:HttpXhrBackend},{provide:HTTP_INTERCEPTOR_FNS,useValue:xsrfInterceptorFn,multi:!0},{provide:XSRF_ENABLED,useValue:!0},{provide:HttpXsrfTokenExtractor,useClass:HttpXsrfCookieExtractor}];for(const feature of features)providers.push(...feature.\u0275providers);return function core_makeEnvironmentProviders(providers){return{\u0275providers:providers}}(providers)}const LEGACY_INTERCEPTOR_FN=new InjectionToken("LEGACY_INTERCEPTOR_FN");let HttpClientModule=(()=>{var _class10,kind,providers;class HttpClientModule2{}return(_class10=HttpClientModule2).\u0275fac=function(t){return new(t||_class10)},_class10.\u0275mod=\u0275\u0275defineNgModule({type:_class10}),_class10.\u0275inj=\u0275\u0275defineInjector({providers:[provideHttpClient((kind=HttpFeatureKind.LegacyInterceptors,providers=[{provide:LEGACY_INTERCEPTOR_FN,useFactory:legacyInterceptorFnFactory},{provide:HTTP_INTERCEPTOR_FNS,useExisting:LEGACY_INTERCEPTOR_FN,multi:!0}],{\u0275kind:kind,\u0275providers:providers}))]}),HttpClientModule2})();const IS_DEBUG_BUILD=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,isNgZoneEnabled=typeof Zone<"u"&&!!Zone.current;function isErrorOrErrorLikeObject(value){if(value instanceof Error)return!0;if(null===value||"object"!=typeof value)return!1;const candidate=value;return isString(candidate.name)&&isString(candidate.message)&&(void 0===candidate.stack||isString(candidate.stack))}let SentryErrorHandler=(()=>{class SentryErrorHandler2{constructor(options){this._registeredAfterSendEventHandler=!1,this._options=Object.assign({logErrors:!0},options)}handleError(error){const extractedError=this._extractError(error)||"Handled unknown error",eventId=function runOutsideAngular(callback){return isNgZoneEnabled?Zone.root.run(callback):callback()}(()=>captureException(extractedError,scope=>(scope.addEventProcessor(event=>(addExceptionMechanism(event,{type:"angular",handled:!1}),event)),scope)));if(this._options.logErrors&&console.error(extractedError),this._options.showDialog){const client=hub_getCurrentHub().getClient();client&&client.on&&!this._registeredAfterSendEventHandler?(client.on("afterSendEvent",event=>{event.type||showReportDialog(Object.assign(Object.assign({},this._options.dialogOptions),{eventId:event.event_id}))}),this._registeredAfterSendEventHandler=!0):(!client||!client.on)&&showReportDialog(Object.assign(Object.assign({},this._options.dialogOptions),{eventId}))}}_extractError(error){if(this._options.extractor){const defaultExtractor=this._defaultExtractor.bind(this);return this._options.extractor(error,defaultExtractor)}return this._defaultExtractor(error)}_defaultExtractor(errorCandidate){const error=function tryToUnwrapZonejsError(error){return error&&error.ngOriginalError?error.ngOriginalError:error}(errorCandidate);return error instanceof HttpErrorResponse?function extractHttpModuleError(error){return isErrorOrErrorLikeObject(error.error)?error.error:error.error instanceof ErrorEvent&&error.error.message?error.error.message:"string"==typeof error.error?`Server returned code ${error.status} with body "${error.error}"`:error.message}(error):"string"==typeof error||isErrorOrErrorLikeObject(error)?error:null}}return SentryErrorHandler2.\u0275fac=function(t){return new(t||SentryErrorHandler2)(core_inject("errorHandlerOptions"))},SentryErrorHandler2.\u0275prov=core_defineInjectable({token:SentryErrorHandler2,factory:SentryErrorHandler2.\u0275fac,providedIn:"root"}),SentryErrorHandler2})();function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function asyncToGenerator_asyncToGenerator(fn){return function(){var self2=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self2,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)})}}var esm_node=__webpack_require__(6789);const esm_WINDOW=worldwide.n2,REPLAY_SESSION_KEY="sentryReplaySession",REPLAY_EVENT_NAME="replay_event",UNABLE_TO_SEND_REPLAY="Unable to send Replay",RETRY_BASE_INTERVAL=5e3,RETRY_MAX_COUNT=3,NETWORK_BODY_MAX_SIZE=15e4;var NodeType$1=function(NodeType2){return NodeType2[NodeType2.Document=0]="Document",NodeType2[NodeType2.DocumentType=1]="DocumentType",NodeType2[NodeType2.Element=2]="Element",NodeType2[NodeType2.Text=3]="Text",NodeType2[NodeType2.CDATA=4]="CDATA",NodeType2[NodeType2.Comment=5]="Comment",NodeType2}(NodeType$1||{});function isShadowRoot(n){const host=n?.host;return!(!host||!host.shadowRoot||host.shadowRoot!==n)}function isInputTypeMasked({maskInputOptions,tagName,type}){"option"===tagName.toLowerCase()&&(tagName="select");const actualType="string"==typeof type?type.toLowerCase():void 0;return maskInputOptions[tagName.toLowerCase()]||actualType&&maskInputOptions[actualType]||"password"===actualType||"input"===tagName&&!type&&maskInputOptions.text}function maskInputValue({input,maskInputSelector,unmaskInputSelector,maskInputOptions,tagName,type,value,maskInputFn}){let text=value||"";return unmaskInputSelector&&input.matches(unmaskInputSelector)||(input.hasAttribute("data-rr-is-password")&&(type="password"),(isInputTypeMasked({maskInputOptions,tagName,type})||maskInputSelector&&input.matches(maskInputSelector))&&(text=maskInputFn?maskInputFn(text):"*".repeat(text.length))),text}const ORIGINAL_ATTRIBUTE_NAME="__rrweb_original__";function getInputType(element){const type=element.type;return element.hasAttribute("data-rr-is-password")?"password":type?type.toLowerCase():null}function getInputValue(el,tagName,type){return"string"==typeof type&&type.toLowerCase(),"INPUT"!==tagName||"radio"!==type&&"checkbox"!==type?el.value:el.getAttribute("value")||""}let _id=1;const tagNameRegex=new RegExp("[^a-z0-9-_:]"),IGNORED_NODE=-2;function defaultMaskFn(str){return str?str.replace(/[\S]/g,"*"):""}function getCssRulesString(s){try{const rules=s.rules||s.cssRules;return rules?Array.from(rules).map(getCssRuleString).join(""):null}catch{return null}}function getCssRuleString(rule){let cssStringified=rule.cssText;if(function isCSSImportRule(rule){return"styleSheet"in rule}(rule))try{cssStringified=getCssRulesString(rule.styleSheet)||cssStringified}catch{}return validateStringifiedCssRule(cssStringified)}function validateStringifiedCssRule(cssStringified){return cssStringified.indexOf(":")>-1?cssStringified.replace(/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm,"$1\\$2"):cssStringified}let canvasService,canvasCtx;const URL_IN_CSS_REF=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,RELATIVE_PATH=/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/,DATA_URI=/^(data:)([^,]*),(.*)/i;function absoluteToStylesheet(cssText,href){return(cssText||"").replace(URL_IN_CSS_REF,(origin,quote1,path1,quote2,path2,path3)=>{const filePath=path1||path2||path3,maybeQuote=quote1||quote2||"";if(!filePath)return origin;if(!RELATIVE_PATH.test(filePath))return`url(${maybeQuote}${filePath}${maybeQuote})`;if(DATA_URI.test(filePath))return`url(${maybeQuote}${filePath}${maybeQuote})`;if("/"===filePath[0])return`url(${maybeQuote}${function extractOrigin(url){let origin="";return origin=url.indexOf("//")>-1?url.split("/").slice(0,3).join("/"):url.split("/")[0],origin=origin.split("?")[0],origin}(href)+filePath}${maybeQuote})`;const stack=href.split("/"),parts=filePath.split("/");stack.pop();for(const part of parts)"."!==part&&(".."===part?stack.pop():stack.push(part));return`url(${maybeQuote}${stack.join("/")}${maybeQuote})`})}const SRCSET_NOT_SPACES=/^[^ \t\n\r\u000c]+/,SRCSET_COMMAS_OR_SPACES=/^[, \t\n\r\u000c]+/;function absoluteToDoc(doc,attributeValue){if(!attributeValue||""===attributeValue.trim())return attributeValue;const a=doc.createElement("a");return a.href=attributeValue,a.href}function getHref(){const a=document.createElement("a");return a.href="",a.href}function transformAttribute(doc,element,_tagName,_name,value,maskAllText,unmaskTextSelector,maskTextFn){if(!value)return value;const name=_name.toLowerCase(),tagName=_tagName.toLowerCase();return"src"===name||"href"===name||"xlink:href"===name&&"#"!==value[0]||"background"===name&&("table"===tagName||"td"===tagName||"th"===tagName)?absoluteToDoc(doc,value):"srcset"===name?function getAbsoluteSrcsetString(doc,attributeValue){if(""===attributeValue.trim())return attributeValue;let pos=0;function collectCharacters(regEx){let chars2,match2=regEx.exec(attributeValue.substring(pos));return match2?(chars2=match2[0],pos+=chars2.length,chars2):""}let output=[];for(;collectCharacters(SRCSET_COMMAS_OR_SPACES),!(pos>=attributeValue.length);){let url=collectCharacters(SRCSET_NOT_SPACES);if(","===url.slice(-1))url=absoluteToDoc(doc,url.substring(0,url.length-1)),output.push(url);else{let descriptorsStr="";url=absoluteToDoc(doc,url);let inParens=!1;for(;;){let c=attributeValue.charAt(pos);if(""===c){output.push((url+descriptorsStr).trim());break}if(inParens)")"===c&&(inParens=!1);else{if(","===c){pos+=1,output.push((url+descriptorsStr).trim());break}"("===c&&(inParens=!0)}descriptorsStr+=c,pos+=1}}}return output.join(", ")}(doc,value):"style"===name?absoluteToStylesheet(value,getHref()):"object"===tagName&&"data"===name?absoluteToDoc(doc,value):maskAllText&&function _shouldMaskAttribute(element,attribute,tagName,unmaskTextSelector){return(!unmaskTextSelector||!element.matches(unmaskTextSelector))&&(["placeholder","title","aria-label"].indexOf(attribute)>-1||"input"===tagName&&"value"===attribute&&element.hasAttribute("type")&&["submit","button"].indexOf(element.getAttribute("type").toLowerCase())>-1)}(element,name,tagName,unmaskTextSelector)?maskTextFn?maskTextFn(value):defaultMaskFn(value):value}function needMaskingText(node2,maskTextClass,maskTextSelector,unmaskTextSelector,maskAllText){if(!node2)return!1;if(node2.nodeType!==node2.ELEMENT_NODE)return needMaskingText(node2.parentNode,maskTextClass,maskTextSelector,unmaskTextSelector,maskAllText);if(unmaskTextSelector&&(node2.matches(unmaskTextSelector)||node2.closest(unmaskTextSelector)))return!1;if(maskAllText)return!0;if("string"==typeof maskTextClass){if(node2.classList.contains(maskTextClass))return!0}else for(let eIndex=0;eIndex!1}=options;let{preserveWhiteSpace=!0}=options;const _serializedNode=function serializeNode(n,options){var _a;const{doc,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions={},maskTextFn,maskInputFn,dataURLOptions={},inlineImages,recordCanvas,keepIframeSrcFn}=options;let rootId;if(doc.__sn){const docId=doc.__sn.id;rootId=1===docId?void 0:docId}switch(n.nodeType){case n.DOCUMENT_NODE:return"CSS1Compat"!==n.compatMode?{type:NodeType$1.Document,childNodes:[],compatMode:n.compatMode,rootId}:{type:NodeType$1.Document,childNodes:[],rootId};case n.DOCUMENT_TYPE_NODE:return{type:NodeType$1.DocumentType,name:n.name,publicId:n.publicId,systemId:n.systemId,rootId};case n.ELEMENT_NODE:const needBlock=function _isBlockedElement(element,blockClass,blockSelector,unblockSelector){if(unblockSelector&&element.matches(unblockSelector))return!1;if("string"==typeof blockClass){if(element.classList.contains(blockClass))return!0}else for(let eIndex=0;eIndexs.href===n.href);let cssText=null;stylesheet&&(cssText=getCssRulesString(stylesheet)),cssText&&(delete attributes.rel,delete attributes.href,attributes._cssText=absoluteToStylesheet(cssText,stylesheet.href))}if("style"===tagName&&n.sheet&&!(n.innerText||n.textContent||"").trim().length){const cssText=getCssRulesString(n.sheet);cssText&&(attributes._cssText=absoluteToStylesheet(cssText,getHref()))}if("input"===tagName||"textarea"===tagName||"select"===tagName||"option"===tagName){const el=n,type=getInputType(el),value=getInputValue(el,tagName.toUpperCase(),type),checked=n.checked;"submit"!==type&&"button"!==type&&value&&(attributes.value=maskInputValue({input:el,type,tagName,value,maskInputSelector,unmaskInputSelector,maskInputOptions,maskInputFn})),checked&&(attributes.checked=checked)}if("option"===tagName&&(n.selected&&!maskInputOptions.select?attributes.selected=!0:delete attributes.selected),"canvas"===tagName&&recordCanvas)if("2d"===n.__context)(function is2DCanvasBlank(canvas){const ctx=canvas.getContext("2d");if(!ctx)return!0;for(let x=0;x0!==pixel))return!1}return!0})(n)||(attributes.rr_dataURL=n.toDataURL(dataURLOptions.type,dataURLOptions.quality));else if(!("__context"in n)){const canvasDataURL=n.toDataURL(dataURLOptions.type,dataURLOptions.quality),blankCanvas=document.createElement("canvas");blankCanvas.width=n.width,blankCanvas.height=n.height,canvasDataURL!==blankCanvas.toDataURL(dataURLOptions.type,dataURLOptions.quality)&&(attributes.rr_dataURL=canvasDataURL)}if("img"===tagName&&inlineImages){canvasService||(canvasService=doc.createElement("canvas"),canvasCtx=canvasService.getContext("2d"));const image=n,oldValue=image.crossOrigin;image.crossOrigin="anonymous";const recordInlineImage=()=>{try{canvasService.width=image.naturalWidth,canvasService.height=image.naturalHeight,canvasCtx.drawImage(image,0,0),attributes.rr_dataURL=canvasService.toDataURL(dataURLOptions.type,dataURLOptions.quality)}catch(err){console.warn(`Cannot inline img src=${image.currentSrc}! Error: ${err}`)}oldValue?attributes.crossOrigin=oldValue:delete attributes.crossOrigin};image.complete&&0!==image.naturalWidth?recordInlineImage():image.onload=recordInlineImage}if(("audio"===tagName||"video"===tagName)&&(attributes.rr_mediaState=n.paused?"paused":"played",attributes.rr_mediaCurrentTime=n.currentTime),n.scrollLeft&&(attributes.rr_scrollLeft=n.scrollLeft),n.scrollTop&&(attributes.rr_scrollTop=n.scrollTop),needBlock){const{width,height}=n.getBoundingClientRect();attributes={class:attributes.class,rr_width:`${width}px`,rr_height:`${height}px`}}return"iframe"===tagName&&!keepIframeSrcFn(attributes.src)&&(n.contentDocument||(attributes.rr_src=attributes.src),delete attributes.src),{type:NodeType$1.Element,tagName,attributes,childNodes:[],isSVG:(el=n,!("svg"!==el.tagName&&!el.ownerSVGElement)||void 0),needBlock,rootId};case n.TEXT_NODE:const parentTagName=n.parentNode&&n.parentNode.tagName;let textContent=n.textContent;const isStyle="STYLE"===parentTagName||void 0,isScript="SCRIPT"===parentTagName||void 0;if(isStyle&&textContent){try{n.nextSibling||n.previousSibling||null!==(_a=n.parentNode.sheet)&&void 0!==_a&&_a.cssRules&&(textContent=function stringifyStyleSheet(sheet){return sheet.cssRules?Array.from(sheet.cssRules).map(rule=>rule.cssText?validateStringifiedCssRule(rule.cssText):"").join(""):""}(n.parentNode.sheet))}catch(err){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${err}`,n)}textContent=absoluteToStylesheet(textContent,getHref())}return isScript&&(textContent="SCRIPT_PLACEHOLDER"),"TEXTAREA"===parentTagName&&textContent?textContent="":"OPTION"===parentTagName&&textContent?textContent=maskInputValue({input:n.parentNode,type:null,tagName:parentTagName,value:textContent,maskInputSelector,unmaskInputSelector,maskInputOptions,maskInputFn}):!isStyle&&!isScript&&needMaskingText(n,maskTextClass,maskTextSelector,unmaskTextSelector,maskAllText)&&textContent&&(textContent=maskTextFn?maskTextFn(textContent):defaultMaskFn(textContent)),{type:NodeType$1.Text,textContent:textContent||"",isStyle,rootId};case n.CDATA_SECTION_NODE:return{type:NodeType$1.CDATA,textContent:"",rootId};case n.COMMENT_NODE:return{type:NodeType$1.Comment,textContent:n.textContent||"",rootId};default:return!1}var el}(n,{doc,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions,maskTextFn,maskInputFn,dataURLOptions,inlineImages,recordCanvas,keepIframeSrcFn});if(!_serializedNode)return console.warn(n,"not serialized"),null;let id;id="__sn"in n?n.__sn.id:function slimDOMExcluded(sn,slimDOMOptions){if(slimDOMOptions.comment&&sn.type===NodeType$1.Comment)return!0;if(sn.type===NodeType$1.Element){if(slimDOMOptions.script&&("script"===sn.tagName||"link"===sn.tagName&&("preload"===sn.attributes.rel||"modulepreload"===sn.attributes.rel)&&"script"===sn.attributes.as||"link"===sn.tagName&&"prefetch"===sn.attributes.rel&&"string"==typeof sn.attributes.href&&sn.attributes.href.endsWith(".js")))return!0;if(slimDOMOptions.headFavicon&&("link"===sn.tagName&&"shortcut icon"===sn.attributes.rel||"meta"===sn.tagName&&(lowerIfExists(sn.attributes.name).match(/^msapplication-tile(image|color)$/)||"application-name"===lowerIfExists(sn.attributes.name)||"icon"===lowerIfExists(sn.attributes.rel)||"apple-touch-icon"===lowerIfExists(sn.attributes.rel)||"shortcut icon"===lowerIfExists(sn.attributes.rel))))return!0;if("meta"===sn.tagName){if(slimDOMOptions.headMetaDescKeywords&&lowerIfExists(sn.attributes.name).match(/^description|keywords$/))return!0;if(slimDOMOptions.headMetaSocial&&(lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/)||lowerIfExists(sn.attributes.name).match(/^(og|twitter):/)||"pinterest"===lowerIfExists(sn.attributes.name)))return!0;if(slimDOMOptions.headMetaRobots&&("robots"===lowerIfExists(sn.attributes.name)||"googlebot"===lowerIfExists(sn.attributes.name)||"bingbot"===lowerIfExists(sn.attributes.name)))return!0;if(slimDOMOptions.headMetaHttpEquiv&&void 0!==sn.attributes["http-equiv"])return!0;if(slimDOMOptions.headMetaAuthorship&&("author"===lowerIfExists(sn.attributes.name)||"generator"===lowerIfExists(sn.attributes.name)||"framework"===lowerIfExists(sn.attributes.name)||"publisher"===lowerIfExists(sn.attributes.name)||"progid"===lowerIfExists(sn.attributes.name)||lowerIfExists(sn.attributes.property).match(/^article:/)||lowerIfExists(sn.attributes.property).match(/^product:/)))return!0;if(slimDOMOptions.headMetaVerification&&("google-site-verification"===lowerIfExists(sn.attributes.name)||"yandex-verification"===lowerIfExists(sn.attributes.name)||"csrf-token"===lowerIfExists(sn.attributes.name)||"p:domain_verify"===lowerIfExists(sn.attributes.name)||"verify-v1"===lowerIfExists(sn.attributes.name)||"verification"===lowerIfExists(sn.attributes.name)||"shopify-checkout-api-token"===lowerIfExists(sn.attributes.name)))return!0}}return!1}(_serializedNode,slimDOMOptions)||!preserveWhiteSpace&&_serializedNode.type===NodeType$1.Text&&!_serializedNode.isStyle&&!_serializedNode.textContent.replace(/^\s+|\s+$/gm,"").length?IGNORED_NODE:function genId(){return _id++}();const serializedNode=Object.assign(_serializedNode,{id});if(n.__sn=serializedNode,id===IGNORED_NODE)return null;map2[id]=n,onSerialize&&onSerialize(n);let recordChild=!skipChild;if(serializedNode.type===NodeType$1.Element&&(recordChild=recordChild&&!serializedNode.needBlock,delete serializedNode.needBlock,n.shadowRoot&&(serializedNode.isShadowHost=!0)),(serializedNode.type===NodeType$1.Document||serializedNode.type===NodeType$1.Element)&&recordChild){slimDOMOptions.headWhitespace&&_serializedNode.type===NodeType$1.Element&&"head"===_serializedNode.tagName&&(preserveWhiteSpace=!1);const bypassOptions={doc,map:map2,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,skipChild,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions,maskTextFn,maskInputFn,slimDOMOptions,dataURLOptions,inlineImages,recordCanvas,preserveWhiteSpace,onSerialize,onIframeLoad,iframeLoadTimeout,keepIframeSrcFn};for(const childN of Array.from(n.childNodes)){const serializedChildNode=serializeNodeWithId(childN,bypassOptions);serializedChildNode&&serializedNode.childNodes.push(serializedChildNode)}if(function esm_isElement(n){return n.nodeType===n.ELEMENT_NODE}(n)&&n.shadowRoot)for(const childN of Array.from(n.shadowRoot.childNodes)){const serializedChildNode=serializeNodeWithId(childN,bypassOptions);serializedChildNode&&(serializedChildNode.isShadow=!0,serializedNode.childNodes.push(serializedChildNode))}}return n.parentNode&&isShadowRoot(n.parentNode)&&(serializedNode.isShadow=!0),serializedNode.type===NodeType$1.Element&&"iframe"===serializedNode.tagName&&function onceIframeLoaded(iframeEl,listener,iframeLoadTimeout){const win2=iframeEl.contentWindow;if(!win2)return;let readyState,fired=!1;try{readyState=win2.document.readyState}catch{return}if("complete"===readyState)"about:blank"===win2.location.href&&"about:blank"!==iframeEl.src&&""!==iframeEl.src?iframeEl.addEventListener("load",listener):setTimeout(listener,0);else{const timer2=setTimeout(()=>{fired||(listener(),fired=!0)},iframeLoadTimeout);iframeEl.addEventListener("load",()=>{clearTimeout(timer2),fired=!0,listener()})}}(n,()=>{const iframeDoc=n.contentDocument;if(iframeDoc&&onIframeLoad){const serializedIframeNode=serializeNodeWithId(iframeDoc,{doc:iframeDoc,map:map2,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,skipChild:!1,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions,maskTextFn,maskInputFn,slimDOMOptions,dataURLOptions,inlineImages,recordCanvas,preserveWhiteSpace,onSerialize,onIframeLoad,iframeLoadTimeout,keepIframeSrcFn});serializedIframeNode&&onIframeLoad(n,serializedIframeNode)}},iframeLoadTimeout),serializedNode}function skipAttribute(tagName,attributeName,value){return("video"===tagName||"audio"===tagName)&&"autoplay"===attributeName}var EventType=function(EventType2){return EventType2[EventType2.DomContentLoaded=0]="DomContentLoaded",EventType2[EventType2.Load=1]="Load",EventType2[EventType2.FullSnapshot=2]="FullSnapshot",EventType2[EventType2.IncrementalSnapshot=3]="IncrementalSnapshot",EventType2[EventType2.Meta=4]="Meta",EventType2[EventType2.Custom=5]="Custom",EventType2[EventType2.Plugin=6]="Plugin",EventType2}(EventType||{}),IncrementalSource=function(IncrementalSource2){return IncrementalSource2[IncrementalSource2.Mutation=0]="Mutation",IncrementalSource2[IncrementalSource2.MouseMove=1]="MouseMove",IncrementalSource2[IncrementalSource2.MouseInteraction=2]="MouseInteraction",IncrementalSource2[IncrementalSource2.Scroll=3]="Scroll",IncrementalSource2[IncrementalSource2.ViewportResize=4]="ViewportResize",IncrementalSource2[IncrementalSource2.Input=5]="Input",IncrementalSource2[IncrementalSource2.TouchMove=6]="TouchMove",IncrementalSource2[IncrementalSource2.MediaInteraction=7]="MediaInteraction",IncrementalSource2[IncrementalSource2.StyleSheetRule=8]="StyleSheetRule",IncrementalSource2[IncrementalSource2.CanvasMutation=9]="CanvasMutation",IncrementalSource2[IncrementalSource2.Font=10]="Font",IncrementalSource2[IncrementalSource2.Log=11]="Log",IncrementalSource2[IncrementalSource2.Drag=12]="Drag",IncrementalSource2[IncrementalSource2.StyleDeclaration=13]="StyleDeclaration",IncrementalSource2}(IncrementalSource||{}),MouseInteractions=function(MouseInteractions2){return MouseInteractions2[MouseInteractions2.MouseUp=0]="MouseUp",MouseInteractions2[MouseInteractions2.MouseDown=1]="MouseDown",MouseInteractions2[MouseInteractions2.Click=2]="Click",MouseInteractions2[MouseInteractions2.ContextMenu=3]="ContextMenu",MouseInteractions2[MouseInteractions2.DblClick=4]="DblClick",MouseInteractions2[MouseInteractions2.Focus=5]="Focus",MouseInteractions2[MouseInteractions2.Blur=6]="Blur",MouseInteractions2[MouseInteractions2.TouchStart=7]="TouchStart",MouseInteractions2[MouseInteractions2.TouchMove_Departed=8]="TouchMove_Departed",MouseInteractions2[MouseInteractions2.TouchEnd=9]="TouchEnd",MouseInteractions2[MouseInteractions2.TouchCancel=10]="TouchCancel",MouseInteractions2}(MouseInteractions||{}),CanvasContext=function(CanvasContext2){return CanvasContext2[CanvasContext2["2D"]=0]="2D",CanvasContext2[CanvasContext2.WebGL=1]="WebGL",CanvasContext2[CanvasContext2.WebGL2=2]="WebGL2",CanvasContext2}(CanvasContext||{});function on(type,fn,target=document){const options={capture:!0,passive:!0};return target.addEventListener(type,fn,options),()=>target.removeEventListener(type,fn,options)}const DEPARTED_MIRROR_ACCESS_WARNING="Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";let _mirror={map:{},getId:()=>(console.error(DEPARTED_MIRROR_ACCESS_WARNING),-1),getNode:()=>(console.error(DEPARTED_MIRROR_ACCESS_WARNING),null),removeNodeFromMap(){console.error(DEPARTED_MIRROR_ACCESS_WARNING)},has:()=>(console.error(DEPARTED_MIRROR_ACCESS_WARNING),!1),reset(){console.error(DEPARTED_MIRROR_ACCESS_WARNING)}};function throttle$1(func,wait,options={}){let timeout=null,previous=0;return function(arg){let now=Date.now();!previous&&!1===options.leading&&(previous=now);let remaining=wait-(now-previous),context2=this,args=arguments;remaining<=0||remaining>wait?(timeout&&(clearTimeout(timeout),timeout=null),previous=now,func.apply(context2,args)):!timeout&&!1!==options.trailing&&(timeout=setTimeout(()=>{previous=!1===options.leading?0:Date.now(),timeout=null,func.apply(context2,args)},remaining))}}function hookSetter(target,key,d,isRevoked,win2=window){const original=win2.Object.getOwnPropertyDescriptor(target,key);return win2.Object.defineProperty(target,key,isRevoked?d:{set(value){setTimeout(()=>{d.set.call(this,value)},0),original&&original.set&&original.set.call(this,value)}}),()=>hookSetter(target,key,original||{},!0)}function patch(source,name,replacement){try{if(!(name in source))return()=>{};const original=source[name],wrapped=replacement(original);return"function"==typeof wrapped&&(wrapped.prototype=wrapped.prototype||{},Object.defineProperties(wrapped,{__rrweb_original__:{enumerable:!1,value:original}})),source[name]=wrapped,()=>{source[name]=original}}catch{return()=>{}}}function getWindowHeight(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function getWindowWidth(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function isBlocked(node2,blockClass,blockSelector,unblockSelector){if(!node2)return!1;if(node2.nodeType===node2.ELEMENT_NODE){let needBlock=!1;const needUnblock=unblockSelector&&node2.matches(unblockSelector);return"string"==typeof blockClass?needBlock=void 0!==node2.closest?!needUnblock&&null!==node2.closest("."+blockClass):!needUnblock&&node2.classList.contains(blockClass):!needUnblock&&node2.classList.forEach(className=>{blockClass.test(className)&&(needBlock=!0)}),!needBlock&&blockSelector&&(needBlock=node2.matches(blockSelector)),!needUnblock&&needBlock||isBlocked(node2.parentNode,blockClass,blockSelector,unblockSelector)}return isBlocked(node2.parentNode,blockClass,blockSelector,unblockSelector)}function isIgnored(n){return"__sn"in n&&n.__sn.id===IGNORED_NODE}function isAncestorRemoved(target,mirror2){if(isShadowRoot(target))return!1;const id=mirror2.getId(target);return!mirror2.has(id)||(!target.parentNode||target.parentNode.nodeType!==target.DOCUMENT_NODE)&&(!target.parentNode||isAncestorRemoved(target.parentNode,mirror2))}function isTouchEvent(event){return!!event.changedTouches}function isIframeINode(node2){return"__sn"in node2&&node2.__sn.type===NodeType$1.Element&&"iframe"===node2.__sn.tagName}function hasShadowRoot(n){return!!n?.shadowRoot}function isNodeInLinkedList(n){return"__ln"in n}typeof window<"u"&&window.Proxy&&window.Reflect&&(_mirror=new Proxy(_mirror,{get:(target,prop2,receiver)=>("map"===prop2&&console.error(DEPARTED_MIRROR_ACCESS_WARNING),Reflect.get(target,prop2,receiver))}));class DoubleLinkedList{constructor(){this.length=0,this.head=null}get(position){if(position>=this.length)throw new Error("Position outside of list range");let current=this.head;for(let index=0;index`${id}@${parentId}`;function isINode(n){return"__sn"in n}class MutationBuffer{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=mutations=>{mutations.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const adds=[],addList=new DoubleLinkedList,getNextId=n=>{let ns=n,nextId2=IGNORED_NODE;for(;nextId2===IGNORED_NODE;)ns=ns&&ns.nextSibling,nextId2=ns&&this.mirror.getId(ns);return nextId2},pushAdd=n=>{var _a,_b,_c,_d,_e;const shadowHost=n.getRootNode?null===(_a=n.getRootNode())||void 0===_a?void 0:_a.host:null;let rootShadowHost=shadowHost;for(;null!==(_c=null===(_b=rootShadowHost?.getRootNode)||void 0===_b?void 0:_b.call(rootShadowHost))&&void 0!==_c&&_c.host;)rootShadowHost=(null===(_e=null===(_d=rootShadowHost?.getRootNode)||void 0===_d?void 0:_d.call(rootShadowHost))||void 0===_e?void 0:_e.host)||null;const notInDoc=!(this.doc.contains(n)||rootShadowHost&&this.doc.contains(rootShadowHost));if(!n.parentNode||notInDoc)return;const parentId=isShadowRoot(n.parentNode)?this.mirror.getId(shadowHost):this.mirror.getId(n.parentNode),nextId2=getNextId(n);if(-1===parentId||-1===nextId2)return addList.addNode(n);let sn=serializeNodeWithId(n,{doc:this.doc,map:this.mirror.map,blockClass:this.blockClass,blockSelector:this.blockSelector,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,maskInputSelector:this.maskInputSelector,unmaskInputSelector:this.unmaskInputSelector,skipChild:!0,inlineStylesheet:this.inlineStylesheet,maskAllText:this.maskAllText,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:currentN=>{isIframeINode(currentN)&&this.iframeManager.addIframe(currentN),hasShadowRoot(n)&&this.shadowDomManager.addShadowRoot(n.shadowRoot,document)},onIframeLoad:(iframe,childSn)=>{this.iframeManager.attachIframe(iframe,childSn),this.shadowDomManager.observeAttachShadow(iframe)}});sn&&adds.push({parentId,nextId:nextId2,node:sn})};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const n of this.movedSet)isParentRemoved(this.removes,n,this.mirror)&&!this.movedSet.has(n.parentNode)||pushAdd(n);for(const n of this.addedSet)!isAncestorInSet(this.droppedSet,n)&&!isParentRemoved(this.removes,n,this.mirror)||isAncestorInSet(this.movedSet,n)?pushAdd(n):this.droppedSet.add(n);let candidate=null;for(;addList.length;){let node2=null;if(candidate){const parentId=this.mirror.getId(candidate.value.parentNode),nextId2=getNextId(candidate.value);-1!==parentId&&-1!==nextId2&&(node2=candidate)}if(!node2)for(let index=addList.length-1;index>=0;index--){const _node=addList.get(index);if(_node){const parentId=this.mirror.getId(_node.value.parentNode),nextId2=getNextId(_node.value);if(-1!==parentId&&-1!==nextId2){node2=_node;break}}}if(!node2){for(;addList.head;)addList.removeNode(addList.head.value);break}candidate=node2.previous,addList.removeNode(node2.value),pushAdd(node2.value)}const payload={texts:this.texts.map(text=>({id:this.mirror.getId(text.node),value:text.value})).filter(text=>this.mirror.has(text.id)),attributes:this.attributes.map(attribute=>({id:this.mirror.getId(attribute.node),attributes:attribute.attributes})).filter(attribute=>this.mirror.has(attribute.id)),removes:this.removes,adds};!payload.texts.length&&!payload.attributes.length&&!payload.removes.length&&!payload.adds.length||(this.texts=[],this.attributes=[],this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(payload))},this.processMutation=m=>{if(!isIgnored(m.target))switch(m.type){case"characterData":{const value=m.target.textContent;!isBlocked(m.target,this.blockClass,this.blockSelector,this.unblockSelector)&&value!==m.oldValue&&this.texts.push({value:needMaskingText(m.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextSelector,this.maskAllText)&&value?this.maskTextFn?this.maskTextFn(value):value.replace(/[\S]/g,"*"):value,node:m.target});break}case"attributes":{const target=m.target;let value=target.getAttribute(m.attributeName);if("value"===m.attributeName&&(value=maskInputValue({input:target,maskInputSelector:this.maskInputSelector,unmaskInputSelector:this.unmaskInputSelector,maskInputOptions:this.maskInputOptions,tagName:target.tagName,type:target.getAttribute("type"),value,maskInputFn:this.maskInputFn})),isBlocked(m.target,this.blockClass,this.blockSelector,this.unblockSelector)||value===m.oldValue)return;let item=this.attributes.find(a=>a.node===m.target);if(item||(item={node:m.target,attributes:{}},this.attributes.push(item)),"type"===m.attributeName&&"INPUT"===target.tagName&&"password"===(m.oldValue||"").toLowerCase()&&target.setAttribute("data-rr-is-password","true"),"style"===m.attributeName){const old=this.doc.createElement("span");m.oldValue&&old.setAttribute("style",m.oldValue),null==item.attributes.style&&(item.attributes.style={});try{const styleObj=item.attributes.style;for(const pname of Array.from(target.style)){const newValue=target.style.getPropertyValue(pname),newPriority=target.style.getPropertyPriority(pname);(newValue!==old.style.getPropertyValue(pname)||newPriority!==old.style.getPropertyPriority(pname))&&(styleObj[pname]=""===newPriority?newValue:[newValue,newPriority])}for(const pname of Array.from(old.style))""===target.style.getPropertyValue(pname)&&(styleObj[pname]=!1)}catch(error){console.warn("[rrweb] Error when parsing update to style attribute:",error)}}else{const element=m.target;item.attributes[m.attributeName]=transformAttribute(this.doc,element,element.tagName,m.attributeName,value,this.maskAllText,this.unmaskTextSelector,this.maskTextFn)}break}case"childList":m.addedNodes.forEach(n=>this.genAdds(n,m.target)),m.removedNodes.forEach(n=>{const nodeId=this.mirror.getId(n),parentId=isShadowRoot(m.target)?this.mirror.getId(m.target.host):this.mirror.getId(m.target);isBlocked(m.target,this.blockClass,this.blockSelector,this.unblockSelector)||isIgnored(n)||(this.addedSet.has(n)?(deepDelete(this.addedSet,n),this.droppedSet.add(n)):this.addedSet.has(m.target)&&-1===nodeId||isAncestorRemoved(m.target,this.mirror)||(this.movedSet.has(n)&&this.movedMap[moveKey(nodeId,parentId)]?deepDelete(this.movedSet,n):this.removes.push({parentId,id:nodeId,isShadow:!!isShadowRoot(m.target)||void 0})),this.mapRemoves.push(n))})}},this.genAdds=(n,target)=>{if(!target||!isBlocked(target,this.blockClass,this.blockSelector,this.unblockSelector)){if(isINode(n)){if(isIgnored(n))return;this.movedSet.add(n);let targetId=null;target&&isINode(target)&&(targetId=target.__sn.id),targetId&&(this.movedMap[moveKey(n.__sn.id,targetId)]=!0)}else this.addedSet.add(n),this.droppedSet.delete(n);isBlocked(n,this.blockClass,this.blockSelector,this.unblockSelector)||n.childNodes.forEach(childN=>this.genAdds(childN))}}}init(options){["mutationCb","blockClass","blockSelector","unblockSelector","maskTextClass","maskTextSelector","unmaskTextSelector","maskInputSelector","unmaskInputSelector","inlineStylesheet","maskAllText","maskInputOptions","maskTextFn","maskInputFn","recordCanvas","inlineImages","slimDOMOptions","doc","mirror","iframeManager","shadowDomManager","canvasManager"].forEach(key=>{this[key]=options[key]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function deepDelete(addsSet,n){addsSet.delete(n),n.childNodes.forEach(childN=>deepDelete(addsSet,childN))}function isParentRemoved(removes,n,mirror2){const{parentNode}=n;if(!parentNode)return!1;const parentId=mirror2.getId(parentNode);return!!removes.some(r2=>r2.id===parentId)||isParentRemoved(removes,parentNode,mirror2)}function isAncestorInSet(set2,n){const{parentNode}=n;return!!parentNode&&(!!set2.has(parentNode)||isAncestorInSet(set2,parentNode))}const callbackWrapper=cb=>(...rest)=>{try{return cb(...rest)}catch(error){try{error.__rrweb__=!0}catch{}throw error}},mutationBuffers=[];function getEventTarget(event){try{if("composedPath"in event){const path=event.composedPath();if(path.length)return path[0]}else if("path"in event&&event.path.length)return event.path[0]}catch{}return event&&event.target}function initMutationObserver(options,rootEl){var _a,_b;const mutationBuffer=new MutationBuffer;mutationBuffers.push(mutationBuffer),mutationBuffer.init(options);let mutationObserverCtor=window.MutationObserver||window.__rrMutationObserver;const angularZoneSymbol=null===(_b=null===(_a=window?.Zone)||void 0===_a?void 0:_a.__symbol__)||void 0===_b?void 0:_b.call(_a,"MutationObserver");angularZoneSymbol&&window[angularZoneSymbol]&&(mutationObserverCtor=window[angularZoneSymbol]);const observer=new mutationObserverCtor(callbackWrapper(mutations=>{options.onMutation&&!1===options.onMutation(mutations)||mutationBuffer.processMutations(mutations)}));return observer.observe(rootEl,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),observer}function initScrollObserver({scrollCb,doc,mirror:mirror2,blockClass,blockSelector,unblockSelector,sampling}){const updatePosition=throttle$1(evt=>{const target=getEventTarget(evt);if(!target||isBlocked(target,blockClass,blockSelector,unblockSelector))return;const id=mirror2.getId(target);if(target===doc){const scrollEl=doc.scrollingElement||doc.documentElement;callbackWrapper(scrollCb)({id,x:scrollEl.scrollLeft,y:scrollEl.scrollTop})}else callbackWrapper(scrollCb)({id,x:target.scrollLeft,y:target.scrollTop})},sampling.scroll||100);return on("scroll",callbackWrapper(updatePosition),doc)}function wrapEventWithUserTriggeredFlag(v,enable){const value=Object.assign({},v);return enable||delete value.userTriggered,value}const INPUT_TAGS=["INPUT","TEXTAREA","SELECT"],lastInputValueMap=new WeakMap;function getNestedCSSRulePositions(rule){return function recurse(childRule,pos){if(hasNestedCSSRule("CSSGroupingRule")&&childRule.parentRule instanceof CSSGroupingRule||hasNestedCSSRule("CSSMediaRule")&&childRule.parentRule instanceof CSSMediaRule||hasNestedCSSRule("CSSSupportsRule")&&childRule.parentRule instanceof CSSSupportsRule||hasNestedCSSRule("CSSConditionRule")&&childRule.parentRule instanceof CSSConditionRule){const index=Array.from(childRule.parentRule.cssRules).indexOf(childRule);pos.unshift(index)}else{const index=Array.from(childRule.parentStyleSheet.cssRules).indexOf(childRule);pos.unshift(index)}return pos}(rule,[])}function initObservers(o,hooks={}){const currentWindow=o.doc.defaultView;if(!currentWindow)return()=>{};!function mergeHooks(o,hooks){const{mutationCb,mousemoveCb,mouseInteractionCb,scrollCb,viewportResizeCb,inputCb,mediaInteractionCb,styleSheetRuleCb,styleDeclarationCb,canvasMutationCb,fontCb}=o;o.mutationCb=(...p)=>{hooks.mutation&&hooks.mutation(...p),mutationCb(...p)},o.mousemoveCb=(...p)=>{hooks.mousemove&&hooks.mousemove(...p),mousemoveCb(...p)},o.mouseInteractionCb=(...p)=>{hooks.mouseInteraction&&hooks.mouseInteraction(...p),mouseInteractionCb(...p)},o.scrollCb=(...p)=>{hooks.scroll&&hooks.scroll(...p),scrollCb(...p)},o.viewportResizeCb=(...p)=>{hooks.viewportResize&&hooks.viewportResize(...p),viewportResizeCb(...p)},o.inputCb=(...p)=>{hooks.input&&hooks.input(...p),inputCb(...p)},o.mediaInteractionCb=(...p)=>{hooks.mediaInteaction&&hooks.mediaInteaction(...p),mediaInteractionCb(...p)},o.styleSheetRuleCb=(...p)=>{hooks.styleSheetRule&&hooks.styleSheetRule(...p),styleSheetRuleCb(...p)},o.styleDeclarationCb=(...p)=>{hooks.styleDeclaration&&hooks.styleDeclaration(...p),styleDeclarationCb(...p)},o.canvasMutationCb=(...p)=>{hooks.canvasMutation&&hooks.canvasMutation(...p),canvasMutationCb(...p)},o.fontCb=(...p)=>{hooks.font&&hooks.font(...p),fontCb(...p)}}(o,hooks);const mutationObserver=initMutationObserver(o,o.doc),mousemoveHandler=function initMoveObserver({mousemoveCb,sampling,doc,mirror:mirror2}){if(!1===sampling.mousemove)return()=>{};const threshold="number"==typeof sampling.mousemove?sampling.mousemove:50;let timeBaseline,positions=[];const wrappedCb=throttle$1(source=>{const totalOffset=Date.now()-timeBaseline;callbackWrapper(mousemoveCb)(positions.map(p=>(p.timeOffset-=totalOffset,p)),source),positions=[],timeBaseline=null},"number"==typeof sampling.mousemoveCallback?sampling.mousemoveCallback:500),updatePosition=throttle$1(evt=>{const target=getEventTarget(evt),{clientX,clientY}=isTouchEvent(evt)?evt.changedTouches[0]:evt;timeBaseline||(timeBaseline=Date.now()),positions.push({x:clientX,y:clientY,id:mirror2.getId(target),timeOffset:Date.now()-timeBaseline}),wrappedCb(typeof DragEvent<"u"&&evt instanceof DragEvent?IncrementalSource.Drag:evt instanceof MouseEvent?IncrementalSource.MouseMove:IncrementalSource.TouchMove)},threshold,{trailing:!1}),handlers2=[on("mousemove",callbackWrapper(updatePosition),doc),on("touchmove",callbackWrapper(updatePosition),doc),on("drag",callbackWrapper(updatePosition),doc)];return callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o),mouseInteractionHandler=function initMouseInteractionObserver({mouseInteractionCb,doc,mirror:mirror2,blockClass,blockSelector,unblockSelector,sampling}){if(!1===sampling.mouseInteraction)return()=>{};const disableMap=!0===sampling.mouseInteraction||void 0===sampling.mouseInteraction?{}:sampling.mouseInteraction,handlers2=[];return Object.keys(MouseInteractions).filter(key=>Number.isNaN(Number(key))&&!key.endsWith("_Departed")&&!1!==disableMap[key]).forEach(eventKey=>{const eventName=eventKey.toLowerCase(),handler=callbackWrapper((eventKey=>event=>{const target=getEventTarget(event);if(isBlocked(target,blockClass,blockSelector,unblockSelector))return;const e2=isTouchEvent(event)?event.changedTouches[0]:event;if(!e2)return;const id=mirror2.getId(target),{clientX,clientY}=e2;callbackWrapper(mouseInteractionCb)({type:MouseInteractions[eventKey],id,x:clientX,y:clientY})})(eventKey));handlers2.push(on(eventName,handler,doc))}),callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o),scrollHandler=initScrollObserver(o),viewportResizeHandler=function initViewportResizeObserver({viewportResizeCb}){let lastH=-1,lastW=-1;const updateDimension=throttle$1(()=>{const height=getWindowHeight(),width=getWindowWidth();(lastH!==height||lastW!==width)&&(callbackWrapper(viewportResizeCb)({width:Number(width),height:Number(height)}),lastH=height,lastW=width)},200);return on("resize",callbackWrapper(updateDimension),window)}(o),inputHandler=function initInputObserver({inputCb,doc,mirror:mirror2,blockClass,blockSelector,unblockSelector,ignoreClass,ignoreSelector,maskInputSelector,unmaskInputSelector,maskInputOptions,maskInputFn,sampling,userTriggeredOnInput}){function eventHandler(event){let target=getEventTarget(event);const tagName=target&&target.tagName,userTriggered=event.isTrusted;if("OPTION"===tagName&&(target=target.parentElement),!target||!tagName||INPUT_TAGS.indexOf(tagName)<0||isBlocked(target,blockClass,blockSelector,unblockSelector))return;const el=target,type=getInputType(el);if(el.classList.contains(ignoreClass)||ignoreSelector&&el.matches(ignoreSelector))return;let text=getInputValue(el,tagName,type),isChecked=!1;("radio"===type||"checkbox"===type)&&(isChecked=target.checked),function hasInputMaskOptions({tagName,type,maskInputOptions,maskInputSelector}){return maskInputSelector||isInputTypeMasked({maskInputOptions,tagName,type})}({maskInputOptions,maskInputSelector,tagName,type})&&(text=maskInputValue({input:el,maskInputOptions,maskInputSelector,unmaskInputSelector,tagName,type,value:text,maskInputFn})),cbWithDedup(target,callbackWrapper(wrapEventWithUserTriggeredFlag)({text,isChecked,userTriggered},userTriggeredOnInput));const name=target.name;"radio"===type&&name&&isChecked&&doc.querySelectorAll(`input[type="radio"][name="${name}"]`).forEach(el2=>{if(el2!==target){const text2=maskInputValue({input:el2,maskInputOptions,maskInputSelector,unmaskInputSelector,tagName,type,value:getInputValue(el2,tagName,type),maskInputFn});cbWithDedup(el2,callbackWrapper(wrapEventWithUserTriggeredFlag)({text:text2,isChecked:!isChecked,userTriggered:!1},userTriggeredOnInput))}})}function cbWithDedup(target,v){const lastInputValue=lastInputValueMap.get(target);if(!lastInputValue||lastInputValue.text!==v.text||lastInputValue.isChecked!==v.isChecked){lastInputValueMap.set(target,v);const id=mirror2.getId(target);inputCb(Object.assign(Object.assign({},v),{id}))}}const handlers2=("last"===sampling.input?["change"]:["input","change"]).map(eventName=>on(eventName,callbackWrapper(eventHandler),doc)),propertyDescriptor=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value"),hookProperties=[[HTMLInputElement.prototype,"value"],[HTMLInputElement.prototype,"checked"],[HTMLSelectElement.prototype,"value"],[HTMLTextAreaElement.prototype,"value"],[HTMLSelectElement.prototype,"selectedIndex"],[HTMLOptionElement.prototype,"selected"]];return propertyDescriptor&&propertyDescriptor.set&&handlers2.push(...hookProperties.map(p=>hookSetter(p[0],p[1],{set(){callbackWrapper(eventHandler)({target:this})}}))),callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o),mediaInteractionHandler=function initMediaInteractionObserver({mediaInteractionCb,blockClass,blockSelector,unblockSelector,mirror:mirror2,sampling}){const handler=type=>throttle$1(callbackWrapper(event=>{const target=getEventTarget(event);if(!target||isBlocked(target,blockClass,blockSelector,unblockSelector))return;const{currentTime,volume,muted}=target;mediaInteractionCb({type,id:mirror2.getId(target),currentTime,volume,muted})}),sampling.media||500),handlers2=[on("play",handler(0)),on("pause",handler(1)),on("seeked",handler(2)),on("volumechange",handler(3))];return callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o),styleSheetObserver=function initStyleSheetObserver({styleSheetRuleCb,mirror:mirror2},{win:win2}){if(!win2.CSSStyleSheet||!win2.CSSStyleSheet.prototype)return()=>{};const insertRule=win2.CSSStyleSheet.prototype.insertRule;win2.CSSStyleSheet.prototype.insertRule=new Proxy(insertRule,{apply:callbackWrapper((target,thisArg,argumentsList)=>{const[rule,index]=argumentsList,id=mirror2.getId(thisArg.ownerNode);return-1!==id&&styleSheetRuleCb({id,adds:[{rule,index}]}),target.apply(thisArg,argumentsList)})});const deleteRule=win2.CSSStyleSheet.prototype.deleteRule;win2.CSSStyleSheet.prototype.deleteRule=new Proxy(deleteRule,{apply:callbackWrapper((target,thisArg,argumentsList)=>{const[index]=argumentsList,id=mirror2.getId(thisArg.ownerNode);return-1!==id&&styleSheetRuleCb({id,removes:[{index}]}),target.apply(thisArg,argumentsList)})});const supportedNestedCSSRuleTypes={};canMonkeyPatchNestedCSSRule("CSSGroupingRule")?supportedNestedCSSRuleTypes.CSSGroupingRule=win2.CSSGroupingRule:(canMonkeyPatchNestedCSSRule("CSSMediaRule")&&(supportedNestedCSSRuleTypes.CSSMediaRule=win2.CSSMediaRule),canMonkeyPatchNestedCSSRule("CSSConditionRule")&&(supportedNestedCSSRuleTypes.CSSConditionRule=win2.CSSConditionRule),canMonkeyPatchNestedCSSRule("CSSSupportsRule")&&(supportedNestedCSSRuleTypes.CSSSupportsRule=win2.CSSSupportsRule));const unmodifiedFunctions={};return Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey,type])=>{unmodifiedFunctions[typeKey]={insertRule:type.prototype.insertRule,deleteRule:type.prototype.deleteRule},type.prototype.insertRule=new Proxy(unmodifiedFunctions[typeKey].insertRule,{apply:callbackWrapper((target,thisArg,argumentsList)=>{const[rule,index]=argumentsList,id=mirror2.getId(thisArg.parentStyleSheet.ownerNode);return-1!==id&&styleSheetRuleCb({id,adds:[{rule,index:[...getNestedCSSRulePositions(thisArg),index||0]}]}),target.apply(thisArg,argumentsList)})}),type.prototype.deleteRule=new Proxy(unmodifiedFunctions[typeKey].deleteRule,{apply:callbackWrapper((target,thisArg,argumentsList)=>{const[index]=argumentsList,id=mirror2.getId(thisArg.parentStyleSheet.ownerNode);return-1!==id&&styleSheetRuleCb({id,removes:[{index:[...getNestedCSSRulePositions(thisArg),index]}]}),target.apply(thisArg,argumentsList)})})}),callbackWrapper(()=>{win2.CSSStyleSheet.prototype.insertRule=insertRule,win2.CSSStyleSheet.prototype.deleteRule=deleteRule,Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey,type])=>{type.prototype.insertRule=unmodifiedFunctions[typeKey].insertRule,type.prototype.deleteRule=unmodifiedFunctions[typeKey].deleteRule})})}(o,{win:currentWindow}),styleDeclarationObserver=function initStyleDeclarationObserver({styleDeclarationCb,mirror:mirror2},{win:win2}){const setProperty=win2.CSSStyleDeclaration.prototype.setProperty;win2.CSSStyleDeclaration.prototype.setProperty=new Proxy(setProperty,{apply:callbackWrapper((target,thisArg,argumentsList)=>{var _a,_b;const[property,value,priority]=argumentsList,id=mirror2.getId(null===(_b=null===(_a=thisArg.parentRule)||void 0===_a?void 0:_a.parentStyleSheet)||void 0===_b?void 0:_b.ownerNode);return-1!==id&&styleDeclarationCb({id,set:{property,value,priority},index:getNestedCSSRulePositions(thisArg.parentRule)}),target.apply(thisArg,argumentsList)})});const removeProperty=win2.CSSStyleDeclaration.prototype.removeProperty;return win2.CSSStyleDeclaration.prototype.removeProperty=new Proxy(removeProperty,{apply:callbackWrapper((target,thisArg,argumentsList)=>{var _a,_b;const[property]=argumentsList,id=mirror2.getId(null===(_b=null===(_a=thisArg.parentRule)||void 0===_a?void 0:_a.parentStyleSheet)||void 0===_b?void 0:_b.ownerNode);return-1!==id&&styleDeclarationCb({id,remove:{property},index:getNestedCSSRulePositions(thisArg.parentRule)}),target.apply(thisArg,argumentsList)})}),callbackWrapper(()=>{win2.CSSStyleDeclaration.prototype.setProperty=setProperty,win2.CSSStyleDeclaration.prototype.removeProperty=removeProperty})}(o,{win:currentWindow}),fontObserver=o.collectFonts?function initFontObserver({fontCb,doc}){const win2=doc.defaultView;if(!win2)return()=>{};const handlers2=[],fontMap=new WeakMap,originalFontFace=win2.FontFace;win2.FontFace=function(family,source,descriptors){const fontFace=new originalFontFace(family,source,descriptors);return fontMap.set(fontFace,{family,buffer:"string"!=typeof source,descriptors,fontSource:"string"==typeof source?source:JSON.stringify(Array.from(new Uint8Array(source)))}),fontFace};const restoreHandler=patch(doc.fonts,"add",function(original){return function(fontFace){return setTimeout(()=>{const p=fontMap.get(fontFace);p&&(fontCb(p),fontMap.delete(fontFace))},0),original.apply(this,[fontFace])}});return handlers2.push(()=>{win2.FontFace=originalFontFace}),handlers2.push(restoreHandler),callbackWrapper(()=>{handlers2.forEach(h=>h())})}(o):()=>{},pluginHandlers=[];for(const plugin of o.plugins)pluginHandlers.push(plugin.observer(plugin.callback,currentWindow,plugin.options));return callbackWrapper(()=>{mutationBuffers.forEach(b=>b.reset()),mutationObserver.disconnect(),mousemoveHandler(),mouseInteractionHandler(),scrollHandler(),viewportResizeHandler(),inputHandler(),mediaInteractionHandler();try{styleSheetObserver(),styleDeclarationObserver()}catch{}fontObserver(),pluginHandlers.forEach(h=>h())})}function hasNestedCSSRule(prop2){return typeof window[prop2]<"u"}function canMonkeyPatchNestedCSSRule(prop2){return!!(typeof window[prop2]<"u"&&window[prop2].prototype&&"insertRule"in window[prop2].prototype&&"deleteRule"in window[prop2].prototype)}class IframeManager{constructor(options){this.iframes=new WeakMap,this.mutationCb=options.mutationCb}addIframe(iframeEl){this.iframes.set(iframeEl,!0)}addLoadListener(cb){this.loadListener=cb}attachIframe(iframeEl,childSn){var _a;this.mutationCb({adds:[{parentId:iframeEl.__sn.id,nextId:null,node:childSn}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),null===(_a=this.loadListener)||void 0===_a||_a.call(this,iframeEl)}}class ShadowDomManager{constructor(options){this.restorePatches=[],this.mutationCb=options.mutationCb,this.scrollCb=options.scrollCb,this.bypassOptions=options.bypassOptions,this.mirror=options.mirror;const manager=this;this.restorePatches.push(patch(HTMLElement.prototype,"attachShadow",function(original){return function(){const shadowRoot=original.apply(this,arguments);return this.shadowRoot&&manager.addShadowRoot(this.shadowRoot,this.ownerDocument),shadowRoot}}))}addShadowRoot(shadowRoot,doc){initMutationObserver(Object.assign(Object.assign({},this.bypassOptions),{doc,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),shadowRoot),initScrollObserver(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:shadowRoot,mirror:this.mirror}))}observeAttachShadow(iframeElement){if(iframeElement.contentWindow){const manager=this;this.restorePatches.push(patch(iframeElement.contentWindow.HTMLElement.prototype,"attachShadow",function(original){return function(){const shadowRoot=original.apply(this,arguments);return this.shadowRoot&&manager.addShadowRoot(this.shadowRoot,iframeElement.contentDocument),shadowRoot}}))}}reset(){this.restorePatches.forEach(restorePatch=>restorePatch())}}for(var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup=typeof Uint8Array>"u"?[]:new Uint8Array(256),i=0;i<64;i++)lookup[chars.charCodeAt(i)]=i;const webGLVarMap=new Map,saveWebGLVar=(value,win2,ctx)=>{if(!value||!isInstanceOfWebGLObject(value,win2)&&"object"!=typeof value)return;const list2=function variableListFor(ctx,ctor){let contextMap=webGLVarMap.get(ctx);return contextMap||(contextMap=new Map,webGLVarMap.set(ctx,contextMap)),contextMap.has(ctor)||contextMap.set(ctor,[]),contextMap.get(ctor)}(ctx,value.constructor.name);let index=list2.indexOf(value);return-1===index&&(index=list2.length,list2.push(value)),index};function serializeArg(value,win2,ctx){if(value instanceof Array)return value.map(arg=>serializeArg(arg,win2,ctx));if(null===value)return value;if(value instanceof Float32Array||value instanceof Float64Array||value instanceof Int32Array||value instanceof Uint32Array||value instanceof Uint8Array||value instanceof Uint16Array||value instanceof Int16Array||value instanceof Int8Array||value instanceof Uint8ClampedArray)return{rr_type:value.constructor.name,args:[Object.values(value)]};if(value instanceof ArrayBuffer)return{rr_type:value.constructor.name,base64:function(arraybuffer){var i6,bytes=new Uint8Array(arraybuffer),len=bytes.length,base642="";for(i6=0;i6>2],base642+=chars[(3&bytes[i6])<<4|bytes[i6+1]>>4],base642+=chars[(15&bytes[i6+1])<<2|bytes[i6+2]>>6],base642+=chars[63&bytes[i6+2]];return len%3==2?base642=base642.substring(0,base642.length-1)+"=":len%3==1&&(base642=base642.substring(0,base642.length-2)+"=="),base642}(value)};if(value instanceof DataView)return{rr_type:value.constructor.name,args:[serializeArg(value.buffer,win2,ctx),value.byteOffset,value.byteLength]};if(value instanceof HTMLImageElement){const name=value.constructor.name,{src}=value;return{rr_type:name,src}}return value instanceof ImageData?{rr_type:value.constructor.name,args:[serializeArg(value.data,win2,ctx),value.width,value.height]}:isInstanceOfWebGLObject(value,win2)||"object"==typeof value?{rr_type:value.constructor.name,index:saveWebGLVar(value,win2,ctx)}:value}const serializeArgs=(args,win2,ctx)=>[...args].map(arg=>serializeArg(arg,win2,ctx)),isInstanceOfWebGLObject=(value,win2)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(name=>"function"==typeof win2[name]).find(name=>value instanceof win2[name]);function patchGLPrototype(prototype,type,cb,blockClass,unblockSelector,blockSelector,mirror2,win2){const handlers2=[],props=Object.getOwnPropertyNames(prototype);for(const prop2 of props)try{if("function"!=typeof prototype[prop2])continue;const restoreHandler=patch(prototype,prop2,function(original){return function(...args){const result=original.apply(this,args);if(saveWebGLVar(result,win2,prototype),!isBlocked(this.canvas,blockClass,blockSelector,unblockSelector)){mirror2.getId(this.canvas);const recordArgs=serializeArgs([...args],win2,prototype);cb(this.canvas,{type,property:prop2,args:recordArgs})}return result}});handlers2.push(restoreHandler)}catch{const hookHandler=hookSetter(prototype,prop2,{set(v){cb(this.canvas,{type,property:prop2,args:[v],setter:!0})}});handlers2.push(hookHandler)}return handlers2}class CanvasManager{reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}constructor(options){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=function(target,mutation){(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(target)||this.pendingCanvasMutations.set(target,[]),this.pendingCanvasMutations.get(target).push(mutation)},this.mutationCb=options.mutationCb,this.mirror=options.mirror,!0===options.recordCanvas&&this.initCanvasMutationObserver(options.win,options.blockClass,options.blockSelector,options.unblockSelector)}initCanvasMutationObserver(win2,blockClass,unblockSelector,blockSelector){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const canvasContextReset=function initCanvasContextObserver(win2,blockClass,blockSelector,unblockSelector){const handlers2=[];try{const restoreHandler=patch(win2.HTMLCanvasElement.prototype,"getContext",function(original){return function(contextType,...args){return isBlocked(this,blockClass,blockSelector,unblockSelector)||"__context"in this||(this.__context=contextType),original.apply(this,[contextType,...args])}});handlers2.push(restoreHandler)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{handlers2.forEach(h=>h())}}(win2,blockClass,blockSelector,unblockSelector),canvas2DReset=function initCanvas2DMutationObserver(cb,win2,blockClass,unblockSelector,blockSelector,mirror2){const handlers2=[],props2D=Object.getOwnPropertyNames(win2.CanvasRenderingContext2D.prototype);for(const prop2 of props2D)try{if("function"!=typeof win2.CanvasRenderingContext2D.prototype[prop2])continue;const restoreHandler=patch(win2.CanvasRenderingContext2D.prototype,prop2,function(original){return function(...args){return isBlocked(this.canvas,blockClass,blockSelector,unblockSelector)||setTimeout(()=>{const recordArgs=[...args];if("drawImage"===prop2&&recordArgs[0]&&recordArgs[0]instanceof HTMLCanvasElement){const canvas=recordArgs[0],ctx=canvas.getContext("2d");let imgd=ctx?.getImageData(0,0,canvas.width,canvas.height),pix=imgd?.data;recordArgs[0]=JSON.stringify(pix)}cb(this.canvas,{type:CanvasContext["2D"],property:prop2,args:recordArgs})},0),original.apply(this,args)}});handlers2.push(restoreHandler)}catch{const hookHandler=hookSetter(win2.CanvasRenderingContext2D.prototype,prop2,{set(v){cb(this.canvas,{type:CanvasContext["2D"],property:prop2,args:[v],setter:!0})}});handlers2.push(hookHandler)}return()=>{handlers2.forEach(h=>h())}}(this.processMutation.bind(this),win2,blockClass,blockSelector,unblockSelector),canvasWebGL1and2Reset=function initCanvasWebGLMutationObserver(cb,win2,blockClass,blockSelector,unblockSelector,mirror2){const handlers2=[];return handlers2.push(...patchGLPrototype(win2.WebGLRenderingContext.prototype,CanvasContext.WebGL,cb,blockClass,blockSelector,unblockSelector,mirror2,win2)),typeof win2.WebGL2RenderingContext<"u"&&handlers2.push(...patchGLPrototype(win2.WebGL2RenderingContext.prototype,CanvasContext.WebGL2,cb,blockClass,blockSelector,unblockSelector,mirror2,win2)),()=>{handlers2.forEach(h=>h())}}(this.processMutation.bind(this),win2,blockClass,blockSelector,unblockSelector,this.mirror);this.resetObservers=()=>{canvasContextReset(),canvas2DReset(),canvasWebGL1and2Reset()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const setLatestRAFTimestamp=timestamp=>{this.rafStamps.latestId=timestamp,requestAnimationFrame(setLatestRAFTimestamp)};requestAnimationFrame(setLatestRAFTimestamp)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((values,canvas)=>{const id=this.mirror.getId(canvas);this.flushPendingCanvasMutationFor(canvas,id)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(canvas,id){if(this.frozen||this.locked)return;const valuesWithType=this.pendingCanvasMutations.get(canvas);if(!valuesWithType||-1===id)return;const values=valuesWithType.map(value=>function esm_rest(s,e2){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e2.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i6=0;for(p=Object.getOwnPropertySymbols(s);i6n&&n.__sn?n.__sn.id:-1,getNode(id){return this.map[id]||null},removeNodeFromMap(n){delete this.map[n.__sn&&n.__sn.id],n.childNodes&&n.childNodes.forEach(child2=>this.removeNodeFromMap(child2))},has(id){return this.map.hasOwnProperty(id)},reset(){this.map={}}}}();function record(options={}){const{emit,checkoutEveryNms,checkoutEveryNth,blockClass="rr-block",blockSelector=null,unblockSelector=null,ignoreClass="rr-ignore",ignoreSelector=null,maskTextClass="rr-mask",maskTextSelector=null,maskInputSelector=null,unmaskTextSelector=null,unmaskInputSelector=null,inlineStylesheet=!0,maskAllText=!1,maskAllInputs,maskInputOptions:_maskInputOptions,slimDOMOptions:_slimDOMOptions,maskInputFn,maskTextFn,hooks,packFn,sampling={},mousemoveWait,recordCanvas=!1,userTriggeredOnInput=!1,collectFonts=!1,inlineImages=!1,plugins,keepIframeSrcFn=()=>!1,onMutation}=options;if(!emit)throw new Error("emit function is required");void 0!==mousemoveWait&&void 0===sampling.mousemove&&(sampling.mousemove=mousemoveWait);const maskInputOptions=!0===maskAllInputs?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:void 0!==_maskInputOptions?_maskInputOptions:{},slimDOMOptions=!0===_slimDOMOptions||"all"===_slimDOMOptions?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:"all"===_slimDOMOptions,headMetaDescKeywords:"all"===_slimDOMOptions}:_slimDOMOptions||{};!function polyfill(win2=window){"NodeList"in win2&&!win2.NodeList.prototype.forEach&&(win2.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in win2&&!win2.DOMTokenList.prototype.forEach&&(win2.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=function(node2){if(!(0 in arguments))throw new TypeError("1 argument is required");do{if(this===node2)return!0}while(node2=node2&&node2.parentNode);return!1})}();let lastFullSnapshotEvent,incrementalSnapshotCount=0;wrappedEmit=(e2,isCheckout)=>{var _a;if(!(null===(_a=mutationBuffers[0])||void 0===_a)&&_a.isFrozen()&&e2.type!==EventType.FullSnapshot&&!(e2.type===EventType.IncrementalSnapshot&&e2.data.source===IncrementalSource.Mutation)&&mutationBuffers.forEach(buf=>buf.unfreeze()),emit((e2=>{for(const plugin of plugins||[])plugin.eventProcessor&&(e2=plugin.eventProcessor(e2));return packFn&&(e2=packFn(e2)),e2})(e2),isCheckout),e2.type===EventType.FullSnapshot)lastFullSnapshotEvent=e2,incrementalSnapshotCount=0;else if(e2.type===EventType.IncrementalSnapshot){if(e2.data.source===IncrementalSource.Mutation&&e2.data.isAttachIframe)return;incrementalSnapshotCount++,(checkoutEveryNth&&incrementalSnapshotCount>=checkoutEveryNth||checkoutEveryNms&&e2.timestamp-lastFullSnapshotEvent.timestamp>checkoutEveryNms)&&takeFullSnapshot(!0)}};const wrappedMutationEmit=m=>{wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Mutation},m)}))},wrappedScrollEmit=p=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Scroll},p)})),wrappedCanvasMutationEmit=p=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.CanvasMutation},p)})),iframeManager=new IframeManager({mutationCb:wrappedMutationEmit}),canvasManager=new CanvasManager({recordCanvas,mutationCb:wrappedCanvasMutationEmit,win:window,blockClass,blockSelector,unblockSelector,mirror}),shadowDomManager=new ShadowDomManager({mutationCb:wrappedMutationEmit,scrollCb:wrappedScrollEmit,bypassOptions:{onMutation,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,maskInputSelector,unmaskInputSelector,inlineStylesheet,maskAllText,maskInputOptions,maskTextFn,maskInputFn,recordCanvas,inlineImages,sampling,slimDOMOptions,iframeManager,canvasManager},mirror});takeFullSnapshot=(isCheckout=!1)=>{var _a,_b,_c,_d;wrappedEmit(wrapEvent({type:EventType.Meta,data:{href:window.location.href,width:getWindowWidth(),height:getWindowHeight()}}),isCheckout),mutationBuffers.forEach(buf=>buf.lock());const[node2,idNodeMap]=function snapshot(n,options){const{blockClass="rr-block",blockSelector=null,unblockSelector=null,maskTextClass="rr-mask",maskTextSelector=null,unmaskTextSelector=null,inlineStylesheet=!0,inlineImages=!1,recordCanvas=!1,maskInputSelector=null,unmaskInputSelector=null,maskAllText=!1,maskAllInputs=!1,maskTextFn,maskInputFn,slimDOM=!1,dataURLOptions,preserveWhiteSpace,onSerialize,onIframeLoad,iframeLoadTimeout,keepIframeSrcFn=()=>!1}=options||{},idNodeMap={};return[serializeNodeWithId(n,{doc:n,map:idNodeMap,blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,skipChild:!1,inlineStylesheet,maskInputSelector,unmaskInputSelector,maskAllText,maskInputOptions:!0===maskAllInputs?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:!1===maskAllInputs?{}:maskAllInputs,maskTextFn,maskInputFn,slimDOMOptions:!0===slimDOM||"all"===slimDOM?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:"all"===slimDOM,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:!1===slimDOM?{}:slimDOM,dataURLOptions,inlineImages,recordCanvas,preserveWhiteSpace,onSerialize,onIframeLoad,iframeLoadTimeout,keepIframeSrcFn}),idNodeMap]}(document,{blockClass,blockSelector,unblockSelector,maskTextClass,maskTextSelector,unmaskTextSelector,maskInputSelector,unmaskInputSelector,inlineStylesheet,maskAllText,maskAllInputs:maskInputOptions,maskTextFn,slimDOM:slimDOMOptions,recordCanvas,inlineImages,onSerialize:n=>{isIframeINode(n)&&iframeManager.addIframe(n),hasShadowRoot(n)&&shadowDomManager.addShadowRoot(n.shadowRoot,document)},onIframeLoad:(iframe,childSn)=>{iframeManager.attachIframe(iframe,childSn),shadowDomManager.observeAttachShadow(iframe)},keepIframeSrcFn});if(!node2)return console.warn("Failed to snapshot the document");mirror.map=idNodeMap,wrappedEmit(wrapEvent({type:EventType.FullSnapshot,data:{node:node2,initialOffset:{left:void 0!==window.pageXOffset?window.pageXOffset:document?.documentElement.scrollLeft||(null===(_b=null===(_a=document?.body)||void 0===_a?void 0:_a.parentElement)||void 0===_b?void 0:_b.scrollLeft)||document?.body.scrollLeft||0,top:void 0!==window.pageYOffset?window.pageYOffset:document?.documentElement.scrollTop||(null===(_d=null===(_c=document?.body)||void 0===_c?void 0:_c.parentElement)||void 0===_d?void 0:_d.scrollTop)||document?.body.scrollTop||0}}})),mutationBuffers.forEach(buf=>buf.unlock())};try{const handlers2=[];handlers2.push(on("DOMContentLoaded",()=>{wrappedEmit(wrapEvent({type:EventType.DomContentLoaded,data:{}}))}));const observe2=doc=>{var _a;return callbackWrapper(initObservers)({onMutation,mutationCb:wrappedMutationEmit,mousemoveCb:(positions,source)=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:{source,positions}})),mouseInteractionCb:d=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MouseInteraction},d)})),scrollCb:wrappedScrollEmit,viewportResizeCb:d=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.ViewportResize},d)})),inputCb:v=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Input},v)})),mediaInteractionCb:p=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MediaInteraction},p)})),styleSheetRuleCb:r2=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleSheetRule},r2)})),styleDeclarationCb:r2=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleDeclaration},r2)})),canvasMutationCb:wrappedCanvasMutationEmit,fontCb:p=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Font},p)})),blockClass,ignoreClass,ignoreSelector,maskTextClass,maskTextSelector,unmaskTextSelector,maskInputSelector,unmaskInputSelector,maskInputOptions,inlineStylesheet,sampling,recordCanvas,inlineImages,userTriggeredOnInput,collectFonts,doc,maskAllText,maskInputFn,maskTextFn,blockSelector,unblockSelector,slimDOMOptions,mirror,iframeManager,shadowDomManager,canvasManager,plugins:(null===(_a=plugins?.filter(p=>p.observer))||void 0===_a?void 0:_a.map(p=>({observer:p.observer,options:p.options,callback:payload=>wrappedEmit(wrapEvent({type:EventType.Plugin,data:{plugin:p.name,payload}}))})))||[]},hooks)};iframeManager.addLoadListener(iframeEl=>{try{handlers2.push(observe2(iframeEl.contentDocument))}catch(error){console.warn(error)}});const init2=()=>{takeFullSnapshot(),handlers2.push(observe2(document))};return"interactive"===document.readyState||"complete"===document.readyState?init2():handlers2.push(on("load",()=>{wrappedEmit(wrapEvent({type:EventType.Load,data:{}})),init2()},window)),()=>{handlers2.forEach(h=>h())}}catch(error){console.warn(error)}}function timestampToMs(timestamp){return timestamp>9999999999?timestamp:1e3*timestamp}function addBreadcrumbEvent(replay,breadcrumb){"sentry.transaction"!==breadcrumb.category&&(["ui.click","ui.input"].includes(breadcrumb.category)?replay.triggerUserActivity():replay.checkAndHandleExpiredSession(),replay.addUpdate(()=>(replay.throttledAddEvent({type:EventType.Custom,timestamp:1e3*(breadcrumb.timestamp||0),data:{tag:"breadcrumb",payload:normalize(breadcrumb,10,1e3)}}),"console"===breadcrumb.category)))}record.addCustomEvent=(tag,payload)=>{if(!wrappedEmit)throw new Error("please add custom event after start recording");wrappedEmit(wrapEvent({type:EventType.Custom,data:{tag,payload}}))},record.freezePage=()=>{mutationBuffers.forEach(buf=>buf.freeze())},record.takeFullSnapshot=isCheckout=>{if(!takeFullSnapshot)throw new Error("please take full snapshot after start recording");takeFullSnapshot(isCheckout)},record.mirror=mirror;function getClickTargetNode(event){const target=getTargetNode(event);return target&&target instanceof Element&&target.closest("button,a")||target}function getTargetNode(event){return function isEventWithTarget(event){return"object"==typeof event&&!!event&&"target"in event}(event)?event.target:event}let esm_handlers;class ClickDetector{constructor(replay,slowClickConfig,_addBreadcrumbEvent=addBreadcrumbEvent){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=slowClickConfig.timeout/1e3,this._threshold=slowClickConfig.threshold/1e3,this._scollTimeout=slowClickConfig.scrollTimeout/1e3,this._replay=replay,this._ignoreSelector=slowClickConfig.ignoreSelector,this._addBreadcrumbEvent=_addBreadcrumbEvent}addListeners(){const scrollHandler=()=>{this._lastScroll=nowInSeconds()},cleanupWindowOpen=function onWindowOpen(cb){return esm_handlers||(esm_handlers=[],function monkeyPatchWindowOpen(){fill(esm_WINDOW,"open",function(originalWindowOpen){return function(...args){if(esm_handlers)try{esm_handlers.forEach(handler=>handler())}catch{}return originalWindowOpen.apply(esm_WINDOW,args)}})}()),esm_handlers.push(cb),()=>{const pos=esm_handlers?esm_handlers.indexOf(cb):-1;pos>-1&&esm_handlers.splice(pos,1)}}(()=>{this._lastMutation=nowInSeconds()}),clickHandler=event=>{if(!event.target)return;const node2=getClickTargetNode(event);node2&&this._handleMultiClick(node2)},obs=new MutationObserver(()=>{this._lastMutation=nowInSeconds()});obs.observe(esm_WINDOW.document.documentElement,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),esm_WINDOW.addEventListener("scroll",scrollHandler,{passive:!0}),esm_WINDOW.addEventListener("click",clickHandler,{passive:!0}),this._teardown=()=>{esm_WINDOW.removeEventListener("scroll",scrollHandler),esm_WINDOW.removeEventListener("click",clickHandler),cleanupWindowOpen(),obs.disconnect(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(breadcrumb,node2){if(function ignoreElement(node2,ignoreSelector){return!!(!SLOW_CLICK_TAGS.includes(node2.tagName)||"INPUT"===node2.tagName&&!["submit","button"].includes(node2.getAttribute("type")||"")||"A"===node2.tagName&&(node2.hasAttribute("download")||node2.hasAttribute("target")&&"_self"!==node2.getAttribute("target"))||ignoreSelector&&node2.matches(ignoreSelector))}(node2,this._ignoreSelector)||!function isClickBreadcrumb(breadcrumb){return!(!breadcrumb.data||"number"!=typeof breadcrumb.data.nodeId||!breadcrumb.timestamp)}(breadcrumb))return;const newClick={timestamp:(timestamp=breadcrumb.timestamp,timestamp>9999999999?timestamp/1e3:timestamp),clickBreadcrumb:breadcrumb,clickCount:0,node:node2};var timestamp;this._clicks.push(newClick),1===this._clicks.length&&this._scheduleCheckClicks()}_handleMultiClick(node2){this._getClicks(node2).forEach(click=>{click.clickCount++})}_getClicks(node2){return this._clicks.filter(click=>click.node===node2)}_checkClicks(){const timedOutClicks=[],now=nowInSeconds();this._clicks.forEach(click=>{!click.mutationAfter&&this._lastMutation&&(click.mutationAfter=click.timestamp<=this._lastMutation?this._lastMutation-click.timestamp:void 0),!click.scrollAfter&&this._lastScroll&&(click.scrollAfter=click.timestamp<=this._lastScroll?this._lastScroll-click.timestamp:void 0),click.timestamp+this._timeout<=now&&timedOutClicks.push(click)});for(const click of timedOutClicks){const pos=this._clicks.indexOf(click);pos>-1&&(this._generateBreadcrumbs(click),this._clicks.splice(pos,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(click){const replay=this._replay,isSlowClick=!(click.scrollAfter&&click.scrollAfter<=this._scollTimeout||click.mutationAfter&&click.mutationAfter<=this._threshold),{clickCount,clickBreadcrumb}=click;if(isSlowClick){const timeAfterClickMs=1e3*Math.min(click.mutationAfter||this._timeout,this._timeout),endReason=timeAfterClickMs<1e3*this._timeout?"mutation":"timeout",breadcrumb={type:"default",message:clickBreadcrumb.message,timestamp:clickBreadcrumb.timestamp,category:"ui.slowClickDetected",data:{...clickBreadcrumb.data,url:esm_WINDOW.location.href,route:replay.getCurrentRoute(),timeAfterClickMs,endReason,clickCount:clickCount||1}};this._addBreadcrumbEvent(replay,breadcrumb)}else if(clickCount>1){const breadcrumb={type:"default",message:clickBreadcrumb.message,timestamp:clickBreadcrumb.timestamp,category:"ui.multiClick",data:{...clickBreadcrumb.data,url:esm_WINDOW.location.href,route:replay.getCurrentRoute(),clickCount,metric:!0}};this._addBreadcrumbEvent(replay,breadcrumb)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=setTimeout(()=>this._checkClicks(),1e3)}}const SLOW_CLICK_TAGS=["A","BUTTON","INPUT"];function nowInSeconds(){return Date.now()/1e3}function createBreadcrumb(breadcrumb){return{timestamp:Date.now()/1e3,type:"default",...breadcrumb}}var NodeType=function(NodeType2){return NodeType2[NodeType2.Document=0]="Document",NodeType2[NodeType2.DocumentType=1]="DocumentType",NodeType2[NodeType2.Element=2]="Element",NodeType2[NodeType2.Text=3]="Text",NodeType2[NodeType2.CDATA=4]="CDATA",NodeType2[NodeType2.Comment=5]="Comment",NodeType2}(NodeType||{});const ATTRIBUTES_TO_RECORD=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled"]);function getAttributesToRecord(attributes){const obj={};for(const key in attributes)if(ATTRIBUTES_TO_RECORD.has(key)){let normalizedKey=key;("data-testid"===key||"data-test-id"===key)&&(normalizedKey="testId"),obj[normalizedKey]=attributes[key]}return obj}function getBaseDomBreadcrumb(target,message){const serializedNode=target&&function isRrwebNode(node2){return"__sn"in node2}(target)&&target.__sn.type===NodeType.Element?target.__sn:null;return{message,data:serializedNode?{nodeId:serializedNode.id,node:{id:serializedNode.id,tagName:serializedNode.tagName,textContent:target?Array.from(target.childNodes).map(node2=>"__sn"in node2&&node2.__sn.type===NodeType.Text&&node2.__sn.textContent).filter(Boolean).map(text=>text.trim()).join(""):"",attributes:getAttributesToRecord(serializedNode.attributes)}}:{}}}const NAVIGATION_ENTRY_KEYS=["name","type","startTime","transferSize","duration"];function isNavigationEntryEqual(a){return function(b){return NAVIGATION_ENTRY_KEYS.every(key=>a[key]===b[key])}}function logInfo(message,shouldAddBreadcrumb){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(logger_logger.info(message),shouldAddBreadcrumb&&esm_addBreadcrumb(message))}function logInfoNextTick(message,shouldAddBreadcrumb){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(logger_logger.info(message),shouldAddBreadcrumb&&setTimeout(()=>{esm_addBreadcrumb(message)},0))}function esm_addBreadcrumb(message){hub_getCurrentHub().addBreadcrumb({category:"console",data:{logger:"replay"},level:"info",message},{level:"info"})}class EventBufferSizeExceededError extends Error{constructor(){super("Event buffer exceeded maximum size of 20000000.")}}class EventBufferArray{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}addEvent(event){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){const eventSize=JSON.stringify(event).length;if(_this._totalSize+=eventSize,_this._totalSize>2e7)throw new EventBufferSizeExceededError;_this.events.push(event)})()}finish(){return new Promise(resolve=>{const eventsRet=this.events;this.clear(),resolve(JSON.stringify(eventsRet))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const timestamp=this.events.map(event=>event.timestamp).sort()[0];return timestamp?timestampToMs(timestamp):null}}class WorkerHandler{constructor(worker){this._worker=worker,this._id=0}ensureReady(){return this._ensureReadyPromise||(this._ensureReadyPromise=new Promise((resolve,reject)=>{this._worker.addEventListener("message",({data})=>{data.success?resolve():reject()},{once:!0}),this._worker.addEventListener("error",error=>{reject(error)},{once:!0})})),this._ensureReadyPromise}destroy(){logInfo("[Replay] Destroying compression worker"),this._worker.terminate()}postMessage(method,arg){const id=this._getAndIncrementId();return new Promise((resolve,reject)=>{const listener=({data})=>{const response=data;if(response.method===method&&response.id===id){if(this._worker.removeEventListener("message",listener),!response.success)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay]",response.response),void reject(new Error("Error in compression worker"));resolve(response.response)}};this._worker.addEventListener("message",listener),this._worker.postMessage({id,method,arg})})}_getAndIncrementId(){return this._id++}}class EventBufferCompressionWorker{constructor(worker){this._worker=new WorkerHandler(worker),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(event){const timestamp=timestampToMs(event.timestamp);(!this._earliestTimestamp||timestamp2e7?Promise.reject(new EventBufferSizeExceededError):this._sendEventToWorker(data)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear")}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(data){return this._worker.postMessage("addEvent",data)}_finishRequest(){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){const response=yield _this2._worker.postMessage("finish");return _this2._earliestTimestamp=null,_this2._totalSize=0,response})()}}class EventBufferProxy{constructor(worker){this._fallback=new EventBufferArray,this._compression=new EventBufferCompressionWorker(worker),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(value){this._used.hasCheckout=value}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(event){return this._used.addEvent(event)}finish(){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){return yield _this3.ensureWorkerIsLoaded(),_this3._used.finish()})()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}_ensureWorkerIsLoaded(){var _this4=this;return asyncToGenerator_asyncToGenerator(function*(){try{yield _this4._compression.ensureReady()}catch{return void logInfo("[Replay] Failed to load the compression worker, falling back to simple buffer")}yield _this4._switchToCompressionWorker()})()}_switchToCompressionWorker(){var _this5=this;return asyncToGenerator_asyncToGenerator(function*(){const{events}=_this5._fallback,addEventPromises=[];for(const event of events)addEventPromises.push(_this5._compression.addEvent(event));_this5._used=_this5._compression;try{yield Promise.all(addEventPromises)}catch(error){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("[Replay] Failed to add events when switching buffers.",error)}})()}}function hasSessionStorage(){try{return"sessionStorage"in esm_WINDOW&&!!esm_WINDOW.sessionStorage}catch{return!1}}function isExpired(initialTime,expiry,targetTime=+new Date){return null===initialTime||void 0===expiry||expiry<0||0!==expiry&&initialTime+expiry<=targetTime}function isSessionExpired(session,timeouts,targetTime=+new Date){return isExpired(session.started,timeouts.maxSessionLife,targetTime)||isExpired(session.lastActivity,timeouts.sessionIdleExpire,targetTime)}function isSampled(sampleRate){return void 0!==sampleRate&&Math.random()"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] An error occured in the `beforeAddRecordingEvent` callback, skipping the event...",error),null}return event}(event,replay.getOptions().beforeAddRecordingEvent);return eventAfterPossibleCallback?yield replay.eventBuffer.addEvent(eventAfterPossibleCallback):void 0}catch(error){const reason=error&&error instanceof EventBufferSizeExceededError?"addEventSizeExceeded":"addEvent";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(error),yield replay.stop(reason);const client=hub_getCurrentHub().getClient();client&&client.recordDroppedEvent("internal_sdk_error","replay")}})).apply(this,arguments)}function esm_isErrorEvent(event){return!event.type}function esm_isTransactionEvent(event){return"transaction"===event.type}function handleAfterSendEvent(replay){const enforceStatusCode=function isBaseTransportSend(){const client=hub_getCurrentHub().getClient();if(!client)return!1;const transport=client.getTransport();return transport&&transport.send.__sentry__baseTransport__||!1}();return(event,sendResponse)=>{if(!replay.isEnabled()||!esm_isErrorEvent(event)&&!esm_isTransactionEvent(event))return;const statusCode=sendResponse&&sendResponse.statusCode;if(!enforceStatusCode||!(!statusCode||statusCode<200||statusCode>=300)){if(esm_isTransactionEvent(event))return void function handleTransactionEvent(replay,event){const replayContext=replay.getContext();event.contexts&&event.contexts.trace&&event.contexts.trace.trace_id&&replayContext.traceIds.size<100&&replayContext.traceIds.add(event.contexts.trace.trace_id)}(replay,event);!function handleErrorEvent(replay,event){const replayContext=replay.getContext();event.event_id&&replayContext.errorIds.size<100&&replayContext.errorIds.add(event.event_id),"buffer"===replay.recordingMode&&event.tags&&event.tags.replayId&&setTimeout(()=>{replay.sendBufferedReplayOrFlush()})}(replay,event)}}}function createPerformanceSpans(replay,entries){return entries.map(({type,start:start2,end,name,data})=>{const response=replay.throttledAddEvent({type:EventType.Custom,timestamp:start2,data:{tag:"performanceSpan",payload:{op:type,description:name,startTimestamp:start2,endTimestamp:end,data}}});return"string"==typeof response?Promise.resolve(null):response})}function addNetworkBreadcrumb(replay,result){replay.isEnabled()&&null!==result&&(function shouldFilterRequest(replay,url){return(!(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)||!replay.getOptions()._experiments.traceInternals)&&function _isSentryRequest(url){const client=hub_getCurrentHub().getClient(),dsn=client&&client.getDsn();return!!dsn&&url.includes(dsn.host)}(url)}(replay,result.name)||replay.addUpdate(()=>(createPerformanceSpans(replay,[result]),!0)))}const OBJ=10,OBJ_KEY=11,OBJ_KEY_STR=12,OBJ_VAL=13,OBJ_VAL_STR=14,OBJ_VAL_COMPLETED=15,ARR=20,ARR_VAL=21,ARR_VAL_STR=22,ARR_VAL_COMPLETED=23,ALLOWED_PRIMITIVES=["true","false","null"];function _evaluateJsonPos(stack,json,pos){const curStep=stack[stack.length-1],char=json[pos];if(!/\s/.test(char)){if('"'===char&&!_isEscaped(json,pos))return void function _handleQuote(stack,curStep){if(curStep===OBJ_VAL_STR)return stack.pop(),void stack.push(OBJ_VAL_COMPLETED);if(curStep===ARR_VAL_STR)return stack.pop(),void stack.push(ARR_VAL_COMPLETED);if(curStep!==OBJ_VAL)if(curStep!==ARR_VAL){if(curStep!==OBJ)return curStep===OBJ_KEY_STR?(stack.pop(),void stack.push(OBJ_KEY)):void 0;stack.push(OBJ_KEY_STR)}else stack.push(ARR_VAL_STR);else stack.push(OBJ_VAL_STR)}(stack,curStep);switch(char){case"{":!function _handleObj(stack,curStep){curStep&&curStep!==OBJ_VAL?(curStep===ARR_VAL&&stack.push(OBJ),curStep!==ARR||stack.push(OBJ)):stack.push(OBJ)}(stack,curStep);break;case"[":!function _handleArr(stack,curStep){curStep?curStep===OBJ_VAL?(stack.push(ARR),stack.push(ARR_VAL)):(curStep===ARR_VAL&&(stack.push(ARR),stack.push(ARR_VAL)),curStep===ARR&&(stack.push(ARR),stack.push(ARR_VAL))):(stack.push(ARR),stack.push(ARR_VAL))}(stack,curStep);break;case":":!function _handleColon(stack,curStep){curStep===OBJ_KEY&&(stack.pop(),stack.push(OBJ_VAL))}(stack,curStep);break;case",":!function _handleComma(stack,curStep){if(curStep!==OBJ_VAL)return curStep===OBJ_VAL_COMPLETED?(stack.pop(),void stack.pop()):void(curStep===ARR_VAL||curStep!==ARR_VAL_COMPLETED||stack.pop());stack.pop()}(stack,curStep);break;case"}":!function _handleObjClose(stack,curStep){curStep===OBJ&&stack.pop(),curStep===OBJ_VAL&&(stack.pop(),stack.pop()),curStep===OBJ_VAL_COMPLETED&&(stack.pop(),stack.pop(),stack.pop()),stack[stack.length-1]===OBJ_VAL&&stack.push(OBJ_VAL_COMPLETED),stack[stack.length-1]===ARR_VAL&&stack.push(ARR_VAL_COMPLETED)}(stack,curStep);break;case"]":!function _handleArrClose(stack,curStep){curStep===ARR&&stack.pop(),curStep===ARR_VAL&&(stack.pop(),stack.pop()),curStep===ARR_VAL_COMPLETED&&(stack.pop(),stack.pop(),stack.pop()),stack[stack.length-1]===OBJ_VAL&&stack.push(OBJ_VAL_COMPLETED),stack[stack.length-1]===ARR_VAL&&stack.push(ARR_VAL_COMPLETED)}(stack,curStep)}}}function _isEscaped(str,pos){return"\\"===str[pos-1]&&!_isEscaped(str,pos-1)}function fixJson(incompleteJson){return function completeJson(incompleteJson,stack){if(!stack.length)return incompleteJson;let json=incompleteJson;const lastPos=stack.length-1;json=function _fixLastStep(json,lastStep){switch(lastStep){case OBJ:return`${json}"~~":"~~"`;case OBJ_KEY:return`${json}:"~~"`;case OBJ_KEY_STR:return`${json}~~":"~~"`;case OBJ_VAL:return function _maybeFixIncompleteObjValue(json){const startPos=json.lastIndexOf(":"),part=json.slice(startPos+1);return ALLOWED_PRIMITIVES.includes(part.trim())?`${json},"~~":"~~"`:`${json.slice(0,startPos+1)}"~~"`}(json);case OBJ_VAL_STR:return`${json}~~"`;case OBJ_VAL_COMPLETED:return`${json},"~~":"~~"`;case ARR:return`${json}"~~"`;case ARR_VAL:return function _maybeFixIncompleteArrValue(json){const pos=function _findLastArrayDelimiter(json){for(let i6=json.length-1;i6>=0;i6--){const char=json[i6];if(","===char||"["===char)return i6}return-1}(json);if(pos>-1){const part=json.slice(pos+1);return ALLOWED_PRIMITIVES.includes(part.trim())?`${json},"~~"`:`${json.slice(0,pos+1)}"~~"`}return json}(json);case ARR_VAL_STR:return`${json}~~"`;case ARR_VAL_COMPLETED:return`${json},"~~"`}return json}(json,stack[lastPos]);for(let i6=lastPos;i6>=0;i6--)switch(stack[i6]){case OBJ:json=`${json}}`;break;case ARR:json=`${json}]`}return json}(incompleteJson,function evaluateJson(json){const stack=[];for(let pos=0;posNETWORK_BODY_MAX_SIZE;if(function _strIsProbablyJson(str){const first2=str[0],last2=str[str.length-1];return"["===first2&&"]"===last2||"{"===first2&&"}"===last2}(body))try{const json=exceedsSizeLimit?fixJson(body.slice(0,NETWORK_BODY_MAX_SIZE)):body;return{body:JSON.parse(json),warnings:exceedsSizeLimit?["JSON_TRUNCATED"]:[]}}catch{return{body:exceedsSizeLimit?`${body.slice(0,NETWORK_BODY_MAX_SIZE)}\u2026`:body,warnings:exceedsSizeLimit?["INVALID_JSON","TEXT_TRUNCATED"]:["INVALID_JSON"]}}return{body:exceedsSizeLimit?`${body.slice(0,NETWORK_BODY_MAX_SIZE)}\u2026`:body,warnings:exceedsSizeLimit?["TEXT_TRUNCATED"]:[]}}(body);return info.body=normalizedBody,warnings.length>0&&(info._meta={warnings}),info}function getAllowedHeaders(headers,allowedHeaders){return Object.keys(headers).reduce((filteredHeaders,key)=>{const normalizedKey=key.toLowerCase();return allowedHeaders.includes(normalizedKey)&&headers[key]&&(filteredHeaders[normalizedKey]=headers[key]),filteredHeaders},{})}function _serializeFormData(formData){return new URLSearchParams(formData).toString()}function urlMatches(url,urls){const fullUrl=function getFullUrl(url,baseURI=esm_WINDOW.document.baseURI){if(url.startsWith("http://")||url.startsWith("https://")||url.startsWith(esm_WINDOW.location.origin))return url;const fixedUrl=new URL(url,baseURI);if(fixedUrl.origin!==new URL(baseURI).origin)return url;const fullUrl=fixedUrl.href;return!url.endsWith("/")&&fullUrl.endsWith("/")?fullUrl.slice(0,-1):fullUrl}(url);return stringMatchesSomePattern(fullUrl,urls)}function _captureFetchBreadcrumbToReplay(){return _captureFetchBreadcrumbToReplay=asyncToGenerator_asyncToGenerator(function*(breadcrumb,hint,options){try{const data=yield function _prepareFetchData(_x7,_x8,_x9){return _prepareFetchData2.apply(this,arguments)}(breadcrumb,hint,options),result=makeNetworkReplayBreadcrumb("resource.fetch",data);addNetworkBreadcrumb(options.replay,result)}catch(error){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] Failed to capture fetch breadcrumb",error)}}),_captureFetchBreadcrumbToReplay.apply(this,arguments)}function _prepareFetchData2(){return _prepareFetchData2=asyncToGenerator_asyncToGenerator(function*(breadcrumb,hint,options){const{startTimestamp,endTimestamp}=hint,{url,method,status_code:statusCode=0,request_body_size:requestBodySize,response_body_size:responseBodySize}=breadcrumb.data,captureDetails=urlMatches(url,options.networkDetailAllowUrls)&&!urlMatches(url,options.networkDetailDenyUrls),request=captureDetails?function _getRequestInfo({networkCaptureBodies,networkRequestHeaders},input,requestBodySize){const headers=function getRequestHeaders(fetchArgs,allowedHeaders){return 1===fetchArgs.length&&"string"!=typeof fetchArgs[0]?getHeadersFromOptions(fetchArgs[0],allowedHeaders):2===fetchArgs.length?getHeadersFromOptions(fetchArgs[1],allowedHeaders):{}}(input,networkRequestHeaders);if(!networkCaptureBodies)return buildNetworkRequestOrResponse(headers,requestBodySize,void 0);return buildNetworkRequestOrResponse(headers,requestBodySize,getBodyString(_getFetchRequestArgBody(input)))}(options,hint.input,requestBodySize):buildSkippedNetworkRequestOrResponse(requestBodySize),response=yield function _getResponseInfo(_x10,_x11,_x12,_x13){return _getResponseInfo2.apply(this,arguments)}(captureDetails,options,hint.response,responseBodySize);return{startTimestamp,endTimestamp,url,method,statusCode,request,response}}),_prepareFetchData2.apply(this,arguments)}function _getResponseInfo2(){return _getResponseInfo2=asyncToGenerator_asyncToGenerator(function*(captureDetails,{networkCaptureBodies,textEncoder,networkResponseHeaders},response,responseBodySize){if(!captureDetails&&void 0!==responseBodySize)return buildSkippedNetworkRequestOrResponse(responseBodySize);const headers=getAllHeaders(response.headers,networkResponseHeaders);if(!networkCaptureBodies&&void 0!==responseBodySize)return buildNetworkRequestOrResponse(headers,responseBodySize,void 0);try{const res=response.clone(),bodyText=yield function _parseFetchBody(_x14){return _parseFetchBody2.apply(this,arguments)}(res),size=bodyText&&bodyText.length&&void 0===responseBodySize?getBodySize(bodyText,textEncoder):responseBodySize;return captureDetails?buildNetworkRequestOrResponse(headers,size,networkCaptureBodies?bodyText:void 0):buildSkippedNetworkRequestOrResponse(size)}catch{return buildNetworkRequestOrResponse(headers,responseBodySize,void 0)}}),_getResponseInfo2.apply(this,arguments)}function _parseFetchBody2(){return(_parseFetchBody2=asyncToGenerator_asyncToGenerator(function*(response){try{return yield response.text()}catch{return}})).apply(this,arguments)}function _getFetchRequestArgBody(fetchArgs=[]){if(2===fetchArgs.length&&"object"==typeof fetchArgs[1])return fetchArgs[1].body}function getAllHeaders(headers,allowedHeaders){const allHeaders={};return allowedHeaders.forEach(header=>{headers.get(header)&&(allHeaders[header]=headers.get(header))}),allHeaders}function getHeadersFromOptions(input,allowedHeaders){if(!input)return{};const headers=input.headers;return headers?headers instanceof Headers?getAllHeaders(headers,allowedHeaders):Array.isArray(headers)?{}:getAllowedHeaders(headers,allowedHeaders):{}}function _captureXhrBreadcrumbToReplay(){return(_captureXhrBreadcrumbToReplay=asyncToGenerator_asyncToGenerator(function*(breadcrumb,hint,options){try{const data=function _prepareXhrData(breadcrumb,hint,options){const{startTimestamp,endTimestamp,input,xhr}=hint,{url,method,status_code:statusCode=0,request_body_size:requestBodySize,response_body_size:responseBodySize}=breadcrumb.data;if(!url)return null;if(!urlMatches(url,options.networkDetailAllowUrls)||urlMatches(url,options.networkDetailDenyUrls))return{startTimestamp,endTimestamp,url,method,statusCode,request:buildSkippedNetworkRequestOrResponse(requestBodySize),response:buildSkippedNetworkRequestOrResponse(responseBodySize)};const xhrInfo=xhr[SENTRY_XHR_DATA_KEY],networkRequestHeaders=xhrInfo?getAllowedHeaders(xhrInfo.request_headers,options.networkRequestHeaders):{},networkResponseHeaders=getAllowedHeaders(function getResponseHeaders(xhr){const headers=xhr.getAllResponseHeaders();return headers?headers.split("\r\n").reduce((acc,line)=>{const[key,value]=line.split(": ");return acc[key.toLowerCase()]=value,acc},{}):{}}(xhr),options.networkResponseHeaders);return{startTimestamp,endTimestamp,url,method,statusCode,request:buildNetworkRequestOrResponse(networkRequestHeaders,requestBodySize,options.networkCaptureBodies?getBodyString(input):void 0),response:buildNetworkRequestOrResponse(networkResponseHeaders,responseBodySize,options.networkCaptureBodies?hint.xhr.responseText:void 0)}}(breadcrumb,hint,options),result=makeNetworkReplayBreadcrumb("resource.xhr",data);addNetworkBreadcrumb(options.replay,result)}catch(error){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] Failed to capture fetch breadcrumb",error)}})).apply(this,arguments)}function handleNetworkBreadcrumbs(replay){const client=hub_getCurrentHub().getClient();try{const textEncoder=new TextEncoder,{networkDetailAllowUrls,networkDetailDenyUrls,networkCaptureBodies,networkRequestHeaders,networkResponseHeaders}=replay.getOptions(),options={replay,textEncoder,networkDetailAllowUrls,networkDetailDenyUrls,networkCaptureBodies,networkRequestHeaders,networkResponseHeaders};client&&client.on?client.on("beforeAddBreadcrumb",(breadcrumb,hint)=>function beforeAddNetworkBreadcrumb(options,breadcrumb,hint){if(breadcrumb.data)try{(function _isXhrBreadcrumb(breadcrumb){return"xhr"===breadcrumb.category})(breadcrumb)&&function _isXhrHint(hint){return hint&&hint.xhr}(hint)&&(function enrichXhrBreadcrumb(breadcrumb,hint,options){const{xhr,input}=hint,reqSize=getBodySize(input,options.textEncoder),resSize=xhr.getResponseHeader("content-length")?parseContentLengthHeader(xhr.getResponseHeader("content-length")):getBodySize(xhr.response,options.textEncoder);void 0!==reqSize&&(breadcrumb.data.request_body_size=reqSize),void 0!==resSize&&(breadcrumb.data.response_body_size=resSize)}(breadcrumb,hint,options),function captureXhrBreadcrumbToReplay(_x15,_x16,_x17){_captureXhrBreadcrumbToReplay.apply(this,arguments)}(breadcrumb,hint,options)),function _isFetchBreadcrumb(breadcrumb){return"fetch"===breadcrumb.category}(breadcrumb)&&function _isFetchHint(hint){return hint&&hint.response}(hint)&&(function enrichFetchBreadcrumb(breadcrumb,hint,options){const{input,response}=hint,reqSize=getBodySize(_getFetchRequestArgBody(input),options.textEncoder),resSize=response?parseContentLengthHeader(response.headers.get("content-length")):void 0;void 0!==reqSize&&(breadcrumb.data.request_body_size=reqSize),void 0!==resSize&&(breadcrumb.data.response_body_size=resSize)}(breadcrumb,hint,options),function captureFetchBreadcrumbToReplay(_x4,_x5,_x6){_captureFetchBreadcrumbToReplay.apply(this,arguments)}(breadcrumb,hint,options))}catch{(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Error when enriching network breadcrumb")}}(options,breadcrumb,hint)):(addInstrumentationHandler("fetch",function handleFetchSpanListener(replay){return handlerData=>{if(!replay.isEnabled())return;const result=function handleFetch(handlerData){const{startTimestamp,endTimestamp,fetchData,response}=handlerData;if(!endTimestamp)return null;const{method,url}=fetchData;return{type:"resource.fetch",start:startTimestamp/1e3,end:endTimestamp/1e3,name:url,data:{method,statusCode:response?response.status:void 0}}}(handlerData);addNetworkBreadcrumb(replay,result)}}(replay)),addInstrumentationHandler("xhr",function handleXhrSpanListener(replay){return handlerData=>{if(!replay.isEnabled())return;const result=function handleXhr(handlerData){const{startTimestamp,endTimestamp,xhr}=handlerData,sentryXhrData=xhr[SENTRY_XHR_DATA_KEY];if(!startTimestamp||!endTimestamp||!sentryXhrData)return null;const{method,url,status_code:statusCode}=sentryXhrData;return void 0===url?null:{type:"resource.xhr",name:url,start:startTimestamp/1e3,end:endTimestamp/1e3,data:{method,statusCode}}}(handlerData);addNetworkBreadcrumb(replay,result)}}(replay)))}catch{}}let _LAST_BREADCRUMB=null;function hasHooks(client){return!(!client||!client.on)}function _addMemoryEntry(){return(_addMemoryEntry=asyncToGenerator_asyncToGenerator(function*(replay){try{return Promise.all(createPerformanceSpans(replay,[createMemoryEntry(esm_WINDOW.performance.memory)]))}catch{return[]}})).apply(this,arguments)}function createMemoryEntry(memoryEntry){const{jsHeapSizeLimit,totalJSHeapSize,usedJSHeapSize}=memoryEntry,time=Date.now()/1e3;return{type:"memory",name:"memory",start:time,end:time,data:{memory:{jsHeapSizeLimit,totalJSHeapSize,usedJSHeapSize}}}}const ENTRY_TYPES={resource:function createResourceEntry(entry){const{entryType,initiatorType,name,responseEnd,startTime,decodedBodySize,encodedBodySize,responseStatus,transferSize}=entry;return["fetch","xmlhttprequest"].includes(initiatorType)?null:{type:`${entryType}.${initiatorType}`,start:getAbsoluteTime(startTime),end:getAbsoluteTime(responseEnd),name,data:{size:transferSize,statusCode:responseStatus,decodedBodySize,encodedBodySize}}},paint:function createPaintEntry(entry){const{duration,entryType,name,startTime}=entry,start2=getAbsoluteTime(startTime);return{type:entryType,name,start:start2,end:start2+duration,data:void 0}},navigation:function createNavigationEntry(entry){const{entryType,name,decodedBodySize,duration,domComplete,encodedBodySize,domContentLoadedEventStart,domContentLoadedEventEnd,domInteractive,loadEventStart,loadEventEnd,redirectCount,startTime,transferSize,type}=entry;return 0===duration?null:{type:`${entryType}.${type}`,start:getAbsoluteTime(startTime),end:getAbsoluteTime(domComplete),name,data:{size:transferSize,decodedBodySize,encodedBodySize,duration,domInteractive,domContentLoadedEventStart,domContentLoadedEventEnd,loadEventStart,loadEventEnd,domComplete,redirectCount}}},"largest-contentful-paint":function createLargestContentfulPaint(entry){const{entryType,startTime,size}=entry;let startTimeOrNavigationActivation=0;if(esm_WINDOW.performance){const navEntry=esm_WINDOW.performance.getEntriesByType("navigation")[0];startTimeOrNavigationActivation=navEntry&&navEntry.activationStart||0}const value=Math.max(startTime-startTimeOrNavigationActivation,0),end=getAbsoluteTime(startTimeOrNavigationActivation)+value/1e3;return{type:entryType,name:entryType,start:end,end,data:{value,size,nodeId:record.mirror.getId(entry.element)}}}};function createPerformanceEntry(entry){return void 0===ENTRY_TYPES[entry.entryType]?null:ENTRY_TYPES[entry.entryType](entry)}function getAbsoluteTime(time){return((esm_time.Z1||esm_WINDOW.performance.timeOrigin)+time)/1e3}function getHandleRecordingEmit(replay){let hadFirstEvent=!1;return(event,_isCheckout)=>{if(!replay.checkAndHandleExpiredSession())return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("[Replay] Received replay event after session expired."));const isCheckout=_isCheckout||!hadFirstEvent;hadFirstEvent=!0,replay.addUpdate(()=>{if("buffer"===replay.recordingMode&&isCheckout&&replay.setInitialState(),addEvent(replay,event,isCheckout),!isCheckout)return!1;if(function addSettingsEvent(replay,isCheckout){isCheckout&&replay.session&&0===replay.session.segmentId?addEvent(replay,function createOptionsEvent(replay){const options=replay.getOptions();return{type:EventType.Custom,timestamp:Date.now(),data:{tag:"options",payload:{sessionSampleRate:options.sessionSampleRate,errorSampleRate:options.errorSampleRate,useCompressionOption:options.useCompression,blockAllMedia:options.blockAllMedia,maskAllText:options.maskAllText,maskAllInputs:options.maskAllInputs,useCompression:!!replay.eventBuffer&&"worker"===replay.eventBuffer.type,networkDetailHasUrls:options.networkDetailAllowUrls.length>0,networkCaptureBodies:options.networkCaptureBodies,networkRequestHasHeaders:options.networkRequestHeaders.length>0,networkResponseHasHeaders:options.networkResponseHeaders.length>0}}}}(replay),!1):Promise.resolve(null)}(replay,isCheckout),replay.session&&replay.session.previousSessionId)return!0;if("buffer"===replay.recordingMode&&replay.session&&replay.eventBuffer){const earliestEvent=replay.eventBuffer.getEarliestTimestamp();earliestEvent&&(logInfo(`[Replay] Updating session start time to earliest event in buffer to ${new Date(earliestEvent)}`,replay.getOptions()._experiments.traceInternals),replay.session.started=earliestEvent,replay.getOptions().stickySession&&saveSession(replay.session))}return"session"===replay.recordingMode&&replay.flush(),!0})}}function _prepareReplayEvent(){return(_prepareReplayEvent=asyncToGenerator_asyncToGenerator(function*({client,scope,replayId:event_id,event}){const integrations="object"!=typeof client._integrations||null===client._integrations||Array.isArray(client._integrations)?void 0:Object.keys(client._integrations),preparedEvent=yield prepareEvent(client.getOptions(),event,{event_id,integrations},scope);if(!preparedEvent)return null;preparedEvent.platform=preparedEvent.platform||"javascript";const metadata=client.getSdkMetadata&&client.getSdkMetadata(),{name,version:version2}=metadata&&metadata.sdk||{};return preparedEvent.sdk={...preparedEvent.sdk,name:name||"sentry.javascript.unknown",version:version2||"0.0.0"},preparedEvent})).apply(this,arguments)}function _sendReplayRequest(){return _sendReplayRequest=asyncToGenerator_asyncToGenerator(function*({recordingData,replayId,segmentId:segment_id,eventContext,timestamp,session}){const preparedRecordingData=function prepareRecordingData({recordingData,headers}){let payloadWithSequence;const replayHeaders=`${JSON.stringify(headers)}\n`;if("string"==typeof recordingData)payloadWithSequence=`${replayHeaders}${recordingData}`;else{const sequence2=(new TextEncoder).encode(replayHeaders);payloadWithSequence=new Uint8Array(sequence2.length+recordingData.length),payloadWithSequence.set(sequence2),payloadWithSequence.set(recordingData,sequence2.length)}return payloadWithSequence}({recordingData,headers:{segment_id}}),{urls,errorIds,traceIds,initialTimestamp}=eventContext,hub=hub_getCurrentHub(),client=hub.getClient(),scope=hub.getScope(),transport=client&&client.getTransport(),dsn=client&&client.getDsn();if(!(client&&transport&&dsn&&session.sampled))return;const baseEvent={type:REPLAY_EVENT_NAME,replay_start_timestamp:initialTimestamp/1e3,timestamp:timestamp/1e3,error_ids:errorIds,trace_ids:traceIds,urls,replay_id:replayId,segment_id,replay_type:session.sampled},replayEvent=yield function prepareReplayEvent(_x19){return _prepareReplayEvent.apply(this,arguments)}({scope,client,replayId,event:baseEvent});if(!replayEvent)return client.recordDroppedEvent("event_processor","replay",baseEvent),void logInfo("An event processor returned `null`, will not send event.");delete replayEvent.sdkProcessingMetadata;const envelope=function createReplayEnvelope(replayEvent,recordingData,dsn,tunnel){return createEnvelope(createEventEnvelopeHeaders(replayEvent,getSdkMetadataForEnvelopeHeader(replayEvent),tunnel,dsn),[[{type:"replay_event"},replayEvent],[{type:"replay_recording",length:"string"==typeof recordingData?(new TextEncoder).encode(recordingData).length:recordingData.length},recordingData]])}(replayEvent,preparedRecordingData,dsn,client.getOptions().tunnel);let response;try{response=yield transport.send(envelope)}catch(err){const error=new Error(UNABLE_TO_SEND_REPLAY);try{error.cause=err}catch{}throw error}if(!response)return response;if("number"==typeof response.statusCode&&(response.statusCode<200||response.statusCode>=300))throw new TransportStatusCodeError(response.statusCode);return response}),_sendReplayRequest.apply(this,arguments)}class TransportStatusCodeError extends Error{constructor(statusCode){super(`Transport returned status code ${statusCode}`)}}function sendReplay(_x21){return _sendReplay.apply(this,arguments)}function _sendReplay(){return _sendReplay=asyncToGenerator_asyncToGenerator(function*(replayData,retryConfig={count:0,interval:RETRY_BASE_INTERVAL}){const{recordingData,options}=replayData;if(recordingData.length)try{return yield function sendReplayRequest(_x20){return _sendReplayRequest.apply(this,arguments)}(replayData),!0}catch(err){if(err instanceof TransportStatusCodeError)throw err;if(setContext("Replays",{_retryCount:retryConfig.count}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&options._experiments&&options._experiments.captureExceptions&&captureException(err),retryConfig.count>=RETRY_MAX_COUNT){const error=new Error(`${UNABLE_TO_SEND_REPLAY} - max retries exceeded`);try{error.cause=err}catch{}throw error}return retryConfig.interval*=++retryConfig.count,new Promise((resolve,reject)=>{setTimeout(asyncToGenerator_asyncToGenerator(function*(){try{yield sendReplay(replayData,retryConfig),resolve(!0)}catch(err2){reject(err2)}}),retryConfig.interval)})}}),_sendReplay.apply(this,arguments)}class ReplayContainer{constructor({options,recordingOptions}){ReplayContainer.prototype.__init.call(this),ReplayContainer.prototype.__init2.call(this),ReplayContainer.prototype.__init3.call(this),ReplayContainer.prototype.__init4.call(this),ReplayContainer.prototype.__init5.call(this),ReplayContainer.prototype.__init6.call(this),this.eventBuffer=null,this.performanceEvents=[],this.recordingMode="session",this.timeouts={sessionIdlePause:3e5,sessionIdleExpire:9e5,maxSessionLife:36e5},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=recordingOptions,this._options=options,this._debouncedFlush=function debounce(func,wait,options){let callbackReturnValue,timerId,maxTimerId;const maxWait=options&&options.maxWait?Math.max(options.maxWait,wait):0;function invokeFunc(){return cancelTimers(),callbackReturnValue=func(),callbackReturnValue}function cancelTimers(){void 0!==timerId&&clearTimeout(timerId),void 0!==maxTimerId&&clearTimeout(maxTimerId),timerId=maxTimerId=void 0}function debounced(){return timerId&&clearTimeout(timerId),timerId=setTimeout(invokeFunc,wait),maxWait&&void 0===maxTimerId&&(maxTimerId=setTimeout(invokeFunc,maxWait)),callbackReturnValue}return debounced.cancel=cancelTimers,debounced.flush=function flush2(){return void 0!==timerId||void 0!==maxTimerId?invokeFunc():callbackReturnValue},debounced}(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=function throttle(fn,maxCount,durationSeconds){const counter=new Map;let isThrottled=!1;return(...rest)=>{const now=Math.floor(Date.now()/1e3);if((now=>{const threshold=now-durationSeconds;counter.forEach((_value,key)=>{keya+b,0)>=maxCount){const wasThrottled=isThrottled;return isThrottled=!0,wasThrottled?"__SKIPPED":"__THROTTLED"}isThrottled=!1;const count=counter.get(now)||0;return counter.set(now,count+1),fn(...rest)}}((event,isCheckout)=>addEvent(this,event,isCheckout),300,5);const{slowClickTimeout,slowClickIgnoreSelectors}=this.getOptions(),slowClickConfig=slowClickTimeout?{threshold:Math.min(3e3,slowClickTimeout),timeout:slowClickTimeout,scrollTimeout:300,ignoreSelector:slowClickIgnoreSelectors?slowClickIgnoreSelectors.join(","):""}:void 0;slowClickConfig&&(this.clickDetector=new ClickDetector(this,slowClickConfig))}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}getOptions(){return this._options}initializeSampling(){const{errorSampleRate,sessionSampleRate}=this._options;if(!(errorSampleRate<=0&&sessionSampleRate<=0)&&this._loadAndCheckSession()){if(!this.session)return void this._handleException(new Error("Unable to initialize and create session"));this.session.sampled&&"session"!==this.session.sampled&&(this.recordingMode="buffer"),logInfoNextTick(`[Replay] Starting replay in ${this.recordingMode} mode`,this._options._experiments.traceInternals),this._initializeRecording()}}start(){if(this._isEnabled&&"session"===this.recordingMode)throw new Error("Replay recording is already in progress");if(this._isEnabled&&"buffer"===this.recordingMode)throw new Error("Replay buffering is in progress, call `flush()` to save the replay");logInfoNextTick("[Replay] Starting replay in session mode",this._options._experiments.traceInternals);const previousSessionId=this.session&&this.session.id,{session}=getSession({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:1,allowBuffering:!1,traceInternals:this._options._experiments.traceInternals});session.previousSessionId=previousSessionId,this.session=session,this._initializeRecording()}startBuffering(){if(this._isEnabled)throw new Error("Replay recording is already in progress");logInfoNextTick("[Replay] Starting replay in buffer mode",this._options._experiments.traceInternals);const previousSessionId=this.session&&this.session.id,{session}=getSession({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:0,allowBuffering:!0,traceInternals:this._options._experiments.traceInternals});session.previousSessionId=previousSessionId,this.session=session,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{this._stopRecording=record({...this._recordingOptions,..."buffer"===this.recordingMode&&{checkoutEveryNms:6e4},emit:getHandleRecordingEmit(this),onMutation:this._onMutationHandler})}catch(err){this._handleException(err)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(err){return this._handleException(err),!1}}stop(reason){var _this6=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this6._isEnabled)try{logInfo("[Replay] Stopping Replay"+(reason?` triggered by ${reason}`:""),_this6._options._experiments.traceInternals),_this6._isEnabled=!1,_this6._removeListeners(),_this6.stopRecording(),_this6._debouncedFlush.cancel(),"session"===_this6.recordingMode&&(yield _this6._flush({force:!0})),_this6.eventBuffer&&_this6.eventBuffer.destroy(),_this6.eventBuffer=null,function clearSession(replay){(function deleteSession(){if(hasSessionStorage())try{esm_WINDOW.sessionStorage.removeItem(REPLAY_SESSION_KEY)}catch{}})(),replay.session=void 0}(_this6)}catch(err){_this6._handleException(err)}})()}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),logInfo("[Replay] Pausing replay",this._options._experiments.traceInternals))}resume(){!this._isPaused||!this._loadAndCheckSession()||(this._isPaused=!1,this.startRecording(),logInfo("[Replay] Resuming replay",this._options._experiments.traceInternals))}sendBufferedReplayOrFlush({continueRecording=!0}={}){var _this7=this;return asyncToGenerator_asyncToGenerator(function*(){if("session"===_this7.recordingMode)return _this7.flushImmediate();const activityTime=Date.now();logInfo("[Replay] Converting buffer to session",_this7._options._experiments.traceInternals),yield _this7.flushImmediate();const hasStoppedRecording=_this7.stopRecording();!continueRecording||!hasStoppedRecording||"session"!==_this7.recordingMode&&(_this7.recordingMode="session",_this7.session&&(_this7.session.shouldRefresh=!1,_this7._updateUserActivity(activityTime),_this7._updateSessionActivity(activityTime),_this7._maybeSaveSession()),_this7.startRecording())})()}addUpdate(cb){const cbResult=cb();"buffer"!==this.recordingMode&&!0!==cbResult&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),this._stopRecording)this.checkAndHandleExpiredSession(),this._updateSessionActivity();else{if(!this._loadAndCheckSession())return;this.resume()}}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return"buffer"===this.recordingMode?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(){return this.session&&this.session.id}checkAndHandleExpiredSession(){const oldSessionId=this.getSessionId();if(!(this._lastActivity&&isExpired(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&"session"===this.session.sampled))return this._loadAndCheckSession()?oldSessionId===this.getSessionId()||(this._triggerFullSnapshot(),!1):void 0;this.pause()}setInitialState(){const url=`${esm_WINDOW.location.origin}${esm_WINDOW.location.pathname}${esm_WINDOW.location.hash}${esm_WINDOW.location.search}`;this.performanceEvents=[],this._clearContext(),this._context.initialUrl=url,this._context.initialTimestamp=Date.now(),this._context.urls.push(url)}throttledAddEvent(event,isCheckout){const res=this._throttledAddEvent(event,isCheckout);if("__THROTTLED"===res){const breadcrumb=createBreadcrumb({category:"replay.throttled"});this.addUpdate(()=>{addEvent(this,{type:EventType.Custom,timestamp:breadcrumb.timestamp||0,data:{tag:"breadcrumb",payload:breadcrumb,metric:!0}})})}return res}getCurrentRoute(){const lastTransaction=this.lastTransaction||hub_getCurrentHub().getScope().getTransaction();if(lastTransaction&&["route","custom"].includes(lastTransaction.metadata.source))return lastTransaction.name}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=function createEventBuffer({useCompression}){if(useCompression&&window.Worker)try{const workerUrl=function e(){const e2=new Blob(['/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */\nfunction t(t){let e=t.length;for(;--e>=0;)t[e]=0}const e=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),a=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),i=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),n=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);const r=new Array(60);t(r);const o=new Array(512);t(o);const l=new Array(256);t(l);const h=new Array(29);t(h);const d=new Array(30);function _(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let f,c,u;function w(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}t(d);const m=t=>t<256?o[t]:o[256+(t>>>7)],b=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},g=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{g(t,a[2*e],a[2*e+1])},k=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},v=(t,e,a)=>{const i=new Array(16);let n,s,r=0;for(n=1;n<=15;n++)r=r+a[n-1]<<1,i[n]=r;for(s=0;s<=e;s++){let e=t[2*s+1];0!==e&&(t[2*s]=k(i[e]++,e))}},y=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},x=t=>{t.bi_valid>8?b(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},z=(t,e,a,i)=>{const n=2*e,s=2*a;return t[n]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{let s,r,o,_,f=0;if(0!==t.sym_next)do{s=255&t.pending_buf[t.sym_buf+f++],s+=(255&t.pending_buf[t.sym_buf+f++])<<8,r=t.pending_buf[t.sym_buf+f++],0===s?p(t,r,i):(o=l[r],p(t,o+256+1,i),_=e[o],0!==_&&(r-=h[o],g(t,r,_)),s--,o=m(s),p(t,o,n),_=a[o],0!==_&&(s-=d[o],g(t,s,_)))}while(f{const a=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,s=e.stat_desc.elems;let r,o,l,h=-1;for(t.heap_len=0,t.heap_max=573,r=0;r>1;r>=1;r--)A(t,a,r);l=s;do{r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],A(t,a,1),o=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=o,a[2*l]=a[2*r]+a[2*o],t.depth[l]=(t.depth[r]>=t.depth[o]?t.depth[r]:t.depth[o])+1,a[2*r+1]=a[2*o+1]=l,t.heap[1]=l++,A(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,s=e.stat_desc.has_stree,r=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,l=e.stat_desc.max_length;let h,d,_,f,c,u,w=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(a[2*t.heap[t.heap_max]+1]=0,h=t.heap_max+1;h<573;h++)d=t.heap[h],f=a[2*a[2*d+1]+1]+1,f>l&&(f=l,w++),a[2*d+1]=f,d>i||(t.bl_count[f]++,c=0,d>=o&&(c=r[d-o]),u=a[2*d],t.opt_len+=u*(f+c),s&&(t.static_len+=u*(n[2*d+1]+c)));if(0!==w){do{for(f=l-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[l]--,w-=2}while(w>0);for(f=l;0!==f;f--)for(d=t.bl_count[f];0!==d;)_=t.heap[--h],_>i||(a[2*_+1]!==f&&(t.opt_len+=(f-a[2*_+1])*a[2*_],a[2*_+1]=f),d--)}})(t,e),v(a,h,t.bl_count)},Z=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=r,r=e[2*(i+1)+1],++o{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),i=0;i<=a;i++)if(n=r,r=e[2*(i+1)+1],!(++o{g(t,0+(i?1:0),3),x(t),b(t,a),b(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var T=(t,e,a,i)=>{let o,l,h=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),R(t,t.l_desc),R(t,t.d_desc),h=(t=>{let e;for(Z(t,t.dyn_ltree,t.l_desc.max_code),Z(t,t.dyn_dtree,t.d_desc.max_code),R(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*n[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,l=t.static_len+3+7>>>3,l<=o&&(o=l)):o=l=a+5,a+4<=o&&-1!==e?D(t,e,a,i):4===t.strategy||l===o?(g(t,2+(i?1:0),3),E(t,s,r)):(g(t,4+(i?1:0),3),((t,e,a,i)=>{let s;for(g(t,e-257,5),g(t,a-1,5),g(t,i-4,4),s=0;s{S||((()=>{let t,n,w,m,b;const g=new Array(16);for(w=0,m=0;m<28;m++)for(h[m]=w,t=0;t<1<>=7;m<30;m++)for(d[m]=b<<7,t=0;t<1<(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=a,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(l[a]+256+1)]++,t.dyn_dtree[2*m(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{g(t,2,3),p(t,256,s),(t=>{16===t.bi_valid?(b(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var F=(t,e,a,i)=>{let n=65535&t|0,s=t>>>16&65535|0,r=0;for(;0!==a;){r=a>2e3?2e3:a,a-=r;do{n=n+e[i++]|0,s=s+n|0}while(--r);n%=65521,s%=65521}return n|s<<16|0};const L=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var N=(t,e,a,i)=>{const n=L,s=i+a;t^=-1;for(let a=i;a>>8^n[255&(t^e[a])];return-1^t},I={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},B={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:C,_tr_stored_block:H,_tr_flush_block:M,_tr_tally:j,_tr_align:K}=O,{Z_NO_FLUSH:P,Z_PARTIAL_FLUSH:Y,Z_FULL_FLUSH:G,Z_FINISH:X,Z_BLOCK:W,Z_OK:q,Z_STREAM_END:J,Z_STREAM_ERROR:Q,Z_DATA_ERROR:V,Z_BUF_ERROR:$,Z_DEFAULT_COMPRESSION:tt,Z_FILTERED:et,Z_HUFFMAN_ONLY:at,Z_RLE:it,Z_FIXED:nt,Z_DEFAULT_STRATEGY:st,Z_UNKNOWN:rt,Z_DEFLATED:ot}=B,lt=(t,e)=>(t.msg=I[e],e),ht=t=>2*t-(t>4?9:0),dt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},_t=t=>{let e,a,i,n=t.w_size;e=t.hash_size,i=e;do{a=t.head[--i],t.head[i]=a>=n?a-n:0}while(--e);e=n,i=e;do{a=t.prev[--i],t.prev[i]=a>=n?a-n:0}while(--e)};let ft=(t,e,a)=>(e<{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},ut=(t,e)=>{M(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,ct(t.strm)},wt=(t,e)=>{t.pending_buf[t.pending++]=e},mt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},bt=(t,e,a,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),a),1===t.state.wrap?t.adler=F(t.adler,e,n,a):2===t.state.wrap&&(t.adler=N(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)},gt=(t,e)=>{let a,i,n=t.max_chain_length,s=t.strstart,r=t.prev_length,o=t.nice_match;const l=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,h=t.window,d=t.w_mask,_=t.prev,f=t.strstart+258;let c=h[s+r-1],u=h[s+r];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+r]===u&&h[a+r-1]===c&&h[a]===h[s]&&h[++a]===h[s+1]){s+=2,a++;do{}while(h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&sr){if(t.match_start=e,r=i,i>=o)break;c=h[s+r-1],u=h[s+r]}}}while((e=_[e&d])>l&&0!=--n);return r<=t.lookahead?r:t.lookahead},pt=t=>{const e=t.w_size;let a,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-262)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),_t(t),i+=e),0===t.strm.avail_in)break;if(a=bt(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=a,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=ft(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=ft(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<262&&0!==t.strm.avail_in)},kt=(t,e)=>{let a,i,n,s=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,r=0,o=t.strm.avail_in;do{if(a=65535,n=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),a>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,ct(t.strm),i&&(i>a&&(i=a),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,a-=i),a&&(bt(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a)}while(0===r);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_watern&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(bt(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,s=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=s||(i||e===X)&&e!==P&&0===t.strm.avail_in&&i<=n)&&(a=i>n?n:i,r=e===X&&0===t.strm.avail_in&&a===i?1:0,H(t,t.block_start,a,r),t.block_start+=a,ct(t.strm)),r?3:1)},vt=(t,e)=>{let a,i;for(;;){if(t.lookahead<262){if(pt(t),t.lookahead<262&&e===P)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-262&&(t.match_length=gt(t,a)),t.match_length>=3)if(i=j(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=ft(t,t.ins_h,t.window[t.strstart+1]);else i=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2},yt=(t,e)=>{let a,i,n;for(;;){if(t.lookahead<262){if(pt(t),t.lookahead<262&&e===P)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=j(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(ut(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=j(t,0,t.window[t.strstart-1]),i&&ut(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=j(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2};function xt(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}const zt=[new xt(0,0,0,0,kt),new xt(4,4,8,4,vt),new xt(4,5,16,8,vt),new xt(4,6,32,32,vt),new xt(4,4,16,16,yt),new xt(8,16,32,32,yt),new xt(8,16,128,128,yt),new xt(8,32,128,256,yt),new xt(32,128,258,1024,yt),new xt(32,258,258,4096,yt)];function At(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ot,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),dt(this.dyn_ltree),dt(this.dyn_dtree),dt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),dt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),dt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Et=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||42!==e.status&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&113!==e.status&&666!==e.status?1:0},Rt=t=>{if(Et(t))return lt(t,Q);t.total_in=t.total_out=0,t.data_type=rt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?42:113,t.adler=2===e.wrap?0:1,e.last_flush=-2,C(e),q},Zt=t=>{const e=Rt(t);var a;return e===q&&((a=t.state).window_size=2*a.w_size,dt(a.head),a.max_lazy_match=zt[a.level].max_lazy,a.good_match=zt[a.level].good_length,a.nice_match=zt[a.level].nice_length,a.max_chain_length=zt[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},Ut=(t,e,a,i,n,s)=>{if(!t)return Q;let r=1;if(e===tt&&(e=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),n<1||n>9||a!==ot||i<8||i>15||e<0||e>9||s<0||s>nt||8===i&&1!==r)return lt(t,Q);8===i&&(i=9);const o=new At;return t.state=o,o.strm=t,o.status=42,o.wrap=r,o.gzhead=null,o.w_bits=i,o.w_size=1<Ut(t,e,ot,15,8,st),deflateInit2:Ut,deflateReset:Zt,deflateResetKeep:Rt,deflateSetHeader:(t,e)=>Et(t)||2!==t.state.wrap?Q:(t.state.gzhead=e,q),deflate:(t,e)=>{if(Et(t)||e>W||e<0)return t?lt(t,Q):Q;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||666===a.status&&e!==X)return lt(t,0===t.avail_out?$:Q);const i=a.last_flush;if(a.last_flush=e,0!==a.pending){if(ct(t),0===t.avail_out)return a.last_flush=-1,q}else if(0===t.avail_in&&ht(e)<=ht(i)&&e!==X)return lt(t,$);if(666===a.status&&0!==t.avail_in)return lt(t,$);if(42===a.status&&0===a.wrap&&(a.status=113),42===a.status){let e=ot+(a.w_bits-8<<4)<<8,i=-1;if(i=a.strategy>=at||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=i<<6,0!==a.strstart&&(e|=32),e+=31-e%31,mt(a,e),0!==a.strstart&&(mt(a,t.adler>>>16),mt(a,65535&t.adler)),t.adler=1,a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q}if(57===a.status)if(t.adler=0,wt(a,31),wt(a,139),wt(a,8),a.gzhead)wt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),wt(a,255&a.gzhead.time),wt(a,a.gzhead.time>>8&255),wt(a,a.gzhead.time>>16&255),wt(a,a.gzhead.time>>24&255),wt(a,9===a.level?2:a.strategy>=at||a.level<2?4:0),wt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(wt(a,255&a.gzhead.extra.length),wt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=N(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(wt(a,0),wt(a,0),wt(a,0),wt(a,0),wt(a,0),wt(a,9===a.level?2:a.strategy>=at||a.level<2?4:0),wt(a,3),a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q;if(69===a.status){if(a.gzhead.extra){let e=a.pending,i=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+i>a.pending_buf_size;){let n=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+n),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>e&&(t.adler=N(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=n,ct(t),0!==a.pending)return a.last_flush=-1,q;e=0,i-=n}let n=new Uint8Array(a.gzhead.extra);a.pending_buf.set(n.subarray(a.gzindex,a.gzindex+i),a.pending),a.pending+=i,a.gzhead.hcrc&&a.pending>e&&(t.adler=N(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex=0}a.status=73}if(73===a.status){if(a.gzhead.name){let e,i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),ct(t),0!==a.pending)return a.last_flush=-1,q;i=0}e=a.gzindexi&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),a.gzindex=0}a.status=91}if(91===a.status){if(a.gzhead.comment){let e,i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),ct(t),0!==a.pending)return a.last_flush=-1,q;i=0}e=a.gzindexi&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i))}a.status=103}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(ct(t),0!==a.pending))return a.last_flush=-1,q;wt(a,255&t.adler),wt(a,t.adler>>8&255),t.adler=0}if(a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q}if(0!==t.avail_in||0!==a.lookahead||e!==P&&666!==a.status){let i=0===a.level?kt(a,e):a.strategy===at?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(pt(t),0===t.lookahead)){if(e===P)return 1;break}if(t.match_length=0,a=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===it?((t,e)=>{let a,i,n,s;const r=t.window;for(;;){if(t.lookahead<=258){if(pt(t),t.lookahead<=258&&e===P)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=r[n],i===r[++n]&&i===r[++n]&&i===r[++n])){s=t.strstart+258;do{}while(i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=j(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2})(a,e):zt[a.level].func(a,e);if(3!==i&&4!==i||(a.status=666),1===i||3===i)return 0===t.avail_out&&(a.last_flush=-1),q;if(2===i&&(e===Y?K(a):e!==W&&(H(a,0,0,!1),e===G&&(dt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),ct(t),0===t.avail_out))return a.last_flush=-1,q}return e!==X?q:a.wrap<=0?J:(2===a.wrap?(wt(a,255&t.adler),wt(a,t.adler>>8&255),wt(a,t.adler>>16&255),wt(a,t.adler>>24&255),wt(a,255&t.total_in),wt(a,t.total_in>>8&255),wt(a,t.total_in>>16&255),wt(a,t.total_in>>24&255)):(mt(a,t.adler>>>16),mt(a,65535&t.adler)),ct(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?q:J)},deflateEnd:t=>{if(Et(t))return Q;const e=t.state.status;return t.state=null,113===e?lt(t,V):q},deflateSetDictionary:(t,e)=>{let a=e.length;if(Et(t))return Q;const i=t.state,n=i.wrap;if(2===n||1===n&&42!==i.status||i.lookahead)return Q;if(1===n&&(t.adler=F(t.adler,e,a,0)),i.wrap=0,a>=i.w_size){0===n&&(dt(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(a-i.w_size,a),0),e=t,a=i.w_size}const s=t.avail_in,r=t.next_in,o=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,pt(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=ft(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,pt(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=r,t.input=o,t.avail_in=s,i.wrap=n,q},deflateInfo:"pako deflate (from Nodeca project)"};const Dt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Tt=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)Dt(a,e)&&(t[e]=a[e])}}return t},Ot=t=>{let e=0;for(let a=0,i=t.length;a=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Lt[254]=Lt[254]=1;var Nt=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,i,n,s,r=t.length,o=0;for(n=0;n>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},It=(t,e)=>{const a=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const s=new Array(2*a);for(n=0,i=0;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?s[n++]=65533:e<65536?s[n++]=e:(e-=65536,s[n++]=55296|e>>10&1023,s[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Ft)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let a="";for(let i=0;i{(e=e||t.length)>t.length&&(e=t.length);let a=e-1;for(;a>=0&&128==(192&t[a]);)a--;return a<0||0===a?e:a+Lt[t[a]]>e?a:e};var Ct=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Ht=Object.prototype.toString,{Z_NO_FLUSH:Mt,Z_SYNC_FLUSH:jt,Z_FULL_FLUSH:Kt,Z_FINISH:Pt,Z_OK:Yt,Z_STREAM_END:Gt,Z_DEFAULT_COMPRESSION:Xt,Z_DEFAULT_STRATEGY:Wt,Z_DEFLATED:qt}=B;function Jt(t){this.options=Tt({level:Xt,method:qt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Wt},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ct,this.strm.avail_out=0;let a=St.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Yt)throw new Error(I[a]);if(e.header&&St.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Nt(e.dictionary):"[object ArrayBuffer]"===Ht.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=St.deflateSetDictionary(this.strm,t),a!==Yt)throw new Error(I[a]);this._dict_set=!0}}function Qt(t,e){const a=new Jt(e);if(a.push(t,!0),a.err)throw a.msg||I[a.err];return a.result}Jt.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize;let n,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Pt:Mt,"string"==typeof t?a.input=Nt(t):"[object ArrayBuffer]"===Ht.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(s===jt||s===Kt)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(n=St.deflate(a,s),n===Gt)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=St.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Yt;if(0!==a.avail_out){if(s>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},Jt.prototype.onData=function(t){this.chunks.push(t)},Jt.prototype.onEnd=function(t){t===Yt&&(this.result=Ot(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Vt={Deflate:Jt,deflate:Qt,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Qt(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Qt(t,e)},constants:B};var $t=function(t,e){let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z,A;const E=t.state;a=t.next_in,z=t.input,i=a+(t.avail_in-5),n=t.next_out,A=t.output,s=n-(e-t.avail_out),r=n+(t.avail_out-257),o=E.dmax,l=E.wsize,h=E.whave,d=E.wnext,_=E.window,f=E.hold,c=E.bits,u=E.lencode,w=E.distcode,m=(1<>>24,f>>>=p,c-=p,p=g>>>16&255,0===p)A[n++]=65535&g;else{if(!(16&p)){if(0==(64&p)){g=u[(65535&g)+(f&(1<>>=p,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<o){t.msg="invalid distance too far back",E.mode=16209;break t}if(f>>>=p,c-=p,p=n-s,v>p){if(p=v-p,p>h&&E.sane){t.msg="invalid distance too far back",E.mode=16209;break t}if(y=0,x=_,0===d){if(y+=l-p,p2;)A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]))}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]))}break}}break}}while(a>3,a-=k,c-=k<<3,f&=(1<{const l=o.bits;let h,d,_,f,c,u,w=0,m=0,b=0,g=0,p=0,k=0,v=0,y=0,x=0,z=0,A=null;const E=new Uint16Array(16),R=new Uint16Array(16);let Z,U,S,D=null;for(w=0;w<=15;w++)E[w]=0;for(m=0;m=1&&0===E[g];g--);if(p>g&&(p=g),0===g)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(b=1;b0&&(0===t||1!==g))return-1;for(R[1]=0,w=1;w<15;w++)R[w+1]=R[w]+E[w];for(m=0;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=1;if(0!==h?(z&=h-1,z+=h):z=0,m++,0==--E[w]){if(w===g)break;w=e[a+r[m]]}if(w>p&&(z&f)!==_){for(0===v&&(v=p),c+=b,k=w-v,y=1<852||2===t&&x>592)return 1;_=z&f,n[_]=p<<24|k<<16|c-s|0}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),o.bits=p,0};const{Z_FINISH:se,Z_BLOCK:re,Z_TREES:oe,Z_OK:le,Z_STREAM_END:he,Z_NEED_DICT:de,Z_STREAM_ERROR:_e,Z_DATA_ERROR:fe,Z_MEM_ERROR:ce,Z_BUF_ERROR:ue,Z_DEFLATED:we}=B,me=16209,be=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ge(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const pe=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<16180||e.mode>16211?1:0},ke=t=>{if(pe(t))return _e;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=16180,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,le},ve=t=>{if(pe(t))return _e;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,ke(t)},ye=(t,e)=>{let a;if(pe(t))return _e;const i=t.state;return e<0?(a=0,e=-e):(a=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?_e:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,ve(t))},xe=(t,e)=>{if(!t)return _e;const a=new ge;t.state=a,a.strm=t,a.window=null,a.mode=16180;const i=ye(t,e);return i!==le&&(t.state=null),i};let ze,Ae,Ee=!0;const Re=t=>{if(Ee){ze=new Int32Array(512),Ae=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(ne(1,t.lens,0,288,ze,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ne(2,t.lens,0,32,Ae,0,t.work,{bits:5}),Ee=!1}t.lencode=ze,t.lenbits=9,t.distcode=Ae,t.distbits=5},Ze=(t,e,a,i)=>{let n;const s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whavexe(t,15),inflateInit2:xe,inflate:(t,e)=>{let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z=0;const A=new Uint8Array(4);let E,R;const Z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(pe(t)||!t.output||!t.input&&0!==t.avail_in)return _e;a=t.state,16191===a.mode&&(a.mode=16192),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,_=o,f=l,x=le;t:for(;;)switch(a.mode){case 16180:if(0===a.wrap){a.mode=16192;break}for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=N(a.check,A,2,0),h=0,d=0,a.mode=16181;break}if(a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=me;break}if((15&h)!==we){t.msg="unknown compression method",a.mode=me;break}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits&&(a.wbits=y),y>15||y>a.wbits){t.msg="invalid window size",a.mode=me;break}a.dmax=1<>8&1),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0,a.mode=16182;case 16182:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=N(a.check,A,4,0)),h=0,d=0,a.mode=16183;case 16183:for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>8),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0,a.mode=16184;case 16184:if(1024&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0}else a.head&&(a.head.extra=null);a.mode=16185;case 16185:if(1024&a.flags&&(c=a.length,c>o&&(c=o),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&4&a.wrap&&(a.check=N(a.check,i,c,s)),o-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=16186;case 16186:if(2048&a.flags){if(0===o)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y))}while(y&&c>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=16191;break;case 16189:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>=7&d,d-=7&d,a.mode=16206;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=1,d-=1,3&h){case 0:a.mode=16193;break;case 1:if(Re(a),a.mode=16199,e===oe){h>>>=2,d-=2;break t}break;case 2:a.mode=16196;break;case 3:t.msg="invalid block type",a.mode=me}h>>>=2,d-=2;break;case 16193:for(h>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,h+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=me;break}if(a.length=65535&h,h=0,d=0,a.mode=16194,e===oe)break t;case 16194:a.mode=16195;case 16195:if(c=a.length,c){if(c>o&&(c=o),c>l&&(c=l),0===c)break t;n.set(i.subarray(s,s+c),r),o-=c,s+=c,l-=c,r+=c,a.length-=c;break}a.mode=16191;break;case 16196:for(;d<14;){if(0===o)break t;o--,h+=i[s++]<>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=me;break}a.have=0,a.mode=16197;case 16197:for(;a.have>>=3,d-=3}for(;a.have<19;)a.lens[Z[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=ne(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=me;break}a.have=0,a.mode=16198;case 16198:for(;a.have>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=m,d-=m,0===a.have){t.msg="invalid bit length repeat",a.mode=me;break}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2}else if(17===g){for(R=m+3;d>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=m,d-=m,y=0,c=11+(127&h),h>>>=7,d-=7}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=me;break}for(;c--;)a.lens[a.have++]=y}}if(a.mode===me)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=me;break}if(a.lenbits=9,E={bits:a.lenbits},x=ne(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=me;break}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=ne(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=me;break}if(a.mode=16199,e===oe)break t;case 16199:a.mode=16200;case 16200:if(o>=6&&l>=258){t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,$t(t,f),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,16191===a.mode&&(a.back=-1);break}for(a.back=0;z=a.lencode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,a.length=g,0===b){a.mode=16205;break}if(32&b){a.back=-1,a.mode=16191;break}if(64&b){t.msg="invalid literal/length code",a.mode=me;break}a.extra=15&b,a.mode=16201;case 16201:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,64&b){t.msg="invalid distance code",a.mode=me;break}a.offset=g,a.extra=15&b,a.mode=16203;case 16203:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=me;break}a.mode=16204;case 16204:if(0===l)break t;if(c=f-l,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=me;break}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window}else w=n,u=r-a.offset,c=a.length;c>l&&(c=l),l-=c,a.length-=c;do{n[r++]=w[u++]}while(--c);0===a.length&&(a.mode=16200);break;case 16205:if(0===l)break t;n[r++]=a.length,l--,a.mode=16200;break;case 16206:if(a.wrap){for(;d<32;){if(0===o)break t;o--,h|=i[s++]<{if(pe(t))return _e;let e=t.state;return e.window&&(e.window=null),t.state=null,le},inflateGetHeader:(t,e)=>{if(pe(t))return _e;const a=t.state;return 0==(2&a.wrap)?_e:(a.head=e,e.done=!1,le)},inflateSetDictionary:(t,e)=>{const a=e.length;let i,n,s;return pe(t)?_e:(i=t.state,0!==i.wrap&&16190!==i.mode?_e:16190===i.mode&&(n=1,n=F(n,e,a,0),n!==i.check)?fe:(s=Ze(t,e,a,a),s?(i.mode=16210,ce):(i.havedict=1,le)))},inflateInfo:"pako inflate (from Nodeca project)"};var Se=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const De=Object.prototype.toString,{Z_NO_FLUSH:Te,Z_FINISH:Oe,Z_OK:Fe,Z_STREAM_END:Le,Z_NEED_DICT:Ne,Z_STREAM_ERROR:Ie,Z_DATA_ERROR:Be,Z_MEM_ERROR:Ce}=B;function He(t){this.options=Tt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ct,this.strm.avail_out=0;let a=Ue.inflateInit2(this.strm,e.windowBits);if(a!==Fe)throw new Error(I[a]);if(this.header=new Se,Ue.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Nt(e.dictionary):"[object ArrayBuffer]"===De.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=Ue.inflateSetDictionary(this.strm,e.dictionary),a!==Fe)))throw new Error(I[a])}He.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let s,r,o;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Oe:Te,"[object ArrayBuffer]"===De.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=Ue.inflate(a,r),s===Ne&&n&&(s=Ue.inflateSetDictionary(a,n),s===Fe?s=Ue.inflate(a,r):s===Be&&(s=Ne));a.avail_in>0&&s===Le&&a.state.wrap>0&&0!==t[a.next_in];)Ue.inflateReset(a),s=Ue.inflate(a,r);switch(s){case Ie:case Be:case Ne:case Ce:return this.onEnd(s),this.ended=!0,!1}if(o=a.avail_out,a.next_out&&(0===a.avail_out||s===Le))if("string"===this.options.to){let t=Bt(a.output,a.next_out),e=a.next_out-t,n=It(a.output,t);a.next_out=e,a.avail_out=i-e,e&&a.output.set(a.output.subarray(t,t+e),0),this.onData(n)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==Fe||0!==o){if(s===Le)return s=Ue.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},He.prototype.onData=function(t){this.chunks.push(t)},He.prototype.onEnd=function(t){t===Fe&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ot(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};const{Deflate:Me,deflate:je,deflateRaw:Ke,gzip:Pe}=Vt;var Ye=Me,Ge=je,Xe=B;const We=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const e=this._hasEvents?",":"";this.deflate.push(e+t,Xe.Z_SYNC_FLUSH),this._hasEvents=!0}finish(){if(this.deflate.push("]",Xe.Z_FINISH),this.deflate.err)throw this.deflate.err;const t=this.deflate.result;return this._init(),t}_init(){this._hasEvents=!1,this.deflate=new Ye,this.deflate.push("[",Xe.Z_NO_FLUSH)}},qe={clear:()=>{We.clear()},addEvent:t=>We.addEvent(t),finish:()=>We.finish(),compress:t=>function(t){return Ge(t)}(t)};addEventListener("message",(function(t){const e=t.data.method,a=t.data.id,i=t.data.arg;if(e in qe&&"function"==typeof qe[e])try{const t=qe[e](i);postMessage({id:a,method:e,success:!0,response:t})}catch(t){postMessage({id:a,method:e,success:!1,response:t.message}),console.error(t)}})),postMessage({id:void 0,method:"init",success:!0,response:void 0});']);return URL.createObjectURL(e2)}();logInfo("[Replay] Using compression worker");const worker=new Worker(workerUrl);return new EventBufferProxy(worker)}catch{logInfo("[Replay] Failed to create compression worker")}return logInfo("[Replay] Using simple buffer"),new EventBufferArray}({useCompression:this._options.useCompression}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this.startRecording()}_handleException(error){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay]",error),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this._options._experiments&&this._options._experiments.captureExceptions&&captureException(error)}_loadAndCheckSession(){const{type,session}=getSession({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:this._options.errorSampleRate>0||"buffer"===this.recordingMode,traceInternals:this._options._experiments.traceInternals});"new"===type&&this.setInitialState();const currentSessionId=this.getSessionId();return session.id!==currentSessionId&&(session.previousSessionId=currentSessionId),this.session=session,!!this.session.sampled||(this.stop("session not refreshed"),!1)}_addListeners(){try{esm_WINDOW.document.addEventListener("visibilitychange",this._handleVisibilityChange),esm_WINDOW.addEventListener("blur",this._handleWindowBlur),esm_WINDOW.addEventListener("focus",this._handleWindowFocus),esm_WINDOW.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(function addGlobalListeners(replay){const scope=hub_getCurrentHub().getScope(),client=hub_getCurrentHub().getClient();scope&&scope.addScopeListener((replay=>scope=>{if(!replay.isEnabled())return;const result=function handleScope(scope){const newBreadcrumb=scope.getLastBreadcrumb&&scope.getLastBreadcrumb();return _LAST_BREADCRUMB===newBreadcrumb||!newBreadcrumb||(_LAST_BREADCRUMB=newBreadcrumb,!function isBreadcrumbWithCategory(breadcrumb){return!!breadcrumb.category}(newBreadcrumb)||["fetch","xhr","sentry.event","sentry.transaction"].includes(newBreadcrumb.category)||newBreadcrumb.category.startsWith("ui."))?null:"console"===newBreadcrumb.category?function normalizeConsoleBreadcrumb(breadcrumb){const args=breadcrumb.data&&breadcrumb.data.arguments;if(!Array.isArray(args)||0===args.length)return createBreadcrumb(breadcrumb);let isTruncated=!1;const normalizedArgs=args.map(arg=>{if(!arg)return arg;if("string"==typeof arg)return arg.length>5e3?(isTruncated=!0,`${arg.slice(0,5e3)}\u2026`):arg;if("object"==typeof arg)try{const normalizedArg=normalize(arg,7),stringified=JSON.stringify(normalizedArg);if(stringified.length>5e3){const fixedJson=fixJson(stringified.slice(0,5e3)),json=JSON.parse(fixedJson);return isTruncated=!0,json}return normalizedArg}catch{}return arg});return createBreadcrumb({...breadcrumb,data:{...breadcrumb.data,arguments:normalizedArgs,...isTruncated?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}(newBreadcrumb):createBreadcrumb(newBreadcrumb)}(scope);result&&addBreadcrumbEvent(replay,result)})(replay)),addInstrumentationHandler("dom",(replay=>handlerData=>{if(!replay.isEnabled())return;const result=function handleDom(handlerData){const{target,message}=function getDomTarget(handlerData){const isClick="click"===handlerData.name;let message,target=null;try{target=isClick?getClickTargetNode(handlerData.event):getTargetNode(handlerData.event),message=htmlTreeAsString(target,{maxStringLength:200})||""}catch{message=""}return{target,message}}(handlerData);return createBreadcrumb({category:`ui.${handlerData.name}`,...getBaseDomBreadcrumb(target,message)})}(handlerData);if(!result)return;const isClick="click"===handlerData.name,event=isClick&&handlerData.event;isClick&&replay.clickDetector&&event&&!event.altKey&&!event.metaKey&&!event.ctrlKey&&!event.shiftKey&&function handleClick(clickDetector,clickBreadcrumb,node2){clickDetector.handleClick(clickBreadcrumb,node2)}(replay.clickDetector,result,getClickTargetNode(handlerData.event)),addBreadcrumbEvent(replay,result)})(replay)),addInstrumentationHandler("history",function handleHistorySpanListener(replay){return handlerData=>{if(!replay.isEnabled())return;const result=function handleHistory(handlerData){const{from:from2,to}=handlerData,now=Date.now()/1e3;return{type:"navigation.push",start:now,end:now,name:to,data:{previous:from2}}}(handlerData);null!==result&&(replay.getContext().urls.push(result.name),replay.triggerUserActivity(),replay.addUpdate(()=>(createPerformanceSpans(replay,[result]),!1)))}}(replay)),handleNetworkBreadcrumbs(replay),addGlobalEventProcessor(function handleGlobalEventListener(replay,includeAfterSendEventHandling=!1){const afterSendHandler=includeAfterSendEventHandling?handleAfterSendEvent(replay):void 0;return(event,hint)=>replay.isEnabled()?function isReplayEvent(event){return"replay_event"===event.type}(event)?(delete event.breadcrumbs,event):esm_isErrorEvent(event)||esm_isTransactionEvent(event)?function isRrwebError(event,hint){return!(event.type||!event.exception||!event.exception.values||!event.exception.values.length)&&(!(!hint.originalException||!hint.originalException.__rrweb__)||event.exception.values.some(exception=>!!(exception.stacktrace&&exception.stacktrace.frames&&exception.stacktrace.frames.length)&&exception.stacktrace.frames.some(frame=>frame.filename&&frame.filename.includes("/rrweb/src/"))))}(event,hint)&&!replay.getOptions()._experiments.captureExceptions?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Replay] Ignoring error from rrweb internals",event),null):((function shouldSampleForBufferEvent(replay,event){return!("buffer"!==replay.recordingMode||event.message===UNABLE_TO_SEND_REPLAY||!event.exception||event.type)&&isSampled(replay.getOptions().errorSampleRate)}(replay,event)||"session"===replay.recordingMode)&&(event.tags={...event.tags,replayId:replay.getSessionId()}),afterSendHandler&&afterSendHandler(event,{statusCode:200}),event):event:event}(replay,!hasHooks(client))),hasHooks(client)&&(client.on("afterSendEvent",handleAfterSendEvent(replay)),client.on("createDsc",dsc=>{const replayId=replay.getSessionId();replayId&&replay.isEnabled()&&"session"===replay.recordingMode&&(dsc.replay_id=replayId)}),client.on("startTransaction",transaction=>{replay.lastTransaction=transaction}),client.on("finishTransaction",transaction=>{replay.lastTransaction=transaction}))}(this),this._hasInitializedCoreListeners=!0)}catch(err){this._handleException(err)}"PerformanceObserver"in esm_WINDOW&&(this._performanceObserver=function setupPerformanceObserver(replay){const performanceObserver=new PerformanceObserver(list2=>{const newPerformanceEntries=function dedupePerformanceEntries(currentList,newList){const[existingNavigationEntries,existingLcpEntries,existingEntries]=currentList.reduce((acc,entry)=>("navigation"===entry.entryType?acc[0].push(entry):"largest-contentful-paint"===entry.entryType?acc[1].push(entry):acc[2].push(entry),acc),[[],[],[]]),newEntries=[],newNavigationEntries=[];let newLcpEntry=existingLcpEntries.length?existingLcpEntries[existingLcpEntries.length-1]:void 0;return newList.forEach(entry=>{if("largest-contentful-paint"!==entry.entryType)if("navigation"!==entry.entryType)newEntries.push(entry);else{const navigationEntry=entry;entry.duration>0&&!existingNavigationEntries.find(isNavigationEntryEqual(navigationEntry))&&!newNavigationEntries.find(isNavigationEntryEqual(navigationEntry))&&newNavigationEntries.push(navigationEntry)}else(!newLcpEntry||newLcpEntry.startTimea.startTime-b.startTime)}(replay.performanceEvents,list2.getEntries());replay.performanceEvents=newPerformanceEntries});return["element","event","first-input","largest-contentful-paint","layout-shift","longtask","navigation","paint","resource"].forEach(type=>{try{performanceObserver.observe({type,buffered:!0})}catch{}}),performanceObserver}(this))}_removeListeners(){try{esm_WINDOW.document.removeEventListener("visibilitychange",this._handleVisibilityChange),esm_WINDOW.removeEventListener("blur",this._handleWindowBlur),esm_WINDOW.removeEventListener("focus",this._handleWindowFocus),esm_WINDOW.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceObserver&&(this._performanceObserver.disconnect(),this._performanceObserver=void 0)}catch(err){this._handleException(err)}}__init(){this._handleVisibilityChange=()=>{"visible"===esm_WINDOW.document.visibilityState?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()}}__init2(){this._handleWindowBlur=()=>{const breadcrumb=createBreadcrumb({category:"ui.blur"});this._doChangeToBackgroundTasks(breadcrumb)}}__init3(){this._handleWindowFocus=()=>{const breadcrumb=createBreadcrumb({category:"ui.focus"});this._doChangeToForegroundTasks(breadcrumb)}}__init4(){this._handleKeyboardEvent=event=>{!function handleKeyboardEvent(replay,event){if(!replay.isEnabled())return;replay.updateUserActivity();const breadcrumb=function getKeyboardBreadcrumb(event){const{metaKey,shiftKey,ctrlKey,altKey,key,target}=event;if(!target||function isInputElement(target){return"INPUT"===target.tagName||"TEXTAREA"===target.tagName||target.isContentEditable}(target)||!key)return null;if(!(metaKey||ctrlKey||altKey)&&1===key.length)return null;const message=htmlTreeAsString(target,{maxStringLength:200})||"";return createBreadcrumb({category:"ui.keyDown",message,data:{...getBaseDomBreadcrumb(target,message).data,metaKey,shiftKey,ctrlKey,altKey,key}})}(event);breadcrumb&&addBreadcrumbEvent(replay,breadcrumb)}(this,event)}}_doChangeToBackgroundTasks(breadcrumb){if(!this.session)return;const expired=isSessionExpired(this.session,this.timeouts);breadcrumb&&!expired&&this._createCustomBreadcrumb(breadcrumb),this.conditionalFlush()}_doChangeToForegroundTasks(breadcrumb){this.session&&(this.checkAndHandleExpiredSession()?breadcrumb&&this._createCustomBreadcrumb(breadcrumb):logInfo("[Replay] Document has become active, but session has expired"))}_triggerFullSnapshot(checkout=!0){try{logInfo("[Replay] Taking full rrweb snapshot"),record.takeFullSnapshot(checkout)}catch(err){this._handleException(err)}}_updateUserActivity(_lastActivity=Date.now()){this._lastActivity=_lastActivity}_updateSessionActivity(_lastActivity=Date.now()){this.session&&(this.session.lastActivity=_lastActivity,this._maybeSaveSession())}_createCustomBreadcrumb(breadcrumb){this.addUpdate(()=>{this.throttledAddEvent({type:EventType.Custom,timestamp:breadcrumb.timestamp||0,data:{tag:"breadcrumb",payload:breadcrumb}})})}_addPerformanceEntries(){const entries=[...this.performanceEvents];return this.performanceEvents=[],Promise.all(createPerformanceSpans(this,function createPerformanceEntries(entries){return entries.map(createPerformanceEntry).filter(Boolean)}(entries)))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session,eventBuffer}=this;if(!session||!eventBuffer||session.segmentId)return;const earliestEvent=eventBuffer.getEarliestTimestamp();earliestEvent&&earliestEvent"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] No session or eventBuffer found to flush.")})()}__init5(){var _this9=this;this._flush=asyncToGenerator_asyncToGenerator(function*({force=!1}={}){if(!_this9._isEnabled&&!force)return;if(!_this9.checkAndHandleExpiredSession())return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] Attempting to finish replay event after session expired."));if(!_this9.session)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error("[Replay] No session found to flush."));const start2=_this9.session.started,duration=Date.now()-start2;_this9._debouncedFlush.cancel();const tooShort=duration<_this9._options.minReplayDuration;if(tooShort||duration>_this9.timeouts.maxSessionLife+5e3)return logInfo(`[Replay] Session duration (${Math.floor(duration/1e3)}s) is too ${tooShort?"short":"long"}, not sending replay.`,_this9._options._experiments.traceInternals),void(tooShort&&_this9._debouncedFlush());const eventBuffer=_this9.eventBuffer;if(eventBuffer&&0===_this9.session.segmentId&&!eventBuffer.hasCheckout&&logInfo("[Replay] Flushing initial segment without checkout.",_this9._options._experiments.traceInternals),!_this9._flushLock)return _this9._flushLock=_this9._runFlush(),yield _this9._flushLock,void(_this9._flushLock=void 0);try{yield _this9._flushLock}catch(err){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(err)}finally{_this9._debouncedFlush()}})}_maybeSaveSession(){this.session&&this._options.stickySession&&saveSession(this.session)}__init6(){this._onMutationHandler=mutations=>{const count=mutations.length,mutationLimit=this._options.mutationLimit,overMutationLimit=mutationLimit&&count>mutationLimit;if(count>this._options.mutationBreadcrumbLimit||overMutationLimit){const breadcrumb=createBreadcrumb({category:"replay.mutations",data:{count,limit:overMutationLimit}});this._createCustomBreadcrumb(breadcrumb)}return!overMutationLimit||(this.stop("mutationLimit"),!1)}}}function getOption(selectors,defaultSelectors,deprecatedClassOption,deprecatedSelectorOption){const allSelectors=[...selectors,..."string"==typeof deprecatedSelectorOption?deprecatedSelectorOption.split(","):[],...defaultSelectors];return typeof deprecatedClassOption<"u"&&("string"==typeof deprecatedClassOption&&allSelectors.push(`.${deprecatedClassOption}`),console.warn("[Replay] You are using a deprecated configuration item for privacy. Read the documentation on how to use the new privacy configuration.")),allSelectors.join(",")}function getPrivacyOptions({mask,unmask,block,unblock,ignore,blockClass,blockSelector,maskTextClass,maskTextSelector,ignoreClass}){const maskSelector=getOption(mask,[".sentry-mask","[data-sentry-mask]"],maskTextClass,maskTextSelector),unmaskSelector=getOption(unmask,[".sentry-unmask","[data-sentry-unmask]"]),options={maskTextSelector:maskSelector,unmaskTextSelector:unmaskSelector,maskInputSelector:maskSelector,unmaskInputSelector:unmaskSelector,blockSelector:getOption(block,[".sentry-block","[data-sentry-block]",'base[href="/"]'],blockClass,blockSelector),unblockSelector:getOption(unblock,[".sentry-unblock","[data-sentry-unblock]"]),ignoreSelector:getOption(ignore,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'],ignoreClass)};return blockClass instanceof RegExp&&(options.blockClass=blockClass),maskTextClass instanceof RegExp&&(options.maskTextClass=maskTextClass),options}function isBrowser(){return typeof window<"u"&&(!(0,esm_node.KV)()||function isElectronNodeRenderer(){return typeof process<"u"&&"renderer"===process.type}())}const MEDIA_SELECTORS='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',DEFAULT_NETWORK_HEADERS=["content-length","content-type","accept"];let _initialized=!1;class Replay{static __initStatic(){this.id="Replay"}constructor({flushMinDelay=5e3,flushMaxDelay=5500,minReplayDuration=4999,stickySession=!0,useCompression=!0,_experiments={},sessionSampleRate,errorSampleRate,maskAllText=!0,maskAllInputs=!0,blockAllMedia=!0,mutationBreadcrumbLimit=750,mutationLimit=1e4,slowClickTimeout=7e3,slowClickIgnoreSelectors=[],networkDetailAllowUrls=[],networkDetailDenyUrls=[],networkCaptureBodies=!0,networkRequestHeaders=[],networkResponseHeaders=[],mask=[],unmask=[],block=[],unblock=[],ignore=[],maskFn,beforeAddRecordingEvent,blockClass,blockSelector,maskInputOptions,maskTextClass,maskTextSelector,ignoreClass}={}){if(this.name=Replay.id,this._recordingOptions={maskAllInputs,maskAllText,maskInputOptions:{...maskInputOptions||{},password:!0},maskTextFn:maskFn,maskInputFn:maskFn,...getPrivacyOptions({mask,unmask,block,unblock,ignore,blockClass,blockSelector,maskTextClass,maskTextSelector,ignoreClass}),slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0},this._initialOptions={flushMinDelay,flushMaxDelay,minReplayDuration:Math.min(minReplayDuration,15e3),stickySession,sessionSampleRate,errorSampleRate,useCompression,blockAllMedia,maskAllInputs,maskAllText,mutationBreadcrumbLimit,mutationLimit,slowClickTimeout,slowClickIgnoreSelectors,networkDetailAllowUrls,networkDetailDenyUrls,networkCaptureBodies,networkRequestHeaders:_getMergedNetworkHeaders(networkRequestHeaders),networkResponseHeaders:_getMergedNetworkHeaders(networkResponseHeaders),beforeAddRecordingEvent,_experiments},"number"==typeof sessionSampleRate&&(console.warn(`[Replay] You are passing \`sessionSampleRate\` to the Replay integration.\nThis option is deprecated and will be removed soon.\nInstead, configure \`replaysSessionSampleRate\` directly in the SDK init options, e.g.:\nSentry.init({ replaysSessionSampleRate: ${sessionSampleRate} })`),this._initialOptions.sessionSampleRate=sessionSampleRate),"number"==typeof errorSampleRate&&(console.warn(`[Replay] You are passing \`errorSampleRate\` to the Replay integration.\nThis option is deprecated and will be removed soon.\nInstead, configure \`replaysOnErrorSampleRate\` directly in the SDK init options, e.g.:\nSentry.init({ replaysOnErrorSampleRate: ${errorSampleRate} })`),this._initialOptions.errorSampleRate=errorSampleRate),this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${MEDIA_SELECTORS}`:MEDIA_SELECTORS),this._isInitialized&&isBrowser())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return _initialized}set _isInitialized(value){_initialized=value}setupOnce(){isBrowser()&&(this._setup(),setTimeout(()=>this._initialize()))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop():Promise.resolve()}flush(options){return this._replay&&this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(options):Promise.resolve()}getReplayId(){if(this._replay&&this._replay.isEnabled())return this._replay.getSessionId()}_initialize(){this._replay&&this._replay.initializeSampling()}_setup(){const finalOptions=function loadReplayOptionsFromClient(initialOptions){const client=hub_getCurrentHub().getClient(),opt=client&&client.getOptions(),finalOptions={sessionSampleRate:0,errorSampleRate:0,...dropUndefinedKeys(initialOptions)};return opt?(null==initialOptions.sessionSampleRate&&null==initialOptions.errorSampleRate&&null==opt.replaysSessionSampleRate&&null==opt.replaysOnErrorSampleRate&&console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set."),"number"==typeof opt.replaysSessionSampleRate&&(finalOptions.sessionSampleRate=opt.replaysSessionSampleRate),"number"==typeof opt.replaysOnErrorSampleRate&&(finalOptions.errorSampleRate=opt.replaysOnErrorSampleRate),finalOptions):(console.warn("SDK client is not available."),finalOptions)}(this._initialOptions);this._replay=new ReplayContainer({options:finalOptions,recordingOptions:this._recordingOptions})}}function _getMergedNetworkHeaders(headers){return[...DEFAULT_NETWORK_HEADERS,...headers.map(header=>header.toLowerCase())]}Replay.__initStatic();const BAGGAGE_HEADER_NAME="baggage",SENTRY_BAGGAGE_KEY_PREFIX="sentry-",SENTRY_BAGGAGE_KEY_PREFIX_REGEX=/^sentry-/,MAX_BAGGAGE_STRING_LENGTH=8192;function dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext){if(dynamicSamplingContext)return function objectToBaggageHeader(object){if(0!==Object.keys(object).length)return Object.entries(object).reduce((baggageHeader,[objectKey,objectValue],currentIndex)=>{const baggageEntry=`${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`,newBaggageHeader=0===currentIndex?baggageEntry:`${baggageHeader},${baggageEntry}`;return newBaggageHeader.length>MAX_BAGGAGE_STRING_LENGTH?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`),baggageHeader):newBaggageHeader},"")}(Object.entries(dynamicSamplingContext).reduce((acc,[dscKey,dscValue])=>(dscValue&&(acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`]=dscValue),acc),{}))}function baggageHeaderToObject(baggageHeader){return baggageHeader.split(",").map(baggageEntry=>baggageEntry.split("=").map(keyOrValue=>decodeURIComponent(keyOrValue.trim()))).reduce((acc,[key,value])=>(acc[key]=value,acc),{})}const TRACEPARENT_REGEXP=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function generateSentryTraceHeader(traceId=misc_uuid4(),spanId=misc_uuid4().substring(16),sampled){let sampledString="";return void 0!==sampled&&(sampledString=sampled?"-1":"-0"),`${traceId}-${spanId}${sampledString}`}class SpanRecorder{constructor(maxlen=1e3){this._maxlen=maxlen,this.spans=[]}add(span){this.spans.length>this._maxlen?span.spanRecorder=void 0:this.spans.push(span)}}class Span{constructor(spanContext){if(this.traceId=misc_uuid4(),this.spanId=misc_uuid4().substring(16),this.startTimestamp=(0,esm_time.ph)(),this.tags={},this.data={},this.instrumenter="sentry",!spanContext)return this;spanContext.traceId&&(this.traceId=spanContext.traceId),spanContext.spanId&&(this.spanId=spanContext.spanId),spanContext.parentSpanId&&(this.parentSpanId=spanContext.parentSpanId),"sampled"in spanContext&&(this.sampled=spanContext.sampled),spanContext.op&&(this.op=spanContext.op),spanContext.description&&(this.description=spanContext.description),spanContext.data&&(this.data=spanContext.data),spanContext.tags&&(this.tags=spanContext.tags),spanContext.status&&(this.status=spanContext.status),spanContext.startTimestamp&&(this.startTimestamp=spanContext.startTimestamp),spanContext.endTimestamp&&(this.endTimestamp=spanContext.endTimestamp),spanContext.instrumenter&&(this.instrumenter=spanContext.instrumenter)}startChild(spanContext){const childSpan=new Span({...spanContext,parentSpanId:this.spanId,sampled:this.sampled,traceId:this.traceId});if(childSpan.spanRecorder=this.spanRecorder,childSpan.spanRecorder&&childSpan.spanRecorder.add(childSpan),childSpan.transaction=this.transaction,(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&childSpan.transaction){const logMessage=`[Tracing] Starting '${spanContext&&spanContext.op||"< unknown op >"}' span on transaction '${childSpan.transaction.name||"< unknown name >"}' (${childSpan.transaction.spanId}).`;childSpan.transaction.metadata.spanMetadata[childSpan.spanId]={logMessage},logger_logger.log(logMessage)}return childSpan}setTag(key,value){return this.tags={...this.tags,[key]:value},this}setData(key,value){return this.data={...this.data,[key]:value},this}setStatus(value){return this.status=value,this}setHttpStatus(httpStatus){this.setTag("http.status_code",String(httpStatus)),this.setData("http.response.status_code",httpStatus);const spanStatus=function spanStatusfromHttpCode(httpStatus){if(httpStatus<400&&httpStatus>=100)return"ok";if(httpStatus>=400&&httpStatus<500)switch(httpStatus){case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 409:return"already_exists";case 413:return"failed_precondition";case 429:return"resource_exhausted";default:return"invalid_argument"}if(httpStatus>=500&&httpStatus<600)switch(httpStatus){case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline_exceeded";default:return"internal_error"}return"unknown_error"}(httpStatus);return"unknown_error"!==spanStatus&&this.setStatus(spanStatus),this}isSuccess(){return"ok"===this.status}finish(endTimestamp){if((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this.transaction&&this.transaction.spanId!==this.spanId){const{logMessage}=this.transaction.metadata.spanMetadata[this.spanId];logMessage&&logger_logger.log(logMessage.replace("Starting","Finishing"))}this.endTimestamp="number"==typeof endTimestamp?endTimestamp:(0,esm_time.ph)()}toTraceparent(){return generateSentryTraceHeader(this.traceId,this.spanId,this.sampled)}toContext(){return dropUndefinedKeys({data:this.data,description:this.description,endTimestamp:this.endTimestamp,op:this.op,parentSpanId:this.parentSpanId,sampled:this.sampled,spanId:this.spanId,startTimestamp:this.startTimestamp,status:this.status,tags:this.tags,traceId:this.traceId})}updateWithContext(spanContext){return this.data=spanContext.data||{},this.description=spanContext.description,this.endTimestamp=spanContext.endTimestamp,this.op=spanContext.op,this.parentSpanId=spanContext.parentSpanId,this.sampled=spanContext.sampled,this.spanId=spanContext.spanId||this.spanId,this.startTimestamp=spanContext.startTimestamp||this.startTimestamp,this.status=spanContext.status,this.tags=spanContext.tags||{},this.traceId=spanContext.traceId||this.traceId,this}getTraceContext(){return dropUndefinedKeys({data:Object.keys(this.data).length>0?this.data:void 0,description:this.description,op:this.op,parent_span_id:this.parentSpanId,span_id:this.spanId,status:this.status,tags:Object.keys(this.tags).length>0?this.tags:void 0,trace_id:this.traceId})}toJSON(){return dropUndefinedKeys({data:Object.keys(this.data).length>0?this.data:void 0,description:this.description,op:this.op,parent_span_id:this.parentSpanId,span_id:this.spanId,start_timestamp:this.startTimestamp,status:this.status,tags:Object.keys(this.tags).length>0?this.tags:void 0,timestamp:this.endTimestamp,trace_id:this.traceId})}}class Transaction extends Span{constructor(transactionContext,hub){super(transactionContext),this._measurements={},this._contexts={},this._hub=hub||hub_getCurrentHub(),this._name=transactionContext.name||"",this.metadata={source:"custom",...transactionContext.metadata,spanMetadata:{}},this._trimEnd=transactionContext.trimEnd,this.transaction=this;const incomingDynamicSamplingContext=this.metadata.dynamicSamplingContext;incomingDynamicSamplingContext&&(this._frozenDynamicSamplingContext={...incomingDynamicSamplingContext})}get name(){return this._name}set name(newName){this.setName(newName)}setName(name,source="custom"){this._name=name,this.metadata.source=source}initSpanRecorder(maxlen=1e3){this.spanRecorder||(this.spanRecorder=new SpanRecorder(maxlen)),this.spanRecorder.add(this)}setContext(key,context2){null===context2?delete this._contexts[key]:this._contexts[key]=context2}setMeasurement(name,value,unit=""){this._measurements[name]={value,unit}}setMetadata(newMetadata){this.metadata={...this.metadata,...newMetadata}}finish(endTimestamp){if(void 0!==this.endTimestamp)return;this.name||((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Transaction has no name, falling back to ``."),this.name=""),super.finish(endTimestamp);const client=this._hub.getClient();if(client&&client.emit&&client.emit("finishTransaction",this),!0!==this.sampled)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."),void(client&&client.recordDroppedEvent("sample_rate","transaction"));const finishedSpans=this.spanRecorder?this.spanRecorder.spans.filter(s=>s!==this&&s.endTimestamp):[];this._trimEnd&&finishedSpans.length>0&&(this.endTimestamp=finishedSpans.reduce((prev,current)=>prev.endTimestamp&¤t.endTimestamp?prev.endTimestamp>current.endTimestamp?prev:current:prev).endTimestamp);const metadata=this.metadata,transaction={contexts:{...this._contexts,trace:this.getTraceContext()},spans:finishedSpans,start_timestamp:this.startTimestamp,tags:this.tags,timestamp:this.endTimestamp,transaction:this.name,type:"transaction",sdkProcessingMetadata:{...metadata,dynamicSamplingContext:this.getDynamicSamplingContext()},...metadata.source&&{transaction_info:{source:metadata.source}}};return Object.keys(this._measurements).length>0&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding measurements to transaction",JSON.stringify(this._measurements,void 0,2)),transaction.measurements=this._measurements),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Finishing ${this.op} transaction: ${this.name}.`),this._hub.captureEvent(transaction)}toContext(){return dropUndefinedKeys({...super.toContext(),name:this.name,trimEnd:this._trimEnd})}updateWithContext(transactionContext){return super.updateWithContext(transactionContext),this.name=transactionContext.name||"",this._trimEnd=transactionContext.trimEnd,this}getDynamicSamplingContext(){if(this._frozenDynamicSamplingContext)return this._frozenDynamicSamplingContext;const hub=this._hub||hub_getCurrentHub(),client=hub.getClient();if(!client)return{};const scope=hub.getScope(),dsc=getDynamicSamplingContextFromClient(this.traceId,client,scope),maybeSampleRate=this.metadata.sampleRate;void 0!==maybeSampleRate&&(dsc.sample_rate=`${maybeSampleRate}`);const source=this.metadata.source;return source&&"url"!==source&&(dsc.transaction=this.name),void 0!==this.sampled&&(dsc.sampled=String(this.sampled)),dsc}setHub(hub){this._hub=hub}}const TRACING_DEFAULTS={idleTimeout:1e3,finalTimeout:3e4,heartbeatInterval:5e3},IDLE_TRANSACTION_FINISH_REASONS=["heartbeatFailed","idleTimeout","documentHidden","finalTimeout","externalFinish","cancelled"];class IdleTransactionSpanRecorder extends SpanRecorder{constructor(_pushActivity,_popActivity,transactionSpanId,maxlen){super(maxlen),this._pushActivity=_pushActivity,this._popActivity=_popActivity,this.transactionSpanId=transactionSpanId}add(span){span.spanId!==this.transactionSpanId&&(span.finish=endTimestamp=>{span.endTimestamp="number"==typeof endTimestamp?endTimestamp:(0,esm_time.ph)(),this._popActivity(span.spanId)},void 0===span.endTimestamp&&this._pushActivity(span.spanId)),super.add(span)}}class IdleTransaction extends Transaction{constructor(transactionContext,_idleHub,_idleTimeout=TRACING_DEFAULTS.idleTimeout,_finalTimeout=TRACING_DEFAULTS.finalTimeout,_heartbeatInterval=TRACING_DEFAULTS.heartbeatInterval,_onScope=!1){super(transactionContext,_idleHub),this._idleHub=_idleHub,this._idleTimeout=_idleTimeout,this._finalTimeout=_finalTimeout,this._heartbeatInterval=_heartbeatInterval,this._onScope=_onScope,this.activities={},this._heartbeatCounter=0,this._finished=!1,this._idleTimeoutCanceledPermanently=!1,this._beforeFinishCallbacks=[],this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[4],_onScope&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`Setting idle transaction on scope. Span ID: ${this.spanId}`),_idleHub.configureScope(scope=>scope.setSpan(this))),this._restartIdleTimeout(),setTimeout(()=>{this._finished||(this.setStatus("deadline_exceeded"),this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[3],this.finish())},this._finalTimeout)}finish(endTimestamp=(0,esm_time.ph)()){if(this._finished=!0,this.activities={},"ui.action.click"===this.op&&this.setTag("finishReason",this._finishReason),this.spanRecorder){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] finishing IdleTransaction",new Date(1e3*endTimestamp).toISOString(),this.op);for(const callback of this._beforeFinishCallbacks)callback(this,endTimestamp);this.spanRecorder.spans=this.spanRecorder.spans.filter(span=>{if(span.spanId===this.spanId)return!0;span.endTimestamp||(span.endTimestamp=endTimestamp,span.setStatus("cancelled"),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] cancelling span since transaction ended early",JSON.stringify(span,void 0,2)));const spanStartedBeforeTransactionFinish=span.startTimestamp"u"||__SENTRY_DEBUG__){const stringifiedSpan=JSON.stringify(span,void 0,2);spanStartedBeforeTransactionFinish?spanEndedBeforeFinalTimeout||logger_logger.log("[Tracing] discarding Span since it finished after Transaction final timeout",stringifiedSpan):logger_logger.log("[Tracing] discarding Span since it happened after Transaction was finished",stringifiedSpan)}return spanStartedBeforeTransactionFinish&&spanEndedBeforeFinalTimeout}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] flushing IdleTransaction")}else(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] No active IdleTransaction");if(this._onScope){const scope=this._idleHub.getScope();scope.getTransaction()===this&&scope.setSpan(void 0)}return super.finish(endTimestamp)}registerBeforeFinishCallback(callback){this._beforeFinishCallbacks.push(callback)}initSpanRecorder(maxlen){this.spanRecorder||(this.spanRecorder=new IdleTransactionSpanRecorder(id=>{this._finished||this._pushActivity(id)},id=>{this._finished||this._popActivity(id)},this.spanId,maxlen),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("Starting heartbeat"),this._pingHeartbeat()),this.spanRecorder.add(this)}cancelIdleTimeout(endTimestamp,{restartOnChildSpanChange}={restartOnChildSpanChange:!0}){this._idleTimeoutCanceledPermanently=!1===restartOnChildSpanChange,this._idleTimeoutID&&(clearTimeout(this._idleTimeoutID),this._idleTimeoutID=void 0,0===Object.keys(this.activities).length&&this._idleTimeoutCanceledPermanently&&(this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[5],this.finish(endTimestamp)))}setFinishReason(reason){this._finishReason=reason}_restartIdleTimeout(endTimestamp){this.cancelIdleTimeout(),this._idleTimeoutID=setTimeout(()=>{!this._finished&&0===Object.keys(this.activities).length&&(this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[1],this.finish(endTimestamp))},this._idleTimeout)}_pushActivity(spanId){this.cancelIdleTimeout(void 0,{restartOnChildSpanChange:!this._idleTimeoutCanceledPermanently}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] pushActivity: ${spanId}`),this.activities[spanId]=!0,(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] new activities count",Object.keys(this.activities).length)}_popActivity(spanId){if(this.activities[spanId]&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] popActivity ${spanId}`),delete this.activities[spanId],(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] new activities count",Object.keys(this.activities).length)),0===Object.keys(this.activities).length){const endTimestamp=(0,esm_time.ph)();this._idleTimeoutCanceledPermanently?(this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[5],this.finish(endTimestamp)):this._restartIdleTimeout(endTimestamp+this._idleTimeout/1e3)}}_beat(){if(this._finished)return;const heartbeatString=Object.keys(this.activities).join("");heartbeatString===this._prevHeartbeatString?this._heartbeatCounter++:this._heartbeatCounter=1,this._prevHeartbeatString=heartbeatString,this._heartbeatCounter>=3?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] Transaction finished because of no change for 3 heart beats"),this.setStatus("deadline_exceeded"),this._finishReason=IDLE_TRANSACTION_FINISH_REASONS[0],this.finish()):this._pingHeartbeat()}_pingHeartbeat(){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`),setTimeout(()=>{this._beat()},this._heartbeatInterval)}}function hasTracingEnabled(maybeOptions){if("boolean"==typeof __SENTRY_TRACING__&&!__SENTRY_TRACING__)return!1;const client=hub_getCurrentHub().getClient(),options=maybeOptions||client&&client.getOptions();return!!options&&(options.enableTracing||"tracesSampleRate"in options||"tracesSampler"in options)}function utils_getActiveTransaction(maybeHub){return(maybeHub||hub_getCurrentHub()).getScope().getTransaction()}let errorsInstrumented=!1;function errorCallback(){const activeTransaction=utils_getActiveTransaction();if(activeTransaction){const status="internal_error";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Transaction: ${status} -> Global error occured`),activeTransaction.setStatus(status)}}function traceHeaders(){const span=this.getScope().getSpan();return span?{"sentry-trace":span.toTraceparent()}:{}}function sample(transaction,options,samplingContext){if(!hasTracingEnabled(options))return transaction.sampled=!1,transaction;if(void 0!==transaction.sampled)return transaction.setMetadata({sampleRate:Number(transaction.sampled)}),transaction;let sampleRate;return"function"==typeof options.tracesSampler?(sampleRate=options.tracesSampler(samplingContext),transaction.setMetadata({sampleRate:Number(sampleRate)})):void 0!==samplingContext.parentSampled?sampleRate=samplingContext.parentSampled:typeof options.tracesSampleRate<"u"?(sampleRate=options.tracesSampleRate,transaction.setMetadata({sampleRate:Number(sampleRate)})):(sampleRate=1,transaction.setMetadata({sampleRate})),function isValidSampleRate(rate){return is_isNaN(rate)||"number"!=typeof rate&&"boolean"!=typeof rate?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(rate)} of type ${JSON.stringify(typeof rate)}.`),!1):!(rate<0||rate>1)||((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${rate}.`),!1)}(sampleRate)?sampleRate?(transaction.sampled=Math.random()"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] starting ${transaction.op} transaction - ${transaction.name}`),transaction):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(sampleRate)})`),transaction)):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] Discarding transaction because "+("function"==typeof options.tracesSampler?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0")),transaction.sampled=!1,transaction):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("[Tracing] Discarding transaction because of invalid sample rate."),transaction.sampled=!1,transaction)}function _startTransaction(transactionContext,customSamplingContext){const client=this.getClient(),options=client&&client.getOptions()||{},configInstrumenter=options.instrumenter||"sentry",transactionInstrumenter=transactionContext.instrumenter||"sentry";configInstrumenter!==transactionInstrumenter&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.error(`A transaction was started with instrumenter=\`${transactionInstrumenter}\`, but the SDK is configured with the \`${configInstrumenter}\` instrumenter.\nThe transaction will not be sampled. Please use the ${configInstrumenter} instrumentation to start transactions.`),transactionContext.sampled=!1);let transaction=new Transaction(transactionContext,this);return transaction=sample(transaction,options,{parentSampled:transactionContext.parentSampled,transactionContext,...customSamplingContext}),transaction.sampled&&transaction.initSpanRecorder(options._experiments&&options._experiments.maxSpans),client&&client.emit&&client.emit("startTransaction",transaction),transaction}function startIdleTransaction(hub,transactionContext,idleTimeout,finalTimeout,onScope,customSamplingContext,heartbeatInterval){const client=hub.getClient(),options=client&&client.getOptions()||{};let transaction=new IdleTransaction(transactionContext,hub,idleTimeout,finalTimeout,heartbeatInterval,onScope);return transaction=sample(transaction,options,{parentSampled:transactionContext.parentSampled,transactionContext,...customSamplingContext}),transaction.sampled&&transaction.initSpanRecorder(options._experiments&&options._experiments.maxSpans),client&&client.emit&&client.emit("startTransaction",transaction),transaction}errorCallback.tag="sentry_tracingErrorCallback";const types_WINDOW=worldwide.n2,bindReporter=(callback,metric,reportAllChanges)=>{let prevValue,delta;return forceReport=>{metric.value>=0&&(forceReport||reportAllChanges)&&(delta=metric.value-(prevValue||0),(delta||void 0===prevValue)&&(prevValue=metric.value,metric.delta=delta,callback(metric)))}},getNavigationEntry=()=>types_WINDOW.__WEB_VITALS_POLYFILL__?types_WINDOW.performance&&(performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]||(()=>{const timing=types_WINDOW.performance.timing,type=types_WINDOW.performance.navigation.type,navigationEntry={entryType:"navigation",startTime:0,type:2==type?"back_forward":1===type?"reload":"navigate"};for(const key in timing)"navigationStart"!==key&&"toJSON"!==key&&(navigationEntry[key]=Math.max(timing[key]-timing.navigationStart,0));return navigationEntry})()):types_WINDOW.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0],getActivationStart=()=>{const navEntry=getNavigationEntry();return navEntry&&navEntry.activationStart||0},initMetric=(name,value)=>{const navEntry=getNavigationEntry();let navigationType="navigate";return navEntry&&(navigationType=types_WINDOW.document.prerendering||getActivationStart()>0?"prerender":navEntry.type.replace(/_/g,"-")),{name,value:typeof value>"u"?-1:value,rating:"good",delta:0,entries:[],id:`v3-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType}},observe=(type,callback,opts)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(type)){const po=new PerformanceObserver(list2=>{callback(list2.getEntries())});return po.observe(Object.assign({type,buffered:!0},opts||{})),po}}catch{}},onHidden=(cb,once)=>{const onHiddenOrPageHide=event=>{("pagehide"===event.type||"hidden"===types_WINDOW.document.visibilityState)&&(cb(event),once&&(removeEventListener("visibilitychange",onHiddenOrPageHide,!0),removeEventListener("pagehide",onHiddenOrPageHide,!0)))};addEventListener("visibilitychange",onHiddenOrPageHide,!0),addEventListener("pagehide",onHiddenOrPageHide,!0)};let firstHiddenTime=-1;const getVisibilityWatcher=()=>(firstHiddenTime<0&&(firstHiddenTime="hidden"!==types_WINDOW.document.visibilityState||types_WINDOW.document.prerendering?1/0:0,onHidden(({timeStamp})=>{firstHiddenTime=timeStamp},!0)),{get firstHiddenTime(){return firstHiddenTime}}),reportedMetricIDs={};function isMeasurementValue(value){return"number"==typeof value&&isFinite(value)}function _startChild(transaction,{startTimestamp,...ctx}){return startTimestamp&&transaction.startTimestamp>startTimestamp&&(transaction.startTimestamp=startTimestamp),transaction.startChild({startTimestamp,...ctx})}function msToSec(time){return time/1e3}function getBrowserPerformanceAPI(){return types_WINDOW&&types_WINDOW.addEventListener&&types_WINDOW.performance}let _lcpEntry,_clsEntry,_performanceCursor=0,_measurements={};function startTrackingWebVitals(){const performance2=getBrowserPerformanceAPI();if(performance2&&esm_time.Z1){performance2.mark&&types_WINDOW.performance.mark("sentry-tracing-init"),function _trackFID(){(onReport=>{const visibilityWatcher=getVisibilityWatcher(),metric=initMetric("FID");let report;const handleEntry=entry=>{entry.startTime{entries.forEach(handleEntry)},po=observe("first-input",handleEntries);report=bindReporter(onReport,metric),po&&onHidden(()=>{handleEntries(po.takeRecords()),po.disconnect()},!0)})(metric=>{const entry=metric.entries.pop();if(!entry)return;const timeOrigin=msToSec(esm_time.Z1),startTime=msToSec(entry.startTime);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding FID"),_measurements.fid={value:metric.value,unit:"millisecond"},_measurements["mark.fid"]={value:timeOrigin+startTime,unit:"second"}})}();const clsCallback=function _trackCLS(){return(onReport=>{const metric=initMetric("CLS",0);let report,sessionValue=0,sessionEntries=[];const handleEntries=entries=>{entries.forEach(entry=>{entry.hadRecentInput||(sessionValue&&0!==sessionEntries.length&&entry.startTime-sessionEntries[sessionEntries.length-1].startTime<1e3&&entry.startTime-sessionEntries[0].startTime<5e3?(sessionValue+=entry.value,sessionEntries.push(entry)):(sessionValue=entry.value,sessionEntries=[entry]),sessionValue>metric.value&&(metric.value=sessionValue,metric.entries=sessionEntries,report&&report()))})},po=observe("layout-shift",handleEntries);if(po){report=bindReporter(onReport,metric);const stopListening=()=>{handleEntries(po.takeRecords()),report(!0)};return onHidden(stopListening),stopListening}})(metric=>{const entry=metric.entries.pop();entry&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding CLS"),_measurements.cls={value:metric.value,unit:""},_clsEntry=entry)})}(),lcpCallback=function _trackLCP(){return(onReport=>{const visibilityWatcher=getVisibilityWatcher(),metric=initMetric("LCP");let report;const handleEntries=entries=>{const lastEntry=entries[entries.length-1];if(lastEntry){const value=Math.max(lastEntry.startTime-getActivationStart(),0);value{reportedMetricIDs[metric.id]||(handleEntries(po.takeRecords()),po.disconnect(),reportedMetricIDs[metric.id]=!0,report(!0))};return["keydown","click"].forEach(type=>{addEventListener(type,stopListening,{once:!0,capture:!0})}),onHidden(stopListening,!0),stopListening}})(metric=>{const entry=metric.entries.pop();entry&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding LCP"),_measurements.lcp={value:metric.value,unit:"millisecond"},_lcpEntry=entry)})}();return()=>{clsCallback&&clsCallback(),lcpCallback&&lcpCallback()}}return()=>{}}function _addPerformanceNavigationTiming(transaction,entry,event,timeOrigin,description,eventEnd){const end=eventEnd?entry[eventEnd]:entry[`${event}End`],start2=entry[`${event}Start`];!start2||!end||_startChild(transaction,{op:"browser",description:description||event,startTimestamp:timeOrigin+msToSec(start2),endTimestamp:timeOrigin+msToSec(end)})}const DEFAULT_TRACE_PROPAGATION_TARGETS=["localhost",/^\/(?!\/)/],defaultRequestInstrumentationOptions={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,tracingOrigins:DEFAULT_TRACE_PROPAGATION_TARGETS,tracePropagationTargets:DEFAULT_TRACE_PROPAGATION_TARGETS};function addHTTPTimings(span){const url=span.data.url,observer=new PerformanceObserver(list2=>{list2.getEntries().forEach(entry=>{("fetch"===entry.initiatorType||"xmlhttprequest"===entry.initiatorType)&&entry.name.endsWith(url)&&(function resourceTimingEntryToSpanData(resourceTiming){const{name,version:version2}=function extractNetworkProtocol(nextHopProtocol){let name="unknown",version2="unknown",_name="";for(const char of nextHopProtocol){if("/"===char){[name,version2]=nextHopProtocol.split("/");break}if(!isNaN(Number(char))){name="h"===_name?"http":_name,version2=nextHopProtocol.split(_name)[1];break}_name+=char}return _name===nextHopProtocol&&(name=_name),{name,version:version2}}(resourceTiming.nextHopProtocol),timingSpanData=[];return timingSpanData.push(["network.protocol.version",version2],["network.protocol.name",name]),esm_time.Z1?[...timingSpanData,["http.request.redirect_start",request_getAbsoluteTime(resourceTiming.redirectStart)],["http.request.fetch_start",request_getAbsoluteTime(resourceTiming.fetchStart)],["http.request.domain_lookup_start",request_getAbsoluteTime(resourceTiming.domainLookupStart)],["http.request.domain_lookup_end",request_getAbsoluteTime(resourceTiming.domainLookupEnd)],["http.request.connect_start",request_getAbsoluteTime(resourceTiming.connectStart)],["http.request.secure_connection_start",request_getAbsoluteTime(resourceTiming.secureConnectionStart)],["http.request.connection_end",request_getAbsoluteTime(resourceTiming.connectEnd)],["http.request.request_start",request_getAbsoluteTime(resourceTiming.requestStart)],["http.request.response_start",request_getAbsoluteTime(resourceTiming.responseStart)],["http.request.response_end",request_getAbsoluteTime(resourceTiming.responseEnd)]]:timingSpanData}(entry).forEach(data=>span.setData(...data)),observer.disconnect())})});observer.observe({entryTypes:["resource"]})}function request_getAbsoluteTime(time){return((esm_time.Z1||performance.timeOrigin)+time)/1e3}function setHeaderOnXhr(xhr,sentryTraceHeader,sentryBaggageHeader){try{xhr.setRequestHeader("sentry-trace",sentryTraceHeader),sentryBaggageHeader&&xhr.setRequestHeader(BAGGAGE_HEADER_NAME,sentryBaggageHeader)}catch{}}const DEFAULT_BROWSER_TRACING_OPTIONS={...TRACING_DEFAULTS,markBackgroundTransactions:!0,routingInstrumentation:function instrumentRoutingWithDefaults(customStartTransaction,startTransactionOnPageLoad=!0,startTransactionOnLocationChange=!0){if(!types_WINDOW||!types_WINDOW.location)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Could not initialize routing instrumentation due to invalid location"));let activeTransaction,startingUrl=types_WINDOW.location.href;startTransactionOnPageLoad&&(activeTransaction=customStartTransaction({name:types_WINDOW.location.pathname,startTimestamp:esm_time.Z1?esm_time.Z1/1e3:void 0,op:"pageload",metadata:{source:"url"}})),startTransactionOnLocationChange&&addInstrumentationHandler("history",({to,from:from2})=>{void 0===from2&&startingUrl&&-1!==startingUrl.indexOf(to)?startingUrl=void 0:from2!==to&&(startingUrl=void 0,activeTransaction&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Finishing current transaction with op: ${activeTransaction.op}`),activeTransaction.finish()),activeTransaction=customStartTransaction({name:types_WINDOW.location.pathname,op:"navigation",metadata:{source:"url"}}))})},startTransactionOnLocationChange:!0,startTransactionOnPageLoad:!0,enableLongTask:!0,_experiments:{},...defaultRequestInstrumentationOptions};function getMetaContent(metaName){const metaTag=function getDomElement(selector){return browser_WINDOW.document&&browser_WINDOW.document.querySelector?browser_WINDOW.document.querySelector(selector):null}(`meta[name=${metaName}]`);return metaTag?metaTag.getAttribute("content"):void 0}const stringToByteArray$1=function(str){const out=[];let p=0;for(let i6=0;i6>6|192,out[p++]=63&c|128):55296==(64512&c)&&i6+1>18|240,out[p++]=c>>12&63|128,out[p++]=c>>6&63|128,out[p++]=63&c|128):(out[p++]=c>>12|224,out[p++]=c>>6&63|128,out[p++]=63&c|128)}return out},base64={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(input,webSafe){if(!Array.isArray(input))throw Error("encodeByteArray takes an array as a parameter");this.init_();const byteToCharMap=webSafe?this.byteToCharMapWebSafe_:this.byteToCharMap_,output=[];for(let i6=0;i6>6,outByte4=63&byte3;haveByte3||(outByte4=64,haveByte2||(outByte3=64)),output.push(byteToCharMap[byte1>>2],byteToCharMap[(3&byte1)<<4|byte2>>4],byteToCharMap[outByte3],byteToCharMap[outByte4])}return output.join("")},encodeString(input,webSafe){return this.HAS_NATIVE_SUPPORT&&!webSafe?btoa(input):this.encodeByteArray(stringToByteArray$1(input),webSafe)},decodeString(input,webSafe){return this.HAS_NATIVE_SUPPORT&&!webSafe?atob(input):function(bytes){const out=[];let pos=0,c=0;for(;pos191&&c1<224){const c2=bytes[pos++];out[c++]=String.fromCharCode((31&c1)<<6|63&c2)}else if(c1>239&&c1<365){const u2=((7&c1)<<18|(63&bytes[pos++])<<12|(63&bytes[pos++])<<6|63&bytes[pos++])-65536;out[c++]=String.fromCharCode(55296+(u2>>10)),out[c++]=String.fromCharCode(56320+(1023&u2))}else{const c2=bytes[pos++],c3=bytes[pos++];out[c++]=String.fromCharCode((15&c1)<<12|(63&c2)<<6|63&c3)}}return out.join("")}(this.decodeStringToByteArray(input,webSafe))},decodeStringToByteArray(input,webSafe){this.init_();const charToByteMap=webSafe?this.charToByteMapWebSafe_:this.charToByteMap_,output=[];for(let i6=0;i6>4),64!==byte3&&(output.push(byte2<<4&240|byte3>>2),64!==byte4&&output.push(byte3<<6&192|byte4))}return output},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let i6=0;i6=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i6)]=i6,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i6)]=i6)}}};class DecodeBase64StringError extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const base64urlEncodeWithoutPadding=function(str){return function(str){const utf8Bytes=stringToByteArray$1(str);return base64.encodeByteArray(utf8Bytes,!0)}(str).replace(/\./g,"")},base64Decode=function(str){try{return base64.decodeString(str,!0)}catch(e2){console.error("base64Decode failed: ",e2)}return null},getDefaults=()=>{try{return function index_esm2017_getGlobal(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}().__FIREBASE_DEFAULTS__||(()=>{if(typeof process>"u"||typeof process.env>"u")return;const defaultsJsonString=process.env.__FIREBASE_DEFAULTS__;return defaultsJsonString?JSON.parse(defaultsJsonString):void 0})()||(()=>{if(typeof document>"u")return;let match2;try{match2=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const decoded=match2&&base64Decode(match2[1]);return decoded&&JSON.parse(decoded)})()}catch(e2){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e2}`)}},getDefaultAppConfig=()=>{var _a;return null===(_a=getDefaults())||void 0===_a?void 0:_a.config};class index_esm2017_Deferred{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((resolve,reject)=>{this.resolve=resolve,this.reject=reject})}wrapCallback(callback){return(error,value)=>{error?this.reject(error):this.resolve(value),"function"==typeof callback&&(this.promise.catch(()=>{}),1===callback.length?callback(error):callback(error,value))}}}function index_esm2017_getUA(){return typeof navigator<"u"&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function isBrowserExtension(){const runtime2="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof runtime2&&void 0!==runtime2.id}function index_esm2017_isIndexedDBAvailable(){try{return"object"==typeof indexedDB}catch{return!1}}function validateIndexedDBOpenable(){return new Promise((resolve,reject)=>{try{let preExist=!0;const DB_CHECK_NAME="validate-browser-context-for-indexeddb-analytics-module",request=self.indexedDB.open(DB_CHECK_NAME);request.onsuccess=()=>{request.result.close(),preExist||self.indexedDB.deleteDatabase(DB_CHECK_NAME),resolve(!0)},request.onupgradeneeded=()=>{preExist=!1},request.onerror=()=>{var _a;reject((null===(_a=request.error)||void 0===_a?void 0:_a.message)||"")}}catch(error){reject(error)}})}function areCookiesEnabled(){return!(typeof navigator>"u"||!navigator.cookieEnabled)}class index_esm2017_FirebaseError extends Error{constructor(code,message,customData){super(message),this.code=code,this.customData=customData,this.name="FirebaseError",Object.setPrototypeOf(this,index_esm2017_FirebaseError.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,ErrorFactory.prototype.create)}}class ErrorFactory{constructor(service,serviceName,errors){this.service=service,this.serviceName=serviceName,this.errors=errors}create(code,...data){const customData=data[0]||{},fullCode=`${this.service}/${code}`,template=this.errors[code],message=template?function replaceTemplate(template,data){return template.replace(PATTERN,(_,key)=>{const value=data[key];return null!=value?String(value):`<${key}?>`})}(template,customData):"Error";return new index_esm2017_FirebaseError(fullCode,`${this.serviceName}: ${message} (${fullCode}).`,customData)}}const PATTERN=/\{\$([^}]+)}/g;function index_esm2017_deepEqual(a,b){if(a===b)return!0;const aKeys=Object.keys(a),bKeys=Object.keys(b);for(const k of aKeys){if(!bKeys.includes(k))return!1;const aProp=a[k],bProp=b[k];if(isObject(aProp)&&isObject(bProp)){if(!index_esm2017_deepEqual(aProp,bProp))return!1}else if(aProp!==bProp)return!1}for(const k of bKeys)if(!aKeys.includes(k))return!1;return!0}function isObject(thing){return null!==thing&&"object"==typeof thing}function index_esm2017_querystring(querystringParams){const params=[];for(const[key,value]of Object.entries(querystringParams))Array.isArray(value)?value.forEach(arrayVal=>{params.push(encodeURIComponent(key)+"="+encodeURIComponent(arrayVal))}):params.push(encodeURIComponent(key)+"="+encodeURIComponent(value));return params.length?"&"+params.join("&"):""}class ObserverProxy{constructor(executor,onNoObservers){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=onNoObservers,this.task.then(()=>{executor(this)}).catch(e2=>{this.error(e2)})}next(value){this.forEachObserver(observer=>{observer.next(value)})}error(error){this.forEachObserver(observer=>{observer.error(error)}),this.close(error)}complete(){this.forEachObserver(observer=>{observer.complete()}),this.close()}subscribe(nextOrObserver,error,complete){let observer;if(void 0===nextOrObserver&&void 0===error&&void 0===complete)throw new Error("Missing Observer.");observer=function implementsAnyMethods(obj,methods){if("object"!=typeof obj||null===obj)return!1;for(const method of methods)if(method in obj&&"function"==typeof obj[method])return!0;return!1}(nextOrObserver,["next","error","complete"])?nextOrObserver:{next:nextOrObserver,error,complete},void 0===observer.next&&(observer.next=index_esm2017_noop),void 0===observer.error&&(observer.error=index_esm2017_noop),void 0===observer.complete&&(observer.complete=index_esm2017_noop);const unsub=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?observer.error(this.finalError):observer.complete()}catch{}}),this.observers.push(observer),unsub}unsubscribeOne(i6){void 0===this.observers||void 0===this.observers[i6]||(delete this.observers[i6],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(fn){if(!this.finalized)for(let i6=0;i6{if(void 0!==this.observers&&void 0!==this.observers[i6])try{fn(this.observers[i6])}catch(e2){typeof console<"u"&&console.error&&console.error(e2)}})}close(err){this.finalized||(this.finalized=!0,void 0!==err&&(this.finalError=err),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function index_esm2017_noop(){}const DEFAULT_INTERVAL_MILLIS=1e3,DEFAULT_BACKOFF_FACTOR=2,MAX_VALUE_MILLIS=144e5,RANDOM_FACTOR=.5;function index_esm2017_calculateBackoffMillis(backoffCount,intervalMillis=DEFAULT_INTERVAL_MILLIS,backoffFactor=DEFAULT_BACKOFF_FACTOR){const currBaseValue=intervalMillis*Math.pow(backoffFactor,backoffCount),randomWait=Math.round(RANDOM_FACTOR*currBaseValue*(Math.random()-.5)*2);return Math.min(MAX_VALUE_MILLIS,currBaseValue+randomWait)}function index_esm2017_getModularInstance(service){return service&&service._delegate?service._delegate:service}class index_esm2017_Component{constructor(name,instanceFactory,type){this.name=name,this.instanceFactory=instanceFactory,this.type=type,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(mode){return this.instantiationMode=mode,this}setMultipleInstances(multipleInstances){return this.multipleInstances=multipleInstances,this}setServiceProps(props){return this.serviceProps=props,this}setInstanceCreatedCallback(callback){return this.onInstanceCreated=callback,this}}class Provider{constructor(name,container){this.name=name,this.container=container,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(identifier){const normalizedIdentifier=this.normalizeInstanceIdentifier(identifier);if(!this.instancesDeferred.has(normalizedIdentifier)){const deferred=new index_esm2017_Deferred;if(this.instancesDeferred.set(normalizedIdentifier,deferred),this.isInitialized(normalizedIdentifier)||this.shouldAutoInitialize())try{const instance=this.getOrInitializeService({instanceIdentifier:normalizedIdentifier});instance&&deferred.resolve(instance)}catch{}}return this.instancesDeferred.get(normalizedIdentifier).promise}getImmediate(options){var _a;const normalizedIdentifier=this.normalizeInstanceIdentifier(options?.identifier),optional=null!==(_a=options?.optional)&&void 0!==_a&&_a;if(!this.isInitialized(normalizedIdentifier)&&!this.shouldAutoInitialize()){if(optional)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:normalizedIdentifier})}catch(e2){if(optional)return null;throw e2}}getComponent(){return this.component}setComponent(component){if(component.name!==this.name)throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=component,this.shouldAutoInitialize()){if(function isComponentEager(component){return"EAGER"===component.instantiationMode}(component))try{this.getOrInitializeService({instanceIdentifier:"[DEFAULT]"})}catch{}for(const[instanceIdentifier,instanceDeferred]of this.instancesDeferred.entries()){const normalizedIdentifier=this.normalizeInstanceIdentifier(instanceIdentifier);try{const instance=this.getOrInitializeService({instanceIdentifier:normalizedIdentifier});instanceDeferred.resolve(instance)}catch{}}}}clearInstance(identifier="[DEFAULT]"){this.instancesDeferred.delete(identifier),this.instancesOptions.delete(identifier),this.instances.delete(identifier)}delete(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){const services=Array.from(_this.instances.values());yield Promise.all([...services.filter(service=>"INTERNAL"in service).map(service=>service.INTERNAL.delete()),...services.filter(service=>"_delete"in service).map(service=>service._delete())])})()}isComponentSet(){return null!=this.component}isInitialized(identifier="[DEFAULT]"){return this.instances.has(identifier)}getOptions(identifier="[DEFAULT]"){return this.instancesOptions.get(identifier)||{}}initialize(opts={}){const{options={}}=opts,normalizedIdentifier=this.normalizeInstanceIdentifier(opts.instanceIdentifier);if(this.isInitialized(normalizedIdentifier))throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const instance=this.getOrInitializeService({instanceIdentifier:normalizedIdentifier,options});for(const[instanceIdentifier,instanceDeferred]of this.instancesDeferred.entries())normalizedIdentifier===this.normalizeInstanceIdentifier(instanceIdentifier)&&instanceDeferred.resolve(instance);return instance}onInit(callback,identifier){var _a;const normalizedIdentifier=this.normalizeInstanceIdentifier(identifier),existingCallbacks=null!==(_a=this.onInitCallbacks.get(normalizedIdentifier))&&void 0!==_a?_a:new Set;existingCallbacks.add(callback),this.onInitCallbacks.set(normalizedIdentifier,existingCallbacks);const existingInstance=this.instances.get(normalizedIdentifier);return existingInstance&&callback(existingInstance,normalizedIdentifier),()=>{existingCallbacks.delete(callback)}}invokeOnInitCallbacks(instance,identifier){const callbacks=this.onInitCallbacks.get(identifier);if(callbacks)for(const callback of callbacks)try{callback(instance,identifier)}catch{}}getOrInitializeService({instanceIdentifier,options={}}){let instance=this.instances.get(instanceIdentifier);if(!instance&&this.component&&(instance=this.component.instanceFactory(this.container,{instanceIdentifier:(identifier=instanceIdentifier,"[DEFAULT]"===identifier?void 0:identifier),options}),this.instances.set(instanceIdentifier,instance),this.instancesOptions.set(instanceIdentifier,options),this.invokeOnInitCallbacks(instance,instanceIdentifier),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,instanceIdentifier,instance)}catch{}var identifier;return instance||null}normalizeInstanceIdentifier(identifier="[DEFAULT]"){return this.component?this.component.multipleInstances?identifier:"[DEFAULT]":identifier}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class ComponentContainer{constructor(name){this.name=name,this.providers=new Map}addComponent(component){const provider=this.getProvider(component.name);if(provider.isComponentSet())throw new Error(`Component ${component.name} has already been registered with ${this.name}`);provider.setComponent(component)}addOrOverwriteComponent(component){this.getProvider(component.name).isComponentSet()&&this.providers.delete(component.name),this.addComponent(component)}getProvider(name){if(this.providers.has(name))return this.providers.get(name);const provider=new Provider(name,this);return this.providers.set(name,provider),provider}getProviders(){return Array.from(this.providers.values())}}const instances=[];var index_esm2017_LogLevel=function(LogLevel2){return LogLevel2[LogLevel2.DEBUG=0]="DEBUG",LogLevel2[LogLevel2.VERBOSE=1]="VERBOSE",LogLevel2[LogLevel2.INFO=2]="INFO",LogLevel2[LogLevel2.WARN=3]="WARN",LogLevel2[LogLevel2.ERROR=4]="ERROR",LogLevel2[LogLevel2.SILENT=5]="SILENT",LogLevel2}(index_esm2017_LogLevel||{});const levelStringToEnum={debug:index_esm2017_LogLevel.DEBUG,verbose:index_esm2017_LogLevel.VERBOSE,info:index_esm2017_LogLevel.INFO,warn:index_esm2017_LogLevel.WARN,error:index_esm2017_LogLevel.ERROR,silent:index_esm2017_LogLevel.SILENT},defaultLogLevel=index_esm2017_LogLevel.INFO,ConsoleMethod={[index_esm2017_LogLevel.DEBUG]:"log",[index_esm2017_LogLevel.VERBOSE]:"log",[index_esm2017_LogLevel.INFO]:"info",[index_esm2017_LogLevel.WARN]:"warn",[index_esm2017_LogLevel.ERROR]:"error"},defaultLogHandler=(instance,logType,...args)=>{if(logTypeconstructors.some(c=>object instanceof c);let idbProxyableTypes,cursorAdvanceMethods;const cursorRequestMap=new WeakMap,transactionDoneMap=new WeakMap,transactionStoreNamesMap=new WeakMap,transformCache=new WeakMap,reverseTransformCache=new WeakMap;let idbProxyTraps={get(target,prop2,receiver){if(target instanceof IDBTransaction){if("done"===prop2)return transactionDoneMap.get(target);if("objectStoreNames"===prop2)return target.objectStoreNames||transactionStoreNamesMap.get(target);if("store"===prop2)return receiver.objectStoreNames[1]?void 0:receiver.objectStore(receiver.objectStoreNames[0])}return wrap_idb_value_wrap(target[prop2])},set:(target,prop2,value)=>(target[prop2]=value,!0),has:(target,prop2)=>target instanceof IDBTransaction&&("done"===prop2||"store"===prop2)||prop2 in target};function transformCachableValue(value){return"function"==typeof value?function wrapFunction(func){return func!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?function getCursorAdvanceMethods(){return cursorAdvanceMethods||(cursorAdvanceMethods=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}().includes(func)?function(...args){return func.apply(unwrap(this),args),wrap_idb_value_wrap(cursorRequestMap.get(this))}:function(...args){return wrap_idb_value_wrap(func.apply(unwrap(this),args))}:function(storeNames,...args){const tx=func.call(unwrap(this),storeNames,...args);return transactionStoreNamesMap.set(tx,storeNames.sort?storeNames.sort():[storeNames]),wrap_idb_value_wrap(tx)}}(value):(value instanceof IDBTransaction&&function cacheDonePromiseForTransaction(tx){if(transactionDoneMap.has(tx))return;const done=new Promise((resolve,reject)=>{const unlisten=()=>{tx.removeEventListener("complete",complete),tx.removeEventListener("error",error),tx.removeEventListener("abort",error)},complete=()=>{resolve(),unlisten()},error=()=>{reject(tx.error||new DOMException("AbortError","AbortError")),unlisten()};tx.addEventListener("complete",complete),tx.addEventListener("error",error),tx.addEventListener("abort",error)});transactionDoneMap.set(tx,done)}(value),instanceOfAny(value,function getIdbProxyableTypes(){return idbProxyableTypes||(idbProxyableTypes=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}())?new Proxy(value,idbProxyTraps):value)}function wrap_idb_value_wrap(value){if(value instanceof IDBRequest)return function promisifyRequest(request){const promise=new Promise((resolve,reject)=>{const unlisten=()=>{request.removeEventListener("success",success),request.removeEventListener("error",error)},success=()=>{resolve(wrap_idb_value_wrap(request.result)),unlisten()},error=()=>{reject(request.error),unlisten()};request.addEventListener("success",success),request.addEventListener("error",error)});return promise.then(value=>{value instanceof IDBCursor&&cursorRequestMap.set(value,request)}).catch(()=>{}),reverseTransformCache.set(promise,request),promise}(value);if(transformCache.has(value))return transformCache.get(value);const newValue=transformCachableValue(value);return newValue!==value&&(transformCache.set(value,newValue),reverseTransformCache.set(newValue,value)),newValue}const unwrap=value=>reverseTransformCache.get(value),readMethods=["get","getKey","getAll","getAllKeys","count"],writeMethods=["put","add","delete","clear"],cachedMethods=new Map;function getMethod(target,prop2){if(!(target instanceof IDBDatabase)||prop2 in target||"string"!=typeof prop2)return;if(cachedMethods.get(prop2))return cachedMethods.get(prop2);const targetFuncName=prop2.replace(/FromIndex$/,""),useIndex=prop2!==targetFuncName,isWrite=writeMethods.includes(targetFuncName);if(!(targetFuncName in(useIndex?IDBIndex:IDBObjectStore).prototype)||!isWrite&&!readMethods.includes(targetFuncName))return;const method=function(){var _ref=asyncToGenerator_asyncToGenerator(function*(storeName,...args){const tx=this.transaction(storeName,isWrite?"readwrite":"readonly");let target2=tx.store;return useIndex&&(target2=target2.index(args.shift())),(yield Promise.all([target2[targetFuncName](...args),isWrite&&tx.done]))[0]});return function(_x){return _ref.apply(this,arguments)}}();return cachedMethods.set(prop2,method),method}!function replaceTraps(callback){idbProxyTraps=callback(idbProxyTraps)}(oldTraps=>({...oldTraps,get:(target,prop2,receiver)=>getMethod(target,prop2)||oldTraps.get(target,prop2,receiver),has:(target,prop2)=>!!getMethod(target,prop2)||oldTraps.has(target,prop2)}));class PlatformLoggerServiceImpl{constructor(container){this.container=container}getPlatformInfoString(){return this.container.getProviders().map(provider=>{if(function isVersionServiceProvider(provider){const component=provider.getComponent();return"VERSION"===component?.type}(provider)){const service=provider.getImmediate();return`${service.library}/${service.version}`}return null}).filter(logString=>logString).join(" ")}}const name$o="@firebase/app",index_esm2017_logger=new Logger("@firebase/app"),index_esm2017_DEFAULT_ENTRY_NAME="[DEFAULT]",PLATFORM_LOG_STRING={[name$o]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","fire-js":"fire-js",firebase:"fire-js-all"},_apps=new Map,_components=new Map;function _addComponent(app,component){try{app.container.addComponent(component)}catch(e2){index_esm2017_logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`,e2)}}function _registerComponent(component){const componentName=component.name;if(_components.has(componentName))return index_esm2017_logger.debug(`There were multiple attempts to register component ${componentName}.`),!1;_components.set(componentName,component);for(const app of _apps.values())_addComponent(app,component);return!0}function index_esm2017_getProvider(app,name){const heartbeatController=app.container.getProvider("heartbeat").getImmediate({optional:!0});return heartbeatController&&heartbeatController.triggerHeartbeat(),app.container.getProvider(name)}const ERROR_FACTORY=new ErrorFactory("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}."});class FirebaseAppImpl{constructor(options,config2,container){this._isDeleted=!1,this._options=Object.assign({},options),this._config=Object.assign({},config2),this._name=config2.name,this._automaticDataCollectionEnabled=config2.automaticDataCollectionEnabled,this._container=container,this.container.addComponent(new index_esm2017_Component("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(val){this.checkDestroyed(),this._automaticDataCollectionEnabled=val}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(val){this._isDeleted=val}checkDestroyed(){if(this.isDeleted)throw ERROR_FACTORY.create("app-deleted",{appName:this._name})}}const index_esm2017_SDK_VERSION="9.23.0";function initializeApp(_options,rawConfig={}){let options=_options;"object"!=typeof rawConfig&&(rawConfig={name:rawConfig});const config2=Object.assign({name:index_esm2017_DEFAULT_ENTRY_NAME,automaticDataCollectionEnabled:!1},rawConfig),name=config2.name;if("string"!=typeof name||!name)throw ERROR_FACTORY.create("bad-app-name",{appName:String(name)});if(options||(options=getDefaultAppConfig()),!options)throw ERROR_FACTORY.create("no-options");const existingApp=_apps.get(name);if(existingApp){if(index_esm2017_deepEqual(options,existingApp.options)&&index_esm2017_deepEqual(config2,existingApp.config))return existingApp;throw ERROR_FACTORY.create("duplicate-app",{appName:name})}const container=new ComponentContainer(name);for(const component of _components.values())container.addComponent(component);const newApp=new FirebaseAppImpl(options,config2,container);return _apps.set(name,newApp),newApp}function index_esm2017_getApp(name=index_esm2017_DEFAULT_ENTRY_NAME){const app=_apps.get(name);if(!app&&name===index_esm2017_DEFAULT_ENTRY_NAME&&getDefaultAppConfig())return initializeApp();if(!app)throw ERROR_FACTORY.create("no-app",{appName:name});return app}function getApps(){return Array.from(_apps.values())}function index_esm2017_registerVersion(libraryKeyOrName,version2,variant){var _a;let library=null!==(_a=PLATFORM_LOG_STRING[libraryKeyOrName])&&void 0!==_a?_a:libraryKeyOrName;variant&&(library+=`-${variant}`);const libraryMismatch=library.match(/\s|\//),versionMismatch=version2.match(/\s|\//);if(libraryMismatch||versionMismatch){const warning=[`Unable to register library "${library}" with version "${version2}":`];return libraryMismatch&&warning.push(`library name "${library}" contains illegal characters (whitespace or "/")`),libraryMismatch&&versionMismatch&&warning.push("and"),versionMismatch&&warning.push(`version name "${version2}" contains illegal characters (whitespace or "/")`),void index_esm2017_logger.warn(warning.join(" "))}_registerComponent(new index_esm2017_Component(`${library}-version`,()=>({library,version:version2}),"VERSION"))}const DB_NAME="firebase-heartbeat-database",DB_VERSION=1,STORE_NAME="firebase-heartbeat-store";let dbPromise=null;function getDbPromise(){return dbPromise||(dbPromise=function openDB(name,version2,{blocked,upgrade,blocking,terminated}={}){const request=indexedDB.open(name,version2),openPromise=wrap_idb_value_wrap(request);return upgrade&&request.addEventListener("upgradeneeded",event=>{upgrade(wrap_idb_value_wrap(request.result),event.oldVersion,event.newVersion,wrap_idb_value_wrap(request.transaction),event)}),blocked&&request.addEventListener("blocked",event=>blocked(event.oldVersion,event.newVersion,event)),openPromise.then(db=>{terminated&&db.addEventListener("close",()=>terminated()),blocking&&db.addEventListener("versionchange",event=>blocking(event.oldVersion,event.newVersion,event))}).catch(()=>{}),openPromise}(DB_NAME,DB_VERSION,{upgrade:(db,oldVersion)=>{0===oldVersion&&db.createObjectStore(STORE_NAME)}}).catch(e2=>{throw ERROR_FACTORY.create("idb-open",{originalErrorMessage:e2.message})})),dbPromise}function _readHeartbeatsFromIndexedDB(){return(_readHeartbeatsFromIndexedDB=asyncToGenerator_asyncToGenerator(function*(app){try{return yield(yield getDbPromise()).transaction(STORE_NAME).objectStore(STORE_NAME).get(computeKey(app))}catch(e2){if(e2 instanceof index_esm2017_FirebaseError)index_esm2017_logger.warn(e2.message);else{const idbGetError=ERROR_FACTORY.create("idb-get",{originalErrorMessage:e2?.message});index_esm2017_logger.warn(idbGetError.message)}}})).apply(this,arguments)}function writeHeartbeatsToIndexedDB(_x3,_x4){return _writeHeartbeatsToIndexedDB.apply(this,arguments)}function _writeHeartbeatsToIndexedDB(){return(_writeHeartbeatsToIndexedDB=asyncToGenerator_asyncToGenerator(function*(app,heartbeatObject){try{const tx=(yield getDbPromise()).transaction(STORE_NAME,"readwrite");yield tx.objectStore(STORE_NAME).put(heartbeatObject,computeKey(app)),yield tx.done}catch(e2){if(e2 instanceof index_esm2017_FirebaseError)index_esm2017_logger.warn(e2.message);else{const idbGetError=ERROR_FACTORY.create("idb-set",{originalErrorMessage:e2?.message});index_esm2017_logger.warn(idbGetError.message)}}})).apply(this,arguments)}function computeKey(app){return`${app.name}!${app.options.appId}`}class HeartbeatServiceImpl{constructor(container){this.container=container,this._heartbeatsCache=null;const app=this.container.getProvider("app").getImmediate();this._storage=new HeartbeatStorageImpl(app),this._heartbeatsCachePromise=this._storage.read().then(result=>(this._heartbeatsCache=result,result))}triggerHeartbeat(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){const agent=_this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),date=getUTCDateString();if(null===_this._heartbeatsCache&&(_this._heartbeatsCache=yield _this._heartbeatsCachePromise),_this._heartbeatsCache.lastSentHeartbeatDate!==date&&!_this._heartbeatsCache.heartbeats.some(singleDateHeartbeat=>singleDateHeartbeat.date===date))return _this._heartbeatsCache.heartbeats.push({date,agent}),_this._heartbeatsCache.heartbeats=_this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat=>{const hbTimestamp=new Date(singleDateHeartbeat.date).valueOf();return Date.now()-hbTimestamp<=2592e6}),_this._storage.overwrite(_this._heartbeatsCache)})()}getHeartbeatsHeader(){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){if(null===_this2._heartbeatsCache&&(yield _this2._heartbeatsCachePromise),null===_this2._heartbeatsCache||0===_this2._heartbeatsCache.heartbeats.length)return"";const date=getUTCDateString(),{heartbeatsToSend,unsentEntries}=function extractHeartbeatsForHeader(heartbeatsCache,maxSize=1024){const heartbeatsToSend=[];let unsentEntries=heartbeatsCache.slice();for(const singleDateHeartbeat of heartbeatsCache){const heartbeatEntry=heartbeatsToSend.find(hb=>hb.agent===singleDateHeartbeat.agent);if(heartbeatEntry){if(heartbeatEntry.dates.push(singleDateHeartbeat.date),countBytes(heartbeatsToSend)>maxSize){heartbeatEntry.dates.pop();break}}else if(heartbeatsToSend.push({agent:singleDateHeartbeat.agent,dates:[singleDateHeartbeat.date]}),countBytes(heartbeatsToSend)>maxSize){heartbeatsToSend.pop();break}unsentEntries=unsentEntries.slice(1)}return{heartbeatsToSend,unsentEntries}}(_this2._heartbeatsCache.heartbeats),headerString=base64urlEncodeWithoutPadding(JSON.stringify({version:2,heartbeats:heartbeatsToSend}));return _this2._heartbeatsCache.lastSentHeartbeatDate=date,unsentEntries.length>0?(_this2._heartbeatsCache.heartbeats=unsentEntries,yield _this2._storage.overwrite(_this2._heartbeatsCache)):(_this2._heartbeatsCache.heartbeats=[],_this2._storage.overwrite(_this2._heartbeatsCache)),headerString})()}}function getUTCDateString(){return(new Date).toISOString().substring(0,10)}class HeartbeatStorageImpl{constructor(app){this.app=app,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}runIndexedDBEnvironmentCheck(){return asyncToGenerator_asyncToGenerator(function*(){return!!index_esm2017_isIndexedDBAvailable()&&validateIndexedDBOpenable().then(()=>!0).catch(()=>!1)})()}read(){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){return(yield _this3._canUseIndexedDBPromise)&&(yield function readHeartbeatsFromIndexedDB(_x2){return _readHeartbeatsFromIndexedDB.apply(this,arguments)}(_this3.app))||{heartbeats:[]}})()}overwrite(heartbeatsObject){var _this4=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;if(yield _this4._canUseIndexedDBPromise){const existingHeartbeatsObject=yield _this4.read();return writeHeartbeatsToIndexedDB(_this4.app,{lastSentHeartbeatDate:null!==(_a=heartbeatsObject.lastSentHeartbeatDate)&&void 0!==_a?_a:existingHeartbeatsObject.lastSentHeartbeatDate,heartbeats:heartbeatsObject.heartbeats})}})()}add(heartbeatsObject){var _this5=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;if(yield _this5._canUseIndexedDBPromise){const existingHeartbeatsObject=yield _this5.read();return writeHeartbeatsToIndexedDB(_this5.app,{lastSentHeartbeatDate:null!==(_a=heartbeatsObject.lastSentHeartbeatDate)&&void 0!==_a?_a:existingHeartbeatsObject.lastSentHeartbeatDate,heartbeats:[...existingHeartbeatsObject.heartbeats,...heartbeatsObject.heartbeats]})}})()}}function countBytes(heartbeatsCache){return base64urlEncodeWithoutPadding(JSON.stringify({version:2,heartbeats:heartbeatsCache})).length}!function registerCoreComponents(variant){_registerComponent(new index_esm2017_Component("platform-logger",container=>new PlatformLoggerServiceImpl(container),"PRIVATE")),_registerComponent(new index_esm2017_Component("heartbeat",container=>new HeartbeatServiceImpl(container),"PRIVATE")),index_esm2017_registerVersion(name$o,"0.9.13",variant),index_esm2017_registerVersion(name$o,"0.9.13","esm2017"),index_esm2017_registerVersion("fire-js","")}(""),index_esm2017_registerVersion("firebase","9.23.0","app");const wrap_idb_value_instanceOfAny=(object,constructors)=>constructors.some(c=>object instanceof c);let wrap_idb_value_idbProxyableTypes,wrap_idb_value_cursorAdvanceMethods;const wrap_idb_value_cursorRequestMap=new WeakMap,wrap_idb_value_transactionDoneMap=new WeakMap,wrap_idb_value_transactionStoreNamesMap=new WeakMap,wrap_idb_value_transformCache=new WeakMap,wrap_idb_value_reverseTransformCache=new WeakMap;let wrap_idb_value_idbProxyTraps={get(target,prop2,receiver){if(target instanceof IDBTransaction){if("done"===prop2)return wrap_idb_value_transactionDoneMap.get(target);if("objectStoreNames"===prop2)return target.objectStoreNames||wrap_idb_value_transactionStoreNamesMap.get(target);if("store"===prop2)return receiver.objectStoreNames[1]?void 0:receiver.objectStore(receiver.objectStoreNames[0])}return wrap_idb_value_wrap_0(target[prop2])},set:(target,prop2,value)=>(target[prop2]=value,!0),has:(target,prop2)=>target instanceof IDBTransaction&&("done"===prop2||"store"===prop2)||prop2 in target};function wrap_idb_value_transformCachableValue(value){return"function"==typeof value?function wrap_idb_value_wrapFunction(func){return func!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?function wrap_idb_value_getCursorAdvanceMethods(){return wrap_idb_value_cursorAdvanceMethods||(wrap_idb_value_cursorAdvanceMethods=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}().includes(func)?function(...args){return func.apply(wrap_idb_value_unwrap(this),args),wrap_idb_value_wrap_0(wrap_idb_value_cursorRequestMap.get(this))}:function(...args){return wrap_idb_value_wrap_0(func.apply(wrap_idb_value_unwrap(this),args))}:function(storeNames,...args){const tx=func.call(wrap_idb_value_unwrap(this),storeNames,...args);return wrap_idb_value_transactionStoreNamesMap.set(tx,storeNames.sort?storeNames.sort():[storeNames]),wrap_idb_value_wrap_0(tx)}}(value):(value instanceof IDBTransaction&&function wrap_idb_value_cacheDonePromiseForTransaction(tx){if(wrap_idb_value_transactionDoneMap.has(tx))return;const done=new Promise((resolve,reject)=>{const unlisten=()=>{tx.removeEventListener("complete",complete),tx.removeEventListener("error",error),tx.removeEventListener("abort",error)},complete=()=>{resolve(),unlisten()},error=()=>{reject(tx.error||new DOMException("AbortError","AbortError")),unlisten()};tx.addEventListener("complete",complete),tx.addEventListener("error",error),tx.addEventListener("abort",error)});wrap_idb_value_transactionDoneMap.set(tx,done)}(value),wrap_idb_value_instanceOfAny(value,function wrap_idb_value_getIdbProxyableTypes(){return wrap_idb_value_idbProxyableTypes||(wrap_idb_value_idbProxyableTypes=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}())?new Proxy(value,wrap_idb_value_idbProxyTraps):value)}function wrap_idb_value_wrap_0(value){if(value instanceof IDBRequest)return function wrap_idb_value_promisifyRequest(request){const promise=new Promise((resolve,reject)=>{const unlisten=()=>{request.removeEventListener("success",success),request.removeEventListener("error",error)},success=()=>{resolve(wrap_idb_value_wrap_0(request.result)),unlisten()},error=()=>{reject(request.error),unlisten()};request.addEventListener("success",success),request.addEventListener("error",error)});return promise.then(value=>{value instanceof IDBCursor&&wrap_idb_value_cursorRequestMap.set(value,request)}).catch(()=>{}),wrap_idb_value_reverseTransformCache.set(promise,request),promise}(value);if(wrap_idb_value_transformCache.has(value))return wrap_idb_value_transformCache.get(value);const newValue=wrap_idb_value_transformCachableValue(value);return newValue!==value&&(wrap_idb_value_transformCache.set(value,newValue),wrap_idb_value_reverseTransformCache.set(newValue,value)),newValue}const wrap_idb_value_unwrap=value=>wrap_idb_value_reverseTransformCache.get(value),idb_readMethods=["get","getKey","getAll","getAllKeys","count"],idb_writeMethods=["put","add","delete","clear"],idb_cachedMethods=new Map;function idb_getMethod(target,prop2){if(!(target instanceof IDBDatabase)||prop2 in target||"string"!=typeof prop2)return;if(idb_cachedMethods.get(prop2))return idb_cachedMethods.get(prop2);const targetFuncName=prop2.replace(/FromIndex$/,""),useIndex=prop2!==targetFuncName,isWrite=idb_writeMethods.includes(targetFuncName);if(!(targetFuncName in(useIndex?IDBIndex:IDBObjectStore).prototype)||!isWrite&&!idb_readMethods.includes(targetFuncName))return;const method=function(){var _ref=asyncToGenerator_asyncToGenerator(function*(storeName,...args){const tx=this.transaction(storeName,isWrite?"readwrite":"readonly");let target2=tx.store;return useIndex&&(target2=target2.index(args.shift())),(yield Promise.all([target2[targetFuncName](...args),isWrite&&tx.done]))[0]});return function(_x){return _ref.apply(this,arguments)}}();return idb_cachedMethods.set(prop2,method),method}!function wrap_idb_value_replaceTraps(callback){wrap_idb_value_idbProxyTraps=callback(wrap_idb_value_idbProxyTraps)}(oldTraps=>({...oldTraps,get:(target,prop2,receiver)=>idb_getMethod(target,prop2)||oldTraps.get(target,prop2,receiver),has:(target,prop2)=>!!idb_getMethod(target,prop2)||oldTraps.has(target,prop2)}));const PENDING_TIMEOUT_MS=1e4,PACKAGE_VERSION="w:0.6.4",INTERNAL_AUTH_VERSION="FIS_v2",INSTALLATIONS_API_URL="https://firebaseinstallations.googleapis.com/v1",TOKEN_EXPIRATION_BUFFER=36e5,index_esm2017_ERROR_FACTORY=new ErrorFactory("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function isServerError(error){return error instanceof index_esm2017_FirebaseError&&error.code.includes("request-failed")}function getInstallationsEndpoint({projectId}){return`${INSTALLATIONS_API_URL}/projects/${projectId}/installations`}function extractAuthTokenInfoFromResponse(response){return{token:response.token,requestStatus:2,expiresIn:(responseExpiresIn=response.expiresIn,Number(responseExpiresIn.replace("s","000"))),creationTime:Date.now()};var responseExpiresIn}function getErrorFromResponse(_x,_x2){return _getErrorFromResponse.apply(this,arguments)}function _getErrorFromResponse(){return(_getErrorFromResponse=asyncToGenerator_asyncToGenerator(function*(requestName,response){const errorData=(yield response.json()).error;return index_esm2017_ERROR_FACTORY.create("request-failed",{requestName,serverCode:errorData.code,serverMessage:errorData.message,serverStatus:errorData.status})})).apply(this,arguments)}function getHeaders({apiKey}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":apiKey})}function retryIfServerError(_x3){return _retryIfServerError.apply(this,arguments)}function _retryIfServerError(){return(_retryIfServerError=asyncToGenerator_asyncToGenerator(function*(fn){const result=yield fn();return result.status>=500&&result.status<600?fn():result})).apply(this,arguments)}function _createInstallationRequest(){return(_createInstallationRequest=asyncToGenerator_asyncToGenerator(function*({appConfig,heartbeatServiceProvider},{fid}){const endpoint=getInstallationsEndpoint(appConfig),headers=getHeaders(appConfig),heartbeatService=heartbeatServiceProvider.getImmediate({optional:!0});if(heartbeatService){const heartbeatsHeader=yield heartbeatService.getHeartbeatsHeader();heartbeatsHeader&&headers.append("x-firebase-client",heartbeatsHeader)}const request={method:"POST",headers,body:JSON.stringify({fid,authVersion:INTERNAL_AUTH_VERSION,appId:appConfig.appId,sdkVersion:PACKAGE_VERSION})},response=yield retryIfServerError(()=>fetch(endpoint,request));if(response.ok){const responseValue=yield response.json();return{fid:responseValue.fid||fid,registrationStatus:2,refreshToken:responseValue.refreshToken,authToken:extractAuthTokenInfoFromResponse(responseValue.authToken)}}throw yield getErrorFromResponse("Create Installation",response)})).apply(this,arguments)}function sleep(ms){return new Promise(resolve=>{setTimeout(resolve,ms)})}const VALID_FID_PATTERN=/^[cdef][\w-]{21}$/,INVALID_FID="";function generateFid(){try{const fidByteArray=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(fidByteArray),fidByteArray[0]=112+fidByteArray[0]%16;const fid=function index_esm2017_encode(fidByteArray){return function bufferToBase64UrlSafe(array){return btoa(String.fromCharCode(...array)).replace(/\+/g,"-").replace(/\//g,"_")}(fidByteArray).substr(0,22)}(fidByteArray);return VALID_FID_PATTERN.test(fid)?fid:INVALID_FID}catch{return INVALID_FID}}function getKey(appConfig){return`${appConfig.appName}!${appConfig.appId}`}const fidChangeCallbacks=new Map;function fidChanged(appConfig,fid){const key=getKey(appConfig);callFidChangeCallbacks(key,fid),function broadcastFidChange(key,fid){const channel=function getBroadcastChannel(){return!broadcastChannel&&"BroadcastChannel"in self&&(broadcastChannel=new BroadcastChannel("[Firebase] FID Change"),broadcastChannel.onmessage=e2=>{callFidChangeCallbacks(e2.data.key,e2.data.fid)}),broadcastChannel}();channel&&channel.postMessage({key,fid}),function closeBroadcastChannel(){0===fidChangeCallbacks.size&&broadcastChannel&&(broadcastChannel.close(),broadcastChannel=null)}()}(key,fid)}function callFidChangeCallbacks(key,fid){const callbacks=fidChangeCallbacks.get(key);if(callbacks)for(const callback of callbacks)callback(fid)}let broadcastChannel=null;const DATABASE_NAME="firebase-installations-database",DATABASE_VERSION=1,OBJECT_STORE_NAME="firebase-installations-store";let index_esm2017_dbPromise=null;function index_esm2017_getDbPromise(){return index_esm2017_dbPromise||(index_esm2017_dbPromise=function idb_openDB(name,version2,{blocked,upgrade,blocking,terminated}={}){const request=indexedDB.open(name,version2),openPromise=wrap_idb_value_wrap_0(request);return upgrade&&request.addEventListener("upgradeneeded",event=>{upgrade(wrap_idb_value_wrap_0(request.result),event.oldVersion,event.newVersion,wrap_idb_value_wrap_0(request.transaction))}),blocked&&request.addEventListener("blocked",()=>blocked()),openPromise.then(db=>{terminated&&db.addEventListener("close",()=>terminated()),blocking&&db.addEventListener("versionchange",()=>blocking())}).catch(()=>{}),openPromise}(DATABASE_NAME,DATABASE_VERSION,{upgrade:(db,oldVersion)=>{0===oldVersion&&db.createObjectStore(OBJECT_STORE_NAME)}})),index_esm2017_dbPromise}function set(_x6,_x7){return _set.apply(this,arguments)}function _set(){return(_set=asyncToGenerator_asyncToGenerator(function*(appConfig,value){const key=getKey(appConfig),tx=(yield index_esm2017_getDbPromise()).transaction(OBJECT_STORE_NAME,"readwrite"),objectStore=tx.objectStore(OBJECT_STORE_NAME),oldValue=yield objectStore.get(key);return yield objectStore.put(value,key),yield tx.done,(!oldValue||oldValue.fid!==value.fid)&&fidChanged(appConfig,value.fid),value})).apply(this,arguments)}function index_esm2017_remove(_x8){return _remove.apply(this,arguments)}function _remove(){return(_remove=asyncToGenerator_asyncToGenerator(function*(appConfig){const key=getKey(appConfig),tx=(yield index_esm2017_getDbPromise()).transaction(OBJECT_STORE_NAME,"readwrite");yield tx.objectStore(OBJECT_STORE_NAME).delete(key),yield tx.done})).apply(this,arguments)}function update(_x9,_x10){return _update.apply(this,arguments)}function _update(){return(_update=asyncToGenerator_asyncToGenerator(function*(appConfig,updateFn){const key=getKey(appConfig),tx=(yield index_esm2017_getDbPromise()).transaction(OBJECT_STORE_NAME,"readwrite"),store2=tx.objectStore(OBJECT_STORE_NAME),oldValue=yield store2.get(key),newValue=updateFn(oldValue);return void 0===newValue?yield store2.delete(key):yield store2.put(newValue,key),yield tx.done,newValue&&(!oldValue||oldValue.fid!==newValue.fid)&&fidChanged(appConfig,newValue.fid),newValue})).apply(this,arguments)}function getInstallationEntry(_x11){return _getInstallationEntry.apply(this,arguments)}function _getInstallationEntry(){return _getInstallationEntry=asyncToGenerator_asyncToGenerator(function*(installations){let registrationPromise;const installationEntry=yield update(installations.appConfig,oldEntry=>{const installationEntry2=function updateOrCreateInstallationEntry(oldEntry){return clearTimedOutRequest(oldEntry||{fid:generateFid(),registrationStatus:0})}(oldEntry),entryWithPromise=function triggerRegistrationIfNecessary(installations,installationEntry){if(0===installationEntry.registrationStatus){if(!navigator.onLine)return{installationEntry,registrationPromise:Promise.reject(index_esm2017_ERROR_FACTORY.create("app-offline"))};const inProgressEntry={fid:installationEntry.fid,registrationStatus:1,registrationTime:Date.now()},registrationPromise=function registerInstallation(_x12,_x13){return _registerInstallation.apply(this,arguments)}(installations,inProgressEntry);return{installationEntry:inProgressEntry,registrationPromise}}return 1===installationEntry.registrationStatus?{installationEntry,registrationPromise:waitUntilFidRegistration(installations)}:{installationEntry}}(installations,installationEntry2);return registrationPromise=entryWithPromise.registrationPromise,entryWithPromise.installationEntry});return installationEntry.fid===INVALID_FID?{installationEntry:yield registrationPromise}:{installationEntry,registrationPromise}}),_getInstallationEntry.apply(this,arguments)}function _registerInstallation(){return _registerInstallation=asyncToGenerator_asyncToGenerator(function*(installations,installationEntry){try{const registeredInstallationEntry=yield function createInstallationRequest(_x4,_x5){return _createInstallationRequest.apply(this,arguments)}(installations,installationEntry);return set(installations.appConfig,registeredInstallationEntry)}catch(e2){throw isServerError(e2)&&409===e2.customData.serverCode?yield index_esm2017_remove(installations.appConfig):yield set(installations.appConfig,{fid:installationEntry.fid,registrationStatus:0}),e2}}),_registerInstallation.apply(this,arguments)}function waitUntilFidRegistration(_x14){return _waitUntilFidRegistration.apply(this,arguments)}function _waitUntilFidRegistration(){return(_waitUntilFidRegistration=asyncToGenerator_asyncToGenerator(function*(installations){let entry=yield updateInstallationRequest(installations.appConfig);for(;1===entry.registrationStatus;)yield sleep(100),entry=yield updateInstallationRequest(installations.appConfig);if(0===entry.registrationStatus){const{installationEntry,registrationPromise}=yield getInstallationEntry(installations);return registrationPromise||installationEntry}return entry})).apply(this,arguments)}function updateInstallationRequest(appConfig){return update(appConfig,oldEntry=>{if(!oldEntry)throw index_esm2017_ERROR_FACTORY.create("installation-not-found");return clearTimedOutRequest(oldEntry)})}function clearTimedOutRequest(entry){return function hasInstallationRequestTimedOut(installationEntry){return 1===installationEntry.registrationStatus&&installationEntry.registrationTime+PENDING_TIMEOUT_MSfetch(endpoint,request));if(response.ok)return extractAuthTokenInfoFromResponse(yield response.json());throw yield getErrorFromResponse("Generate Auth Token",response)})).apply(this,arguments)}function refreshAuthToken(_x17){return _refreshAuthToken.apply(this,arguments)}function _refreshAuthToken(){return _refreshAuthToken=asyncToGenerator_asyncToGenerator(function*(installations,forceRefresh=!1){let tokenPromise;const entry=yield update(installations.appConfig,oldEntry=>{if(!isEntryRegistered(oldEntry))throw index_esm2017_ERROR_FACTORY.create("not-registered");const oldAuthToken=oldEntry.authToken;if(!forceRefresh&&function isAuthTokenValid(authToken){return 2===authToken.requestStatus&&!function isAuthTokenExpired(authToken){const now=Date.now();return now{if(!isEntryRegistered(oldEntry))throw index_esm2017_ERROR_FACTORY.create("not-registered");return function hasAuthTokenRequestTimedOut(authToken){return 1===authToken.requestStatus&&authToken.requestTime+PENDING_TIMEOUT_MS{const app=container.getProvider("app").getImmediate(),appConfig=function extractAppConfig(app){if(!app||!app.options)throw getMissingValueError("App Configuration");if(!app.name)throw getMissingValueError("App Name");const configKeys=["projectId","apiKey","appId"];for(const keyName of configKeys)if(!app.options[keyName])throw getMissingValueError(keyName);return{appName:app.name,projectId:app.options.projectId,apiKey:app.options.apiKey,appId:app.options.appId}}(app);return{app,appConfig,heartbeatServiceProvider:index_esm2017_getProvider(app,"heartbeat"),_delete:()=>Promise.resolve()}},internalFactory=container=>{const installations=index_esm2017_getProvider(container.getProvider("app").getImmediate(),"installations").getImmediate();return{getId:()=>function getId(_x22){return _getId.apply(this,arguments)}(installations),getToken:forceRefresh=>function getToken(_x23){return _getToken.apply(this,arguments)}(installations,forceRefresh)}};(function registerInstallations(){_registerComponent(new index_esm2017_Component("installations",publicFactory,"PUBLIC")),_registerComponent(new index_esm2017_Component("installations-internal",internalFactory,"PRIVATE"))})(),index_esm2017_registerVersion("@firebase/installations","0.6.4"),index_esm2017_registerVersion("@firebase/installations","0.6.4","esm2017");const esm_index_esm2017_ERROR_FACTORY=new ErrorFactory("remoteconfig","Remote Config",{"registration-window":"Undefined window object. This SDK only supports usage in a browser environment.","registration-project-id":"Undefined project identifier. Check Firebase app initialization.","registration-api-key":"Undefined API key. Check Firebase app initialization.","registration-app-id":"Undefined app identifier. Check Firebase app initialization.","storage-open":"Error thrown when opening storage. Original error: {$originalErrorMessage}.","storage-get":"Error thrown when reading from storage. Original error: {$originalErrorMessage}.","storage-set":"Error thrown when writing to storage. Original error: {$originalErrorMessage}.","storage-delete":"Error thrown when deleting from storage. Original error: {$originalErrorMessage}.","fetch-client-network":"Fetch client failed to connect to a network. Check Internet connection. Original error: {$originalErrorMessage}.","fetch-timeout":'The config fetch request timed out. Configure timeout using "fetchTimeoutMillis" SDK setting.',"fetch-throttle":'The config fetch request timed out while in an exponential backoff state. Configure timeout using "fetchTimeoutMillis" SDK setting. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.',"fetch-client-parse":"Fetch client could not parse response. Original error: {$originalErrorMessage}.","fetch-status":"Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.","indexed-db-unavailable":"Indexed DB is not supported by current browser"});class CachingClient{constructor(client,storage,storageCache,logger2){this.client=client,this.storage=storage,this.storageCache=storageCache,this.logger=logger2}isCachedDataFresh(cacheMaxAgeMillis,lastSuccessfulFetchTimestampMillis){if(!lastSuccessfulFetchTimestampMillis)return this.logger.debug("Config fetch cache check. Cache unpopulated."),!1;const cacheAgeMillis=Date.now()-lastSuccessfulFetchTimestampMillis,isCachedDataFresh=cacheAgeMillis<=cacheMaxAgeMillis;return this.logger.debug(`Config fetch cache check. Cache age millis: ${cacheAgeMillis}. Cache max age millis (minimumFetchIntervalMillis setting): ${cacheMaxAgeMillis}. Is cache hit: ${isCachedDataFresh}.`),isCachedDataFresh}fetch(request){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){const[lastSuccessfulFetchTimestampMillis,lastSuccessfulFetchResponse]=yield Promise.all([_this.storage.getLastSuccessfulFetchTimestampMillis(),_this.storage.getLastSuccessfulFetchResponse()]);if(lastSuccessfulFetchResponse&&_this.isCachedDataFresh(request.cacheMaxAgeMillis,lastSuccessfulFetchTimestampMillis))return lastSuccessfulFetchResponse;request.eTag=lastSuccessfulFetchResponse&&lastSuccessfulFetchResponse.eTag;const response=yield _this.client.fetch(request),storageOperations=[_this.storageCache.setLastSuccessfulFetchTimestampMillis(Date.now())];return 200===response.status&&storageOperations.push(_this.storage.setLastSuccessfulFetchResponse(response)),yield Promise.all(storageOperations),response})()}}function getUserLanguage(navigatorLanguage=navigator){return navigatorLanguage.languages&&navigatorLanguage.languages[0]||navigatorLanguage.language}class RestClient{constructor(firebaseInstallations,sdkVersion,namespace,projectId,apiKey,appId){this.firebaseInstallations=firebaseInstallations,this.sdkVersion=sdkVersion,this.namespace=namespace,this.projectId=projectId,this.apiKey=apiKey,this.appId=appId}fetch(request){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){const[installationId,installationToken]=yield Promise.all([_this2.firebaseInstallations.getId(),_this2.firebaseInstallations.getToken()]),url=`${window.FIREBASE_REMOTE_CONFIG_URL_BASE||"https://firebaseremoteconfig.googleapis.com"}/v1/projects/${_this2.projectId}/namespaces/${_this2.namespace}:fetch?key=${_this2.apiKey}`,headers={"Content-Type":"application/json","Content-Encoding":"gzip","If-None-Match":request.eTag||"*"},requestBody={sdk_version:_this2.sdkVersion,app_instance_id:installationId,app_instance_id_token:installationToken,app_id:_this2.appId,language_code:getUserLanguage()},options={method:"POST",headers,body:JSON.stringify(requestBody)},fetchPromise=fetch(url,options),timeoutPromise=new Promise((_resolve,reject)=>{request.signal.addEventListener(()=>{const error=new Error("The operation was aborted.");error.name="AbortError",reject(error)})});let response;try{yield Promise.race([fetchPromise,timeoutPromise]),response=yield fetchPromise}catch(originalError){let errorCode="fetch-client-network";throw"AbortError"===originalError?.name&&(errorCode="fetch-timeout"),esm_index_esm2017_ERROR_FACTORY.create(errorCode,{originalErrorMessage:originalError?.message})}let status=response.status;const responseEtag=response.headers.get("ETag")||void 0;let config2,state2;if(200===response.status){let responseBody;try{responseBody=yield response.json()}catch(originalError){throw esm_index_esm2017_ERROR_FACTORY.create("fetch-client-parse",{originalErrorMessage:originalError?.message})}config2=responseBody.entries,state2=responseBody.state}if("INSTANCE_STATE_UNSPECIFIED"===state2?status=500:"NO_CHANGE"===state2?status=304:("NO_TEMPLATE"===state2||"EMPTY_CONFIG"===state2)&&(config2={}),304!==status&&200!==status)throw esm_index_esm2017_ERROR_FACTORY.create("fetch-status",{httpStatus:status});return{status,eTag:responseEtag,config:config2}})()}}class RetryingClient{constructor(client,storage){this.client=client,this.storage=storage}fetch(request){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){const throttleMetadata=(yield _this3.storage.getThrottleMetadata())||{backoffCount:0,throttleEndTimeMillis:Date.now()};return _this3.attemptFetch(request,throttleMetadata)})()}attemptFetch(request,{throttleEndTimeMillis,backoffCount}){var _this4=this;return asyncToGenerator_asyncToGenerator(function*(){yield function setAbortableTimeout(signal2,throttleEndTimeMillis){return new Promise((resolve,reject)=>{const backoffMillis=Math.max(throttleEndTimeMillis-Date.now(),0),timeout=setTimeout(resolve,backoffMillis);signal2.addEventListener(()=>{clearTimeout(timeout),reject(esm_index_esm2017_ERROR_FACTORY.create("fetch-throttle",{throttleEndTimeMillis}))})})}(request.signal,throttleEndTimeMillis);try{const response=yield _this4.client.fetch(request);return yield _this4.storage.deleteThrottleMetadata(),response}catch(e2){if(!function isRetriableError(e2){if(!(e2 instanceof index_esm2017_FirebaseError&&e2.customData))return!1;const httpStatus=Number(e2.customData.httpStatus);return 429===httpStatus||500===httpStatus||503===httpStatus||504===httpStatus}(e2))throw e2;const throttleMetadata={throttleEndTimeMillis:Date.now()+index_esm2017_calculateBackoffMillis(backoffCount),backoffCount:backoffCount+1};return yield _this4.storage.setThrottleMetadata(throttleMetadata),_this4.attemptFetch(request,throttleMetadata)}})()}}class RemoteConfig{constructor(app,_client,_storageCache,_storage,_logger){this.app=app,this._client=_client,this._storageCache=_storageCache,this._storage=_storage,this._logger=_logger,this._isInitializationComplete=!1,this.settings={fetchTimeoutMillis:6e4,minimumFetchIntervalMillis:432e5},this.defaultConfig={}}get fetchTimeMillis(){return this._storageCache.getLastSuccessfulFetchTimestampMillis()||-1}get lastFetchStatus(){return this._storageCache.getLastFetchStatus()||"no-fetch-yet"}}function toFirebaseError(event,errorCode){const originalError=event.target.error||void 0;return esm_index_esm2017_ERROR_FACTORY.create(errorCode,{originalErrorMessage:originalError&&originalError?.message})}class Storage{constructor(appId,appName,namespace,openDbPromise=function openDatabase(){return new Promise((resolve,reject)=>{try{const request=indexedDB.open("firebase_remote_config",1);request.onerror=event=>{reject(toFirebaseError(event,"storage-open"))},request.onsuccess=event=>{resolve(event.target.result)},request.onupgradeneeded=event=>{0===event.oldVersion&&event.target.result.createObjectStore("app_namespace_store",{keyPath:"compositeKey"})}}catch(error){reject(esm_index_esm2017_ERROR_FACTORY.create("storage-open",{originalErrorMessage:error?.message}))}})}()){this.appId=appId,this.appName=appName,this.namespace=namespace,this.openDbPromise=openDbPromise}getLastFetchStatus(){return this.get("last_fetch_status")}setLastFetchStatus(status){return this.set("last_fetch_status",status)}getLastSuccessfulFetchTimestampMillis(){return this.get("last_successful_fetch_timestamp_millis")}setLastSuccessfulFetchTimestampMillis(timestamp){return this.set("last_successful_fetch_timestamp_millis",timestamp)}getLastSuccessfulFetchResponse(){return this.get("last_successful_fetch_response")}setLastSuccessfulFetchResponse(response){return this.set("last_successful_fetch_response",response)}getActiveConfig(){return this.get("active_config")}setActiveConfig(config2){return this.set("active_config",config2)}getActiveConfigEtag(){return this.get("active_config_etag")}setActiveConfigEtag(etag){return this.set("active_config_etag",etag)}getThrottleMetadata(){return this.get("throttle_metadata")}setThrottleMetadata(metadata){return this.set("throttle_metadata",metadata)}deleteThrottleMetadata(){return this.delete("throttle_metadata")}get(key){var _this5=this;return asyncToGenerator_asyncToGenerator(function*(){const db=yield _this5.openDbPromise;return new Promise((resolve,reject)=>{const objectStore=db.transaction(["app_namespace_store"],"readonly").objectStore("app_namespace_store"),compositeKey=_this5.createCompositeKey(key);try{const request=objectStore.get(compositeKey);request.onerror=event=>{reject(toFirebaseError(event,"storage-get"))},request.onsuccess=event=>{const result=event.target.result;resolve(result?result.value:void 0)}}catch(e2){reject(esm_index_esm2017_ERROR_FACTORY.create("storage-get",{originalErrorMessage:e2?.message}))}})})()}set(key,value){var _this6=this;return asyncToGenerator_asyncToGenerator(function*(){const db=yield _this6.openDbPromise;return new Promise((resolve,reject)=>{const objectStore=db.transaction(["app_namespace_store"],"readwrite").objectStore("app_namespace_store"),compositeKey=_this6.createCompositeKey(key);try{const request=objectStore.put({compositeKey,value});request.onerror=event=>{reject(toFirebaseError(event,"storage-set"))},request.onsuccess=()=>{resolve()}}catch(e2){reject(esm_index_esm2017_ERROR_FACTORY.create("storage-set",{originalErrorMessage:e2?.message}))}})})()}delete(key){var _this7=this;return asyncToGenerator_asyncToGenerator(function*(){const db=yield _this7.openDbPromise;return new Promise((resolve,reject)=>{const objectStore=db.transaction(["app_namespace_store"],"readwrite").objectStore("app_namespace_store"),compositeKey=_this7.createCompositeKey(key);try{const request=objectStore.delete(compositeKey);request.onerror=event=>{reject(toFirebaseError(event,"storage-delete"))},request.onsuccess=()=>{resolve()}}catch(e2){reject(esm_index_esm2017_ERROR_FACTORY.create("storage-delete",{originalErrorMessage:e2?.message}))}})})()}createCompositeKey(key){return[this.appId,this.appName,this.namespace,key].join()}}class StorageCache{constructor(storage){this.storage=storage}getLastFetchStatus(){return this.lastFetchStatus}getLastSuccessfulFetchTimestampMillis(){return this.lastSuccessfulFetchTimestampMillis}getActiveConfig(){return this.activeConfig}loadFromStorage(){var _this8=this;return asyncToGenerator_asyncToGenerator(function*(){const lastFetchStatusPromise=_this8.storage.getLastFetchStatus(),lastSuccessfulFetchTimestampMillisPromise=_this8.storage.getLastSuccessfulFetchTimestampMillis(),activeConfigPromise=_this8.storage.getActiveConfig(),lastFetchStatus=yield lastFetchStatusPromise;lastFetchStatus&&(_this8.lastFetchStatus=lastFetchStatus);const lastSuccessfulFetchTimestampMillis=yield lastSuccessfulFetchTimestampMillisPromise;lastSuccessfulFetchTimestampMillis&&(_this8.lastSuccessfulFetchTimestampMillis=lastSuccessfulFetchTimestampMillis);const activeConfig=yield activeConfigPromise;activeConfig&&(_this8.activeConfig=activeConfig)})()}setLastFetchStatus(status){return this.lastFetchStatus=status,this.storage.setLastFetchStatus(status)}setLastSuccessfulFetchTimestampMillis(timestampMillis){return this.lastSuccessfulFetchTimestampMillis=timestampMillis,this.storage.setLastSuccessfulFetchTimestampMillis(timestampMillis)}setActiveConfig(activeConfig){return this.activeConfig=activeConfig,this.storage.setActiveConfig(activeConfig)}}function isSupported(){return _isSupported.apply(this,arguments)}function _isSupported(){return(_isSupported=asyncToGenerator_asyncToGenerator(function*(){if(!index_esm2017_isIndexedDBAvailable())return!1;try{return yield validateIndexedDBOpenable()}catch{return!1}})).apply(this,arguments)}!function registerRemoteConfig(){_registerComponent(new index_esm2017_Component("remote-config",function remoteConfigFactory(container,{instanceIdentifier:namespace}){const app=container.getProvider("app").getImmediate(),installations=container.getProvider("installations-internal").getImmediate();if(typeof window>"u")throw esm_index_esm2017_ERROR_FACTORY.create("registration-window");if(!index_esm2017_isIndexedDBAvailable())throw esm_index_esm2017_ERROR_FACTORY.create("indexed-db-unavailable");const{projectId,apiKey,appId}=app.options;if(!projectId)throw esm_index_esm2017_ERROR_FACTORY.create("registration-project-id");if(!apiKey)throw esm_index_esm2017_ERROR_FACTORY.create("registration-api-key");if(!appId)throw esm_index_esm2017_ERROR_FACTORY.create("registration-app-id");const storage=new Storage(appId,app.name,namespace=namespace||"firebase"),storageCache=new StorageCache(storage),logger2=new Logger("@firebase/remote-config");logger2.logLevel=index_esm2017_LogLevel.ERROR;const restClient=new RestClient(installations,index_esm2017_SDK_VERSION,namespace,projectId,apiKey,appId),retryingClient=new RetryingClient(restClient,storage),cachingClient=new CachingClient(retryingClient,storage,storageCache,logger2),remoteConfigInstance=new RemoteConfig(app,cachingClient,storageCache,storage,logger2);return function ensureInitialized(remoteConfig){const rc=index_esm2017_getModularInstance(remoteConfig);rc._initializePromise||(rc._initializePromise=rc._storageCache.loadFromStorage().then(()=>{rc._isInitializationComplete=!0}))}(remoteConfigInstance),remoteConfigInstance},"PUBLIC").setMultipleInstances(!0)),index_esm2017_registerVersion("@firebase/remote-config","0.4.4"),index_esm2017_registerVersion("@firebase/remote-config","0.4.4","esm2017")}();const build_wrap_idb_value_instanceOfAny=(object,constructors)=>constructors.some(c=>object instanceof c);let build_wrap_idb_value_idbProxyableTypes,build_wrap_idb_value_cursorAdvanceMethods;const build_wrap_idb_value_cursorRequestMap=new WeakMap,build_wrap_idb_value_transactionDoneMap=new WeakMap,build_wrap_idb_value_transactionStoreNamesMap=new WeakMap,build_wrap_idb_value_transformCache=new WeakMap,build_wrap_idb_value_reverseTransformCache=new WeakMap;let build_wrap_idb_value_idbProxyTraps={get(target,prop2,receiver){if(target instanceof IDBTransaction){if("done"===prop2)return build_wrap_idb_value_transactionDoneMap.get(target);if("objectStoreNames"===prop2)return target.objectStoreNames||build_wrap_idb_value_transactionStoreNamesMap.get(target);if("store"===prop2)return receiver.objectStoreNames[1]?void 0:receiver.objectStore(receiver.objectStoreNames[0])}return build_wrap_idb_value_wrap(target[prop2])},set:(target,prop2,value)=>(target[prop2]=value,!0),has:(target,prop2)=>target instanceof IDBTransaction&&("done"===prop2||"store"===prop2)||prop2 in target};function build_wrap_idb_value_transformCachableValue(value){return"function"==typeof value?function build_wrap_idb_value_wrapFunction(func){return func!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?function build_wrap_idb_value_getCursorAdvanceMethods(){return build_wrap_idb_value_cursorAdvanceMethods||(build_wrap_idb_value_cursorAdvanceMethods=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}().includes(func)?function(...args){return func.apply(build_wrap_idb_value_unwrap(this),args),build_wrap_idb_value_wrap(build_wrap_idb_value_cursorRequestMap.get(this))}:function(...args){return build_wrap_idb_value_wrap(func.apply(build_wrap_idb_value_unwrap(this),args))}:function(storeNames,...args){const tx=func.call(build_wrap_idb_value_unwrap(this),storeNames,...args);return build_wrap_idb_value_transactionStoreNamesMap.set(tx,storeNames.sort?storeNames.sort():[storeNames]),build_wrap_idb_value_wrap(tx)}}(value):(value instanceof IDBTransaction&&function build_wrap_idb_value_cacheDonePromiseForTransaction(tx){if(build_wrap_idb_value_transactionDoneMap.has(tx))return;const done=new Promise((resolve,reject)=>{const unlisten=()=>{tx.removeEventListener("complete",complete),tx.removeEventListener("error",error),tx.removeEventListener("abort",error)},complete=()=>{resolve(),unlisten()},error=()=>{reject(tx.error||new DOMException("AbortError","AbortError")),unlisten()};tx.addEventListener("complete",complete),tx.addEventListener("error",error),tx.addEventListener("abort",error)});build_wrap_idb_value_transactionDoneMap.set(tx,done)}(value),build_wrap_idb_value_instanceOfAny(value,function build_wrap_idb_value_getIdbProxyableTypes(){return build_wrap_idb_value_idbProxyableTypes||(build_wrap_idb_value_idbProxyableTypes=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}())?new Proxy(value,build_wrap_idb_value_idbProxyTraps):value)}function build_wrap_idb_value_wrap(value){if(value instanceof IDBRequest)return function build_wrap_idb_value_promisifyRequest(request){const promise=new Promise((resolve,reject)=>{const unlisten=()=>{request.removeEventListener("success",success),request.removeEventListener("error",error)},success=()=>{resolve(build_wrap_idb_value_wrap(request.result)),unlisten()},error=()=>{reject(request.error),unlisten()};request.addEventListener("success",success),request.addEventListener("error",error)});return promise.then(value=>{value instanceof IDBCursor&&build_wrap_idb_value_cursorRequestMap.set(value,request)}).catch(()=>{}),build_wrap_idb_value_reverseTransformCache.set(promise,request),promise}(value);if(build_wrap_idb_value_transformCache.has(value))return build_wrap_idb_value_transformCache.get(value);const newValue=build_wrap_idb_value_transformCachableValue(value);return newValue!==value&&(build_wrap_idb_value_transformCache.set(value,newValue),build_wrap_idb_value_reverseTransformCache.set(newValue,value)),newValue}const build_wrap_idb_value_unwrap=value=>build_wrap_idb_value_reverseTransformCache.get(value);function build_openDB(name,version2,{blocked,upgrade,blocking,terminated}={}){const request=indexedDB.open(name,version2),openPromise=build_wrap_idb_value_wrap(request);return upgrade&&request.addEventListener("upgradeneeded",event=>{upgrade(build_wrap_idb_value_wrap(request.result),event.oldVersion,event.newVersion,build_wrap_idb_value_wrap(request.transaction))}),blocked&&request.addEventListener("blocked",()=>blocked()),openPromise.then(db=>{terminated&&db.addEventListener("close",()=>terminated()),blocking&&db.addEventListener("versionchange",()=>blocking())}).catch(()=>{}),openPromise}function build_deleteDB(name,{blocked}={}){const request=indexedDB.deleteDatabase(name);return blocked&&request.addEventListener("blocked",()=>blocked()),build_wrap_idb_value_wrap(request).then(()=>{})}const build_readMethods=["get","getKey","getAll","getAllKeys","count"],build_writeMethods=["put","add","delete","clear"],build_cachedMethods=new Map;function build_getMethod(target,prop2){if(!(target instanceof IDBDatabase)||prop2 in target||"string"!=typeof prop2)return;if(build_cachedMethods.get(prop2))return build_cachedMethods.get(prop2);const targetFuncName=prop2.replace(/FromIndex$/,""),useIndex=prop2!==targetFuncName,isWrite=build_writeMethods.includes(targetFuncName);if(!(targetFuncName in(useIndex?IDBIndex:IDBObjectStore).prototype)||!isWrite&&!build_readMethods.includes(targetFuncName))return;const method=function(){var _ref=asyncToGenerator_asyncToGenerator(function*(storeName,...args){const tx=this.transaction(storeName,isWrite?"readwrite":"readonly");let target2=tx.store;return useIndex&&(target2=target2.index(args.shift())),(yield Promise.all([target2[targetFuncName](...args),isWrite&&tx.done]))[0]});return function(_x){return _ref.apply(this,arguments)}}();return build_cachedMethods.set(prop2,method),method}!function build_wrap_idb_value_replaceTraps(callback){build_wrap_idb_value_idbProxyTraps=callback(build_wrap_idb_value_idbProxyTraps)}(oldTraps=>({...oldTraps,get:(target,prop2,receiver)=>build_getMethod(target,prop2)||oldTraps.get(target,prop2,receiver),has:(target,prop2)=>!!build_getMethod(target,prop2)||oldTraps.has(target,prop2)}));const DEFAULT_SW_PATH="/firebase-messaging-sw.js",DEFAULT_SW_SCOPE="/firebase-cloud-messaging-push-scope",DEFAULT_VAPID_KEY="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",ENDPOINT="https://fcmregistrations.googleapis.com/v1",CONSOLE_CAMPAIGN_ID="google.c.a.c_id",CONSOLE_CAMPAIGN_NAME="google.c.a.c_l",CONSOLE_CAMPAIGN_TIME="google.c.a.ts";var MessageType=function(MessageType2){return MessageType2.PUSH_RECEIVED="push-received",MessageType2.NOTIFICATION_CLICKED="notification-clicked",MessageType2}(MessageType||{});function arrayToBase64(array){const uint8Array=new Uint8Array(array);return btoa(String.fromCharCode(...uint8Array)).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function base64ToArray(base64String){const base642=(base64String+"=".repeat((4-base64String.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),rawData=atob(base642),outputArray=new Uint8Array(rawData.length);for(let i6=0;i6db2.name).includes(OLD_DB_NAME))return null;let tokenDetails=null;return(yield build_openDB(OLD_DB_NAME,OLD_DB_VERSION,{upgrade:(_ref=asyncToGenerator_asyncToGenerator(function*(db2,oldVersion,newVersion,upgradeTransaction){var _a;if(oldVersion<2||!db2.objectStoreNames.contains(OLD_OBJECT_STORE_NAME))return;const objectStore=upgradeTransaction.objectStore(OLD_OBJECT_STORE_NAME),value=yield objectStore.index("fcmSenderId").get(senderId);if(yield objectStore.clear(),value)if(2===oldVersion){const oldDetails=value;if(!oldDetails.auth||!oldDetails.p256dh||!oldDetails.endpoint)return;tokenDetails={token:oldDetails.fcmToken,createTime:null!==(_a=oldDetails.createTime)&&void 0!==_a?_a:Date.now(),subscriptionOptions:{auth:oldDetails.auth,p256dh:oldDetails.p256dh,endpoint:oldDetails.endpoint,swScope:oldDetails.swScope,vapidKey:"string"==typeof oldDetails.vapidKey?oldDetails.vapidKey:arrayToBase64(oldDetails.vapidKey)}}}else if(3===oldVersion){const oldDetails=value;tokenDetails={token:oldDetails.fcmToken,createTime:oldDetails.createTime,subscriptionOptions:{auth:arrayToBase64(oldDetails.auth),p256dh:arrayToBase64(oldDetails.p256dh),endpoint:oldDetails.endpoint,swScope:oldDetails.swScope,vapidKey:arrayToBase64(oldDetails.vapidKey)}}}else if(4===oldVersion){const oldDetails=value;tokenDetails={token:oldDetails.fcmToken,createTime:oldDetails.createTime,subscriptionOptions:{auth:arrayToBase64(oldDetails.auth),p256dh:arrayToBase64(oldDetails.p256dh),endpoint:oldDetails.endpoint,swScope:oldDetails.swScope,vapidKey:arrayToBase64(oldDetails.vapidKey)}}}}),function(_x36,_x37,_x38,_x39){return _ref.apply(this,arguments)})})).close(),yield build_deleteDB(OLD_DB_NAME),yield build_deleteDB("fcm_vapid_details_db"),yield build_deleteDB("undefined"),function checkTokenDetails(tokenDetails){if(!tokenDetails||!tokenDetails.subscriptionOptions)return!1;const{subscriptionOptions}=tokenDetails;return"number"==typeof tokenDetails.createTime&&tokenDetails.createTime>0&&"string"==typeof tokenDetails.token&&tokenDetails.token.length>0&&"string"==typeof subscriptionOptions.auth&&subscriptionOptions.auth.length>0&&"string"==typeof subscriptionOptions.p256dh&&subscriptionOptions.p256dh.length>0&&"string"==typeof subscriptionOptions.endpoint&&subscriptionOptions.endpoint.length>0&&"string"==typeof subscriptionOptions.swScope&&subscriptionOptions.swScope.length>0&&"string"==typeof subscriptionOptions.vapidKey&&subscriptionOptions.vapidKey.length>0}(tokenDetails)?tokenDetails:null;var _ref}),_migrateOldDatabase.apply(this,arguments)}const index_esm2017_DATABASE_NAME="firebase-messaging-database",index_esm2017_DATABASE_VERSION=1,index_esm2017_OBJECT_STORE_NAME="firebase-messaging-store";let esm_index_esm2017_dbPromise=null;function esm_index_esm2017_getDbPromise(){return esm_index_esm2017_dbPromise||(esm_index_esm2017_dbPromise=build_openDB(index_esm2017_DATABASE_NAME,index_esm2017_DATABASE_VERSION,{upgrade:(upgradeDb,oldVersion)=>{0===oldVersion&&upgradeDb.createObjectStore(index_esm2017_OBJECT_STORE_NAME)}})),esm_index_esm2017_dbPromise}function dbGet(_x2){return _dbGet.apply(this,arguments)}function _dbGet(){return _dbGet=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies){const key=index_esm2017_getKey(firebaseDependencies),tokenDetails=yield(yield esm_index_esm2017_getDbPromise()).transaction(index_esm2017_OBJECT_STORE_NAME).objectStore(index_esm2017_OBJECT_STORE_NAME).get(key);if(tokenDetails)return tokenDetails;{const oldTokenDetails=yield function migrateOldDatabase(_x){return _migrateOldDatabase.apply(this,arguments)}(firebaseDependencies.appConfig.senderId);if(oldTokenDetails)return yield dbSet(firebaseDependencies,oldTokenDetails),oldTokenDetails}}),_dbGet.apply(this,arguments)}function dbSet(_x3,_x4){return _dbSet.apply(this,arguments)}function _dbSet(){return(_dbSet=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,tokenDetails){const key=index_esm2017_getKey(firebaseDependencies),tx=(yield esm_index_esm2017_getDbPromise()).transaction(index_esm2017_OBJECT_STORE_NAME,"readwrite");return yield tx.objectStore(index_esm2017_OBJECT_STORE_NAME).put(tokenDetails,key),yield tx.done,tokenDetails})).apply(this,arguments)}function _dbRemove(){return(_dbRemove=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies){const key=index_esm2017_getKey(firebaseDependencies),tx=(yield esm_index_esm2017_getDbPromise()).transaction(index_esm2017_OBJECT_STORE_NAME,"readwrite");yield tx.objectStore(index_esm2017_OBJECT_STORE_NAME).delete(key),yield tx.done})).apply(this,arguments)}function index_esm2017_getKey({appConfig}){return appConfig.appId}const dist_esm_index_esm2017_ERROR_FACTORY=new ErrorFactory("messaging","Messaging",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"only-available-in-window":"This method is available in a Window context.","only-available-in-sw":"This method is available in a service worker context.","permission-default":"The notification permission was not granted and dismissed instead.","permission-blocked":"The notification permission was not granted and blocked instead.","unsupported-browser":"This browser doesn't support the API's required to use the Firebase SDK.","indexed-db-unsupported":"This browser doesn't support indexedDb.open() (ex. Safari iFrame, Firefox Private Browsing, etc)","failed-service-worker-registration":"We are unable to register the default service worker. {$browserErrorMessage}","token-subscribe-failed":"A problem occurred while subscribing the user to FCM: {$errorInfo}","token-subscribe-no-token":"FCM returned no token when subscribing the user to push.","token-unsubscribe-failed":"A problem occurred while unsubscribing the user from FCM: {$errorInfo}","token-update-failed":"A problem occurred while updating the user from FCM: {$errorInfo}","token-update-no-token":"FCM returned no token when updating the user to push.","use-sw-after-get-token":"The useServiceWorker() method may only be called once and must be called before calling getToken() to ensure your service worker is used.","invalid-sw-registration":"The input to useServiceWorker() must be a ServiceWorkerRegistration.","invalid-bg-handler":"The input to setBackgroundMessageHandler() must be a function.","invalid-vapid-key":"The public VAPID key must be a string.","use-vapid-key-after-get-token":"The usePublicVapidKey() method may only be called once and must be called before calling getToken() to ensure your VAPID key is used."});function requestGetToken(_x6,_x7){return _requestGetToken.apply(this,arguments)}function _requestGetToken(){return(_requestGetToken=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,subscriptionOptions){const headers=yield index_esm2017_getHeaders(firebaseDependencies),body=getBody(subscriptionOptions),subscribeOptions={method:"POST",headers,body:JSON.stringify(body)};let responseData;try{responseData=yield(yield fetch(getEndpoint(firebaseDependencies.appConfig),subscribeOptions)).json()}catch(err){throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-subscribe-failed",{errorInfo:err?.toString()})}if(responseData.error)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-subscribe-failed",{errorInfo:responseData.error.message});if(!responseData.token)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-subscribe-no-token");return responseData.token})).apply(this,arguments)}function _requestUpdateToken(){return(_requestUpdateToken=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,tokenDetails){const headers=yield index_esm2017_getHeaders(firebaseDependencies),body=getBody(tokenDetails.subscriptionOptions),updateOptions={method:"PATCH",headers,body:JSON.stringify(body)};let responseData;try{responseData=yield(yield fetch(`${getEndpoint(firebaseDependencies.appConfig)}/${tokenDetails.token}`,updateOptions)).json()}catch(err){throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-update-failed",{errorInfo:err?.toString()})}if(responseData.error)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-update-failed",{errorInfo:responseData.error.message});if(!responseData.token)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-update-no-token");return responseData.token})).apply(this,arguments)}function requestDeleteToken(_x10,_x11){return _requestDeleteToken.apply(this,arguments)}function _requestDeleteToken(){return(_requestDeleteToken=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,token){const unsubscribeOptions={method:"DELETE",headers:yield index_esm2017_getHeaders(firebaseDependencies)};try{const responseData=yield(yield fetch(`${getEndpoint(firebaseDependencies.appConfig)}/${token}`,unsubscribeOptions)).json();if(responseData.error)throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-unsubscribe-failed",{errorInfo:responseData.error.message})}catch(err){throw dist_esm_index_esm2017_ERROR_FACTORY.create("token-unsubscribe-failed",{errorInfo:err?.toString()})}})).apply(this,arguments)}function getEndpoint({projectId}){return`${ENDPOINT}/projects/${projectId}/registrations`}function index_esm2017_getHeaders(_x12){return _getHeaders.apply(this,arguments)}function _getHeaders(){return(_getHeaders=asyncToGenerator_asyncToGenerator(function*({appConfig,installations}){const authToken=yield installations.getToken();return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":appConfig.apiKey,"x-goog-firebase-installations-auth":`FIS ${authToken}`})})).apply(this,arguments)}function getBody({p256dh,auth,endpoint,vapidKey}){const body={web:{endpoint,auth,p256dh}};return vapidKey!==DEFAULT_VAPID_KEY&&(body.web.applicationPubKey=vapidKey),body}const TOKEN_EXPIRATION_MS=6048e5;function _getTokenInternal(){return _getTokenInternal=asyncToGenerator_asyncToGenerator(function*(messaging){const pushSubscription=yield function getPushSubscription(_x19,_x20){return _getPushSubscription.apply(this,arguments)}(messaging.swRegistration,messaging.vapidKey),subscriptionOptions={vapidKey:messaging.vapidKey,swScope:messaging.swRegistration.scope,endpoint:pushSubscription.endpoint,auth:arrayToBase64(pushSubscription.getKey("auth")),p256dh:arrayToBase64(pushSubscription.getKey("p256dh"))},tokenDetails=yield dbGet(messaging.firebaseDependencies);if(tokenDetails){if(function isTokenValid(dbOptions,currentOptions){return currentOptions.vapidKey===dbOptions.vapidKey&¤tOptions.endpoint===dbOptions.endpoint&¤tOptions.auth===dbOptions.auth&¤tOptions.p256dh===dbOptions.p256dh}(tokenDetails.subscriptionOptions,subscriptionOptions))return Date.now()>=tokenDetails.createTime+TOKEN_EXPIRATION_MS?function updateToken(_x15,_x16){return _updateToken.apply(this,arguments)}(messaging,{token:tokenDetails.token,createTime:Date.now(),subscriptionOptions}):tokenDetails.token;try{yield requestDeleteToken(messaging.firebaseDependencies,tokenDetails.token)}catch(e2){console.warn(e2)}return getNewToken(messaging.firebaseDependencies,subscriptionOptions)}return getNewToken(messaging.firebaseDependencies,subscriptionOptions)}),_getTokenInternal.apply(this,arguments)}function _deleteTokenInternal(){return _deleteTokenInternal=asyncToGenerator_asyncToGenerator(function*(messaging){const tokenDetails=yield dbGet(messaging.firebaseDependencies);tokenDetails&&(yield requestDeleteToken(messaging.firebaseDependencies,tokenDetails.token),yield function dbRemove(_x5){return _dbRemove.apply(this,arguments)}(messaging.firebaseDependencies));const pushSubscription=yield messaging.swRegistration.pushManager.getSubscription();return!pushSubscription||pushSubscription.unsubscribe()}),_deleteTokenInternal.apply(this,arguments)}function _updateToken(){return _updateToken=asyncToGenerator_asyncToGenerator(function*(messaging,tokenDetails){try{const updatedToken=yield function requestUpdateToken(_x8,_x9){return _requestUpdateToken.apply(this,arguments)}(messaging.firebaseDependencies,tokenDetails),updatedTokenDetails=Object.assign(Object.assign({},tokenDetails),{token:updatedToken,createTime:Date.now()});return yield dbSet(messaging.firebaseDependencies,updatedTokenDetails),updatedToken}catch(e2){throw yield function deleteTokenInternal(_x14){return _deleteTokenInternal.apply(this,arguments)}(messaging),e2}}),_updateToken.apply(this,arguments)}function getNewToken(_x17,_x18){return _getNewToken.apply(this,arguments)}function _getNewToken(){return(_getNewToken=asyncToGenerator_asyncToGenerator(function*(firebaseDependencies,subscriptionOptions){const tokenDetails={token:yield requestGetToken(firebaseDependencies,subscriptionOptions),createTime:Date.now(),subscriptionOptions};return yield dbSet(firebaseDependencies,tokenDetails),tokenDetails.token})).apply(this,arguments)}function _getPushSubscription(){return(_getPushSubscription=asyncToGenerator_asyncToGenerator(function*(swRegistration,vapidKey){return(yield swRegistration.pushManager.getSubscription())||swRegistration.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:base64ToArray(vapidKey)})})).apply(this,arguments)}function externalizePayload(internalPayload){const payload={from:internalPayload.from,collapseKey:internalPayload.collapse_key,messageId:internalPayload.fcmMessageId};return function propagateNotificationPayload(payload,messagePayloadInternal){if(!messagePayloadInternal.notification)return;payload.notification={};const title=messagePayloadInternal.notification.title;title&&(payload.notification.title=title);const body=messagePayloadInternal.notification.body;body&&(payload.notification.body=body);const image=messagePayloadInternal.notification.image;image&&(payload.notification.image=image);const icon=messagePayloadInternal.notification.icon;icon&&(payload.notification.icon=icon)}(payload,internalPayload),function propagateDataPayload(payload,messagePayloadInternal){messagePayloadInternal.data&&(payload.data=messagePayloadInternal.data)}(payload,internalPayload),function propagateFcmOptions(payload,messagePayloadInternal){var _a,_b,_c,_d,_e;if(!(messagePayloadInternal.fcmOptions||null!==(_a=messagePayloadInternal.notification)&&void 0!==_a&&_a.click_action))return;payload.fcmOptions={};const link=null!==(_c=null===(_b=messagePayloadInternal.fcmOptions)||void 0===_b?void 0:_b.link)&&void 0!==_c?_c:null===(_d=messagePayloadInternal.notification)||void 0===_d?void 0:_d.click_action;link&&(payload.fcmOptions.link=link);const analyticsLabel=null===(_e=messagePayloadInternal.fcmOptions)||void 0===_e?void 0:_e.analytics_label;analyticsLabel&&(payload.fcmOptions.analyticsLabel=analyticsLabel)}(payload,internalPayload),payload}function _mergeStrings(s1,s2){const resultArray=[];for(let i6=0;i6{})}catch(e2){throw dist_esm_index_esm2017_ERROR_FACTORY.create("failed-service-worker-registration",{browserErrorMessage:e2?.message})}})).apply(this,arguments)}function _updateSwReg(){return(_updateSwReg=asyncToGenerator_asyncToGenerator(function*(messaging,swRegistration){if(!swRegistration&&!messaging.swRegistration&&(yield function registerDefaultSw(_x21){return _registerDefaultSw.apply(this,arguments)}(messaging)),swRegistration||!messaging.swRegistration){if(!(swRegistration instanceof ServiceWorkerRegistration))throw dist_esm_index_esm2017_ERROR_FACTORY.create("invalid-sw-registration");messaging.swRegistration=swRegistration}})).apply(this,arguments)}function _updateVapidKey(){return(_updateVapidKey=asyncToGenerator_asyncToGenerator(function*(messaging,vapidKey){vapidKey?messaging.vapidKey=vapidKey:messaging.vapidKey||(messaging.vapidKey=DEFAULT_VAPID_KEY)})).apply(this,arguments)}function _getToken$(){return _getToken$=asyncToGenerator_asyncToGenerator(function*(messaging,options){if(!navigator)throw dist_esm_index_esm2017_ERROR_FACTORY.create("only-available-in-window");if("default"===Notification.permission&&(yield Notification.requestPermission()),"granted"!==Notification.permission)throw dist_esm_index_esm2017_ERROR_FACTORY.create("permission-blocked");return yield function updateVapidKey(_x24,_x25){return _updateVapidKey.apply(this,arguments)}(messaging,options?.vapidKey),yield function updateSwReg(_x22,_x23){return _updateSwReg.apply(this,arguments)}(messaging,options?.serviceWorkerRegistration),function getTokenInternal(_x13){return _getTokenInternal.apply(this,arguments)}(messaging)}),_getToken$.apply(this,arguments)}function _logToScion(){return(_logToScion=asyncToGenerator_asyncToGenerator(function*(messaging,messageType,data){const eventType=function getEventType(messageType){switch(messageType){case MessageType.NOTIFICATION_CLICKED:return"notification_open";case MessageType.PUSH_RECEIVED:return"notification_foreground";default:throw new Error}}(messageType);(yield messaging.firebaseDependencies.analyticsProvider.get()).logEvent(eventType,{message_id:data[CONSOLE_CAMPAIGN_ID],message_name:data[CONSOLE_CAMPAIGN_NAME],message_time:data[CONSOLE_CAMPAIGN_TIME],message_device_time:Math.floor(Date.now()/1e3)})})).apply(this,arguments)}function _messageEventListener(){return _messageEventListener=asyncToGenerator_asyncToGenerator(function*(messaging,event){const internalPayload=event.data;if(!internalPayload.isFirebaseMessaging)return;messaging.onMessageHandler&&internalPayload.messageType===MessageType.PUSH_RECEIVED&&("function"==typeof messaging.onMessageHandler?messaging.onMessageHandler(externalizePayload(internalPayload)):messaging.onMessageHandler.next(externalizePayload(internalPayload)));const dataPayload=internalPayload.data;(function isConsoleMessage(data){return"object"==typeof data&&!!data&&CONSOLE_CAMPAIGN_ID in data})(dataPayload)&&"1"===dataPayload["google.c.a.e"]&&(yield function logToScion(_x28,_x29,_x30){return _logToScion.apply(this,arguments)}(messaging,internalPayload.messageType,dataPayload))}),_messageEventListener.apply(this,arguments)}const WindowMessagingFactory=container=>{const messaging=new MessagingService(container.getProvider("app").getImmediate(),container.getProvider("installations-internal").getImmediate(),container.getProvider("analytics-internal"));return navigator.serviceWorker.addEventListener("message",e2=>function messageEventListener(_x31,_x32){return _messageEventListener.apply(this,arguments)}(messaging,e2)),messaging},WindowMessagingInternalFactory=container=>{const messaging=container.getProvider("messaging").getImmediate();return{getToken:options=>function index_esm2017_getToken$1(_x26,_x27){return _getToken$.apply(this,arguments)}(messaging,options)}};function isWindowSupported(){return _isWindowSupported.apply(this,arguments)}function _isWindowSupported(){return(_isWindowSupported=asyncToGenerator_asyncToGenerator(function*(){try{yield validateIndexedDBOpenable()}catch{return!1}return typeof window<"u"&&index_esm2017_isIndexedDBAvailable()&&areCookiesEnabled()&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window&&"fetch"in window&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")})).apply(this,arguments)}!function registerMessagingInWindow(){_registerComponent(new index_esm2017_Component("messaging",WindowMessagingFactory,"PUBLIC")),_registerComponent(new index_esm2017_Component("messaging-internal",WindowMessagingInternalFactory,"PRIVATE")),index_esm2017_registerVersion("@firebase/messaging","0.12.4"),index_esm2017_registerVersion("@firebase/messaging","0.12.4","esm2017")}();const GA_FID_KEY="firebase_id",ORIGIN_KEY="origin",FETCH_TIMEOUT_MILLIS=6e4,DYNAMIC_CONFIG_URL="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig",GTAG_URL="https://www.googletagmanager.com/gtag/js",esm_index_esm2017_logger=new Logger("@firebase/analytics"),analytics_dist_esm_index_esm2017_ERROR_FACTORY=new ErrorFactory("analytics","Analytics",{"already-exists":"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.","already-initialized":"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-intialized instance.","already-initialized-settings":"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.","interop-component-reg-failed":"Firebase Analytics Interop Component failed to instantiate: {$reason}","invalid-analytics-context":"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","indexeddb-unavailable":"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","fetch-throttle":"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.","config-fetch-failed":"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}","no-api-key":'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',"no-app-id":'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.',"no-client-id":'The "client_id" field is empty.',"invalid-gtag-resource":"Trusted Types detected an invalid gtag resource: {$gtagURL}."});function createGtagTrustedTypesScriptURL(url){if(!url.startsWith(GTAG_URL)){const err=analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("invalid-gtag-resource",{gtagURL:url});return esm_index_esm2017_logger.warn(err.message),""}return url}function promiseAllSettled(promises){return Promise.all(promises.map(promise=>promise.catch(e2=>e2)))}function _gtagOnConfig(){return(_gtagOnConfig=asyncToGenerator_asyncToGenerator(function*(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2,measurementId,gtagParams){const correspondingAppId=measurementIdToAppId2[measurementId];try{if(correspondingAppId)yield initializationPromisesMap2[correspondingAppId];else{const foundConfig=(yield promiseAllSettled(dynamicConfigPromisesList2)).find(config2=>config2.measurementId===measurementId);foundConfig&&(yield initializationPromisesMap2[foundConfig.appId])}}catch(e2){esm_index_esm2017_logger.error(e2)}gtagCore("config",measurementId,gtagParams)})).apply(this,arguments)}function _gtagOnEvent(){return(_gtagOnEvent=asyncToGenerator_asyncToGenerator(function*(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementId,gtagParams){try{let initializationPromisesToWaitFor=[];if(gtagParams&>agParams.send_to){let gaSendToList=gtagParams.send_to;Array.isArray(gaSendToList)||(gaSendToList=[gaSendToList]);const dynamicConfigResults=yield promiseAllSettled(dynamicConfigPromisesList2);for(const sendToId of gaSendToList){const foundConfig=dynamicConfigResults.find(config2=>config2.measurementId===sendToId),initializationPromise=foundConfig&&initializationPromisesMap2[foundConfig.appId];if(!initializationPromise){initializationPromisesToWaitFor=[];break}initializationPromisesToWaitFor.push(initializationPromise)}}0===initializationPromisesToWaitFor.length&&(initializationPromisesToWaitFor=Object.values(initializationPromisesMap2)),yield Promise.all(initializationPromisesToWaitFor),gtagCore("event",measurementId,gtagParams||{})}catch(e2){esm_index_esm2017_logger.error(e2)}})).apply(this,arguments)}const LONG_RETRY_FACTOR=30,defaultRetryData=new class RetryData{constructor(throttleMetadata={},intervalMillis=1e3){this.throttleMetadata=throttleMetadata,this.intervalMillis=intervalMillis}getThrottleMetadata(appId){return this.throttleMetadata[appId]}setThrottleMetadata(appId,metadata){this.throttleMetadata[appId]=metadata}deleteThrottleMetadata(appId){delete this.throttleMetadata[appId]}};function esm_index_esm2017_getHeaders(apiKey){return new Headers({Accept:"application/json","x-goog-api-key":apiKey})}function _fetchDynamicConfig(){return(_fetchDynamicConfig=asyncToGenerator_asyncToGenerator(function*(appFields){var _a;const{appId,apiKey}=appFields,request={method:"GET",headers:esm_index_esm2017_getHeaders(apiKey)},appUrl=DYNAMIC_CONFIG_URL.replace("{app-id}",appId),response=yield fetch(appUrl,request);if(200!==response.status&&304!==response.status){let errorMessage="";try{const jsonResponse=yield response.json();null!==(_a=jsonResponse.error)&&void 0!==_a&&_a.message&&(errorMessage=jsonResponse.error.message)}catch{}throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("config-fetch-failed",{httpStatus:response.status,responseMessage:errorMessage})}return response.json()})).apply(this,arguments)}function _fetchDynamicConfigWithRetry(){return(_fetchDynamicConfigWithRetry=asyncToGenerator_asyncToGenerator(function*(app,retryData=defaultRetryData,timeoutMillis){const{appId,apiKey,measurementId}=app.options;if(!appId)throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("no-app-id");if(!apiKey){if(measurementId)return{measurementId,appId};throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("no-api-key")}const throttleMetadata=retryData.getThrottleMetadata(appId)||{backoffCount:0,throttleEndTimeMillis:Date.now()},signal2=new AnalyticsAbortSignal;return setTimeout(asyncToGenerator_asyncToGenerator(function*(){signal2.abort()}),void 0!==timeoutMillis?timeoutMillis:FETCH_TIMEOUT_MILLIS),attemptFetchDynamicConfigWithRetry({appId,apiKey,measurementId},throttleMetadata,signal2,retryData)})).apply(this,arguments)}function attemptFetchDynamicConfigWithRetry(_x15,_x16,_x17){return _attemptFetchDynamicConfigWithRetry.apply(this,arguments)}function _attemptFetchDynamicConfigWithRetry(){return _attemptFetchDynamicConfigWithRetry=asyncToGenerator_asyncToGenerator(function*(appFields,{throttleEndTimeMillis,backoffCount},signal2,retryData=defaultRetryData){var _a;const{appId,measurementId}=appFields;try{yield function index_esm2017_setAbortableTimeout(signal2,throttleEndTimeMillis){return new Promise((resolve,reject)=>{const backoffMillis=Math.max(throttleEndTimeMillis-Date.now(),0),timeout=setTimeout(resolve,backoffMillis);signal2.addEventListener(()=>{clearTimeout(timeout),reject(analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-throttle",{throttleEndTimeMillis}))})})}(signal2,throttleEndTimeMillis)}catch(e2){if(measurementId)return esm_index_esm2017_logger.warn(`Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID ${measurementId} provided in the "measurementId" field in the local Firebase config. [${e2?.message}]`),{appId,measurementId};throw e2}try{const response=yield function fetchDynamicConfig(_x13){return _fetchDynamicConfig.apply(this,arguments)}(appFields);return retryData.deleteThrottleMetadata(appId),response}catch(e2){const error=e2;if(!function index_esm2017_isRetriableError(e2){if(!(e2 instanceof index_esm2017_FirebaseError&&e2.customData))return!1;const httpStatus=Number(e2.customData.httpStatus);return 429===httpStatus||500===httpStatus||503===httpStatus||504===httpStatus}(error)){if(retryData.deleteThrottleMetadata(appId),measurementId)return esm_index_esm2017_logger.warn(`Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID ${measurementId} provided in the "measurementId" field in the local Firebase config. [${error?.message}]`),{appId,measurementId};throw e2}const backoffMillis=503===Number(null===(_a=error?.customData)||void 0===_a?void 0:_a.httpStatus)?index_esm2017_calculateBackoffMillis(backoffCount,retryData.intervalMillis,LONG_RETRY_FACTOR):index_esm2017_calculateBackoffMillis(backoffCount,retryData.intervalMillis),throttleMetadata={throttleEndTimeMillis:Date.now()+backoffMillis,backoffCount:backoffCount+1};return retryData.setThrottleMetadata(appId,throttleMetadata),esm_index_esm2017_logger.debug(`Calling attemptFetch again in ${backoffMillis} millis`),attemptFetchDynamicConfigWithRetry(appFields,throttleMetadata,signal2,retryData)}}),_attemptFetchDynamicConfigWithRetry.apply(this,arguments)}class AnalyticsAbortSignal{constructor(){this.listeners=[]}addEventListener(listener){this.listeners.push(listener)}abort(){this.listeners.forEach(listener=>listener())}}let defaultEventParametersForInit,defaultConsentSettingsForInit;function _logEvent$(){return(_logEvent$=asyncToGenerator_asyncToGenerator(function*(gtagFunction,initializationPromise,eventName,eventParams,options){if(options&&options.global)gtagFunction("event",eventName,eventParams);else{const measurementId=yield initializationPromise;gtagFunction("event",eventName,Object.assign(Object.assign({},eventParams),{send_to:measurementId}))}})).apply(this,arguments)}function _validateIndexedDB(){return(_validateIndexedDB=asyncToGenerator_asyncToGenerator(function*(){if(!index_esm2017_isIndexedDBAvailable())return esm_index_esm2017_logger.warn(analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;try{yield validateIndexedDBOpenable()}catch(e2){return esm_index_esm2017_logger.warn(analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("indexeddb-unavailable",{errorInfo:e2?.toString()}).message),!1}return!0})).apply(this,arguments)}function _initializeAnalytics2(){return _initializeAnalytics2=asyncToGenerator_asyncToGenerator(function*(app,dynamicConfigPromisesList2,measurementIdToAppId2,installations,gtagCore,dataLayerName2,options){var _a;const dynamicConfigPromise=function fetchDynamicConfigWithRetry(_x14){return _fetchDynamicConfigWithRetry.apply(this,arguments)}(app);dynamicConfigPromise.then(config2=>{measurementIdToAppId2[config2.measurementId]=config2.appId,app.options.measurementId&&config2.measurementId!==app.options.measurementId&&esm_index_esm2017_logger.warn(`The measurement ID in the local Firebase config (${app.options.measurementId}) does not match the measurement ID fetched from the server (${config2.measurementId}). To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.`)}).catch(e2=>esm_index_esm2017_logger.error(e2)),dynamicConfigPromisesList2.push(dynamicConfigPromise);const fidPromise=function validateIndexedDB(){return _validateIndexedDB.apply(this,arguments)}().then(envIsValid=>{if(envIsValid)return installations.getId()}),[dynamicConfig,fid]=yield Promise.all([dynamicConfigPromise,fidPromise]);(function findGtagScriptOnPage(dataLayerName2){const scriptTags=window.document.getElementsByTagName("script");for(const tag of Object.values(scriptTags))if(tag.src&&tag.src.includes(GTAG_URL)&&tag.src.includes(dataLayerName2))return tag;return null})(dataLayerName2)||function insertScriptTag(dataLayerName2,measurementId){const trustedTypesPolicy=function createTrustedTypesPolicy(policyName,policyOptions){let trustedTypesPolicy;return window.trustedTypes&&(trustedTypesPolicy=window.trustedTypes.createPolicy(policyName,policyOptions)),trustedTypesPolicy}("firebase-js-sdk-policy",{createScriptURL:createGtagTrustedTypesScriptURL}),script=document.createElement("script"),gtagScriptURL=`${GTAG_URL}?l=${dataLayerName2}&id=${measurementId}`;script.src=trustedTypesPolicy?trustedTypesPolicy?.createScriptURL(gtagScriptURL):gtagScriptURL,script.async=!0,document.head.appendChild(script)}(dataLayerName2,dynamicConfig.measurementId),defaultConsentSettingsForInit&&(gtagCore("consent","default",defaultConsentSettingsForInit),function _setConsentDefaultForInit(consentSettings){defaultConsentSettingsForInit=consentSettings}(void 0)),gtagCore("js",new Date);const configProperties=null!==(_a=options?.config)&&void 0!==_a?_a:{};return configProperties[ORIGIN_KEY]="firebase",configProperties.update=!0,null!=fid&&(configProperties[GA_FID_KEY]=fid),gtagCore("config",dynamicConfig.measurementId,configProperties),defaultEventParametersForInit&&(gtagCore("set",defaultEventParametersForInit),function _setDefaultEventParametersForInit(customParams){defaultEventParametersForInit=customParams}(void 0)),dynamicConfig.measurementId}),_initializeAnalytics2.apply(this,arguments)}class AnalyticsService{constructor(app){this.app=app}_delete(){return delete initializationPromisesMap[this.app.options.appId],Promise.resolve()}}let initializationPromisesMap={},dynamicConfigPromisesList=[];const measurementIdToAppId={};let gtagCoreFunction,wrappedGtagFunction,globalInitDone=!1;function factory(app,installations,options){!function warnOnBrowserContextMismatch(){const mismatchedEnvMessages=[];if(isBrowserExtension()&&mismatchedEnvMessages.push("This is a browser extension environment."),areCookiesEnabled()||mismatchedEnvMessages.push("Cookies are not available."),mismatchedEnvMessages.length>0){const details=mismatchedEnvMessages.map((message,index)=>`(${index+1}) ${message}`).join(" "),err=analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("invalid-analytics-context",{errorInfo:details});esm_index_esm2017_logger.warn(err.message)}}();const appId=app.options.appId;if(!appId)throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("no-app-id");if(!app.options.apiKey){if(!app.options.measurementId)throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("no-api-key");esm_index_esm2017_logger.warn(`The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID ${app.options.measurementId} provided in the "measurementId" field in the local Firebase config.`)}if(null!=initializationPromisesMap[appId])throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("already-exists",{id:appId});if(!globalInitDone){!function getOrCreateDataLayer(dataLayerName2){let dataLayer=[];Array.isArray(window[dataLayerName2])?dataLayer=window[dataLayerName2]:window[dataLayerName2]=dataLayer}("dataLayer");const{wrappedGtag,gtagCore}=function wrapOrCreateGtag(initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2,dataLayerName2,gtagFunctionName){let gtagCore=function(..._args){window[dataLayerName2].push(arguments)};return window[gtagFunctionName]&&"function"==typeof window[gtagFunctionName]&&(gtagCore=window[gtagFunctionName]),window[gtagFunctionName]=function wrapGtag(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2){function _gtagWrapper(){return _gtagWrapper=asyncToGenerator_asyncToGenerator(function*(command,...args){try{if("event"===command){const[measurementId,gtagParams]=args;yield function gtagOnEvent(_x7,_x8,_x9,_x10,_x11){return _gtagOnEvent.apply(this,arguments)}(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementId,gtagParams)}else if("config"===command){const[measurementId,gtagParams]=args;yield function gtagOnConfig(_x,_x2,_x3,_x4,_x5,_x6){return _gtagOnConfig.apply(this,arguments)}(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2,measurementId,gtagParams)}else if("consent"===command){const[gtagParams]=args;gtagCore("consent","update",gtagParams)}else if("get"===command){const[measurementId,fieldName,callback]=args;gtagCore("get",measurementId,fieldName,callback)}else if("set"===command){const[customParams]=args;gtagCore("set",customParams)}else gtagCore(command,...args)}catch(e2){esm_index_esm2017_logger.error(e2)}}),_gtagWrapper.apply(this,arguments)}return function gtagWrapper(_x12){return _gtagWrapper.apply(this,arguments)}}(gtagCore,initializationPromisesMap2,dynamicConfigPromisesList2,measurementIdToAppId2),{gtagCore,wrappedGtag:window[gtagFunctionName]}}(initializationPromisesMap,dynamicConfigPromisesList,measurementIdToAppId,"dataLayer","gtag");wrappedGtagFunction=wrappedGtag,gtagCoreFunction=gtagCore,globalInitDone=!0}return initializationPromisesMap[appId]=function _initializeAnalytics(_x39,_x40,_x41,_x42,_x43,_x44,_x45){return _initializeAnalytics2.apply(this,arguments)}(app,dynamicConfigPromisesList,measurementIdToAppId,installations,gtagCoreFunction,"dataLayer",options),new AnalyticsService(app)}function index_esm2017_isSupported(){return esm_index_esm2017_isSupported.apply(this,arguments)}function esm_index_esm2017_isSupported(){return(esm_index_esm2017_isSupported=asyncToGenerator_asyncToGenerator(function*(){if(isBrowserExtension()||!areCookiesEnabled()||!index_esm2017_isIndexedDBAvailable())return!1;try{return yield validateIndexedDBOpenable()}catch{return!1}})).apply(this,arguments)}!function registerAnalytics(){_registerComponent(new index_esm2017_Component("analytics",(container,{options:analyticsOptions})=>factory(container.getProvider("app").getImmediate(),container.getProvider("installations-internal").getImmediate(),analyticsOptions),"PUBLIC")),_registerComponent(new index_esm2017_Component("analytics-internal",function internalFactory2(container){try{const analytics=container.getProvider("analytics").getImmediate();return{logEvent:(eventName,eventParams,options)=>function logEvent(analyticsInstance,eventName,eventParams,options){analyticsInstance=index_esm2017_getModularInstance(analyticsInstance),function logEvent$1(_x18,_x19,_x20,_x21,_x22){return _logEvent$.apply(this,arguments)}(wrappedGtagFunction,initializationPromisesMap[analyticsInstance.app.options.appId],eventName,eventParams,options).catch(e2=>esm_index_esm2017_logger.error(e2))}(analytics,eventName,eventParams,options)}}catch(e2){throw analytics_dist_esm_index_esm2017_ERROR_FACTORY.create("interop-component-reg-failed",{reason:e2})}},"PRIVATE")),index_esm2017_registerVersion("@firebase/analytics","0.10.0"),index_esm2017_registerVersion("@firebase/analytics","0.10.0","esm2017")}();class Action extends Subscription_Subscription{constructor(scheduler,work){super()}schedule(state2,delay=0){return this}}const intervalProvider={setInterval(handler,timeout,...args){const{delegate}=intervalProvider;return delegate?.setInterval?delegate.setInterval(handler,timeout,...args):setInterval(handler,timeout,...args)},clearInterval(handle){const{delegate}=intervalProvider;return(delegate?.clearInterval||clearInterval)(handle)},delegate:void 0};class AsyncAction extends Action{constructor(scheduler,work){super(scheduler,work),this.scheduler=scheduler,this.work=work,this.pending=!1}schedule(state2,delay=0){var _a;if(this.closed)return this;this.state=state2;const id=this.id,scheduler=this.scheduler;return null!=id&&(this.id=this.recycleAsyncId(scheduler,id,delay)),this.pending=!0,this.delay=delay,this.id=null!==(_a=this.id)&&void 0!==_a?_a:this.requestAsyncId(scheduler,this.id,delay),this}requestAsyncId(scheduler,_id2,delay=0){return intervalProvider.setInterval(scheduler.flush.bind(scheduler,this),delay)}recycleAsyncId(_scheduler,id,delay=0){if(null!=delay&&this.delay===delay&&!1===this.pending)return id;null!=id&&intervalProvider.clearInterval(id)}execute(state2,delay){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const error=this._execute(state2,delay);if(error)return error;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(state2,_delay){let errorValue,errored=!1;try{this.work(state2)}catch(e2){errored=!0,errorValue=e2||new Error("Scheduled action threw falsy error")}if(errored)return this.unsubscribe(),errorValue}unsubscribe(){if(!this.closed){const{id,scheduler}=this,{actions}=scheduler;this.work=this.state=this.scheduler=null,this.pending=!1,arrRemove(actions,this),null!=id&&(this.id=this.recycleAsyncId(scheduler,id,null)),this.delay=null,super.unsubscribe()}}}const dateTimestampProvider={now:()=>(dateTimestampProvider.delegate||Date).now(),delegate:void 0};class Scheduler{constructor(schedulerActionCtor,now=Scheduler.now){this.schedulerActionCtor=schedulerActionCtor,this.now=now}schedule(work,delay=0,state2){return new this.schedulerActionCtor(this,work).schedule(state2,delay)}}Scheduler.now=dateTimestampProvider.now;class AsyncScheduler extends Scheduler{constructor(SchedulerAction,now=Scheduler.now){super(SchedulerAction,now),this.actions=[],this._active=!1}flush(action){const{actions}=this;if(this._active)return void actions.push(action);let error;this._active=!0;do{if(error=action.execute(action.state,action.delay))break}while(action=actions.shift());if(this._active=!1,error){for(;action=actions.shift();)action.unsubscribe();throw error}}}const queueScheduler=new class QueueScheduler extends AsyncScheduler{}(class QueueAction extends AsyncAction{constructor(scheduler,work){super(scheduler,work),this.scheduler=scheduler,this.work=work}schedule(state2,delay=0){return delay>0?super.schedule(state2,delay):(this.delay=delay,this.state=state2,this.scheduler.flush(this),this)}execute(state2,delay){return delay>0||this.closed?super.execute(state2,delay):this._execute(state2,delay)}requestAsyncId(scheduler,id,delay=0){return null!=delay&&delay>0||null==delay&&this.delay>0?super.requestAsyncId(scheduler,id,delay):(scheduler.flush(this),0)}}),asyncScheduler=new AsyncScheduler(AsyncAction),async_async=asyncScheduler;function tap_tap(observerOrNext,error,complete){const tapObserver=isFunction(observerOrNext)||error||complete?{next:observerOrNext,error,complete}:observerOrNext;return tapObserver?operate((source,subscriber)=>{var _a;null===(_a=tapObserver.subscribe)||void 0===_a||_a.call(tapObserver);let isUnsub=!0;source.subscribe(createOperatorSubscriber(subscriber,value=>{var _a2;null===(_a2=tapObserver.next)||void 0===_a2||_a2.call(tapObserver,value),subscriber.next(value)},()=>{var _a2;isUnsub=!1,null===(_a2=tapObserver.complete)||void 0===_a2||_a2.call(tapObserver),subscriber.complete()},err=>{var _a2;isUnsub=!1,null===(_a2=tapObserver.error)||void 0===_a2||_a2.call(tapObserver,err),subscriber.error(err)},()=>{var _a2,_b;isUnsub&&(null===(_a2=tapObserver.unsubscribe)||void 0===_a2||_a2.call(tapObserver)),null===(_b=tapObserver.finalize)||void 0===_b||_b.call(tapObserver)}))}):identity}const angular_fire_VERSION=new Version("7.6.1");globalThis.__angularfire_symbol__analyticsIsSupported||(globalThis.__angularfire_symbol__analyticsIsSupported=index_esm2017_isSupported().then(it=>globalThis.__angularfire_symbol__analyticsIsSupportedValue=it).catch(()=>globalThis.__angularfire_symbol__analyticsIsSupportedValue=!1)),globalThis.__angularfire_symbol__messagingIsSupported||(globalThis.__angularfire_symbol__messagingIsSupported=isWindowSupported().then(it=>globalThis.__angularfire_symbol__messagingIsSupportedValue=it).catch(()=>globalThis.__angularfire_symbol__messagingIsSupportedValue=!1)),globalThis.__angularfire_symbol__remoteConfigIsSupported||(globalThis.__angularfire_symbol__remoteConfigIsSupported=isSupported().then(it=>globalThis.__angularfire_symbol__remoteConfigIsSupportedValue=it).catch(()=>globalThis.__angularfire_symbol__remoteConfigIsSupportedValue=!1));const angular_fire_getAllInstancesOf=(identifier,app)=>{const apps=app?[app]:getApps(),instances2=[];return apps.forEach(app2=>{app2.container.getProvider(identifier).instances.forEach(instance=>{instances2.includes(instance)||instances2.push(instance)})}),instances2};function angular_fire_noop(){}class \u0275ZoneScheduler{constructor(zone,delegate=queueScheduler){this.zone=zone,this.delegate=delegate}now(){return this.delegate.now()}schedule(work,delay,state2){const targetZone=this.zone;return this.delegate.schedule(function(state3){targetZone.runGuarded(()=>{work.apply(this,[state3])})},delay,state2)}}class BlockUntilFirstOperator{constructor(zone){this.zone=zone,this.task=null}call(subscriber,source){const unscheduleTask=this.unscheduleTask.bind(this);return this.task=this.zone.run(()=>Zone.current.scheduleMacroTask("firebaseZoneBlock",angular_fire_noop,{},angular_fire_noop,angular_fire_noop)),source.pipe(tap_tap({next:unscheduleTask,complete:unscheduleTask,error:unscheduleTask})).subscribe(subscriber).add(unscheduleTask)}unscheduleTask(){setTimeout(()=>{null!=this.task&&"scheduled"===this.task.state&&(this.task.invoke(),this.task=null)},10)}}let angular_fire_AngularFireSchedulers=(()=>{class \u0275AngularFireSchedulers2{constructor(ngZone){this.ngZone=ngZone,this.outsideAngular=ngZone.runOutsideAngular(()=>new \u0275ZoneScheduler(Zone.current)),this.insideAngular=ngZone.run(()=>new \u0275ZoneScheduler(Zone.current,asyncScheduler)),globalThis.\u0275AngularFireScheduler||(globalThis.\u0275AngularFireScheduler=this)}}return \u0275AngularFireSchedulers2.\u0275fac=function(t){return new(t||\u0275AngularFireSchedulers2)(core_inject(core_NgZone))},\u0275AngularFireSchedulers2.\u0275prov=core_defineInjectable({token:\u0275AngularFireSchedulers2,factory:\u0275AngularFireSchedulers2.\u0275fac,providedIn:"root"}),\u0275AngularFireSchedulers2})();function getSchedulers(){const schedulers=globalThis.\u0275AngularFireScheduler;if(!schedulers)throw new Error("Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using\nprovideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).");return schedulers}function run(fn){return getSchedulers().ngZone.run(()=>fn())}function keepUnstableUntilFirst(obs$){return getSchedulers(),function \u0275keepUnstableUntilFirstFactory(schedulers){return function(obs$){return(obs$=obs$.lift(new BlockUntilFirstOperator(schedulers.ngZone))).pipe(subscribeOn(schedulers.outsideAngular),observeOn_observeOn(schedulers.insideAngular))}}(getSchedulers())(obs$)}const zoneWrapFn=(it,macrotask)=>function(){const _arguments=arguments;return macrotask&&setTimeout(()=>{"scheduled"===macrotask.state&¯otask.invoke()},10),run(()=>it.apply(void 0,_arguments))},angular_fire_zoneWrap=(it,blockUntilFirst)=>function(){let macrotask;const _arguments=arguments;for(let i6=0;i6Zone.current.scheduleMacroTask("firebaseZoneBlock",angular_fire_noop,{},angular_fire_noop,angular_fire_noop)))),_arguments[i6]=zoneWrapFn(_arguments[i6],macrotask));const ret=function angular_fire_runOutsideAngular(fn){return getSchedulers().ngZone.runOutsideAngular(()=>fn())}(()=>it.apply(this,_arguments));if(!blockUntilFirst){if(ret instanceof Observable_Observable){const schedulers=getSchedulers();return ret.pipe(subscribeOn(schedulers.outsideAngular),observeOn_observeOn(schedulers.insideAngular))}return run(()=>ret)}return ret instanceof Observable_Observable?ret.pipe(keepUnstableUntilFirst):ret instanceof Promise?run(()=>new Promise((resolve,reject)=>ret.then(it2=>run(()=>resolve(it2)),reason=>run(()=>reject(reason))))):"function"==typeof ret&¯otask?function(){return setTimeout(()=>{macrotask&&"scheduled"===macrotask.state&¯otask.invoke()},10),ret.apply(this,arguments)}:run(()=>ret)};class FirebaseApp{constructor(app){return app}}class angular_fire_app_FirebaseApps{constructor(){return getApps()}}const PROVIDED_FIREBASE_APPS=new InjectionToken("angularfire2._apps"),DEFAULT_FIREBASE_APP_PROVIDER={provide:FirebaseApp,useFactory:function defaultFirebaseAppFactory(provided){return provided&&1===provided.length?provided[0]:new FirebaseApp(index_esm2017_getApp())},deps:[[new core_Optional,PROVIDED_FIREBASE_APPS]]},FIREBASE_APPS_PROVIDER={provide:angular_fire_app_FirebaseApps,deps:[[new core_Optional,PROVIDED_FIREBASE_APPS]]};function firebaseAppFactory(fn){return(zone,injector)=>{const app=zone.runOutsideAngular(()=>fn(injector));return new FirebaseApp(app)}}let FirebaseAppModule=(()=>{class FirebaseAppModule2{constructor(platformId){index_esm2017_registerVersion("angularfire",angular_fire_VERSION.full,"core"),index_esm2017_registerVersion("angularfire",angular_fire_VERSION.full,"app"),index_esm2017_registerVersion("angular",core_VERSION.full,platformId.toString())}}return FirebaseAppModule2.\u0275fac=function(t){return new(t||FirebaseAppModule2)(core_inject(core_PLATFORM_ID))},FirebaseAppModule2.\u0275mod=\u0275\u0275defineNgModule({type:FirebaseAppModule2}),FirebaseAppModule2.\u0275inj=\u0275\u0275defineInjector({providers:[DEFAULT_FIREBASE_APP_PROVIDER,FIREBASE_APPS_PROVIDER]}),FirebaseAppModule2})();function provideFirebaseApp(fn,...deps){return{ngModule:FirebaseAppModule,providers:[{provide:PROVIDED_FIREBASE_APPS,useFactory:firebaseAppFactory(fn),multi:!0,deps:[core_NgZone,core_Injector,angular_fire_AngularFireSchedulers,...deps]}]}}const angular_fire_app_initializeApp=angular_fire_zoneWrap(initializeApp,!0);const prodErrorMap=function _prodErrorMap(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}},_DEFAULT_AUTH_ERROR_FACTORY=new ErrorFactory("auth","Firebase",{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}),logClient=new Logger("@firebase/auth");function _logError(msg,...args){logClient.logLevel<=index_esm2017_LogLevel.ERROR&&logClient.error(`Auth (${index_esm2017_SDK_VERSION}): ${msg}`,...args)}function _fail(authOrCode,...rest){throw createErrorInternal(authOrCode,...rest)}function _createError(authOrCode,...rest){return createErrorInternal(authOrCode,...rest)}function createErrorInternal(authOrCode,...rest){if("string"!=typeof authOrCode){const code=rest[0],fullParams=[...rest.slice(1)];return fullParams[0]&&(fullParams[0].appName=authOrCode.name),authOrCode._errorFactory.create(code,...fullParams)}return _DEFAULT_AUTH_ERROR_FACTORY.create(authOrCode,...rest)}function _assert(assertion,authOrCode,...rest){if(!assertion)throw createErrorInternal(authOrCode,...rest)}function debugFail(failure){const message="INTERNAL ASSERTION FAILED: "+failure;throw _logError(message),new Error(message)}function debugAssert(assertion,message){assertion||debugFail(message)}function _getCurrentScheme(){var _a;return typeof self<"u"&&(null===(_a=self.location)||void 0===_a?void 0:_a.protocol)||null}class Delay{constructor(shortDelay,longDelay){this.shortDelay=shortDelay,this.longDelay=longDelay,debugAssert(longDelay>shortDelay,"Short delay should be less than long delay!"),this.isMobile=function isMobileCordova(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(index_esm2017_getUA())}()||function isReactNative(){return"object"==typeof navigator&&"ReactNative"===navigator.product}()}get(){return function _isOnline(){return!(typeof navigator<"u"&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&(function _isHttpOrHttps(){return"http:"===_getCurrentScheme()||"https:"===_getCurrentScheme()}()||isBrowserExtension()||"connection"in navigator))||navigator.onLine}()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}class FetchProvider{static initialize(fetchImpl,headersImpl,responseImpl){this.fetchImpl=fetchImpl,headersImpl&&(this.headersImpl=headersImpl),responseImpl&&(this.responseImpl=responseImpl)}static fetch(){return this.fetchImpl?this.fetchImpl:typeof self<"u"&&"fetch"in self?self.fetch:void debugFail("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:typeof self<"u"&&"Headers"in self?self.Headers:void debugFail("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:typeof self<"u"&&"Response"in self?self.Response:void debugFail("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}const SERVER_ERROR_MAP={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-recaptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"},DEFAULT_API_TIMEOUT_MS=new Delay(3e4,6e4);function _performApiRequest(_x,_x2,_x3,_x4){return _performApiRequest2.apply(this,arguments)}function _performApiRequest2(){return(_performApiRequest2=asyncToGenerator_asyncToGenerator(function*(auth,method,path,request,customErrorMap={}){return _performFetchWithErrorHandling(auth,customErrorMap,asyncToGenerator_asyncToGenerator(function*(){let body={},params={};request&&("GET"===method?params=request:body={body:JSON.stringify(request)});const query2=index_esm2017_querystring(Object.assign({key:auth.config.apiKey},params)).slice(1),headers=yield auth._getAdditionalHeaders();return headers["Content-Type"]="application/json",auth.languageCode&&(headers["X-Firebase-Locale"]=auth.languageCode),FetchProvider.fetch()(_getFinalTarget(auth,auth.config.apiHost,path,query2),Object.assign({method,headers,referrerPolicy:"no-referrer"},body))}))})).apply(this,arguments)}function _performFetchWithErrorHandling(_x5,_x6,_x7){return _performFetchWithErrorHandling2.apply(this,arguments)}function _performFetchWithErrorHandling2(){return(_performFetchWithErrorHandling2=asyncToGenerator_asyncToGenerator(function*(auth,customErrorMap,fetchFn){auth._canInitEmulator=!1;const errorMap=Object.assign(Object.assign({},SERVER_ERROR_MAP),customErrorMap);try{const networkTimeout=new NetworkTimeout(auth),response=yield Promise.race([fetchFn(),networkTimeout.promise]);networkTimeout.clearNetworkTimeout();const json=yield response.json();if("needConfirmation"in json)throw _makeTaggedError(auth,"account-exists-with-different-credential",json);if(response.ok&&!("errorMessage"in json))return json;{const errorMessage=response.ok?json.errorMessage:json.error.message,[serverErrorCode,serverErrorMessage]=errorMessage.split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===serverErrorCode)throw _makeTaggedError(auth,"credential-already-in-use",json);if("EMAIL_EXISTS"===serverErrorCode)throw _makeTaggedError(auth,"email-already-in-use",json);if("USER_DISABLED"===serverErrorCode)throw _makeTaggedError(auth,"user-disabled",json);const authError=errorMap[serverErrorCode]||serverErrorCode.toLowerCase().replace(/[_\s]+/g,"-");if(serverErrorMessage)throw function _errorWithCustomMessage(auth,code,message){const errorMap=Object.assign(Object.assign({},prodErrorMap()),{[code]:message});return new ErrorFactory("auth","Firebase",errorMap).create(code,{appName:auth.name})}(auth,authError,serverErrorMessage);_fail(auth,authError)}}catch(e2){if(e2 instanceof index_esm2017_FirebaseError)throw e2;_fail(auth,"network-request-failed",{message:String(e2)})}})).apply(this,arguments)}function _getFinalTarget(auth,host,path,query2){const base=`${host}${path}?${query2}`;return auth.config.emulator?function _emulatorUrl(config2,path){debugAssert(config2.emulator,"Emulator should always be set here");const{url}=config2.emulator;return path?`${url}${path.startsWith("/")?path.slice(1):path}`:url}(auth.config,base):`${auth.config.apiScheme}://${base}`}class NetworkTimeout{constructor(auth){this.auth=auth,this.timer=null,this.promise=new Promise((_,reject)=>{this.timer=setTimeout(()=>reject(_createError(this.auth,"network-request-failed")),DEFAULT_API_TIMEOUT_MS.get())})}clearNetworkTimeout(){clearTimeout(this.timer)}}function _makeTaggedError(auth,code,response){const errorParams={appName:auth.name};response.email&&(errorParams.email=response.email),response.phoneNumber&&(errorParams.phoneNumber=response.phoneNumber);const error=_createError(auth,code,errorParams);return error.customData._tokenResponse=response,error}function _deleteAccount(){return(_deleteAccount=asyncToGenerator_asyncToGenerator(function*(auth,request){return _performApiRequest(auth,"POST","/v1/accounts:delete",request)})).apply(this,arguments)}function _getAccountInfo(){return(_getAccountInfo=asyncToGenerator_asyncToGenerator(function*(auth,request){return _performApiRequest(auth,"POST","/v1/accounts:lookup",request)})).apply(this,arguments)}function utcTimestampToDateString(utcTimestamp){if(utcTimestamp)try{const date=new Date(Number(utcTimestamp));if(!isNaN(date.getTime()))return date.toUTCString()}catch{}}function _getIdTokenResult(){return(_getIdTokenResult=asyncToGenerator_asyncToGenerator(function*(user2,forceRefresh=!1){const userInternal=index_esm2017_getModularInstance(user2),token=yield userInternal.getIdToken(forceRefresh),claims=_parseToken(token);_assert(claims&&claims.exp&&claims.auth_time&&claims.iat,userInternal.auth,"internal-error");const firebase="object"==typeof claims.firebase?claims.firebase:void 0,signInProvider=firebase?.sign_in_provider;return{claims,token,authTime:utcTimestampToDateString(secondsStringToMilliseconds(claims.auth_time)),issuedAtTime:utcTimestampToDateString(secondsStringToMilliseconds(claims.iat)),expirationTime:utcTimestampToDateString(secondsStringToMilliseconds(claims.exp)),signInProvider:signInProvider||null,signInSecondFactor:firebase?.sign_in_second_factor||null}})).apply(this,arguments)}function secondsStringToMilliseconds(seconds){return 1e3*Number(seconds)}function _parseToken(token){const[algorithm,payload,signature]=token.split(".");if(void 0===algorithm||void 0===payload||void 0===signature)return _logError("JWT malformed, contained fewer than 3 sections"),null;try{const decoded=base64Decode(payload);return decoded?JSON.parse(decoded):(_logError("Failed to decode base64 JWT payload"),null)}catch(e2){return _logError("Caught error parsing JWT payload as JSON",e2?.toString()),null}}function _logoutIfInvalidated(_x19,_x20){return _logoutIfInvalidated2.apply(this,arguments)}function _logoutIfInvalidated2(){return(_logoutIfInvalidated2=asyncToGenerator_asyncToGenerator(function*(user2,promise,bypassAuthState=!1){if(bypassAuthState)return promise;try{return yield promise}catch(e2){throw e2 instanceof index_esm2017_FirebaseError&&function isUserInvalidated({code}){return"auth/user-disabled"===code||"auth/user-token-expired"===code}(e2)&&user2.auth.currentUser===user2&&(yield user2.auth.signOut()),e2}})).apply(this,arguments)}class ProactiveRefresh{constructor(user2){this.user=user2,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(wasError){var _a;if(wasError){const interval=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),interval}{this.errorBackoff=3e4;const interval=(null!==(_a=this.user.stsTokenManager.expirationTime)&&void 0!==_a?_a:0)-Date.now()-3e5;return Math.max(0,interval)}}schedule(wasError=!1){var _this=this;if(!this.isRunning)return;const interval=this.getInterval(wasError);this.timerId=setTimeout(asyncToGenerator_asyncToGenerator(function*(){yield _this.iteration()}),interval)}iteration(){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){try{yield _this2.user.getIdToken(!0)}catch(e2){return void("auth/network-request-failed"===e2?.code&&_this2.schedule(!0))}_this2.schedule()})()}}class UserMetadata{constructor(createdAt,lastLoginAt){this.createdAt=createdAt,this.lastLoginAt=lastLoginAt,this._initializeTime()}_initializeTime(){this.lastSignInTime=utcTimestampToDateString(this.lastLoginAt),this.creationTime=utcTimestampToDateString(this.createdAt)}_copy(metadata){this.createdAt=metadata.createdAt,this.lastLoginAt=metadata.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}function _reloadWithoutSaving(_x21){return _reloadWithoutSaving2.apply(this,arguments)}function _reloadWithoutSaving2(){return _reloadWithoutSaving2=asyncToGenerator_asyncToGenerator(function*(user2){var _a;const auth=user2.auth,idToken2=yield user2.getIdToken(),response=yield _logoutIfInvalidated(user2,function getAccountInfo(_x16,_x17){return _getAccountInfo.apply(this,arguments)}(auth,{idToken:idToken2}));_assert(response?.users.length,auth,"internal-error");const coreAccount=response.users[0];user2._notifyReloadListener(coreAccount);const newProviderData=null!==(_a=coreAccount.providerUserInfo)&&void 0!==_a&&_a.length?function extractProviderData(providers){return providers.map(_a=>{var{providerId}=_a,provider=tslib_es6_rest(_a,["providerId"]);return{providerId,uid:provider.rawId||"",displayName:provider.displayName||null,email:provider.email||null,phoneNumber:provider.phoneNumber||null,photoURL:provider.photoUrl||null}})}(coreAccount.providerUserInfo):[],providerData=function mergeProviderData(original,newData){return[...original.filter(o=>!newData.some(n=>n.providerId===o.providerId)),...newData]}(user2.providerData,newProviderData),isAnonymous=!!user2.isAnonymous&&!(user2.email&&coreAccount.passwordHash||providerData?.length),updates={uid:coreAccount.localId,displayName:coreAccount.displayName||null,photoURL:coreAccount.photoUrl||null,email:coreAccount.email||null,emailVerified:coreAccount.emailVerified||!1,phoneNumber:coreAccount.phoneNumber||null,tenantId:coreAccount.tenantId||null,providerData,metadata:new UserMetadata(coreAccount.createdAt,coreAccount.lastLoginAt),isAnonymous};Object.assign(user2,updates)}),_reloadWithoutSaving2.apply(this,arguments)}function _reload(){return(_reload=asyncToGenerator_asyncToGenerator(function*(user2){const userInternal=index_esm2017_getModularInstance(user2);yield _reloadWithoutSaving(userInternal),yield userInternal.auth._persistUserIfCurrent(userInternal),userInternal.auth._notifyListenersIfCurrent(userInternal)})).apply(this,arguments)}function _requestStsToken(){return(_requestStsToken=asyncToGenerator_asyncToGenerator(function*(auth,refreshToken){const response=yield _performFetchWithErrorHandling(auth,{},asyncToGenerator_asyncToGenerator(function*(){const body=index_esm2017_querystring({grant_type:"refresh_token",refresh_token:refreshToken}).slice(1),{tokenApiHost,apiKey}=auth.config,url=_getFinalTarget(auth,tokenApiHost,"/v1/token",`key=${apiKey}`),headers=yield auth._getAdditionalHeaders();return headers["Content-Type"]="application/x-www-form-urlencoded",FetchProvider.fetch()(url,{method:"POST",headers,body})}));return{accessToken:response.access_token,expiresIn:response.expires_in,refreshToken:response.refresh_token}})).apply(this,arguments)}class StsTokenManager{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(response){_assert(response.idToken,"internal-error"),_assert(typeof response.idToken<"u","internal-error"),_assert(typeof response.refreshToken<"u","internal-error");const expiresIn="expiresIn"in response&&typeof response.expiresIn<"u"?Number(response.expiresIn):function _tokenExpiresIn(token){const parsedToken=_parseToken(token);return _assert(parsedToken,"internal-error"),_assert(typeof parsedToken.exp<"u","internal-error"),_assert(typeof parsedToken.iat<"u","internal-error"),Number(parsedToken.exp)-Number(parsedToken.iat)}(response.idToken);this.updateTokensAndExpiration(response.idToken,response.refreshToken,expiresIn)}getToken(auth,forceRefresh=!1){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){return _assert(!_this3.accessToken||_this3.refreshToken,auth,"user-token-expired"),forceRefresh||!_this3.accessToken||_this3.isExpired?_this3.refreshToken?(yield _this3.refresh(auth,_this3.refreshToken),_this3.accessToken):null:_this3.accessToken})()}clearRefreshToken(){this.refreshToken=null}refresh(auth,oldToken){var _this4=this;return asyncToGenerator_asyncToGenerator(function*(){const{accessToken,refreshToken,expiresIn}=yield function requestStsToken(_x23,_x24){return _requestStsToken.apply(this,arguments)}(auth,oldToken);_this4.updateTokensAndExpiration(accessToken,refreshToken,Number(expiresIn))})()}updateTokensAndExpiration(accessToken,refreshToken,expiresInSec){this.refreshToken=refreshToken||null,this.accessToken=accessToken||null,this.expirationTime=Date.now()+1e3*expiresInSec}static fromJSON(appName,object){const{refreshToken,accessToken,expirationTime}=object,manager=new StsTokenManager;return refreshToken&&(_assert("string"==typeof refreshToken,"internal-error",{appName}),manager.refreshToken=refreshToken),accessToken&&(_assert("string"==typeof accessToken,"internal-error",{appName}),manager.accessToken=accessToken),expirationTime&&(_assert("number"==typeof expirationTime,"internal-error",{appName}),manager.expirationTime=expirationTime),manager}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(stsTokenManager){this.accessToken=stsTokenManager.accessToken,this.refreshToken=stsTokenManager.refreshToken,this.expirationTime=stsTokenManager.expirationTime}_clone(){return Object.assign(new StsTokenManager,this.toJSON())}_performRefresh(){return debugFail("not implemented")}}function assertStringOrUndefined(assertion,appName){_assert("string"==typeof assertion||typeof assertion>"u","internal-error",{appName})}class UserImpl{constructor(_a){var{uid,auth,stsTokenManager}=_a,opt=tslib_es6_rest(_a,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new ProactiveRefresh(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=uid,this.auth=auth,this.stsTokenManager=stsTokenManager,this.accessToken=stsTokenManager.accessToken,this.displayName=opt.displayName||null,this.email=opt.email||null,this.emailVerified=opt.emailVerified||!1,this.phoneNumber=opt.phoneNumber||null,this.photoURL=opt.photoURL||null,this.isAnonymous=opt.isAnonymous||!1,this.tenantId=opt.tenantId||null,this.providerData=opt.providerData?[...opt.providerData]:[],this.metadata=new UserMetadata(opt.createdAt||void 0,opt.lastLoginAt||void 0)}getIdToken(forceRefresh){var _this5=this;return asyncToGenerator_asyncToGenerator(function*(){const accessToken=yield _logoutIfInvalidated(_this5,_this5.stsTokenManager.getToken(_this5.auth,forceRefresh));return _assert(accessToken,_this5.auth,"internal-error"),_this5.accessToken!==accessToken&&(_this5.accessToken=accessToken,yield _this5.auth._persistUserIfCurrent(_this5),_this5.auth._notifyListenersIfCurrent(_this5)),accessToken})()}getIdTokenResult(forceRefresh){return function getIdTokenResult(_x18){return _getIdTokenResult.apply(this,arguments)}(this,forceRefresh)}reload(){return function reload(_x22){return _reload.apply(this,arguments)}(this)}_assign(user2){this!==user2&&(_assert(this.uid===user2.uid,this.auth,"internal-error"),this.displayName=user2.displayName,this.photoURL=user2.photoURL,this.email=user2.email,this.emailVerified=user2.emailVerified,this.phoneNumber=user2.phoneNumber,this.isAnonymous=user2.isAnonymous,this.tenantId=user2.tenantId,this.providerData=user2.providerData.map(userInfo=>Object.assign({},userInfo)),this.metadata._copy(user2.metadata),this.stsTokenManager._assign(user2.stsTokenManager))}_clone(auth){const newUser=new UserImpl(Object.assign(Object.assign({},this),{auth,stsTokenManager:this.stsTokenManager._clone()}));return newUser.metadata._copy(this.metadata),newUser}_onReload(callback){_assert(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=callback,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(userInfo){this.reloadListener?this.reloadListener(userInfo):this.reloadUserInfo=userInfo}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}_updateTokensIfNecessary(response,reload2=!1){var _this6=this;return asyncToGenerator_asyncToGenerator(function*(){let tokensRefreshed=!1;response.idToken&&response.idToken!==_this6.stsTokenManager.accessToken&&(_this6.stsTokenManager.updateFromServerResponse(response),tokensRefreshed=!0),reload2&&(yield _reloadWithoutSaving(_this6)),yield _this6.auth._persistUserIfCurrent(_this6),tokensRefreshed&&_this6.auth._notifyListenersIfCurrent(_this6)})()}delete(){var _this7=this;return asyncToGenerator_asyncToGenerator(function*(){const idToken2=yield _this7.getIdToken();return yield _logoutIfInvalidated(_this7,function deleteAccount(_x12,_x13){return _deleteAccount.apply(this,arguments)}(_this7.auth,{idToken:idToken2})),_this7.stsTokenManager.clearRefreshToken(),_this7.auth.signOut()})()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(userInfo=>Object.assign({},userInfo)),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId},this.metadata.toJSON()),{apiKey:this.auth.config.apiKey,appName:this.auth.name})}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(auth,object){var _a,_b,_c,_d,_e,_f,_g,_h;const displayName=null!==(_a=object.displayName)&&void 0!==_a?_a:void 0,email=null!==(_b=object.email)&&void 0!==_b?_b:void 0,phoneNumber=null!==(_c=object.phoneNumber)&&void 0!==_c?_c:void 0,photoURL=null!==(_d=object.photoURL)&&void 0!==_d?_d:void 0,tenantId=null!==(_e=object.tenantId)&&void 0!==_e?_e:void 0,_redirectEventId=null!==(_f=object._redirectEventId)&&void 0!==_f?_f:void 0,createdAt=null!==(_g=object.createdAt)&&void 0!==_g?_g:void 0,lastLoginAt=null!==(_h=object.lastLoginAt)&&void 0!==_h?_h:void 0,{uid,emailVerified,isAnonymous,providerData,stsTokenManager:plainObjectTokenManager}=object;_assert(uid&&plainObjectTokenManager,auth,"internal-error");const stsTokenManager=StsTokenManager.fromJSON(this.name,plainObjectTokenManager);_assert("string"==typeof uid,auth,"internal-error"),assertStringOrUndefined(displayName,auth.name),assertStringOrUndefined(email,auth.name),_assert("boolean"==typeof emailVerified,auth,"internal-error"),_assert("boolean"==typeof isAnonymous,auth,"internal-error"),assertStringOrUndefined(phoneNumber,auth.name),assertStringOrUndefined(photoURL,auth.name),assertStringOrUndefined(tenantId,auth.name),assertStringOrUndefined(_redirectEventId,auth.name),assertStringOrUndefined(createdAt,auth.name),assertStringOrUndefined(lastLoginAt,auth.name);const user2=new UserImpl({uid,auth,email,emailVerified,displayName,isAnonymous,photoURL,phoneNumber,tenantId,stsTokenManager,createdAt,lastLoginAt});return providerData&&Array.isArray(providerData)&&(user2.providerData=providerData.map(userInfo=>Object.assign({},userInfo))),_redirectEventId&&(user2._redirectEventId=_redirectEventId),user2}static _fromIdTokenResponse(auth,idTokenResponse,isAnonymous=!1){return asyncToGenerator_asyncToGenerator(function*(){const stsTokenManager=new StsTokenManager;stsTokenManager.updateFromServerResponse(idTokenResponse);const user2=new UserImpl({uid:idTokenResponse.localId,auth,stsTokenManager,isAnonymous});return yield _reloadWithoutSaving(user2),user2})()}}const instanceCache=new Map;function _getInstance(cls){debugAssert(cls instanceof Function,"Expected a class definition");let instance=instanceCache.get(cls);return instance?(debugAssert(instance instanceof cls,"Instance stored in cache mismatched with class"),instance):(instance=new cls,instanceCache.set(cls,instance),instance)}const inMemoryPersistence=(()=>{class InMemoryPersistence2{constructor(){this.type="NONE",this.storage={}}_isAvailable(){return asyncToGenerator_asyncToGenerator(function*(){return!0})()}_set(key,value){var _this8=this;return asyncToGenerator_asyncToGenerator(function*(){_this8.storage[key]=value})()}_get(key){var _this9=this;return asyncToGenerator_asyncToGenerator(function*(){const value=_this9.storage[key];return void 0===value?null:value})()}_remove(key){var _this10=this;return asyncToGenerator_asyncToGenerator(function*(){delete _this10.storage[key]})()}_addListener(_key,_listener){}_removeListener(_key,_listener){}}return InMemoryPersistence2.type="NONE",InMemoryPersistence2})();function _persistenceKeyName(key,apiKey,appName){return`firebase:${key}:${apiKey}:${appName}`}class PersistenceUserManager{constructor(persistence,auth,userKey){this.persistence=persistence,this.auth=auth,this.userKey=userKey;const{config:config2,name}=this.auth;this.fullUserKey=_persistenceKeyName(this.userKey,config2.apiKey,name),this.fullPersistenceKey=_persistenceKeyName("persistence",config2.apiKey,name),this.boundEventHandler=auth._onStorageEvent.bind(auth),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(user2){return this.persistence._set(this.fullUserKey,user2.toJSON())}getCurrentUser(){var _this11=this;return asyncToGenerator_asyncToGenerator(function*(){const blob=yield _this11.persistence._get(_this11.fullUserKey);return blob?UserImpl._fromJSON(_this11.auth,blob):null})()}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}setPersistence(newPersistence){var _this12=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this12.persistence===newPersistence)return;const currentUser=yield _this12.getCurrentUser();return yield _this12.removeCurrentUser(),_this12.persistence=newPersistence,currentUser?_this12.setCurrentUser(currentUser):void 0})()}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static create(auth,persistenceHierarchy,userKey="authUser"){return asyncToGenerator_asyncToGenerator(function*(){if(!persistenceHierarchy.length)return new PersistenceUserManager(_getInstance(inMemoryPersistence),auth,userKey);const availablePersistences=(yield Promise.all(persistenceHierarchy.map(function(){var _ref2=asyncToGenerator_asyncToGenerator(function*(persistence){if(yield persistence._isAvailable())return persistence});return function(_x25){return _ref2.apply(this,arguments)}}()))).filter(persistence=>persistence);let selectedPersistence=availablePersistences[0]||_getInstance(inMemoryPersistence);const key=_persistenceKeyName(userKey,auth.config.apiKey,auth.name);let userToMigrate=null;for(const persistence of persistenceHierarchy)try{const blob=yield persistence._get(key);if(blob){const user2=UserImpl._fromJSON(auth,blob);persistence!==selectedPersistence&&(userToMigrate=user2),selectedPersistence=persistence;break}}catch{}const migrationHierarchy=availablePersistences.filter(p=>p._shouldAllowMigration);return selectedPersistence._shouldAllowMigration&&migrationHierarchy.length?(selectedPersistence=migrationHierarchy[0],userToMigrate&&(yield selectedPersistence._set(key,userToMigrate.toJSON())),yield Promise.all(persistenceHierarchy.map(function(){var _ref3=asyncToGenerator_asyncToGenerator(function*(persistence){if(persistence!==selectedPersistence)try{yield persistence._remove(key)}catch{}});return function(_x26){return _ref3.apply(this,arguments)}}())),new PersistenceUserManager(selectedPersistence,auth,userKey)):new PersistenceUserManager(selectedPersistence,auth,userKey)})()}}function _getBrowserName(userAgent){const ua=userAgent.toLowerCase();if(ua.includes("opera/")||ua.includes("opr/")||ua.includes("opios/"))return"Opera";if(function _isIEMobile(ua=index_esm2017_getUA()){return/iemobile/i.test(ua)}(ua))return"IEMobile";if(ua.includes("msie")||ua.includes("trident/"))return"IE";if(ua.includes("edge/"))return"Edge";if(function _isFirefox(ua=index_esm2017_getUA()){return/firefox\//i.test(ua)}(ua))return"Firefox";if(ua.includes("silk/"))return"Silk";if(function _isBlackBerry(ua=index_esm2017_getUA()){return/blackberry/i.test(ua)}(ua))return"Blackberry";if(function _isWebOS(ua=index_esm2017_getUA()){return/webos/i.test(ua)}(ua))return"Webos";if(function _isSafari(userAgent=index_esm2017_getUA()){const ua=userAgent.toLowerCase();return ua.includes("safari/")&&!ua.includes("chrome/")&&!ua.includes("crios/")&&!ua.includes("android")}(ua))return"Safari";if((ua.includes("chrome/")||function _isChromeIOS(ua=index_esm2017_getUA()){return/crios\//i.test(ua)}(ua))&&!ua.includes("edge/"))return"Chrome";if(function _isAndroid(ua=index_esm2017_getUA()){return/android/i.test(ua)}(ua))return"Android";{const matches=userAgent.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(2===matches?.length)return matches[1]}return"Other"}function _getClientVersion(clientPlatform,frameworks=[]){let reportedPlatform;switch(clientPlatform){case"Browser":reportedPlatform=_getBrowserName(index_esm2017_getUA());break;case"Worker":reportedPlatform=`${_getBrowserName(index_esm2017_getUA())}-${clientPlatform}`;break;default:reportedPlatform=clientPlatform}const reportedFrameworks=frameworks.length?frameworks.join(","):"FirebaseCore-web";return`${reportedPlatform}/JsCore/${index_esm2017_SDK_VERSION}/${reportedFrameworks}`}function getRecaptchaConfig(_x28,_x29){return _getRecaptchaConfig.apply(this,arguments)}function _getRecaptchaConfig(){return(_getRecaptchaConfig=asyncToGenerator_asyncToGenerator(function*(auth,request){return _performApiRequest(auth,"GET","/v2/recaptchaConfig",function _addTidIfNecessary(auth,request){return auth.tenantId&&!request.tenantId?Object.assign(Object.assign({},request),{tenantId:auth.tenantId}):request}(auth,request))})).apply(this,arguments)}function isEnterprise(grecaptcha){return void 0!==grecaptcha&&void 0!==grecaptcha.enterprise}class RecaptchaConfig{constructor(response){if(this.siteKey="",this.emailPasswordEnabled=!1,void 0===response.recaptchaKey)throw new Error("recaptchaKey undefined");this.siteKey=response.recaptchaKey.split("/")[3],this.emailPasswordEnabled=response.recaptchaEnforcementState.some(enforcementState=>"EMAIL_PASSWORD_PROVIDER"===enforcementState.provider&&"OFF"!==enforcementState.enforcementState)}}class RecaptchaEnterpriseVerifier{constructor(authExtern){this.type="recaptcha-enterprise",this.auth=_castAuth(authExtern)}verify(action="verify",forceRefresh=!1){var _this13=this;return asyncToGenerator_asyncToGenerator(function*(){function _retrieveSiteKey(){return _retrieveSiteKey=asyncToGenerator_asyncToGenerator(function*(auth){if(!forceRefresh){if(null==auth.tenantId&&null!=auth._agentRecaptchaConfig)return auth._agentRecaptchaConfig.siteKey;if(null!=auth.tenantId&&void 0!==auth._tenantRecaptchaConfigs[auth.tenantId])return auth._tenantRecaptchaConfigs[auth.tenantId].siteKey}return new Promise(function(){var _ref4=asyncToGenerator_asyncToGenerator(function*(resolve,reject){getRecaptchaConfig(auth,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(response=>{if(void 0!==response.recaptchaKey){const config2=new RecaptchaConfig(response);return null==auth.tenantId?auth._agentRecaptchaConfig=config2:auth._tenantRecaptchaConfigs[auth.tenantId]=config2,resolve(config2.siteKey)}reject(new Error("recaptcha Enterprise site key undefined"))}).catch(error=>{reject(error)})});return function(_x31,_x32){return _ref4.apply(this,arguments)}}())}),_retrieveSiteKey.apply(this,arguments)}function retrieveRecaptchaToken(siteKey,resolve,reject){const grecaptcha=window.grecaptcha;isEnterprise(grecaptcha)?grecaptcha.enterprise.ready(()=>{grecaptcha.enterprise.execute(siteKey,{action}).then(token=>{resolve(token)}).catch(()=>{resolve("NO_RECAPTCHA")})}):reject(Error("No reCAPTCHA enterprise script loaded."))}return new Promise((resolve,reject)=>{(function retrieveSiteKey(_x30){return _retrieveSiteKey.apply(this,arguments)})(_this13.auth).then(siteKey=>{if(!forceRefresh&&isEnterprise(window.grecaptcha))retrieveRecaptchaToken(siteKey,resolve,reject);else{if(typeof window>"u")return void reject(new Error("RecaptchaVerifier is only supported in browser"));(function _loadJS(url){return new Promise((resolve,reject)=>{const el=document.createElement("script");el.setAttribute("src",url),el.onload=resolve,el.onerror=e2=>{const error=_createError("internal-error");error.customData=e2,reject(error)},el.type="text/javascript",el.charset="UTF-8",function getScriptParentElement(){var _a,_b;return null!==(_b=null===(_a=document.getElementsByTagName("head"))||void 0===_a?void 0:_a[0])&&void 0!==_b?_b:document}().appendChild(el)})})("https://www.google.com/recaptcha/enterprise.js?render="+siteKey).then(()=>{retrieveRecaptchaToken(siteKey,resolve,reject)}).catch(error=>{reject(error)})}}).catch(error=>{reject(error)})})})()}}class AuthMiddlewareQueue{constructor(auth){this.auth=auth,this.queue=[]}pushCallback(callback,onAbort){const wrappedCallback=user2=>new Promise((resolve,reject)=>{try{resolve(callback(user2))}catch(e2){reject(e2)}});wrappedCallback.onAbort=onAbort,this.queue.push(wrappedCallback);const index=this.queue.length-1;return()=>{this.queue[index]=()=>Promise.resolve()}}runMiddleware(nextUser){var _this14=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this14.auth.currentUser===nextUser)return;const onAbortStack=[];try{for(const beforeStateCallback of _this14.queue)yield beforeStateCallback(nextUser),beforeStateCallback.onAbort&&onAbortStack.push(beforeStateCallback.onAbort)}catch(e2){onAbortStack.reverse();for(const onAbort of onAbortStack)try{onAbort()}catch{}throw _this14.auth._errorFactory.create("login-blocked",{originalMessage:e2?.message})}})()}}class AuthImpl{constructor(app,heartbeatServiceProvider,appCheckServiceProvider,config2){this.app=app,this.heartbeatServiceProvider=heartbeatServiceProvider,this.appCheckServiceProvider=appCheckServiceProvider,this.config=config2,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new index_e3d5d3f4_Subscription(this),this.idTokenSubscription=new index_e3d5d3f4_Subscription(this),this.beforeStateQueue=new AuthMiddlewareQueue(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=_DEFAULT_AUTH_ERROR_FACTORY,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=app.name,this.clientVersion=config2.sdkClientVersion}_initializeWithPersistence(persistenceHierarchy,popupRedirectResolver){var _this15=this;return popupRedirectResolver&&(this._popupRedirectResolver=_getInstance(popupRedirectResolver)),this._initializationPromise=this.queue(asyncToGenerator_asyncToGenerator(function*(){var _a,_b;if(!_this15._deleted&&(_this15.persistenceManager=yield PersistenceUserManager.create(_this15,persistenceHierarchy),!_this15._deleted)){if(null!==(_a=_this15._popupRedirectResolver)&&void 0!==_a&&_a._shouldInitProactively)try{yield _this15._popupRedirectResolver._initialize(_this15)}catch{}yield _this15.initializeCurrentUser(popupRedirectResolver),_this15.lastNotifiedUid=(null===(_b=_this15.currentUser)||void 0===_b?void 0:_b.uid)||null,!_this15._deleted&&(_this15._isInitialized=!0)}})),this._initializationPromise}_onStorageEvent(){var _this16=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this16._deleted)return;const user2=yield _this16.assertedPersistence.getCurrentUser();if(_this16.currentUser||user2){if(_this16.currentUser&&user2&&_this16.currentUser.uid===user2.uid)return _this16._currentUser._assign(user2),void(yield _this16.currentUser.getIdToken());yield _this16._updateCurrentUser(user2,!0)}})()}initializeCurrentUser(popupRedirectResolver){var _this17=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;const previouslyStoredUser=yield _this17.assertedPersistence.getCurrentUser();let futureCurrentUser=previouslyStoredUser,needsTocheckMiddleware=!1;if(popupRedirectResolver&&_this17.config.authDomain){yield _this17.getOrInitRedirectPersistenceManager();const redirectUserEventId=null===(_a=_this17.redirectUser)||void 0===_a?void 0:_a._redirectEventId,storedUserEventId=futureCurrentUser?._redirectEventId,result=yield _this17.tryRedirectSignIn(popupRedirectResolver);(!redirectUserEventId||redirectUserEventId===storedUserEventId)&&result?.user&&(futureCurrentUser=result.user,needsTocheckMiddleware=!0)}if(!futureCurrentUser)return _this17.directlySetCurrentUser(null);if(!futureCurrentUser._redirectEventId){if(needsTocheckMiddleware)try{yield _this17.beforeStateQueue.runMiddleware(futureCurrentUser)}catch(e2){futureCurrentUser=previouslyStoredUser,_this17._popupRedirectResolver._overrideRedirectResult(_this17,()=>Promise.reject(e2))}return futureCurrentUser?_this17.reloadAndSetCurrentUserOrClear(futureCurrentUser):_this17.directlySetCurrentUser(null)}return _assert(_this17._popupRedirectResolver,_this17,"argument-error"),yield _this17.getOrInitRedirectPersistenceManager(),_this17.redirectUser&&_this17.redirectUser._redirectEventId===futureCurrentUser._redirectEventId?_this17.directlySetCurrentUser(futureCurrentUser):_this17.reloadAndSetCurrentUserOrClear(futureCurrentUser)})()}tryRedirectSignIn(redirectResolver){var _this18=this;return asyncToGenerator_asyncToGenerator(function*(){let result=null;try{result=yield _this18._popupRedirectResolver._completeRedirectFn(_this18,redirectResolver,!0)}catch{yield _this18._setRedirectUser(null)}return result})()}reloadAndSetCurrentUserOrClear(user2){var _this19=this;return asyncToGenerator_asyncToGenerator(function*(){try{yield _reloadWithoutSaving(user2)}catch(e2){if("auth/network-request-failed"!==e2?.code)return _this19.directlySetCurrentUser(null)}return _this19.directlySetCurrentUser(user2)})()}useDeviceLanguage(){this.languageCode=function _getUserLanguage(){if(typeof navigator>"u")return null;const navigatorLanguage=navigator;return navigatorLanguage.languages&&navigatorLanguage.languages[0]||navigatorLanguage.language||null}()}_delete(){var _this20=this;return asyncToGenerator_asyncToGenerator(function*(){_this20._deleted=!0})()}updateCurrentUser(userExtern){var _this21=this;return asyncToGenerator_asyncToGenerator(function*(){const user2=userExtern?index_esm2017_getModularInstance(userExtern):null;return user2&&_assert(user2.auth.config.apiKey===_this21.config.apiKey,_this21,"invalid-user-token"),_this21._updateCurrentUser(user2&&user2._clone(_this21))})()}_updateCurrentUser(user2,skipBeforeStateCallbacks=!1){var _this22=this;return asyncToGenerator_asyncToGenerator(function*(){if(!_this22._deleted)return user2&&_assert(_this22.tenantId===user2.tenantId,_this22,"tenant-id-mismatch"),skipBeforeStateCallbacks||(yield _this22.beforeStateQueue.runMiddleware(user2)),_this22.queue(asyncToGenerator_asyncToGenerator(function*(){yield _this22.directlySetCurrentUser(user2),_this22.notifyAuthListeners()}))})()}signOut(){var _this23=this;return asyncToGenerator_asyncToGenerator(function*(){return yield _this23.beforeStateQueue.runMiddleware(null),(_this23.redirectPersistenceManager||_this23._popupRedirectResolver)&&(yield _this23._setRedirectUser(null)),_this23._updateCurrentUser(null,!0)})()}setPersistence(persistence){var _this24=this;return this.queue(asyncToGenerator_asyncToGenerator(function*(){yield _this24.assertedPersistence.setPersistence(_getInstance(persistence))}))}initializeRecaptchaConfig(){var _this25=this;return asyncToGenerator_asyncToGenerator(function*(){const response=yield getRecaptchaConfig(_this25,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}),config2=new RecaptchaConfig(response);null==_this25.tenantId?_this25._agentRecaptchaConfig=config2:_this25._tenantRecaptchaConfigs[_this25.tenantId]=config2,config2.emailPasswordEnabled&&new RecaptchaEnterpriseVerifier(_this25).verify()})()}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(errorMap){this._errorFactory=new ErrorFactory("auth","Firebase",errorMap())}onAuthStateChanged(nextOrObserver,error,completed){return this.registerStateListener(this.authStateSubscription,nextOrObserver,error,completed)}beforeAuthStateChanged(callback,onAbort){return this.beforeStateQueue.pushCallback(callback,onAbort)}onIdTokenChanged(nextOrObserver,error,completed){return this.registerStateListener(this.idTokenSubscription,nextOrObserver,error,completed)}toJSON(){var _a;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:null===(_a=this._currentUser)||void 0===_a?void 0:_a.toJSON()}}_setRedirectUser(user2,popupRedirectResolver){var _this26=this;return asyncToGenerator_asyncToGenerator(function*(){const redirectManager=yield _this26.getOrInitRedirectPersistenceManager(popupRedirectResolver);return null===user2?redirectManager.removeCurrentUser():redirectManager.setCurrentUser(user2)})()}getOrInitRedirectPersistenceManager(popupRedirectResolver){var _this27=this;return asyncToGenerator_asyncToGenerator(function*(){if(!_this27.redirectPersistenceManager){const resolver=popupRedirectResolver&&_getInstance(popupRedirectResolver)||_this27._popupRedirectResolver;_assert(resolver,_this27,"argument-error"),_this27.redirectPersistenceManager=yield PersistenceUserManager.create(_this27,[_getInstance(resolver._redirectPersistence)],"redirectUser"),_this27.redirectUser=yield _this27.redirectPersistenceManager.getCurrentUser()}return _this27.redirectPersistenceManager})()}_redirectUserForId(id){var _this28=this;return asyncToGenerator_asyncToGenerator(function*(){var _a,_b;return _this28._isInitialized&&(yield _this28.queue(asyncToGenerator_asyncToGenerator(function*(){}))),(null===(_a=_this28._currentUser)||void 0===_a?void 0:_a._redirectEventId)===id?_this28._currentUser:(null===(_b=_this28.redirectUser)||void 0===_b?void 0:_b._redirectEventId)===id?_this28.redirectUser:null})()}_persistUserIfCurrent(user2){var _this29=this;return asyncToGenerator_asyncToGenerator(function*(){if(user2===_this29.currentUser)return _this29.queue(asyncToGenerator_asyncToGenerator(function*(){return _this29.directlySetCurrentUser(user2)}))})()}_notifyListenersIfCurrent(user2){user2===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){var _a,_b;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);const currentUid=null!==(_b=null===(_a=this.currentUser)||void 0===_a?void 0:_a.uid)&&void 0!==_b?_b:null;this.lastNotifiedUid!==currentUid&&(this.lastNotifiedUid=currentUid,this.authStateSubscription.next(this.currentUser))}registerStateListener(subscription,nextOrObserver,error,completed){if(this._deleted)return()=>{};const cb="function"==typeof nextOrObserver?nextOrObserver:nextOrObserver.next.bind(nextOrObserver),promise=this._isInitialized?Promise.resolve():this._initializationPromise;return _assert(promise,this,"internal-error"),promise.then(()=>cb(this.currentUser)),"function"==typeof nextOrObserver?subscription.addObserver(nextOrObserver,error,completed):subscription.addObserver(nextOrObserver)}directlySetCurrentUser(user2){var _this30=this;return asyncToGenerator_asyncToGenerator(function*(){_this30.currentUser&&_this30.currentUser!==user2&&_this30._currentUser._stopProactiveRefresh(),user2&&_this30.isProactiveRefreshEnabled&&user2._startProactiveRefresh(),_this30.currentUser=user2,user2?yield _this30.assertedPersistence.setCurrentUser(user2):yield _this30.assertedPersistence.removeCurrentUser()})()}queue(action){return this.operations=this.operations.then(action,action),this.operations}get assertedPersistence(){return _assert(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(framework){!framework||this.frameworks.includes(framework)||(this.frameworks.push(framework),this.frameworks.sort(),this.clientVersion=_getClientVersion(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}_getAdditionalHeaders(){var _this31=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;const headers={"X-Client-Version":_this31.clientVersion};_this31.app.options.appId&&(headers["X-Firebase-gmpid"]=_this31.app.options.appId);const heartbeatsHeader=yield null===(_a=_this31.heartbeatServiceProvider.getImmediate({optional:!0}))||void 0===_a?void 0:_a.getHeartbeatsHeader();heartbeatsHeader&&(headers["X-Firebase-Client"]=heartbeatsHeader);const appCheckToken=yield _this31._getAppCheckToken();return appCheckToken&&(headers["X-Firebase-AppCheck"]=appCheckToken),headers})()}_getAppCheckToken(){var _this32=this;return asyncToGenerator_asyncToGenerator(function*(){var _a;const appCheckTokenResult=yield null===(_a=_this32.appCheckServiceProvider.getImmediate({optional:!0}))||void 0===_a?void 0:_a.getToken();return appCheckTokenResult?.error&&function _logWarn(msg,...args){logClient.logLevel<=index_esm2017_LogLevel.WARN&&logClient.warn(`Auth (${index_esm2017_SDK_VERSION}): ${msg}`,...args)}(`Error while retrieving App Check token: ${appCheckTokenResult.error}`),appCheckTokenResult?.token})()}}function _castAuth(auth){return index_esm2017_getModularInstance(auth)}class index_e3d5d3f4_Subscription{constructor(auth){this.auth=auth,this.observer=null,this.addObserver=function createSubscribe(executor,onNoObservers){const proxy=new ObserverProxy(executor,onNoObservers);return proxy.subscribe.bind(proxy)}(observer=>this.observer=observer)}get next(){return _assert(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}(function _generateCallbackName(prefix){return`__${prefix}${Math.floor(1e6*Math.random())}`})("rcb"),new Delay(3e4,6e4),new Delay(2e3,1e4),new Delay(3e4,6e4),new Delay(5e3,15e3),encodeURIComponent("fac");class AuthInterop{constructor(auth){this.auth=auth,this.internalListeners=new Map}getUid(){var _a;return this.assertAuthConfigured(),(null===(_a=this.auth.currentUser)||void 0===_a?void 0:_a.uid)||null}getToken(forceRefresh){var _this71=this;return asyncToGenerator_asyncToGenerator(function*(){return _this71.assertAuthConfigured(),yield _this71.auth._initializationPromise,_this71.auth.currentUser?{accessToken:yield _this71.auth.currentUser.getIdToken(forceRefresh)}:null})()}addAuthTokenListener(listener){if(this.assertAuthConfigured(),this.internalListeners.has(listener))return;const unsubscribe=this.auth.onIdTokenChanged(user2=>{listener(user2?.stsTokenManager.accessToken||null)});this.internalListeners.set(listener,unsubscribe),this.updateProactiveRefresh()}removeAuthTokenListener(listener){this.assertAuthConfigured();const unsubscribe=this.internalListeners.get(listener);unsubscribe&&(this.internalListeners.delete(listener),unsubscribe(),this.updateProactiveRefresh())}assertAuthConfigured(){_assert(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}getDefaults(),function registerAuth(clientPlatform){_registerComponent(new index_esm2017_Component("auth",(container,{options:deps})=>{const app=container.getProvider("app").getImmediate(),heartbeatServiceProvider=container.getProvider("heartbeat"),appCheckServiceProvider=container.getProvider("app-check-internal"),{apiKey,authDomain}=app.options;_assert(apiKey&&!apiKey.includes(":"),"invalid-api-key",{appName:app.name});const config2={apiKey,authDomain,clientPlatform,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:_getClientVersion(clientPlatform)},authInstance=new AuthImpl(app,heartbeatServiceProvider,appCheckServiceProvider,config2);return function _initializeAuthInstance(auth,deps){const persistence=deps?.persistence||[],hierarchy=(Array.isArray(persistence)?persistence:[persistence]).map(_getInstance);deps?.errorMap&&auth._updateErrorMap(deps.errorMap),auth._initializeWithPersistence(hierarchy,deps?.popupRedirectResolver)}(authInstance,deps),authInstance},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((container,_instanceIdentifier,_instance)=>{container.getProvider("auth-internal").initialize()})),_registerComponent(new index_esm2017_Component("auth-internal",container=>{const auth=_castAuth(container.getProvider("auth").getImmediate());return new AuthInterop(auth)},"PRIVATE").setInstantiationMode("EXPLICIT")),index_esm2017_registerVersion("@firebase/auth","0.23.2",function getVersionForPlatform(clientPlatform){switch(clientPlatform){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";default:return}}(clientPlatform)),index_esm2017_registerVersion("@firebase/auth","0.23.2","esm2017")}("Browser");class AuthInstances{constructor(){return angular_fire_getAllInstancesOf("auth")}}const APP_CHECK_STATES=new Map,DEFAULT_STATE={activated:!1,tokenObservers:[]},DEBUG_STATE={initialized:!1,enabled:!1};function getStateReference(app){return APP_CHECK_STATES.get(app)||Object.assign({},DEFAULT_STATE)}function getDebugState(){return DEBUG_STATE}const BASE_ENDPOINT="https://content-firebaseappcheck.googleapis.com/v1",EXCHANGE_DEBUG_TOKEN_METHOD="exchangeDebugToken",TOKEN_REFRESH_TIME={OFFSET_DURATION:3e5,RETRIAL_MIN_WAIT:3e4,RETRIAL_MAX_WAIT:96e4};class Refresher{constructor(operation,retryPolicy,getWaitDuration,lowerBound,upperBound){if(this.operation=operation,this.retryPolicy=retryPolicy,this.getWaitDuration=getWaitDuration,this.lowerBound=lowerBound,this.upperBound=upperBound,this.pending=null,this.nextErrorWaitInterval=lowerBound,lowerBound>upperBound)throw new Error("Proactive refresh lower bound greater than upper bound!")}start(){this.nextErrorWaitInterval=this.lowerBound,this.process(!0).catch(()=>{})}stop(){this.pending&&(this.pending.reject("cancelled"),this.pending=null)}isRunning(){return!!this.pending}process(hasSucceeded){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){_this.stop();try{_this.pending=new index_esm2017_Deferred,yield function index_esm2017_sleep(ms){return new Promise(resolve=>{setTimeout(resolve,ms)})}(_this.getNextRun(hasSucceeded)),_this.pending.resolve(),yield _this.pending.promise,_this.pending=new index_esm2017_Deferred,yield _this.operation(),_this.pending.resolve(),yield _this.pending.promise,_this.process(!0).catch(()=>{})}catch(error){_this.retryPolicy(error)?_this.process(!1).catch(()=>{}):_this.stop()}})()}getNextRun(hasSucceeded){if(hasSucceeded)return this.nextErrorWaitInterval=this.lowerBound,this.getWaitDuration();{const currentErrorWaitInterval=this.nextErrorWaitInterval;return this.nextErrorWaitInterval*=2,this.nextErrorWaitInterval>this.upperBound&&(this.nextErrorWaitInterval=this.upperBound),currentErrorWaitInterval}}}const app_check_dist_esm_index_esm2017_ERROR_FACTORY=new ErrorFactory("appCheck","AppCheck",{"already-initialized":"You have already called initializeAppCheck() for FirebaseApp {$appName} with different options. To avoid this error, call initializeAppCheck() with the same options as when it was originally called. This will return the already initialized instance.","use-before-activation":"App Check is being used before initializeAppCheck() is called for FirebaseApp {$appName}. Call initializeAppCheck() before instantiating other Firebase services.","fetch-network-error":"Fetch failed to connect to a network. Check Internet connection. Original error: {$originalErrorMessage}.","fetch-parse-error":"Fetch client could not parse response. Original error: {$originalErrorMessage}.","fetch-status-error":"Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.","storage-open":"Error thrown when opening storage. Original error: {$originalErrorMessage}.","storage-get":"Error thrown when reading from storage. Original error: {$originalErrorMessage}.","storage-set":"Error thrown when writing to storage. Original error: {$originalErrorMessage}.","recaptcha-error":"ReCAPTCHA error.",throttled:"Requests throttled due to {$httpStatus} error. Attempts allowed again after {$time}"});function ensureActivated(app){if(!getStateReference(app).activated)throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("use-before-activation",{appName:app.name})}function exchangeToken(_x,_x2){return _exchangeToken.apply(this,arguments)}function _exchangeToken(){return(_exchangeToken=asyncToGenerator_asyncToGenerator(function*({url,body},heartbeatServiceProvider){const headers={"Content-Type":"application/json"},heartbeatService=heartbeatServiceProvider.getImmediate({optional:!0});if(heartbeatService){const heartbeatsHeader=yield heartbeatService.getHeartbeatsHeader();heartbeatsHeader&&(headers["X-Firebase-Client"]=heartbeatsHeader)}const options={method:"POST",body:JSON.stringify(body),headers};let response,responseBody;try{response=yield fetch(url,options)}catch(originalError){throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-network-error",{originalErrorMessage:originalError?.message})}if(200!==response.status)throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-status-error",{httpStatus:response.status});try{responseBody=yield response.json()}catch(originalError){throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-parse-error",{originalErrorMessage:originalError?.message})}const match2=responseBody.ttl.match(/^([\d.]+)(s)$/);if(!match2||!match2[2]||isNaN(Number(match2[1])))throw app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("fetch-parse-error",{originalErrorMessage:`ttl field (timeToLive) is not in standard Protobuf Duration format: ${responseBody.ttl}`});const timeToLiveAsNumber=1e3*Number(match2[1]),now=Date.now();return{token:responseBody.token,expireTimeMillis:now+timeToLiveAsNumber,issuedAtTimeMillis:now}})).apply(this,arguments)}function getExchangeDebugTokenRequest(app,debugToken){const{projectId,appId,apiKey}=app.options;return{url:`${BASE_ENDPOINT}/projects/${projectId}/apps/${appId}:${EXCHANGE_DEBUG_TOKEN_METHOD}?key=${apiKey}`,body:{debug_token:debugToken}}}const esm_index_esm2017_DB_NAME="firebase-app-check-database",esm_index_esm2017_DB_VERSION=1,index_esm2017_STORE_NAME="firebase-app-check-store";let dist_esm_index_esm2017_dbPromise=null;function _write(){return _write=asyncToGenerator_asyncToGenerator(function*(key,value){const transaction=(yield function getDBPromise(){return dist_esm_index_esm2017_dbPromise||(dist_esm_index_esm2017_dbPromise=new Promise((resolve,reject)=>{try{const request=indexedDB.open(esm_index_esm2017_DB_NAME,esm_index_esm2017_DB_VERSION);request.onsuccess=event=>{resolve(event.target.result)},request.onerror=event=>{var _a;reject(app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("storage-open",{originalErrorMessage:null===(_a=event.target.error)||void 0===_a?void 0:_a.message}))},request.onupgradeneeded=event=>{0===event.oldVersion&&event.target.result.createObjectStore(index_esm2017_STORE_NAME,{keyPath:"compositeKey"})}}catch(e2){reject(app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("storage-open",{originalErrorMessage:e2?.message}))}}),dist_esm_index_esm2017_dbPromise)}()).transaction(index_esm2017_STORE_NAME,"readwrite"),request=transaction.objectStore(index_esm2017_STORE_NAME).put({compositeKey:key,value});return new Promise((resolve,reject)=>{request.onsuccess=_event=>{resolve()},transaction.onerror=event=>{var _a;reject(app_check_dist_esm_index_esm2017_ERROR_FACTORY.create("storage-set",{originalErrorMessage:null===(_a=event.target.error)||void 0===_a?void 0:_a.message}))}})}),_write.apply(this,arguments)}const dist_esm_index_esm2017_logger=new Logger("@firebase/app-check");function writeTokenToStorage(app,token){return index_esm2017_isIndexedDBAvailable()?function writeTokenToIndexedDB(app,token){return function write(_x3,_x4){return _write.apply(this,arguments)}(function index_esm2017_computeKey(app){return`${app.options.appId}-${app.name}`}(app),token)}(app,token).catch(e2=>{dist_esm_index_esm2017_logger.warn(`Failed to write token to IndexedDB. Error: ${e2}`)}):Promise.resolve()}function isDebugMode(){return getDebugState().enabled}function getDebugToken(){return _getDebugToken.apply(this,arguments)}function _getDebugToken(){return(_getDebugToken=asyncToGenerator_asyncToGenerator(function*(){const state2=getDebugState();if(state2.enabled&&state2.token)return state2.token.promise;throw Error("\n Can't get debug token in production mode.\n ")})).apply(this,arguments)}const defaultTokenErrorData={error:"UNKNOWN_ERROR"};function getToken$2(_x7){return index_esm2017_getToken$.apply(this,arguments)}function index_esm2017_getToken$(){return(index_esm2017_getToken$=asyncToGenerator_asyncToGenerator(function*(appCheck,forceRefresh=!1){const app=appCheck.app;ensureActivated(app);const state2=getStateReference(app);let error,token=state2.token;if(token&&!isValid(token)&&(state2.token=void 0,token=void 0),!token){const cachedToken=yield state2.cachedTokenPromise;cachedToken&&(isValid(cachedToken)?token=cachedToken:yield writeTokenToStorage(app,void 0))}if(!forceRefresh&&token&&isValid(token))return{token:token.token};let interopTokenResult,shouldCallListeners=!1;if(isDebugMode()){state2.exchangeTokenPromise||(state2.exchangeTokenPromise=exchangeToken(getExchangeDebugTokenRequest(app,yield getDebugToken()),appCheck.heartbeatServiceProvider).finally(()=>{state2.exchangeTokenPromise=void 0}),shouldCallListeners=!0);const tokenFromDebugExchange=yield state2.exchangeTokenPromise;return yield writeTokenToStorage(app,tokenFromDebugExchange),state2.token=tokenFromDebugExchange,{token:tokenFromDebugExchange.token}}try{state2.exchangeTokenPromise||(state2.exchangeTokenPromise=state2.provider.getToken().finally(()=>{state2.exchangeTokenPromise=void 0}),shouldCallListeners=!0),token=yield getStateReference(app).exchangeTokenPromise}catch(e2){"appCheck/throttled"===e2.code?dist_esm_index_esm2017_logger.warn(e2.message):dist_esm_index_esm2017_logger.error(e2),error=e2}return token?error?interopTokenResult=isValid(token)?{token:token.token,internalError:error}:makeDummyTokenResult(error):(interopTokenResult={token:token.token},state2.token=token,yield writeTokenToStorage(app,token)):interopTokenResult=makeDummyTokenResult(error),shouldCallListeners&&function notifyTokenListeners(app,token){const observers=getStateReference(app).tokenObservers;for(const observer of observers)try{"EXTERNAL"===observer.type&&null!=token.error?observer.error(token.error):observer.next(token)}catch{}}(app,interopTokenResult),interopTokenResult})).apply(this,arguments)}function getLimitedUseToken$1(_x8){return _getLimitedUseToken$.apply(this,arguments)}function _getLimitedUseToken$(){return(_getLimitedUseToken$=asyncToGenerator_asyncToGenerator(function*(appCheck){const app=appCheck.app;ensureActivated(app);const{provider}=getStateReference(app);if(isDebugMode()){const debugToken=yield getDebugToken(),{token}=yield exchangeToken(getExchangeDebugTokenRequest(app,debugToken),appCheck.heartbeatServiceProvider);return{token}}{const{token}=yield provider.getToken();return{token}}})).apply(this,arguments)}function removeTokenListener(app,listener){const state2=getStateReference(app),newObservers=state2.tokenObservers.filter(tokenObserver=>tokenObserver.next!==listener);0===newObservers.length&&state2.tokenRefresher&&state2.tokenRefresher.isRunning()&&state2.tokenRefresher.stop(),state2.tokenObservers=newObservers}function initTokenRefresher(appCheck){const{app}=appCheck,state2=getStateReference(app);let refresher=state2.tokenRefresher;refresher||(refresher=function createTokenRefresher(appCheck){const{app}=appCheck;return new Refresher(asyncToGenerator_asyncToGenerator(function*(){let result;if(result=getStateReference(app).token?yield getToken$2(appCheck,!0):yield getToken$2(appCheck),result.error)throw result.error;if(result.internalError)throw result.internalError}),()=>!0,()=>{const state2=getStateReference(app);if(state2.token){let nextRefreshTimeMillis=state2.token.issuedAtTimeMillis+.5*(state2.token.expireTimeMillis-state2.token.issuedAtTimeMillis)+3e5;return nextRefreshTimeMillis=Math.min(nextRefreshTimeMillis,state2.token.expireTimeMillis-3e5),Math.max(0,nextRefreshTimeMillis-Date.now())}return 0},TOKEN_REFRESH_TIME.RETRIAL_MIN_WAIT,TOKEN_REFRESH_TIME.RETRIAL_MAX_WAIT)}(appCheck),state2.tokenRefresher=refresher),!refresher.isRunning()&&state2.isTokenAutoRefreshEnabled&&refresher.start()}function isValid(token){return token.expireTimeMillis-Date.now()>0}function makeDummyTokenResult(error){return{token:(tokenErrorData=defaultTokenErrorData,base64.encodeString(JSON.stringify(tokenErrorData),!1)),error};var tokenErrorData}class AppCheckService{constructor(app,heartbeatServiceProvider){this.app=app,this.heartbeatServiceProvider=heartbeatServiceProvider}_delete(){const{tokenObservers}=getStateReference(this.app);for(const tokenObserver of tokenObservers)removeTokenListener(this.app,tokenObserver.next);return Promise.resolve()}}!function registerAppCheck(){_registerComponent(new index_esm2017_Component("app-check",container=>function index_esm2017_factory(app,heartbeatServiceProvider){return new AppCheckService(app,heartbeatServiceProvider)}(container.getProvider("app").getImmediate(),container.getProvider("heartbeat")),"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((container,_identifier,_appcheckService)=>{container.getProvider("app-check-internal").initialize()})),_registerComponent(new index_esm2017_Component("app-check-internal",container=>function index_esm2017_internalFactory(appCheck){return{getToken:forceRefresh=>getToken$2(appCheck,forceRefresh),getLimitedUseToken:()=>getLimitedUseToken$1(appCheck),addTokenListener:listener=>function addTokenListener(appCheck,type,listener,onError){const{app}=appCheck,state2=getStateReference(app);if(state2.tokenObservers=[...state2.tokenObservers,{next:listener,error:onError,type}],state2.token&&isValid(state2.token)){const validToken=state2.token;Promise.resolve().then(()=>{listener({token:validToken.token}),initTokenRefresher(appCheck)}).catch(()=>{})}state2.cachedTokenPromise.then(()=>initTokenRefresher(appCheck))}(appCheck,"INTERNAL",listener),removeTokenListener:listener=>removeTokenListener(appCheck.app,listener)}}(container.getProvider("app-check").getImmediate()),"PUBLIC").setInstantiationMode("EXPLICIT")),index_esm2017_registerVersion("@firebase/app-check","0.8.0")}();class angular_fire_app_check_AppCheckInstances{constructor(){return angular_fire_getAllInstancesOf("app-check")}}typeof window<"u"&&window;const CONFIG_STORAGE_BUCKET_KEY="storageBucket";class StorageError extends index_esm2017_FirebaseError{constructor(code,message,status_=0){super(prependCode(code),`Firebase Storage: ${message} (${prependCode(code)})`),this.status_=status_,this.customData={serverResponse:null},this._baseMessage=this.message,Object.setPrototypeOf(this,StorageError.prototype)}get status(){return this.status_}set status(status){this.status_=status}_codeEquals(code){return prependCode(code)===this.code}get serverResponse(){return this.customData.serverResponse}set serverResponse(serverResponse){this.customData.serverResponse=serverResponse,this.message=this.customData.serverResponse?`${this._baseMessage}\n${this.customData.serverResponse}`:this._baseMessage}}var StorageErrorCode=function(StorageErrorCode2){return StorageErrorCode2.UNKNOWN="unknown",StorageErrorCode2.OBJECT_NOT_FOUND="object-not-found",StorageErrorCode2.BUCKET_NOT_FOUND="bucket-not-found",StorageErrorCode2.PROJECT_NOT_FOUND="project-not-found",StorageErrorCode2.QUOTA_EXCEEDED="quota-exceeded",StorageErrorCode2.UNAUTHENTICATED="unauthenticated",StorageErrorCode2.UNAUTHORIZED="unauthorized",StorageErrorCode2.UNAUTHORIZED_APP="unauthorized-app",StorageErrorCode2.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",StorageErrorCode2.INVALID_CHECKSUM="invalid-checksum",StorageErrorCode2.CANCELED="canceled",StorageErrorCode2.INVALID_EVENT_NAME="invalid-event-name",StorageErrorCode2.INVALID_URL="invalid-url",StorageErrorCode2.INVALID_DEFAULT_BUCKET="invalid-default-bucket",StorageErrorCode2.NO_DEFAULT_BUCKET="no-default-bucket",StorageErrorCode2.CANNOT_SLICE_BLOB="cannot-slice-blob",StorageErrorCode2.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",StorageErrorCode2.NO_DOWNLOAD_URL="no-download-url",StorageErrorCode2.INVALID_ARGUMENT="invalid-argument",StorageErrorCode2.INVALID_ARGUMENT_COUNT="invalid-argument-count",StorageErrorCode2.APP_DELETED="app-deleted",StorageErrorCode2.INVALID_ROOT_OPERATION="invalid-root-operation",StorageErrorCode2.INVALID_FORMAT="invalid-format",StorageErrorCode2.INTERNAL_ERROR="internal-error",StorageErrorCode2.UNSUPPORTED_ENVIRONMENT="unsupported-environment",StorageErrorCode2}(StorageErrorCode||{});function prependCode(code){return"storage/"+code}function unknown(){return new StorageError(StorageErrorCode.UNKNOWN,"An unknown error occurred, please check the error payload for server response.")}function invalidArgument(message){return new StorageError(StorageErrorCode.INVALID_ARGUMENT,message)}function appDeleted(){return new StorageError(StorageErrorCode.APP_DELETED,"The Firebase app was deleted.")}function invalidFormat(format,message){return new StorageError(StorageErrorCode.INVALID_FORMAT,"String does not match format '"+format+"': "+message)}function internalError(message){throw new StorageError(StorageErrorCode.INTERNAL_ERROR,"Internal error: "+message)}class index_esm2017_Location{constructor(bucket,path){this.bucket=bucket,this.path_=path}get path(){return this.path_}get isRoot(){return 0===this.path.length}fullServerUrl(){const encode2=encodeURIComponent;return"/b/"+encode2(this.bucket)+"/o/"+encode2(this.path)}bucketOnlyServerUrl(){return"/b/"+encodeURIComponent(this.bucket)+"/o"}static makeFromBucketSpec(bucketString,host){let bucketLocation;try{bucketLocation=index_esm2017_Location.makeFromUrl(bucketString,host)}catch{return new index_esm2017_Location(bucketString,"")}if(""===bucketLocation.path)return bucketLocation;throw function invalidDefaultBucket(bucket){return new StorageError(StorageErrorCode.INVALID_DEFAULT_BUCKET,"Invalid default bucket '"+bucket+"'.")}(bucketString)}static makeFromUrl(url,host){let location2=null;const gsRegex=new RegExp("^gs://([A-Za-z0-9.\\-_]+)(/(.*))?$","i");function httpModify(loc){loc.path_=decodeURIComponent(loc.path)}const firebaseStorageHost=host.replace(/[.]/g,"\\."),groups=[{regex:gsRegex,indices:{bucket:1,path:3},postModify:function gsModify(loc){"/"===loc.path.charAt(loc.path.length-1)&&(loc.path_=loc.path_.slice(0,-1))}},{regex:new RegExp(`^https?://${firebaseStorageHost}/v[A-Za-z0-9_]+/b/([A-Za-z0-9.\\-_]+)/o(/([^?#]*).*)?$`,"i"),indices:{bucket:1,path:3},postModify:httpModify},{regex:new RegExp(`^https?://${"firebasestorage.googleapis.com"===host?"(?:storage.googleapis.com|storage.cloud.google.com)":host}/([A-Za-z0-9.\\-_]+)/([^?#]*)`,"i"),indices:{bucket:1,path:2},postModify:httpModify}];for(let i6=0;i6maxValue)throw invalidArgument(`Invalid value for '${argument}'. Expected ${maxValue} or less.`)}function makeUrl(urlPart,host,protocol){let origin=host;return null==protocol&&(origin=`https://${host}`),`${protocol}://${origin}/v0${urlPart}`}var ErrorCode=function(ErrorCode2){return ErrorCode2[ErrorCode2.NO_ERROR=0]="NO_ERROR",ErrorCode2[ErrorCode2.NETWORK_ERROR=1]="NETWORK_ERROR",ErrorCode2[ErrorCode2.ABORT=2]="ABORT",ErrorCode2}(ErrorCode||{});class NetworkRequest{constructor(url_,method_,headers_,body_,successCodes_,additionalRetryCodes_,callback_,errorCallback_,timeout_,progressCallback_,connectionFactory_,retry2=!0){this.url_=url_,this.method_=method_,this.headers_=headers_,this.body_=body_,this.successCodes_=successCodes_,this.additionalRetryCodes_=additionalRetryCodes_,this.callback_=callback_,this.errorCallback_=errorCallback_,this.timeout_=timeout_,this.progressCallback_=progressCallback_,this.connectionFactory_=connectionFactory_,this.retry=retry2,this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.promise_=new Promise((resolve,reject)=>{this.resolve_=resolve,this.reject_=reject,this.start_()})}start_(){const backoffDone=(requestWentThrough,status)=>{const resolve=this.resolve_,reject=this.reject_,connection=status.connection;if(status.wasSuccessCode)try{const result=this.callback_(connection,connection.getResponse());!function isJustDef(p){return void 0!==p}(result)?resolve():resolve(result)}catch(e2){reject(e2)}else if(null!==connection){const err=unknown();err.serverResponse=connection.getErrorText(),reject(this.errorCallback_?this.errorCallback_(connection,err):err)}else reject(status.canceled?this.appDelete_?appDeleted():function canceled(){return new StorageError(StorageErrorCode.CANCELED,"User canceled the upload/download.")}():function retryLimitExceeded(){return new StorageError(StorageErrorCode.RETRY_LIMIT_EXCEEDED,"Max retry time for operation exceeded, please try again.")}())};this.canceled_?backoffDone(0,new RequestEndStatus(!1,null,!0)):this.backoffId_=function start(doRequest,backoffCompleteCb,timeout){let waitSeconds=1,retryTimeoutId=null,globalTimeoutId=null,hitTimeout=!1,cancelState=0;function canceled2(){return 2===cancelState}let triggeredCallback=!1;function triggerCallback(...args){triggeredCallback||(triggeredCallback=!0,backoffCompleteCb.apply(null,args))}function callWithDelay(millis){retryTimeoutId=setTimeout(()=>{retryTimeoutId=null,doRequest(responseHandler,canceled2())},millis)}function clearGlobalTimeout(){globalTimeoutId&&clearTimeout(globalTimeoutId)}function responseHandler(success,...args){if(triggeredCallback)return void clearGlobalTimeout();if(success)return clearGlobalTimeout(),void triggerCallback.call(null,success,...args);if(canceled2()||hitTimeout)return clearGlobalTimeout(),void triggerCallback.call(null,success,...args);let waitMillis;waitSeconds<64&&(waitSeconds*=2),1===cancelState?(cancelState=2,waitMillis=0):waitMillis=1e3*(waitSeconds+Math.random()),callWithDelay(waitMillis)}let stopped=!1;function stop2(wasTimeout){stopped||(stopped=!0,clearGlobalTimeout(),!triggeredCallback&&(null!==retryTimeoutId?(wasTimeout||(cancelState=2),clearTimeout(retryTimeoutId),callWithDelay(0)):wasTimeout||(cancelState=1)))}return callWithDelay(0),globalTimeoutId=setTimeout(()=>{hitTimeout=!0,stop2(!0)},timeout),stop2}((backoffCallback,canceled2)=>{if(canceled2)return void backoffCallback(!1,new RequestEndStatus(!1,null,!0));const connection=this.connectionFactory_();this.pendingConnection_=connection;const progressListener=progressEvent=>{null!==this.progressCallback_&&this.progressCallback_(progressEvent.loaded,progressEvent.lengthComputable?progressEvent.total:-1)};null!==this.progressCallback_&&connection.addUploadProgressListener(progressListener),connection.send(this.url_,this.method_,this.body_,this.headers_).then(()=>{null!==this.progressCallback_&&connection.removeUploadProgressListener(progressListener),this.pendingConnection_=null;const hitServer=connection.getErrorCode()===ErrorCode.NO_ERROR,status=connection.getStatus();if(!hitServer||function isRetryStatusCode(status,additionalRetryCodes){const isFiveHundredCode=status>=500&&status<600,isExtraRetryCode=-1!==[408,429].indexOf(status),isAdditionalRetryCode=-1!==additionalRetryCodes.indexOf(status);return isFiveHundredCode||isExtraRetryCode||isAdditionalRetryCode}(status,this.additionalRetryCodes_)&&this.retry){const wasCanceled=connection.getErrorCode()===ErrorCode.ABORT;return void backoffCallback(!1,new RequestEndStatus(!1,null,wasCanceled))}const successCode=-1!==this.successCodes_.indexOf(status);backoffCallback(!0,new RequestEndStatus(successCode,connection))})},backoffDone,this.timeout_)}getPromise(){return this.promise_}cancel(appDelete){this.canceled_=!0,this.appDelete_=appDelete||!1,null!==this.backoffId_&&function stop(id){id(!1)}(this.backoffId_),null!==this.pendingConnection_&&this.pendingConnection_.abort()}}class RequestEndStatus{constructor(wasSuccessCode,connection,canceled2){this.wasSuccessCode=wasSuccessCode,this.connection=connection,this.canceled=!!canceled2}}function getBlob$1(...args){const BlobBuilder2=function getBlobBuilder(){return typeof BlobBuilder<"u"?BlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:void 0}();if(void 0!==BlobBuilder2){const bb=new BlobBuilder2;for(let i6=0;i6>6,128|63&c):55296==(64512&c)?i6>18,128|c>>12&63,128|c>>6&63,128|63&c)):b.push(239,191,189):56320==(64512&c)?b.push(239,191,189):b.push(224|c>>12,128|c>>6&63,128|63&c)}return new Uint8Array(b)}function base64Bytes_(format,value){switch(format){case StringFormat.BASE64:{const hasMinus=-1!==value.indexOf("-"),hasUnder=-1!==value.indexOf("_");if(hasMinus||hasUnder)throw invalidFormat(format,"Invalid character '"+(hasMinus?"-":"_")+"' found: is it base64url encoded?");break}case StringFormat.BASE64URL:{const hasPlus=-1!==value.indexOf("+"),hasSlash=-1!==value.indexOf("/");if(hasPlus||hasSlash)throw invalidFormat(format,"Invalid character '"+(hasPlus?"+":"/")+"' found: is it base64 encoded?");value=value.replace(/-/g,"+").replace(/_/g,"/");break}}let bytes;try{bytes=function decodeBase64(encoded){if(typeof atob>"u")throw function missingPolyFill(polyFill){return new StorageError(StorageErrorCode.UNSUPPORTED_ENVIRONMENT,`${polyFill} is missing. Make sure to install the required polyfills. See https://firebase.google.com/docs/web/environments-js-sdk#polyfills for more information.`)}("base-64");return atob(encoded)}(value)}catch(e2){throw e2.message.includes("polyfill")?e2:invalidFormat(format,"Invalid character found")}const array=new Uint8Array(bytes.length);for(let i6=0;i6][;base64],");const middle=matches[1]||null;null!=middle&&(this.base64=function endsWith(s,end){return s.length>=end.length&&s.substring(s.length-end.length)===end}(middle,";base64"),this.contentType=this.base64?middle.substring(0,middle.length-7):middle),this.rest=dataURL.substring(dataURL.indexOf(",")+1)}}class FbsBlob{constructor(data,elideCopy){let size=0,blobType="";isNativeBlob(data)?(this.data_=data,size=data.size,blobType=data.type):data instanceof ArrayBuffer?(elideCopy?this.data_=new Uint8Array(data):(this.data_=new Uint8Array(data.byteLength),this.data_.set(new Uint8Array(data))),size=this.data_.length):data instanceof Uint8Array&&(elideCopy?this.data_=data:(this.data_=new Uint8Array(data.length),this.data_.set(data)),size=data.length),this.size_=size,this.type_=blobType}size(){return this.size_}type(){return this.type_}slice(startByte,endByte){if(isNativeBlob(this.data_)){const sliced=function sliceBlob(blob,start2,end){return blob.webkitSlice?blob.webkitSlice(start2,end):blob.mozSlice?blob.mozSlice(start2,end):blob.slice?blob.slice(start2,end):null}(this.data_,startByte,endByte);return null===sliced?null:new FbsBlob(sliced)}{const slice=new Uint8Array(this.data_.buffer,startByte,endByte-startByte);return new FbsBlob(slice,!0)}}static getBlob(...args){if(isNativeBlobDefined()){const blobby=args.map(val=>val instanceof FbsBlob?val.data_:val);return new FbsBlob(getBlob$1.apply(null,blobby))}{const uint8Arrays=args.map(val=>index_esm2017_isString(val)?dataFromString(StringFormat.RAW,val).data:val.data_);let finalLength=0;uint8Arrays.forEach(array=>{finalLength+=array.byteLength});const merged=new Uint8Array(finalLength);let index=0;return uint8Arrays.forEach(array=>{for(let i6=0;i6data,service.maxOperationRetryTime);return requestInfo.errorHandler=function objectErrorHandler(location2){const shared=sharedErrorHandler(location2);return function errorHandler2(xhr,err){let newErr=shared(xhr,err);return 404===xhr.getStatus()&&(newErr=function objectNotFound(path){return new StorageError(StorageErrorCode.OBJECT_NOT_FOUND,"Object '"+path+"' does not exist.")}(location2.path)),newErr.serverResponse=err.serverResponse,newErr}}(location2),void 0!==maxDownloadSizeBytes&&(requestInfo.headers.Range=`bytes=0-${maxDownloadSizeBytes}`,requestInfo.successCodes=[200,206]),requestInfo}function multipartUpload(service,location2,mappings,blob,metadata){const urlPart=location2.bucketOnlyServerUrl(),headers={"X-Goog-Upload-Protocol":"multipart"},boundary=function genBoundary(){let str="";for(let i6=0;i6<2;i6++)str+=Math.random().toString().slice(2);return str}();headers["Content-Type"]="multipart/related; boundary="+boundary;const metadata_=function metadataForUpload_(location2,blob,metadata){const metadataClone=Object.assign({},metadata);return metadataClone.fullPath=location2.path,metadataClone.size=blob.size(),metadataClone.contentType||(metadataClone.contentType=function determineContentType_(metadata,blob){return metadata&&metadata.contentType||blob&&blob.type()||"application/octet-stream"}(null,blob)),metadataClone}(location2,blob,metadata),metadataString=function toResourceString(metadata,mappings){const resource={},len=mappings.length;for(let i6=0;i6{this.xhr_.addEventListener("abort",()=>{this.errorCode_=ErrorCode.ABORT,resolve()}),this.xhr_.addEventListener("error",()=>{this.errorCode_=ErrorCode.NETWORK_ERROR,resolve()}),this.xhr_.addEventListener("load",()=>{resolve()})})}send(url,method,body,headers){if(this.sent_)throw internalError("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(method,url,!0),void 0!==headers)for(const key in headers)headers.hasOwnProperty(key)&&this.xhr_.setRequestHeader(key,headers[key].toString());return void 0!==body?this.xhr_.send(body):this.xhr_.send(),this.sendPromise_}getErrorCode(){if(!this.sent_)throw internalError("cannot .getErrorCode() before sending");return this.errorCode_}getStatus(){if(!this.sent_)throw internalError("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}}getResponse(){if(!this.sent_)throw internalError("cannot .getResponse() before sending");return this.xhr_.response}getErrorText(){if(!this.sent_)throw internalError("cannot .getErrorText() before sending");return this.xhr_.statusText}abort(){this.xhr_.abort()}getResponseHeader(header){return this.xhr_.getResponseHeader(header)}addUploadProgressListener(listener){null!=this.xhr_.upload&&this.xhr_.upload.addEventListener("progress",listener)}removeUploadProgressListener(listener){null!=this.xhr_.upload&&this.xhr_.upload.removeEventListener("progress",listener)}}class XhrTextConnection extends XhrConnection{initXhr(){this.xhr_.responseType="text"}}function newTextConnection(){return textFactoryOverride?textFactoryOverride():new XhrTextConnection}class XhrBlobConnection extends XhrConnection{initXhr(){this.xhr_.responseType="blob"}}function newBlobConnection(){return new XhrBlobConnection}class Reference{constructor(_service,location2){this._service=_service,this._location=location2 instanceof index_esm2017_Location?location2:index_esm2017_Location.makeFromUrl(location2,_service.host)}toString(){return"gs://"+this._location.bucket+"/"+this._location.path}_newRef(service,location2){return new Reference(service,location2)}get root(){const location2=new index_esm2017_Location(this._location.bucket,"");return this._newRef(this._service,location2)}get bucket(){return this._location.bucket}get fullPath(){return this._location.path}get name(){return lastComponent(this._location.path)}get storage(){return this._service}get parent(){const newPath=function index_esm2017_parent(path){if(0===path.length)return null;const index=path.lastIndexOf("/");return-1===index?"":path.slice(0,index)}(this._location.path);if(null===newPath)return null;const location2=new index_esm2017_Location(this._location.bucket,newPath);return new Reference(this._service,location2)}_throwIfRoot(name){if(""===this._location.path)throw function invalidRootOperation(name){return new StorageError(StorageErrorCode.INVALID_ROOT_OPERATION,"The operation '"+name+"' cannot be performed on a root reference, create a non-root reference using child, such as .child('file.png').")}(name)}}function index_esm2017_uploadBytes$1(ref2,data,metadata){ref2._throwIfRoot("uploadBytes");const requestInfo=multipartUpload(ref2.storage,ref2._location,function getMappings(){if(mappings_)return mappings_;const mappings=[];mappings.push(new Mapping("bucket")),mappings.push(new Mapping("generation")),mappings.push(new Mapping("metageneration")),mappings.push(new Mapping("name","fullPath",!0));const nameMapping=new Mapping("name");nameMapping.xform=function mappingsXformPath(_metadata,fullPath){return function xformPath(fullPath){return!index_esm2017_isString(fullPath)||fullPath.length<2?fullPath:lastComponent(fullPath)}(fullPath)},mappings.push(nameMapping);const sizeMapping=new Mapping("size");return sizeMapping.xform=function xformSize(_metadata,size){return void 0!==size?Number(size):size},mappings.push(sizeMapping),mappings.push(new Mapping("timeCreated")),mappings.push(new Mapping("updated")),mappings.push(new Mapping("md5Hash",null,!0)),mappings.push(new Mapping("cacheControl",null,!0)),mappings.push(new Mapping("contentDisposition",null,!0)),mappings.push(new Mapping("contentEncoding",null,!0)),mappings.push(new Mapping("contentLanguage",null,!0)),mappings.push(new Mapping("contentType",null,!0)),mappings.push(new Mapping("metadata","customMetadata",!0)),mappings_=mappings,mappings_}(),new FbsBlob(data,!0),metadata);return ref2.storage.makeRequestWithTokens(requestInfo,newTextConnection).then(finalMetadata=>({metadata:finalMetadata,ref:ref2}))}function refFromPath(ref2,path){if(ref2 instanceof FirebaseStorageImpl){const service=ref2;if(null==service._bucket)throw function noDefaultBucket(){return new StorageError(StorageErrorCode.NO_DEFAULT_BUCKET,"No default bucket found. Did you set the '"+CONFIG_STORAGE_BUCKET_KEY+"' property when initializing the app?")}();const reference=new Reference(service,service._bucket);return null!=path?refFromPath(reference,path):reference}return void 0!==path?function _getChild$1(ref2,childPath){const newPath=function child(path,childPath){const canonicalChildPath=childPath.split("/").filter(component=>component.length>0).join("/");return 0===path.length?canonicalChildPath:path+"/"+canonicalChildPath}(ref2._location.path,childPath),location2=new index_esm2017_Location(ref2._location.bucket,newPath);return new Reference(ref2.storage,location2)}(ref2,path):ref2}function extractBucket(host,config2){const bucketString=config2?.[CONFIG_STORAGE_BUCKET_KEY];return null==bucketString?null:index_esm2017_Location.makeFromBucketSpec(bucketString,host)}class FirebaseStorageImpl{constructor(app,_authProvider,_appCheckProvider,_url,_firebaseVersion){this.app=app,this._authProvider=_authProvider,this._appCheckProvider=_appCheckProvider,this._url=_url,this._firebaseVersion=_firebaseVersion,this._bucket=null,this._host="firebasestorage.googleapis.com",this._protocol="https",this._appId=null,this._deleted=!1,this._maxOperationRetryTime=12e4,this._maxUploadRetryTime=6e5,this._requests=new Set,this._bucket=null!=_url?index_esm2017_Location.makeFromBucketSpec(_url,this._host):extractBucket(this._host,this.app.options)}get host(){return this._host}set host(host){this._host=host,this._bucket=null!=this._url?index_esm2017_Location.makeFromBucketSpec(this._url,host):extractBucket(host,this.app.options)}get maxUploadRetryTime(){return this._maxUploadRetryTime}set maxUploadRetryTime(time){validateNumber("time",0,Number.POSITIVE_INFINITY,time),this._maxUploadRetryTime=time}get maxOperationRetryTime(){return this._maxOperationRetryTime}set maxOperationRetryTime(time){validateNumber("time",0,Number.POSITIVE_INFINITY,time),this._maxOperationRetryTime=time}_getAuthToken(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){if(_this._overrideAuthToken)return _this._overrideAuthToken;const auth=_this._authProvider.getImmediate({optional:!0});if(auth){const tokenData=yield auth.getToken();if(null!==tokenData)return tokenData.accessToken}return null})()}_getAppCheckToken(){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){const appCheck=_this2._appCheckProvider.getImmediate({optional:!0});return appCheck?(yield appCheck.getToken()).token:null})()}_delete(){return this._deleted||(this._deleted=!0,this._requests.forEach(request=>request.cancel()),this._requests.clear()),Promise.resolve()}_makeStorageReference(loc){return new Reference(this,loc)}_makeRequest(requestInfo,requestFactory,authToken,appCheckToken,retry2=!0){if(this._deleted)return new FailRequest(appDeleted());{const request=function makeRequest(requestInfo,appId,authToken,appCheckToken,requestFactory,firebaseVersion,retry2=!0){const queryPart=function makeQueryString(params){const encode2=encodeURIComponent;let queryPart="?";for(const key in params)params.hasOwnProperty(key)&&(queryPart=queryPart+(encode2(key)+"=")+encode2(params[key])+"&");return queryPart=queryPart.slice(0,-1),queryPart}(requestInfo.urlParams),url=requestInfo.url+queryPart,headers=Object.assign({},requestInfo.headers);return function addGmpidHeader_(headers,appId){appId&&(headers["X-Firebase-GMPID"]=appId)}(headers,appId),function addAuthHeader_(headers,authToken){null!==authToken&&authToken.length>0&&(headers.Authorization="Firebase "+authToken)}(headers,authToken),function addVersionHeader_(headers,firebaseVersion){headers["X-Firebase-Storage-Version"]="webjs/"+(firebaseVersion??"AppManager")}(headers,firebaseVersion),function addAppCheckHeader_(headers,appCheckToken){null!==appCheckToken&&(headers["X-Firebase-AppCheck"]=appCheckToken)}(headers,appCheckToken),new NetworkRequest(url,requestInfo.method,headers,requestInfo.body,requestInfo.successCodes,requestInfo.additionalRetryCodes,requestInfo.handler,requestInfo.errorHandler,requestInfo.timeout,requestInfo.progressCallback,requestFactory,retry2)}(requestInfo,this._appId,authToken,appCheckToken,requestFactory,this._firebaseVersion,retry2);return this._requests.add(request),request.getPromise().then(()=>this._requests.delete(request),()=>this._requests.delete(request)),request}}makeRequestWithTokens(requestInfo,requestFactory){var _this3=this;return asyncToGenerator_asyncToGenerator(function*(){const[authToken,appCheckToken]=yield Promise.all([_this3._getAuthToken(),_this3._getAppCheckToken()]);return _this3._makeRequest(requestInfo,requestFactory,authToken,appCheckToken).getPromise()})()}}function uploadString(ref2,value,format,metadata){return function uploadString$1(ref2,value,format=StringFormat.RAW,metadata){ref2._throwIfRoot("uploadString");const data=dataFromString(format,value),metadataClone=Object.assign({},metadata);return null==metadataClone.contentType&&null!=data.contentType&&(metadataClone.contentType=data.contentType),index_esm2017_uploadBytes$1(ref2,data.data,metadataClone)}(ref2=index_esm2017_getModularInstance(ref2),value,format,metadata)}function ref(serviceOrRef,pathOrUrl){return function ref$1(serviceOrRef,pathOrUrl){if(pathOrUrl&&function isUrl(path){return/^[A-Za-z]+:\/\//.test(path)}(pathOrUrl)){if(serviceOrRef instanceof FirebaseStorageImpl)return function refFromURL(service,url){return new Reference(service,url)}(serviceOrRef,pathOrUrl);throw invalidArgument("To use ref(service, url), the first argument must be a Storage instance.")}return refFromPath(serviceOrRef,pathOrUrl)}(serviceOrRef=index_esm2017_getModularInstance(serviceOrRef),pathOrUrl)}function getStorage(app=index_esm2017_getApp(),bucketUrl){const storageInstance=index_esm2017_getProvider(app=index_esm2017_getModularInstance(app),"storage").getImmediate({identifier:bucketUrl}),emulator=(productName=>{const host=(productName=>{var _a,_b;return null===(_b=null===(_a=getDefaults())||void 0===_a?void 0:_a.emulatorHosts)||void 0===_b?void 0:_b[productName]})(productName);if(!host)return;const separatorIndex=host.lastIndexOf(":");if(separatorIndex<=0||separatorIndex+1===host.length)throw new Error(`Invalid host ${host} with no separate hostname and port!`);const port=parseInt(host.substring(separatorIndex+1),10);return"["===host[0]?[host.substring(1,separatorIndex-1),port]:[host.substring(0,separatorIndex),port]})("storage");return emulator&&function connectStorageEmulator(storage,host,port,options={}){!function index_esm2017_connectStorageEmulator$1(storage,host,port,options={}){storage.host=`${host}:${port}`,storage._protocol="http";const{mockUserToken}=options;mockUserToken&&(storage._overrideAuthToken="string"==typeof mockUserToken?mockUserToken:function createMockUserToken(token,projectId){if(token.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');const project=projectId||"demo-project",iat=token.iat||0,sub=token.sub||token.user_id;if(!sub)throw new Error("mockUserToken must contain 'sub' or 'user_id' field!");const payload=Object.assign({iss:`https://securetoken.google.com/${project}`,aud:project,iat,exp:iat+3600,auth_time:iat,sub,user_id:sub,firebase:{sign_in_provider:"custom",identities:{}}},token);return[base64urlEncodeWithoutPadding(JSON.stringify({alg:"none",type:"JWT"})),base64urlEncodeWithoutPadding(JSON.stringify(payload)),""].join(".")}(mockUserToken,storage.app.options.projectId))}(storage,host,port,options)}(storageInstance,...emulator),storageInstance}function getBlob(ref2,maxDownloadSizeBytes){return function getBlobInternal(ref2,maxDownloadSizeBytes){ref2._throwIfRoot("getBlob");const requestInfo=index_esm2017_getBytes$1(ref2.storage,ref2._location,maxDownloadSizeBytes);return ref2.storage.makeRequestWithTokens(requestInfo,newBlobConnection).then(blob=>void 0!==maxDownloadSizeBytes?blob.slice(0,maxDownloadSizeBytes):blob)}(ref2=index_esm2017_getModularInstance(ref2),maxDownloadSizeBytes)}function dist_index_esm2017_factory(container,{instanceIdentifier:url}){const app=container.getProvider("app").getImmediate(),authProvider=container.getProvider("auth-internal"),appCheckProvider=container.getProvider("app-check-internal");return new FirebaseStorageImpl(app,authProvider,appCheckProvider,url,index_esm2017_SDK_VERSION)}!function registerStorage(){_registerComponent(new index_esm2017_Component("storage",dist_index_esm2017_factory,"PUBLIC").setMultipleInstances(!0)),index_esm2017_registerVersion("@firebase/storage","0.11.2",""),index_esm2017_registerVersion("@firebase/storage","0.11.2","esm2017")}();class angular_fire_storage_Storage{constructor(auth){return auth}}const PROVIDED_STORAGE_INSTANCES=new InjectionToken("angularfire2.storage-instances");function storageInstanceFactory(fn){return(zone,injector)=>{const storage=zone.runOutsideAngular(()=>fn(injector));return new angular_fire_storage_Storage(storage)}}const STORAGE_INSTANCES_PROVIDER={provide:class StorageInstances{constructor(){return angular_fire_getAllInstancesOf("storage")}},deps:[[new core_Optional,PROVIDED_STORAGE_INSTANCES]]},DEFAULT_STORAGE_INSTANCE_PROVIDER={provide:angular_fire_storage_Storage,useFactory:function defaultStorageInstanceFactory(provided,defaultApp){const defaultStorage=function \u0275getDefaultInstanceOf(identifier,provided,defaultApp){if(provided){if(1===provided.length)return provided[0];const providedUsingDefaultApp=provided.filter(it=>it.app===defaultApp);if(1===providedUsingDefaultApp.length)return providedUsingDefaultApp[0]}return defaultApp.container.getProvider(identifier).getImmediate({optional:!0})}("storage",provided,defaultApp);return defaultStorage&&new angular_fire_storage_Storage(defaultStorage)},deps:[[new core_Optional,PROVIDED_STORAGE_INSTANCES],FirebaseApp]};let StorageModule=(()=>{class StorageModule2{constructor(){index_esm2017_registerVersion("angularfire",angular_fire_VERSION.full,"gcs")}}return StorageModule2.\u0275fac=function(t){return new(t||StorageModule2)},StorageModule2.\u0275mod=\u0275\u0275defineNgModule({type:StorageModule2}),StorageModule2.\u0275inj=\u0275\u0275defineInjector({providers:[DEFAULT_STORAGE_INSTANCE_PROVIDER,STORAGE_INSTANCES_PROVIDER]}),StorageModule2})();function provideStorage(fn,...deps){return{ngModule:StorageModule,providers:[{provide:PROVIDED_STORAGE_INSTANCES,useFactory:storageInstanceFactory(fn),multi:!0,deps:[core_NgZone,core_Injector,angular_fire_AngularFireSchedulers,angular_fire_app_FirebaseApps,[new core_Optional,AuthInstances],[new core_Optional,angular_fire_app_check_AppCheckInstances],...deps]}]}}const angular_fire_storage_getBlob=angular_fire_zoneWrap(getBlob,!0),angular_fire_storage_getStorage=angular_fire_zoneWrap(getStorage,!0),angular_fire_storage_ref=angular_fire_zoneWrap(ref,!0),angular_fire_storage_uploadString=angular_fire_zoneWrap(uploadString,!0),{isArray}=Array,{getPrototypeOf,prototype:objectProto,keys:getKeys}=Object;function argsArgArrayOrObject(args){if(1===args.length){const first2=args[0];if(isArray(first2))return{args:first2,keys:null};if(function isPOJO(obj){return obj&&"object"==typeof obj&&getPrototypeOf(obj)===objectProto}(first2)){const keys=getKeys(first2);return{args:keys.map(key=>first2[key]),keys}}}return{args,keys:null}}const{isArray:mapOneOrManyArgs_isArray}=Array;function mapOneOrManyArgs(fn){return map_map(args=>function callOrApply(fn,args){return mapOneOrManyArgs_isArray(args)?fn(...args):fn(args)}(fn,args))}function createObject(keys,values){return keys.reduce((result,key,i6)=>(result[key]=values[i6],result),{})}function forkJoin(...args){const resultSelector=popResultSelector(args),{args:sources,keys}=argsArgArrayOrObject(args),result=new Observable_Observable(subscriber=>{const{length}=sources;if(!length)return void subscriber.complete();const values=new Array(length);let remainingCompletions=length,remainingEmissions=length;for(let sourceIndex=0;sourceIndex{hasValue||(hasValue=!0,remainingEmissions--),values[sourceIndex]=value},()=>remainingCompletions--,void 0,()=>{(!remainingCompletions||!hasValue)&&(remainingEmissions||subscriber.next(keys?createObject(keys,values):values),subscriber.complete())}))}});return resultSelector?result.pipe(mapOneOrManyArgs(resultSelector)):result}let BaseControlValueAccessor=(()=>{var _class2;class BaseControlValueAccessor2{constructor(_renderer,_elementRef){this._renderer=_renderer,this._elementRef=_elementRef,this.onChange=_=>{},this.onTouched=()=>{}}setProperty(key,value){this._renderer.setProperty(this._elementRef.nativeElement,key,value)}registerOnTouched(fn){this.onTouched=fn}registerOnChange(fn){this.onChange=fn}setDisabledState(isDisabled){this.setProperty("disabled",isDisabled)}}return(_class2=BaseControlValueAccessor2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(core_ElementRef))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2}),BaseControlValueAccessor2})(),BuiltInControlValueAccessor=(()=>{var _class2;class BuiltInControlValueAccessor2 extends BaseControlValueAccessor{}return(_class2=BuiltInControlValueAccessor2).\u0275fac=function(){let \u0275_class2_BaseFactory;return function(t){return(\u0275_class2_BaseFactory||(\u0275_class2_BaseFactory=\u0275\u0275getInheritedFactory(_class2)))(t||_class2)}}(),_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,features:[\u0275\u0275InheritDefinitionFeature]}),BuiltInControlValueAccessor2})();const NG_VALUE_ACCESSOR=new InjectionToken("NgValueAccessor"),DEFAULT_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:core_forwardRef(()=>DefaultValueAccessor),multi:!0},COMPOSITION_BUFFER_MODE=new InjectionToken("CompositionEventMode");let DefaultValueAccessor=(()=>{var _class4;class DefaultValueAccessor2 extends BaseControlValueAccessor{constructor(renderer,elementRef,_compositionMode){super(renderer,elementRef),this._compositionMode=_compositionMode,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function forms_isAndroid(){const userAgent=getDOM()?getDOM().getUserAgent():"";return/android (\d+)/.test(userAgent.toLowerCase())}())}writeValue(value){this.setProperty("value",value??"")}_handleInput(value){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(value)}_compositionStart(){this._composing=!0}_compositionEnd(value){this._composing=!1,this._compositionMode&&this.onChange(value)}}return(_class4=DefaultValueAccessor2).\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(COMPOSITION_BUFFER_MODE,8))},_class4.\u0275dir=\u0275\u0275defineDirective({type:_class4,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(rf,ctx){1&rf&&\u0275\u0275listener("input",function($event){return ctx._handleInput($event.target.value)})("blur",function(){return ctx.onTouched()})("compositionstart",function(){return ctx._compositionStart()})("compositionend",function($event){return ctx._compositionEnd($event.target.value)})},features:[\u0275\u0275ProvidersFeature([DEFAULT_VALUE_ACCESSOR]),\u0275\u0275InheritDefinitionFeature]}),DefaultValueAccessor2})();const NG_VALIDATORS=new InjectionToken("NgValidators"),NG_ASYNC_VALIDATORS=new InjectionToken("NgAsyncValidators");function isPresent(o){return null!=o}function toObservable(value){return core_isPromise(value)?from_from(value):value}function mergeErrors(arrayOfErrors){let res={};return arrayOfErrors.forEach(errors=>{res=null!=errors?{...res,...errors}:res}),0===Object.keys(res).length?null:res}function executeValidators(control,validators){return validators.map(validator=>validator(control))}function normalizeValidators(validators){return validators.map(validator=>function isValidatorFn(validator){return!validator.validate}(validator)?validator:c=>validator.validate(c))}function composeValidators(validators){return null!=validators?function compose(validators){if(!validators)return null;const presentValidators=validators.filter(isPresent);return 0==presentValidators.length?null:function(control){return mergeErrors(executeValidators(control,presentValidators))}}(normalizeValidators(validators)):null}function composeAsyncValidators(validators){return null!=validators?function composeAsync(validators){if(!validators)return null;const presentValidators=validators.filter(isPresent);return 0==presentValidators.length?null:function(control){return forkJoin(executeValidators(control,presentValidators).map(toObservable)).pipe(map_map(mergeErrors))}}(normalizeValidators(validators)):null}function mergeValidators(controlValidators,dirValidator){return null===controlValidators?[dirValidator]:Array.isArray(controlValidators)?[...controlValidators,dirValidator]:[controlValidators,dirValidator]}function makeValidatorsArray(validators){return validators?Array.isArray(validators)?validators:[validators]:[]}function hasValidator(validators,validator){return Array.isArray(validators)?validators.includes(validator):validators===validator}function addValidators(validators,currentValidators){const current=makeValidatorsArray(currentValidators);return makeValidatorsArray(validators).forEach(v=>{hasValidator(current,v)||current.push(v)}),current}function removeValidators(validators,currentValidators){return makeValidatorsArray(currentValidators).filter(v=>!hasValidator(validators,v))}class AbstractControlDirective{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(validators){this._rawValidators=validators||[],this._composedValidatorFn=composeValidators(this._rawValidators)}_setAsyncValidators(validators){this._rawAsyncValidators=validators||[],this._composedAsyncValidatorFn=composeAsyncValidators(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(fn){this._onDestroyCallbacks.push(fn)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(fn=>fn()),this._onDestroyCallbacks=[]}reset(value=void 0){this.control&&this.control.reset(value)}hasError(errorCode,path){return!!this.control&&this.control.hasError(errorCode,path)}getError(errorCode,path){return this.control?this.control.getError(errorCode,path):null}}class ControlContainer extends AbstractControlDirective{get formDirective(){return null}get path(){return null}}class NgControl extends AbstractControlDirective{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AbstractControlStatus{constructor(cd){this._cd=cd}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let NgControlStatus=(()=>{var _class5;class NgControlStatus2 extends AbstractControlStatus{constructor(cd){super(cd)}}return(_class5=NgControlStatus2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(NgControl,2))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275classProp("ng-untouched",ctx.isUntouched)("ng-touched",ctx.isTouched)("ng-pristine",ctx.isPristine)("ng-dirty",ctx.isDirty)("ng-valid",ctx.isValid)("ng-invalid",ctx.isInvalid)("ng-pending",ctx.isPending)},features:[\u0275\u0275InheritDefinitionFeature]}),NgControlStatus2})();function isOptionsObj(validatorOrOpts){return null!=validatorOrOpts&&!Array.isArray(validatorOrOpts)&&"object"==typeof validatorOrOpts}class AbstractControl{constructor(validators,asyncValidators){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(validators),this._assignAsyncValidators(asyncValidators)}get validator(){return this._composedValidatorFn}set validator(validatorFn){this._rawValidators=this._composedValidatorFn=validatorFn}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(asyncValidatorFn){this._rawAsyncValidators=this._composedAsyncValidatorFn=asyncValidatorFn}get parent(){return this._parent}get valid(){return"VALID"===this.status}get invalid(){return"INVALID"===this.status}get pending(){return"PENDING"==this.status}get disabled(){return"DISABLED"===this.status}get enabled(){return"DISABLED"!==this.status}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(validators){this._assignValidators(validators)}setAsyncValidators(validators){this._assignAsyncValidators(validators)}addValidators(validators){this.setValidators(addValidators(validators,this._rawValidators))}addAsyncValidators(validators){this.setAsyncValidators(addValidators(validators,this._rawAsyncValidators))}removeValidators(validators){this.setValidators(removeValidators(validators,this._rawValidators))}removeAsyncValidators(validators){this.setAsyncValidators(removeValidators(validators,this._rawAsyncValidators))}hasValidator(validator){return hasValidator(this._rawValidators,validator)}hasAsyncValidator(validator){return hasValidator(this._rawAsyncValidators,validator)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(opts={}){this.touched=!0,this._parent&&!opts.onlySelf&&this._parent.markAsTouched(opts)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(control=>control.markAllAsTouched())}markAsUntouched(opts={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(control=>{control.markAsUntouched({onlySelf:!0})}),this._parent&&!opts.onlySelf&&this._parent._updateTouched(opts)}markAsDirty(opts={}){this.pristine=!1,this._parent&&!opts.onlySelf&&this._parent.markAsDirty(opts)}markAsPristine(opts={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(control=>{control.markAsPristine({onlySelf:!0})}),this._parent&&!opts.onlySelf&&this._parent._updatePristine(opts)}markAsPending(opts={}){this.status="PENDING",!1!==opts.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!opts.onlySelf&&this._parent.markAsPending(opts)}disable(opts={}){const skipPristineCheck=this._parentMarkedDirty(opts.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild(control=>{control.disable({...opts,onlySelf:!0})}),this._updateValue(),!1!==opts.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...opts,skipPristineCheck}),this._onDisabledChange.forEach(changeFn=>changeFn(!0))}enable(opts={}){const skipPristineCheck=this._parentMarkedDirty(opts.onlySelf);this.status="VALID",this._forEachChild(control=>{control.enable({...opts,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:opts.emitEvent}),this._updateAncestors({...opts,skipPristineCheck}),this._onDisabledChange.forEach(changeFn=>changeFn(!1))}_updateAncestors(opts){this._parent&&!opts.onlySelf&&(this._parent.updateValueAndValidity(opts),opts.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(parent){this._parent=parent}getRawValue(){return this.value}updateValueAndValidity(opts={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),("VALID"===this.status||"PENDING"===this.status)&&this._runAsyncValidator(opts.emitEvent)),!1!==opts.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!opts.onlySelf&&this._parent.updateValueAndValidity(opts)}_updateTreeValidity(opts={emitEvent:!0}){this._forEachChild(ctrl=>ctrl._updateTreeValidity(opts)),this.updateValueAndValidity({onlySelf:!0,emitEvent:opts.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(emitEvent){if(this.asyncValidator){this.status="PENDING",this._hasOwnPendingAsyncValidator=!0;const obs=toObservable(this.asyncValidator(this));this._asyncValidationSubscription=obs.subscribe(errors=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(errors,{emitEvent})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(errors,opts={}){this.errors=errors,this._updateControlsErrors(!1!==opts.emitEvent)}get(path){let currPath=path;return null==currPath||(Array.isArray(currPath)||(currPath=currPath.split(".")),0===currPath.length)?null:currPath.reduce((control,name)=>control&&control._find(name),this)}getError(errorCode,path){const control=path?this.get(path):this;return control&&control.errors?control.errors[errorCode]:null}hasError(errorCode,path){return!!this.getError(errorCode,path)}get root(){let x=this;for(;x._parent;)x=x._parent;return x}_updateControlsErrors(emitEvent){this.status=this._calculateStatus(),emitEvent&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(emitEvent)}_initObservables(){this.valueChanges=new core_EventEmitter,this.statusChanges=new core_EventEmitter}_calculateStatus(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"}_anyControlsHaveStatus(status){return this._anyControls(control=>control.status===status)}_anyControlsDirty(){return this._anyControls(control=>control.dirty)}_anyControlsTouched(){return this._anyControls(control=>control.touched)}_updatePristine(opts={}){this.pristine=!this._anyControlsDirty(),this._parent&&!opts.onlySelf&&this._parent._updatePristine(opts)}_updateTouched(opts={}){this.touched=this._anyControlsTouched(),this._parent&&!opts.onlySelf&&this._parent._updateTouched(opts)}_registerOnCollectionChange(fn){this._onCollectionChange=fn}_setUpdateStrategy(opts){isOptionsObj(opts)&&null!=opts.updateOn&&(this._updateOn=opts.updateOn)}_parentMarkedDirty(onlySelf){return!onlySelf&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(name){return null}_assignValidators(validators){this._rawValidators=Array.isArray(validators)?validators.slice():validators,this._composedValidatorFn=function coerceToValidator(validator){return Array.isArray(validator)?composeValidators(validator):validator||null}(this._rawValidators)}_assignAsyncValidators(validators){this._rawAsyncValidators=Array.isArray(validators)?validators.slice():validators,this._composedAsyncValidatorFn=function coerceToAsyncValidator(asyncValidator){return Array.isArray(asyncValidator)?composeAsyncValidators(asyncValidator):asyncValidator||null}(this._rawAsyncValidators)}}const CALL_SET_DISABLED_STATE=new InjectionToken("CallSetDisabledState",{providedIn:"root",factory:()=>setDisabledStateDefault}),setDisabledStateDefault="always";function setUpControl(control,dir,callSetDisabledState=setDisabledStateDefault){(function setUpValidators(control,dir){const validators=function getControlValidators(control){return control._rawValidators}(control);null!==dir.validator?control.setValidators(mergeValidators(validators,dir.validator)):"function"==typeof validators&&control.setValidators([validators]);const asyncValidators=function getControlAsyncValidators(control){return control._rawAsyncValidators}(control);null!==dir.asyncValidator?control.setAsyncValidators(mergeValidators(asyncValidators,dir.asyncValidator)):"function"==typeof asyncValidators&&control.setAsyncValidators([asyncValidators]);const onValidatorChange=()=>control.updateValueAndValidity();registerOnValidatorChange(dir._rawValidators,onValidatorChange),registerOnValidatorChange(dir._rawAsyncValidators,onValidatorChange)})(control,dir),dir.valueAccessor.writeValue(control.value),(control.disabled||"always"===callSetDisabledState)&&dir.valueAccessor.setDisabledState?.(control.disabled),function setUpViewChangePipeline(control,dir){dir.valueAccessor.registerOnChange(newValue=>{control._pendingValue=newValue,control._pendingChange=!0,control._pendingDirty=!0,"change"===control.updateOn&&updateControl(control,dir)})}(control,dir),function setUpModelChangePipeline(control,dir){const onChange=(newValue,emitModelEvent)=>{dir.valueAccessor.writeValue(newValue),emitModelEvent&&dir.viewToModelUpdate(newValue)};control.registerOnChange(onChange),dir._registerOnDestroy(()=>{control._unregisterOnChange(onChange)})}(control,dir),function setUpBlurPipeline(control,dir){dir.valueAccessor.registerOnTouched(()=>{control._pendingTouched=!0,"blur"===control.updateOn&&control._pendingChange&&updateControl(control,dir),"submit"!==control.updateOn&&control.markAsTouched()})}(control,dir),function setUpDisabledChangeHandler(control,dir){if(dir.valueAccessor.setDisabledState){const onDisabledChange=isDisabled=>{dir.valueAccessor.setDisabledState(isDisabled)};control.registerOnDisabledChange(onDisabledChange),dir._registerOnDestroy(()=>{control._unregisterOnDisabledChange(onDisabledChange)})}}(control,dir)}function registerOnValidatorChange(validators,onChange){validators.forEach(validator=>{validator.registerOnValidatorChange&&validator.registerOnValidatorChange(onChange)})}function updateControl(control,dir){control._pendingDirty&&control.markAsDirty(),control.setValue(control._pendingValue,{emitModelToViewChange:!1}),dir.viewToModelUpdate(control._pendingValue),control._pendingChange=!1}function removeListItem(list2,el){const index=list2.indexOf(el);index>-1&&list2.splice(index,1)}function isFormControlState(formState){return"object"==typeof formState&&null!==formState&&2===Object.keys(formState).length&&"value"in formState&&"disabled"in formState}const FormControl=class extends AbstractControl{constructor(formState=null,validatorOrOpts,asyncValidator){super(function pickValidators(validatorOrOpts){return(isOptionsObj(validatorOrOpts)?validatorOrOpts.validators:validatorOrOpts)||null}(validatorOrOpts),function pickAsyncValidators(asyncValidator,validatorOrOpts){return(isOptionsObj(validatorOrOpts)?validatorOrOpts.asyncValidators:asyncValidator)||null}(asyncValidator,validatorOrOpts)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(formState),this._setUpdateStrategy(validatorOrOpts),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),isOptionsObj(validatorOrOpts)&&(validatorOrOpts.nonNullable||validatorOrOpts.initialValueIsDefault)&&(this.defaultValue=isFormControlState(formState)?formState.value:formState)}setValue(value,options={}){this.value=this._pendingValue=value,this._onChange.length&&!1!==options.emitModelToViewChange&&this._onChange.forEach(changeFn=>changeFn(this.value,!1!==options.emitViewToModelChange)),this.updateValueAndValidity(options)}patchValue(value,options={}){this.setValue(value,options)}reset(formState=this.defaultValue,options={}){this._applyFormState(formState),this.markAsPristine(options),this.markAsUntouched(options),this.setValue(this.value,options),this._pendingChange=!1}_updateValue(){}_anyControls(condition){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(fn){this._onChange.push(fn)}_unregisterOnChange(fn){removeListItem(this._onChange,fn)}registerOnDisabledChange(fn){this._onDisabledChange.push(fn)}_unregisterOnDisabledChange(fn){removeListItem(this._onDisabledChange,fn)}_forEachChild(cb){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(formState){isFormControlState(formState)?(this.value=this._pendingValue=formState.value,formState.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=formState}},formControlBinding$1={provide:NgControl,useExisting:core_forwardRef(()=>NgModel)},resolvedPromise=(()=>Promise.resolve())();let hasV8BreakIterator,NgModel=(()=>{var _class10;class NgModel2 extends NgControl{constructor(parent,validators,asyncValidators,valueAccessors,_changeDetectorRef,callSetDisabledState){super(),this._changeDetectorRef=_changeDetectorRef,this.callSetDisabledState=callSetDisabledState,this.control=new FormControl,this._registered=!1,this.name="",this.update=new core_EventEmitter,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators),this.valueAccessor=function selectValueAccessor(dir,valueAccessors){if(!valueAccessors)return null;let defaultAccessor,builtinAccessor,customAccessor;return Array.isArray(valueAccessors),valueAccessors.forEach(v=>{v.constructor===DefaultValueAccessor?defaultAccessor=v:function isBuiltInAccessor(valueAccessor){return Object.getPrototypeOf(valueAccessor.constructor)===BuiltInControlValueAccessor}(v)?builtinAccessor=v:customAccessor=v}),customAccessor||builtinAccessor||defaultAccessor||null}(0,valueAccessors)}ngOnChanges(changes){if(this._checkForErrors(),!this._registered||"name"in changes){if(this._registered&&(this._checkName(),this.formDirective)){const oldName=changes.name.previousValue;this.formDirective.removeControl({name:oldName,path:this._getPath(oldName)})}this._setUpControl()}"isDisabled"in changes&&this._updateDisabled(changes),function isPropertyUpdated(changes,viewModel){if(!changes.hasOwnProperty("model"))return!1;const change=changes.model;return!!change.isFirstChange()||!Object.is(viewModel,change.currentValue)}(changes,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(newValue){this.viewModel=newValue,this.update.emit(newValue)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){setUpControl(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(value){resolvedPromise.then(()=>{this.control.setValue(value,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(changes){const disabledValue=changes.isDisabled.currentValue,isDisabled=0!==disabledValue&&function core_booleanAttribute(value){return"boolean"==typeof value?value:null!=value&&"false"!==value}(disabledValue);resolvedPromise.then(()=>{isDisabled&&!this.control.disabled?this.control.disable():!isDisabled&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(controlName){return this._parent?function controlPath(name,parent){return[...parent.path,name]}(controlName,this._parent):[controlName]}}return(_class10=NgModel2).\u0275fac=function(t){return new(t||_class10)(\u0275\u0275directiveInject(ControlContainer,9),\u0275\u0275directiveInject(NG_VALIDATORS,10),\u0275\u0275directiveInject(NG_ASYNC_VALIDATORS,10),\u0275\u0275directiveInject(NG_VALUE_ACCESSOR,10),\u0275\u0275directiveInject(ChangeDetectorRef,8),\u0275\u0275directiveInject(CALL_SET_DISABLED_STATE,8))},_class10.\u0275dir=\u0275\u0275defineDirective({type:_class10,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[\u0275\u0275ProvidersFeature([formControlBinding$1]),\u0275\u0275InheritDefinitionFeature,\u0275\u0275NgOnChangesFeature]}),NgModel2})(),RadioControlRegistryModule=(()=>{var _class13;class RadioControlRegistryModule2{}return(_class13=RadioControlRegistryModule2).\u0275fac=function(t){return new(t||_class13)},_class13.\u0275mod=\u0275\u0275defineNgModule({type:_class13}),_class13.\u0275inj=\u0275\u0275defineInjector({}),RadioControlRegistryModule2})(),\u0275InternalFormsSharedModule=(()=>{var _class35;class \u0275InternalFormsSharedModule2{}return(_class35=\u0275InternalFormsSharedModule2).\u0275fac=function(t){return new(t||_class35)},_class35.\u0275mod=\u0275\u0275defineNgModule({type:_class35}),_class35.\u0275inj=\u0275\u0275defineInjector({imports:[RadioControlRegistryModule]}),\u0275InternalFormsSharedModule2})(),FormsModule=(()=>{var _class39;class FormsModule2{static withConfig(opts){return{ngModule:FormsModule2,providers:[{provide:CALL_SET_DISABLED_STATE,useValue:opts.callSetDisabledState??setDisabledStateDefault}]}}}return(_class39=FormsModule2).\u0275fac=function(t){return new(t||_class39)},_class39.\u0275mod=\u0275\u0275defineNgModule({type:_class39}),_class39.\u0275inj=\u0275\u0275defineInjector({imports:[\u0275InternalFormsSharedModule]}),FormsModule2})();try{hasV8BreakIterator=typeof Intl<"u"&&Intl.v8BreakIterator}catch{hasV8BreakIterator=!1}let supportsPassiveEvents,scrollBehaviorSupported,shadowDomIsSupported,platform_Platform=(()=>{var _class2;class Platform2{constructor(_platformId){this._platformId=_platformId,this.isBrowser=this._platformId?function common_isPlatformBrowser(platformId){return"browser"===platformId}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!hasV8BreakIterator)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return(_class2=Platform2).\u0275fac=function(t){return new(t||_class2)(core_inject(core_PLATFORM_ID))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),Platform2})();function normalizePassiveListenerOptions(options){return function supportsPassiveEventListeners(){if(null==supportsPassiveEvents&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>supportsPassiveEvents=!0}))}finally{supportsPassiveEvents=supportsPassiveEvents||!1}return supportsPassiveEvents}()?options:!!options.capture}function platform_supportsScrollBehavior(){if(null==scrollBehaviorSupported){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return scrollBehaviorSupported=!1,scrollBehaviorSupported;if("scrollBehavior"in document.documentElement.style)scrollBehaviorSupported=!0;else{const scrollToFunction=Element.prototype.scrollTo;scrollBehaviorSupported=!!scrollToFunction&&!/\{\s*\[native code\]\s*\}/.test(scrollToFunction.toString())}}return scrollBehaviorSupported}function platform_getFocusedElementPierceShadowDom(){let activeElement=typeof document<"u"&&document?document.activeElement:null;for(;activeElement&&activeElement.shadowRoot;){const newActiveElement=activeElement.shadowRoot.activeElement;if(newActiveElement===activeElement)break;activeElement=newActiveElement}return activeElement}function _getEventTarget(event){return event.composedPath?event.composedPath()[0]:event.target}function _isTestEnvironment(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}function keycodes_hasModifierKey(event,...modifiers2){return modifiers2.length?modifiers2.some(modifier=>event[modifier]):event.altKey||event.shiftKey||event.ctrlKey||event.metaKey}function debounceTime(dueTime,scheduler=asyncScheduler){return operate((source,subscriber)=>{let activeTask=null,lastValue=null,lastTime=null;const emit=()=>{if(activeTask){activeTask.unsubscribe(),activeTask=null;const value=lastValue;lastValue=null,subscriber.next(value)}};function emitWhenIdle(){const targetTime=lastTime+dueTime,now=scheduler.now();if(now{lastValue=value,lastTime=scheduler.now(),activeTask||(activeTask=scheduler.schedule(emitWhenIdle,dueTime),subscriber.add(activeTask))},()=>{emit(),subscriber.complete()},void 0,()=>{lastValue=activeTask=null}))})}function take_take(count){return count<=0?()=>EMPTY:operate((source,subscriber)=>{let seen=0;source.subscribe(createOperatorSubscriber(subscriber,value=>{++seen<=count&&(subscriber.next(value),count<=seen&&subscriber.complete())}))})}function skip(count){return filter_filter((_,index)=>count<=index)}function takeUntil_takeUntil(notifier){return operate((source,subscriber)=>{innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber,()=>subscriber.complete(),noop)),!subscriber.closed&&source.subscribe(subscriber)})}function coercion_coerceBooleanProperty(value){return null!=value&&"false"!=`${value}`}function coercion_coerceNumberProperty(value,fallbackValue=0){return function _isNumberValue(value){return!isNaN(parseFloat(value))&&!isNaN(Number(value))}(value)?Number(value):fallbackValue}function coerceArray(value){return Array.isArray(value)?value:[value]}function coerceCssPixelValue(value){return null==value?"":"string"==typeof value?value:`${value}px`}function coerceElement(elementOrRef){return elementOrRef instanceof core_ElementRef?elementOrRef.nativeElement:elementOrRef}let MutationObserverFactory=(()=>{var _class2;class MutationObserverFactory2{create(callback){return typeof MutationObserver>"u"?null:new MutationObserver(callback)}}return(_class2=MutationObserverFactory2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),MutationObserverFactory2})(),ContentObserver=(()=>{var _class2;class ContentObserver2{constructor(_mutationObserverFactory){this._mutationObserverFactory=_mutationObserverFactory,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((_,element)=>this._cleanupObserver(element))}observe(elementOrRef){const element=coerceElement(elementOrRef);return new Observable_Observable(observer=>{const subscription=this._observeElement(element).subscribe(observer);return()=>{subscription.unsubscribe(),this._unobserveElement(element)}})}_observeElement(element){if(this._observedElements.has(element))this._observedElements.get(element).count++;else{const stream=new Subject_Subject,observer=this._mutationObserverFactory.create(mutations=>stream.next(mutations));observer&&observer.observe(element,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(element,{observer,stream,count:1})}return this._observedElements.get(element).stream}_unobserveElement(element){this._observedElements.has(element)&&(this._observedElements.get(element).count--,this._observedElements.get(element).count||this._cleanupObserver(element))}_cleanupObserver(element){if(this._observedElements.has(element)){const{observer,stream}=this._observedElements.get(element);observer&&observer.disconnect(),stream.complete(),this._observedElements.delete(element)}}}return(_class2=ContentObserver2).\u0275fac=function(t){return new(t||_class2)(core_inject(MutationObserverFactory))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),ContentObserver2})(),CdkObserveContent=(()=>{var _class3;class CdkObserveContent2{get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(value){this._debounce=coercion_coerceNumberProperty(value),this._subscribe()}constructor(_contentObserver,_elementRef,_ngZone){this._contentObserver=_contentObserver,this._elementRef=_elementRef,this._ngZone=_ngZone,this.event=new core_EventEmitter,this._disabled=!1,this._currentSubscription=null}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const stream=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?stream.pipe(debounceTime(this.debounce)):stream).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}}return(_class3=CdkObserveContent2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(ContentObserver),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_NgZone))},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),CdkObserveContent2})(),ObserversModule=(()=>{var _class4;class ObserversModule2{}return(_class4=ObserversModule2).\u0275fac=function(t){return new(t||_class4)},_class4.\u0275mod=\u0275\u0275defineNgModule({type:_class4}),_class4.\u0275inj=\u0275\u0275defineInjector({providers:[MutationObserverFactory]}),ObserversModule2})();function maybeSchedule(scheduler,execute,subscription){scheduler?executeSchedule(subscription,scheduler,execute):execute()}function concat(...args){return function concatAll(){return mergeAll_mergeAll(1)}()(from_from(args,popScheduler(args)))}function startWith_startWith(...values){const scheduler=popScheduler(values);return operate((source,subscriber)=>{(scheduler?concat(values,source,scheduler):concat(values,source)).subscribe(subscriber)})}const mediaQueriesForWebkitCompatibility=new Set;let mediaQueryStyleNode,MediaMatcher=(()=>{var _class2;class MediaMatcher2{constructor(_platform,_nonce){this._platform=_platform,this._nonce=_nonce,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):noopMatchMedia}matchMedia(query2){return(this._platform.WEBKIT||this._platform.BLINK)&&function createEmptyStyleRule(query2,nonce){if(!mediaQueriesForWebkitCompatibility.has(query2))try{mediaQueryStyleNode||(mediaQueryStyleNode=document.createElement("style"),nonce&&(mediaQueryStyleNode.nonce=nonce),mediaQueryStyleNode.setAttribute("type","text/css"),document.head.appendChild(mediaQueryStyleNode)),mediaQueryStyleNode.sheet&&(mediaQueryStyleNode.sheet.insertRule(`@media ${query2} {body{ }}`,0),mediaQueriesForWebkitCompatibility.add(query2))}catch(e2){console.error(e2)}}(query2,this._nonce),this._matchMedia(query2)}}return(_class2=MediaMatcher2).\u0275fac=function(t){return new(t||_class2)(core_inject(platform_Platform),core_inject(CSP_NONCE,8))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),MediaMatcher2})();function noopMatchMedia(query2){return{matches:"all"===query2||""===query2,media:query2,addListener:()=>{},removeListener:()=>{}}}let BreakpointObserver=(()=>{var _class3;class BreakpointObserver2{constructor(_mediaMatcher,_zone){this._mediaMatcher=_mediaMatcher,this._zone=_zone,this._queries=new Map,this._destroySubject=new Subject_Subject}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(value){return splitQueries(coerceArray(value)).some(mediaQuery=>this._registerQuery(mediaQuery).mql.matches)}observe(value){let stateObservable=function combineLatest_combineLatest(...args){const scheduler=popScheduler(args),resultSelector=popResultSelector(args),{args:observables,keys}=argsArgArrayOrObject(args);if(0===observables.length)return from_from([],scheduler);const result=new Observable_Observable(function combineLatestInit(observables,scheduler,valueTransform=identity){return subscriber=>{maybeSchedule(scheduler,()=>{const{length}=observables,values=new Array(length);let active=length,remainingFirstValues=length;for(let i6=0;i6{const source=from_from(observables[i6],scheduler);let hasFirstValue=!1;source.subscribe(createOperatorSubscriber(subscriber,value=>{values[i6]=value,hasFirstValue||(hasFirstValue=!0,remainingFirstValues--),remainingFirstValues||subscriber.next(valueTransform(values.slice()))},()=>{--active||subscriber.complete()}))},subscriber)},subscriber)}}(observables,scheduler,keys?values=>createObject(keys,values):identity));return resultSelector?result.pipe(mapOneOrManyArgs(resultSelector)):result}(splitQueries(coerceArray(value)).map(query2=>this._registerQuery(query2).observable));return stateObservable=concat(stateObservable.pipe(take_take(1)),stateObservable.pipe(skip(1),debounceTime(0))),stateObservable.pipe(map_map(breakpointStates=>{const response={matches:!1,breakpoints:{}};return breakpointStates.forEach(({matches,query:query2})=>{response.matches=response.matches||matches,response.breakpoints[query2]=matches}),response}))}_registerQuery(query2){if(this._queries.has(query2))return this._queries.get(query2);const mql=this._mediaMatcher.matchMedia(query2),output={observable:new Observable_Observable(observer=>{const handler=e2=>this._zone.run(()=>observer.next(e2));return mql.addListener(handler),()=>{mql.removeListener(handler)}}).pipe(startWith_startWith(mql),map_map(({matches})=>({query:query2,matches})),takeUntil_takeUntil(this._destroySubject)),mql};return this._queries.set(query2,output),output}}return(_class3=BreakpointObserver2).\u0275fac=function(t){return new(t||_class3)(core_inject(MediaMatcher),core_inject(core_NgZone))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac,providedIn:"root"}),BreakpointObserver2})();function splitQueries(queries){return queries.map(query2=>query2.split(",")).reduce((a1,a2)=>a1.concat(a2)).map(query2=>query2.trim())}function getAriaReferenceIds(el,attr){return(el.getAttribute(attr)||"").match(/\S+/g)||[]}let nextId=0,AriaDescriber=(()=>{var _class2;class AriaDescriber2{constructor(_document2,_platform){this._platform=_platform,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+nextId++,this._document=_document2,this._id=fesm2022_core_inject(APP_ID)+"-"+nextId++}describe(hostElement,message,role){if(!this._canBeDescribed(hostElement,message))return;const key=a11y_getKey(message,role);"string"!=typeof message?(setMessageId(message,this._id),this._messageRegistry.set(key,{messageElement:message,referenceCount:0})):this._messageRegistry.has(key)||this._createMessageElement(message,role),this._isElementDescribedByMessage(hostElement,key)||this._addMessageReference(hostElement,key)}removeDescription(hostElement,message,role){if(!message||!this._isElementNode(hostElement))return;const key=a11y_getKey(message,role);if(this._isElementDescribedByMessage(hostElement,key)&&this._removeMessageReference(hostElement,key),"string"==typeof message){const registeredMessage=this._messageRegistry.get(key);registeredMessage&&0===registeredMessage.referenceCount&&this._deleteMessageElement(key)}0===this._messagesContainer?.childNodes.length&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){const describedElements=this._document.querySelectorAll(`[cdk-describedby-host="${this._id}"]`);for(let i6=0;i60!=id.indexOf("cdk-describedby-message"));element.setAttribute("aria-describedby",originalReferenceIds.join(" "))}_addMessageReference(element,key){const registeredMessage=this._messageRegistry.get(key);(function addAriaReferencedId(el,attr,id){const ids=getAriaReferenceIds(el,attr);ids.some(existingId=>existingId.trim()==id.trim())||(ids.push(id.trim()),el.setAttribute(attr,ids.join(" ")))})(element,"aria-describedby",registeredMessage.messageElement.id),element.setAttribute("cdk-describedby-host",this._id),registeredMessage.referenceCount++}_removeMessageReference(element,key){const registeredMessage=this._messageRegistry.get(key);registeredMessage.referenceCount--,function removeAriaReferencedId(el,attr,id){const filteredIds=getAriaReferenceIds(el,attr).filter(val=>val!=id.trim());filteredIds.length?el.setAttribute(attr,filteredIds.join(" ")):el.removeAttribute(attr)}(element,"aria-describedby",registeredMessage.messageElement.id),element.removeAttribute("cdk-describedby-host")}_isElementDescribedByMessage(element,key){const referenceIds=getAriaReferenceIds(element,"aria-describedby"),registeredMessage=this._messageRegistry.get(key),messageId=registeredMessage&®isteredMessage.messageElement.id;return!!messageId&&-1!=referenceIds.indexOf(messageId)}_canBeDescribed(element,message){if(!this._isElementNode(element))return!1;if(message&&"object"==typeof message)return!0;const trimmedMessage=null==message?"":`${message}`.trim(),ariaLabel=element.getAttribute("aria-label");return!(!trimmedMessage||ariaLabel&&ariaLabel.trim()===trimmedMessage)}_isElementNode(element){return element.nodeType===this._document.ELEMENT_NODE}}return(_class2=AriaDescriber2).\u0275fac=function(t){return new(t||_class2)(core_inject(common_DOCUMENT),core_inject(platform_Platform))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),AriaDescriber2})();function a11y_getKey(message,role){return"string"==typeof message?`${role||""}/${message}`:message}function setMessageId(element,serviceId){element.id||(element.id=`cdk-describedby-message-${serviceId}-${nextId++}`)}class ListKeyManager{constructor(_items){this._items=_items,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new Subject_Subject,this._typeaheadSubscription=Subscription_Subscription.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=item=>item.disabled,this._pressedLetters=[],this.tabOut=new Subject_Subject,this.change=new Subject_Subject,_items instanceof QueryList&&(this._itemChangesSubscription=_items.changes.subscribe(newItems=>{if(this._activeItem){const newIndex=newItems.toArray().indexOf(this._activeItem);newIndex>-1&&newIndex!==this._activeItemIndex&&(this._activeItemIndex=newIndex)}}))}skipPredicate(predicate){return this._skipPredicateFn=predicate,this}withWrap(shouldWrap=!0){return this._wrap=shouldWrap,this}withVerticalOrientation(enabled=!0){return this._vertical=enabled,this}withHorizontalOrientation(direction){return this._horizontal=direction,this}withAllowedModifierKeys(keys){return this._allowedModifierKeys=keys,this}withTypeAhead(debounceInterval=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(tap_tap(letter=>this._pressedLetters.push(letter)),debounceTime(debounceInterval),filter_filter(()=>this._pressedLetters.length>0),map_map(()=>this._pressedLetters.join(""))).subscribe(inputString=>{const items=this._getItemsArray();for(let i6=1;i6!event[modifier]||this._allowedModifierKeys.indexOf(modifier)>-1);switch(keyCode){case 9:return void this.tabOut.next();case 40:if(this._vertical&&isModifierAllowed){this.setNextItemActive();break}return;case 38:if(this._vertical&&isModifierAllowed){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&isModifierAllowed){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&isModifierAllowed){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&isModifierAllowed){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&isModifierAllowed){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&isModifierAllowed){const targetIndex=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(targetIndex>0?targetIndex:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&isModifierAllowed){const targetIndex=this._activeItemIndex+this._pageUpAndDown.delta,itemsLength=this._getItemsArray().length;this._setActiveItemByIndex(targetIndex=65&&keyCode<=90||keyCode>=48&&keyCode<=57)&&this._letterKeyStream.next(String.fromCharCode(keyCode))))}this._pressedLetters=[],event.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(item){const itemArray=this._getItemsArray(),index="number"==typeof item?item:itemArray.indexOf(item);this._activeItem=itemArray[index]??null,this._activeItemIndex=index}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(delta){this._wrap?this._setActiveInWrapMode(delta):this._setActiveInDefaultMode(delta)}_setActiveInWrapMode(delta){const items=this._getItemsArray();for(let i6=1;i6<=items.length;i6++){const index=(this._activeItemIndex+delta*i6+items.length)%items.length;if(!this._skipPredicateFn(items[index]))return void this.setActiveItem(index)}}_setActiveInDefaultMode(delta){this._setActiveItemByIndex(this._activeItemIndex+delta,delta)}_setActiveItemByIndex(index,fallbackDelta){const items=this._getItemsArray();if(items[index]){for(;this._skipPredicateFn(items[index]);)if(!items[index+=fallbackDelta])return;this.setActiveItem(index)}}_getItemsArray(){return this._items instanceof QueryList?this._items.toArray():this._items}}class FocusKeyManager extends ListKeyManager{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(origin){return this._origin=origin,this}setActiveItem(item){super.setActiveItem(item),this.activeItem&&this.activeItem.focus(this._origin)}}let InteractivityChecker=(()=>{var _class2;class InteractivityChecker2{constructor(_platform){this._platform=_platform}isDisabled(element){return element.hasAttribute("disabled")}isVisible(element){return function hasGeometry(element){return!!(element.offsetWidth||element.offsetHeight||"function"==typeof element.getClientRects&&element.getClientRects().length)}(element)&&"visible"===getComputedStyle(element).visibility}isTabbable(element){if(!this._platform.isBrowser)return!1;const frameElement=function getFrameElement(window2){try{return window2.frameElement}catch{return null}}(function getWindow(node2){return node2.ownerDocument&&node2.ownerDocument.defaultView||window}(element));if(frameElement&&(-1===getTabIndexValue(frameElement)||!this.isVisible(frameElement)))return!1;let nodeName=element.nodeName.toLowerCase(),tabIndexValue=getTabIndexValue(element);return element.hasAttribute("contenteditable")?-1!==tabIndexValue:!("iframe"===nodeName||"object"===nodeName||this._platform.WEBKIT&&this._platform.IOS&&!function isPotentiallyTabbableIOS(element){let nodeName=element.nodeName.toLowerCase(),inputType="input"===nodeName&&element.type;return"text"===inputType||"password"===inputType||"select"===nodeName||"textarea"===nodeName}(element))&&("audio"===nodeName?!!element.hasAttribute("controls")&&-1!==tabIndexValue:"video"===nodeName?-1!==tabIndexValue&&(null!==tabIndexValue||this._platform.FIREFOX||element.hasAttribute("controls")):element.tabIndex>=0)}isFocusable(element,config2){return function isPotentiallyFocusable(element){return!function isHiddenInput(element){return function a11y_isInputElement(element){return"input"==element.nodeName.toLowerCase()}(element)&&"hidden"==element.type}(element)&&(function isNativeFormElement(element){let nodeName=element.nodeName.toLowerCase();return"input"===nodeName||"select"===nodeName||"button"===nodeName||"textarea"===nodeName}(element)||function isAnchorWithHref(element){return function isAnchorElement(element){return"a"==element.nodeName.toLowerCase()}(element)&&element.hasAttribute("href")}(element)||element.hasAttribute("contenteditable")||hasValidTabIndex(element))}(element)&&!this.isDisabled(element)&&(config2?.ignoreVisibility||this.isVisible(element))}}return(_class2=InteractivityChecker2).\u0275fac=function(t){return new(t||_class2)(core_inject(platform_Platform))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),InteractivityChecker2})();function hasValidTabIndex(element){if(!element.hasAttribute("tabindex")||void 0===element.tabIndex)return!1;let tabIndex=element.getAttribute("tabindex");return!(!tabIndex||isNaN(parseInt(tabIndex,10)))}function getTabIndexValue(element){if(!hasValidTabIndex(element))return null;const tabIndex=parseInt(element.getAttribute("tabindex")||"",10);return isNaN(tabIndex)?-1:tabIndex}class FocusTrap{get enabled(){return this._enabled}set enabled(value){this._enabled=value,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(value,this._startAnchor),this._toggleAnchorTabIndex(value,this._endAnchor))}constructor(_element,_checker,_ngZone,_document2,deferAnchors=!1){this._element=_element,this._checker=_checker,this._ngZone=_ngZone,this._document=_document2,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,deferAnchors||this.attachAnchors()}destroy(){const startAnchor=this._startAnchor,endAnchor=this._endAnchor;startAnchor&&(startAnchor.removeEventListener("focus",this.startAnchorListener),startAnchor.remove()),endAnchor&&(endAnchor.removeEventListener("focus",this.endAnchorListener),endAnchor.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(options){return new Promise(resolve=>{this._executeOnStable(()=>resolve(this.focusInitialElement(options)))})}focusFirstTabbableElementWhenReady(options){return new Promise(resolve=>{this._executeOnStable(()=>resolve(this.focusFirstTabbableElement(options)))})}focusLastTabbableElementWhenReady(options){return new Promise(resolve=>{this._executeOnStable(()=>resolve(this.focusLastTabbableElement(options)))})}_getRegionBoundary(bound){const markers=this._element.querySelectorAll(`[cdk-focus-region-${bound}], [cdkFocusRegion${bound}], [cdk-focus-${bound}]`);return"start"==bound?markers.length?markers[0]:this._getFirstTabbableElement(this._element):markers.length?markers[markers.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(options){const redirectToElement=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(redirectToElement){if(!this._checker.isFocusable(redirectToElement)){const focusableChild=this._getFirstTabbableElement(redirectToElement);return focusableChild?.focus(options),!!focusableChild}return redirectToElement.focus(options),!0}return this.focusFirstTabbableElement(options)}focusFirstTabbableElement(options){const redirectToElement=this._getRegionBoundary("start");return redirectToElement&&redirectToElement.focus(options),!!redirectToElement}focusLastTabbableElement(options){const redirectToElement=this._getRegionBoundary("end");return redirectToElement&&redirectToElement.focus(options),!!redirectToElement}hasAttached(){return this._hasAttached}_getFirstTabbableElement(root){if(this._checker.isFocusable(root)&&this._checker.isTabbable(root))return root;const children=root.children;for(let i6=0;i6=0;i6--){const tabbableChild=children[i6].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(children[i6]):null;if(tabbableChild)return tabbableChild}return null}_createAnchor(){const anchor=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,anchor),anchor.classList.add("cdk-visually-hidden"),anchor.classList.add("cdk-focus-trap-anchor"),anchor.setAttribute("aria-hidden","true"),anchor}_toggleAnchorTabIndex(isEnabled,anchor){isEnabled?anchor.setAttribute("tabindex","0"):anchor.removeAttribute("tabindex")}toggleAnchors(enabled){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(enabled,this._startAnchor),this._toggleAnchorTabIndex(enabled,this._endAnchor))}_executeOnStable(fn){this._ngZone.isStable?fn():this._ngZone.onStable.pipe(take_take(1)).subscribe(fn)}}let FocusTrapFactory=(()=>{var _class3;class FocusTrapFactory2{constructor(_checker,_ngZone,_document2){this._checker=_checker,this._ngZone=_ngZone,this._document=_document2}create(element,deferCaptureElements=!1){return new FocusTrap(element,this._checker,this._ngZone,this._document,deferCaptureElements)}}return(_class3=FocusTrapFactory2).\u0275fac=function(t){return new(t||_class3)(core_inject(InteractivityChecker),core_inject(core_NgZone),core_inject(common_DOCUMENT))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac,providedIn:"root"}),FocusTrapFactory2})();function isFakeMousedownFromScreenReader(event){return 0===event.buttons||0===event.offsetX&&0===event.offsetY}function isFakeTouchstartFromScreenReader(event){const touch=event.touches&&event.touches[0]||event.changedTouches&&event.changedTouches[0];return!(!touch||-1!==touch.identifier||null!=touch.radiusX&&1!==touch.radiusX||null!=touch.radiusY&&1!==touch.radiusY)}const INPUT_MODALITY_DETECTOR_OPTIONS=new InjectionToken("cdk-input-modality-detector-options"),INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS={ignoreKeys:[18,17,224,91,16]},modalityEventListenerOptions=normalizePassiveListenerOptions({passive:!0,capture:!0});let InputModalityDetector=(()=>{var _class7;class InputModalityDetector2{get mostRecentModality(){return this._modality.value}constructor(_platform,ngZone,document2,options){this._platform=_platform,this._mostRecentTarget=null,this._modality=new BehaviorSubject_BehaviorSubject(null),this._lastTouchMs=0,this._onKeydown=event=>{this._options?.ignoreKeys?.some(keyCode=>keyCode===event.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=_getEventTarget(event))},this._onMousedown=event=>{Date.now()-this._lastTouchMs<650||(this._modality.next(isFakeMousedownFromScreenReader(event)?"keyboard":"mouse"),this._mostRecentTarget=_getEventTarget(event))},this._onTouchstart=event=>{isFakeTouchstartFromScreenReader(event)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=_getEventTarget(event))},this._options={...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,...options},this.modalityDetected=this._modality.pipe(skip(1)),this.modalityChanged=this.modalityDetected.pipe(distinctUntilChanged_distinctUntilChanged()),_platform.isBrowser&&ngZone.runOutsideAngular(()=>{document2.addEventListener("keydown",this._onKeydown,modalityEventListenerOptions),document2.addEventListener("mousedown",this._onMousedown,modalityEventListenerOptions),document2.addEventListener("touchstart",this._onTouchstart,modalityEventListenerOptions)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,modalityEventListenerOptions),document.removeEventListener("mousedown",this._onMousedown,modalityEventListenerOptions),document.removeEventListener("touchstart",this._onTouchstart,modalityEventListenerOptions))}}return(_class7=InputModalityDetector2).\u0275fac=function(t){return new(t||_class7)(core_inject(platform_Platform),core_inject(core_NgZone),core_inject(common_DOCUMENT),core_inject(INPUT_MODALITY_DETECTOR_OPTIONS,8))},_class7.\u0275prov=core_defineInjectable({token:_class7,factory:_class7.\u0275fac,providedIn:"root"}),InputModalityDetector2})();const LIVE_ANNOUNCER_ELEMENT_TOKEN=new InjectionToken("liveAnnouncerElement",{providedIn:"root",factory:function LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY(){return null}}),LIVE_ANNOUNCER_DEFAULT_OPTIONS=new InjectionToken("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let uniqueIds=0,LiveAnnouncer=(()=>{var _class8;class LiveAnnouncer2{constructor(elementToken,_ngZone,_document2,_defaultOptions){this._ngZone=_ngZone,this._defaultOptions=_defaultOptions,this._document=_document2,this._liveElement=elementToken||this._createLiveElement()}announce(message,...args){const defaultOptions=this._defaultOptions;let politeness,duration;return 1===args.length&&"number"==typeof args[0]?duration=args[0]:[politeness,duration]=args,this.clear(),clearTimeout(this._previousTimeout),politeness||(politeness=defaultOptions&&defaultOptions.politeness?defaultOptions.politeness:"polite"),null==duration&&defaultOptions&&(duration=defaultOptions.duration),this._liveElement.setAttribute("aria-live",politeness),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(resolve=>this._currentResolve=resolve)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=message,"number"==typeof duration&&(this._previousTimeout=setTimeout(()=>this.clear(),duration)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const previousElements=this._document.getElementsByClassName("cdk-live-announcer-element"),liveEl=this._document.createElement("div");for(let i6=0;i6 .cdk-overlay-container [aria-modal="true"]');for(let i6=0;i6{var _class10;class FocusMonitor2{constructor(_ngZone,_platform,_inputModalityDetector,document2,options){this._ngZone=_ngZone,this._platform=_platform,this._inputModalityDetector=_inputModalityDetector,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new Subject_Subject,this._rootNodeFocusAndBlurListener=event=>{for(let element=_getEventTarget(event);element;element=element.parentElement)"focus"===event.type?this._onFocus(event,element):this._onBlur(event,element)},this._document=document2,this._detectionMode=options?.detectionMode||0}monitor(element,checkChildren=!1){const nativeElement=coerceElement(element);if(!this._platform.isBrowser||1!==nativeElement.nodeType)return of_of();const rootNode=function _getShadowRoot(element){if(function _supportsShadowDom(){if(null==shadowDomIsSupported){const head=typeof document<"u"?document.head:null;shadowDomIsSupported=!(!head||!head.createShadowRoot&&!head.attachShadow)}return shadowDomIsSupported}()){const rootNode=element.getRootNode?element.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&rootNode instanceof ShadowRoot)return rootNode}return null}(nativeElement)||this._getDocument(),cachedInfo=this._elementInfo.get(nativeElement);if(cachedInfo)return checkChildren&&(cachedInfo.checkChildren=!0),cachedInfo.subject;const info={checkChildren,subject:new Subject_Subject,rootNode};return this._elementInfo.set(nativeElement,info),this._registerGlobalListeners(info),info.subject}stopMonitoring(element){const nativeElement=coerceElement(element),elementInfo=this._elementInfo.get(nativeElement);elementInfo&&(elementInfo.subject.complete(),this._setClasses(nativeElement),this._elementInfo.delete(nativeElement),this._removeGlobalListeners(elementInfo))}focusVia(element,origin,options){const nativeElement=coerceElement(element);nativeElement===this._getDocument().activeElement?this._getClosestElementsInfo(nativeElement).forEach(([currentElement,info])=>this._originChanged(currentElement,origin,info)):(this._setOrigin(origin),"function"==typeof nativeElement.focus&&nativeElement.focus(options))}ngOnDestroy(){this._elementInfo.forEach((_info,element)=>this.stopMonitoring(element))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(focusEventTarget){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(focusEventTarget)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:focusEventTarget&&this._isLastInteractionFromInputLabel(focusEventTarget)?"mouse":"program"}_shouldBeAttributedToTouch(focusEventTarget){return 1===this._detectionMode||!!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(element,origin){element.classList.toggle("cdk-focused",!!origin),element.classList.toggle("cdk-touch-focused","touch"===origin),element.classList.toggle("cdk-keyboard-focused","keyboard"===origin),element.classList.toggle("cdk-mouse-focused","mouse"===origin),element.classList.toggle("cdk-program-focused","program"===origin)}_setOrigin(origin,isFromInteraction=!1){this._ngZone.runOutsideAngular(()=>{this._origin=origin,this._originFromTouchInteraction="touch"===origin&&isFromInteraction,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(event,element){const elementInfo=this._elementInfo.get(element),focusEventTarget=_getEventTarget(event);!elementInfo||!elementInfo.checkChildren&&element!==focusEventTarget||this._originChanged(element,this._getFocusOrigin(focusEventTarget),elementInfo)}_onBlur(event,element){const elementInfo=this._elementInfo.get(element);!elementInfo||elementInfo.checkChildren&&event.relatedTarget instanceof Node&&element.contains(event.relatedTarget)||(this._setClasses(element),this._emitOrigin(elementInfo,null))}_emitOrigin(info,origin){info.subject.observers.length&&this._ngZone.run(()=>info.subject.next(origin))}_registerGlobalListeners(elementInfo){if(!this._platform.isBrowser)return;const rootNode=elementInfo.rootNode,rootNodeFocusListeners=this._rootNodeFocusListenerCount.get(rootNode)||0;rootNodeFocusListeners||this._ngZone.runOutsideAngular(()=>{rootNode.addEventListener("focus",this._rootNodeFocusAndBlurListener,captureEventListenerOptions),rootNode.addEventListener("blur",this._rootNodeFocusAndBlurListener,captureEventListenerOptions)}),this._rootNodeFocusListenerCount.set(rootNode,rootNodeFocusListeners+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(takeUntil_takeUntil(this._stopInputModalityDetector)).subscribe(modality=>{this._setOrigin(modality,!0)}))}_removeGlobalListeners(elementInfo){const rootNode=elementInfo.rootNode;if(this._rootNodeFocusListenerCount.has(rootNode)){const rootNodeFocusListeners=this._rootNodeFocusListenerCount.get(rootNode);rootNodeFocusListeners>1?this._rootNodeFocusListenerCount.set(rootNode,rootNodeFocusListeners-1):(rootNode.removeEventListener("focus",this._rootNodeFocusAndBlurListener,captureEventListenerOptions),rootNode.removeEventListener("blur",this._rootNodeFocusAndBlurListener,captureEventListenerOptions),this._rootNodeFocusListenerCount.delete(rootNode))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(element,origin,elementInfo){this._setClasses(element,origin),this._emitOrigin(elementInfo,origin),this._lastFocusOrigin=origin}_getClosestElementsInfo(element){const results=[];return this._elementInfo.forEach((info,currentElement)=>{(currentElement===element||info.checkChildren&¤tElement.contains(element))&&results.push([currentElement,info])}),results}_isLastInteractionFromInputLabel(focusEventTarget){const{_mostRecentTarget:mostRecentTarget,mostRecentModality}=this._inputModalityDetector;if("mouse"!==mostRecentModality||!mostRecentTarget||mostRecentTarget===focusEventTarget||"INPUT"!==focusEventTarget.nodeName&&"TEXTAREA"!==focusEventTarget.nodeName||focusEventTarget.disabled)return!1;const labels=focusEventTarget.labels;if(labels)for(let i6=0;i6{var _class112;class CdkMonitorFocus2{constructor(_elementRef,_focusMonitor){this._elementRef=_elementRef,this._focusMonitor=_focusMonitor,this._focusOrigin=null,this.cdkFocusChange=new core_EventEmitter}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){const element=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(element,1===element.nodeType&&element.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(origin=>{this._focusOrigin=origin,this.cdkFocusChange.emit(origin)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return(_class112=CdkMonitorFocus2).\u0275fac=function(t){return new(t||_class112)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(FocusMonitor))},_class112.\u0275dir=\u0275\u0275defineDirective({type:_class112,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]}),CdkMonitorFocus2})(),HighContrastModeDetector=(()=>{var _class12;class HighContrastModeDetector2{constructor(_platform,document2){this._platform=_platform,this._document=document2,this._breakpointSubscription=fesm2022_core_inject(BreakpointObserver).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const testElement=this._document.createElement("div");testElement.style.backgroundColor="rgb(1,2,3)",testElement.style.position="absolute",this._document.body.appendChild(testElement);const documentWindow=this._document.defaultView||window,computedStyle=documentWindow&&documentWindow.getComputedStyle?documentWindow.getComputedStyle(testElement):null,computedColor=(computedStyle&&computedStyle.backgroundColor||"").replace(/ /g,"");switch(testElement.remove(),computedColor){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return 2;case"rgb(255,255,255)":case"rgb(255,250,239)":return 1}return 0}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const bodyClasses=this._document.body.classList;bodyClasses.remove("cdk-high-contrast-active","cdk-high-contrast-black-on-white","cdk-high-contrast-white-on-black"),this._hasCheckedHighContrastMode=!0;const mode=this.getHighContrastMode();1===mode?bodyClasses.add("cdk-high-contrast-active","cdk-high-contrast-black-on-white"):2===mode&&bodyClasses.add("cdk-high-contrast-active","cdk-high-contrast-white-on-black")}}}return(_class12=HighContrastModeDetector2).\u0275fac=function(t){return new(t||_class12)(core_inject(platform_Platform),core_inject(common_DOCUMENT))},_class12.\u0275prov=core_defineInjectable({token:_class12,factory:_class12.\u0275fac,providedIn:"root"}),HighContrastModeDetector2})(),A11yModule=(()=>{var _class13;class A11yModule2{constructor(highContrastModeDetector){highContrastModeDetector._applyBodyHighContrastModeCssClasses()}}return(_class13=A11yModule2).\u0275fac=function(t){return new(t||_class13)(core_inject(HighContrastModeDetector))},_class13.\u0275mod=\u0275\u0275defineNgModule({type:_class13}),_class13.\u0275inj=\u0275\u0275defineInjector({imports:[ObserversModule]}),A11yModule2})();const DIR_DOCUMENT=new InjectionToken("cdk-dir-doc",{providedIn:"root",factory:function DIR_DOCUMENT_FACTORY(){return fesm2022_core_inject(common_DOCUMENT)}}),RTL_LOCALE_PATTERN=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Directionality=(()=>{var _class2;class Directionality2{constructor(_document2){this.value="ltr",this.change=new core_EventEmitter,_document2&&(this.value=function _resolveDirectionality(rawValue){const value=rawValue?.toLowerCase()||"";return"auto"===value&&typeof navigator<"u"&&navigator?.language?RTL_LOCALE_PATTERN.test(navigator.language)?"rtl":"ltr":"rtl"===value?"rtl":"ltr"}((_document2.body?_document2.body.dir:null)||(_document2.documentElement?_document2.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}}return(_class2=Directionality2).\u0275fac=function(t){return new(t||_class2)(core_inject(DIR_DOCUMENT,8))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),Directionality2})(),BidiModule=(()=>{var _class3;class BidiModule2{}return(_class3=BidiModule2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({}),BidiModule2})();const MATERIAL_SANITY_CHECKS=new InjectionToken("mat-sanity-checks",{providedIn:"root",factory:function MATERIAL_SANITY_CHECKS_FACTORY(){return!0}});let MatCommonModule=(()=>{var _class3;class MatCommonModule2{constructor(highContrastModeDetector,_sanityChecks,_document2){this._sanityChecks=_sanityChecks,this._document=_document2,this._hasDoneGlobalChecks=!1,highContrastModeDetector._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(name){return!_isTestEnvironment()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[name])}}return(_class3=MatCommonModule2).\u0275fac=function(t){return new(t||_class3)(core_inject(HighContrastModeDetector),core_inject(MATERIAL_SANITY_CHECKS,8),core_inject(common_DOCUMENT))},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({imports:[BidiModule,BidiModule]}),MatCommonModule2})();function core_mixinDisabled(base){return class extends base{get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value)}constructor(...args){super(...args),this._disabled=!1}}}function mixinColor(base,defaultColor){return class extends base{get color(){return this._color}set color(value){const colorPalette=value||this.defaultColor;colorPalette!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),colorPalette&&this._elementRef.nativeElement.classList.add(`mat-${colorPalette}`),this._color=colorPalette)}constructor(...args){super(...args),this.defaultColor=defaultColor,this.color=defaultColor}}}function core_mixinDisableRipple(base){return class extends base{get disableRipple(){return this._disableRipple}set disableRipple(value){this._disableRipple=coercion_coerceBooleanProperty(value)}constructor(...args){super(...args),this._disableRipple=!1}}}function core_mixinTabIndex(base,defaultTabIndex=0){return class extends base{get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(value){this._tabIndex=null!=value?coercion_coerceNumberProperty(value):this.defaultTabIndex}constructor(...args){super(...args),this._tabIndex=defaultTabIndex,this.defaultTabIndex=defaultTabIndex}}}class RippleRef{constructor(_renderer,element,config2,_animationForciblyDisabledThroughCss=!1){this._renderer=_renderer,this.element=element,this.config=config2,this._animationForciblyDisabledThroughCss=_animationForciblyDisabledThroughCss,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const passiveCapturingEventOptions$1=normalizePassiveListenerOptions({passive:!0,capture:!0});class RippleEventManager{constructor(){this._events=new Map,this._delegateEventHandler=event=>{const target=_getEventTarget(event);target&&this._events.get(event.type)?.forEach((handlers2,element)=>{(element===target||element.contains(target))&&handlers2.forEach(handler=>handler.handleEvent(event))})}}addHandler(ngZone,name,element,handler){const handlersForEvent=this._events.get(name);if(handlersForEvent){const handlersForElement=handlersForEvent.get(element);handlersForElement?handlersForElement.add(handler):handlersForEvent.set(element,new Set([handler]))}else this._events.set(name,new Map([[element,new Set([handler])]])),ngZone.runOutsideAngular(()=>{document.addEventListener(name,this._delegateEventHandler,passiveCapturingEventOptions$1)})}removeHandler(name,element,handler){const handlersForEvent=this._events.get(name);if(!handlersForEvent)return;const handlersForElement=handlersForEvent.get(element);handlersForElement&&(handlersForElement.delete(handler),0===handlersForElement.size&&handlersForEvent.delete(element),0===handlersForEvent.size&&(this._events.delete(name),document.removeEventListener(name,this._delegateEventHandler,passiveCapturingEventOptions$1)))}}const defaultRippleAnimationConfig={enterDuration:225,exitDuration:150},passiveCapturingEventOptions=normalizePassiveListenerOptions({passive:!0,capture:!0}),pointerDownEvents=["mousedown","touchstart"],pointerUpEvents=["mouseup","mouseleave","touchend","touchcancel"];class RippleRenderer{constructor(_target,_ngZone,elementOrElementRef,_platform){this._target=_target,this._ngZone=_ngZone,this._platform=_platform,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,_platform.isBrowser&&(this._containerElement=coerceElement(elementOrElementRef))}fadeInRipple(x,y,config2={}){const containerRect=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),animationConfig={...defaultRippleAnimationConfig,...config2.animation};config2.centered&&(x=containerRect.left+containerRect.width/2,y=containerRect.top+containerRect.height/2);const radius=config2.radius||function distanceToFurthestCorner(x,y,rect){const distX=Math.max(Math.abs(x-rect.left),Math.abs(x-rect.right)),distY=Math.max(Math.abs(y-rect.top),Math.abs(y-rect.bottom));return Math.sqrt(distX*distX+distY*distY)}(x,y,containerRect),offsetX=x-containerRect.left,offsetY=y-containerRect.top,enterDuration=animationConfig.enterDuration,ripple=document.createElement("div");ripple.classList.add("mat-ripple-element"),ripple.style.left=offsetX-radius+"px",ripple.style.top=offsetY-radius+"px",ripple.style.height=2*radius+"px",ripple.style.width=2*radius+"px",null!=config2.color&&(ripple.style.backgroundColor=config2.color),ripple.style.transitionDuration=`${enterDuration}ms`,this._containerElement.appendChild(ripple);const computedStyles=window.getComputedStyle(ripple),userTransitionDuration=computedStyles.transitionDuration,animationForciblyDisabledThroughCss="none"===computedStyles.transitionProperty||"0s"===userTransitionDuration||"0s, 0s"===userTransitionDuration||0===containerRect.width&&0===containerRect.height,rippleRef=new RippleRef(this,ripple,config2,animationForciblyDisabledThroughCss);ripple.style.transform="scale3d(1, 1, 1)",rippleRef.state=0,config2.persistent||(this._mostRecentTransientRipple=rippleRef);let eventListeners=null;return!animationForciblyDisabledThroughCss&&(enterDuration||animationConfig.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const onTransitionEnd=()=>this._finishRippleTransition(rippleRef),onTransitionCancel=()=>this._destroyRipple(rippleRef);ripple.addEventListener("transitionend",onTransitionEnd),ripple.addEventListener("transitioncancel",onTransitionCancel),eventListeners={onTransitionEnd,onTransitionCancel}}),this._activeRipples.set(rippleRef,eventListeners),(animationForciblyDisabledThroughCss||!enterDuration)&&this._finishRippleTransition(rippleRef),rippleRef}fadeOutRipple(rippleRef){if(2===rippleRef.state||3===rippleRef.state)return;const rippleEl=rippleRef.element,animationConfig={...defaultRippleAnimationConfig,...rippleRef.config.animation};rippleEl.style.transitionDuration=`${animationConfig.exitDuration}ms`,rippleEl.style.opacity="0",rippleRef.state=2,(rippleRef._animationForciblyDisabledThroughCss||!animationConfig.exitDuration)&&this._finishRippleTransition(rippleRef)}fadeOutAll(){this._getActiveRipples().forEach(ripple=>ripple.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(ripple=>{ripple.config.persistent||ripple.fadeOut()})}setupTriggerEvents(elementOrElementRef){const element=coerceElement(elementOrElementRef);!this._platform.isBrowser||!element||element===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=element,pointerDownEvents.forEach(type=>{RippleRenderer._eventManager.addHandler(this._ngZone,type,element,this)}))}handleEvent(event){"mousedown"===event.type?this._onMousedown(event):"touchstart"===event.type?this._onTouchStart(event):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{pointerUpEvents.forEach(type=>{this._triggerElement.addEventListener(type,this,passiveCapturingEventOptions)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(rippleRef){0===rippleRef.state?this._startFadeOutTransition(rippleRef):2===rippleRef.state&&this._destroyRipple(rippleRef)}_startFadeOutTransition(rippleRef){const isMostRecentTransientRipple=rippleRef===this._mostRecentTransientRipple,{persistent}=rippleRef.config;rippleRef.state=1,!persistent&&(!isMostRecentTransientRipple||!this._isPointerDown)&&rippleRef.fadeOut()}_destroyRipple(rippleRef){const eventListeners=this._activeRipples.get(rippleRef)??null;this._activeRipples.delete(rippleRef),this._activeRipples.size||(this._containerRect=null),rippleRef===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),rippleRef.state=3,null!==eventListeners&&(rippleRef.element.removeEventListener("transitionend",eventListeners.onTransitionEnd),rippleRef.element.removeEventListener("transitioncancel",eventListeners.onTransitionCancel)),rippleRef.element.remove()}_onMousedown(event){const isFakeMousedown=isFakeMousedownFromScreenReader(event),isSyntheticEvent2=this._lastTouchStartEvent&&Date.now(){!ripple.config.persistent&&(1===ripple.state||ripple.config.terminateOnPointerUp&&0===ripple.state)&&ripple.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){const trigger2=this._triggerElement;trigger2&&(pointerDownEvents.forEach(type=>RippleRenderer._eventManager.removeHandler(type,trigger2,this)),this._pointerUpEventsRegistered&&pointerUpEvents.forEach(type=>trigger2.removeEventListener(type,this,passiveCapturingEventOptions)))}}RippleRenderer._eventManager=new RippleEventManager;const core_MAT_RIPPLE_GLOBAL_OPTIONS=new InjectionToken("mat-ripple-global-options");let MatRipple=(()=>{var _class12;class MatRipple2{get disabled(){return this._disabled}set disabled(value){value&&this.fadeOutAllNonPersistent(),this._disabled=value,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(trigger2){this._trigger=trigger2,this._setupTriggerEventsIfEnabled()}constructor(_elementRef,ngZone,platform,globalOptions,_animationMode){this._elementRef=_elementRef,this._animationMode=_animationMode,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=globalOptions||{},this._rippleRenderer=new RippleRenderer(this,ngZone,_elementRef,platform)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(configOrX,y=0,config2){return"number"==typeof configOrX?this._rippleRenderer.fadeInRipple(configOrX,y,{...this.rippleConfig,...config2}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...configOrX})}}return(_class12=MatRipple2).\u0275fac=function(t){return new(t||_class12)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_MAT_RIPPLE_GLOBAL_OPTIONS,8),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class12.\u0275dir=\u0275\u0275defineDirective({type:_class12,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275classProp("mat-ripple-unbounded",ctx.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]}),MatRipple2})(),MatRippleModule=(()=>{var _class13;class MatRippleModule2{}return(_class13=MatRippleModule2).\u0275fac=function(t){return new(t||_class13)},_class13.\u0275mod=\u0275\u0275defineNgModule({type:_class13}),_class13.\u0275inj=\u0275\u0275defineInjector({imports:[MatCommonModule,MatCommonModule]}),MatRippleModule2})();const eventListenerOptions={capture:!0},rippleInteractionEvents=["focus","click","mouseenter","touchstart"];let MatRippleLoader=(()=>{var _class21;class MatRippleLoader2{constructor(){this._document=fesm2022_core_inject(common_DOCUMENT,{optional:!0}),this._animationMode=fesm2022_core_inject(core_ANIMATION_MODULE_TYPE,{optional:!0}),this._globalRippleOptions=fesm2022_core_inject(core_MAT_RIPPLE_GLOBAL_OPTIONS,{optional:!0}),this._platform=fesm2022_core_inject(platform_Platform),this._ngZone=fesm2022_core_inject(core_NgZone),this._onInteraction=event=>{if(!(event.target instanceof HTMLElement))return;const element=event.target.closest("[mat-ripple-loader-uninitialized]");element&&this.createRipple(element)},this._ngZone.runOutsideAngular(()=>{for(const event of rippleInteractionEvents)this._document?.addEventListener(event,this._onInteraction,eventListenerOptions)})}ngOnDestroy(){for(const event of rippleInteractionEvents)this._document?.removeEventListener(event,this._onInteraction,eventListenerOptions)}configureRipple(host,config2){host.setAttribute("mat-ripple-loader-uninitialized",""),(config2.className||!host.hasAttribute("mat-ripple-loader-class-name"))&&host.setAttribute("mat-ripple-loader-class-name",config2.className||""),config2.centered&&host.setAttribute("mat-ripple-loader-centered",""),config2.disabled&&host.setAttribute("mat-ripple-loader-disabled","")}getRipple(host){return host.matRipple?host.matRipple:this.createRipple(host)}setDisabled(host,disabled){const ripple=host.matRipple;ripple?ripple.disabled=disabled:disabled?host.setAttribute("mat-ripple-loader-disabled",""):host.removeAttribute("mat-ripple-loader-disabled")}createRipple(host){if(!this._document)return;host.querySelector(".mat-ripple")?.remove();const rippleEl=this._document.createElement("span");rippleEl.classList.add("mat-ripple",host.getAttribute("mat-ripple-loader-class-name")),host.append(rippleEl);const ripple=new MatRipple(new core_ElementRef(rippleEl),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return ripple._isInitialized=!0,ripple.trigger=host,ripple.centered=host.hasAttribute("mat-ripple-loader-centered"),ripple.disabled=host.hasAttribute("mat-ripple-loader-disabled"),this.attachRipple(host,ripple),ripple}attachRipple(host,ripple){host.removeAttribute("mat-ripple-loader-uninitialized"),host.matRipple=ripple}}return(_class21=MatRippleLoader2).\u0275fac=function(t){return new(t||_class21)},_class21.\u0275prov=core_defineInjectable({token:_class21,factory:_class21.\u0275fac,providedIn:"root"}),MatRippleLoader2})();const button_c0=["mat-button",""],button_c1=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],button_c2=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],_c8=["mat-icon-button",""],_c9=["*"],HOST_SELECTOR_MDC_CLASS_PAIR=[{selector:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{selector:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{selector:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{selector:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{selector:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab"]},{selector:"mat-mini-fab",mdcClasses:["mdc-fab","mdc-fab--mini","mat-mdc-mini-fab"]},{selector:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}],_MatButtonMixin=mixinColor(core_mixinDisabled(core_mixinDisableRipple(class{constructor(_elementRef){this._elementRef=_elementRef}})));let MatButtonBase=(()=>{var _class2;class MatButtonBase2 extends _MatButtonMixin{get ripple(){return this._rippleLoader?.getRipple(this._elementRef.nativeElement)}set ripple(v){this._rippleLoader?.attachRipple(this._elementRef.nativeElement,v)}get disableRipple(){return this._disableRipple}set disableRipple(value){this._disableRipple=coercion_coerceBooleanProperty(value),this._updateRippleDisabled()}get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value),this._updateRippleDisabled()}constructor(elementRef,_platform,_ngZone,_animationMode){super(elementRef),this._platform=_platform,this._ngZone=_ngZone,this._animationMode=_animationMode,this._focusMonitor=fesm2022_core_inject(FocusMonitor),this._rippleLoader=fesm2022_core_inject(MatRippleLoader),this._isFab=!1,this._disableRipple=!1,this._disabled=!1,this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-button-ripple"});const classList=elementRef.nativeElement.classList;for(const pair of HOST_SELECTOR_MDC_CLASS_PAIR)this._hasHostAttributes(pair.selector)&&pair.mdcClasses.forEach(className=>{classList.add(className)})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(_origin="program",options){_origin?this._focusMonitor.focusVia(this._elementRef.nativeElement,_origin,options):this._elementRef.nativeElement.focus(options)}_hasHostAttributes(...attributes){return attributes.some(attribute=>this._elementRef.nativeElement.hasAttribute(attribute))}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}}return(_class2=MatButtonBase2).\u0275fac=function(t){\u0275\u0275invalidFactory()},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,features:[\u0275\u0275InheritDefinitionFeature]}),MatButtonBase2})(),MatButton=(()=>{var _class3;class MatButton2 extends MatButtonBase{constructor(elementRef,platform,ngZone,animationMode){super(elementRef,platform,ngZone,animationMode)}}return(_class3=MatButton2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class3.\u0275cmp=\u0275\u0275defineComponent({type:_class3,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostVars:7,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("disabled",ctx.disabled||null),\u0275\u0275classProp("_mat-animation-noopable","NoopAnimations"===ctx._animationMode)("mat-unthemed",!ctx.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[\u0275\u0275InheritDefinitionFeature],attrs:button_c0,ngContentSelectors:button_c2,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(button_c1),\u0275\u0275element(0,"span",0),\u0275\u0275projection(1),\u0275\u0275elementStart(2,"span",1),\u0275\u0275projection(3,1),\u0275\u0275elementEnd(),\u0275\u0275projection(4,2),\u0275\u0275element(5,"span",2)(6,"span",3)),2&rf&&\u0275\u0275classProp("mdc-button__ripple",!ctx._isFab)("mdc-fab__ripple",ctx._isFab)},styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px) * -1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0}),MatButton2})(),MatIconButton=(()=>{var _class9;class MatIconButton2 extends MatButtonBase{constructor(elementRef,platform,ngZone,animationMode){super(elementRef,platform,ngZone,animationMode),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}}return(_class9=MatIconButton2).\u0275fac=function(t){return new(t||_class9)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class9.\u0275cmp=\u0275\u0275defineComponent({type:_class9,selectors:[["button","mat-icon-button",""]],hostVars:7,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("disabled",ctx.disabled||null),\u0275\u0275classProp("_mat-animation-noopable","NoopAnimations"===ctx._animationMode)("mat-unthemed",!ctx.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[\u0275\u0275InheritDefinitionFeature],attrs:_c8,ngContentSelectors:_c9,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275element(0,"span",0),\u0275\u0275projection(1),\u0275\u0275element(2,"span",1)(3,"span",2))},styles:['.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;z-index:0;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}@media screen and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block}}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button[hidden]{display:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%;display:none}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring{border-color:CanvasText}}.mdc-icon-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}.mdc-icon-button__link{height:100%;left:0;outline:none;position:absolute;top:0;width:100%}.mat-mdc-icon-button{height:var(--mdc-icon-button-state-layer-size);width:var(--mdc-icon-button-state-layer-size);color:var(--mdc-icon-button-icon-color);--mdc-icon-button-state-layer-size:48px;--mdc-icon-button-icon-size:24px;--mdc-icon-button-disabled-icon-color:black;--mdc-icon-button-disabled-icon-opacity:0.38}.mat-mdc-icon-button .mdc-button__icon{font-size:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button svg,.mat-mdc-icon-button img{width:var(--mdc-icon-button-icon-size);height:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button:disabled{opacity:var(--mdc-icon-button-disabled-icon-opacity)}.mat-mdc-icon-button:disabled{color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button{padding:12px;font-size:var(--mdc-icon-button-icon-size);border-radius:50%;flex-shrink:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button svg{vertical-align:baseline}.mat-mdc-icon-button[disabled]{cursor:default;pointer-events:none;opacity:1}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-icon-button .mdc-button__label{z-index:1}.mat-mdc-icon-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-icon-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0}),MatIconButton2})(),MatButtonModule=(()=>{var _class112;class MatButtonModule2{}return(_class112=MatButtonModule2).\u0275fac=function(t){return new(t||_class112)},_class112.\u0275mod=\u0275\u0275defineNgModule({type:_class112}),_class112.\u0275inj=\u0275\u0275defineInjector({imports:[MatCommonModule,MatRippleModule,MatCommonModule]}),MatButtonModule2})();const nodeEventEmitterMethods=["addListener","removeListener"],eventTargetMethods=["addEventListener","removeEventListener"],jqueryMethods=["on","off"];function fromEvent_fromEvent(target,eventName,options,resultSelector){if(isFunction(options)&&(resultSelector=options,options=void 0),resultSelector)return fromEvent_fromEvent(target,eventName,options).pipe(mapOneOrManyArgs(resultSelector));const[add,remove2]=function isEventTarget(target){return isFunction(target.addEventListener)&&isFunction(target.removeEventListener)}(target)?eventTargetMethods.map(methodName=>handler=>target[methodName](eventName,handler,options)):function isNodeStyleEventEmitter(target){return isFunction(target.addListener)&&isFunction(target.removeListener)}(target)?nodeEventEmitterMethods.map(toCommonHandlerRegistry(target,eventName)):function isJQueryStyleEventEmitter(target){return isFunction(target.on)&&isFunction(target.off)}(target)?jqueryMethods.map(toCommonHandlerRegistry(target,eventName)):[];if(!add&&isArrayLike(target))return mergeMap_mergeMap(subTarget=>fromEvent_fromEvent(subTarget,eventName,options))(innerFrom(target));if(!add)throw new TypeError("Invalid event target");return new Observable_Observable(subscriber=>{const handler=(...args)=>subscriber.next(1remove2(handler)})}function toCommonHandlerRegistry(target,eventName){return methodName=>handler=>target[methodName](eventName,handler)}const animationFrameProvider={schedule(callback){let request=requestAnimationFrame,cancel=cancelAnimationFrame;const{delegate}=animationFrameProvider;delegate&&(request=delegate.requestAnimationFrame,cancel=delegate.cancelAnimationFrame);const handle=request(timestamp=>{cancel=void 0,callback(timestamp)});return new Subscription_Subscription(()=>cancel?.(handle))},requestAnimationFrame(...args){const{delegate}=animationFrameProvider;return(delegate?.requestAnimationFrame||requestAnimationFrame)(...args)},cancelAnimationFrame(...args){const{delegate}=animationFrameProvider;return(delegate?.cancelAnimationFrame||cancelAnimationFrame)(...args)},delegate:void 0};new class AnimationFrameScheduler extends AsyncScheduler{flush(action){this._active=!0;const flushId=this._scheduled;this._scheduled=void 0;const{actions}=this;let error;action=action||actions.shift();do{if(error=action.execute(action.state,action.delay))break}while((action=actions[0])&&action.id===flushId&&actions.shift());if(this._active=!1,error){for(;(action=actions[0])&&action.id===flushId&&actions.shift();)action.unsubscribe();throw error}}}(class AnimationFrameAction extends AsyncAction{constructor(scheduler,work){super(scheduler,work),this.scheduler=scheduler,this.work=work}requestAsyncId(scheduler,id,delay=0){return null!==delay&&delay>0?super.requestAsyncId(scheduler,id,delay):(scheduler.actions.push(this),scheduler._scheduled||(scheduler._scheduled=animationFrameProvider.requestAnimationFrame(()=>scheduler.flush(void 0))))}recycleAsyncId(scheduler,id,delay=0){var _a;if(null!=delay?delay>0:this.delay>0)return super.recycleAsyncId(scheduler,id,delay);const{actions}=scheduler;null!=id&&(null===(_a=actions[actions.length-1])||void 0===_a?void 0:_a.id)!==id&&(animationFrameProvider.cancelAnimationFrame(id),scheduler._scheduled=void 0)}});let resolved,nextHandle=1;const activeHandles={};function findAndClearHandle(handle){return handle in activeHandles&&(delete activeHandles[handle],!0)}const Immediate={setImmediate(cb){const handle=nextHandle++;return activeHandles[handle]=!0,resolved||(resolved=Promise.resolve()),resolved.then(()=>findAndClearHandle(handle)&&cb()),handle},clearImmediate(handle){findAndClearHandle(handle)}},{setImmediate,clearImmediate}=Immediate,immediateProvider={setImmediate(...args){const{delegate}=immediateProvider;return(delegate?.setImmediate||setImmediate)(...args)},clearImmediate(handle){const{delegate}=immediateProvider;return(delegate?.clearImmediate||clearImmediate)(handle)},delegate:void 0};new class AsapScheduler extends AsyncScheduler{flush(action){this._active=!0;const flushId=this._scheduled;this._scheduled=void 0;const{actions}=this;let error;action=action||actions.shift();do{if(error=action.execute(action.state,action.delay))break}while((action=actions[0])&&action.id===flushId&&actions.shift());if(this._active=!1,error){for(;(action=actions[0])&&action.id===flushId&&actions.shift();)action.unsubscribe();throw error}}}(class AsapAction extends AsyncAction{constructor(scheduler,work){super(scheduler,work),this.scheduler=scheduler,this.work=work}requestAsyncId(scheduler,id,delay=0){return null!==delay&&delay>0?super.requestAsyncId(scheduler,id,delay):(scheduler.actions.push(this),scheduler._scheduled||(scheduler._scheduled=immediateProvider.setImmediate(scheduler.flush.bind(scheduler,void 0))))}recycleAsyncId(scheduler,id,delay=0){var _a;if(null!=delay?delay>0:this.delay>0)return super.recycleAsyncId(scheduler,id,delay);const{actions}=scheduler;null!=id&&(null===(_a=actions[actions.length-1])||void 0===_a?void 0:_a.id)!==id&&(immediateProvider.clearImmediate(id),scheduler._scheduled===id&&(scheduler._scheduled=void 0))}});function timer_timer(dueTime=0,intervalOrScheduler,scheduler=async_async){let intervalDuration=-1;return null!=intervalOrScheduler&&(isScheduler(intervalOrScheduler)?scheduler=intervalOrScheduler:intervalDuration=intervalOrScheduler),new Observable_Observable(subscriber=>{let due=function isValidDate(value){return value instanceof Date&&!isNaN(value)}(dueTime)?+dueTime-scheduler.now():dueTime;due<0&&(due=0);let n=0;return scheduler.schedule(function(){subscriber.closed||(subscriber.next(n++),0<=intervalDuration?this.schedule(void 0,intervalDuration):subscriber.complete())},due)})}function auditTime_auditTime(duration,scheduler=asyncScheduler){return function audit(durationSelector){return operate((source,subscriber)=>{let hasValue=!1,lastValue=null,durationSubscriber=null,isComplete=!1;const endDuration=()=>{if(durationSubscriber?.unsubscribe(),durationSubscriber=null,hasValue){hasValue=!1;const value=lastValue;lastValue=null,subscriber.next(value)}isComplete&&subscriber.complete()},cleanupDuration=()=>{durationSubscriber=null,isComplete&&subscriber.complete()};source.subscribe(createOperatorSubscriber(subscriber,value=>{hasValue=!0,lastValue=value,durationSubscriber||innerFrom(durationSelector(value)).subscribe(durationSubscriber=createOperatorSubscriber(subscriber,endDuration,cleanupDuration))},()=>{isComplete=!0,(!hasValue||!durationSubscriber||durationSubscriber.closed)&&subscriber.complete()}))})}(()=>timer_timer(duration,scheduler))}let ScrollDispatcher=(()=>{var _class2;class ScrollDispatcher2{constructor(_ngZone,_platform,document2){this._ngZone=_ngZone,this._platform=_platform,this._scrolled=new Subject_Subject,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=document2}register(scrollable){this.scrollContainers.has(scrollable)||this.scrollContainers.set(scrollable,scrollable.elementScrolled().subscribe(()=>this._scrolled.next(scrollable)))}deregister(scrollable){const scrollableReference=this.scrollContainers.get(scrollable);scrollableReference&&(scrollableReference.unsubscribe(),this.scrollContainers.delete(scrollable))}scrolled(auditTimeInMs=20){return this._platform.isBrowser?new Observable_Observable(observer=>{this._globalSubscription||this._addGlobalListener();const subscription=auditTimeInMs>0?this._scrolled.pipe(auditTime_auditTime(auditTimeInMs)).subscribe(observer):this._scrolled.subscribe(observer);return this._scrolledCount++,()=>{subscription.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):of_of()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((_,container)=>this.deregister(container)),this._scrolled.complete()}ancestorScrolled(elementOrElementRef,auditTimeInMs){const ancestors=this.getAncestorScrollContainers(elementOrElementRef);return this.scrolled(auditTimeInMs).pipe(filter_filter(target=>!target||ancestors.indexOf(target)>-1))}getAncestorScrollContainers(elementOrElementRef){const scrollingContainers=[];return this.scrollContainers.forEach((_subscription,scrollable)=>{this._scrollableContainsElement(scrollable,elementOrElementRef)&&scrollingContainers.push(scrollable)}),scrollingContainers}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(scrollable,elementOrElementRef){let element=coerceElement(elementOrElementRef),scrollableElement=scrollable.getElementRef().nativeElement;do{if(element==scrollableElement)return!0}while(element=element.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>fromEvent_fromEvent(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return(_class2=ScrollDispatcher2).\u0275fac=function(t){return new(t||_class2)(core_inject(core_NgZone),core_inject(platform_Platform),core_inject(common_DOCUMENT,8))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),ScrollDispatcher2})(),ViewportRuler=(()=>{var _class4;class ViewportRuler2{constructor(_platform,ngZone,document2){this._platform=_platform,this._change=new Subject_Subject,this._changeListener=event=>{this._change.next(event)},this._document=document2,ngZone.runOutsideAngular(()=>{if(_platform.isBrowser){const window2=this._getWindow();window2.addEventListener("resize",this._changeListener),window2.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const window2=this._getWindow();window2.removeEventListener("resize",this._changeListener),window2.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const output={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),output}getViewportRect(){const scrollPosition=this.getViewportScrollPosition(),{width,height}=this.getViewportSize();return{top:scrollPosition.top,left:scrollPosition.left,bottom:scrollPosition.top+height,right:scrollPosition.left+width,height,width}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const document2=this._document,window2=this._getWindow(),documentElement2=document2.documentElement,documentRect=documentElement2.getBoundingClientRect();return{top:-documentRect.top||document2.body.scrollTop||window2.scrollY||documentElement2.scrollTop||0,left:-documentRect.left||document2.body.scrollLeft||window2.scrollX||documentElement2.scrollLeft||0}}change(throttleTime=20){return throttleTime>0?this._change.pipe(auditTime_auditTime(throttleTime)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const window2=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:window2.innerWidth,height:window2.innerHeight}:{width:0,height:0}}}return(_class4=ViewportRuler2).\u0275fac=function(t){return new(t||_class4)(core_inject(platform_Platform),core_inject(core_NgZone),core_inject(common_DOCUMENT,8))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac,providedIn:"root"}),ViewportRuler2})(),CdkScrollableModule=(()=>{var _class10;class CdkScrollableModule2{}return(_class10=CdkScrollableModule2).\u0275fac=function(t){return new(t||_class10)},_class10.\u0275mod=\u0275\u0275defineNgModule({type:_class10}),_class10.\u0275inj=\u0275\u0275defineInjector({}),CdkScrollableModule2})(),ScrollingModule=(()=>{var _class112;class ScrollingModule2{}return(_class112=ScrollingModule2).\u0275fac=function(t){return new(t||_class112)},_class112.\u0275mod=\u0275\u0275defineNgModule({type:_class112}),_class112.\u0275inj=\u0275\u0275defineInjector({imports:[BidiModule,CdkScrollableModule,BidiModule,CdkScrollableModule]}),ScrollingModule2})();class Portal{attach(host){return this._attachedHost=host,host.attach(this)}detach(){let host=this._attachedHost;null!=host&&(this._attachedHost=null,host.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(host){this._attachedHost=host}}class ComponentPortal extends Portal{constructor(component,viewContainerRef,injector,componentFactoryResolver,projectableNodes){super(),this.component=component,this.viewContainerRef=viewContainerRef,this.injector=injector,this.componentFactoryResolver=componentFactoryResolver,this.projectableNodes=projectableNodes}}class portal_TemplatePortal extends Portal{constructor(templateRef,viewContainerRef,context2,injector){super(),this.templateRef=templateRef,this.viewContainerRef=viewContainerRef,this.context=context2,this.injector=injector}get origin(){return this.templateRef.elementRef}attach(host,context2=this.context){return this.context=context2,super.attach(host)}detach(){return this.context=void 0,super.detach()}}class DomPortal extends Portal{constructor(element){super(),this.element=element instanceof core_ElementRef?element.nativeElement:element}}class BasePortalOutlet{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(portal){return portal instanceof ComponentPortal?(this._attachedPortal=portal,this.attachComponentPortal(portal)):portal instanceof portal_TemplatePortal?(this._attachedPortal=portal,this.attachTemplatePortal(portal)):this.attachDomPortal&&portal instanceof DomPortal?(this._attachedPortal=portal,this.attachDomPortal(portal)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(fn){this._disposeFn=fn}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class DomPortalOutlet extends BasePortalOutlet{constructor(outletElement,_componentFactoryResolver,_appRef,_defaultInjector,_document2){super(),this.outletElement=outletElement,this._componentFactoryResolver=_componentFactoryResolver,this._appRef=_appRef,this._defaultInjector=_defaultInjector,this.attachDomPortal=portal=>{const element=portal.element,anchorNode=this._document.createComment("dom-portal");element.parentNode.insertBefore(anchorNode,element),this.outletElement.appendChild(element),this._attachedPortal=portal,super.setDisposeFn(()=>{anchorNode.parentNode&&anchorNode.parentNode.replaceChild(element,anchorNode)})},this._document=_document2}attachComponentPortal(portal){const componentFactory=(portal.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(portal.component);let componentRef;return portal.viewContainerRef?(componentRef=portal.viewContainerRef.createComponent(componentFactory,portal.viewContainerRef.length,portal.injector||portal.viewContainerRef.injector,portal.projectableNodes||void 0),this.setDisposeFn(()=>componentRef.destroy())):(componentRef=componentFactory.create(portal.injector||this._defaultInjector||core_Injector.NULL),this._appRef.attachView(componentRef.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(componentRef.hostView),componentRef.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(componentRef)),this._attachedPortal=portal,componentRef}attachTemplatePortal(portal){let viewContainer=portal.viewContainerRef,viewRef=viewContainer.createEmbeddedView(portal.templateRef,portal.context,{injector:portal.injector});return viewRef.rootNodes.forEach(rootNode=>this.outletElement.appendChild(rootNode)),viewRef.detectChanges(),this.setDisposeFn(()=>{let index=viewContainer.indexOf(viewRef);-1!==index&&viewContainer.remove(index)}),this._attachedPortal=portal,viewRef}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(componentRef){return componentRef.hostView.rootNodes[0]}}let CdkPortal=(()=>{var _class2;class CdkPortal2 extends portal_TemplatePortal{constructor(templateRef,viewContainerRef){super(templateRef,viewContainerRef)}}return(_class2=CdkPortal2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(ViewContainerRef))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[\u0275\u0275InheritDefinitionFeature]}),CdkPortal2})(),CdkPortalOutlet=(()=>{var _class3;class CdkPortalOutlet2 extends BasePortalOutlet{constructor(_componentFactoryResolver,_viewContainerRef,_document2){super(),this._componentFactoryResolver=_componentFactoryResolver,this._viewContainerRef=_viewContainerRef,this._isInitialized=!1,this.attached=new core_EventEmitter,this.attachDomPortal=portal=>{const element=portal.element,anchorNode=this._document.createComment("dom-portal");portal.setAttachedHost(this),element.parentNode.insertBefore(anchorNode,element),this._getRootNode().appendChild(element),this._attachedPortal=portal,super.setDisposeFn(()=>{anchorNode.parentNode&&anchorNode.parentNode.replaceChild(element,anchorNode)})},this._document=_document2}get portal(){return this._attachedPortal}set portal(portal){this.hasAttached()&&!portal&&!this._isInitialized||(this.hasAttached()&&super.detach(),portal&&super.attach(portal),this._attachedPortal=portal||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(portal){portal.setAttachedHost(this);const viewContainerRef=null!=portal.viewContainerRef?portal.viewContainerRef:this._viewContainerRef,componentFactory=(portal.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(portal.component),ref2=viewContainerRef.createComponent(componentFactory,viewContainerRef.length,portal.injector||viewContainerRef.injector,portal.projectableNodes||void 0);return viewContainerRef!==this._viewContainerRef&&this._getRootNode().appendChild(ref2.hostView.rootNodes[0]),super.setDisposeFn(()=>ref2.destroy()),this._attachedPortal=portal,this._attachedRef=ref2,this.attached.emit(ref2),ref2}attachTemplatePortal(portal){portal.setAttachedHost(this);const viewRef=this._viewContainerRef.createEmbeddedView(portal.templateRef,portal.context,{injector:portal.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=portal,this._attachedRef=viewRef,this.attached.emit(viewRef),viewRef}_getRootNode(){const nativeElement=this._viewContainerRef.element.nativeElement;return nativeElement.nodeType===nativeElement.ELEMENT_NODE?nativeElement:nativeElement.parentNode}}return(_class3=CdkPortalOutlet2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(ComponentFactoryResolver$1),\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(common_DOCUMENT))},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[\u0275\u0275InheritDefinitionFeature]}),CdkPortalOutlet2})(),PortalModule=(()=>{var _class5;class PortalModule2{}return(_class5=PortalModule2).\u0275fac=function(t){return new(t||_class5)},_class5.\u0275mod=\u0275\u0275defineNgModule({type:_class5}),_class5.\u0275inj=\u0275\u0275defineInjector({}),PortalModule2})();const overlay_scrollBehaviorSupported=platform_supportsScrollBehavior();class BlockScrollStrategy{constructor(_viewportRuler,document2){this._viewportRuler=_viewportRuler,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=document2}attach(){}enable(){if(this._canBeEnabled()){const root=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=root.style.left||"",this._previousHTMLStyles.top=root.style.top||"",root.style.left=coerceCssPixelValue(-this._previousScrollPosition.left),root.style.top=coerceCssPixelValue(-this._previousScrollPosition.top),root.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const html=this._document.documentElement,htmlStyle=html.style,bodyStyle=this._document.body.style,previousHtmlScrollBehavior=htmlStyle.scrollBehavior||"",previousBodyScrollBehavior=bodyStyle.scrollBehavior||"";this._isEnabled=!1,htmlStyle.left=this._previousHTMLStyles.left,htmlStyle.top=this._previousHTMLStyles.top,html.classList.remove("cdk-global-scrollblock"),overlay_scrollBehaviorSupported&&(htmlStyle.scrollBehavior=bodyStyle.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),overlay_scrollBehaviorSupported&&(htmlStyle.scrollBehavior=previousHtmlScrollBehavior,bodyStyle.scrollBehavior=previousBodyScrollBehavior)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const body=this._document.body,viewport=this._viewportRuler.getViewportSize();return body.scrollHeight>viewport.height||body.scrollWidth>viewport.width}}class CloseScrollStrategy{constructor(_scrollDispatcher,_ngZone,_viewportRuler,_config){this._scrollDispatcher=_scrollDispatcher,this._ngZone=_ngZone,this._viewportRuler=_viewportRuler,this._config=_config,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(overlayRef){this._overlayRef=overlayRef}enable(){if(this._scrollSubscription)return;const stream=this._scrollDispatcher.scrolled(0).pipe(filter_filter(scrollable=>!scrollable||!this._overlayRef.overlayElement.contains(scrollable.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=stream.subscribe(()=>{const scrollPosition=this._viewportRuler.getViewportScrollPosition().top;Math.abs(scrollPosition-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=stream.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class NoopScrollStrategy{enable(){}disable(){}attach(){}}function isElementScrolledOutsideView(element,scrollContainers){return scrollContainers.some(containerBounds=>element.bottomcontainerBounds.bottom||element.rightcontainerBounds.right)}function isElementClippedByScrolling(element,scrollContainers){return scrollContainers.some(scrollContainerRect=>element.topscrollContainerRect.bottom||element.leftscrollContainerRect.right)}class RepositionScrollStrategy{constructor(_scrollDispatcher,_viewportRuler,_ngZone,_config){this._scrollDispatcher=_scrollDispatcher,this._viewportRuler=_viewportRuler,this._ngZone=_ngZone,this._config=_config,this._scrollSubscription=null}attach(overlayRef){this._overlayRef=overlayRef}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const overlayRect=this._overlayRef.overlayElement.getBoundingClientRect(),{width,height}=this._viewportRuler.getViewportSize();isElementScrolledOutsideView(overlayRect,[{width,height,bottom:height,right:width,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let ScrollStrategyOptions=(()=>{var _class2;class ScrollStrategyOptions2{constructor(_scrollDispatcher,_viewportRuler,_ngZone,document2){this._scrollDispatcher=_scrollDispatcher,this._viewportRuler=_viewportRuler,this._ngZone=_ngZone,this.noop=()=>new NoopScrollStrategy,this.close=config2=>new CloseScrollStrategy(this._scrollDispatcher,this._ngZone,this._viewportRuler,config2),this.block=()=>new BlockScrollStrategy(this._viewportRuler,this._document),this.reposition=config2=>new RepositionScrollStrategy(this._scrollDispatcher,this._viewportRuler,this._ngZone,config2),this._document=document2}}return(_class2=ScrollStrategyOptions2).\u0275fac=function(t){return new(t||_class2)(core_inject(ScrollDispatcher),core_inject(ViewportRuler),core_inject(core_NgZone),core_inject(common_DOCUMENT))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),ScrollStrategyOptions2})();class OverlayConfig{constructor(config2){if(this.scrollStrategy=new NoopScrollStrategy,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,config2){const configKeys=Object.keys(config2);for(const key of configKeys)void 0!==config2[key]&&(this[key]=config2[key])}}}class ConnectedOverlayPositionChange{constructor(connectionPair,scrollableViewProperties){this.connectionPair=connectionPair,this.scrollableViewProperties=scrollableViewProperties}}let BaseOverlayDispatcher=(()=>{var _class2;class BaseOverlayDispatcher2{constructor(document2){this._attachedOverlays=[],this._document=document2}ngOnDestroy(){this.detach()}add(overlayRef){this.remove(overlayRef),this._attachedOverlays.push(overlayRef)}remove(overlayRef){const index=this._attachedOverlays.indexOf(overlayRef);index>-1&&this._attachedOverlays.splice(index,1),0===this._attachedOverlays.length&&this.detach()}}return(_class2=BaseOverlayDispatcher2).\u0275fac=function(t){return new(t||_class2)(core_inject(common_DOCUMENT))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),BaseOverlayDispatcher2})(),OverlayKeyboardDispatcher=(()=>{var _class3;class OverlayKeyboardDispatcher2 extends BaseOverlayDispatcher{constructor(document2,_ngZone){super(document2),this._ngZone=_ngZone,this._keydownListener=event=>{const overlays=this._attachedOverlays;for(let i6=overlays.length-1;i6>-1;i6--)if(overlays[i6]._keydownEvents.observers.length>0){const keydownEvents=overlays[i6]._keydownEvents;this._ngZone?this._ngZone.run(()=>keydownEvents.next(event)):keydownEvents.next(event);break}}}add(overlayRef){super.add(overlayRef),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return(_class3=OverlayKeyboardDispatcher2).\u0275fac=function(t){return new(t||_class3)(core_inject(common_DOCUMENT),core_inject(core_NgZone,8))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac,providedIn:"root"}),OverlayKeyboardDispatcher2})(),OverlayOutsideClickDispatcher=(()=>{var _class4;class OverlayOutsideClickDispatcher2 extends BaseOverlayDispatcher{constructor(document2,_platform,_ngZone){super(document2),this._platform=_platform,this._ngZone=_ngZone,this._cursorStyleIsSet=!1,this._pointerDownListener=event=>{this._pointerDownEventTarget=_getEventTarget(event)},this._clickListener=event=>{const target=_getEventTarget(event),origin="click"===event.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:target;this._pointerDownEventTarget=null;const overlays=this._attachedOverlays.slice();for(let i6=overlays.length-1;i6>-1;i6--){const overlayRef=overlays[i6];if(overlayRef._outsidePointerEvents.observers.length<1||!overlayRef.hasAttached())continue;if(overlayRef.overlayElement.contains(target)||overlayRef.overlayElement.contains(origin))break;const outsidePointerEvents=overlayRef._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>outsidePointerEvents.next(event)):outsidePointerEvents.next(event)}}}add(overlayRef){if(super.add(overlayRef),!this._isAttached){const body=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(body)):this._addEventListeners(body),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=body.style.cursor,body.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const body=this._document.body;body.removeEventListener("pointerdown",this._pointerDownListener,!0),body.removeEventListener("click",this._clickListener,!0),body.removeEventListener("auxclick",this._clickListener,!0),body.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(body.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(body){body.addEventListener("pointerdown",this._pointerDownListener,!0),body.addEventListener("click",this._clickListener,!0),body.addEventListener("auxclick",this._clickListener,!0),body.addEventListener("contextmenu",this._clickListener,!0)}}return(_class4=OverlayOutsideClickDispatcher2).\u0275fac=function(t){return new(t||_class4)(core_inject(common_DOCUMENT),core_inject(platform_Platform),core_inject(core_NgZone,8))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac,providedIn:"root"}),OverlayOutsideClickDispatcher2})(),OverlayContainer=(()=>{var _class5;class OverlayContainer2{constructor(document2,_platform){this._platform=_platform,this._document=document2}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){if(this._platform.isBrowser||_isTestEnvironment()){const oppositePlatformContainers=this._document.querySelectorAll('.cdk-overlay-container[platform="server"], .cdk-overlay-container[platform="test"]');for(let i6=0;i6this._backdropClick.next(event),this._backdropTransitionendHandler=event=>{this._disposeBackdrop(event.target)},this._keydownEvents=new Subject_Subject,this._outsidePointerEvents=new Subject_Subject,_config.scrollStrategy&&(this._scrollStrategy=_config.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=_config.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(portal){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const attachResult=this._portalOutlet.attach(portal);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(take_take(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof attachResult?.onDestroy&&attachResult.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),attachResult}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const detachmentResult=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),detachmentResult}dispose(){const isAttached=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,isAttached&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(strategy){strategy!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=strategy,this.hasAttached()&&(strategy.attach(this),this.updatePosition()))}updateSize(sizeConfig){this._config={...this._config,...sizeConfig},this._updateElementSize()}setDirection(dir){this._config={...this._config,direction:dir},this._updateElementDirection()}addPanelClass(classes){this._pane&&this._toggleClasses(this._pane,classes,!0)}removePanelClass(classes){this._pane&&this._toggleClasses(this._pane,classes,!1)}getDirection(){const direction=this._config.direction;return direction?"string"==typeof direction?direction:direction.value:"ltr"}updateScrollStrategy(strategy){strategy!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=strategy,this.hasAttached()&&(strategy.attach(this),strategy.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const style2=this._pane.style;style2.width=coerceCssPixelValue(this._config.width),style2.height=coerceCssPixelValue(this._config.height),style2.minWidth=coerceCssPixelValue(this._config.minWidth),style2.minHeight=coerceCssPixelValue(this._config.minHeight),style2.maxWidth=coerceCssPixelValue(this._config.maxWidth),style2.maxHeight=coerceCssPixelValue(this._config.maxHeight)}_togglePointerEvents(enablePointer){this._pane.style.pointerEvents=enablePointer?"":"none"}_attachBackdrop(){this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const backdropToDetach=this._backdropElement;if(backdropToDetach){if(this._animationsDisabled)return void this._disposeBackdrop(backdropToDetach);backdropToDetach.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{backdropToDetach.addEventListener("transitionend",this._backdropTransitionendHandler)}),backdropToDetach.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(backdropToDetach)},500))}}_toggleClasses(element,cssClasses,isAdd){const classes=coerceArray(cssClasses||[]).filter(c=>!!c);classes.length&&(isAdd?element.classList.add(...classes):element.classList.remove(...classes))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const subscription=this._ngZone.onStable.pipe(takeUntil_takeUntil(merge_merge(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),subscription.unsubscribe())})})}_disposeScrollStrategy(){const scrollStrategy=this._scrollStrategy;scrollStrategy&&(scrollStrategy.disable(),scrollStrategy.detach&&scrollStrategy.detach())}_disposeBackdrop(backdrop){backdrop&&(backdrop.removeEventListener("click",this._backdropClickHandler),backdrop.removeEventListener("transitionend",this._backdropTransitionendHandler),backdrop.remove(),this._backdropElement===backdrop&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const cssUnitPattern=/([A-Za-z%]+)$/;class FlexibleConnectedPositionStrategy{get positions(){return this._preferredPositions}constructor(connectedTo,_viewportRuler,_document2,_platform,_overlayContainer){this._viewportRuler=_viewportRuler,this._document=_document2,this._platform=_platform,this._overlayContainer=_overlayContainer,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new Subject_Subject,this._resizeSubscription=Subscription_Subscription.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(connectedTo)}attach(overlayRef){this._validatePositions(),overlayRef.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=overlayRef,this._boundingBox=overlayRef.hostElement,this._pane=overlayRef.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const originRect=this._originRect,overlayRect=this._overlayRect,viewportRect=this._viewportRect,containerRect=this._containerRect,flexibleFits=[];let fallback;for(let pos of this._preferredPositions){let originPoint=this._getOriginPoint(originRect,containerRect,pos),overlayPoint=this._getOverlayPoint(originPoint,overlayRect,pos),overlayFit=this._getOverlayFit(overlayPoint,overlayRect,viewportRect,pos);if(overlayFit.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(pos,originPoint);this._canFitWithFlexibleDimensions(overlayFit,overlayPoint,viewportRect)?flexibleFits.push({position:pos,origin:originPoint,overlayRect,boundingBoxRect:this._calculateBoundingBoxRect(originPoint,pos)}):(!fallback||fallback.overlayFit.visibleAreabestScore&&(bestScore=score,bestFit=fit)}return this._isPushed=!1,void this._applyPosition(bestFit.position,bestFit.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(fallback.position,fallback.originPoint);this._applyPosition(fallback.position,fallback.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&extendStyles(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove("cdk-overlay-connected-position-bounding-box"),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const lastPosition=this._lastPosition;if(lastPosition){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const originPoint=this._getOriginPoint(this._originRect,this._containerRect,lastPosition);this._applyPosition(lastPosition,originPoint)}else this.apply()}withScrollableContainers(scrollables){return this._scrollables=scrollables,this}withPositions(positions){return this._preferredPositions=positions,-1===positions.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(margin){return this._viewportMargin=margin,this}withFlexibleDimensions(flexibleDimensions=!0){return this._hasFlexibleDimensions=flexibleDimensions,this}withGrowAfterOpen(growAfterOpen=!0){return this._growAfterOpen=growAfterOpen,this}withPush(canPush=!0){return this._canPush=canPush,this}withLockedPosition(isLocked=!0){return this._positionLocked=isLocked,this}setOrigin(origin){return this._origin=origin,this}withDefaultOffsetX(offset){return this._offsetX=offset,this}withDefaultOffsetY(offset){return this._offsetY=offset,this}withTransformOriginOn(selector){return this._transformOriginSelector=selector,this}_getOriginPoint(originRect,containerRect,pos){let x,y;if("center"==pos.originX)x=originRect.left+originRect.width/2;else{const startX=this._isRtl()?originRect.right:originRect.left,endX=this._isRtl()?originRect.left:originRect.right;x="start"==pos.originX?startX:endX}return containerRect.left<0&&(x-=containerRect.left),y="center"==pos.originY?originRect.top+originRect.height/2:"top"==pos.originY?originRect.top:originRect.bottom,containerRect.top<0&&(y-=containerRect.top),{x,y}}_getOverlayPoint(originPoint,overlayRect,pos){let overlayStartX,overlayStartY;return overlayStartX="center"==pos.overlayX?-overlayRect.width/2:"start"===pos.overlayX?this._isRtl()?-overlayRect.width:0:this._isRtl()?0:-overlayRect.width,overlayStartY="center"==pos.overlayY?-overlayRect.height/2:"top"==pos.overlayY?0:-overlayRect.height,{x:originPoint.x+overlayStartX,y:originPoint.y+overlayStartY}}_getOverlayFit(point,rawOverlayRect,viewport,position){const overlay=getRoundedBoundingClientRect(rawOverlayRect);let{x,y}=point,offsetX=this._getOffset(position,"x"),offsetY=this._getOffset(position,"y");offsetX&&(x+=offsetX),offsetY&&(y+=offsetY);let topOverflow=0-y,bottomOverflow=y+overlay.height-viewport.height,visibleWidth=this._subtractOverflows(overlay.width,0-x,x+overlay.width-viewport.width),visibleHeight=this._subtractOverflows(overlay.height,topOverflow,bottomOverflow),visibleArea=visibleWidth*visibleHeight;return{visibleArea,isCompletelyWithinViewport:overlay.width*overlay.height===visibleArea,fitsInViewportVertically:visibleHeight===overlay.height,fitsInViewportHorizontally:visibleWidth==overlay.width}}_canFitWithFlexibleDimensions(fit,point,viewport){if(this._hasFlexibleDimensions){const availableHeight=viewport.bottom-point.y,availableWidth=viewport.right-point.x,minHeight=getPixelValue(this._overlayRef.getConfig().minHeight),minWidth=getPixelValue(this._overlayRef.getConfig().minWidth);return(fit.fitsInViewportVertically||null!=minHeight&&minHeight<=availableHeight)&&(fit.fitsInViewportHorizontally||null!=minWidth&&minWidth<=availableWidth)}return!1}_pushOverlayOnScreen(start2,rawOverlayRect,scrollPosition){if(this._previousPushAmount&&this._positionLocked)return{x:start2.x+this._previousPushAmount.x,y:start2.y+this._previousPushAmount.y};const overlay=getRoundedBoundingClientRect(rawOverlayRect),viewport=this._viewportRect,overflowRight=Math.max(start2.x+overlay.width-viewport.width,0),overflowBottom=Math.max(start2.y+overlay.height-viewport.height,0),overflowTop=Math.max(viewport.top-scrollPosition.top-start2.y,0),overflowLeft=Math.max(viewport.left-scrollPosition.left-start2.x,0);let pushX=0,pushY=0;return pushX=overlay.width<=viewport.width?overflowLeft||-overflowRight:start2.xpreviousHeight&&!this._isInitialRender&&!this._growAfterOpen&&(top=origin.y-previousHeight/2)}if("end"===position.overlayX&&!isRtl||"start"===position.overlayX&&isRtl)right=viewport.width-origin.x+this._viewportMargin,width=origin.x-this._viewportMargin;else if("start"===position.overlayX&&!isRtl||"end"===position.overlayX&&isRtl)left=origin.x,width=viewport.right-origin.x;else{const smallestDistanceToViewportEdge=Math.min(viewport.right-origin.x+viewport.left,origin.x),previousWidth=this._lastBoundingBoxSize.width;width=2*smallestDistanceToViewportEdge,left=origin.x-smallestDistanceToViewportEdge,width>previousWidth&&!this._isInitialRender&&!this._growAfterOpen&&(left=origin.x-previousWidth/2)}return{top,left,bottom,right,width,height}}_setBoundingBoxStyles(origin,position){const boundingBoxRect=this._calculateBoundingBoxRect(origin,position);!this._isInitialRender&&!this._growAfterOpen&&(boundingBoxRect.height=Math.min(boundingBoxRect.height,this._lastBoundingBoxSize.height),boundingBoxRect.width=Math.min(boundingBoxRect.width,this._lastBoundingBoxSize.width));const styles={};if(this._hasExactPosition())styles.top=styles.left="0",styles.bottom=styles.right=styles.maxHeight=styles.maxWidth="",styles.width=styles.height="100%";else{const maxHeight=this._overlayRef.getConfig().maxHeight,maxWidth=this._overlayRef.getConfig().maxWidth;styles.height=coerceCssPixelValue(boundingBoxRect.height),styles.top=coerceCssPixelValue(boundingBoxRect.top),styles.bottom=coerceCssPixelValue(boundingBoxRect.bottom),styles.width=coerceCssPixelValue(boundingBoxRect.width),styles.left=coerceCssPixelValue(boundingBoxRect.left),styles.right=coerceCssPixelValue(boundingBoxRect.right),styles.alignItems="center"===position.overlayX?"center":"end"===position.overlayX?"flex-end":"flex-start",styles.justifyContent="center"===position.overlayY?"center":"bottom"===position.overlayY?"flex-end":"flex-start",maxHeight&&(styles.maxHeight=coerceCssPixelValue(maxHeight)),maxWidth&&(styles.maxWidth=coerceCssPixelValue(maxWidth))}this._lastBoundingBoxSize=boundingBoxRect,extendStyles(this._boundingBox.style,styles)}_resetBoundingBoxStyles(){extendStyles(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){extendStyles(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(originPoint,position){const styles={},hasExactPosition=this._hasExactPosition(),hasFlexibleDimensions=this._hasFlexibleDimensions,config2=this._overlayRef.getConfig();if(hasExactPosition){const scrollPosition=this._viewportRuler.getViewportScrollPosition();extendStyles(styles,this._getExactOverlayY(position,originPoint,scrollPosition)),extendStyles(styles,this._getExactOverlayX(position,originPoint,scrollPosition))}else styles.position="static";let transformString="",offsetX=this._getOffset(position,"x"),offsetY=this._getOffset(position,"y");offsetX&&(transformString+=`translateX(${offsetX}px) `),offsetY&&(transformString+=`translateY(${offsetY}px)`),styles.transform=transformString.trim(),config2.maxHeight&&(hasExactPosition?styles.maxHeight=coerceCssPixelValue(config2.maxHeight):hasFlexibleDimensions&&(styles.maxHeight="")),config2.maxWidth&&(hasExactPosition?styles.maxWidth=coerceCssPixelValue(config2.maxWidth):hasFlexibleDimensions&&(styles.maxWidth="")),extendStyles(this._pane.style,styles)}_getExactOverlayY(position,originPoint,scrollPosition){let styles={top:"",bottom:""},overlayPoint=this._getOverlayPoint(originPoint,this._overlayRect,position);return this._isPushed&&(overlayPoint=this._pushOverlayOnScreen(overlayPoint,this._overlayRect,scrollPosition)),"bottom"===position.overlayY?styles.bottom=this._document.documentElement.clientHeight-(overlayPoint.y+this._overlayRect.height)+"px":styles.top=coerceCssPixelValue(overlayPoint.y),styles}_getExactOverlayX(position,originPoint,scrollPosition){let horizontalStyleProperty,styles={left:"",right:""},overlayPoint=this._getOverlayPoint(originPoint,this._overlayRect,position);return this._isPushed&&(overlayPoint=this._pushOverlayOnScreen(overlayPoint,this._overlayRect,scrollPosition)),horizontalStyleProperty=this._isRtl()?"end"===position.overlayX?"left":"right":"end"===position.overlayX?"right":"left","right"===horizontalStyleProperty?styles.right=this._document.documentElement.clientWidth-(overlayPoint.x+this._overlayRect.width)+"px":styles.left=coerceCssPixelValue(overlayPoint.x),styles}_getScrollVisibility(){const originBounds=this._getOriginRect(),overlayBounds=this._pane.getBoundingClientRect(),scrollContainerBounds=this._scrollables.map(scrollable=>scrollable.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:isElementClippedByScrolling(originBounds,scrollContainerBounds),isOriginOutsideView:isElementScrolledOutsideView(originBounds,scrollContainerBounds),isOverlayClipped:isElementClippedByScrolling(overlayBounds,scrollContainerBounds),isOverlayOutsideView:isElementScrolledOutsideView(overlayBounds,scrollContainerBounds)}}_subtractOverflows(length,...overflows){return overflows.reduce((currentValue,currentOverflow)=>currentValue-Math.max(currentOverflow,0),length)}_getNarrowedViewportRect(){const width=this._document.documentElement.clientWidth,height=this._document.documentElement.clientHeight,scrollPosition=this._viewportRuler.getViewportScrollPosition();return{top:scrollPosition.top+this._viewportMargin,left:scrollPosition.left+this._viewportMargin,right:scrollPosition.left+width-this._viewportMargin,bottom:scrollPosition.top+height-this._viewportMargin,width:width-2*this._viewportMargin,height:height-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(position,axis){return"x"===axis?null==position.offsetX?this._offsetX:position.offsetX:null==position.offsetY?this._offsetY:position.offsetY}_validatePositions(){}_addPanelClasses(cssClasses){this._pane&&coerceArray(cssClasses).forEach(cssClass=>{""!==cssClass&&-1===this._appliedPanelClasses.indexOf(cssClass)&&(this._appliedPanelClasses.push(cssClass),this._pane.classList.add(cssClass))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(cssClass=>{this._pane.classList.remove(cssClass)}),this._appliedPanelClasses=[])}_getOriginRect(){const origin=this._origin;if(origin instanceof core_ElementRef)return origin.nativeElement.getBoundingClientRect();if(origin instanceof Element)return origin.getBoundingClientRect();const width=origin.width||0,height=origin.height||0;return{top:origin.y,bottom:origin.y+height,left:origin.x,right:origin.x+width,height,width}}}function extendStyles(destination,source){for(let key in source)source.hasOwnProperty(key)&&(destination[key]=source[key]);return destination}function getPixelValue(input){if("number"!=typeof input&&null!=input){const[value,units]=input.split(cssUnitPattern);return units&&"px"!==units?null:parseFloat(value)}return input||null}function getRoundedBoundingClientRect(clientRect){return{top:Math.floor(clientRect.top),right:Math.floor(clientRect.right),bottom:Math.floor(clientRect.bottom),left:Math.floor(clientRect.left),width:Math.floor(clientRect.width),height:Math.floor(clientRect.height)}}class GlobalPositionStrategy{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(overlayRef){const config2=overlayRef.getConfig();this._overlayRef=overlayRef,this._width&&!config2.width&&overlayRef.updateSize({width:this._width}),this._height&&!config2.height&&overlayRef.updateSize({height:this._height}),overlayRef.hostElement.classList.add("cdk-global-overlay-wrapper"),this._isDisposed=!1}top(value=""){return this._bottomOffset="",this._topOffset=value,this._alignItems="flex-start",this}left(value=""){return this._xOffset=value,this._xPosition="left",this}bottom(value=""){return this._topOffset="",this._bottomOffset=value,this._alignItems="flex-end",this}right(value=""){return this._xOffset=value,this._xPosition="right",this}start(value=""){return this._xOffset=value,this._xPosition="start",this}end(value=""){return this._xOffset=value,this._xPosition="end",this}width(value=""){return this._overlayRef?this._overlayRef.updateSize({width:value}):this._width=value,this}height(value=""){return this._overlayRef?this._overlayRef.updateSize({height:value}):this._height=value,this}centerHorizontally(offset=""){return this.left(offset),this._xPosition="center",this}centerVertically(offset=""){return this.top(offset),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const styles=this._overlayRef.overlayElement.style,parentStyles=this._overlayRef.hostElement.style,config2=this._overlayRef.getConfig(),{width,height,maxWidth,maxHeight}=config2,shouldBeFlushHorizontally=!("100%"!==width&&"100vw"!==width||maxWidth&&"100%"!==maxWidth&&"100vw"!==maxWidth),shouldBeFlushVertically=!("100%"!==height&&"100vh"!==height||maxHeight&&"100%"!==maxHeight&&"100vh"!==maxHeight),xPosition=this._xPosition,xOffset=this._xOffset,isRtl="rtl"===this._overlayRef.getConfig().direction;let marginLeft="",marginRight="",justifyContent="";shouldBeFlushHorizontally?justifyContent="flex-start":"center"===xPosition?(justifyContent="center",isRtl?marginRight=xOffset:marginLeft=xOffset):isRtl?"left"===xPosition||"end"===xPosition?(justifyContent="flex-end",marginLeft=xOffset):("right"===xPosition||"start"===xPosition)&&(justifyContent="flex-start",marginRight=xOffset):"left"===xPosition||"start"===xPosition?(justifyContent="flex-start",marginLeft=xOffset):("right"===xPosition||"end"===xPosition)&&(justifyContent="flex-end",marginRight=xOffset),styles.position=this._cssPosition,styles.marginLeft=shouldBeFlushHorizontally?"0":marginLeft,styles.marginTop=shouldBeFlushVertically?"0":this._topOffset,styles.marginBottom=this._bottomOffset,styles.marginRight=shouldBeFlushHorizontally?"0":marginRight,parentStyles.justifyContent=justifyContent,parentStyles.alignItems=shouldBeFlushVertically?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const styles=this._overlayRef.overlayElement.style,parent=this._overlayRef.hostElement,parentStyles=parent.style;parent.classList.remove("cdk-global-overlay-wrapper"),parentStyles.justifyContent=parentStyles.alignItems=styles.marginTop=styles.marginBottom=styles.marginLeft=styles.marginRight=styles.position="",this._overlayRef=null,this._isDisposed=!0}}let OverlayPositionBuilder=(()=>{var _class6;class OverlayPositionBuilder2{constructor(_viewportRuler,_document2,_platform,_overlayContainer){this._viewportRuler=_viewportRuler,this._document=_document2,this._platform=_platform,this._overlayContainer=_overlayContainer}global(){return new GlobalPositionStrategy}flexibleConnectedTo(origin){return new FlexibleConnectedPositionStrategy(origin,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return(_class6=OverlayPositionBuilder2).\u0275fac=function(t){return new(t||_class6)(core_inject(ViewportRuler),core_inject(common_DOCUMENT),core_inject(platform_Platform),core_inject(OverlayContainer))},_class6.\u0275prov=core_defineInjectable({token:_class6,factory:_class6.\u0275fac,providedIn:"root"}),OverlayPositionBuilder2})(),nextUniqueId=0,Overlay=(()=>{var _class7;class Overlay2{constructor(scrollStrategies,_overlayContainer,_componentFactoryResolver,_positionBuilder,_keyboardDispatcher,_injector,_ngZone,_document2,_directionality,_location,_outsideClickDispatcher,_animationsModuleType){this.scrollStrategies=scrollStrategies,this._overlayContainer=_overlayContainer,this._componentFactoryResolver=_componentFactoryResolver,this._positionBuilder=_positionBuilder,this._keyboardDispatcher=_keyboardDispatcher,this._injector=_injector,this._ngZone=_ngZone,this._document=_document2,this._directionality=_directionality,this._location=_location,this._outsideClickDispatcher=_outsideClickDispatcher,this._animationsModuleType=_animationsModuleType}create(config2){const host=this._createHostElement(),pane=this._createPaneElement(host),portalOutlet=this._createPortalOutlet(pane),overlayConfig=new OverlayConfig(config2);return overlayConfig.direction=overlayConfig.direction||this._directionality.value,new OverlayRef(portalOutlet,host,pane,overlayConfig,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(host){const pane=this._document.createElement("div");return pane.id="cdk-overlay-"+nextUniqueId++,pane.classList.add("cdk-overlay-pane"),host.appendChild(pane),pane}_createHostElement(){const host=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(host),host}_createPortalOutlet(pane){return this._appRef||(this._appRef=this._injector.get(core_ApplicationRef)),new DomPortalOutlet(pane,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return(_class7=Overlay2).\u0275fac=function(t){return new(t||_class7)(core_inject(ScrollStrategyOptions),core_inject(OverlayContainer),core_inject(ComponentFactoryResolver$1),core_inject(OverlayPositionBuilder),core_inject(OverlayKeyboardDispatcher),core_inject(core_Injector),core_inject(core_NgZone),core_inject(common_DOCUMENT),core_inject(Directionality),core_inject(Location),core_inject(OverlayOutsideClickDispatcher),core_inject(core_ANIMATION_MODULE_TYPE,8))},_class7.\u0275prov=core_defineInjectable({token:_class7,factory:_class7.\u0275fac,providedIn:"root"}),Overlay2})();const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER={provide:new InjectionToken("cdk-connected-overlay-scroll-strategy"),deps:[Overlay],useFactory:function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay){return()=>overlay.scrollStrategies.reposition()}};let OverlayModule=(()=>{var _class10;class OverlayModule2{}return(_class10=OverlayModule2).\u0275fac=function(t){return new(t||_class10)},_class10.\u0275mod=\u0275\u0275defineNgModule({type:_class10}),_class10.\u0275inj=\u0275\u0275defineInjector({providers:[Overlay,CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER],imports:[BidiModule,PortalModule,ScrollingModule,ScrollingModule]}),OverlayModule2})();function defer(observableFactory){return new Observable_Observable(subscriber=>{innerFrom(observableFactory()).subscribe(subscriber)})}function _class_ng_template_0_Template(rf,ctx){}class DialogConfig{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}}let CdkDialogContainer=(()=>{var _class2;class CdkDialogContainer2 extends BasePortalOutlet{constructor(_elementRef,_focusTrapFactory,_document2,_config,_interactivityChecker,_ngZone,_overlayRef,_focusMonitor){super(),this._elementRef=_elementRef,this._focusTrapFactory=_focusTrapFactory,this._config=_config,this._interactivityChecker=_interactivityChecker,this._ngZone=_ngZone,this._overlayRef=_overlayRef,this._focusMonitor=_focusMonitor,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=portal=>{this._portalOutlet.hasAttached();const result=this._portalOutlet.attachDomPortal(portal);return this._contentAttached(),result},this._ariaLabelledBy=this._config.ariaLabelledBy||null,this._document=_document2}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(portal){this._portalOutlet.hasAttached();const result=this._portalOutlet.attachComponentPortal(portal);return this._contentAttached(),result}attachTemplatePortal(portal){this._portalOutlet.hasAttached();const result=this._portalOutlet.attachTemplatePortal(portal);return this._contentAttached(),result}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(element,options){this._interactivityChecker.isFocusable(element)||(element.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const callback=()=>{element.removeEventListener("blur",callback),element.removeEventListener("mousedown",callback),element.removeAttribute("tabindex")};element.addEventListener("blur",callback),element.addEventListener("mousedown",callback)})),element.focus(options)}_focusByCssSelector(selector,options){let elementToFocus=this._elementRef.nativeElement.querySelector(selector);elementToFocus&&this._forceFocus(elementToFocus,options)}_trapFocus(){const element=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||element.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(focusedSuccessfully=>{focusedSuccessfully||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const focusConfig=this._config.restoreFocus;let focusTargetElement=null;if("string"==typeof focusConfig?focusTargetElement=this._document.querySelector(focusConfig):"boolean"==typeof focusConfig?focusTargetElement=focusConfig?this._elementFocusedBeforeDialogWasOpened:null:focusConfig&&(focusTargetElement=focusConfig),this._config.restoreFocus&&focusTargetElement&&"function"==typeof focusTargetElement.focus){const activeElement=platform_getFocusedElementPierceShadowDom(),element=this._elementRef.nativeElement;(!activeElement||activeElement===this._document.body||activeElement===element||element.contains(activeElement))&&(this._focusMonitor?(this._focusMonitor.focusVia(focusTargetElement,this._closeInteractionType),this._closeInteractionType=null):focusTargetElement.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const element=this._elementRef.nativeElement,activeElement=platform_getFocusedElementPierceShadowDom();return element===activeElement||element.contains(activeElement)}_initializeFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=platform_getFocusedElementPierceShadowDom())}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}}return(_class2=CdkDialogContainer2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(FocusTrapFactory),\u0275\u0275directiveInject(common_DOCUMENT,8),\u0275\u0275directiveInject(DialogConfig),\u0275\u0275directiveInject(InteractivityChecker),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(OverlayRef),\u0275\u0275directiveInject(FocusMonitor))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["cdk-dialog-container"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(CdkPortalOutlet,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._portalOutlet=_t.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275attribute("id",ctx._config.id||null)("role",ctx._config.role)("aria-modal",ctx._config.ariaModal)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledBy)("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null)},features:[\u0275\u0275InheritDefinitionFeature],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(rf,ctx){1&rf&&\u0275\u0275template(0,_class_ng_template_0_Template,0,0,"ng-template",0)},dependencies:[CdkPortalOutlet],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2}),CdkDialogContainer2})();class DialogRef{constructor(overlayRef,config2){this.overlayRef=overlayRef,this.config=config2,this.closed=new Subject_Subject,this.disableClose=config2.disableClose,this.backdropClick=overlayRef.backdropClick(),this.keydownEvents=overlayRef.keydownEvents(),this.outsidePointerEvents=overlayRef.outsidePointerEvents(),this.id=config2.id,this.keydownEvents.subscribe(event=>{27===event.keyCode&&!this.disableClose&&!keycodes_hasModifierKey(event)&&(event.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=overlayRef.detachments().subscribe(()=>{!1!==config2.closeOnOverlayDetachments&&this.close()})}close(result,options){if(this.containerInstance){const closedSubject=this.closed;this.containerInstance._closeInteractionType=options?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),closedSubject.next(result),closedSubject.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(width="",height=""){return this.overlayRef.updateSize({width,height}),this}addPanelClass(classes){return this.overlayRef.addPanelClass(classes),this}removePanelClass(classes){return this.overlayRef.removePanelClass(classes),this}}const DIALOG_SCROLL_STRATEGY=new InjectionToken("DialogScrollStrategy"),DIALOG_DATA=new InjectionToken("DialogData"),DEFAULT_DIALOG_CONFIG=new InjectionToken("DefaultDialogConfig"),DIALOG_SCROLL_STRATEGY_PROVIDER={provide:DIALOG_SCROLL_STRATEGY,deps:[Overlay],useFactory:function DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay){return()=>overlay.scrollStrategies.block()}};let uniqueId=0,Dialog=(()=>{var _class2;class Dialog2{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(_overlay,_injector,_defaultOptions,_parentDialog,_overlayContainer,scrollStrategy){this._overlay=_overlay,this._injector=_injector,this._defaultOptions=_defaultOptions,this._parentDialog=_parentDialog,this._overlayContainer=_overlayContainer,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Subject_Subject,this._afterOpenedAtThisLevel=new Subject_Subject,this._ariaHiddenElements=new Map,this.afterAllClosed=defer(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(startWith_startWith(void 0))),this._scrollStrategy=scrollStrategy}open(componentOrTemplateRef,config2){(config2={...this._defaultOptions||new DialogConfig,...config2}).id=config2.id||"cdk-dialog-"+uniqueId++,config2.id&&this.getDialogById(config2.id);const overlayConfig=this._getOverlayConfig(config2),overlayRef=this._overlay.create(overlayConfig),dialogRef=new DialogRef(overlayRef,config2),dialogContainer=this._attachContainer(overlayRef,dialogRef,config2);return dialogRef.containerInstance=dialogContainer,this._attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config2),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(dialogRef),dialogRef.closed.subscribe(()=>this._removeOpenDialog(dialogRef,!0)),this.afterOpened.next(dialogRef),dialogRef}closeAll(){reverseForEach(this.openDialogs,dialog=>dialog.close())}getDialogById(id){return this.openDialogs.find(dialog=>dialog.id===id)}ngOnDestroy(){reverseForEach(this._openDialogsAtThisLevel,dialog=>{!1===dialog.config.closeOnDestroy&&this._removeOpenDialog(dialog,!1)}),reverseForEach(this._openDialogsAtThisLevel,dialog=>dialog.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(config2){const state2=new OverlayConfig({positionStrategy:config2.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:config2.scrollStrategy||this._scrollStrategy(),panelClass:config2.panelClass,hasBackdrop:config2.hasBackdrop,direction:config2.direction,minWidth:config2.minWidth,minHeight:config2.minHeight,maxWidth:config2.maxWidth,maxHeight:config2.maxHeight,width:config2.width,height:config2.height,disposeOnNavigation:config2.closeOnNavigation});return config2.backdropClass&&(state2.backdropClass=config2.backdropClass),state2}_attachContainer(overlay,dialogRef,config2){const userInjector=config2.injector||config2.viewContainerRef?.injector,providers=[{provide:DialogConfig,useValue:config2},{provide:DialogRef,useValue:dialogRef},{provide:OverlayRef,useValue:overlay}];let containerType;config2.container?"function"==typeof config2.container?containerType=config2.container:(containerType=config2.container.type,providers.push(...config2.container.providers(config2))):containerType=CdkDialogContainer;const containerPortal=new ComponentPortal(containerType,config2.viewContainerRef,core_Injector.create({parent:userInjector||this._injector,providers}),config2.componentFactoryResolver);return overlay.attach(containerPortal).instance}_attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config2){if(componentOrTemplateRef instanceof core_TemplateRef){const injector=this._createInjector(config2,dialogRef,dialogContainer,void 0);let context2={$implicit:config2.data,dialogRef};config2.templateContext&&(context2={...context2,..."function"==typeof config2.templateContext?config2.templateContext():config2.templateContext}),dialogContainer.attachTemplatePortal(new portal_TemplatePortal(componentOrTemplateRef,null,context2,injector))}else{const injector=this._createInjector(config2,dialogRef,dialogContainer,this._injector),contentRef=dialogContainer.attachComponentPortal(new ComponentPortal(componentOrTemplateRef,config2.viewContainerRef,injector,config2.componentFactoryResolver));dialogRef.componentRef=contentRef,dialogRef.componentInstance=contentRef.instance}}_createInjector(config2,dialogRef,dialogContainer,fallbackInjector){const userInjector=config2.injector||config2.viewContainerRef?.injector,providers=[{provide:DIALOG_DATA,useValue:config2.data},{provide:DialogRef,useValue:dialogRef}];return config2.providers&&("function"==typeof config2.providers?providers.push(...config2.providers(dialogRef,config2,dialogContainer)):providers.push(...config2.providers)),config2.direction&&(!userInjector||!userInjector.get(Directionality,null,{optional:!0}))&&providers.push({provide:Directionality,useValue:{value:config2.direction,change:of_of()}}),core_Injector.create({parent:userInjector||fallbackInjector,providers})}_removeOpenDialog(dialogRef,emitEvent){const index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((previousValue,element)=>{previousValue?element.setAttribute("aria-hidden",previousValue):element.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),emitEvent&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const overlayContainer=this._overlayContainer.getContainerElement();if(overlayContainer.parentElement){const siblings=overlayContainer.parentElement.children;for(let i6=siblings.length-1;i6>-1;i6--){const sibling=siblings[i6];sibling!==overlayContainer&&"SCRIPT"!==sibling.nodeName&&"STYLE"!==sibling.nodeName&&!sibling.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(sibling,sibling.getAttribute("aria-hidden")),sibling.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}}return(_class2=Dialog2).\u0275fac=function(t){return new(t||_class2)(core_inject(Overlay),core_inject(core_Injector),core_inject(DEFAULT_DIALOG_CONFIG,8),core_inject(_class2,12),core_inject(OverlayContainer),core_inject(DIALOG_SCROLL_STRATEGY))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),Dialog2})();function reverseForEach(items,callback){let i6=items.length;for(;i6--;)callback(items[i6])}let DialogModule=(()=>{var _class3;class DialogModule2{}return(_class3=DialogModule2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({providers:[Dialog,DIALOG_SCROLL_STRATEGY_PROVIDER],imports:[OverlayModule,PortalModule,A11yModule,PortalModule]}),DialogModule2})();class AnimationBuilder{}class AnimationFactory{}function animations_trigger(name,definitions){return{type:7,name,definitions,options:{}}}function animations_animate(timings,styles=null){return{type:4,styles,timings}}function sequence(steps,options=null){return{type:2,steps,options}}function animations_style(tokens){return{type:6,styles:tokens,offset:null}}function state(name,styles,options){return{type:0,name,styles,options}}function animations_transition(stateChangeExpr,steps,options=null){return{type:1,expr:stateChangeExpr,animation:steps,options}}class NoopAnimationPlayer{constructor(duration=0,delay=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=duration+delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(fn=>fn()),this._onDoneFns=[])}onStart(fn){this._originalOnStartFns.push(fn),this._onStartFns.push(fn)}onDone(fn){this._originalOnDoneFns.push(fn),this._onDoneFns.push(fn)}onDestroy(fn){this._onDestroyFns.push(fn)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(fn=>fn()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(fn=>fn()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(position){this._position=this.totalTime?position*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(phaseName){const methods="start"==phaseName?this._onStartFns:this._onDoneFns;methods.forEach(fn=>fn()),methods.length=0}}class AnimationGroupPlayer{constructor(_players){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=_players;let doneCount=0,destroyCount=0,startCount=0;const total=this.players.length;0==total?queueMicrotask(()=>this._onFinish()):this.players.forEach(player=>{player.onDone(()=>{++doneCount==total&&this._onFinish()}),player.onDestroy(()=>{++destroyCount==total&&this._onDestroy()}),player.onStart(()=>{++startCount==total&&this._onStart()})}),this.totalTime=this.players.reduce((time,player)=>Math.max(time,player.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(fn=>fn()),this._onDoneFns=[])}init(){this.players.forEach(player=>player.init())}onStart(fn){this._onStartFns.push(fn)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(fn=>fn()),this._onStartFns=[])}onDone(fn){this._onDoneFns.push(fn)}onDestroy(fn){this._onDestroyFns.push(fn)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(player=>player.play())}pause(){this.players.forEach(player=>player.pause())}restart(){this.players.forEach(player=>player.restart())}finish(){this._onFinish(),this.players.forEach(player=>player.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(player=>player.destroy()),this._onDestroyFns.forEach(fn=>fn()),this._onDestroyFns=[])}reset(){this.players.forEach(player=>player.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(p){const timeAtPosition=p*this.totalTime;this.players.forEach(player=>{const position=player.totalTime?Math.min(1,timeAtPosition/player.totalTime):1;player.setPosition(position)})}getPosition(){const longestPlayer=this.players.reduce((longestSoFar,player)=>null===longestSoFar||player.totalTime>longestSoFar.totalTime?player:longestSoFar,null);return null!=longestPlayer?longestPlayer.getPosition():0}beforeDestroy(){this.players.forEach(player=>{player.beforeDestroy&&player.beforeDestroy()})}triggerCallback(phaseName){const methods="start"==phaseName?this._onStartFns:this._onDoneFns;methods.forEach(fn=>fn()),methods.length=0}}function _class2_ng_template_2_Template(rf,ctx){}class MatDialogConfig{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}let _MatDialogContainerBase=(()=>{var _class2;class _MatDialogContainerBase2 extends CdkDialogContainer{constructor(elementRef,focusTrapFactory,_document2,dialogConfig,interactivityChecker,ngZone,overlayRef,focusMonitor){super(elementRef,focusTrapFactory,_document2,dialogConfig,interactivityChecker,ngZone,overlayRef,focusMonitor),this._animationStateChanged=new core_EventEmitter}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(totalTime){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime})}}return(_class2=_MatDialogContainerBase2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(FocusTrapFactory),\u0275\u0275directiveInject(common_DOCUMENT,8),\u0275\u0275directiveInject(MatDialogConfig),\u0275\u0275directiveInject(InteractivityChecker),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(OverlayRef),\u0275\u0275directiveInject(FocusMonitor))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["ng-component"]],features:[\u0275\u0275InheritDefinitionFeature],decls:0,vars:0,template:function(rf,ctx){},encapsulation:2}),_MatDialogContainerBase2})();function parseCssTime(time){return null==time?null:"number"==typeof time?time:time.endsWith("ms")?coercion_coerceNumberProperty(time.substring(0,time.length-2)):time.endsWith("s")?1e3*coercion_coerceNumberProperty(time.substring(0,time.length-1)):"0"===time?0:null}let MatDialogContainer=(()=>{var _class2;class MatDialogContainer2 extends _MatDialogContainerBase{constructor(elementRef,focusTrapFactory,document2,dialogConfig,checker,ngZone,overlayRef,_animationMode,focusMonitor){super(elementRef,focusTrapFactory,document2,dialogConfig,checker,ngZone,overlayRef,focusMonitor),this._animationMode=_animationMode,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?parseCssTime(this._config.enterAnimationDuration)??150:0,this._exitAnimationDuration=this._animationsEnabled?parseCssTime(this._config.exitAnimationDuration)??75:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty("--mat-dialog-transition-duration",`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add("mdc-dialog--opening","mdc-dialog--open")),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add("mdc-dialog--open"),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove("mdc-dialog--open"),this._animationsEnabled?(this._hostElement.style.setProperty("--mat-dialog-transition-duration",`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add("mdc-dialog--closing")),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_clearAnimationClasses(){this._hostElement.classList.remove("mdc-dialog--opening","mdc-dialog--closing")}_waitForAnimationToComplete(duration,callback){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(callback,duration)}_requestAnimationFrame(callback){this._ngZone.runOutsideAngular(()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(callback):callback()})}}return(_class2=MatDialogContainer2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(FocusTrapFactory),\u0275\u0275directiveInject(common_DOCUMENT,8),\u0275\u0275directiveInject(MatDialogConfig),\u0275\u0275directiveInject(InteractivityChecker),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(OverlayRef),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8),\u0275\u0275directiveInject(FocusMonitor))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:8,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275hostProperty("id",ctx._config.id),\u0275\u0275attribute("aria-modal",ctx._config.ariaModal)("role",ctx._config.role)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledBy)("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null),\u0275\u0275classProp("_mat-animation-noopable",!ctx._animationsEnabled))},features:[\u0275\u0275InheritDefinitionFeature],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1),\u0275\u0275template(2,_class2_ng_template_2_Template,0,0,"ng-template",2),\u0275\u0275elementEnd()())},dependencies:[CdkPortalOutlet],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:var(--mdc-dialog-z-index, 7)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-width:none}@media(max-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px;width:560px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 112px)}}@media(max-width: 720px)and (min-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:560px}}@media(max-width: 720px)and (max-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:calc(100vh - 160px)}}@media(max-width: 720px)and (min-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px}}@media(max-width: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-height: 400px),(max-width: 600px),(min-width: 720px)and (max-height: 400px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{height:100%;max-height:100vh;max-width:100vw;width:100vw;border-radius:0}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{order:-1;left:-12px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__header{padding:0 16px 9px;justify-content:flex-start}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__title{margin-left:calc(16px - 2 * 12px)}}@media(min-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 400px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}.mdc-dialog.mdc-dialog__scrim--hidden .mdc-dialog__scrim{opacity:0}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;transform:scale(0.8);opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto;outline:0}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}[dir=rtl] .mdc-dialog__surface,.mdc-dialog__surface[dir=rtl]{text-align:right}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-dialog__surface{outline:2px solid windowText}}.mdc-dialog__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-dialog__surface::before{border-color:CanvasText}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.mdc-dialog__surface::before{content:none}}.mdc-dialog__title{display:block;margin-top:0;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mdc-dialog__title,.mdc-dialog__title[dir=rtl]{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{margin-bottom:1px;padding-bottom:15px}.mdc-dialog--fullscreen .mdc-dialog__header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,0);display:inline-flex;justify-content:space-between;padding:0 24px 9px;z-index:1}@media screen and (forced-colors: active){.mdc-dialog--fullscreen .mdc-dialog__header{border-bottom-color:CanvasText}}.mdc-dialog--fullscreen .mdc-dialog__header .mdc-dialog__close{right:-12px}.mdc-dialog--fullscreen .mdc-dialog__title{margin-bottom:0;padding:0;border-bottom:0}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__title{border-bottom:0;margin-bottom:0}.mdc-dialog--fullscreen .mdc-dialog__close{top:5px}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--fullscreen--titleless .mdc-dialog__close{margin-top:4px}.mdc-dialog--fullscreen--titleless.mdc-dialog--scrollable .mdc-dialog__close{margin-top:0}.mdc-dialog__content{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content,.mdc-dialog__header+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:none;opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim{opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{transition:opacity 75ms linear}.mdc-dialog--open.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim{transition:opacity 150ms linear}.mdc-dialog__surface-scrim{display:none;opacity:0;position:absolute;width:100%;height:100%;z-index:1}.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{display:block}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-dialog--no-content-padding .mdc-dialog__content{padding:0}.mdc-dialog--sheet .mdc-dialog__container .mdc-dialog__close{right:12px;top:9px;position:absolute;z-index:1}.mdc-dialog__scrim--removed{pointer-events:none}.mdc-dialog__scrim--removed .mdc-dialog__scrim,.mdc-dialog__scrim--removed .mdc-dialog__surface-scrim{display:none}.mat-mdc-dialog-content{max-height:65vh}.mat-mdc-dialog-container{position:static;display:block}.mat-mdc-dialog-container,.mat-mdc-dialog-container .mdc-dialog__container,.mat-mdc-dialog-container .mdc-dialog__surface{max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mat-mdc-dialog-container .mdc-dialog__surface{display:block;width:100%;height:100%}.mat-mdc-dialog-container{--mdc-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);--mdc-dialog-container-shadow-color:#000;--mdc-dialog-container-shape:4px;--mdc-dialog-container-elevation: var(--mdc-dialog-container-elevation-shadow);outline:0}.mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--mdc-dialog-container-color, white)}.mat-mdc-dialog-container .mdc-dialog__surface{box-shadow:var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--mdc-dialog-container-shape, 4px)}.mat-mdc-dialog-container .mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87))}.mat-mdc-dialog-container .mdc-dialog__content{font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6))}.mat-mdc-dialog-container .mdc-dialog__container{transition-duration:var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container{transition:none}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-actions{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2}),MatDialogContainer2})();class MatDialogRef{constructor(_ref,config2,_containerInstance){this._ref=_ref,this._containerInstance=_containerInstance,this._afterOpened=new Subject_Subject,this._beforeClosed=new Subject_Subject,this._state=0,this.disableClose=config2.disableClose,this.id=_ref.id,_containerInstance._animationStateChanged.pipe(filter_filter(event=>"opened"===event.state),take_take(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),_containerInstance._animationStateChanged.pipe(filter_filter(event=>"closed"===event.state),take_take(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),_ref.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),merge_merge(this.backdropClick(),this.keydownEvents().pipe(filter_filter(event=>27===event.keyCode&&!this.disableClose&&!keycodes_hasModifierKey(event)))).subscribe(event=>{this.disableClose||(event.preventDefault(),_closeDialogVia(this,"keydown"===event.type?"keyboard":"mouse"))})}close(dialogResult){this._result=dialogResult,this._containerInstance._animationStateChanged.pipe(filter_filter(event=>"closing"===event.state),take_take(1)).subscribe(event=>{this._beforeClosed.next(dialogResult),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),event.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(position){let strategy=this._ref.config.positionStrategy;return position&&(position.left||position.right)?position.left?strategy.left(position.left):strategy.right(position.right):strategy.centerHorizontally(),position&&(position.top||position.bottom)?position.top?strategy.top(position.top):strategy.bottom(position.bottom):strategy.centerVertically(),this._ref.updatePosition(),this}updateSize(width="",height=""){return this._ref.updateSize(width,height),this}addPanelClass(classes){return this._ref.addPanelClass(classes),this}removePanelClass(classes){return this._ref.removePanelClass(classes),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function _closeDialogVia(ref2,interactionType,result){return ref2._closeInteractionType=interactionType,ref2.close(result)}const MAT_DIALOG_DATA=new InjectionToken("MatMdcDialogData"),MAT_DIALOG_DEFAULT_OPTIONS=new InjectionToken("mat-mdc-dialog-default-options"),MAT_DIALOG_SCROLL_STRATEGY=new InjectionToken("mat-mdc-dialog-scroll-strategy"),MAT_DIALOG_SCROLL_STRATEGY_PROVIDER={provide:MAT_DIALOG_SCROLL_STRATEGY,deps:[Overlay],useFactory:function MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay){return()=>overlay.scrollStrategies.block()}};let dialog_uniqueId=0,_MatDialogBase=(()=>{var _class3;class _MatDialogBase2{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(_overlay,injector,_defaultOptions,_parentDialog,_overlayContainer,scrollStrategy,_dialogRefConstructor,_dialogContainerType,_dialogDataToken,_animationMode){this._overlay=_overlay,this._defaultOptions=_defaultOptions,this._parentDialog=_parentDialog,this._dialogRefConstructor=_dialogRefConstructor,this._dialogContainerType=_dialogContainerType,this._dialogDataToken=_dialogDataToken,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Subject_Subject,this._afterOpenedAtThisLevel=new Subject_Subject,this._idPrefix="mat-dialog-",this.dialogConfigClass=MatDialogConfig,this.afterAllClosed=defer(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(startWith_startWith(void 0))),this._scrollStrategy=scrollStrategy,this._dialog=injector.get(Dialog)}open(componentOrTemplateRef,config2){let dialogRef;(config2={...this._defaultOptions||new MatDialogConfig,...config2}).id=config2.id||`${this._idPrefix}${dialog_uniqueId++}`,config2.scrollStrategy=config2.scrollStrategy||this._scrollStrategy();const cdkRef=this._dialog.open(componentOrTemplateRef,{...config2,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:config2},{provide:DialogConfig,useValue:config2}]},templateContext:()=>({dialogRef}),providers:(ref2,cdkConfig,dialogContainer)=>(dialogRef=new this._dialogRefConstructor(ref2,config2,dialogContainer),dialogRef.updatePosition(config2?.position),[{provide:this._dialogContainerType,useValue:dialogContainer},{provide:this._dialogDataToken,useValue:cdkConfig.data},{provide:this._dialogRefConstructor,useValue:dialogRef}])});return dialogRef.componentRef=cdkRef.componentRef,dialogRef.componentInstance=cdkRef.componentInstance,this.openDialogs.push(dialogRef),this.afterOpened.next(dialogRef),dialogRef.afterClosed().subscribe(()=>{const index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||this._getAfterAllClosed().next())}),dialogRef}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(id){return this.openDialogs.find(dialog=>dialog.id===id)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(dialogs){let i6=dialogs.length;for(;i6--;)dialogs[i6].close()}}return(_class3=_MatDialogBase2).\u0275fac=function(t){\u0275\u0275invalidFactory()},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac}),_MatDialogBase2})(),MatDialog=(()=>{var _class4;class MatDialog2 extends _MatDialogBase{constructor(overlay,injector,location2,defaultOptions,scrollStrategy,parentDialog,overlayContainer,animationMode){super(overlay,injector,defaultOptions,parentDialog,overlayContainer,scrollStrategy,MatDialogRef,MatDialogContainer,MAT_DIALOG_DATA,animationMode),this._idPrefix="mat-mdc-dialog-"}}return(_class4=MatDialog2).\u0275fac=function(t){return new(t||_class4)(core_inject(Overlay),core_inject(core_Injector),core_inject(Location,8),core_inject(MAT_DIALOG_DEFAULT_OPTIONS,8),core_inject(MAT_DIALOG_SCROLL_STRATEGY),core_inject(_class4,12),core_inject(OverlayContainer),core_inject(core_ANIMATION_MODULE_TYPE,8))},_class4.\u0275prov=core_defineInjectable({token:_class4,factory:_class4.\u0275fac}),MatDialog2})(),dialogElementUid=0,MatDialogClose=(()=>{var _class5;class MatDialogClose2{constructor(dialogRef,_elementRef,_dialog){this.dialogRef=dialogRef,this._elementRef=_elementRef,this._dialog=_dialog,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=getClosestDialog(this._elementRef,this._dialog.openDialogs))}ngOnChanges(changes){const proxiedChange=changes._matDialogClose||changes._matDialogCloseResult;proxiedChange&&(this.dialogResult=proxiedChange.currentValue)}_onButtonClick(event){_closeDialogVia(this.dialogRef,0===event.screenX&&0===event.screenY?"keyboard":"mouse",this.dialogResult)}}return(_class5=MatDialogClose2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(MatDialogRef,8),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(MatDialog))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(rf,ctx){1&rf&&\u0275\u0275listener("click",function($event){return ctx._onButtonClick($event)}),2&rf&&\u0275\u0275attribute("aria-label",ctx.ariaLabel||null)("type",ctx.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[\u0275\u0275NgOnChangesFeature]}),MatDialogClose2})(),MatDialogTitle=(()=>{var _class6;class MatDialogTitle2{constructor(_dialogRef,_elementRef,_dialog){this._dialogRef=_dialogRef,this._elementRef=_elementRef,this._dialog=_dialog,this.id="mat-mdc-dialog-title-"+dialogElementUid++}ngOnInit(){this._dialogRef||(this._dialogRef=getClosestDialog(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const container=this._dialogRef._containerInstance;container&&!container._ariaLabelledBy&&(container._ariaLabelledBy=this.id)})}}return(_class6=MatDialogTitle2).\u0275fac=function(t){return new(t||_class6)(\u0275\u0275directiveInject(MatDialogRef,8),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(MatDialog))},_class6.\u0275dir=\u0275\u0275defineDirective({type:_class6,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275hostProperty("id",ctx.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),MatDialogTitle2})(),MatDialogContent=(()=>{var _class7;class MatDialogContent2{}return(_class7=MatDialogContent2).\u0275fac=function(t){return new(t||_class7)},_class7.\u0275dir=\u0275\u0275defineDirective({type:_class7,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"]}),MatDialogContent2})();function getClosestDialog(element,openDialogs){let parent=element.nativeElement.parentElement;for(;parent&&!parent.classList.contains("mat-mdc-dialog-container");)parent=parent.parentElement;return parent?openDialogs.find(dialog=>dialog.id===parent.id):null}let MatDialogModule=(()=>{var _class9;class MatDialogModule2{}return(_class9=MatDialogModule2).\u0275fac=function(t){return new(t||_class9)},_class9.\u0275mod=\u0275\u0275defineNgModule({type:_class9}),_class9.\u0275inj=\u0275\u0275defineInjector({providers:[MatDialog,MAT_DIALOG_SCROLL_STRATEGY_PROVIDER],imports:[DialogModule,OverlayModule,PortalModule,MatCommonModule,MatCommonModule]}),MatDialogModule2})();function throwError_throwError(errorOrErrorFactory,scheduler){const errorFactory=isFunction(errorOrErrorFactory)?errorOrErrorFactory:()=>errorOrErrorFactory,init2=subscriber=>subscriber.error(errorFactory());return new Observable_Observable(scheduler?subscriber=>scheduler.schedule(init2,0,subscriber):init2)}function catchError_catchError(selector){return operate((source,subscriber)=>{let handledResult,innerSub=null,syncUnsub=!1;innerSub=source.subscribe(createOperatorSubscriber(subscriber,void 0,void 0,err=>{handledResult=innerFrom(selector(err,catchError_catchError(selector)(source))),innerSub?(innerSub.unsubscribe(),innerSub=null,handledResult.subscribe(subscriber)):syncUnsub=!0})),syncUnsub&&(innerSub.unsubscribe(),innerSub=null,handledResult.subscribe(subscriber))})}const icon_c0=["*"];let icon_policy;function icon_trustedHTMLFromString(html){return function icon_getPolicy(){if(void 0===icon_policy&&(icon_policy=null,typeof window<"u")){const ttWindow=window;void 0!==ttWindow.trustedTypes&&(icon_policy=ttWindow.trustedTypes.createPolicy("angular#components",{createHTML:s=>s}))}return icon_policy}()?.createHTML(html)||html}function getMatIconNameNotFoundError(iconName){return Error(`Unable to find icon with the name "${iconName}"`)}function getMatIconFailedToSanitizeUrlError(url){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${url}".`)}function getMatIconFailedToSanitizeLiteralError(literal){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${literal}".`)}class SvgIconConfig{constructor(url,svgText,options){this.url=url,this.svgText=svgText,this.options=options}}let MatIconRegistry=(()=>{var _class2;class MatIconRegistry2{constructor(_httpClient,_sanitizer,document2,_errorHandler){this._httpClient=_httpClient,this._sanitizer=_sanitizer,this._errorHandler=_errorHandler,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=document2}addSvgIcon(iconName,url,options){return this.addSvgIconInNamespace("",iconName,url,options)}addSvgIconLiteral(iconName,literal,options){return this.addSvgIconLiteralInNamespace("",iconName,literal,options)}addSvgIconInNamespace(namespace,iconName,url,options){return this._addSvgIconConfig(namespace,iconName,new SvgIconConfig(url,null,options))}addSvgIconResolver(resolver){return this._resolvers.push(resolver),this}addSvgIconLiteralInNamespace(namespace,iconName,literal,options){const cleanLiteral=this._sanitizer.sanitize(SecurityContext.HTML,literal);if(!cleanLiteral)throw getMatIconFailedToSanitizeLiteralError(literal);const trustedLiteral=icon_trustedHTMLFromString(cleanLiteral);return this._addSvgIconConfig(namespace,iconName,new SvgIconConfig("",trustedLiteral,options))}addSvgIconSet(url,options){return this.addSvgIconSetInNamespace("",url,options)}addSvgIconSetLiteral(literal,options){return this.addSvgIconSetLiteralInNamespace("",literal,options)}addSvgIconSetInNamespace(namespace,url,options){return this._addSvgIconSetConfig(namespace,new SvgIconConfig(url,null,options))}addSvgIconSetLiteralInNamespace(namespace,literal,options){const cleanLiteral=this._sanitizer.sanitize(SecurityContext.HTML,literal);if(!cleanLiteral)throw getMatIconFailedToSanitizeLiteralError(literal);const trustedLiteral=icon_trustedHTMLFromString(cleanLiteral);return this._addSvgIconSetConfig(namespace,new SvgIconConfig("",trustedLiteral,options))}registerFontClassAlias(alias,classNames=alias){return this._fontCssClassesByAlias.set(alias,classNames),this}classNameForFontAlias(alias){return this._fontCssClassesByAlias.get(alias)||alias}setDefaultFontSetClass(...classNames){return this._defaultFontSetClass=classNames,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(safeUrl){const url=this._sanitizer.sanitize(SecurityContext.RESOURCE_URL,safeUrl);if(!url)throw getMatIconFailedToSanitizeUrlError(safeUrl);const cachedIcon=this._cachedIconsByUrl.get(url);return cachedIcon?of_of(cloneSvg(cachedIcon)):this._loadSvgIconFromConfig(new SvgIconConfig(safeUrl,null)).pipe(tap_tap(svg=>this._cachedIconsByUrl.set(url,svg)),map_map(svg=>cloneSvg(svg)))}getNamedSvgIcon(name,namespace=""){const key=iconKey(namespace,name);let config2=this._svgIconConfigs.get(key);if(config2)return this._getSvgFromConfig(config2);if(config2=this._getIconConfigFromResolvers(namespace,name),config2)return this._svgIconConfigs.set(key,config2),this._getSvgFromConfig(config2);const iconSetConfigs=this._iconSetConfigs.get(namespace);return iconSetConfigs?this._getSvgFromIconSetConfigs(name,iconSetConfigs):throwError_throwError(getMatIconNameNotFoundError(key))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(config2){return config2.svgText?of_of(cloneSvg(this._svgElementFromConfig(config2))):this._loadSvgIconFromConfig(config2).pipe(map_map(svg=>cloneSvg(svg)))}_getSvgFromIconSetConfigs(name,iconSetConfigs){const namedIcon=this._extractIconWithNameFromAnySet(name,iconSetConfigs);return namedIcon?of_of(namedIcon):forkJoin(iconSetConfigs.filter(iconSetConfig=>!iconSetConfig.svgText).map(iconSetConfig=>this._loadSvgIconSetFromConfig(iconSetConfig).pipe(catchError_catchError(err=>{const errorMessage=`Loading icon set URL: ${this._sanitizer.sanitize(SecurityContext.RESOURCE_URL,iconSetConfig.url)} failed: ${err.message}`;return this._errorHandler.handleError(new Error(errorMessage)),of_of(null)})))).pipe(map_map(()=>{const foundIcon=this._extractIconWithNameFromAnySet(name,iconSetConfigs);if(!foundIcon)throw getMatIconNameNotFoundError(name);return foundIcon}))}_extractIconWithNameFromAnySet(iconName,iconSetConfigs){for(let i6=iconSetConfigs.length-1;i6>=0;i6--){const config2=iconSetConfigs[i6];if(config2.svgText&&config2.svgText.toString().indexOf(iconName)>-1){const svg=this._svgElementFromConfig(config2),foundIcon=this._extractSvgIconFromSet(svg,iconName,config2.options);if(foundIcon)return foundIcon}}return null}_loadSvgIconFromConfig(config2){return this._fetchIcon(config2).pipe(tap_tap(svgText=>config2.svgText=svgText),map_map(()=>this._svgElementFromConfig(config2)))}_loadSvgIconSetFromConfig(config2){return config2.svgText?of_of(null):this._fetchIcon(config2).pipe(tap_tap(svgText=>config2.svgText=svgText))}_extractSvgIconFromSet(iconSet,iconName,options){const iconSource=iconSet.querySelector(`[id="${iconName}"]`);if(!iconSource)return null;const iconElement=iconSource.cloneNode(!0);if(iconElement.removeAttribute("id"),"svg"===iconElement.nodeName.toLowerCase())return this._setSvgAttributes(iconElement,options);if("symbol"===iconElement.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(iconElement),options);const svg=this._svgElementFromString(icon_trustedHTMLFromString(""));return svg.appendChild(iconElement),this._setSvgAttributes(svg,options)}_svgElementFromString(str){const div=this._document.createElement("DIV");div.innerHTML=str;const svg=div.querySelector("svg");if(!svg)throw Error(" tag not found");return svg}_toSvgElement(element){const svg=this._svgElementFromString(icon_trustedHTMLFromString("")),attributes=element.attributes;for(let i6=0;i6icon_trustedHTMLFromString(svg)),finalize(()=>this._inProgressUrlFetches.delete(url)),share());return this._inProgressUrlFetches.set(url,req),req}_addSvgIconConfig(namespace,iconName,config2){return this._svgIconConfigs.set(iconKey(namespace,iconName),config2),this}_addSvgIconSetConfig(namespace,config2){const configNamespace=this._iconSetConfigs.get(namespace);return configNamespace?configNamespace.push(config2):this._iconSetConfigs.set(namespace,[config2]),this}_svgElementFromConfig(config2){if(!config2.svgElement){const svg=this._svgElementFromString(config2.svgText);this._setSvgAttributes(svg,config2.options),config2.svgElement=svg}return config2.svgElement}_getIconConfigFromResolvers(namespace,name){for(let i6=0;i6_location?_location.pathname+_location.search:""}}}),funcIriAttributes=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],funcIriAttributeSelector=funcIriAttributes.map(attr=>`[${attr}]`).join(", "),funcIriPattern=/^url\(['"]?#(.*?)['"]?\)$/;let MatIcon=(()=>{var _class2;class MatIcon2 extends _MatIconBase{get inline(){return this._inline}set inline(inline){this._inline=coercion_coerceBooleanProperty(inline)}get svgIcon(){return this._svgIcon}set svgIcon(value){value!==this._svgIcon&&(value?this._updateSvgIcon(value):this._svgIcon&&this._clearSvgElement(),this._svgIcon=value)}get fontSet(){return this._fontSet}set fontSet(value){const newValue=this._cleanupFontValue(value);newValue!==this._fontSet&&(this._fontSet=newValue,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(value){const newValue=this._cleanupFontValue(value);newValue!==this._fontIcon&&(this._fontIcon=newValue,this._updateFontIconClasses())}constructor(elementRef,_iconRegistry,ariaHidden,_location,_errorHandler,defaults2){super(elementRef),this._iconRegistry=_iconRegistry,this._location=_location,this._errorHandler=_errorHandler,this._inline=!1,this._previousFontSetClass=[],this._currentIconFetch=Subscription_Subscription.EMPTY,defaults2&&(defaults2.color&&(this.color=this.defaultColor=defaults2.color),defaults2.fontSet&&(this.fontSet=defaults2.fontSet)),ariaHidden||elementRef.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(iconName){if(!iconName)return["",""];const parts=iconName.split(":");switch(parts.length){case 1:return["",parts[0]];case 2:return parts;default:throw Error(`Invalid icon name: "${iconName}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const cachedElements=this._elementsWithExternalReferences;if(cachedElements&&cachedElements.size){const newPath=this._location.getPathname();newPath!==this._previousPath&&(this._previousPath=newPath,this._prependPathToReferences(newPath))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(svg){this._clearSvgElement();const path=this._location.getPathname();this._previousPath=path,this._cacheChildrenWithExternalReferences(svg),this._prependPathToReferences(path),this._elementRef.nativeElement.appendChild(svg)}_clearSvgElement(){const layoutElement=this._elementRef.nativeElement;let childCount=layoutElement.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();childCount--;){const child2=layoutElement.childNodes[childCount];(1!==child2.nodeType||"svg"===child2.nodeName.toLowerCase())&&child2.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const elem=this._elementRef.nativeElement,fontSetClasses=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(className=>className.length>0);this._previousFontSetClass.forEach(className=>elem.classList.remove(className)),fontSetClasses.forEach(className=>elem.classList.add(className)),this._previousFontSetClass=fontSetClasses,this.fontIcon!==this._previousFontIconClass&&!fontSetClasses.includes("mat-ligature-font")&&(this._previousFontIconClass&&elem.classList.remove(this._previousFontIconClass),this.fontIcon&&elem.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(value){return"string"==typeof value?value.trim().split(" ")[0]:value}_prependPathToReferences(path){const elements=this._elementsWithExternalReferences;elements&&elements.forEach((attrs,element)=>{attrs.forEach(attr=>{element.setAttribute(attr.name,`url('${path}#${attr.value}')`)})})}_cacheChildrenWithExternalReferences(element){const elementsWithFuncIri=element.querySelectorAll(funcIriAttributeSelector),elements=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i6=0;i6{const elementWithReference=elementsWithFuncIri[i6],value=elementWithReference.getAttribute(attr),match2=value?value.match(funcIriPattern):null;if(match2){let attributes=elements.get(elementWithReference);attributes||(attributes=[],elements.set(elementWithReference,attributes)),attributes.push({name:attr,value:match2[1]})}})}_updateSvgIcon(rawName){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),rawName){const[namespace,iconName]=this._splitIconName(rawName);namespace&&(this._svgNamespace=namespace),iconName&&(this._svgName=iconName),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(iconName,namespace).pipe(take_take(1)).subscribe(svg=>this._setSvgElement(svg),err=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${namespace}:${iconName}! ${err.message}`))})}}}return(_class2=MatIcon2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(MatIconRegistry),\u0275\u0275injectAttribute("aria-hidden"),\u0275\u0275directiveInject(MAT_ICON_LOCATION),\u0275\u0275directiveInject(ErrorHandler),\u0275\u0275directiveInject(MAT_ICON_DEFAULT_OPTIONS,8))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:8,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("data-mat-icon-type",ctx._usingFontIcon()?"font":"svg")("data-mat-icon-name",ctx._svgName||ctx.fontIcon)("data-mat-icon-namespace",ctx._svgNamespace||ctx.fontSet)("fontIcon",ctx._usingFontIcon()?ctx.fontIcon:null),\u0275\u0275classProp("mat-icon-inline",ctx.inline)("mat-icon-no-color","primary"!==ctx.color&&"accent"!==ctx.color&&"warn"!==ctx.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[\u0275\u0275InheritDefinitionFeature],ngContentSelectors:icon_c0,decls:1,vars:0,template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275projection(0))},styles:["mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0}),MatIcon2})(),MatIconModule=(()=>{var _class3;class MatIconModule2{}return(_class3=MatIconModule2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({imports:[MatCommonModule,MatCommonModule]}),MatIconModule2})();const progress_spinner_c0=["determinateSpinner"];function progress_spinner_class_ng_template_0_Template(rf,ctx){if(1&rf&&(\u0275\u0275namespaceSVG(),\u0275\u0275elementStart(0,"svg",11),\u0275\u0275element(1,"circle",12),\u0275\u0275elementEnd()),2&rf){const ctx_r1=\u0275\u0275nextContext();\u0275\u0275attribute("viewBox",ctx_r1._viewBox()),\u0275\u0275advance(1),\u0275\u0275styleProp("stroke-dasharray",ctx_r1._strokeCircumference(),"px")("stroke-dashoffset",ctx_r1._strokeCircumference()/2,"px")("stroke-width",ctx_r1._circleStrokeWidth(),"%"),\u0275\u0275attribute("r",ctx_r1._circleRadius())}}const _MatProgressSpinnerBase=mixinColor(class{constructor(_elementRef){this._elementRef=_elementRef}},"primary"),MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS=new InjectionToken("mat-progress-spinner-default-options",{providedIn:"root",factory:function MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY(){return{diameter:BASE_SIZE}}}),BASE_SIZE=100;let MatProgressSpinner=(()=>{var _class2;class MatProgressSpinner2 extends _MatProgressSpinnerBase{constructor(elementRef,animationMode,defaults2){super(elementRef),this.mode="mat-spinner"===this._elementRef.nativeElement.nodeName.toLowerCase()?"indeterminate":"determinate",this._value=0,this._diameter=BASE_SIZE,this._noopAnimations="NoopAnimations"===animationMode&&!!defaults2&&!defaults2._forceAnimations,defaults2&&(defaults2.color&&(this.color=this.defaultColor=defaults2.color),defaults2.diameter&&(this.diameter=defaults2.diameter),defaults2.strokeWidth&&(this.strokeWidth=defaults2.strokeWidth))}get value(){return"determinate"===this.mode?this._value:0}set value(v){this._value=Math.max(0,Math.min(100,coercion_coerceNumberProperty(v)))}get diameter(){return this._diameter}set diameter(size){this._diameter=coercion_coerceNumberProperty(size)}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(value){this._strokeWidth=coercion_coerceNumberProperty(value)}_circleRadius(){return(this.diameter-10)/2}_viewBox(){const viewBox=2*this._circleRadius()+this.strokeWidth;return`0 0 ${viewBox} ${viewBox}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}}return(_class2=MatProgressSpinner2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8),\u0275\u0275directiveInject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(progress_spinner_c0,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._determinateCircle=_t.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:16,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow","determinate"===ctx.mode?ctx.value:null)("mode",ctx.mode),\u0275\u0275styleProp("width",ctx.diameter,"px")("height",ctx.diameter,"px")("--mdc-circular-progress-size",ctx.diameter+"px")("--mdc-circular-progress-active-indicator-width",ctx.diameter+"px"),\u0275\u0275classProp("_mat-animation-noopable",ctx._noopAnimations)("mdc-circular-progress--indeterminate","indeterminate"===ctx.mode))},inputs:{color:"color",mode:"mode",value:"value",diameter:"diameter",strokeWidth:"strokeWidth"},exportAs:["matProgressSpinner"],features:[\u0275\u0275InheritDefinitionFeature],decls:14,vars:11,consts:[["circle",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["determinateSpinner",""],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(rf,ctx){if(1&rf&&(\u0275\u0275template(0,progress_spinner_class_ng_template_0_Template,2,8,"ng-template",null,0,\u0275\u0275templateRefExtractor),\u0275\u0275elementStart(2,"div",1,2),\u0275\u0275namespaceSVG(),\u0275\u0275elementStart(4,"svg",3),\u0275\u0275element(5,"circle",4),\u0275\u0275elementEnd()(),function \u0275\u0275namespaceHTML(){!function namespaceHTMLInternal(){instructionState.lFrame.currentNamespace=null}()}(),\u0275\u0275elementStart(6,"div",5)(7,"div",6)(8,"div",7),\u0275\u0275elementContainer(9,8),\u0275\u0275elementEnd(),\u0275\u0275elementStart(10,"div",9),\u0275\u0275elementContainer(11,8),\u0275\u0275elementEnd(),\u0275\u0275elementStart(12,"div",10),\u0275\u0275elementContainer(13,8),\u0275\u0275elementEnd()()()),2&rf){const _r0=\u0275\u0275reference(1);\u0275\u0275advance(4),\u0275\u0275attribute("viewBox",ctx._viewBox()),\u0275\u0275advance(1),\u0275\u0275styleProp("stroke-dasharray",ctx._strokeCircumference(),"px")("stroke-dashoffset",ctx._strokeDashOffset(),"px")("stroke-width",ctx._circleStrokeWidth(),"%"),\u0275\u0275attribute("r",ctx._circleRadius()),\u0275\u0275advance(4),\u0275\u0275property("ngTemplateOutlet",_r0),\u0275\u0275advance(2),\u0275\u0275property("ngTemplateOutlet",_r0),\u0275\u0275advance(2),\u0275\u0275property("ngTemplateOutlet",_r0)}},dependencies:[NgTemplateOutlet],styles:["@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}.mdc-circular-progress{display:inline-flex;position:relative;direction:ltr;line-height:0;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--closed{opacity:0}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-width:4px;--mdc-circular-progress-size:48px}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-1 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-2 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-3 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-4 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner .mdc-circular-progress{width:var(--mdc-circular-progress-size) !important;height:var(--mdc-circular-progress-size) !important}.mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}"],encapsulation:2,changeDetection:0}),MatProgressSpinner2})(),MatProgressSpinnerModule=(()=>{var _class2;class MatProgressSpinnerModule2{}return(_class2=MatProgressSpinnerModule2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275mod=\u0275\u0275defineNgModule({type:_class2}),_class2.\u0275inj=\u0275\u0275defineInjector({imports:[common_CommonModule,MatCommonModule]}),MatProgressSpinnerModule2})();function _class4_div_2_Template(rf,ctx){if(1&rf){const _r2=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",2)(1,"button",3),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r2),\u0275\u0275resetView(\u0275\u0275nextContext().action())}),\u0275\u0275text(2),\u0275\u0275elementEnd()()}if(2&rf){const ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(2),\u0275\u0275textInterpolate1(" ",ctx_r0.data.action," ")}}const snack_bar_c0=["label"];function _class6_ng_template_4_Template(rf,ctx){}const MAX_TIMEOUT=Math.pow(2,31)-1;class MatSnackBarRef{constructor(containerInstance,_overlayRef){this._overlayRef=_overlayRef,this._afterDismissed=new Subject_Subject,this._afterOpened=new Subject_Subject,this._onAction=new Subject_Subject,this._dismissedByAction=!1,this.containerInstance=containerInstance,containerInstance._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(duration){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(duration,MAX_TIMEOUT))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}const MAT_SNACK_BAR_DATA=new InjectionToken("MatSnackBarData");class MatSnackBarConfig{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}let MatSnackBarLabel=(()=>{var _class2;class MatSnackBarLabel2{}return(_class2=MatSnackBarLabel2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"]}),MatSnackBarLabel2})(),MatSnackBarActions=(()=>{var _class2;class MatSnackBarActions2{}return(_class2=MatSnackBarActions2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"]}),MatSnackBarActions2})(),MatSnackBarAction=(()=>{var _class3;class MatSnackBarAction2{}return(_class3=MatSnackBarAction2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"]}),MatSnackBarAction2})(),SimpleSnackBar=(()=>{var _class4;class SimpleSnackBar2{constructor(snackBarRef,data){this.snackBarRef=snackBarRef,this.data=data}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return(_class4=SimpleSnackBar2).\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(MatSnackBarRef),\u0275\u0275directiveInject(MAT_SNACK_BAR_DATA))},_class4.\u0275cmp=\u0275\u0275defineComponent({type:_class4,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions","",4,"ngIf"],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0),\u0275\u0275text(1),\u0275\u0275elementEnd(),\u0275\u0275template(2,_class4_div_2_Template,3,1,"div",1)),2&rf&&(\u0275\u0275advance(1),\u0275\u0275textInterpolate1(" ",ctx.data.message,"\n"),\u0275\u0275advance(1),\u0275\u0275property("ngIf",ctx.hasAction))},dependencies:[NgIf,MatButton,MatSnackBarLabel,MatSnackBarActions,MatSnackBarAction],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0}),SimpleSnackBar2})();const matSnackBarAnimations={snackBarState:animations_trigger("state",[state("void, hidden",animations_style({transform:"scale(0.8)",opacity:0})),state("visible",animations_style({transform:"scale(1)",opacity:1})),animations_transition("* => visible",animations_animate("150ms cubic-bezier(0, 0, 0.2, 1)")),animations_transition("* => void, * => hidden",animations_animate("75ms cubic-bezier(0.4, 0.0, 1, 1)",animations_style({opacity:0})))])};let snack_bar_uniqueId=0,_MatSnackBarContainerBase=(()=>{var _class5;class _MatSnackBarContainerBase2 extends BasePortalOutlet{constructor(_ngZone,_elementRef,_changeDetectorRef,_platform,snackBarConfig){super(),this._ngZone=_ngZone,this._elementRef=_elementRef,this._changeDetectorRef=_changeDetectorRef,this._platform=_platform,this.snackBarConfig=snackBarConfig,this._document=fesm2022_core_inject(common_DOCUMENT),this._trackedModals=new Set,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new Subject_Subject,this._onExit=new Subject_Subject,this._onEnter=new Subject_Subject,this._animationState="void",this._liveElementId="mat-snack-bar-container-live-"+snack_bar_uniqueId++,this.attachDomPortal=portal=>{this._assertNotAttached();const result=this._portalOutlet.attachDomPortal(portal);return this._afterPortalAttached(),result},this._live="assertive"!==snackBarConfig.politeness||snackBarConfig.announcementMessage?"off"===snackBarConfig.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(portal){this._assertNotAttached();const result=this._portalOutlet.attachComponentPortal(portal);return this._afterPortalAttached(),result}attachTemplatePortal(portal){this._assertNotAttached();const result=this._portalOutlet.attachTemplatePortal(portal);return this._afterPortalAttached(),result}onAnimationEnd(event){const{fromState,toState}=event;if(("void"===toState&&"void"!==fromState||"hidden"===toState)&&this._completeExit(),"visible"===toState){const onEnter2=this._onEnter;this._ngZone.run(()=>{onEnter2.next(),onEnter2.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(take_take(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_afterPortalAttached(){const element=this._elementRef.nativeElement,panelClasses=this.snackBarConfig.panelClass;panelClasses&&(Array.isArray(panelClasses)?panelClasses.forEach(cssClass=>element.classList.add(cssClass)):element.classList.add(panelClasses)),this._exposeToModals()}_exposeToModals(){const id=this._liveElementId,modals=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let i6=0;i6{const ariaOwns=modal.getAttribute("aria-owns");if(ariaOwns){const newValue=ariaOwns.replace(this._liveElementId,"").trim();newValue.length>0?modal.setAttribute("aria-owns",newValue):modal.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const inertElement=this._elementRef.nativeElement.querySelector("[aria-hidden]"),liveElement=this._elementRef.nativeElement.querySelector("[aria-live]");if(inertElement&&liveElement){let focusedElement=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&inertElement.contains(document.activeElement)&&(focusedElement=document.activeElement),inertElement.removeAttribute("aria-hidden"),liveElement.appendChild(inertElement),focusedElement?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return(_class5=_MatSnackBarContainerBase2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(MatSnackBarConfig))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(CdkPortalOutlet,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._portalOutlet=_t.first)}},features:[\u0275\u0275InheritDefinitionFeature]}),_MatSnackBarContainerBase2})(),MatSnackBarContainer=(()=>{var _class6;class MatSnackBarContainer2 extends _MatSnackBarContainerBase{_afterPortalAttached(){super._afterPortalAttached();const label=this._label.nativeElement;label.classList.toggle("mdc-snackbar__label",!label.querySelector(".mdc-snackbar__label"))}}return(_class6=MatSnackBarContainer2).\u0275fac=function(){let \u0275_class6_BaseFactory;return function(t){return(\u0275_class6_BaseFactory||(\u0275_class6_BaseFactory=\u0275\u0275getInheritedFactory(_class6)))(t||_class6)}}(),_class6.\u0275cmp=\u0275\u0275defineComponent({type:_class6,selectors:[["mat-snack-bar-container"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(snack_bar_c0,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._label=_t.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container","mdc-snackbar--open"],hostVars:1,hostBindings:function(rf,ctx){1&rf&&\u0275\u0275syntheticHostListener("@state.done",function($event){return ctx.onAnimationEnd($event)}),2&rf&&\u0275\u0275syntheticHostProperty("@state",ctx._animationState)},features:[\u0275\u0275InheritDefinitionFeature],decls:6,vars:3,consts:[[1,"mdc-snackbar__surface"],[1,"mat-mdc-snack-bar-label"],["label",""],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0)(1,"div",1,2)(3,"div",3),\u0275\u0275template(4,_class6_ng_template_4_Template,0,0,"ng-template",4),\u0275\u0275elementEnd(),\u0275\u0275element(5,"div"),\u0275\u0275elementEnd()()),2&rf&&(\u0275\u0275advance(5),\u0275\u0275attribute("aria-live",ctx._live)("role",ctx._role)("id",ctx._liveElementId))},dependencies:[CdkPortalOutlet],styles:['.mdc-snackbar{display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{margin:8px;--mdc-snackbar-container-shape:4px;position:static}.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:100%}}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container{width:100vw}}.mat-mdc-snack-bar-container .mdc-snackbar__surface{max-width:672px}.mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background-color:var(--mdc-snackbar-container-color)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{border-radius:var(--mdc-snackbar-container-shape)}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:var(--mdc-snackbar-supporting-text-color)}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-size:var(--mdc-snackbar-supporting-text-size);font-family:var(--mdc-snackbar-supporting-text-font);font-weight:var(--mdc-snackbar-supporting-text-weight);line-height:var(--mdc-snackbar-supporting-text-line-height)}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){color:var(--mat-snack-bar-button-color);--mat-mdc-button-persistent-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{background-color:currentColor;opacity:.1}.mat-mdc-snack-bar-container .mdc-snackbar__label::before{display:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}'],encapsulation:2,data:{animation:[matSnackBarAnimations.snackBarState]}}),MatSnackBarContainer2})(),MatSnackBarModule=(()=>{var _class7;class MatSnackBarModule2{}return(_class7=MatSnackBarModule2).\u0275fac=function(t){return new(t||_class7)},_class7.\u0275mod=\u0275\u0275defineNgModule({type:_class7}),_class7.\u0275inj=\u0275\u0275defineInjector({imports:[OverlayModule,PortalModule,common_CommonModule,MatButtonModule,MatCommonModule,MatCommonModule]}),MatSnackBarModule2})();const MAT_SNACK_BAR_DEFAULT_OPTIONS=new InjectionToken("mat-snack-bar-default-options",{providedIn:"root",factory:function MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(){return new MatSnackBarConfig}});let _MatSnackBarBase=(()=>{var _class8;class _MatSnackBarBase2{get _openedSnackBarRef(){const parent=this._parentSnackBar;return parent?parent._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(value){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=value:this._snackBarRefAtThisLevel=value}constructor(_overlay,_live,_injector,_breakpointObserver,_parentSnackBar,_defaultConfig){this._overlay=_overlay,this._live=_live,this._injector=_injector,this._breakpointObserver=_breakpointObserver,this._parentSnackBar=_parentSnackBar,this._defaultConfig=_defaultConfig,this._snackBarRefAtThisLevel=null}openFromComponent(component,config2){return this._attach(component,config2)}openFromTemplate(template,config2){return this._attach(template,config2)}open(message,action="",config2){const _config={...this._defaultConfig,...config2};return _config.data={message,action},_config.announcementMessage===message&&(_config.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,_config)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(overlayRef,config2){const injector=core_Injector.create({parent:config2&&config2.viewContainerRef&&config2.viewContainerRef.injector||this._injector,providers:[{provide:MatSnackBarConfig,useValue:config2}]}),containerPortal=new ComponentPortal(this.snackBarContainerComponent,config2.viewContainerRef,injector),containerRef=overlayRef.attach(containerPortal);return containerRef.instance.snackBarConfig=config2,containerRef.instance}_attach(content,userConfig){const config2={...new MatSnackBarConfig,...this._defaultConfig,...userConfig},overlayRef=this._createOverlay(config2),container=this._attachSnackBarContainer(overlayRef,config2),snackBarRef=new MatSnackBarRef(container,overlayRef);if(content instanceof core_TemplateRef){const portal=new portal_TemplatePortal(content,null,{$implicit:config2.data,snackBarRef});snackBarRef.instance=container.attachTemplatePortal(portal)}else{const injector=this._createInjector(config2,snackBarRef),portal=new ComponentPortal(content,void 0,injector),contentRef=container.attachComponentPortal(portal);snackBarRef.instance=contentRef.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(takeUntil_takeUntil(overlayRef.detachments())).subscribe(state2=>{overlayRef.overlayElement.classList.toggle(this.handsetCssClass,state2.matches)}),config2.announcementMessage&&container._onAnnounce.subscribe(()=>{this._live.announce(config2.announcementMessage,config2.politeness)}),this._animateSnackBar(snackBarRef,config2),this._openedSnackBarRef=snackBarRef,this._openedSnackBarRef}_animateSnackBar(snackBarRef,config2){snackBarRef.afterDismissed().subscribe(()=>{this._openedSnackBarRef==snackBarRef&&(this._openedSnackBarRef=null),config2.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{snackBarRef.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):snackBarRef.containerInstance.enter(),config2.duration&&config2.duration>0&&snackBarRef.afterOpened().subscribe(()=>snackBarRef._dismissAfter(config2.duration))}_createOverlay(config2){const overlayConfig=new OverlayConfig;overlayConfig.direction=config2.direction;let positionStrategy=this._overlay.position().global();const isRtl="rtl"===config2.direction,isLeft="left"===config2.horizontalPosition||"start"===config2.horizontalPosition&&!isRtl||"end"===config2.horizontalPosition&&isRtl,isRight=!isLeft&&"center"!==config2.horizontalPosition;return isLeft?positionStrategy.left("0"):isRight?positionStrategy.right("0"):positionStrategy.centerHorizontally(),"top"===config2.verticalPosition?positionStrategy.top("0"):positionStrategy.bottom("0"),overlayConfig.positionStrategy=positionStrategy,this._overlay.create(overlayConfig)}_createInjector(config2,snackBarRef){return core_Injector.create({parent:config2&&config2.viewContainerRef&&config2.viewContainerRef.injector||this._injector,providers:[{provide:MatSnackBarRef,useValue:snackBarRef},{provide:MAT_SNACK_BAR_DATA,useValue:config2.data}]})}}return(_class8=_MatSnackBarBase2).\u0275fac=function(t){return new(t||_class8)(core_inject(Overlay),core_inject(LiveAnnouncer),core_inject(core_Injector),core_inject(BreakpointObserver),core_inject(_class8,12),core_inject(MAT_SNACK_BAR_DEFAULT_OPTIONS))},_class8.\u0275prov=core_defineInjectable({token:_class8,factory:_class8.\u0275fac}),_MatSnackBarBase2})(),MatSnackBar=(()=>{var _class9;class MatSnackBar2 extends _MatSnackBarBase{constructor(overlay,live,injector,breakpointObserver,parentSnackBar,defaultConfig2){super(overlay,live,injector,breakpointObserver,parentSnackBar,defaultConfig2),this.simpleSnackBarComponent=SimpleSnackBar,this.snackBarContainerComponent=MatSnackBarContainer,this.handsetCssClass="mat-mdc-snack-bar-handset"}}return(_class9=MatSnackBar2).\u0275fac=function(t){return new(t||_class9)(core_inject(Overlay),core_inject(LiveAnnouncer),core_inject(core_Injector),core_inject(BreakpointObserver),core_inject(_class9,12),core_inject(MAT_SNACK_BAR_DEFAULT_OPTIONS))},_class9.\u0275prov=core_defineInjectable({token:_class9,factory:_class9.\u0275fac,providedIn:MatSnackBarModule}),MatSnackBar2})();function _class3_ng_template_2_Template(rf,ctx){}const tabs_c0=function(a0){return{animationDuration:a0}},tabs_c1=function(a0,a1){return{value:a0,params:a1}};function _class9_ng_template_0_Template(rf,ctx){1&rf&&\u0275\u0275projection(0)}const tabs_c2=["*"],tabs_c3=["tabListContainer"],tabs_c4=["tabList"],tabs_c5=["tabListInner"],tabs_c6=["nextPaginator"],tabs_c7=["previousPaginator"],tabs_c8=["tabBodyWrapper"],tabs_c9=["tabHeader"];function _class14_div_2_ng_template_6_ng_template_0_Template(rf,ctx){}function _class14_div_2_ng_template_6_Template(rf,ctx){1&rf&&\u0275\u0275template(0,_class14_div_2_ng_template_6_ng_template_0_Template,0,0,"ng-template",14),2&rf&&\u0275\u0275property("cdkPortalOutlet",\u0275\u0275nextContext().$implicit.templateLabel)}function _class14_div_2_ng_template_7_Template(rf,ctx){1&rf&&\u0275\u0275text(0),2&rf&&\u0275\u0275textInterpolate(\u0275\u0275nextContext().$implicit.textLabel)}function _class14_div_2_Template(rf,ctx){if(1&rf){const _r14=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",6,7),\u0275\u0275listener("click",function(){const restoredCtx=\u0275\u0275restoreView(_r14),tab_r4=restoredCtx.$implicit,i_r5=restoredCtx.index,ctx_r13=\u0275\u0275nextContext(),_r0=\u0275\u0275reference(1);return \u0275\u0275resetView(ctx_r13._handleClick(tab_r4,_r0,i_r5))})("cdkFocusChange",function($event){const i_r5=\u0275\u0275restoreView(_r14).index;return \u0275\u0275resetView(\u0275\u0275nextContext()._tabFocusChanged($event,i_r5))}),\u0275\u0275element(2,"span",8)(3,"div",9),\u0275\u0275elementStart(4,"span",10)(5,"span",11),\u0275\u0275template(6,_class14_div_2_ng_template_6_Template,1,1,"ng-template",12),\u0275\u0275template(7,_class14_div_2_ng_template_7_Template,1,1,"ng-template",null,13,\u0275\u0275templateRefExtractor),\u0275\u0275elementEnd()()()}if(2&rf){const tab_r4=ctx.$implicit,i_r5=ctx.index,_r6=\u0275\u0275reference(1),_r8=\u0275\u0275reference(8),ctx_r1=\u0275\u0275nextContext();\u0275\u0275classProp("mdc-tab--active",ctx_r1.selectedIndex===i_r5),\u0275\u0275property("id",ctx_r1._getTabLabelId(i_r5))("ngClass",tab_r4.labelClass)("disabled",tab_r4.disabled)("fitInkBarToContent",ctx_r1.fitInkBarToContent),\u0275\u0275attribute("tabIndex",ctx_r1._getTabIndex(i_r5))("aria-posinset",i_r5+1)("aria-setsize",ctx_r1._tabs.length)("aria-controls",ctx_r1._getTabContentId(i_r5))("aria-selected",ctx_r1.selectedIndex===i_r5)("aria-label",tab_r4.ariaLabel||null)("aria-labelledby",!tab_r4.ariaLabel&&tab_r4.ariaLabelledby?tab_r4.ariaLabelledby:null),\u0275\u0275advance(3),\u0275\u0275property("matRippleTrigger",_r6)("matRippleDisabled",tab_r4.disabled||ctx_r1.disableRipple),\u0275\u0275advance(3),\u0275\u0275property("ngIf",tab_r4.templateLabel)("ngIfElse",_r8)}}function _class14_mat_tab_body_5_Template(rf,ctx){if(1&rf){const _r19=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-tab-body",15),\u0275\u0275listener("_onCentered",function(){return \u0275\u0275restoreView(_r19),\u0275\u0275resetView(\u0275\u0275nextContext()._removeTabBodyWrapperHeight())})("_onCentering",function($event){return \u0275\u0275restoreView(_r19),\u0275\u0275resetView(\u0275\u0275nextContext()._setTabBodyWrapperHeight($event))}),\u0275\u0275elementEnd()}if(2&rf){const tab_r16=ctx.$implicit,i_r17=ctx.index,ctx_r3=\u0275\u0275nextContext();\u0275\u0275classProp("mat-mdc-tab-body-active",ctx_r3.selectedIndex===i_r17),\u0275\u0275property("id",ctx_r3._getTabContentId(i_r17))("ngClass",tab_r16.bodyClass)("content",tab_r16.content)("position",tab_r16.position)("origin",tab_r16.origin)("animationDuration",ctx_r3.animationDuration)("preserveContent",ctx_r3.preserveContent),\u0275\u0275attribute("tabindex",null!=ctx_r3.contentTabIndex&&ctx_r3.selectedIndex===i_r17?ctx_r3.contentTabIndex:null)("aria-labelledby",ctx_r3._getTabLabelId(i_r17))}}const matTabsAnimations={translateTab:animations_trigger("translateTab",[state("center, void, left-origin-center, right-origin-center",animations_style({transform:"none"})),state("left",animations_style({transform:"translate3d(-100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),state("right",animations_style({transform:"translate3d(100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),animations_transition("* => left, * => right, left => center, right => center",animations_animate("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),animations_transition("void => left-origin-center",[animations_style({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"}),animations_animate("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),animations_transition("void => right-origin-center",[animations_style({transform:"translate3d(100%, 0, 0)",visibility:"hidden"}),animations_animate("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let MatTabBodyPortal=(()=>{var _class2;class MatTabBodyPortal2 extends CdkPortalOutlet{constructor(componentFactoryResolver,viewContainerRef,_host,_document2){super(componentFactoryResolver,viewContainerRef,_document2),this._host=_host,this._centeringSub=Subscription_Subscription.EMPTY,this._leavingSub=Subscription_Subscription.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(startWith_startWith(this._host._isCenterPosition(this._host._position))).subscribe(isCentering=>{isCentering&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return(_class2=MatTabBodyPortal2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(ComponentFactoryResolver$1),\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_forwardRef(()=>MatTabBody)),\u0275\u0275directiveInject(common_DOCUMENT))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matTabBodyHost",""]],features:[\u0275\u0275InheritDefinitionFeature]}),MatTabBodyPortal2})(),_MatTabBodyBase=(()=>{var _class2;class _MatTabBodyBase2{set position(position){this._positionIndex=position,this._computePositionAnimationState()}constructor(_elementRef,_dir,changeDetectorRef){this._elementRef=_elementRef,this._dir=_dir,this._dirChangeSubscription=Subscription_Subscription.EMPTY,this._translateTabComplete=new Subject_Subject,this._onCentering=new core_EventEmitter,this._beforeCentering=new core_EventEmitter,this._afterLeavingCenter=new core_EventEmitter,this._onCentered=new core_EventEmitter(!0),this.animationDuration="500ms",this.preserveContent=!1,_dir&&(this._dirChangeSubscription=_dir.change.subscribe(dir=>{this._computePositionAnimationState(dir),changeDetectorRef.markForCheck()})),this._translateTabComplete.pipe(distinctUntilChanged_distinctUntilChanged((x,y)=>x.fromState===y.fromState&&x.toState===y.toState)).subscribe(event=>{this._isCenterPosition(event.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(event.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(event){const isCentering=this._isCenterPosition(event.toState);this._beforeCentering.emit(isCentering),isCentering&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(position){return"center"==position||"left-origin-center"==position||"right-origin-center"==position}_computePositionAnimationState(dir=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==dir?"left":"right":this._positionIndex>0?"ltr"==dir?"right":"left":"center"}_computePositionFromOrigin(origin){const dir=this._getLayoutDirection();return"ltr"==dir&&origin<=0||"rtl"==dir&&origin>0?"left-origin-center":"right-origin-center"}}return(_class2=_MatTabBodyBase2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(ChangeDetectorRef))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),_MatTabBodyBase2})(),MatTabBody=(()=>{var _class3;class MatTabBody2 extends _MatTabBodyBase{constructor(elementRef,dir,changeDetectorRef){super(elementRef,dir,changeDetectorRef)}}return(_class3=MatTabBody2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(ChangeDetectorRef))},_class3.\u0275cmp=\u0275\u0275defineComponent({type:_class3,selectors:[["mat-tab-body"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(CdkPortalOutlet,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._portalHost=_t.first)}},hostAttrs:[1,"mat-mdc-tab-body"],features:[\u0275\u0275InheritDefinitionFeature],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-mdc-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0,1),\u0275\u0275listener("@translateTab.start",function($event){return ctx._onTranslateTabStarted($event)})("@translateTab.done",function($event){return ctx._translateTabComplete.next($event)}),\u0275\u0275template(2,_class3_ng_template_2_Template,0,0,"ng-template",2),\u0275\u0275elementEnd()),2&rf&&\u0275\u0275property("@translateTab",function \u0275\u0275pureFunction2(slotOffset,pureFn,exp1,exp2,thisArg){return pureFunction2Internal(getLView(),getBindingRoot(),slotOffset,pureFn,exp1,exp2,thisArg)}(3,tabs_c1,ctx._position,\u0275\u0275pureFunction1(1,tabs_c0,ctx.animationDuration)))},dependencies:[MatTabBodyPortal],styles:['.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-mdc-tab-body-content[style*="visibility: hidden"]{display:none}'],encapsulation:2,data:{animation:[matTabsAnimations.translateTab]}}),MatTabBody2})();const MAT_TAB_CONTENT=new InjectionToken("MatTabContent");let MatTabContent=(()=>{var _class4;class MatTabContent2{constructor(template){this.template=template}}return(_class4=MatTabContent2).\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(core_TemplateRef))},_class4.\u0275dir=\u0275\u0275defineDirective({type:_class4,selectors:[["","matTabContent",""]],features:[\u0275\u0275ProvidersFeature([{provide:MAT_TAB_CONTENT,useExisting:_class4}])]}),MatTabContent2})();const MAT_TAB_LABEL=new InjectionToken("MatTabLabel"),MAT_TAB=new InjectionToken("MAT_TAB");let MatTabLabel=(()=>{var _class5;class MatTabLabel2 extends CdkPortal{constructor(templateRef,viewContainerRef,_closestTab){super(templateRef,viewContainerRef),this._closestTab=_closestTab}}return(_class5=MatTabLabel2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(core_TemplateRef),\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(MAT_TAB,8))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[\u0275\u0275ProvidersFeature([{provide:MAT_TAB_LABEL,useExisting:_class5}]),\u0275\u0275InheritDefinitionFeature]}),MatTabLabel2})();const ACTIVE_CLASS="mdc-tab-indicator--active";class MatInkBar{constructor(_items){this._items=_items}hide(){this._items.forEach(item=>item.deactivateInkBar())}alignToElement(element){const correspondingItem=this._items.find(item=>item.elementRef.nativeElement===element),currentItem=this._currentItem;if(correspondingItem!==currentItem&&(currentItem?.deactivateInkBar(),correspondingItem)){const clientRect=currentItem?.elementRef.nativeElement.getBoundingClientRect?.();correspondingItem.activateInkBar(clientRect),this._currentItem=correspondingItem}}}function mixinInkBarItem(base){return class extends base{constructor(...args){super(...args),this._fitToContent=!1}get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(v){const newValue=coercion_coerceBooleanProperty(v);this._fitToContent!==newValue&&(this._fitToContent=newValue,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(previousIndicatorClientRect){const element=this.elementRef.nativeElement;if(!previousIndicatorClientRect||!element.getBoundingClientRect||!this._inkBarContentElement)return void element.classList.add(ACTIVE_CLASS);const currentClientRect=element.getBoundingClientRect(),widthDelta=previousIndicatorClientRect.width/currentClientRect.width,xPosition=previousIndicatorClientRect.left-currentClientRect.left;element.classList.add("mdc-tab-indicator--no-transition"),this._inkBarContentElement.style.setProperty("transform",`translateX(${xPosition}px) scaleX(${widthDelta})`),element.getBoundingClientRect(),element.classList.remove("mdc-tab-indicator--no-transition"),element.classList.add(ACTIVE_CLASS),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this.elementRef.nativeElement.classList.remove(ACTIVE_CLASS)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){const documentNode=this.elementRef.nativeElement.ownerDocument||document;this._inkBarElement=documentNode.createElement("span"),this._inkBarContentElement=documentNode.createElement("span"),this._inkBarElement.className="mdc-tab-indicator",this._inkBarContentElement.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",this._inkBarElement.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){(this._fitToContent?this.elementRef.nativeElement.querySelector(".mdc-tab__content"):this.elementRef.nativeElement).appendChild(this._inkBarElement)}}}const _MatTabLabelWrapperMixinBase=core_mixinDisabled(class{}),_MatTabLabelWrapperBaseWithInkBarItem=mixinInkBarItem((()=>{var _class6;class _MatTabLabelWrapperBase2 extends _MatTabLabelWrapperMixinBase{constructor(elementRef){super(),this.elementRef=elementRef}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return(_class6=_MatTabLabelWrapperBase2).\u0275fac=function(t){return new(t||_class6)(\u0275\u0275directiveInject(core_ElementRef))},_class6.\u0275dir=\u0275\u0275defineDirective({type:_class6,features:[\u0275\u0275InheritDefinitionFeature]}),_MatTabLabelWrapperBase2})());let MatTabLabelWrapper=(()=>{var _class7;class MatTabLabelWrapper2 extends _MatTabLabelWrapperBaseWithInkBarItem{}return(_class7=MatTabLabelWrapper2).\u0275fac=function(){let \u0275_class7_BaseFactory;return function(t){return(\u0275_class7_BaseFactory||(\u0275_class7_BaseFactory=\u0275\u0275getInheritedFactory(_class7)))(t||_class7)}}(),_class7.\u0275dir=\u0275\u0275defineDirective({type:_class7,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275attribute("aria-disabled",!!ctx.disabled),\u0275\u0275classProp("mat-mdc-tab-disabled",ctx.disabled))},inputs:{disabled:"disabled",fitInkBarToContent:"fitInkBarToContent"},features:[\u0275\u0275InheritDefinitionFeature]}),MatTabLabelWrapper2})();const _MatTabMixinBase=core_mixinDisabled(class{}),MAT_TAB_GROUP=new InjectionToken("MAT_TAB_GROUP");let _MatTabBase=(()=>{var _class8;class _MatTabBase2 extends _MatTabMixinBase{get content(){return this._contentPortal}constructor(_viewContainerRef,_closestTabGroup){super(),this._viewContainerRef=_viewContainerRef,this._closestTabGroup=_closestTabGroup,this.textLabel="",this._contentPortal=null,this._stateChanges=new Subject_Subject,this.position=null,this.origin=null,this.isActive=!1}ngOnChanges(changes){(changes.hasOwnProperty("textLabel")||changes.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new portal_TemplatePortal(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(value){value&&value._closestTab===this&&(this._templateLabel=value)}}return(_class8=_MatTabBase2).\u0275fac=function(t){return new(t||_class8)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(MAT_TAB_GROUP,8))},_class8.\u0275dir=\u0275\u0275defineDirective({type:_class8,viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(core_TemplateRef,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._implicitContent=_t.first)}},inputs:{textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},features:[\u0275\u0275InheritDefinitionFeature,\u0275\u0275NgOnChangesFeature]}),_MatTabBase2})(),MatTab=(()=>{var _class9;class MatTab2 extends _MatTabBase{constructor(){super(...arguments),this._explicitContent=void 0}get templateLabel(){return this._templateLabel}set templateLabel(value){this._setTemplateLabelInput(value)}}return(_class9=MatTab2).\u0275fac=function(){let \u0275_class9_BaseFactory;return function(t){return(\u0275_class9_BaseFactory||(\u0275_class9_BaseFactory=\u0275\u0275getInheritedFactory(_class9)))(t||_class9)}}(),_class9.\u0275cmp=\u0275\u0275defineComponent({type:_class9,selectors:[["mat-tab"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&(\u0275\u0275contentQuery(dirIndex,MatTabContent,7,core_TemplateRef),\u0275\u0275contentQuery(dirIndex,MatTabLabel,5)),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._explicitContent=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.templateLabel=_t.first)}},inputs:{disabled:"disabled"},exportAs:["matTab"],features:[\u0275\u0275ProvidersFeature([{provide:MAT_TAB,useExisting:_class9}]),\u0275\u0275InheritDefinitionFeature],ngContentSelectors:tabs_c2,decls:1,vars:0,template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275template(0,_class9_ng_template_0_Template,1,0,"ng-template"))},encapsulation:2}),MatTab2})();const passiveEventListenerOptions=normalizePassiveListenerOptions({passive:!0});let MatPaginatedTabHeader=(()=>{var _class10;class MatPaginatedTabHeader2{get disablePagination(){return this._disablePagination}set disablePagination(value){this._disablePagination=coercion_coerceBooleanProperty(value)}get selectedIndex(){return this._selectedIndex}set selectedIndex(value){value=coercion_coerceNumberProperty(value),this._selectedIndex!=value&&(this._selectedIndexChanged=!0,this._selectedIndex=value,this._keyManager&&this._keyManager.updateActiveItem(value))}constructor(_elementRef,_changeDetectorRef,_viewportRuler,_dir,_ngZone,_platform,_animationMode){this._elementRef=_elementRef,this._changeDetectorRef=_changeDetectorRef,this._viewportRuler=_viewportRuler,this._dir=_dir,this._ngZone=_ngZone,this._platform=_platform,this._animationMode=_animationMode,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new Subject_Subject,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new Subject_Subject,this._disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new core_EventEmitter,this.indexFocused=new core_EventEmitter,_ngZone.runOutsideAngular(()=>{fromEvent_fromEvent(_elementRef.nativeElement,"mouseleave").pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._stopInterval()})})}ngAfterViewInit(){fromEvent_fromEvent(this._previousPaginator.nativeElement,"touchstart",passiveEventListenerOptions).pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),fromEvent_fromEvent(this._nextPaginator.nativeElement,"touchstart",passiveEventListenerOptions).pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const dirChange=this._dir?this._dir.change:of_of("ltr"),resize=this._viewportRuler.change(150),realign=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new FocusKeyManager(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe(take_take(1)).subscribe(realign),merge_merge(dirChange,resize,this._items.changes,this._itemsResized()).pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),realign()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(newFocusIndex=>{this.indexFocused.emit(newFocusIndex),this._setTabFocus(newFocusIndex)})}_itemsResized(){return"function"!=typeof ResizeObserver?EMPTY:this._items.changes.pipe(startWith_startWith(this._items),switchMap_switchMap(tabItems=>new Observable_Observable(observer=>this._ngZone.runOutsideAngular(()=>{const resizeObserver=new ResizeObserver(entries=>observer.next(entries));return tabItems.forEach(item=>resizeObserver.observe(item.elementRef.nativeElement)),()=>{resizeObserver.disconnect()}}))),skip(1),filter_filter(entries=>entries.some(e2=>e2.contentRect.width>0&&e2.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(event){if(!keycodes_hasModifierKey(event))switch(event.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){const item=this._items.get(this.focusIndex);item&&!item.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(event))}break;default:this._keyManager.onKeydown(event)}}_onContentChanges(){const textContent=this._elementRef.nativeElement.textContent;textContent!==this._currentTextContent&&(this._currentTextContent=textContent||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(value){!this._isValidIndex(value)||this.focusIndex===value||!this._keyManager||this._keyManager.setActiveItem(value)}_isValidIndex(index){return!this._items||!!this._items.toArray()[index]}_setTabFocus(tabIndex){if(this._showPaginationControls&&this._scrollToLabel(tabIndex),this._items&&this._items.length){this._items.toArray()[tabIndex].focus();const containerEl=this._tabListContainer.nativeElement;containerEl.scrollLeft="ltr"==this._getLayoutDirection()?0:containerEl.scrollWidth-containerEl.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const scrollDistance=this.scrollDistance,translateX="ltr"===this._getLayoutDirection()?-scrollDistance:scrollDistance;this._tabList.nativeElement.style.transform=`translateX(${Math.round(translateX)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(value){this._scrollTo(value)}_scrollHeader(direction){return this._scrollTo(this._scrollDistance+("before"==direction?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(direction){this._stopInterval(),this._scrollHeader(direction)}_scrollToLabel(labelIndex){if(this.disablePagination)return;const selectedLabel=this._items?this._items.toArray()[labelIndex]:null;if(!selectedLabel)return;const viewLength=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft,offsetWidth}=selectedLabel.elementRef.nativeElement;let labelBeforePos,labelAfterPos;"ltr"==this._getLayoutDirection()?(labelBeforePos=offsetLeft,labelAfterPos=labelBeforePos+offsetWidth):(labelAfterPos=this._tabListInner.nativeElement.offsetWidth-offsetLeft,labelBeforePos=labelAfterPos-offsetWidth);const beforeVisiblePos=this.scrollDistance,afterVisiblePos=this.scrollDistance+viewLength;labelBeforePosafterVisiblePos&&(this.scrollDistance+=Math.min(labelAfterPos-afterVisiblePos,labelBeforePos-beforeVisiblePos))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const isEnabled=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;isEnabled||(this.scrollDistance=0),isEnabled!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=isEnabled}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const selectedItem=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,selectedLabelWrapper=selectedItem?selectedItem.elementRef.nativeElement:null;selectedLabelWrapper?this._inkBar.alignToElement(selectedLabelWrapper):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(direction,mouseEvent){mouseEvent&&null!=mouseEvent.button&&0!==mouseEvent.button||(this._stopInterval(),timer_timer(650,100).pipe(takeUntil_takeUntil(merge_merge(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance,distance}=this._scrollHeader(direction);(0===distance||distance>=maxScrollDistance)&&this._stopInterval()}))}_scrollTo(position){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const maxScrollDistance=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(maxScrollDistance,position)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance,distance:this._scrollDistance}}}return(_class10=MatPaginatedTabHeader2).\u0275fac=function(t){return new(t||_class10)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(ViewportRuler),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class10.\u0275dir=\u0275\u0275defineDirective({type:_class10,inputs:{disablePagination:"disablePagination"}}),MatPaginatedTabHeader2})(),_MatTabHeaderBase=(()=>{var _class112;class _MatTabHeaderBase2 extends MatPaginatedTabHeader{get disableRipple(){return this._disableRipple}set disableRipple(value){this._disableRipple=coercion_coerceBooleanProperty(value)}constructor(elementRef,changeDetectorRef,viewportRuler,dir,ngZone,platform,animationMode){super(elementRef,changeDetectorRef,viewportRuler,dir,ngZone,platform,animationMode),this._disableRipple=!1}_itemSelected(event){event.preventDefault()}}return(_class112=_MatTabHeaderBase2).\u0275fac=function(t){return new(t||_class112)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(ViewportRuler),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class112.\u0275dir=\u0275\u0275defineDirective({type:_class112,inputs:{disableRipple:"disableRipple"},features:[\u0275\u0275InheritDefinitionFeature]}),_MatTabHeaderBase2})(),MatTabHeader=(()=>{var _class12;class MatTabHeader2 extends _MatTabHeaderBase{constructor(elementRef,changeDetectorRef,viewportRuler,dir,ngZone,platform,animationMode){super(elementRef,changeDetectorRef,viewportRuler,dir,ngZone,platform,animationMode)}ngAfterContentInit(){this._inkBar=new MatInkBar(this._items),super.ngAfterContentInit()}}return(_class12=MatTabHeader2).\u0275fac=function(t){return new(t||_class12)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(ViewportRuler),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class12.\u0275cmp=\u0275\u0275defineComponent({type:_class12,selectors:[["mat-tab-header"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&\u0275\u0275contentQuery(dirIndex,MatTabLabelWrapper,4),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._items=_t)}},viewQuery:function(rf,ctx){if(1&rf&&(\u0275\u0275viewQuery(tabs_c3,7),\u0275\u0275viewQuery(tabs_c4,7),\u0275\u0275viewQuery(tabs_c5,7),\u0275\u0275viewQuery(tabs_c6,5),\u0275\u0275viewQuery(tabs_c7,5)),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabListContainer=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabList=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabListInner=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._nextPaginator=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._previousPaginator=_t.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275classProp("mat-mdc-tab-header-pagination-controls-enabled",ctx._showPaginationControls)("mat-mdc-tab-header-rtl","rtl"==ctx._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[\u0275\u0275InheritDefinitionFeature],ngContentSelectors:tabs_c2,decls:13,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-mdc-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275elementStart(0,"button",0,1),\u0275\u0275listener("click",function(){return ctx._handlePaginatorClick("before")})("mousedown",function($event){return ctx._handlePaginatorPress("before",$event)})("touchend",function(){return ctx._stopInterval()}),\u0275\u0275element(2,"div",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"div",3,4),\u0275\u0275listener("keydown",function($event){return ctx._handleKeydown($event)}),\u0275\u0275elementStart(5,"div",5,6),\u0275\u0275listener("cdkObserveContent",function(){return ctx._onContentChanges()}),\u0275\u0275elementStart(7,"div",7,8),\u0275\u0275projection(9),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(10,"button",9,10),\u0275\u0275listener("mousedown",function($event){return ctx._handlePaginatorPress("after",$event)})("click",function(){return ctx._handlePaginatorClick("after")})("touchend",function(){return ctx._stopInterval()}),\u0275\u0275element(12,"div",2),\u0275\u0275elementEnd()),2&rf&&(\u0275\u0275classProp("mat-mdc-tab-header-pagination-disabled",ctx._disableScrollBefore),\u0275\u0275property("matRippleDisabled",ctx._disableScrollBefore||ctx.disableRipple)("disabled",ctx._disableScrollBefore||null),\u0275\u0275advance(3),\u0275\u0275classProp("_mat-animation-noopable","NoopAnimations"===ctx._animationMode),\u0275\u0275advance(7),\u0275\u0275classProp("mat-mdc-tab-header-pagination-disabled",ctx._disableScrollAfter),\u0275\u0275property("matRippleDisabled",ctx._disableScrollAfter||ctx.disableRipple)("disabled",ctx._disableScrollAfter||null))},dependencies:[MatRipple,CdkObserveContent],styles:[".mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0;--mdc-tab-indicator-active-indicator-height:2px;--mdc-tab-indicator-active-indicator-shape:0;--mdc-secondary-navigation-tab-container-height:48px}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color)}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}._mat-animation-noopable span.mdc-tab-indicator__content,._mat-animation-noopable span.mdc-tab__text-label{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.mat-mdc-tab::before{margin:5px}.cdk-high-contrast-active .mat-mdc-tab[aria-disabled=true]{color:GrayText}"],encapsulation:2}),MatTabHeader2})();const MAT_TABS_CONFIG=new InjectionToken("MAT_TABS_CONFIG");let tabs_nextId=0;const _MatTabGroupMixinBase=mixinColor(core_mixinDisableRipple(class{constructor(_elementRef){this._elementRef=_elementRef}}),"primary");let _MatTabGroupBase=(()=>{var _class13;class _MatTabGroupBase2 extends _MatTabGroupMixinBase{get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(value){this._dynamicHeight=coercion_coerceBooleanProperty(value)}get selectedIndex(){return this._selectedIndex}set selectedIndex(value){this._indexToSelect=coercion_coerceNumberProperty(value,null)}get animationDuration(){return this._animationDuration}set animationDuration(value){this._animationDuration=/^\d+$/.test(value+"")?value+"ms":value}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(value){this._contentTabIndex=coercion_coerceNumberProperty(value,null)}get disablePagination(){return this._disablePagination}set disablePagination(value){this._disablePagination=coercion_coerceBooleanProperty(value)}get preserveContent(){return this._preserveContent}set preserveContent(value){this._preserveContent=coercion_coerceBooleanProperty(value)}get backgroundColor(){return this._backgroundColor}set backgroundColor(value){const classList=this._elementRef.nativeElement.classList;classList.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),value&&classList.add("mat-tabs-with-background",`mat-background-${value}`),this._backgroundColor=value}constructor(elementRef,_changeDetectorRef,defaultConfig2,_animationMode){super(elementRef),this._changeDetectorRef=_changeDetectorRef,this._animationMode=_animationMode,this._tabs=new QueryList,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=Subscription_Subscription.EMPTY,this._tabLabelSubscription=Subscription_Subscription.EMPTY,this._dynamicHeight=!1,this._selectedIndex=null,this.headerPosition="above",this._disablePagination=!1,this._preserveContent=!1,this.selectedIndexChange=new core_EventEmitter,this.focusChange=new core_EventEmitter,this.animationDone=new core_EventEmitter,this.selectedTabChange=new core_EventEmitter(!0),this._groupId=tabs_nextId++,this.animationDuration=defaultConfig2&&defaultConfig2.animationDuration?defaultConfig2.animationDuration:"500ms",this.disablePagination=!(!defaultConfig2||null==defaultConfig2.disablePagination)&&defaultConfig2.disablePagination,this.dynamicHeight=!(!defaultConfig2||null==defaultConfig2.dynamicHeight)&&defaultConfig2.dynamicHeight,this.contentTabIndex=defaultConfig2?.contentTabIndex??null,this.preserveContent=!!defaultConfig2?.preserveContent}ngAfterContentChecked(){const indexToSelect=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=indexToSelect){const isFirstRun=null==this._selectedIndex;if(!isFirstRun){this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));const wrapper=this._tabBodyWrapper.nativeElement;wrapper.style.minHeight=wrapper.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((tab,index)=>tab.isActive=index===indexToSelect),isFirstRun||(this.selectedIndexChange.emit(indexToSelect),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((tab,index)=>{tab.position=index-indexToSelect,null!=this._selectedIndex&&0==tab.position&&!tab.origin&&(tab.origin=indexToSelect-this._selectedIndex)}),this._selectedIndex!==indexToSelect&&(this._selectedIndex=indexToSelect,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const indexToSelect=this._clampTabIndex(this._indexToSelect);if(indexToSelect===this._selectedIndex){const tabs=this._tabs.toArray();let selectedTab;for(let i6=0;i6{tabs[indexToSelect].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(indexToSelect))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(startWith_startWith(this._allTabs)).subscribe(tabs=>{this._tabs.reset(tabs.filter(tab=>tab._closestTabGroup===this||!tab._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(index){const header=this._tabHeader;header&&(header.focusIndex=index)}_focusChanged(index){this._lastFocusedTabIndex=index,this.focusChange.emit(this._createChangeEvent(index))}_createChangeEvent(index){const event=new MatTabChangeEvent;return event.index=index,this._tabs&&this._tabs.length&&(event.tab=this._tabs.toArray()[index]),event}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=merge_merge(...this._tabs.map(tab=>tab._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(index){return Math.min(this._tabs.length-1,Math.max(index||0,0))}_getTabLabelId(i6){return`mat-tab-label-${this._groupId}-${i6}`}_getTabContentId(i6){return`mat-tab-content-${this._groupId}-${i6}`}_setTabBodyWrapperHeight(tabHeight){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const wrapper=this._tabBodyWrapper.nativeElement;wrapper.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(wrapper.style.height=tabHeight+"px")}_removeTabBodyWrapperHeight(){const wrapper=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=wrapper.clientHeight,wrapper.style.height="",this.animationDone.emit()}_handleClick(tab,tabHeader,index){tabHeader.focusIndex=index,tab.disabled||(this.selectedIndex=index)}_getTabIndex(index){return index===(this._lastFocusedTabIndex??this.selectedIndex)?0:-1}_tabFocusChanged(focusOrigin,index){focusOrigin&&"mouse"!==focusOrigin&&"touch"!==focusOrigin&&(this._tabHeader.focusIndex=index)}}return(_class13=_MatTabGroupBase2).\u0275fac=function(t){return new(t||_class13)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(MAT_TABS_CONFIG,8),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class13.\u0275dir=\u0275\u0275defineDirective({type:_class13,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",preserveContent:"preserveContent",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[\u0275\u0275InheritDefinitionFeature]}),_MatTabGroupBase2})(),MatTabGroup=(()=>{var _class14;class MatTabGroup2 extends _MatTabGroupBase{get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(v){this._fitInkBarToContent=coercion_coerceBooleanProperty(v),this._changeDetectorRef.markForCheck()}get stretchTabs(){return this._stretchTabs}set stretchTabs(v){this._stretchTabs=coercion_coerceBooleanProperty(v)}constructor(elementRef,changeDetectorRef,defaultConfig2,animationMode){super(elementRef,changeDetectorRef,defaultConfig2,animationMode),this._fitInkBarToContent=!1,this._stretchTabs=!0,this.fitInkBarToContent=!(!defaultConfig2||null==defaultConfig2.fitInkBarToContent)&&defaultConfig2.fitInkBarToContent,this.stretchTabs=!defaultConfig2||null==defaultConfig2.stretchTabs||defaultConfig2.stretchTabs}}return(_class14=MatTabGroup2).\u0275fac=function(t){return new(t||_class14)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(MAT_TABS_CONFIG,8),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class14.\u0275cmp=\u0275\u0275defineComponent({type:_class14,selectors:[["mat-tab-group"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&\u0275\u0275contentQuery(dirIndex,MatTab,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._allTabs=_t)}},viewQuery:function(rf,ctx){if(1&rf&&(\u0275\u0275viewQuery(tabs_c8,5),\u0275\u0275viewQuery(tabs_c9,5)),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabBodyWrapper=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tabHeader=_t.first)}},hostAttrs:["ngSkipHydration","",1,"mat-mdc-tab-group"],hostVars:8,hostBindings:function(rf,ctx){2&rf&&(\u0275\u0275styleProp("--mat-tab-animation-duration",ctx.animationDuration),\u0275\u0275classProp("mat-mdc-tab-group-dynamic-height",ctx.dynamicHeight)("mat-mdc-tab-group-inverted-header","below"===ctx.headerPosition)("mat-mdc-tab-group-stretch-tabs",ctx.stretchTabs))},inputs:{color:"color",disableRipple:"disableRipple",fitInkBarToContent:"fitInkBarToContent",stretchTabs:["mat-stretch-tabs","stretchTabs"]},exportAs:["matTabGroup"],features:[\u0275\u0275ProvidersFeature([{provide:MAT_TAB_GROUP,useExisting:_class14}]),\u0275\u0275InheritDefinitionFeature],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mdc-tab mat-mdc-tab mat-mdc-focus-indicator","role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",3,"id","mdc-tab--active","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-mdc-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-mdc-tab-body-active","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-mdc-focus-indicator",3,"id","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange"],["tabNode",""],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"mat-tab-header",0,1),\u0275\u0275listener("indexFocused",function($event){return ctx._focusChanged($event)})("selectFocusedIndex",function($event){return ctx.selectedIndex=$event}),\u0275\u0275template(2,_class14_div_2_Template,9,17,"div",2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"div",3,4),\u0275\u0275template(5,_class14_mat_tab_body_5_Template,1,11,"mat-tab-body",5),\u0275\u0275elementEnd()),2&rf&&(\u0275\u0275property("selectedIndex",ctx.selectedIndex||0)("disableRipple",ctx.disableRipple)("disablePagination",ctx.disablePagination),\u0275\u0275advance(2),\u0275\u0275property("ngForOf",ctx._tabs),\u0275\u0275advance(1),\u0275\u0275classProp("_mat-animation-noopable","NoopAnimations"===ctx._animationMode),\u0275\u0275advance(2),\u0275\u0275property("ngForOf",ctx._tabs))},dependencies:[NgClass,NgForOf,NgIf,CdkPortalOutlet,MatRipple,CdkMonitorFocus,MatTabBody,MatTabLabelWrapper,MatTabHeader],styles:['.mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;font-family:var(--mat-tab-header-label-text-font);font-size:var(--mat-tab-header-label-text-size);letter-spacing:var(--mat-tab-header-label-text-tracking);line-height:var(--mat-tab-header-label-text-line-height);font-weight:var(--mat-tab-header-label-text-weight)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-top-width:var(--mdc-tab-indicator-active-indicator-height)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-radius:var(--mdc-tab-indicator-active-indicator-shape)}.mat-mdc-tab:not(.mdc-tab--stacked){height:var(--mdc-secondary-navigation-tab-container-height)}.mat-mdc-tab:not(:disabled).mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color)}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color)}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color);display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}'],encapsulation:2}),MatTabGroup2})();class MatTabChangeEvent{}let MatTabsModule=(()=>{var _class20;class MatTabsModule2{}return(_class20=MatTabsModule2).\u0275fac=function(t){return new(t||_class20)},_class20.\u0275mod=\u0275\u0275defineNgModule({type:_class20}),_class20.\u0275inj=\u0275\u0275defineInjector({imports:[common_CommonModule,MatCommonModule,PortalModule,MatRippleModule,ObserversModule,A11yModule,MatCommonModule]}),MatTabsModule2})();const tooltip_c0=["tooltip"],MAT_TOOLTIP_SCROLL_STRATEGY=new InjectionToken("mat-tooltip-scroll-strategy"),MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER={provide:MAT_TOOLTIP_SCROLL_STRATEGY,deps:[Overlay],useFactory:function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay){return()=>overlay.scrollStrategies.reposition({scrollThrottle:20})}},MAT_TOOLTIP_DEFAULT_OPTIONS=new InjectionToken("mat-tooltip-default-options",{providedIn:"root",factory:function MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),passiveListenerOptions=normalizePassiveListenerOptions({passive:!0});let _MatTooltipBase=(()=>{var _class2;class _MatTooltipBase2{get position(){return this._position}set position(value){value!==this._position&&(this._position=value,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(value){this._positionAtOrigin=coercion_coerceBooleanProperty(value),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(value){this._showDelay=coercion_coerceNumberProperty(value)}get hideDelay(){return this._hideDelay}set hideDelay(value){this._hideDelay=coercion_coerceNumberProperty(value),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(value){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=value?String(value).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(value){this._tooltipClass=value,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(_overlay,_elementRef,_scrollDispatcher,_viewContainerRef,_ngZone,_platform,_ariaDescriber,_focusMonitor,scrollStrategy,_dir,_defaultOptions,_document2){this._overlay=_overlay,this._elementRef=_elementRef,this._scrollDispatcher=_scrollDispatcher,this._viewContainerRef=_viewContainerRef,this._ngZone=_ngZone,this._platform=_platform,this._ariaDescriber=_ariaDescriber,this._focusMonitor=_focusMonitor,this._dir=_dir,this._defaultOptions=_defaultOptions,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new Subject_Subject,this._scrollStrategy=scrollStrategy,this._document=_document2,_defaultOptions&&(this._showDelay=_defaultOptions.showDelay,this._hideDelay=_defaultOptions.hideDelay,_defaultOptions.position&&(this.position=_defaultOptions.position),_defaultOptions.positionAtOrigin&&(this.positionAtOrigin=_defaultOptions.positionAtOrigin),_defaultOptions.touchGestures&&(this.touchGestures=_defaultOptions.touchGestures)),_dir.change.pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(takeUntil_takeUntil(this._destroyed)).subscribe(origin=>{origin?"keyboard"===origin&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const nativeElement=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([event,listener])=>{nativeElement.removeEventListener(event,listener,passiveListenerOptions)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(nativeElement,this.message,"tooltip"),this._focusMonitor.stopMonitoring(nativeElement)}show(delay=this.showDelay,origin){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const overlayRef=this._createOverlay(origin);this._detach(),this._portal=this._portal||new ComponentPortal(this._tooltipComponent,this._viewContainerRef);const instance=this._tooltipInstance=overlayRef.attach(this._portal).instance;instance._triggerElement=this._elementRef.nativeElement,instance._mouseLeaveHideDelay=this._hideDelay,instance.afterHidden().pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),instance.show(delay)}hide(delay=this.hideDelay){const instance=this._tooltipInstance;instance&&(instance.isVisible()?instance.hide(delay):(instance._cancelPendingAnimations(),this._detach()))}toggle(origin){this._isTooltipVisible()?this.hide():this.show(void 0,origin)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(origin){if(this._overlayRef){const existingStrategy=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!origin)&&existingStrategy._origin instanceof core_ElementRef)return this._overlayRef;this._detach()}const scrollableAncestors=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),strategy=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin&&origin||this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(scrollableAncestors);return strategy.positionChanges.pipe(takeUntil_takeUntil(this._destroyed)).subscribe(change=>{this._updateCurrentPositionClass(change.connectionPair),this._tooltipInstance&&change.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:strategy,panelClass:`${this._cssClassPrefix}-tooltip-panel`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(takeUntil_takeUntil(this._destroyed)).subscribe(event=>{this._isTooltipVisible()&&27===event.keyCode&&!keycodes_hasModifierKey(event)&&(event.preventDefault(),event.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(overlayRef){const position=overlayRef.getConfig().positionStrategy,origin=this._getOrigin(),overlay=this._getOverlayPosition();position.withPositions([this._addOffset({...origin.main,...overlay.main}),this._addOffset({...origin.fallback,...overlay.fallback})])}_addOffset(position){return position}_getOrigin(){const isLtr=!this._dir||"ltr"==this._dir.value,position=this.position;let originPosition;"above"==position||"below"==position?originPosition={originX:"center",originY:"above"==position?"top":"bottom"}:"before"==position||"left"==position&&isLtr||"right"==position&&!isLtr?originPosition={originX:"start",originY:"center"}:("after"==position||"right"==position&&isLtr||"left"==position&&!isLtr)&&(originPosition={originX:"end",originY:"center"});const{x,y}=this._invertPosition(originPosition.originX,originPosition.originY);return{main:originPosition,fallback:{originX:x,originY:y}}}_getOverlayPosition(){const isLtr=!this._dir||"ltr"==this._dir.value,position=this.position;let overlayPosition;"above"==position?overlayPosition={overlayX:"center",overlayY:"bottom"}:"below"==position?overlayPosition={overlayX:"center",overlayY:"top"}:"before"==position||"left"==position&&isLtr||"right"==position&&!isLtr?overlayPosition={overlayX:"end",overlayY:"center"}:("after"==position||"right"==position&&isLtr||"left"==position&&!isLtr)&&(overlayPosition={overlayX:"start",overlayY:"center"});const{x,y}=this._invertPosition(overlayPosition.overlayX,overlayPosition.overlayY);return{main:overlayPosition,fallback:{overlayX:x,overlayY:y}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(take_take(1),takeUntil_takeUntil(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(tooltipClass){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=tooltipClass,this._tooltipInstance._markForCheck())}_invertPosition(x,y){return"above"===this.position||"below"===this.position?"top"===y?y="bottom":"bottom"===y&&(y="top"):"end"===x?x="start":"start"===x&&(x="end"),{x,y}}_updateCurrentPositionClass(connectionPair){const{overlayY,originX,originY}=connectionPair;let newPosition;if(newPosition="center"===overlayY?this._dir&&"rtl"===this._dir.value?"end"===originX?"left":"right":"start"===originX?"left":"right":"bottom"===overlayY&&"top"===originY?"above":"below",newPosition!==this._currentPosition){const overlayRef=this._overlayRef;if(overlayRef){const classPrefix=`${this._cssClassPrefix}-tooltip-panel-`;overlayRef.removePanelClass(classPrefix+this._currentPosition),overlayRef.addPanelClass(classPrefix+newPosition)}this._currentPosition=newPosition}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",event=>{let point;this._setupPointerExitEventsIfNeeded(),void 0!==event.x&&void 0!==event.y&&(point=event),this.show(void 0,point)}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",event=>{const touch=event.targetTouches?.[0],origin=touch?{x:touch.clientX,y:touch.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(void 0,origin),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const exitListeners=[];if(this._platformSupportsMouseEvents())exitListeners.push(["mouseleave",event=>{const newTarget=event.relatedTarget;(!newTarget||!this._overlayRef?.overlayElement.contains(newTarget))&&this.hide()}],["wheel",event=>this._wheelListener(event)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const touchendListener=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};exitListeners.push(["touchend",touchendListener],["touchcancel",touchendListener])}this._addListeners(exitListeners),this._passiveListeners.push(...exitListeners)}_addListeners(listeners){listeners.forEach(([event,listener])=>{this._elementRef.nativeElement.addEventListener(event,listener,passiveListenerOptions)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(event){if(this._isTooltipVisible()){const elementUnderPointer=this._document.elementFromPoint(event.clientX,event.clientY),element=this._elementRef.nativeElement;elementUnderPointer!==element&&!element.contains(elementUnderPointer)&&this.hide()}}_disableNativeGesturesIfNecessary(){const gestures=this.touchGestures;if("off"!==gestures){const element=this._elementRef.nativeElement,style2=element.style;("on"===gestures||"INPUT"!==element.nodeName&&"TEXTAREA"!==element.nodeName)&&(style2.userSelect=style2.msUserSelect=style2.webkitUserSelect=style2.MozUserSelect="none"),("on"===gestures||!element.draggable)&&(style2.webkitUserDrag="none"),style2.touchAction="none",style2.webkitTapHighlightColor="transparent"}}}return(_class2=_MatTooltipBase2).\u0275fac=function(t){\u0275\u0275invalidFactory()},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,inputs:{position:["matTooltipPosition","position"],positionAtOrigin:["matTooltipPositionAtOrigin","positionAtOrigin"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),_MatTooltipBase2})(),MatTooltip=(()=>{var _class2;class MatTooltip2 extends _MatTooltipBase{constructor(overlay,elementRef,scrollDispatcher,viewContainerRef,ngZone,platform,ariaDescriber,focusMonitor,scrollStrategy,dir,defaultOptions,_document2){super(overlay,elementRef,scrollDispatcher,viewContainerRef,ngZone,platform,ariaDescriber,focusMonitor,scrollStrategy,dir,defaultOptions,_document2),this._tooltipComponent=TooltipComponent,this._cssClassPrefix="mat-mdc",this._viewportMargin=8}_addOffset(position){const isLtr=!this._dir||"ltr"==this._dir.value;return"top"===position.originY?position.offsetY=-8:"bottom"===position.originY?position.offsetY=8:"start"===position.originX?position.offsetX=isLtr?-8:8:"end"===position.originX&&(position.offsetX=isLtr?8:-8),position}}return(_class2=MatTooltip2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(Overlay),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ScrollDispatcher),\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(platform_Platform),\u0275\u0275directiveInject(AriaDescriber),\u0275\u0275directiveInject(FocusMonitor),\u0275\u0275directiveInject(MAT_TOOLTIP_SCROLL_STRATEGY),\u0275\u0275directiveInject(Directionality,8),\u0275\u0275directiveInject(MAT_TOOLTIP_DEFAULT_OPTIONS,8),\u0275\u0275directiveInject(common_DOCUMENT))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275classProp("mat-mdc-tooltip-disabled",ctx.disabled)},exportAs:["matTooltip"],features:[\u0275\u0275InheritDefinitionFeature]}),MatTooltip2})(),_TooltipComponentBase=(()=>{var _class3;class _TooltipComponentBase2{constructor(_changeDetectorRef,animationMode){this._changeDetectorRef=_changeDetectorRef,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new Subject_Subject,this._animationsDisabled="NoopAnimations"===animationMode}show(delay){null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},delay)}hide(delay){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},delay)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget}){(!relatedTarget||!this._triggerElement.contains(relatedTarget))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){}_handleAnimationEnd({animationName}){(animationName===this._showAnimation||animationName===this._hideAnimation)&&this._finalizeAnimation(animationName===this._showAnimation)}_cancelPendingAnimations(){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(toVisible){toVisible?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(isVisible){const tooltip=this._tooltip.nativeElement,showClass=this._showAnimation,hideClass=this._hideAnimation;if(tooltip.classList.remove(isVisible?hideClass:showClass),tooltip.classList.add(isVisible?showClass:hideClass),this._isVisible=isVisible,isVisible&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const styles=getComputedStyle(tooltip);("0s"===styles.getPropertyValue("animation-duration")||"none"===styles.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}isVisible&&this._onShow(),this._animationsDisabled&&(tooltip.classList.add("_mat-animation-noopable"),this._finalizeAnimation(isVisible))}}return(_class3=_TooltipComponentBase2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3}),_TooltipComponentBase2})(),TooltipComponent=(()=>{var _class4;class TooltipComponent2 extends _TooltipComponentBase{constructor(changeDetectorRef,_elementRef,animationMode){super(changeDetectorRef,animationMode),this._elementRef=_elementRef,this._isMultiline=!1,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide"}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){const rect=this._elementRef.nativeElement.getBoundingClientRect();return rect.height>24&&rect.width>=200}}return(_class4=TooltipComponent2).\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_ANIMATION_MODULE_TYPE,8))},_class4.\u0275cmp=\u0275\u0275defineComponent({type:_class4,selectors:[["mat-tooltip-component"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(tooltip_c0,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._tooltip=_t.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(rf,ctx){1&rf&&\u0275\u0275listener("mouseleave",function($event){return ctx._handleMouseLeave($event)}),2&rf&&\u0275\u0275styleProp("zoom",ctx.isVisible()?1:null)},features:[\u0275\u0275InheritDefinitionFeature],decls:4,vars:4,consts:[[1,"mdc-tooltip","mdc-tooltip--shown","mat-mdc-tooltip",3,"ngClass","animationend"],["tooltip",""],[1,"mdc-tooltip__surface","mdc-tooltip__surface-animation"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0,1),\u0275\u0275listener("animationend",function($event){return ctx._handleAnimationEnd($event)}),\u0275\u0275elementStart(2,"div",2),\u0275\u0275text(3),\u0275\u0275elementEnd()()),2&rf&&(\u0275\u0275classProp("mdc-tooltip--multiline",ctx._isMultiline),\u0275\u0275property("ngClass",ctx.tooltipClass),\u0275\u0275advance(3),\u0275\u0275textInterpolate(ctx.message))},dependencies:[NgClass],styles:['.mdc-tooltip__surface{word-break:break-all;word-break:var(--mdc-tooltip-word-break, normal);overflow-wrap:anywhere}.mdc-tooltip--showing-transition .mdc-tooltip__surface-animation{transition:opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-tooltip--hide-transition .mdc-tooltip__surface-animation{transition:opacity 75ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-tooltip{position:fixed;display:none;z-index:9}.mdc-tooltip-wrapper--rich{position:relative}.mdc-tooltip--shown,.mdc-tooltip--showing,.mdc-tooltip--hide{display:inline-flex}.mdc-tooltip--shown.mdc-tooltip--rich,.mdc-tooltip--showing.mdc-tooltip--rich,.mdc-tooltip--hide.mdc-tooltip--rich{display:inline-block;left:-320px;position:absolute}.mdc-tooltip__surface{line-height:16px;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center}.mdc-tooltip__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-tooltip__surface::before{border-color:CanvasText}}.mdc-tooltip--rich .mdc-tooltip__surface{align-items:flex-start;display:flex;flex-direction:column;min-height:24px;min-width:40px;max-width:320px;position:relative}.mdc-tooltip--multiline .mdc-tooltip__surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mdc-tooltip__surface,.mdc-tooltip--multiline .mdc-tooltip__surface[dir=rtl]{text-align:right}.mdc-tooltip__surface .mdc-tooltip__title{margin:0 8px}.mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(200px - (2 * 8px));margin:8px;text-align:left}[dir=rtl] .mdc-tooltip__surface .mdc-tooltip__content,.mdc-tooltip__surface .mdc-tooltip__content[dir=rtl]{text-align:right}.mdc-tooltip--rich .mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(320px - (2 * 8px));align-self:stretch}.mdc-tooltip__surface .mdc-tooltip__content-link{text-decoration:none}.mdc-tooltip--rich-actions,.mdc-tooltip__content,.mdc-tooltip__title{z-index:1}.mdc-tooltip__surface-animation{opacity:0;transform:scale(0.8);will-change:transform,opacity}.mdc-tooltip--shown .mdc-tooltip__surface-animation{transform:scale(1);opacity:1}.mdc-tooltip--hide .mdc-tooltip__surface-animation{transform:scale(1)}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{position:absolute;height:24px;width:24px;transform:rotate(35deg) skewY(20deg) scaleX(0.9396926208)}.mdc-tooltip__caret-surface-top .mdc-elevation-overlay,.mdc-tooltip__caret-surface-bottom .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-tooltip__caret-surface-bottom{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);outline:1px solid rgba(0,0,0,0);z-index:-1}@media screen and (forced-colors: active){.mdc-tooltip__caret-surface-bottom{outline-color:CanvasText}}.mat-mdc-tooltip{--mdc-plain-tooltip-container-shape:4px;--mdc-plain-tooltip-supporting-text-line-height:16px}.mat-mdc-tooltip .mdc-tooltip__surface{background-color:var(--mdc-plain-tooltip-container-color)}.mat-mdc-tooltip .mdc-tooltip__surface{border-radius:var(--mdc-plain-tooltip-container-shape)}.mat-mdc-tooltip .mdc-tooltip__caret-surface-top,.mat-mdc-tooltip .mdc-tooltip__caret-surface-bottom{border-radius:var(--mdc-plain-tooltip-container-shape)}.mat-mdc-tooltip .mdc-tooltip__surface{color:var(--mdc-plain-tooltip-supporting-text-color)}.mat-mdc-tooltip .mdc-tooltip__surface{font-family:var(--mdc-plain-tooltip-supporting-text-font);line-height:var(--mdc-plain-tooltip-supporting-text-line-height);font-size:var(--mdc-plain-tooltip-supporting-text-size);font-weight:var(--mdc-plain-tooltip-supporting-text-weight);letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking)}.mat-mdc-tooltip{position:relative;transform:scale(0)}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0}),TooltipComponent2})(),MatTooltipModule=(()=>{var _class5;class MatTooltipModule2{}return(_class5=MatTooltipModule2).\u0275fac=function(t){return new(t||_class5)},_class5.\u0275mod=\u0275\u0275defineNgModule({type:_class5}),_class5.\u0275inj=\u0275\u0275defineInjector({providers:[MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER],imports:[A11yModule,common_CommonModule,OverlayModule,MatCommonModule,MatCommonModule,CdkScrollableModule]}),MatTooltipModule2})();class ConnectableObservable extends Observable_Observable{constructor(source,subjectFactory){super(),this.source=source,this.subjectFactory=subjectFactory,this._subject=null,this._refCount=0,this._connection=null,hasLift(source)&&(this.lift=source.lift)}_subscribe(subscriber){return this.getSubject().subscribe(subscriber)}getSubject(){const subject=this._subject;return(!subject||subject.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection}=this;this._subject=this._connection=null,_connection?.unsubscribe()}connect(){let connection=this._connection;if(!connection){connection=this._connection=new Subscription_Subscription;const subject=this.getSubject();connection.add(this.source.subscribe(createOperatorSubscriber(subject,void 0,()=>{this._teardown(),subject.complete()},err=>{this._teardown(),subject.error(err)},()=>this._teardown()))),connection.closed&&(this._connection=null,connection=Subscription_Subscription.EMPTY)}return connection}refCount(){return function refCount(){return operate((source,subscriber)=>{let connection=null;source._refCount++;const refCounter=createOperatorSubscriber(subscriber,void 0,void 0,void 0,()=>{if(!source||source._refCount<=0||0<--source._refCount)return void(connection=null);const sharedConnection=source._connection,conn=connection;connection=null,sharedConnection&&(!conn||sharedConnection===conn)&&sharedConnection.unsubscribe(),subscriber.unsubscribe()});source.subscribe(refCounter),refCounter.closed||(connection=source.connect())})}()(this)}}class collections_DataSource{}class SelectionModel{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(_multiple=!1,initiallySelectedValues,_emitChanges=!0,compareWith){this._multiple=_multiple,this._emitChanges=_emitChanges,this.compareWith=compareWith,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new Subject_Subject,initiallySelectedValues&&initiallySelectedValues.length&&(_multiple?initiallySelectedValues.forEach(value=>this._markSelected(value)):this._markSelected(initiallySelectedValues[0]),this._selectedToEmit.length=0)}select(...values){this._verifyValueAssignment(values),values.forEach(value=>this._markSelected(value));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}deselect(...values){this._verifyValueAssignment(values),values.forEach(value=>this._unmarkSelected(value));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}setSelection(...values){this._verifyValueAssignment(values);const oldValues=this.selected,newSelectedSet=new Set(values);values.forEach(value=>this._markSelected(value)),oldValues.filter(value=>!newSelectedSet.has(value)).forEach(value=>this._unmarkSelected(value));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}toggle(value){return this.isSelected(value)?this.deselect(value):this.select(value)}clear(flushEvent=!0){this._unmarkAll();const changed=this._hasQueuedChanges();return flushEvent&&this._emitChangeEvent(),changed}isSelected(value){return this._selection.has(this._getConcreteValue(value))}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(predicate){this._multiple&&this.selected&&this._selected.sort(predicate)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(value){value=this._getConcreteValue(value),this.isSelected(value)||(this._multiple||this._unmarkAll(),this.isSelected(value)||this._selection.add(value),this._emitChanges&&this._selectedToEmit.push(value))}_unmarkSelected(value){value=this._getConcreteValue(value),this.isSelected(value)&&(this._selection.delete(value),this._emitChanges&&this._deselectedToEmit.push(value))}_unmarkAll(){this.isEmpty()||this._selection.forEach(value=>this._unmarkSelected(value))}_verifyValueAssignment(values){}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}_getConcreteValue(inputValue){if(this.compareWith){for(let selectedValue of this._selection)if(this.compareWith(inputValue,selectedValue))return selectedValue;return inputValue}return inputValue}}function isObservable_isObservable(obj){return!!obj&&(obj instanceof Observable_Observable||isFunction(obj.lift)&&isFunction(obj.subscribe))}class BaseTreeControl{constructor(){this.expansionModel=new SelectionModel(!0)}toggle(dataNode){this.expansionModel.toggle(this._trackByValue(dataNode))}expand(dataNode){this.expansionModel.select(this._trackByValue(dataNode))}collapse(dataNode){this.expansionModel.deselect(this._trackByValue(dataNode))}isExpanded(dataNode){return this.expansionModel.isSelected(this._trackByValue(dataNode))}toggleDescendants(dataNode){this.expansionModel.isSelected(this._trackByValue(dataNode))?this.collapseDescendants(dataNode):this.expandDescendants(dataNode)}collapseAll(){this.expansionModel.clear()}expandDescendants(dataNode){let toBeProcessed=[dataNode];toBeProcessed.push(...this.getDescendants(dataNode)),this.expansionModel.select(...toBeProcessed.map(value=>this._trackByValue(value)))}collapseDescendants(dataNode){let toBeProcessed=[dataNode];toBeProcessed.push(...this.getDescendants(dataNode)),this.expansionModel.deselect(...toBeProcessed.map(value=>this._trackByValue(value)))}_trackByValue(value){return this.trackBy?this.trackBy(value):value}}class NestedTreeControl extends BaseTreeControl{constructor(getChildren,options){super(),this.getChildren=getChildren,this.options=options,this.options&&(this.trackBy=this.options.trackBy)}expandAll(){this.expansionModel.clear();const allNodes=this.dataNodes.reduce((accumulator,dataNode)=>[...accumulator,...this.getDescendants(dataNode),dataNode],[]);this.expansionModel.select(...allNodes.map(node2=>this._trackByValue(node2)))}getDescendants(dataNode){const descendants=[];return this._getDescendants(descendants,dataNode),descendants.splice(1)}_getDescendants(descendants,dataNode){descendants.push(dataNode);const childrenNodes=this.getChildren(dataNode);Array.isArray(childrenNodes)?childrenNodes.forEach(child2=>this._getDescendants(descendants,child2)):isObservable_isObservable(childrenNodes)&&childrenNodes.pipe(take_take(1),filter_filter(Boolean)).subscribe(children=>{for(const child2 of children)this._getDescendants(descendants,child2)})}}const CDK_TREE_NODE_OUTLET_NODE=new InjectionToken("CDK_TREE_NODE_OUTLET_NODE");let CdkTreeNodeOutlet=(()=>{var _class2;class CdkTreeNodeOutlet2{constructor(viewContainer,_node){this.viewContainer=viewContainer,this._node=_node}}return(_class2=CdkTreeNodeOutlet2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(CDK_TREE_NODE_OUTLET_NODE,8))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","cdkTreeNodeOutlet",""]]}),CdkTreeNodeOutlet2})();class CdkTreeNodeOutletContext{constructor(data){this.$implicit=data}}let CdkTreeNodeDef=(()=>{var _class2;class CdkTreeNodeDef2{constructor(template){this.template=template}}return(_class2=CdkTreeNodeDef2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_TemplateRef))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),CdkTreeNodeDef2})(),CdkTree=(()=>{var _class3;class CdkTree2{get dataSource(){return this._dataSource}set dataSource(dataSource){this._dataSource!==dataSource&&this._switchDataSource(dataSource)}constructor(_differs,_changeDetectorRef){this._differs=_differs,this._changeDetectorRef=_changeDetectorRef,this._onDestroy=new Subject_Subject,this._levels=new Map,this.viewChange=new BehaviorSubject_BehaviorSubject({start:0,end:Number.MAX_VALUE})}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const defaultNodeDefs=this._nodeDefs.filter(def=>!def.when);this._defaultNodeDef=defaultNodeDefs[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(dataSource){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),dataSource||this._nodeOutlet.viewContainer.clear(),this._dataSource=dataSource,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let dataStream;!function collections_isDataSource(value){return value&&"function"==typeof value.connect&&!(value instanceof ConnectableObservable)}(this._dataSource)?isObservable_isObservable(this._dataSource)?dataStream=this._dataSource:Array.isArray(this._dataSource)&&(dataStream=of_of(this._dataSource)):dataStream=this._dataSource.connect(this),dataStream&&(this._dataSubscription=dataStream.pipe(takeUntil_takeUntil(this._onDestroy)).subscribe(data=>this.renderNodeChanges(data)))}renderNodeChanges(data,dataDiffer=this._dataDiffer,viewContainer=this._nodeOutlet.viewContainer,parentData){const changes=dataDiffer.diff(data);changes&&(changes.forEachOperation((item,adjustedPreviousIndex,currentIndex)=>{if(null==item.previousIndex)this.insertNode(data[currentIndex],currentIndex,viewContainer,parentData);else if(null==currentIndex)viewContainer.remove(adjustedPreviousIndex),this._levels.delete(item.item);else{const view=viewContainer.get(adjustedPreviousIndex);viewContainer.move(view,currentIndex)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(data,i6){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(def=>def.when&&def.when(i6,data))||this._defaultNodeDef}insertNode(nodeData,index,viewContainer,parentData){const node2=this._getNodeDef(nodeData,index),context2=new CdkTreeNodeOutletContext(nodeData);context2.level=this.treeControl.getLevel?this.treeControl.getLevel(nodeData):typeof parentData<"u"&&this._levels.has(parentData)?this._levels.get(parentData)+1:0,this._levels.set(nodeData,context2.level),(viewContainer||this._nodeOutlet.viewContainer).createEmbeddedView(node2.template,context2,index),CdkTreeNode.mostRecentTreeNode&&(CdkTreeNode.mostRecentTreeNode.data=nodeData)}}return(_class3=CdkTree2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(IterableDiffers),\u0275\u0275directiveInject(ChangeDetectorRef))},_class3.\u0275cmp=\u0275\u0275defineComponent({type:_class3,selectors:[["cdk-tree"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&\u0275\u0275contentQuery(dirIndex,CdkTreeNodeDef,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._nodeDefs=_t)}},viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(CdkTreeNodeOutlet,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._nodeOutlet=_t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(rf,ctx){1&rf&&\u0275\u0275elementContainer(0,0)},dependencies:[CdkTreeNodeOutlet],encapsulation:2}),CdkTree2})(),CdkTreeNode=(()=>{var _class4;class CdkTreeNode2{get role(){return"treeitem"}set role(_role){this._elementRef.nativeElement.setAttribute("role",_role)}get data(){return this._data}set data(value){value!==this._data&&(this._data=value,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}constructor(_elementRef,_tree){this._elementRef=_elementRef,this._tree=_tree,this._destroyed=new Subject_Subject,this._dataChanges=new Subject_Subject,CdkTreeNode2.mostRecentTreeNode=this,this.role="treeitem"}ngOnInit(){this._parentNodeAriaLevel=function getParentNodeAriaLevel(nodeElement){let parent=nodeElement.parentElement;for(;parent&&!isNodeElement(parent);)parent=parent.parentElement;return parent?parent.classList.contains("cdk-nested-tree-node")?coercion_coerceNumberProperty(parent.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngOnDestroy(){CdkTreeNode2.mostRecentTreeNode===this&&(CdkTreeNode2.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return(_class4=CdkTreeNode2).mostRecentTreeNode=null,_class4.\u0275fac=function(t){return new(t||_class4)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(CdkTree))},_class4.\u0275dir=\u0275\u0275defineDirective({type:_class4,selectors:[["cdk-tree-node"]],hostAttrs:[1,"cdk-tree-node"],hostVars:1,hostBindings:function(rf,ctx){2&rf&&\u0275\u0275attribute("aria-expanded",ctx.isExpanded)},inputs:{role:"role"},exportAs:["cdkTreeNode"]}),CdkTreeNode2})();function isNodeElement(element){const classList=element.classList;return!(!classList?.contains("cdk-nested-tree-node")&&!classList?.contains("cdk-tree"))}let CdkNestedTreeNode=(()=>{var _class5;class CdkNestedTreeNode2 extends CdkTreeNode{constructor(elementRef,tree2,_differs){super(elementRef,tree2),this._differs=_differs}ngAfterContentInit(){this._dataDiffer=this._differs.find([]).create(this._tree.trackBy);const childrenNodes=this._tree.treeControl.getChildren(this.data);Array.isArray(childrenNodes)?this.updateChildrenNodes(childrenNodes):isObservable_isObservable(childrenNodes)&&childrenNodes.pipe(takeUntil_takeUntil(this._destroyed)).subscribe(result=>this.updateChildrenNodes(result)),this.nodeOutlet.changes.pipe(takeUntil_takeUntil(this._destroyed)).subscribe(()=>this.updateChildrenNodes())}ngOnInit(){super.ngOnInit()}ngOnDestroy(){this._clear(),super.ngOnDestroy()}updateChildrenNodes(children){const outlet=this._getNodeOutlet();children&&(this._children=children),outlet&&this._children?this._tree.renderNodeChanges(this._children,this._dataDiffer,outlet.viewContainer,this._data):this._dataDiffer.diff([])}_clear(){const outlet=this._getNodeOutlet();outlet&&(outlet.viewContainer.clear(),this._dataDiffer.diff([]))}_getNodeOutlet(){const outlets=this.nodeOutlet;return outlets&&outlets.find(outlet=>!outlet._node||outlet._node===this)}}return(_class5=CdkNestedTreeNode2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(CdkTree),\u0275\u0275directiveInject(IterableDiffers))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["cdk-nested-tree-node"]],contentQueries:function(rf,ctx,dirIndex){if(1&rf&&\u0275\u0275contentQuery(dirIndex,CdkTreeNodeOutlet,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.nodeOutlet=_t)}},hostAttrs:[1,"cdk-nested-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["cdkNestedTreeNode"],features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNode,useExisting:_class5},{provide:CDK_TREE_NODE_OUTLET_NODE,useExisting:_class5}]),\u0275\u0275InheritDefinitionFeature]}),CdkNestedTreeNode2})(),CdkTreeNodeToggle=(()=>{var _class7;class CdkTreeNodeToggle2{get recursive(){return this._recursive}set recursive(value){this._recursive=coercion_coerceBooleanProperty(value)}constructor(_tree,_treeNode){this._tree=_tree,this._treeNode=_treeNode,this._recursive=!1}_toggle(event){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),event.stopPropagation()}}return(_class7=CdkTreeNodeToggle2).\u0275fac=function(t){return new(t||_class7)(\u0275\u0275directiveInject(CdkTree),\u0275\u0275directiveInject(CdkTreeNode))},_class7.\u0275dir=\u0275\u0275defineDirective({type:_class7,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(rf,ctx){1&rf&&\u0275\u0275listener("click",function($event){return ctx._toggle($event)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),CdkTreeNodeToggle2})(),CdkTreeModule=(()=>{var _class8;class CdkTreeModule2{}return(_class8=CdkTreeModule2).\u0275fac=function(t){return new(t||_class8)},_class8.\u0275mod=\u0275\u0275defineNgModule({type:_class8}),_class8.\u0275inj=\u0275\u0275defineInjector({}),CdkTreeModule2})();const _MatTreeNodeBase=core_mixinTabIndex(core_mixinDisabled(CdkTreeNode));let MatTreeNode=(()=>{var _class2;class MatTreeNode2 extends _MatTreeNodeBase{constructor(elementRef,tree2,tabIndex){super(elementRef,tree2),this.tabIndex=Number(tabIndex)||0}ngOnInit(){super.ngOnInit()}ngOnDestroy(){super.ngOnDestroy()}}return(_class2=MatTreeNode2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(CdkTree),\u0275\u0275injectAttribute("tabindex"))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["mat-tree-node"]],hostAttrs:[1,"mat-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNode,useExisting:_class2}]),\u0275\u0275InheritDefinitionFeature]}),MatTreeNode2})(),MatTreeNodeDef=(()=>{var _class2;class MatTreeNodeDef2 extends CdkTreeNodeDef{}return(_class2=MatTreeNodeDef2).\u0275fac=function(){let \u0275_class2_BaseFactory;return function(t){return(\u0275_class2_BaseFactory||(\u0275_class2_BaseFactory=\u0275\u0275getInheritedFactory(_class2)))(t||_class2)}}(),_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNodeDef,useExisting:_class2}]),\u0275\u0275InheritDefinitionFeature]}),MatTreeNodeDef2})(),MatNestedTreeNode=(()=>{var _class3;class MatNestedTreeNode2 extends CdkNestedTreeNode{get disabled(){return this._disabled}set disabled(value){this._disabled=coercion_coerceBooleanProperty(value)}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(value){this._tabIndex=value??0}constructor(elementRef,tree2,differs,tabIndex){super(elementRef,tree2,differs),this._disabled=!1,this.tabIndex=Number(tabIndex)||0}ngOnInit(){super.ngOnInit()}ngAfterContentInit(){super.ngAfterContentInit()}ngOnDestroy(){super.ngOnDestroy()}}return(_class3=MatNestedTreeNode2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(CdkTree),\u0275\u0275directiveInject(IterableDiffers),\u0275\u0275injectAttribute("tabindex"))},_class3.\u0275dir=\u0275\u0275defineDirective({type:_class3,selectors:[["mat-nested-tree-node"]],hostAttrs:[1,"mat-nested-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex",node:["matNestedTreeNode","node"]},exportAs:["matNestedTreeNode"],features:[\u0275\u0275ProvidersFeature([{provide:CdkNestedTreeNode,useExisting:_class3},{provide:CdkTreeNode,useExisting:_class3},{provide:CDK_TREE_NODE_OUTLET_NODE,useExisting:_class3}]),\u0275\u0275InheritDefinitionFeature]}),MatNestedTreeNode2})(),MatTreeNodeOutlet=(()=>{var _class5;class MatTreeNodeOutlet2{constructor(viewContainer,_node){this.viewContainer=viewContainer,this._node=_node}}return(_class5=MatTreeNodeOutlet2).\u0275fac=function(t){return new(t||_class5)(\u0275\u0275directiveInject(ViewContainerRef),\u0275\u0275directiveInject(CDK_TREE_NODE_OUTLET_NODE,8))},_class5.\u0275dir=\u0275\u0275defineDirective({type:_class5,selectors:[["","matTreeNodeOutlet",""]],features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNodeOutlet,useExisting:_class5}])]}),MatTreeNodeOutlet2})(),MatTree=(()=>{var _class6;class MatTree2 extends CdkTree{constructor(){super(...arguments),this._nodeOutlet=void 0}}return(_class6=MatTree2).\u0275fac=function(){let \u0275_class6_BaseFactory;return function(t){return(\u0275_class6_BaseFactory||(\u0275_class6_BaseFactory=\u0275\u0275getInheritedFactory(_class6)))(t||_class6)}}(),_class6.\u0275cmp=\u0275\u0275defineComponent({type:_class6,selectors:[["mat-tree"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(MatTreeNodeOutlet,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx._nodeOutlet=_t.first)}},hostAttrs:["role","tree",1,"mat-tree"],exportAs:["matTree"],features:[\u0275\u0275ProvidersFeature([{provide:CdkTree,useExisting:_class6}]),\u0275\u0275InheritDefinitionFeature],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(rf,ctx){1&rf&&\u0275\u0275elementContainer(0,0)},dependencies:[MatTreeNodeOutlet],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}"],encapsulation:2}),MatTree2})(),MatTreeNodeToggle=(()=>{var _class7;class MatTreeNodeToggle2 extends CdkTreeNodeToggle{}return(_class7=MatTreeNodeToggle2).\u0275fac=function(){let \u0275_class7_BaseFactory;return function(t){return(\u0275_class7_BaseFactory||(\u0275_class7_BaseFactory=\u0275\u0275getInheritedFactory(_class7)))(t||_class7)}}(),_class7.\u0275dir=\u0275\u0275defineDirective({type:_class7,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[\u0275\u0275ProvidersFeature([{provide:CdkTreeNodeToggle,useExisting:_class7}]),\u0275\u0275InheritDefinitionFeature]}),MatTreeNodeToggle2})(),MatTreeModule=(()=>{var _class8;class MatTreeModule2{}return(_class8=MatTreeModule2).\u0275fac=function(t){return new(t||_class8)},_class8.\u0275mod=\u0275\u0275defineNgModule({type:_class8}),_class8.\u0275inj=\u0275\u0275defineInjector({imports:[CdkTreeModule,MatCommonModule,MatCommonModule]}),MatTreeModule2})();class MatTreeNestedDataSource extends collections_DataSource{constructor(){super(...arguments),this._data=new BehaviorSubject_BehaviorSubject([])}get data(){return this._data.value}set data(value){this._data.next(value)}connect(collectionViewer){return merge_merge(collectionViewer.viewChange,this._data).pipe(map_map(()=>this.data))}disconnect(){}}function invalidTimingValue(exp){return new RuntimeError(3e3,!1)}function optimizeGroupPlayer(players){switch(players.length){case 0:return new NoopAnimationPlayer;case 1:return players[0];default:return new AnimationGroupPlayer(players)}}function normalizeKeyframes$1(normalizer,keyframes2,preStyles=new Map,postStyles=new Map){const errors=[],normalizedKeyframes=[];let previousOffset=-1,previousKeyframe=null;if(keyframes2.forEach(kf=>{const offset=kf.get("offset"),isSameOffset=offset==previousOffset,normalizedKeyframe=isSameOffset&&previousKeyframe||new Map;kf.forEach((val,prop2)=>{let normalizedProp=prop2,normalizedValue=val;if("offset"!==prop2)switch(normalizedProp=normalizer.normalizePropertyName(normalizedProp,errors),normalizedValue){case"!":normalizedValue=preStyles.get(prop2);break;case"*":normalizedValue=postStyles.get(prop2);break;default:normalizedValue=normalizer.normalizeStyleValue(prop2,normalizedProp,normalizedValue,errors)}normalizedKeyframe.set(normalizedProp,normalizedValue)}),isSameOffset||normalizedKeyframes.push(normalizedKeyframe),previousKeyframe=normalizedKeyframe,previousOffset=offset}),errors.length)throw function animationFailed(errors){return new RuntimeError(3502,!1)}();return normalizedKeyframes}function listenOnPlayer(player,eventName,event,callback){switch(eventName){case"start":player.onStart(()=>callback(event&©AnimationEvent(event,"start",player)));break;case"done":player.onDone(()=>callback(event&©AnimationEvent(event,"done",player)));break;case"destroy":player.onDestroy(()=>callback(event&©AnimationEvent(event,"destroy",player)))}}function copyAnimationEvent(e2,phaseName,player){const event=makeAnimationEvent(e2.element,e2.triggerName,e2.fromState,e2.toState,phaseName||e2.phaseName,player.totalTime??e2.totalTime,!!player.disabled),data=e2._data;return null!=data&&(event._data=data),event}function makeAnimationEvent(element,triggerName,fromState,toState,phaseName="",totalTime=0,disabled){return{element,triggerName,fromState,toState,phaseName,totalTime,disabled:!!disabled}}function getOrSetDefaultValue(map2,key,defaultValue){let value=map2.get(key);return value||map2.set(key,value=defaultValue),value}function parseTimelineCommand(command){const separatorPos=command.indexOf(":");return[command.substring(1,separatorPos),command.slice(separatorPos+1)]}const documentElement=(()=>typeof document>"u"?null:document.documentElement)();function getParentElement(element){const parent=element.parentNode||element.host||null;return parent===documentElement?null:parent}let _CACHED_BODY=null,_IS_WEBKIT=!1;function containsElement(elm1,elm2){for(;elm2;){if(elm2===elm1)return!0;elm2=getParentElement(elm2)}return!1}function invokeQuery(element,selector,multi){if(multi)return Array.from(element.querySelectorAll(selector));const elem=element.querySelector(selector);return elem?[elem]:[]}let NoopAnimationDriver=(()=>{var _class2;class NoopAnimationDriver2{validateStyleProperty(prop2){return function validateStyleProperty(prop2){_CACHED_BODY||(_CACHED_BODY=function getBodyNode(){return typeof document<"u"?document.body:null}()||{},_IS_WEBKIT=!!_CACHED_BODY.style&&"WebkitAppearance"in _CACHED_BODY.style);let result=!0;return _CACHED_BODY.style&&!function containsVendorPrefix(prop2){return"ebkit"==prop2.substring(1,6)}(prop2)&&(result=prop2 in _CACHED_BODY.style,!result&&_IS_WEBKIT&&(result="Webkit"+prop2.charAt(0).toUpperCase()+prop2.slice(1)in _CACHED_BODY.style)),result}(prop2)}matchesElement(_element,_selector){return!1}containsElement(elm1,elm2){return containsElement(elm1,elm2)}getParentElement(element){return getParentElement(element)}query(element,selector,multi){return invokeQuery(element,selector,multi)}computeStyle(element,prop2,defaultValue){return defaultValue||""}animate(element,keyframes2,duration,delay,easing,previousPlayers=[],scrubberAccessRequested){return new NoopAnimationPlayer(duration,delay)}}return(_class2=NoopAnimationDriver2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),NoopAnimationDriver2})(),AnimationDriver=(()=>{class AnimationDriver2{}return AnimationDriver2.NOOP=new NoopAnimationDriver,AnimationDriver2})();const ONE_SECOND=1e3;function resolveTimingValue(value){if("number"==typeof value)return value;const matches=value.match(/^(-?[\.\d]+)(m?s)/);return!matches||matches.length<2?0:_convertTimeValueToMS(parseFloat(matches[1]),matches[2])}function _convertTimeValueToMS(value,unit){return"s"===unit?value*ONE_SECOND:value}function resolveTiming(timings,errors,allowNegativeValues){return timings.hasOwnProperty("duration")?timings:function parseTimeExpression(exp,errors,allowNegativeValues){let duration,delay=0,easing="";if("string"==typeof exp){const matches=exp.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===matches)return errors.push(invalidTimingValue()),{duration:0,delay:0,easing:""};duration=_convertTimeValueToMS(parseFloat(matches[1]),matches[2]);const delayMatch=matches[3];null!=delayMatch&&(delay=_convertTimeValueToMS(parseFloat(delayMatch),matches[4]));const easingVal=matches[5];easingVal&&(easing=easingVal)}else duration=exp;if(!allowNegativeValues){let containsErrors=!1,startIndex=errors.length;duration<0&&(errors.push(function negativeStepValue(){return new RuntimeError(3100,!1)}()),containsErrors=!0),delay<0&&(errors.push(function negativeDelayValue(){return new RuntimeError(3101,!1)}()),containsErrors=!0),containsErrors&&errors.splice(startIndex,0,invalidTimingValue())}return{duration,delay,easing}}(timings,errors,allowNegativeValues)}function copyObj(obj,destination={}){return Object.keys(obj).forEach(prop2=>{destination[prop2]=obj[prop2]}),destination}function convertToMap(obj){const styleMap=new Map;return Object.keys(obj).forEach(prop2=>{styleMap.set(prop2,obj[prop2])}),styleMap}function copyStyles(styles,destination=new Map,backfill){if(backfill)for(let[prop2,val]of backfill)destination.set(prop2,val);for(let[prop2,val]of styles)destination.set(prop2,val);return destination}function setStyles(element,styles,formerStyles){styles.forEach((val,prop2)=>{const camelProp=dashCaseToCamelCase(prop2);formerStyles&&!formerStyles.has(prop2)&&formerStyles.set(prop2,element.style[camelProp]),element.style[camelProp]=val})}function eraseStyles(element,styles){styles.forEach((_,prop2)=>{const camelProp=dashCaseToCamelCase(prop2);element.style[camelProp]=""})}function normalizeAnimationEntry(steps){return Array.isArray(steps)?1==steps.length?steps[0]:sequence(steps):steps}const PARAM_REGEX=new RegExp("{{\\s*(.+?)\\s*}}","g");function extractStyleParams(value){let params=[];if("string"==typeof value){let match2;for(;match2=PARAM_REGEX.exec(value);)params.push(match2[1]);PARAM_REGEX.lastIndex=0}return params}function interpolateParams(value,params,errors){const original=value.toString(),str=original.replace(PARAM_REGEX,(_,varName)=>{let localVal=params[varName];return null==localVal&&(errors.push(function invalidParamValue(varName){return new RuntimeError(3003,!1)}()),localVal=""),localVal.toString()});return str==original?value:str}function iteratorToArray(iterator){const arr=[];let item=iterator.next();for(;!item.done;)arr.push(item.value),item=iterator.next();return arr}const DASH_CASE_REGEXP=/-+([a-z0-9])/g;function dashCaseToCamelCase(input){return input.replace(DASH_CASE_REGEXP,(...m)=>m[1].toUpperCase())}function visitDslNode(visitor,node2,context2){switch(node2.type){case 7:return visitor.visitTrigger(node2,context2);case 0:return visitor.visitState(node2,context2);case 1:return visitor.visitTransition(node2,context2);case 2:return visitor.visitSequence(node2,context2);case 3:return visitor.visitGroup(node2,context2);case 4:return visitor.visitAnimate(node2,context2);case 5:return visitor.visitKeyframes(node2,context2);case 6:return visitor.visitStyle(node2,context2);case 8:return visitor.visitReference(node2,context2);case 9:return visitor.visitAnimateChild(node2,context2);case 10:return visitor.visitAnimateRef(node2,context2);case 11:return visitor.visitQuery(node2,context2);case 12:return visitor.visitStagger(node2,context2);default:throw function invalidNodeType(nodeType){return new RuntimeError(3004,!1)}()}}function computeStyle(element,prop2){return window.getComputedStyle(element)[prop2]}const ANY_STATE="*";function parseTransitionExpr(transitionValue,errors){const expressions=[];return"string"==typeof transitionValue?transitionValue.split(/\s*,\s*/).forEach(str=>function parseInnerTransitionStr(eventStr,expressions,errors){if(":"==eventStr[0]){const result=function parseAnimationAlias(alias,errors){switch(alias){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(fromState,toState)=>parseFloat(toState)>parseFloat(fromState);case":decrement":return(fromState,toState)=>parseFloat(toState) *"}}(eventStr,errors);if("function"==typeof result)return void expressions.push(result);eventStr=result}const match2=eventStr.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==match2||match2.length<4)return errors.push(function invalidExpression(expr){return new RuntimeError(3015,!1)}()),expressions;const fromState=match2[1],separator=match2[2],toState=match2[3];expressions.push(makeLambdaFromStates(fromState,toState));"<"==separator[0]&&!(fromState==ANY_STATE&&toState==ANY_STATE)&&expressions.push(makeLambdaFromStates(toState,fromState))}(str,expressions,errors)):expressions.push(transitionValue),expressions}const TRUE_BOOLEAN_VALUES=new Set(["true","1"]),FALSE_BOOLEAN_VALUES=new Set(["false","0"]);function makeLambdaFromStates(lhs,rhs){const LHS_MATCH_BOOLEAN=TRUE_BOOLEAN_VALUES.has(lhs)||FALSE_BOOLEAN_VALUES.has(lhs),RHS_MATCH_BOOLEAN=TRUE_BOOLEAN_VALUES.has(rhs)||FALSE_BOOLEAN_VALUES.has(rhs);return(fromState,toState)=>{let lhsMatch=lhs==ANY_STATE||lhs==fromState,rhsMatch=rhs==ANY_STATE||rhs==toState;return!lhsMatch&&LHS_MATCH_BOOLEAN&&"boolean"==typeof fromState&&(lhsMatch=fromState?TRUE_BOOLEAN_VALUES.has(lhs):FALSE_BOOLEAN_VALUES.has(lhs)),!rhsMatch&&RHS_MATCH_BOOLEAN&&"boolean"==typeof toState&&(rhsMatch=toState?TRUE_BOOLEAN_VALUES.has(rhs):FALSE_BOOLEAN_VALUES.has(rhs)),lhsMatch&&rhsMatch}}const SELF_TOKEN_REGEX=new RegExp("s*:selfs*,?","g");function buildAnimationAst(driver,metadata,errors,warnings){return new AnimationAstBuilderVisitor(driver).build(metadata,errors,warnings)}class AnimationAstBuilderVisitor{constructor(_driver){this._driver=_driver}build(metadata,errors,warnings){const context2=new AnimationAstBuilderContext(errors);return this._resetContextStyleTimingState(context2),visitDslNode(this,normalizeAnimationEntry(metadata),context2)}_resetContextStyleTimingState(context2){context2.currentQuerySelector="",context2.collectedStyles=new Map,context2.collectedStyles.set("",new Map),context2.currentTime=0}visitTrigger(metadata,context2){let queryCount=context2.queryCount=0,depCount=context2.depCount=0;const states=[],transitions=[];return"@"==metadata.name.charAt(0)&&context2.errors.push(function invalidTrigger(){return new RuntimeError(3006,!1)}()),metadata.definitions.forEach(def=>{if(this._resetContextStyleTimingState(context2),0==def.type){const stateDef=def,name=stateDef.name;name.toString().split(/\s*,\s*/).forEach(n=>{stateDef.name=n,states.push(this.visitState(stateDef,context2))}),stateDef.name=name}else if(1==def.type){const transition2=this.visitTransition(def,context2);queryCount+=transition2.queryCount,depCount+=transition2.depCount,transitions.push(transition2)}else context2.errors.push(function invalidDefinition(){return new RuntimeError(3007,!1)}())}),{type:7,name:metadata.name,states,transitions,queryCount,depCount,options:null}}visitState(metadata,context2){const styleAst=this.visitStyle(metadata.styles,context2),astParams=metadata.options&&metadata.options.params||null;if(styleAst.containsDynamicStyles){const missingSubs=new Set,params=astParams||{};styleAst.styles.forEach(style2=>{style2 instanceof Map&&style2.forEach(value=>{extractStyleParams(value).forEach(sub=>{params.hasOwnProperty(sub)||missingSubs.add(sub)})})}),missingSubs.size&&(iteratorToArray(missingSubs.values()),context2.errors.push(function invalidState(metadataName,missingSubs){return new RuntimeError(3008,!1)}()))}return{type:0,name:metadata.name,style:styleAst,options:astParams?{params:astParams}:null}}visitTransition(metadata,context2){context2.queryCount=0,context2.depCount=0;const animation2=visitDslNode(this,normalizeAnimationEntry(metadata.animation),context2);return{type:1,matchers:parseTransitionExpr(metadata.expr,context2.errors),animation:animation2,queryCount:context2.queryCount,depCount:context2.depCount,options:normalizeAnimationOptions(metadata.options)}}visitSequence(metadata,context2){return{type:2,steps:metadata.steps.map(s=>visitDslNode(this,s,context2)),options:normalizeAnimationOptions(metadata.options)}}visitGroup(metadata,context2){const currentTime=context2.currentTime;let furthestTime=0;const steps=metadata.steps.map(step=>{context2.currentTime=currentTime;const innerAst=visitDslNode(this,step,context2);return furthestTime=Math.max(furthestTime,context2.currentTime),innerAst});return context2.currentTime=furthestTime,{type:3,steps,options:normalizeAnimationOptions(metadata.options)}}visitAnimate(metadata,context2){const timingAst=function constructTimingAst(value,errors){if(value.hasOwnProperty("duration"))return value;if("number"==typeof value)return makeTimingAst(resolveTiming(value,errors).duration,0,"");const strValue=value;if(strValue.split(/\s+/).some(v=>"{"==v.charAt(0)&&"{"==v.charAt(1))){const ast=makeTimingAst(0,0,"");return ast.dynamic=!0,ast.strValue=strValue,ast}const timings=resolveTiming(strValue,errors);return makeTimingAst(timings.duration,timings.delay,timings.easing)}(metadata.timings,context2.errors);context2.currentAnimateTimings=timingAst;let styleAst,styleMetadata=metadata.styles?metadata.styles:animations_style({});if(5==styleMetadata.type)styleAst=this.visitKeyframes(styleMetadata,context2);else{let styleMetadata2=metadata.styles,isEmpty2=!1;if(!styleMetadata2){isEmpty2=!0;const newStyleData={};timingAst.easing&&(newStyleData.easing=timingAst.easing),styleMetadata2=animations_style(newStyleData)}context2.currentTime+=timingAst.duration+timingAst.delay;const _styleAst=this.visitStyle(styleMetadata2,context2);_styleAst.isEmptyStep=isEmpty2,styleAst=_styleAst}return context2.currentAnimateTimings=null,{type:4,timings:timingAst,style:styleAst,options:null}}visitStyle(metadata,context2){const ast=this._makeStyleAst(metadata,context2);return this._validateStyleAst(ast,context2),ast}_makeStyleAst(metadata,context2){const styles=[],metadataStyles=Array.isArray(metadata.styles)?metadata.styles:[metadata.styles];for(let styleTuple of metadataStyles)"string"==typeof styleTuple?"*"===styleTuple?styles.push(styleTuple):context2.errors.push(new RuntimeError(3002,!1)):styles.push(convertToMap(styleTuple));let containsDynamicStyles=!1,collectedEasing=null;return styles.forEach(styleData=>{if(styleData instanceof Map&&(styleData.has("easing")&&(collectedEasing=styleData.get("easing"),styleData.delete("easing")),!containsDynamicStyles))for(let value of styleData.values())if(value.toString().indexOf("{{")>=0){containsDynamicStyles=!0;break}}),{type:6,styles,easing:collectedEasing,offset:metadata.offset,containsDynamicStyles,options:null}}_validateStyleAst(ast,context2){const timings=context2.currentAnimateTimings;let endTime=context2.currentTime,startTime=context2.currentTime;timings&&startTime>0&&(startTime-=timings.duration+timings.delay),ast.styles.forEach(tuple=>{"string"!=typeof tuple&&tuple.forEach((value,prop2)=>{const collectedStyles=context2.collectedStyles.get(context2.currentQuerySelector),collectedEntry=collectedStyles.get(prop2);let updateCollectedStyle=!0;collectedEntry&&(startTime!=endTime&&startTime>=collectedEntry.startTime&&endTime<=collectedEntry.endTime&&(context2.errors.push(function invalidParallelAnimation(prop2,firstStart,firstEnd,secondStart,secondEnd){return new RuntimeError(3010,!1)}()),updateCollectedStyle=!1),startTime=collectedEntry.startTime),updateCollectedStyle&&collectedStyles.set(prop2,{startTime,endTime}),context2.options&&function validateStyleParams(value,options,errors){const params=options.params||{},matches=extractStyleParams(value);matches.length&&matches.forEach(varName=>{params.hasOwnProperty(varName)||errors.push(function invalidStyleParams(varName){return new RuntimeError(3001,!1)}())})}(value,context2.options,context2.errors)})})}visitKeyframes(metadata,context2){const ast={type:5,styles:[],options:null};if(!context2.currentAnimateTimings)return context2.errors.push(function invalidKeyframes(){return new RuntimeError(3011,!1)}()),ast;let totalKeyframesWithOffsets=0;const offsets=[];let offsetsOutOfOrder=!1,keyframesOutOfRange=!1,previousOffset=0;const keyframes2=metadata.steps.map(styles=>{const style2=this._makeStyleAst(styles,context2);let offsetVal=null!=style2.offset?style2.offset:function consumeOffset(styles){if("string"==typeof styles)return null;let offset=null;if(Array.isArray(styles))styles.forEach(styleTuple=>{if(styleTuple instanceof Map&&styleTuple.has("offset")){const obj=styleTuple;offset=parseFloat(obj.get("offset")),obj.delete("offset")}});else if(styles instanceof Map&&styles.has("offset")){const obj=styles;offset=parseFloat(obj.get("offset")),obj.delete("offset")}return offset}(style2.styles),offset=0;return null!=offsetVal&&(totalKeyframesWithOffsets++,offset=style2.offset=offsetVal),keyframesOutOfRange=keyframesOutOfRange||offset<0||offset>1,offsetsOutOfOrder=offsetsOutOfOrder||offset0&&totalKeyframesWithOffsets{const offset=generatedOffset>0?i6==limit?1:generatedOffset*i6:offsets[i6],durationUpToThisFrame=offset*animateDuration;context2.currentTime=currentTime+currentAnimateTimings.delay+durationUpToThisFrame,currentAnimateTimings.duration=durationUpToThisFrame,this._validateStyleAst(kf,context2),kf.offset=offset,ast.styles.push(kf)}),ast}visitReference(metadata,context2){return{type:8,animation:visitDslNode(this,normalizeAnimationEntry(metadata.animation),context2),options:normalizeAnimationOptions(metadata.options)}}visitAnimateChild(metadata,context2){return context2.depCount++,{type:9,options:normalizeAnimationOptions(metadata.options)}}visitAnimateRef(metadata,context2){return{type:10,animation:this.visitReference(metadata.animation,context2),options:normalizeAnimationOptions(metadata.options)}}visitQuery(metadata,context2){const parentSelector=context2.currentQuerySelector,options=metadata.options||{};context2.queryCount++,context2.currentQuery=metadata;const[selector,includeSelf]=function normalizeSelector(selector){const hasAmpersand=!!selector.split(/\s*,\s*/).find(token=>":self"==token);return hasAmpersand&&(selector=selector.replace(SELF_TOKEN_REGEX,"")),[selector=selector.replace(/@\*/g,".ng-trigger").replace(/@\w+/g,match2=>".ng-trigger-"+match2.slice(1)).replace(/:animating/g,".ng-animating"),hasAmpersand]}(metadata.selector);context2.currentQuerySelector=parentSelector.length?parentSelector+" "+selector:selector,getOrSetDefaultValue(context2.collectedStyles,context2.currentQuerySelector,new Map);const animation2=visitDslNode(this,normalizeAnimationEntry(metadata.animation),context2);return context2.currentQuery=null,context2.currentQuerySelector=parentSelector,{type:11,selector,limit:options.limit||0,optional:!!options.optional,includeSelf,animation:animation2,originalSelector:metadata.selector,options:normalizeAnimationOptions(metadata.options)}}visitStagger(metadata,context2){context2.currentQuery||context2.errors.push(function invalidStagger(){return new RuntimeError(3013,!1)}());const timings="full"===metadata.timings?{duration:0,delay:0,easing:"full"}:resolveTiming(metadata.timings,context2.errors,!0);return{type:12,animation:visitDslNode(this,normalizeAnimationEntry(metadata.animation),context2),timings,options:null}}}class AnimationAstBuilderContext{constructor(errors){this.errors=errors,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function normalizeAnimationOptions(options){return options?(options=copyObj(options)).params&&(options.params=function normalizeParams(obj){return obj?copyObj(obj):null}(options.params)):options={},options}function makeTimingAst(duration,delay,easing){return{duration,delay,easing}}function createTimelineInstruction(element,keyframes2,preStyleProps,postStyleProps,duration,delay,easing=null,subTimeline=!1){return{type:1,element,keyframes:keyframes2,preStyleProps,postStyleProps,duration,delay,totalTime:duration+delay,easing,subTimeline}}class ElementInstructionMap{constructor(){this._map=new Map}get(element){return this._map.get(element)||[]}append(element,instructions){let existingInstructions=this._map.get(element);existingInstructions||this._map.set(element,existingInstructions=[]),existingInstructions.push(...instructions)}has(element){return this._map.has(element)}clear(){this._map.clear()}}const ENTER_TOKEN_REGEX=new RegExp(":enter","g"),LEAVE_TOKEN_REGEX=new RegExp(":leave","g");function buildAnimationTimelines(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles=new Map,finalStyles=new Map,options,subInstructions,errors=[]){return(new AnimationTimelineBuilderVisitor).buildKeyframes(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles,finalStyles,options,subInstructions,errors)}class AnimationTimelineBuilderVisitor{buildKeyframes(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles,finalStyles,options,subInstructions,errors=[]){subInstructions=subInstructions||new ElementInstructionMap;const context2=new AnimationTimelineContext(driver,rootElement,subInstructions,enterClassName,leaveClassName,errors,[]);context2.options=options;const delay=options.delay?resolveTimingValue(options.delay):0;context2.currentTimeline.delayNextStep(delay),context2.currentTimeline.setStyles([startingStyles],null,context2.errors,options),visitDslNode(this,ast,context2);const timelines=context2.timelines.filter(timeline=>timeline.containsAnimation());if(timelines.length&&finalStyles.size){let lastRootTimeline;for(let i6=timelines.length-1;i6>=0;i6--){const timeline=timelines[i6];if(timeline.element===rootElement){lastRootTimeline=timeline;break}}lastRootTimeline&&!lastRootTimeline.allowOnlyTimelineStyles()&&lastRootTimeline.setStyles([finalStyles],null,context2.errors,options)}return timelines.length?timelines.map(timeline=>timeline.buildKeyframes()):[createTimelineInstruction(rootElement,[],[],[],0,delay,"",!1)]}visitTrigger(ast,context2){}visitState(ast,context2){}visitTransition(ast,context2){}visitAnimateChild(ast,context2){const elementInstructions=context2.subInstructions.get(context2.element);if(elementInstructions){const innerContext=context2.createSubContext(ast.options),startTime=context2.currentTimeline.currentTime,endTime=this._visitSubInstructions(elementInstructions,innerContext,innerContext.options);startTime!=endTime&&context2.transformIntoNewTimeline(endTime)}context2.previousNode=ast}visitAnimateRef(ast,context2){const innerContext=context2.createSubContext(ast.options);innerContext.transformIntoNewTimeline(),this._applyAnimationRefDelays([ast.options,ast.animation.options],context2,innerContext),this.visitReference(ast.animation,innerContext),context2.transformIntoNewTimeline(innerContext.currentTimeline.currentTime),context2.previousNode=ast}_applyAnimationRefDelays(animationsRefsOptions,context2,innerContext){for(const animationRefOptions of animationsRefsOptions){const animationDelay=animationRefOptions?.delay;if(animationDelay){const animationDelayValue="number"==typeof animationDelay?animationDelay:resolveTimingValue(interpolateParams(animationDelay,animationRefOptions?.params??{},context2.errors));innerContext.delayNextStep(animationDelayValue)}}}_visitSubInstructions(instructions,context2,options){let furthestTime=context2.currentTimeline.currentTime;const duration=null!=options.duration?resolveTimingValue(options.duration):null,delay=null!=options.delay?resolveTimingValue(options.delay):null;return 0!==duration&&instructions.forEach(instruction=>{const instructionTimings=context2.appendInstructionToTimeline(instruction,duration,delay);furthestTime=Math.max(furthestTime,instructionTimings.duration+instructionTimings.delay)}),furthestTime}visitReference(ast,context2){context2.updateOptions(ast.options,!0),visitDslNode(this,ast.animation,context2),context2.previousNode=ast}visitSequence(ast,context2){const subContextCount=context2.subContextCount;let ctx=context2;const options=ast.options;if(options&&(options.params||options.delay)&&(ctx=context2.createSubContext(options),ctx.transformIntoNewTimeline(),null!=options.delay)){6==ctx.previousNode.type&&(ctx.currentTimeline.snapshotCurrentStyles(),ctx.previousNode=DEFAULT_NOOP_PREVIOUS_NODE);const delay=resolveTimingValue(options.delay);ctx.delayNextStep(delay)}ast.steps.length&&(ast.steps.forEach(s=>visitDslNode(this,s,ctx)),ctx.currentTimeline.applyStylesToKeyframe(),ctx.subContextCount>subContextCount&&ctx.transformIntoNewTimeline()),context2.previousNode=ast}visitGroup(ast,context2){const innerTimelines=[];let furthestTime=context2.currentTimeline.currentTime;const delay=ast.options&&ast.options.delay?resolveTimingValue(ast.options.delay):0;ast.steps.forEach(s=>{const innerContext=context2.createSubContext(ast.options);delay&&innerContext.delayNextStep(delay),visitDslNode(this,s,innerContext),furthestTime=Math.max(furthestTime,innerContext.currentTimeline.currentTime),innerTimelines.push(innerContext.currentTimeline)}),innerTimelines.forEach(timeline=>context2.currentTimeline.mergeTimelineCollectedStyles(timeline)),context2.transformIntoNewTimeline(furthestTime),context2.previousNode=ast}_visitTiming(ast,context2){if(ast.dynamic){const strValue=ast.strValue;return resolveTiming(context2.params?interpolateParams(strValue,context2.params,context2.errors):strValue,context2.errors)}return{duration:ast.duration,delay:ast.delay,easing:ast.easing}}visitAnimate(ast,context2){const timings=context2.currentAnimateTimings=this._visitTiming(ast.timings,context2),timeline=context2.currentTimeline;timings.delay&&(context2.incrementTime(timings.delay),timeline.snapshotCurrentStyles());const style2=ast.style;5==style2.type?this.visitKeyframes(style2,context2):(context2.incrementTime(timings.duration),this.visitStyle(style2,context2),timeline.applyStylesToKeyframe()),context2.currentAnimateTimings=null,context2.previousNode=ast}visitStyle(ast,context2){const timeline=context2.currentTimeline,timings=context2.currentAnimateTimings;!timings&&timeline.hasCurrentStyleProperties()&&timeline.forwardFrame();const easing=timings&&timings.easing||ast.easing;ast.isEmptyStep?timeline.applyEmptyStep(easing):timeline.setStyles(ast.styles,easing,context2.errors,context2.options),context2.previousNode=ast}visitKeyframes(ast,context2){const currentAnimateTimings=context2.currentAnimateTimings,startTime=context2.currentTimeline.duration,duration=currentAnimateTimings.duration,innerTimeline=context2.createSubContext().currentTimeline;innerTimeline.easing=currentAnimateTimings.easing,ast.styles.forEach(step=>{innerTimeline.forwardTime((step.offset||0)*duration),innerTimeline.setStyles(step.styles,step.easing,context2.errors,context2.options),innerTimeline.applyStylesToKeyframe()}),context2.currentTimeline.mergeTimelineCollectedStyles(innerTimeline),context2.transformIntoNewTimeline(startTime+duration),context2.previousNode=ast}visitQuery(ast,context2){const startTime=context2.currentTimeline.currentTime,options=ast.options||{},delay=options.delay?resolveTimingValue(options.delay):0;delay&&(6===context2.previousNode.type||0==startTime&&context2.currentTimeline.hasCurrentStyleProperties())&&(context2.currentTimeline.snapshotCurrentStyles(),context2.previousNode=DEFAULT_NOOP_PREVIOUS_NODE);let furthestTime=startTime;const elms=context2.invokeQuery(ast.selector,ast.originalSelector,ast.limit,ast.includeSelf,!!options.optional,context2.errors);context2.currentQueryTotal=elms.length;let sameElementTimeline=null;elms.forEach((element,i6)=>{context2.currentQueryIndex=i6;const innerContext=context2.createSubContext(ast.options,element);delay&&innerContext.delayNextStep(delay),element===context2.element&&(sameElementTimeline=innerContext.currentTimeline),visitDslNode(this,ast.animation,innerContext),innerContext.currentTimeline.applyStylesToKeyframe(),furthestTime=Math.max(furthestTime,innerContext.currentTimeline.currentTime)}),context2.currentQueryIndex=0,context2.currentQueryTotal=0,context2.transformIntoNewTimeline(furthestTime),sameElementTimeline&&(context2.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline),context2.currentTimeline.snapshotCurrentStyles()),context2.previousNode=ast}visitStagger(ast,context2){const parentContext=context2.parentContext,tl=context2.currentTimeline,timings=ast.timings,duration=Math.abs(timings.duration),maxTime=duration*(context2.currentQueryTotal-1);let delay=duration*context2.currentQueryIndex;switch(timings.duration<0?"reverse":timings.easing){case"reverse":delay=maxTime-delay;break;case"full":delay=parentContext.currentStaggerTime}const timeline=context2.currentTimeline;delay&&timeline.delayNextStep(delay);const startingTime=timeline.currentTime;visitDslNode(this,ast.animation,context2),context2.previousNode=ast,parentContext.currentStaggerTime=tl.currentTime-startingTime+(tl.startTime-parentContext.currentTimeline.startTime)}}const DEFAULT_NOOP_PREVIOUS_NODE={};class AnimationTimelineContext{constructor(_driver,element,subInstructions,_enterClassName,_leaveClassName,errors,timelines,initialTimeline){this._driver=_driver,this.element=element,this.subInstructions=subInstructions,this._enterClassName=_enterClassName,this._leaveClassName=_leaveClassName,this.errors=errors,this.timelines=timelines,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=DEFAULT_NOOP_PREVIOUS_NODE,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=initialTimeline||new TimelineBuilder(this._driver,element,0),timelines.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(options,skipIfExists){if(!options)return;const newOptions=options;let optionsToUpdate=this.options;null!=newOptions.duration&&(optionsToUpdate.duration=resolveTimingValue(newOptions.duration)),null!=newOptions.delay&&(optionsToUpdate.delay=resolveTimingValue(newOptions.delay));const newParams=newOptions.params;if(newParams){let paramsToUpdate=optionsToUpdate.params;paramsToUpdate||(paramsToUpdate=this.options.params={}),Object.keys(newParams).forEach(name=>{(!skipIfExists||!paramsToUpdate.hasOwnProperty(name))&&(paramsToUpdate[name]=interpolateParams(newParams[name],paramsToUpdate,this.errors))})}}_copyOptions(){const options={};if(this.options){const oldParams=this.options.params;if(oldParams){const params=options.params={};Object.keys(oldParams).forEach(name=>{params[name]=oldParams[name]})}}return options}createSubContext(options=null,element,newTime){const target=element||this.element,context2=new AnimationTimelineContext(this._driver,target,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(target,newTime||0));return context2.previousNode=this.previousNode,context2.currentAnimateTimings=this.currentAnimateTimings,context2.options=this._copyOptions(),context2.updateOptions(options),context2.currentQueryIndex=this.currentQueryIndex,context2.currentQueryTotal=this.currentQueryTotal,context2.parentContext=this,this.subContextCount++,context2}transformIntoNewTimeline(newTime){return this.previousNode=DEFAULT_NOOP_PREVIOUS_NODE,this.currentTimeline=this.currentTimeline.fork(this.element,newTime),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(instruction,duration,delay){const updatedTimings={duration:duration??instruction.duration,delay:this.currentTimeline.currentTime+(delay??0)+instruction.delay,easing:""},builder=new SubTimelineBuilder(this._driver,instruction.element,instruction.keyframes,instruction.preStyleProps,instruction.postStyleProps,updatedTimings,instruction.stretchStartingKeyframe);return this.timelines.push(builder),updatedTimings}incrementTime(time){this.currentTimeline.forwardTime(this.currentTimeline.duration+time)}delayNextStep(delay){delay>0&&this.currentTimeline.delayNextStep(delay)}invokeQuery(selector,originalSelector,limit,includeSelf,optional,errors){let results=[];if(includeSelf&&results.push(this.element),selector.length>0){selector=(selector=selector.replace(ENTER_TOKEN_REGEX,"."+this._enterClassName)).replace(LEAVE_TOKEN_REGEX,"."+this._leaveClassName);let elements=this._driver.query(this.element,selector,1!=limit);0!==limit&&(elements=limit<0?elements.slice(elements.length+limit,elements.length):elements.slice(0,limit)),results.push(...elements)}return!optional&&0==results.length&&errors.push(function invalidQuery(selector){return new RuntimeError(3014,!1)}()),results}}class TimelineBuilder{constructor(_driver,element,startTime,_elementTimelineStylesLookup){this._driver=_driver,this.element=element,this.startTime=startTime,this._elementTimelineStylesLookup=_elementTimelineStylesLookup,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(element),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(element,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(delay){const hasPreStyleStep=1===this._keyframes.size&&this._pendingStyles.size;this.duration||hasPreStyleStep?(this.forwardTime(this.currentTime+delay),hasPreStyleStep&&this.snapshotCurrentStyles()):this.startTime+=delay}fork(element,currentTime){return this.applyStylesToKeyframe(),new TimelineBuilder(this._driver,element,currentTime||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(time){this.applyStylesToKeyframe(),this.duration=time,this._loadKeyframe()}_updateStyle(prop2,value){this._localTimelineStyles.set(prop2,value),this._globalTimelineStyles.set(prop2,value),this._styleSummary.set(prop2,{time:this.currentTime,value})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(easing){easing&&this._previousKeyframe.set("easing",easing);for(let[prop2,value]of this._globalTimelineStyles)this._backFill.set(prop2,value||"*"),this._currentKeyframe.set(prop2,"*");this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(input,easing,errors,options){easing&&this._previousKeyframe.set("easing",easing);const params=options&&options.params||{},styles=function flattenStyles(input,allStyles){const styles=new Map;let allProperties;return input.forEach(token=>{if("*"===token){allProperties=allProperties||allStyles.keys();for(let prop2 of allProperties)styles.set(prop2,"*")}else copyStyles(token,styles)}),styles}(input,this._globalTimelineStyles);for(let[prop2,value]of styles){const val=interpolateParams(value,params,errors);this._pendingStyles.set(prop2,val),this._localTimelineStyles.has(prop2)||this._backFill.set(prop2,this._globalTimelineStyles.get(prop2)??"*"),this._updateStyle(prop2,val)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((val,prop2)=>{this._currentKeyframe.set(prop2,val)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((val,prop2)=>{this._currentKeyframe.has(prop2)||this._currentKeyframe.set(prop2,val)}))}snapshotCurrentStyles(){for(let[prop2,val]of this._localTimelineStyles)this._pendingStyles.set(prop2,val),this._updateStyle(prop2,val)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const properties=[];for(let prop2 in this._currentKeyframe)properties.push(prop2);return properties}mergeTimelineCollectedStyles(timeline){timeline._styleSummary.forEach((details1,prop2)=>{const details0=this._styleSummary.get(prop2);(!details0||details1.time>details0.time)&&this._updateStyle(prop2,details1.value)})}buildKeyframes(){this.applyStylesToKeyframe();const preStyleProps=new Set,postStyleProps=new Set,isEmpty2=1===this._keyframes.size&&0===this.duration;let finalKeyframes=[];this._keyframes.forEach((keyframe,time)=>{const finalKeyframe=copyStyles(keyframe,new Map,this._backFill);finalKeyframe.forEach((value,prop2)=>{"!"===value?preStyleProps.add(prop2):"*"===value&&postStyleProps.add(prop2)}),isEmpty2||finalKeyframe.set("offset",time/this.duration),finalKeyframes.push(finalKeyframe)});const preProps=preStyleProps.size?iteratorToArray(preStyleProps.values()):[],postProps=postStyleProps.size?iteratorToArray(postStyleProps.values()):[];if(isEmpty2){const kf0=finalKeyframes[0],kf1=new Map(kf0);kf0.set("offset",0),kf1.set("offset",1),finalKeyframes=[kf0,kf1]}return createTimelineInstruction(this.element,finalKeyframes,preProps,postProps,this.duration,this.startTime,this.easing,!1)}}class SubTimelineBuilder extends TimelineBuilder{constructor(driver,element,keyframes2,preStyleProps,postStyleProps,timings,_stretchStartingKeyframe=!1){super(driver,element,timings.delay),this.keyframes=keyframes2,this.preStyleProps=preStyleProps,this.postStyleProps=postStyleProps,this._stretchStartingKeyframe=_stretchStartingKeyframe,this.timings={duration:timings.duration,delay:timings.delay,easing:timings.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let keyframes2=this.keyframes,{delay,duration,easing}=this.timings;if(this._stretchStartingKeyframe&&delay){const newKeyframes=[],totalTime=duration+delay,startingGap=delay/totalTime,newFirstKeyframe=copyStyles(keyframes2[0]);newFirstKeyframe.set("offset",0),newKeyframes.push(newFirstKeyframe);const oldFirstKeyframe=copyStyles(keyframes2[0]);oldFirstKeyframe.set("offset",roundOffset(startingGap)),newKeyframes.push(oldFirstKeyframe);const limit=keyframes2.length-1;for(let i6=1;i6<=limit;i6++){let kf=copyStyles(keyframes2[i6]);const oldOffset=kf.get("offset");kf.set("offset",roundOffset((delay+oldOffset*duration)/totalTime)),newKeyframes.push(kf)}duration=totalTime,delay=0,easing="",keyframes2=newKeyframes}return createTimelineInstruction(this.element,keyframes2,this.preStyleProps,this.postStyleProps,duration,delay,easing,!0)}}function roundOffset(offset,decimalPoints=3){const mult=Math.pow(10,decimalPoints-1);return Math.round(offset*mult)/mult}class AnimationStyleNormalizer{}const DIMENSIONAL_PROP_SET=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class WebAnimationsStyleNormalizer extends AnimationStyleNormalizer{normalizePropertyName(propertyName,errors){return dashCaseToCamelCase(propertyName)}normalizeStyleValue(userProvidedProperty,normalizedProperty,value,errors){let unit="";const strVal=value.toString().trim();if(DIMENSIONAL_PROP_SET.has(normalizedProperty)&&0!==value&&"0"!==value)if("number"==typeof value)unit="px";else{const valAndSuffixMatch=value.match(/^[+-]?[\d\.]+([a-z]*)$/);valAndSuffixMatch&&0==valAndSuffixMatch[1].length&&errors.push(function invalidCssUnitValue(userProvidedProperty,value){return new RuntimeError(3005,!1)}())}return strVal+unit}}function createTransitionInstruction(element,triggerName,fromState,toState,isRemovalTransition,fromStyles,toStyles,timelines,queriedElements,preStyleProps,postStyleProps,totalTime,errors){return{type:0,element,triggerName,isRemovalTransition,fromState,fromStyles,toState,toStyles,timelines,queriedElements,preStyleProps,postStyleProps,totalTime,errors}}const EMPTY_OBJECT={};class AnimationTransitionFactory{constructor(_triggerName,ast,_stateStyles){this._triggerName=_triggerName,this.ast=ast,this._stateStyles=_stateStyles}match(currentState,nextState,element,params){return function oneOrMoreTransitionsMatch(matchFns,currentState,nextState,element,params){return matchFns.some(fn=>fn(currentState,nextState,element,params))}(this.ast.matchers,currentState,nextState,element,params)}buildStyles(stateName,params,errors){let styler=this._stateStyles.get("*");return void 0!==stateName&&(styler=this._stateStyles.get(stateName?.toString())||styler),styler?styler.buildStyles(params,errors):new Map}build(driver,element,currentState,nextState,enterClassName,leaveClassName,currentOptions,nextOptions,subInstructions,skipAstBuild){const errors=[],transitionAnimationParams=this.ast.options&&this.ast.options.params||EMPTY_OBJECT,currentStateStyles=this.buildStyles(currentState,currentOptions&¤tOptions.params||EMPTY_OBJECT,errors),nextAnimationParams=nextOptions&&nextOptions.params||EMPTY_OBJECT,nextStateStyles=this.buildStyles(nextState,nextAnimationParams,errors),queriedElements=new Set,preStyleMap=new Map,postStyleMap=new Map,isRemoval="void"===nextState,animationOptions={params:applyParamDefaults(nextAnimationParams,transitionAnimationParams),delay:this.ast.options?.delay},timelines=skipAstBuild?[]:buildAnimationTimelines(driver,element,this.ast.animation,enterClassName,leaveClassName,currentStateStyles,nextStateStyles,animationOptions,subInstructions,errors);let totalTime=0;if(timelines.forEach(tl=>{totalTime=Math.max(tl.duration+tl.delay,totalTime)}),errors.length)return createTransitionInstruction(element,this._triggerName,currentState,nextState,isRemoval,currentStateStyles,nextStateStyles,[],[],preStyleMap,postStyleMap,totalTime,errors);timelines.forEach(tl=>{const elm=tl.element,preProps=getOrSetDefaultValue(preStyleMap,elm,new Set);tl.preStyleProps.forEach(prop2=>preProps.add(prop2));const postProps=getOrSetDefaultValue(postStyleMap,elm,new Set);tl.postStyleProps.forEach(prop2=>postProps.add(prop2)),elm!==element&&queriedElements.add(elm)});const queriedElementsList=iteratorToArray(queriedElements.values());return createTransitionInstruction(element,this._triggerName,currentState,nextState,isRemoval,currentStateStyles,nextStateStyles,timelines,queriedElementsList,preStyleMap,postStyleMap,totalTime)}}function applyParamDefaults(userParams,defaults2){const result=copyObj(defaults2);for(const key in userParams)userParams.hasOwnProperty(key)&&null!=userParams[key]&&(result[key]=userParams[key]);return result}class AnimationStateStyles{constructor(styles,defaultParams,normalizer){this.styles=styles,this.defaultParams=defaultParams,this.normalizer=normalizer}buildStyles(params,errors){const finalStyles=new Map,combinedParams=copyObj(this.defaultParams);return Object.keys(params).forEach(key=>{const value=params[key];null!==value&&(combinedParams[key]=value)}),this.styles.styles.forEach(value=>{"string"!=typeof value&&value.forEach((val,prop2)=>{val&&(val=interpolateParams(val,combinedParams,errors));const normalizedProp=this.normalizer.normalizePropertyName(prop2,errors);val=this.normalizer.normalizeStyleValue(prop2,normalizedProp,val,errors),finalStyles.set(prop2,val)})}),finalStyles}}class AnimationTrigger{constructor(name,ast,_normalizer){this.name=name,this.ast=ast,this._normalizer=_normalizer,this.transitionFactories=[],this.states=new Map,ast.states.forEach(ast2=>{this.states.set(ast2.name,new AnimationStateStyles(ast2.style,ast2.options&&ast2.options.params||{},_normalizer))}),balanceProperties(this.states,"true","1"),balanceProperties(this.states,"false","0"),ast.transitions.forEach(ast2=>{this.transitionFactories.push(new AnimationTransitionFactory(name,ast2,this.states))}),this.fallbackTransition=function createFallbackTransition(triggerName,states,normalizer){return new AnimationTransitionFactory(triggerName,{type:1,animation:{type:2,steps:[],options:null},matchers:[(fromState,toState)=>!0],options:null,queryCount:0,depCount:0},states)}(name,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(currentState,nextState,element,params){return this.transitionFactories.find(f=>f.match(currentState,nextState,element,params))||null}matchStyles(currentState,params,errors){return this.fallbackTransition.buildStyles(currentState,params,errors)}}function balanceProperties(stateMap,key1,key2){stateMap.has(key1)?stateMap.has(key2)||stateMap.set(key2,stateMap.get(key1)):stateMap.has(key2)&&stateMap.set(key1,stateMap.get(key2))}const EMPTY_INSTRUCTION_MAP=new ElementInstructionMap;class TimelineAnimationEngine{constructor(bodyNode,_driver,_normalizer){this.bodyNode=bodyNode,this._driver=_driver,this._normalizer=_normalizer,this._animations=new Map,this._playersById=new Map,this.players=[]}register(id,metadata){const errors=[],ast=buildAnimationAst(this._driver,metadata,errors,[]);if(errors.length)throw function registerFailed(errors){return new RuntimeError(3503,!1)}();this._animations.set(id,ast)}_buildPlayer(i6,preStyles,postStyles){const element=i6.element,keyframes2=normalizeKeyframes$1(this._normalizer,i6.keyframes,preStyles,postStyles);return this._driver.animate(element,keyframes2,i6.duration,i6.delay,i6.easing,[],!0)}create(id,element,options={}){const errors=[],ast=this._animations.get(id);let instructions;const autoStylesMap=new Map;if(ast?(instructions=buildAnimationTimelines(this._driver,element,ast,"ng-enter","ng-leave",new Map,new Map,options,EMPTY_INSTRUCTION_MAP,errors),instructions.forEach(inst=>{const styles=getOrSetDefaultValue(autoStylesMap,inst.element,new Map);inst.postStyleProps.forEach(prop2=>styles.set(prop2,null))})):(errors.push(function missingOrDestroyedAnimation(){return new RuntimeError(3300,!1)}()),instructions=[]),errors.length)throw function createAnimationFailed(errors){return new RuntimeError(3504,!1)}();autoStylesMap.forEach((styles,element2)=>{styles.forEach((_,prop2)=>{styles.set(prop2,this._driver.computeStyle(element2,prop2,"*"))})});const player=optimizeGroupPlayer(instructions.map(i6=>{const styles=autoStylesMap.get(i6.element);return this._buildPlayer(i6,new Map,styles)}));return this._playersById.set(id,player),player.onDestroy(()=>this.destroy(id)),this.players.push(player),player}destroy(id){const player=this._getPlayer(id);player.destroy(),this._playersById.delete(id);const index=this.players.indexOf(player);index>=0&&this.players.splice(index,1)}_getPlayer(id){const player=this._playersById.get(id);if(!player)throw function missingPlayer(id){return new RuntimeError(3301,!1)}();return player}listen(id,element,eventName,callback){const baseEvent=makeAnimationEvent(element,"","","");return listenOnPlayer(this._getPlayer(id),eventName,baseEvent,callback),()=>{}}command(id,element,command,args){if("register"==command)return void this.register(id,args[0]);if("create"==command)return void this.create(id,element,args[0]||{});const player=this._getPlayer(id);switch(command){case"play":player.play();break;case"pause":player.pause();break;case"reset":player.reset();break;case"restart":player.restart();break;case"finish":player.finish();break;case"init":player.init();break;case"setPosition":player.setPosition(parseFloat(args[0]));break;case"destroy":this.destroy(id)}}}const EMPTY_PLAYER_ARRAY=[],NULL_REMOVAL_STATE={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},NULL_REMOVED_QUERIED_STATE={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0};class StateValue{get params(){return this.options.params}constructor(input,namespaceId=""){this.namespaceId=namespaceId;const isObj=input&&input.hasOwnProperty("value");if(this.value=function normalizeTriggerValue(value){return value??null}(isObj?input.value:input),isObj){const options=copyObj(input);delete options.value,this.options=options}else this.options={};this.options.params||(this.options.params={})}absorbOptions(options){const newParams=options.params;if(newParams){const oldParams=this.options.params;Object.keys(newParams).forEach(prop2=>{null==oldParams[prop2]&&(oldParams[prop2]=newParams[prop2])})}}}const DEFAULT_STATE_VALUE=new StateValue("void");class AnimationTransitionNamespace{constructor(id,hostElement,_engine){this.id=id,this.hostElement=hostElement,this._engine=_engine,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+id,addClass(hostElement,this._hostClassName)}listen(element,name,phase,callback){if(!this._triggers.has(name))throw function missingTrigger(phase,name){return new RuntimeError(3302,!1)}();if(null==phase||0==phase.length)throw function missingEvent(name){return new RuntimeError(3303,!1)}();if(!function isTriggerEventValid(eventName){return"start"==eventName||"done"==eventName}(phase))throw function unsupportedTriggerEvent(phase,name){return new RuntimeError(3400,!1)}();const listeners=getOrSetDefaultValue(this._elementListeners,element,[]),data={name,phase,callback};listeners.push(data);const triggersWithStates=getOrSetDefaultValue(this._engine.statesByElement,element,new Map);return triggersWithStates.has(name)||(addClass(element,"ng-trigger"),addClass(element,"ng-trigger-"+name),triggersWithStates.set(name,DEFAULT_STATE_VALUE)),()=>{this._engine.afterFlush(()=>{const index=listeners.indexOf(data);index>=0&&listeners.splice(index,1),this._triggers.has(name)||triggersWithStates.delete(name)})}}register(name,ast){return!this._triggers.has(name)&&(this._triggers.set(name,ast),!0)}_getTrigger(name){const trigger2=this._triggers.get(name);if(!trigger2)throw function unregisteredTrigger(name){return new RuntimeError(3401,!1)}();return trigger2}trigger(element,triggerName,value,defaultToFallback=!0){const trigger2=this._getTrigger(triggerName),player=new TransitionAnimationPlayer(this.id,triggerName,element);let triggersWithStates=this._engine.statesByElement.get(element);triggersWithStates||(addClass(element,"ng-trigger"),addClass(element,"ng-trigger-"+triggerName),this._engine.statesByElement.set(element,triggersWithStates=new Map));let fromState=triggersWithStates.get(triggerName);const toState=new StateValue(value,this.id);if(!(value&&value.hasOwnProperty("value"))&&fromState&&toState.absorbOptions(fromState.options),triggersWithStates.set(triggerName,toState),fromState||(fromState=DEFAULT_STATE_VALUE),"void"!==toState.value&&fromState.value===toState.value){if(!function objEquals(a,b){const k1=Object.keys(a),k2=Object.keys(b);if(k1.length!=k2.length)return!1;for(let i6=0;i6{eraseStyles(element,fromStyles),setStyles(element,toStyles)})}return}const playersOnElement=getOrSetDefaultValue(this._engine.playersByElement,element,[]);playersOnElement.forEach(player2=>{player2.namespaceId==this.id&&player2.triggerName==triggerName&&player2.queued&&player2.destroy()});let transition2=trigger2.matchTransition(fromState.value,toState.value,element,toState.params),isFallbackTransition=!1;if(!transition2){if(!defaultToFallback)return;transition2=trigger2.fallbackTransition,isFallbackTransition=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element,triggerName,transition:transition2,fromState,toState,player,isFallbackTransition}),isFallbackTransition||(addClass(element,"ng-animate-queued"),player.onStart(()=>{removeClass(element,"ng-animate-queued")})),player.onDone(()=>{let index=this.players.indexOf(player);index>=0&&this.players.splice(index,1);const players=this._engine.playersByElement.get(element);if(players){let index2=players.indexOf(player);index2>=0&&players.splice(index2,1)}}),this.players.push(player),playersOnElement.push(player),player}deregister(name){this._triggers.delete(name),this._engine.statesByElement.forEach(stateMap=>stateMap.delete(name)),this._elementListeners.forEach((listeners,element)=>{this._elementListeners.set(element,listeners.filter(entry=>entry.name!=name))})}clearElementCache(element){this._engine.statesByElement.delete(element),this._elementListeners.delete(element);const elementPlayers=this._engine.playersByElement.get(element);elementPlayers&&(elementPlayers.forEach(player=>player.destroy()),this._engine.playersByElement.delete(element))}_signalRemovalForInnerTriggers(rootElement,context2){const elements=this._engine.driver.query(rootElement,".ng-trigger",!0);elements.forEach(elm=>{if(elm.__ng_removed)return;const namespaces=this._engine.fetchNamespacesByElement(elm);namespaces.size?namespaces.forEach(ns=>ns.triggerLeaveAnimation(elm,context2,!1,!0)):this.clearElementCache(elm)}),this._engine.afterFlushAnimationsDone(()=>elements.forEach(elm=>this.clearElementCache(elm)))}triggerLeaveAnimation(element,context2,destroyAfterComplete,defaultToFallback){const triggerStates=this._engine.statesByElement.get(element),previousTriggersValues=new Map;if(triggerStates){const players=[];if(triggerStates.forEach((state2,triggerName)=>{if(previousTriggersValues.set(triggerName,state2.value),this._triggers.has(triggerName)){const player=this.trigger(element,triggerName,"void",defaultToFallback);player&&players.push(player)}}),players.length)return this._engine.markElementAsRemoved(this.id,element,!0,context2,previousTriggersValues),destroyAfterComplete&&optimizeGroupPlayer(players).onDone(()=>this._engine.processLeaveNode(element)),!0}return!1}prepareLeaveAnimationListeners(element){const listeners=this._elementListeners.get(element),elementStates=this._engine.statesByElement.get(element);if(listeners&&elementStates){const visitedTriggers=new Set;listeners.forEach(listener=>{const triggerName=listener.name;if(visitedTriggers.has(triggerName))return;visitedTriggers.add(triggerName);const transition2=this._triggers.get(triggerName).fallbackTransition,fromState=elementStates.get(triggerName)||DEFAULT_STATE_VALUE,toState=new StateValue("void"),player=new TransitionAnimationPlayer(this.id,triggerName,element);this._engine.totalQueuedPlayers++,this._queue.push({element,triggerName,transition:transition2,fromState,toState,player,isFallbackTransition:!0})})}}removeNode(element,context2){const engine=this._engine;if(element.childElementCount&&this._signalRemovalForInnerTriggers(element,context2),this.triggerLeaveAnimation(element,context2,!0))return;let containsPotentialParentTransition=!1;if(engine.totalAnimations){const currentPlayers=engine.players.length?engine.playersByQueriedElement.get(element):[];if(currentPlayers&¤tPlayers.length)containsPotentialParentTransition=!0;else{let parent=element;for(;parent=parent.parentNode;)if(engine.statesByElement.get(parent)){containsPotentialParentTransition=!0;break}}}if(this.prepareLeaveAnimationListeners(element),containsPotentialParentTransition)engine.markElementAsRemoved(this.id,element,!1,context2);else{const removalFlag=element.__ng_removed;(!removalFlag||removalFlag===NULL_REMOVAL_STATE)&&(engine.afterFlush(()=>this.clearElementCache(element)),engine.destroyInnerAnimations(element),engine._onRemovalComplete(element,context2))}}insertNode(element,parent){addClass(element,this._hostClassName)}drainQueuedTransitions(microtaskId){const instructions=[];return this._queue.forEach(entry=>{const player=entry.player;if(player.destroyed)return;const element=entry.element,listeners=this._elementListeners.get(element);listeners&&listeners.forEach(listener=>{if(listener.name==entry.triggerName){const baseEvent=makeAnimationEvent(element,entry.triggerName,entry.fromState.value,entry.toState.value);baseEvent._data=microtaskId,listenOnPlayer(entry.player,listener.phase,baseEvent,listener.callback)}}),player.markedForDestroy?this._engine.afterFlush(()=>{player.destroy()}):instructions.push(entry)}),this._queue=[],instructions.sort((a,b)=>{const d0=a.transition.ast.depCount,d1=b.transition.ast.depCount;return 0==d0||0==d1?d0-d1:this._engine.driver.containsElement(a.element,b.element)?1:-1})}destroy(context2){this.players.forEach(p=>p.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,context2)}}class TransitionAnimationEngine{_onRemovalComplete(element,context2){this.onRemovalComplete(element,context2)}constructor(bodyNode,driver,_normalizer){this.bodyNode=bodyNode,this.driver=driver,this._normalizer=_normalizer,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(element,context2)=>{}}get queuedPlayers(){const players=[];return this._namespaceList.forEach(ns=>{ns.players.forEach(player=>{player.queued&&players.push(player)})}),players}createNamespace(namespaceId,hostElement){const ns=new AnimationTransitionNamespace(namespaceId,hostElement,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,hostElement)?this._balanceNamespaceList(ns,hostElement):(this.newHostElements.set(hostElement,ns),this.collectEnterElement(hostElement)),this._namespaceLookup[namespaceId]=ns}_balanceNamespaceList(ns,hostElement){const namespaceList=this._namespaceList,namespacesByHostElement=this.namespacesByHostElement;if(namespaceList.length-1>=0){let found=!1,ancestor=this.driver.getParentElement(hostElement);for(;ancestor;){const ancestorNs=namespacesByHostElement.get(ancestor);if(ancestorNs){const index=namespaceList.indexOf(ancestorNs);namespaceList.splice(index+1,0,ns),found=!0;break}ancestor=this.driver.getParentElement(ancestor)}found||namespaceList.unshift(ns)}else namespaceList.push(ns);return namespacesByHostElement.set(hostElement,ns),ns}register(namespaceId,hostElement){let ns=this._namespaceLookup[namespaceId];return ns||(ns=this.createNamespace(namespaceId,hostElement)),ns}registerTrigger(namespaceId,name,trigger2){let ns=this._namespaceLookup[namespaceId];ns&&ns.register(name,trigger2)&&this.totalAnimations++}destroy(namespaceId,context2){namespaceId&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const ns=this._fetchNamespace(namespaceId);this.namespacesByHostElement.delete(ns.hostElement);const index=this._namespaceList.indexOf(ns);index>=0&&this._namespaceList.splice(index,1),ns.destroy(context2),delete this._namespaceLookup[namespaceId]}))}_fetchNamespace(id){return this._namespaceLookup[id]}fetchNamespacesByElement(element){const namespaces=new Set,elementStates=this.statesByElement.get(element);if(elementStates)for(let stateValue of elementStates.values())if(stateValue.namespaceId){const ns=this._fetchNamespace(stateValue.namespaceId);ns&&namespaces.add(ns)}return namespaces}trigger(namespaceId,element,name,value){if(isElementNode(element)){const ns=this._fetchNamespace(namespaceId);if(ns)return ns.trigger(element,name,value),!0}return!1}insertNode(namespaceId,element,parent,insertBefore){if(!isElementNode(element))return;const details=element.__ng_removed;if(details&&details.setForRemoval){details.setForRemoval=!1,details.setForMove=!0;const index=this.collectedLeaveElements.indexOf(element);index>=0&&this.collectedLeaveElements.splice(index,1)}if(namespaceId){const ns=this._fetchNamespace(namespaceId);ns&&ns.insertNode(element,parent)}insertBefore&&this.collectEnterElement(element)}collectEnterElement(element){this.collectedEnterElements.push(element)}markElementAsDisabled(element,value){value?this.disabledNodes.has(element)||(this.disabledNodes.add(element),addClass(element,"ng-animate-disabled")):this.disabledNodes.has(element)&&(this.disabledNodes.delete(element),removeClass(element,"ng-animate-disabled"))}removeNode(namespaceId,element,context2){if(isElementNode(element)){const ns=namespaceId?this._fetchNamespace(namespaceId):null;ns?ns.removeNode(element,context2):this.markElementAsRemoved(namespaceId,element,!1,context2);const hostNS=this.namespacesByHostElement.get(element);hostNS&&hostNS.id!==namespaceId&&hostNS.removeNode(element,context2)}else this._onRemovalComplete(element,context2)}markElementAsRemoved(namespaceId,element,hasAnimation,context2,previousTriggersValues){this.collectedLeaveElements.push(element),element.__ng_removed={namespaceId,setForRemoval:context2,hasAnimation,removedBeforeQueried:!1,previousTriggersValues}}listen(namespaceId,element,name,phase,callback){return isElementNode(element)?this._fetchNamespace(namespaceId).listen(element,name,phase,callback):()=>{}}_buildInstruction(entry,subTimelines,enterClassName,leaveClassName,skipBuildAst){return entry.transition.build(this.driver,entry.element,entry.fromState.value,entry.toState.value,enterClassName,leaveClassName,entry.fromState.options,entry.toState.options,subTimelines,skipBuildAst)}destroyInnerAnimations(containerElement){let elements=this.driver.query(containerElement,".ng-trigger",!0);elements.forEach(element=>this.destroyActiveAnimationsForElement(element)),0!=this.playersByQueriedElement.size&&(elements=this.driver.query(containerElement,".ng-animating",!0),elements.forEach(element=>this.finishActiveQueriedAnimationOnElement(element)))}destroyActiveAnimationsForElement(element){const players=this.playersByElement.get(element);players&&players.forEach(player=>{player.queued?player.markedForDestroy=!0:player.destroy()})}finishActiveQueriedAnimationOnElement(element){const players=this.playersByQueriedElement.get(element);players&&players.forEach(player=>player.finish())}whenRenderingDone(){return new Promise(resolve=>{if(this.players.length)return optimizeGroupPlayer(this.players).onDone(()=>resolve());resolve()})}processLeaveNode(element){const details=element.__ng_removed;if(details&&details.setForRemoval){if(element.__ng_removed=NULL_REMOVAL_STATE,details.namespaceId){this.destroyInnerAnimations(element);const ns=this._fetchNamespace(details.namespaceId);ns&&ns.clearElementCache(element)}this._onRemovalComplete(element,details.setForRemoval)}element.classList?.contains("ng-animate-disabled")&&this.markElementAsDisabled(element,!1),this.driver.query(element,".ng-animate-disabled",!0).forEach(node2=>{this.markElementAsDisabled(node2,!1)})}flush(microtaskId=-1){let players=[];if(this.newHostElements.size&&(this.newHostElements.forEach((ns,element)=>this._balanceNamespaceList(ns,element)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i6=0;i6fn()),this._flushFns=[],this._whenQuietFns.length){const quietFns=this._whenQuietFns;this._whenQuietFns=[],players.length?optimizeGroupPlayer(players).onDone(()=>{quietFns.forEach(fn=>fn())}):quietFns.forEach(fn=>fn())}}reportError(errors){throw function triggerTransitionsFailed(errors){return new RuntimeError(3402,!1)}()}_flushAnimations(cleanupFns,microtaskId){const subTimelines=new ElementInstructionMap,skippedPlayers=[],skippedPlayersMap=new Map,queuedInstructions=[],queriedElements=new Map,allPreStyleElements=new Map,allPostStyleElements=new Map,disabledElementsSet=new Set;this.disabledNodes.forEach(node2=>{disabledElementsSet.add(node2);const nodesThatAreDisabled=this.driver.query(node2,".ng-animate-queued",!0);for(let i7=0;i7{const className="ng-enter"+i6++;enterNodeMapIds.set(root,className),nodes.forEach(node2=>addClass(node2,className))});const allLeaveNodes=[],mergedLeaveNodes=new Set,leaveNodesWithoutAnimations=new Set;for(let i7=0;i7mergedLeaveNodes.add(elm)):leaveNodesWithoutAnimations.add(element))}const leaveNodeMapIds=new Map,leaveNodeMap=buildRootMap(allTriggerElements,Array.from(mergedLeaveNodes));leaveNodeMap.forEach((nodes,root)=>{const className="ng-leave"+i6++;leaveNodeMapIds.set(root,className),nodes.forEach(node2=>addClass(node2,className))}),cleanupFns.push(()=>{enterNodeMap.forEach((nodes,root)=>{const className=enterNodeMapIds.get(root);nodes.forEach(node2=>removeClass(node2,className))}),leaveNodeMap.forEach((nodes,root)=>{const className=leaveNodeMapIds.get(root);nodes.forEach(node2=>removeClass(node2,className))}),allLeaveNodes.forEach(element=>{this.processLeaveNode(element)})});const allPlayers=[],erroneousTransitions=[];for(let i7=this._namespaceList.length-1;i7>=0;i7--)this._namespaceList[i7].drainQueuedTransitions(microtaskId).forEach(entry=>{const player=entry.player,element=entry.element;if(allPlayers.push(player),this.collectedEnterElements.length){const details=element.__ng_removed;if(details&&details.setForMove){if(details.previousTriggersValues&&details.previousTriggersValues.has(entry.triggerName)){const previousValue=details.previousTriggersValues.get(entry.triggerName),triggersWithStates=this.statesByElement.get(entry.element);if(triggersWithStates&&triggersWithStates.has(entry.triggerName)){const state2=triggersWithStates.get(entry.triggerName);state2.value=previousValue,triggersWithStates.set(entry.triggerName,state2)}}return void player.destroy()}}const nodeIsOrphaned=!bodyNode||!this.driver.containsElement(bodyNode,element),leaveClassName=leaveNodeMapIds.get(element),enterClassName=enterNodeMapIds.get(element),instruction=this._buildInstruction(entry,subTimelines,enterClassName,leaveClassName,nodeIsOrphaned);if(instruction.errors&&instruction.errors.length)return void erroneousTransitions.push(instruction);if(nodeIsOrphaned)return player.onStart(()=>eraseStyles(element,instruction.fromStyles)),player.onDestroy(()=>setStyles(element,instruction.toStyles)),void skippedPlayers.push(player);if(entry.isFallbackTransition)return player.onStart(()=>eraseStyles(element,instruction.fromStyles)),player.onDestroy(()=>setStyles(element,instruction.toStyles)),void skippedPlayers.push(player);const timelines=[];instruction.timelines.forEach(tl=>{tl.stretchStartingKeyframe=!0,this.disabledNodes.has(tl.element)||timelines.push(tl)}),instruction.timelines=timelines,subTimelines.append(element,instruction.timelines),queuedInstructions.push({instruction,player,element}),instruction.queriedElements.forEach(element2=>getOrSetDefaultValue(queriedElements,element2,[]).push(player)),instruction.preStyleProps.forEach((stringMap,element2)=>{if(stringMap.size){let setVal=allPreStyleElements.get(element2);setVal||allPreStyleElements.set(element2,setVal=new Set),stringMap.forEach((_,prop2)=>setVal.add(prop2))}}),instruction.postStyleProps.forEach((stringMap,element2)=>{let setVal=allPostStyleElements.get(element2);setVal||allPostStyleElements.set(element2,setVal=new Set),stringMap.forEach((_,prop2)=>setVal.add(prop2))})});if(erroneousTransitions.length){const errors=[];erroneousTransitions.forEach(instruction=>{errors.push(function transitionFailed(name,errors){return new RuntimeError(3505,!1)}())}),allPlayers.forEach(player=>player.destroy()),this.reportError(errors)}const allPreviousPlayersMap=new Map,animationElementMap=new Map;queuedInstructions.forEach(entry=>{const element=entry.element;subTimelines.has(element)&&(animationElementMap.set(element,element),this._beforeAnimationBuild(entry.player.namespaceId,entry.instruction,allPreviousPlayersMap))}),skippedPlayers.forEach(player=>{const element=player.element;this._getPreviousPlayers(element,!1,player.namespaceId,player.triggerName,null).forEach(prevPlayer=>{getOrSetDefaultValue(allPreviousPlayersMap,element,[]).push(prevPlayer),prevPlayer.destroy()})});const replaceNodes=allLeaveNodes.filter(node2=>replacePostStylesAsPre(node2,allPreStyleElements,allPostStyleElements)),postStylesMap=new Map;cloakAndComputeStyles(postStylesMap,this.driver,leaveNodesWithoutAnimations,allPostStyleElements,"*").forEach(node2=>{replacePostStylesAsPre(node2,allPreStyleElements,allPostStyleElements)&&replaceNodes.push(node2)});const preStylesMap=new Map;enterNodeMap.forEach((nodes,root)=>{cloakAndComputeStyles(preStylesMap,this.driver,new Set(nodes),allPreStyleElements,"!")}),replaceNodes.forEach(node2=>{const post=postStylesMap.get(node2),pre=preStylesMap.get(node2);postStylesMap.set(node2,new Map([...post?.entries()??[],...pre?.entries()??[]]))});const rootPlayers=[],subPlayers=[],NO_PARENT_ANIMATION_ELEMENT_DETECTED={};queuedInstructions.forEach(entry=>{const{element,player,instruction}=entry;if(subTimelines.has(element)){if(disabledElementsSet.has(element))return player.onDestroy(()=>setStyles(element,instruction.toStyles)),player.disabled=!0,player.overrideTotalTime(instruction.totalTime),void skippedPlayers.push(player);let parentWithAnimation=NO_PARENT_ANIMATION_ELEMENT_DETECTED;if(animationElementMap.size>1){let elm=element;const parentsToAdd=[];for(;elm=elm.parentNode;){const detectedParent=animationElementMap.get(elm);if(detectedParent){parentWithAnimation=detectedParent;break}parentsToAdd.push(elm)}parentsToAdd.forEach(parent=>animationElementMap.set(parent,parentWithAnimation))}const innerPlayer=this._buildAnimation(player.namespaceId,instruction,allPreviousPlayersMap,skippedPlayersMap,preStylesMap,postStylesMap);if(player.setRealPlayer(innerPlayer),parentWithAnimation===NO_PARENT_ANIMATION_ELEMENT_DETECTED)rootPlayers.push(player);else{const parentPlayers=this.playersByElement.get(parentWithAnimation);parentPlayers&&parentPlayers.length&&(player.parentPlayer=optimizeGroupPlayer(parentPlayers)),skippedPlayers.push(player)}}else eraseStyles(element,instruction.fromStyles),player.onDestroy(()=>setStyles(element,instruction.toStyles)),subPlayers.push(player),disabledElementsSet.has(element)&&skippedPlayers.push(player)}),subPlayers.forEach(player=>{const playersForElement=skippedPlayersMap.get(player.element);if(playersForElement&&playersForElement.length){const innerPlayer=optimizeGroupPlayer(playersForElement);player.setRealPlayer(innerPlayer)}}),skippedPlayers.forEach(player=>{player.parentPlayer?player.syncPlayerEvents(player.parentPlayer):player.destroy()});for(let i7=0;i7!p.destroyed);activePlayers.length?removeNodesAfterAnimationDone(this,element,activePlayers):this.processLeaveNode(element)}return allLeaveNodes.length=0,rootPlayers.forEach(player=>{this.players.push(player),player.onDone(()=>{player.destroy();const index=this.players.indexOf(player);this.players.splice(index,1)}),player.play()}),rootPlayers}afterFlush(callback){this._flushFns.push(callback)}afterFlushAnimationsDone(callback){this._whenQuietFns.push(callback)}_getPreviousPlayers(element,isQueriedElement,namespaceId,triggerName,toStateValue){let players=[];if(isQueriedElement){const queriedElementPlayers=this.playersByQueriedElement.get(element);queriedElementPlayers&&(players=queriedElementPlayers)}else{const elementPlayers=this.playersByElement.get(element);if(elementPlayers){const isRemovalAnimation=!toStateValue||"void"==toStateValue;elementPlayers.forEach(player=>{player.queued||!isRemovalAnimation&&player.triggerName!=triggerName||players.push(player)})}}return(namespaceId||triggerName)&&(players=players.filter(player=>!(namespaceId&&namespaceId!=player.namespaceId||triggerName&&triggerName!=player.triggerName))),players}_beforeAnimationBuild(namespaceId,instruction,allPreviousPlayersMap){const rootElement=instruction.element,targetNameSpaceId=instruction.isRemovalTransition?void 0:namespaceId,targetTriggerName=instruction.isRemovalTransition?void 0:instruction.triggerName;for(const timelineInstruction of instruction.timelines){const element=timelineInstruction.element,isQueriedElement=element!==rootElement,players=getOrSetDefaultValue(allPreviousPlayersMap,element,[]);this._getPreviousPlayers(element,isQueriedElement,targetNameSpaceId,targetTriggerName,instruction.toState).forEach(player=>{const realPlayer=player.getRealPlayer();realPlayer.beforeDestroy&&realPlayer.beforeDestroy(),player.destroy(),players.push(player)})}eraseStyles(rootElement,instruction.fromStyles)}_buildAnimation(namespaceId,instruction,allPreviousPlayersMap,skippedPlayersMap,preStylesMap,postStylesMap){const triggerName=instruction.triggerName,rootElement=instruction.element,allQueriedPlayers=[],allConsumedElements=new Set,allSubElements=new Set,allNewPlayers=instruction.timelines.map(timelineInstruction=>{const element=timelineInstruction.element;allConsumedElements.add(element);const details=element.__ng_removed;if(details&&details.removedBeforeQueried)return new NoopAnimationPlayer(timelineInstruction.duration,timelineInstruction.delay);const isQueriedElement=element!==rootElement,previousPlayers=function flattenGroupPlayers(players){const finalPlayers=[];return _flattenGroupPlayersRecur(players,finalPlayers),finalPlayers}((allPreviousPlayersMap.get(element)||EMPTY_PLAYER_ARRAY).map(p=>p.getRealPlayer())).filter(p=>!!p.element&&p.element===element),preStyles=preStylesMap.get(element),postStyles=postStylesMap.get(element),keyframes2=normalizeKeyframes$1(this._normalizer,timelineInstruction.keyframes,preStyles,postStyles),player2=this._buildPlayer(timelineInstruction,keyframes2,previousPlayers);if(timelineInstruction.subTimeline&&skippedPlayersMap&&allSubElements.add(element),isQueriedElement){const wrappedPlayer=new TransitionAnimationPlayer(namespaceId,triggerName,element);wrappedPlayer.setRealPlayer(player2),allQueriedPlayers.push(wrappedPlayer)}return player2});allQueriedPlayers.forEach(player2=>{getOrSetDefaultValue(this.playersByQueriedElement,player2.element,[]).push(player2),player2.onDone(()=>function deleteOrUnsetInMap(map2,key,value){let currentValues=map2.get(key);if(currentValues){if(currentValues.length){const index=currentValues.indexOf(value);currentValues.splice(index,1)}0==currentValues.length&&map2.delete(key)}return currentValues}(this.playersByQueriedElement,player2.element,player2))}),allConsumedElements.forEach(element=>addClass(element,"ng-animating"));const player=optimizeGroupPlayer(allNewPlayers);return player.onDestroy(()=>{allConsumedElements.forEach(element=>removeClass(element,"ng-animating")),setStyles(rootElement,instruction.toStyles)}),allSubElements.forEach(element=>{getOrSetDefaultValue(skippedPlayersMap,element,[]).push(player)}),player}_buildPlayer(instruction,keyframes2,previousPlayers){return keyframes2.length>0?this.driver.animate(instruction.element,keyframes2,instruction.duration,instruction.delay,instruction.easing,previousPlayers):new NoopAnimationPlayer(instruction.duration,instruction.delay)}}class TransitionAnimationPlayer{constructor(namespaceId,triggerName,element){this.namespaceId=namespaceId,this.triggerName=triggerName,this.element=element,this._player=new NoopAnimationPlayer,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(player){this._containsRealPlayer||(this._player=player,this._queuedCallbacks.forEach((callbacks,phase)=>{callbacks.forEach(callback=>listenOnPlayer(player,phase,void 0,callback))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(player.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(totalTime){this.totalTime=totalTime}syncPlayerEvents(player){const p=this._player;p.triggerCallback&&player.onStart(()=>p.triggerCallback("start")),player.onDone(()=>this.finish()),player.onDestroy(()=>this.destroy())}_queueEvent(name,callback){getOrSetDefaultValue(this._queuedCallbacks,name,[]).push(callback)}onDone(fn){this.queued&&this._queueEvent("done",fn),this._player.onDone(fn)}onStart(fn){this.queued&&this._queueEvent("start",fn),this._player.onStart(fn)}onDestroy(fn){this.queued&&this._queueEvent("destroy",fn),this._player.onDestroy(fn)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(p){this.queued||this._player.setPosition(p)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(phaseName){const p=this._player;p.triggerCallback&&p.triggerCallback(phaseName)}}function isElementNode(node2){return node2&&1===node2.nodeType}function cloakElement(element,value){const oldValue=element.style.display;return element.style.display=value??"none",oldValue}function cloakAndComputeStyles(valuesMap,driver,elements,elementPropsMap,defaultStyle){const cloakVals=[];elements.forEach(element=>cloakVals.push(cloakElement(element)));const failedElements=[];elementPropsMap.forEach((props,element)=>{const styles=new Map;props.forEach(prop2=>{const value=driver.computeStyle(element,prop2,defaultStyle);styles.set(prop2,value),(!value||0==value.length)&&(element.__ng_removed=NULL_REMOVED_QUERIED_STATE,failedElements.push(element))}),valuesMap.set(element,styles)});let i6=0;return elements.forEach(element=>cloakElement(element,cloakVals[i6++])),failedElements}function buildRootMap(roots,nodes){const rootMap=new Map;if(roots.forEach(root=>rootMap.set(root,[])),0==nodes.length)return rootMap;const nodeSet=new Set(nodes),localRootMap=new Map;function getRoot(node2){if(!node2)return 1;let root=localRootMap.get(node2);if(root)return root;const parent=node2.parentNode;return root=rootMap.has(parent)?parent:nodeSet.has(parent)?1:getRoot(parent),localRootMap.set(node2,root),root}return nodes.forEach(node2=>{const root=getRoot(node2);1!==root&&rootMap.get(root).push(node2)}),rootMap}function addClass(element,className){element.classList?.add(className)}function removeClass(element,className){element.classList?.remove(className)}function removeNodesAfterAnimationDone(engine,element,players){optimizeGroupPlayer(players).onDone(()=>engine.processLeaveNode(element))}function _flattenGroupPlayersRecur(players,finalPlayers){for(let i6=0;i6preEntry.add(data)):allPreStyleElements.set(element,postEntry),allPostStyleElements.delete(element),!0}class AnimationEngine{constructor(bodyNode,_driver,_normalizer){this.bodyNode=bodyNode,this._driver=_driver,this._normalizer=_normalizer,this._triggerCache={},this.onRemovalComplete=(element,context2)=>{},this._transitionEngine=new TransitionAnimationEngine(bodyNode,_driver,_normalizer),this._timelineEngine=new TimelineAnimationEngine(bodyNode,_driver,_normalizer),this._transitionEngine.onRemovalComplete=(element,context2)=>this.onRemovalComplete(element,context2)}registerTrigger(componentId,namespaceId,hostElement,name,metadata){const cacheKey=componentId+"-"+name;let trigger2=this._triggerCache[cacheKey];if(!trigger2){const errors=[],ast=buildAnimationAst(this._driver,metadata,errors,[]);if(errors.length)throw function triggerBuildFailed(name,errors){return new RuntimeError(3404,!1)}();trigger2=function buildTrigger(name,ast,normalizer){return new AnimationTrigger(name,ast,normalizer)}(name,ast,this._normalizer),this._triggerCache[cacheKey]=trigger2}this._transitionEngine.registerTrigger(namespaceId,name,trigger2)}register(namespaceId,hostElement){this._transitionEngine.register(namespaceId,hostElement)}destroy(namespaceId,context2){this._transitionEngine.destroy(namespaceId,context2)}onInsert(namespaceId,element,parent,insertBefore){this._transitionEngine.insertNode(namespaceId,element,parent,insertBefore)}onRemove(namespaceId,element,context2){this._transitionEngine.removeNode(namespaceId,element,context2)}disableAnimations(element,disable){this._transitionEngine.markElementAsDisabled(element,disable)}process(namespaceId,element,property,value){if("@"==property.charAt(0)){const[id,action]=parseTimelineCommand(property);this._timelineEngine.command(id,element,action,value)}else this._transitionEngine.trigger(namespaceId,element,property,value)}listen(namespaceId,element,eventName,eventPhase,callback){if("@"==eventName.charAt(0)){const[id,action]=parseTimelineCommand(eventName);return this._timelineEngine.listen(id,element,action,callback)}return this._transitionEngine.listen(namespaceId,element,eventName,eventPhase,callback)}flush(microtaskId=-1){this._transitionEngine.flush(microtaskId)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(cb){this._transitionEngine.afterFlushAnimationsDone(cb)}}let SpecialCasedStyles=(()=>{class SpecialCasedStyles2{constructor(_element,_startStyles,_endStyles){this._element=_element,this._startStyles=_startStyles,this._endStyles=_endStyles,this._state=0;let initialStyles=SpecialCasedStyles2.initialStylesByElement.get(_element);initialStyles||SpecialCasedStyles2.initialStylesByElement.set(_element,initialStyles=new Map),this._initialStyles=initialStyles}start(){this._state<1&&(this._startStyles&&setStyles(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(setStyles(this._element,this._initialStyles),this._endStyles&&(setStyles(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(SpecialCasedStyles2.initialStylesByElement.delete(this._element),this._startStyles&&(eraseStyles(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(eraseStyles(this._element,this._endStyles),this._endStyles=null),setStyles(this._element,this._initialStyles),this._state=3)}}return SpecialCasedStyles2.initialStylesByElement=new WeakMap,SpecialCasedStyles2})();function filterNonAnimatableStyles(styles){let result=null;return styles.forEach((val,prop2)=>{(function isNonAnimatableStyle(prop2){return"display"===prop2||"position"===prop2})(prop2)&&(result=result||new Map,result.set(prop2,val))}),result}class WebAnimationsPlayer{constructor(element,keyframes2,options,_specialStyles){this.element=element,this.keyframes=keyframes2,this.options=options,this._specialStyles=_specialStyles,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=options.duration,this._delay=options.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(fn=>fn()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const keyframes2=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,keyframes2,this.options),this._finalKeyframe=keyframes2.length?keyframes2[keyframes2.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(keyframes2){const kfs=[];return keyframes2.forEach(frame=>{kfs.push(Object.fromEntries(frame))}),kfs}_triggerWebAnimation(element,keyframes2,options){return element.animate(this._convertKeyframesToObject(keyframes2),options)}onStart(fn){this._originalOnStartFns.push(fn),this._onStartFns.push(fn)}onDone(fn){this._originalOnDoneFns.push(fn),this._onDoneFns.push(fn)}onDestroy(fn){this._onDestroyFns.push(fn)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(fn=>fn()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(fn=>fn()),this._onDestroyFns=[])}setPosition(p){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=p*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const styles=new Map;this.hasStarted()&&this._finalKeyframe.forEach((val,prop2)=>{"offset"!==prop2&&styles.set(prop2,this._finished?val:computeStyle(this.element,prop2))}),this.currentSnapshot=styles}triggerCallback(phaseName){const methods="start"===phaseName?this._onStartFns:this._onDoneFns;methods.forEach(fn=>fn()),methods.length=0}}class WebAnimationsDriver{validateStyleProperty(prop2){return!0}validateAnimatableStyleProperty(prop2){return!0}matchesElement(_element,_selector){return!1}containsElement(elm1,elm2){return containsElement(elm1,elm2)}getParentElement(element){return getParentElement(element)}query(element,selector,multi){return invokeQuery(element,selector,multi)}computeStyle(element,prop2,defaultValue){return window.getComputedStyle(element)[prop2]}animate(element,keyframes2,duration,delay,easing,previousPlayers=[]){const playerOptions={duration,delay,fill:0==delay?"both":"forwards"};easing&&(playerOptions.easing=easing);const previousStyles=new Map,previousWebAnimationPlayers=previousPlayers.filter(player=>player instanceof WebAnimationsPlayer);(function allowPreviousPlayerStylesMerge(duration,delay){return 0===duration||0===delay})(duration,delay)&&previousWebAnimationPlayers.forEach(player=>{player.currentSnapshot.forEach((val,prop2)=>previousStyles.set(prop2,val))});let _keyframes=function normalizeKeyframes(keyframes2){return keyframes2.length?keyframes2[0]instanceof Map?keyframes2:keyframes2.map(kf=>convertToMap(kf)):[]}(keyframes2).map(styles=>copyStyles(styles));_keyframes=function balancePreviousStylesIntoKeyframes(element,keyframes2,previousStyles){if(previousStyles.size&&keyframes2.length){let startingKeyframe=keyframes2[0],missingStyleProps=[];if(previousStyles.forEach((val,prop2)=>{startingKeyframe.has(prop2)||missingStyleProps.push(prop2),startingKeyframe.set(prop2,val)}),missingStyleProps.length)for(let i6=1;i6kf.set(prop2,computeStyle(element,prop2)))}}return keyframes2}(element,_keyframes,previousStyles);const specialStyles=function packageNonAnimatableStyles(element,styles){let startStyles=null,endStyles=null;return Array.isArray(styles)&&styles.length?(startStyles=filterNonAnimatableStyles(styles[0]),styles.length>1&&(endStyles=filterNonAnimatableStyles(styles[styles.length-1]))):styles instanceof Map&&(startStyles=filterNonAnimatableStyles(styles)),startStyles||endStyles?new SpecialCasedStyles(element,startStyles,endStyles):null}(element,_keyframes);return new WebAnimationsPlayer(element,_keyframes,playerOptions,specialStyles)}}let BrowserAnimationBuilder=(()=>{var _class2;class BrowserAnimationBuilder2 extends AnimationBuilder{constructor(rootRenderer,doc){super(),this._nextAnimationId=0,this._renderer=rootRenderer.createRenderer(doc.body,{id:"0",encapsulation:ViewEncapsulation$1.None,styles:[],data:{animation:[]}})}build(animation2){const id=this._nextAnimationId.toString();this._nextAnimationId++;const entry=Array.isArray(animation2)?sequence(animation2):animation2;return issueAnimationCommand(this._renderer,null,id,"register",[entry]),new BrowserAnimationFactory(id,this._renderer)}}return(_class2=BrowserAnimationBuilder2).\u0275fac=function(t){return new(t||_class2)(core_inject(RendererFactory2),core_inject(common_DOCUMENT))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),BrowserAnimationBuilder2})();class BrowserAnimationFactory extends AnimationFactory{constructor(_id2,_renderer){super(),this._id=_id2,this._renderer=_renderer}create(element,options){return new RendererAnimationPlayer(this._id,element,options||{},this._renderer)}}class RendererAnimationPlayer{constructor(id,element,options,_renderer){this.id=id,this.element=element,this._renderer=_renderer,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",options)}_listen(eventName,callback){return this._renderer.listen(this.element,`@@${this.id}:${eventName}`,callback)}_command(command,...args){return issueAnimationCommand(this._renderer,this.element,this.id,command,args)}onDone(fn){this._listen("done",fn)}onStart(fn){this._listen("start",fn)}onDestroy(fn){this._listen("destroy",fn)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(p){this._command("setPosition",p)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function issueAnimationCommand(renderer,element,id,command,args){return renderer.setProperty(element,`@@${id}:${command}`,args)}let AnimationRendererFactory=(()=>{var _class2;class AnimationRendererFactory2{constructor(delegate,engine,_zone){this.delegate=delegate,this.engine=engine,this._zone=_zone,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,engine.onRemovalComplete=(element,delegate2)=>{const parentNode=delegate2?.parentNode(element);parentNode&&delegate2.removeChild(parentNode,element)}}createRenderer(hostElement,type){const delegate=this.delegate.createRenderer(hostElement,type);if(!(hostElement&&type&&type.data&&type.data.animation)){let renderer=this._rendererCache.get(delegate);return renderer||(renderer=new BaseAnimationRenderer("",delegate,this.engine,()=>this._rendererCache.delete(delegate)),this._rendererCache.set(delegate,renderer)),renderer}const componentId=type.id,namespaceId=type.id+"-"+this._currentId;this._currentId++,this.engine.register(namespaceId,hostElement);const registerTrigger=trigger2=>{Array.isArray(trigger2)?trigger2.forEach(registerTrigger):this.engine.registerTrigger(componentId,namespaceId,hostElement,trigger2.name,trigger2)};return type.data.animation.forEach(registerTrigger),new AnimationRenderer(this,namespaceId,delegate,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(count,fn,data){count>=0&&countfn(data)):(0==this._animationCallbacksBuffer.length&&queueMicrotask(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(tuple=>{const[fn2,data2]=tuple;fn2(data2)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([fn,data]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return(_class2=AnimationRendererFactory2).\u0275fac=function(t){return new(t||_class2)(core_inject(RendererFactory2),core_inject(AnimationEngine),core_inject(core_NgZone))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),AnimationRendererFactory2})();class BaseAnimationRenderer{constructor(namespaceId,delegate,engine,_onDestroy){this.namespaceId=namespaceId,this.delegate=delegate,this.engine=engine,this._onDestroy=_onDestroy}get data(){return this.delegate.data}destroyNode(node2){this.delegate.destroyNode?.(node2)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(name,namespace){return this.delegate.createElement(name,namespace)}createComment(value){return this.delegate.createComment(value)}createText(value){return this.delegate.createText(value)}appendChild(parent,newChild){this.delegate.appendChild(parent,newChild),this.engine.onInsert(this.namespaceId,newChild,parent,!1)}insertBefore(parent,newChild,refChild,isMove=!0){this.delegate.insertBefore(parent,newChild,refChild),this.engine.onInsert(this.namespaceId,newChild,parent,isMove)}removeChild(parent,oldChild,isHostElement){this.engine.onRemove(this.namespaceId,oldChild,this.delegate)}selectRootElement(selectorOrNode,preserveContent){return this.delegate.selectRootElement(selectorOrNode,preserveContent)}parentNode(node2){return this.delegate.parentNode(node2)}nextSibling(node2){return this.delegate.nextSibling(node2)}setAttribute(el,name,value,namespace){this.delegate.setAttribute(el,name,value,namespace)}removeAttribute(el,name,namespace){this.delegate.removeAttribute(el,name,namespace)}addClass(el,name){this.delegate.addClass(el,name)}removeClass(el,name){this.delegate.removeClass(el,name)}setStyle(el,style2,value,flags){this.delegate.setStyle(el,style2,value,flags)}removeStyle(el,style2,flags){this.delegate.removeStyle(el,style2,flags)}setProperty(el,name,value){"@"==name.charAt(0)&&"@.disabled"==name?this.disableAnimations(el,!!value):this.delegate.setProperty(el,name,value)}setValue(node2,value){this.delegate.setValue(node2,value)}listen(target,eventName,callback){return this.delegate.listen(target,eventName,callback)}disableAnimations(element,value){this.engine.disableAnimations(element,value)}}class AnimationRenderer extends BaseAnimationRenderer{constructor(factory2,namespaceId,delegate,engine,onDestroy){super(namespaceId,delegate,engine,onDestroy),this.factory=factory2,this.namespaceId=namespaceId}setProperty(el,name,value){"@"==name.charAt(0)?"."==name.charAt(1)&&"@.disabled"==name?this.disableAnimations(el,value=void 0===value||!!value):this.engine.process(this.namespaceId,el,name.slice(1),value):this.delegate.setProperty(el,name,value)}listen(target,eventName,callback){if("@"==eventName.charAt(0)){const element=function resolveElementFromTarget(target){switch(target){case"body":return document.body;case"document":return document;case"window":return window;default:return target}}(target);let name=eventName.slice(1),phase="";return"@"!=name.charAt(0)&&([name,phase]=function parseTriggerCallbackName(triggerName){const dotIndex=triggerName.indexOf(".");return[triggerName.substring(0,dotIndex),triggerName.slice(dotIndex+1)]}(name)),this.engine.listen(this.namespaceId,element,name,phase,event=>{this.factory.scheduleListenerCallback(event._data||-1,callback,event)})}return this.delegate.listen(target,eventName,callback)}}const SHARED_ANIMATION_PROVIDERS=[{provide:AnimationBuilder,useClass:BrowserAnimationBuilder},{provide:AnimationStyleNormalizer,useFactory:function instantiateDefaultStyleNormalizer(){return new WebAnimationsStyleNormalizer}},{provide:AnimationEngine,useClass:(()=>{var _class3;class InjectableAnimationEngine2 extends AnimationEngine{constructor(doc,driver,normalizer,appRef){super(doc.body,driver,normalizer)}ngOnDestroy(){this.flush()}}return(_class3=InjectableAnimationEngine2).\u0275fac=function(t){return new(t||_class3)(core_inject(common_DOCUMENT),core_inject(AnimationDriver),core_inject(AnimationStyleNormalizer),core_inject(core_ApplicationRef))},_class3.\u0275prov=core_defineInjectable({token:_class3,factory:_class3.\u0275fac}),InjectableAnimationEngine2})()},{provide:RendererFactory2,useFactory:function instantiateRendererFactory(renderer,engine,zone){return new AnimationRendererFactory(renderer,engine,zone)},deps:[DomRendererFactory2,AnimationEngine,core_NgZone]}],BROWSER_ANIMATIONS_PROVIDERS=[{provide:AnimationDriver,useFactory:()=>new WebAnimationsDriver},{provide:core_ANIMATION_MODULE_TYPE,useValue:"BrowserAnimations"},...SHARED_ANIMATION_PROVIDERS],BROWSER_NOOP_ANIMATIONS_PROVIDERS=[{provide:AnimationDriver,useClass:NoopAnimationDriver},{provide:core_ANIMATION_MODULE_TYPE,useValue:"NoopAnimations"},...SHARED_ANIMATION_PROVIDERS];let BrowserAnimationsModule=(()=>{var _class4;class BrowserAnimationsModule2{static withConfig(config2){return{ngModule:BrowserAnimationsModule2,providers:config2.disableAnimations?BROWSER_NOOP_ANIMATIONS_PROVIDERS:BROWSER_ANIMATIONS_PROVIDERS}}}return(_class4=BrowserAnimationsModule2).\u0275fac=function(t){return new(t||_class4)},_class4.\u0275mod=\u0275\u0275defineNgModule({type:_class4}),_class4.\u0275inj=\u0275\u0275defineInjector({providers:BROWSER_ANIMATIONS_PROVIDERS,imports:[platform_browser_BrowserModule]}),BrowserAnimationsModule2})();const materia_ui_ngx_monaco_editor_c0=["editor"];let MonacoEditorLoaderService=(()=>{class MonacoEditorLoaderService2{constructor(ngZone,monacoPathConfig){this.ngZone=ngZone,this.monacoPathConfig=monacoPathConfig,this.isMonacoLoaded$=new BehaviorSubject_BehaviorSubject(!1),this._monacoPath="assets/monaco-editor/min/vs",window.monacoEditorAlreadyInitialized?ngZone.run(()=>this.isMonacoLoaded$.next(!0)):(window.monacoEditorAlreadyInitialized=!0,this.monacoPathConfig&&(this.monacoPath=this.monacoPathConfig),this.loadMonaco())}set monacoPath(value){value&&(this._monacoPath=value)}loadMonaco(){const onGotAmdLoader=()=>{let vsPath=this._monacoPath;window.amdRequire=window.require;const isElectron3=!!this.nodeRequire,isPathUrl=vsPath.includes("http");isElectron3&&(window.require=this.nodeRequire,isPathUrl||(vsPath=window.require("path").resolve(window.__dirname,this._monacoPath))),window.amdRequire.config({paths:{vs:vsPath}}),window.amdRequire(["vs/editor/editor.main"],()=>{this.ngZone.run(()=>this.isMonacoLoaded$.next(!0))},error=>console.error("Error loading monaco-editor: ",error))};if(window.amdRequire)return onGotAmdLoader();window.require&&(this.addElectronFixScripts(),this.nodeRequire=window.require);const loaderScript=document.createElement("script");loaderScript.type="text/javascript",loaderScript.src=`${this._monacoPath}/loader.js`,loaderScript.addEventListener("load",onGotAmdLoader),document.body.appendChild(loaderScript)}addElectronFixScripts(){const electronFixScript=document.createElement("script"),inlineScript=document.createTextNode("self.module = undefined;"),inlineScript2=document.createTextNode("self.process.browser = true;");electronFixScript.appendChild(inlineScript),electronFixScript.appendChild(inlineScript2),document.body.appendChild(electronFixScript)}}return MonacoEditorLoaderService2.\u0275fac=function(t){return new(t||MonacoEditorLoaderService2)(core_inject(core_NgZone),core_inject("MONACO_PATH",8))},MonacoEditorLoaderService2.\u0275prov=core_defineInjectable({token:MonacoEditorLoaderService2,factory:MonacoEditorLoaderService2.\u0275fac,providedIn:"root"}),MonacoEditorLoaderService2})(),MonacoEditorComponent=(()=>{class MonacoEditorComponent2{constructor(monacoLoader){this.monacoLoader=monacoLoader,this.init=new core_EventEmitter,this.onTouched=()=>{},this.onErrorStatusChange=()=>{},this.propagateChange=()=>{}}get model(){return this.editor&&this.editor.getModel()}get modelMarkers(){return this.model&&monaco.editor.getModelMarkers({resource:this.model.uri})}ngOnInit(){this.monacoLoader.isMonacoLoaded$.pipe(filter_filter(isLoaded=>isLoaded),take_take(1)).subscribe(()=>{this.initEditor()})}ngOnChanges(changes){if(this.editor&&changes.options&&!changes.options.firstChange){const{language:toLanguage,theme:toTheme,...options}=changes.options.currentValue,{language:fromLanguage,theme:fromTheme}=changes.options.previousValue;fromLanguage!==toLanguage&&monaco.editor.setModelLanguage(this.editor.getModel(),this.options&&this.options.language?this.options.language:"text"),fromTheme!==toTheme&&monaco.editor.setTheme(toTheme),this.editor.updateOptions(options)}if(this.editor&&changes.uri){const toUri=changes.uri.currentValue,fromUri=changes.uri.previousValue;if(fromUri&&!toUri||!fromUri&&toUri||toUri&&fromUri&&toUri.path!==fromUri.path){const value=this.editor.getValue();let existingModel;this.modelUriInstance&&this.modelUriInstance.dispose(),toUri&&(existingModel=monaco.editor.getModels().find(model=>model.uri.path===toUri.path)),this.modelUriInstance=existingModel||monaco.editor.createModel(value,this.options.language||"text",this.uri),this.editor.setModel(this.modelUriInstance)}}}writeValue(value){this.value=value,this.editor&&value?this.editor.setValue(value):this.editor&&this.editor.setValue("")}registerOnChange(fn){this.propagateChange=fn}registerOnTouched(fn){this.onTouched=fn}validate(){return this.parsedError?{monaco:{value:this.parsedError.split("|")}}:null}registerOnValidatorChange(fn){this.onErrorStatusChange=fn}initEditor(){const options={value:[this.value].join("\n"),language:"text",automaticLayout:!0,scrollBeyondLastLine:!1,theme:"vc"};this.editor=monaco.editor.create(this.editorContent.nativeElement,this.options?{...options,...this.options}:options),this.registerEditorListeners(),this.init.emit(this.editor)}registerEditorListeners(){this.editor.onDidChangeModelContent(()=>{this.propagateChange(this.editor.getValue())}),this.editor.onDidChangeModelDecorations(()=>{const currentParsedError=this.modelMarkers.map(({message})=>message).join("|");this.parsedError!==currentParsedError&&(this.parsedError=currentParsedError,this.onErrorStatusChange())}),this.editor.onDidBlurEditorText(()=>{this.onTouched()})}ngOnDestroy(){this.editor&&this.editor.dispose()}}return MonacoEditorComponent2.\u0275fac=function(t){return new(t||MonacoEditorComponent2)(\u0275\u0275directiveInject(MonacoEditorLoaderService))},MonacoEditorComponent2.\u0275cmp=\u0275\u0275defineComponent({type:MonacoEditorComponent2,selectors:[["ngx-monaco-editor"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(materia_ui_ngx_monaco_editor_c0,7),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.editorContent=_t.first)}},inputs:{options:"options",uri:"uri"},outputs:{init:"init"},features:[\u0275\u0275ProvidersFeature([{provide:NG_VALUE_ACCESSOR,useExisting:core_forwardRef(()=>MonacoEditorComponent2),multi:!0},{provide:NG_VALIDATORS,useExisting:core_forwardRef(()=>MonacoEditorComponent2),multi:!0}]),\u0275\u0275NgOnChangesFeature],decls:4,vars:0,consts:[["fxFlex","",1,"editor-container"],["container",""],[1,"monaco-editor"],["editor",""]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",0,1),\u0275\u0275element(2,"div",2,3),\u0275\u0275elementEnd())},styles:[".monaco-editor[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.editor-container[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:table;width:100%;height:100%;min-width:0}"],changeDetection:0}),MonacoEditorComponent2})(),MonacoEditorModule=(()=>{class MonacoEditorModule2{}return MonacoEditorModule2.\u0275fac=function(t){return new(t||MonacoEditorModule2)},MonacoEditorModule2.\u0275mod=\u0275\u0275defineNgModule({type:MonacoEditorModule2}),MonacoEditorModule2.\u0275inj=\u0275\u0275defineInjector({imports:[[]]}),MonacoEditorModule2})();const angular_split_c0=["gutterEls"];function _class_ng_template_1_div_0_Template(rf,ctx){if(1&rf){const _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",2,3),\u0275\u0275listener("keydown",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().startKeyboardDrag($event,2*index_r2+1,index_r2+1))})("mousedown",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().startMouseDrag($event,2*index_r2+1,index_r2+1))})("touchstart",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().startMouseDrag($event,2*index_r2+1,index_r2+1))})("mouseup",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().clickGutter($event,index_r2+1))})("touchend",function($event){\u0275\u0275restoreView(_r8);const index_r2=\u0275\u0275nextContext().index;return \u0275\u0275resetView(\u0275\u0275nextContext().clickGutter($event,index_r2+1))}),\u0275\u0275element(2,"div",4),\u0275\u0275elementEnd()}if(2&rf){const ctx_r17=\u0275\u0275nextContext(),index_r2=ctx_r17.index,area_r1=ctx_r17.$implicit,ctx_r4=\u0275\u0275nextContext();\u0275\u0275styleProp("flex-basis",ctx_r4.gutterSize,"px")("order",2*index_r2+1),\u0275\u0275attribute("aria-label",ctx_r4.gutterAriaLabel)("aria-orientation",ctx_r4.direction)("aria-valuemin",area_r1.minSize)("aria-valuemax",area_r1.maxSize)("aria-valuenow",area_r1.size)("aria-valuetext",ctx_r4.getAriaAreaSizeText(area_r1.size))}}function _class_ng_template_1_Template(rf,ctx){1&rf&&\u0275\u0275template(0,_class_ng_template_1_div_0_Template,3,10,"div",1),2&rf&&\u0275\u0275property("ngIf",!1===ctx.last)}const angular_split_c1=["*"];function getPointFromEvent(event){if(void 0!==event.changedTouches&&event.changedTouches.length>0)return{x:event.changedTouches[0].clientX,y:event.changedTouches[0].clientY};if(void 0!==event.clientX&&void 0!==event.clientY)return{x:event.clientX,y:event.clientY};if(void 0!==event.currentTarget){const gutterEl=event.currentTarget;return{x:gutterEl.offsetLeft,y:gutterEl.offsetTop}}return null}function pointDeltaEquals(lhs,rhs,deltaPx){return Math.abs(lhs.x-rhs.x)<=deltaPx&&Math.abs(lhs.y-rhs.y)<=deltaPx}function getElementPixelSize(elRef,direction){const rect=elRef.nativeElement.getBoundingClientRect();return"horizontal"===direction?rect.width:rect.height}function getInputBoolean(v){return"boolean"==typeof v?v:"false"!==v}function getInputPositiveNumber(v,defaultValue){return null==v?defaultValue:(v=Number(v),!isNaN(v)&&v>=0?v:defaultValue)}function isUserSizesValid(unit,sizes){if("percent"===unit){const total=sizes.reduce((total2,s)=>"*"!==s?total2+s:total2,0),wildcardSizeAreas=sizes.filter(size=>"*"===size);return!(wildcardSizeAreas.length>1)&&(1===wildcardSizeAreas.length||total>99.9)&&total<100.1}if("pixel"===unit)return 1===sizes.filter(s=>"*"===s).length}function getAreaMinSize(a){return"*"===a.size?null:!0===a.component.lockSize?a.size:null===a.component.minSize?null:a.component.minSize>a.size?a.size:a.component.minSize}function getAreaMaxSize(a){return"*"===a.size?null:!0===a.component.lockSize?a.size:null===a.component.maxSize?null:a.component.maxSize{const res=function getAreaAbsorptionCapacity(unit,areaSnapshot,pixels,allAreasSizePixel){return 0===pixels?{areaSnapshot,pixelAbsorb:0,percentAfterAbsorption:areaSnapshot.sizePercentAtStart,pixelRemain:0}:0===areaSnapshot.sizePixelAtStart&&pixels<0?{areaSnapshot,pixelAbsorb:0,percentAfterAbsorption:0,pixelRemain:pixels}:"percent"===unit?function getAreaAbsorptionCapacityPercent(areaSnapshot,pixels,allAreasSizePixel){const tempPercentSize=(areaSnapshot.sizePixelAtStart+pixels)/allAreasSizePixel*100;if(pixels>0){if(null!==areaSnapshot.area.maxSize&&tempPercentSize>areaSnapshot.area.maxSize){const maxSizePixel=areaSnapshot.area.maxSize/100*allAreasSizePixel;return{areaSnapshot,pixelAbsorb:maxSizePixel,percentAfterAbsorption:areaSnapshot.area.maxSize,pixelRemain:areaSnapshot.sizePixelAtStart+pixels-maxSizePixel}}return{areaSnapshot,pixelAbsorb:pixels,percentAfterAbsorption:tempPercentSize>100?100:tempPercentSize,pixelRemain:0}}if(pixels<0){if(null!==areaSnapshot.area.minSize&&tempPercentSize0?null!==areaSnapshot.area.maxSize&&tempPixelSize>areaSnapshot.area.maxSize?{areaSnapshot,pixelAbsorb:areaSnapshot.area.maxSize-areaSnapshot.sizePixelAtStart,percentAfterAbsorption:-1,pixelRemain:tempPixelSize-areaSnapshot.area.maxSize}:{areaSnapshot,pixelAbsorb:pixels,percentAfterAbsorption:-1,pixelRemain:0}:pixels<0?null!==areaSnapshot.area.minSize&&tempPixelSize{var _class2;class SplitComponent2{set direction(v){this._direction="vertical"===v?"vertical":"horizontal",this.renderer.addClass(this.elRef.nativeElement,`as-${this._direction}`),this.renderer.removeClass(this.elRef.nativeElement,"as-"+("vertical"===this._direction?"horizontal":"vertical")),this.build(!1,!1)}get direction(){return this._direction}set unit(v){this._unit="pixel"===v?"pixel":"percent",this.renderer.addClass(this.elRef.nativeElement,`as-${this._unit}`),this.renderer.removeClass(this.elRef.nativeElement,"as-"+("pixel"===this._unit?"percent":"pixel")),this.build(!1,!0)}get unit(){return this._unit}set gutterSize(v){this._gutterSize=getInputPositiveNumber(v,11),this.build(!1,!1)}get gutterSize(){return this._gutterSize}set gutterStep(v){this._gutterStep=getInputPositiveNumber(v,1)}get gutterStep(){return this._gutterStep}set restrictMove(v){this._restrictMove=getInputBoolean(v)}get restrictMove(){return this._restrictMove}set useTransition(v){this._useTransition=getInputBoolean(v),this._useTransition?this.renderer.addClass(this.elRef.nativeElement,"as-transition"):this.renderer.removeClass(this.elRef.nativeElement,"as-transition")}get useTransition(){return this._useTransition}set disabled(v){this._disabled=getInputBoolean(v),this._disabled?this.renderer.addClass(this.elRef.nativeElement,"as-disabled"):this.renderer.removeClass(this.elRef.nativeElement,"as-disabled")}get disabled(){return this._disabled}set dir(v){this._dir="rtl"===v?"rtl":"ltr",this.renderer.setAttribute(this.elRef.nativeElement,"dir",this._dir)}get dir(){return this._dir}set gutterDblClickDuration(v){this._gutterDblClickDuration=getInputPositiveNumber(v,0)}get gutterDblClickDuration(){return this._gutterDblClickDuration}get transitionEnd(){return new Observable_Observable(subscriber=>this.transitionEndSubscriber=subscriber).pipe(debounceTime(20))}constructor(ngZone,elRef,cdRef,renderer,globalConfig){this.ngZone=ngZone,this.elRef=elRef,this.cdRef=cdRef,this.renderer=renderer,this.gutterClickDeltaPx=2,this._config={direction:"horizontal",unit:"percent",gutterSize:11,gutterStep:1,restrictMove:!1,useTransition:!1,disabled:!1,dir:"ltr",gutterDblClickDuration:0},this.dragStart=new core_EventEmitter(!1),this.dragEnd=new core_EventEmitter(!1),this.gutterClick=new core_EventEmitter(!1),this.gutterDblClick=new core_EventEmitter(!1),this.dragProgressSubject=new Subject_Subject,this.dragProgress$=this.dragProgressSubject.asObservable(),this.isDragging=!1,this.isWaitingClear=!1,this.isWaitingInitialMove=!1,this.dragListeners=[],this.snapshot=null,this.startPoint=null,this.endPoint=null,this.displayedAreas=[],this.hiddenAreas=[],this._clickTimeout=null,this.direction=this._direction,this._config=globalConfig?Object.assign(this._config,globalConfig):this._config,Object.keys(this._config).forEach(property=>{this[property]=this._config[property]})}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>{setTimeout(()=>this.renderer.addClass(this.elRef.nativeElement,"as-init"))})}getNbGutters(){return 0===this.displayedAreas.length?0:this.displayedAreas.length-1}addArea(component){const newArea={component,order:0,size:0,minSize:null,maxSize:null,sizeBeforeCollapse:null,gutterBeforeCollapse:0};!0===component.visible?(this.displayedAreas.push(newArea),this.build(!0,!0)):this.hiddenAreas.push(newArea)}removeArea(component){if(this.displayedAreas.some(a=>a.component===component)){const area=this.displayedAreas.find(a=>a.component===component);this.displayedAreas.splice(this.displayedAreas.indexOf(area),1),this.build(!0,!0)}else if(this.hiddenAreas.some(a=>a.component===component)){const area=this.hiddenAreas.find(a=>a.component===component);this.hiddenAreas.splice(this.hiddenAreas.indexOf(area),1)}}updateArea(component,resetOrders,resetSizes){!0===component.visible&&this.build(resetOrders,resetSizes)}showArea(component){const area=this.hiddenAreas.find(a=>a.component===component);if(void 0===area)return;const areas=this.hiddenAreas.splice(this.hiddenAreas.indexOf(area),1);this.displayedAreas.push(...areas),this.build(!0,!0)}hideArea(comp){const area=this.displayedAreas.find(a=>a.component===comp);if(void 0===area)return;const areas=this.displayedAreas.splice(this.displayedAreas.indexOf(area),1);areas.forEach(item=>{item.order=0,item.size=0}),this.hiddenAreas.push(...areas),this.build(!0,!0)}getVisibleAreaSizes(){return this.displayedAreas.map(a=>a.size)}setVisibleAreaSizes(sizes){if(sizes.length!==this.displayedAreas.length)return!1;const formattedSizes=sizes.map(s=>getInputPositiveNumber(s,"*"));return!1!==isUserSizesValid(this.unit,formattedSizes)&&(this.displayedAreas.forEach((area,i6)=>area.component._size=formattedSizes[i6]),this.build(!1,!0),!0)}build(resetOrders,resetSizes){if(this.stopDragging(),!0===resetOrders&&(this.displayedAreas.every(a=>null!==a.component.order)&&this.displayedAreas.sort((a,b)=>a.component.order-b.component.order),this.displayedAreas.forEach((area,i6)=>{area.order=2*i6,area.component.setStyleOrder(area.order)})),!0===resetSizes){const useUserSizes=isUserSizesValid(this.unit,this.displayedAreas.map(a=>a.component.size));switch(this.unit){case"percent":{const defaultSize=100/this.displayedAreas.length;this.displayedAreas.forEach(area=>{area.size=useUserSizes?area.component.size:defaultSize,area.minSize=getAreaMinSize(area),area.maxSize=getAreaMaxSize(area)});break}case"pixel":if(useUserSizes)this.displayedAreas.forEach(area=>{area.size=area.component.size,area.minSize=getAreaMinSize(area),area.maxSize=getAreaMaxSize(area)});else{const wildcardSizeAreas=this.displayedAreas.filter(a=>"*"===a.component.size);if(0===wildcardSizeAreas.length&&this.displayedAreas.length>0)this.displayedAreas.forEach((area,i6)=>{area.size=0===i6?"*":area.component.size,area.minSize=0===i6?null:getAreaMinSize(area),area.maxSize=0===i6?null:getAreaMaxSize(area)});else if(wildcardSizeAreas.length>1){let alreadyGotOne=!1;this.displayedAreas.forEach(area=>{"*"===area.component.size?!1===alreadyGotOne?(area.size="*",area.minSize=null,area.maxSize=null,alreadyGotOne=!0):(area.size=100,area.minSize=null,area.maxSize=null):(area.size=area.component.size,area.minSize=getAreaMinSize(area),area.maxSize=getAreaMaxSize(area))})}}}}this.refreshStyleSizes(),this.cdRef.markForCheck()}refreshStyleSizes(){if("percent"===this.unit)if(1===this.displayedAreas.length)this.displayedAreas[0].component.setStyleFlex(0,0,"100%",!1,!1);else{const sumGutterSize=this.getNbGutters()*this.gutterSize;this.displayedAreas.forEach(area=>{"*"===area.size?area.component.setStyleFlex(1,1,1===this.displayedAreas.length?"100%":"auto",!1,!1):area.component.setStyleFlex(0,0,`calc( ${area.size}% - ${area.size/100*sumGutterSize}px )`,null!==area.minSize&&area.minSize===area.size,null!==area.maxSize&&area.maxSize===area.size)})}else"pixel"===this.unit&&this.displayedAreas.forEach(area=>{"*"===area.size?area.component.setStyleFlex(1,1,1===this.displayedAreas.length?"100%":"auto",!1,!1):1===this.displayedAreas.length?area.component.setStyleFlex(0,0,"100%",!1,!1):area.component.setStyleFlex(0,0,`${area.size}px`,null!==area.minSize&&area.minSize===area.size,null!==area.maxSize&&area.maxSize===area.size)})}clickGutter(event,gutterNum){const tempPoint=getPointFromEvent(event);this.startPoint&&pointDeltaEquals(this.startPoint,tempPoint,this.gutterClickDeltaPx)&&(!this.isDragging||this.isWaitingInitialMove)&&(null!==this._clickTimeout?(window.clearTimeout(this._clickTimeout),this._clickTimeout=null,this.notify("dblclick",gutterNum),this.stopDragging()):this._clickTimeout=window.setTimeout(()=>{this._clickTimeout=null,this.notify("click",gutterNum),this.stopDragging()},this.gutterDblClickDuration))}startKeyboardDrag(event,gutterOrder,gutterNum){if(!0===this.disabled||!0===this.isWaitingClear)return;const endPoint=function getKeyboardEndpoint(event,direction){if("horizontal"===direction)switch(event.key){case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":break;default:return null}if("vertical"===direction)switch(event.key){case"ArrowUp":case"ArrowDown":case"PageUp":case"PageDown":break;default:return null}const gutterEl=event.currentTarget,offset="PageUp"===event.key||"PageDown"===event.key?500:50;let offsetX=gutterEl.offsetLeft,offsetY=gutterEl.offsetTop;switch(event.key){case"ArrowLeft":offsetX-=offset;break;case"ArrowRight":offsetX+=offset;break;case"ArrowUp":offsetY-=offset;break;case"ArrowDown":offsetY+=offset;break;case"PageUp":"vertical"===direction?offsetY-=offset:offsetX+=offset;break;case"PageDown":"vertical"===direction?offsetY+=offset:offsetX-=offset;break;default:return null}return{x:offsetX,y:offsetY}}(event,this.direction);null!==endPoint&&(this.endPoint=endPoint,this.startPoint=getPointFromEvent(event),event.preventDefault(),event.stopPropagation(),this.setupForDragEvent(gutterOrder,gutterNum),this.startDragging(),this.drag(),this.stopDragging())}startMouseDrag(event,gutterOrder,gutterNum){event.preventDefault(),event.stopPropagation(),this.startPoint=getPointFromEvent(event),null!==this.startPoint&&!0!==this.disabled&&!0!==this.isWaitingClear&&(this.setupForDragEvent(gutterOrder,gutterNum),this.dragListeners.push(this.renderer.listen("document","mouseup",this.stopDragging.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchend",this.stopDragging.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchcancel",this.stopDragging.bind(this))),this.ngZone.runOutsideAngular(()=>{this.dragListeners.push(this.renderer.listen("document","mousemove",this.mouseDragEvent.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchmove",this.mouseDragEvent.bind(this)))}),this.startDragging())}setupForDragEvent(gutterOrder,gutterNum){if(this.snapshot={gutterNum,lastSteppedOffset:0,allAreasSizePixel:getElementPixelSize(this.elRef,this.direction)-this.getNbGutters()*this.gutterSize,allInvolvedAreasSizePercent:100,areasBeforeGutter:[],areasAfterGutter:[]},this.displayedAreas.forEach(area=>{const areaSnapshot={area,sizePixelAtStart:getElementPixelSize(area.component.elRef,this.direction),sizePercentAtStart:"percent"===this.unit?area.size:-1};area.ordergutterOrder&&(!0===this.restrictMove?0===this.snapshot.areasAfterGutter.length&&(this.snapshot.areasAfterGutter=[areaSnapshot]):this.snapshot.areasAfterGutter.push(areaSnapshot))}),this.restrictMove&&"percent"===this.unit){const areaSnapshotBefore=this.snapshot.areasBeforeGutter[0],areaSnapshotAfter=this.snapshot.areasAfterGutter[0];if("*"===areaSnapshotBefore.area.size||"*"===areaSnapshotAfter.area.size){const notInvolvedAreasSizesPercent=this.displayedAreas.reduce((accum,area)=>areaSnapshotBefore.area!==area&&areaSnapshotAfter.area!==area?accum+area.size:accum,0);this.snapshot.allInvolvedAreasSizePercent=100-notInvolvedAreasSizesPercent}else this.snapshot.allInvolvedAreasSizePercent=[...this.snapshot.areasBeforeGutter,...this.snapshot.areasAfterGutter].reduce((t,a)=>t+a.sizePercentAtStart,0)}}startDragging(){this.displayedAreas.forEach(area=>area.component.lockEvents()),this.isDragging=!0,this.isWaitingInitialMove=!0}mouseDragEvent(event){event.preventDefault(),event.stopPropagation();const tempPoint=getPointFromEvent(event);null!==this._clickTimeout&&!pointDeltaEquals(this.startPoint,tempPoint,this.gutterClickDeltaPx)&&(window.clearTimeout(this._clickTimeout),this._clickTimeout=null),!1!==this.isDragging&&(this.endPoint=getPointFromEvent(event),null!==this.endPoint&&this.drag())}drag(){if(this.isWaitingInitialMove){if(this.startPoint.x===this.endPoint.x&&this.startPoint.y===this.endPoint.y)return;this.ngZone.run(()=>{this.isWaitingInitialMove=!1,this.renderer.addClass(this.elRef.nativeElement,"as-dragging"),this.renderer.addClass(this.gutterEls.toArray()[this.snapshot.gutterNum-1].nativeElement,"as-dragged"),this.notify("start",this.snapshot.gutterNum)})}let offset="horizontal"===this.direction?this.startPoint.x-this.endPoint.x:this.startPoint.y-this.endPoint.y;"rtl"===this.dir&&"horizontal"===this.direction&&(offset=-offset);const steppedOffset=Math.round(offset/this.gutterStep)*this.gutterStep;if(steppedOffset===this.snapshot.lastSteppedOffset)return;this.snapshot.lastSteppedOffset=steppedOffset;let areasBefore=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasBeforeGutter,-steppedOffset,this.snapshot.allAreasSizePixel),areasAfter=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasAfterGutter,steppedOffset,this.snapshot.allAreasSizePixel);if(0!==areasBefore.remain&&0!==areasAfter.remain?Math.abs(areasBefore.remain)===Math.abs(areasAfter.remain)||(Math.abs(areasBefore.remain)>Math.abs(areasAfter.remain)?areasAfter=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasAfterGutter,steppedOffset+areasBefore.remain,this.snapshot.allAreasSizePixel):areasBefore=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasBeforeGutter,-(steppedOffset-areasAfter.remain),this.snapshot.allAreasSizePixel)):0!==areasBefore.remain?areasAfter=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasAfterGutter,steppedOffset+areasBefore.remain,this.snapshot.allAreasSizePixel):0!==areasAfter.remain&&(areasBefore=getGutterSideAbsorptionCapacity(this.unit,this.snapshot.areasBeforeGutter,-(steppedOffset-areasAfter.remain),this.snapshot.allAreasSizePixel)),"percent"===this.unit){const all=[...areasBefore.list,...areasAfter.list],areaToReset=all.find(a=>"*"==a.percentAfterAbsorption)??all.find(a=>0!==a.percentAfterAbsorption&&a.percentAfterAbsorption!==a.areaSnapshot.area.minSize&&a.percentAfterAbsorption!==a.areaSnapshot.area.maxSize);areaToReset&&(areaToReset.percentAfterAbsorption=this.snapshot.allInvolvedAreasSizePercent-all.filter(a=>a!==areaToReset).reduce((total,a)=>total+a.percentAfterAbsorption,0))}areasBefore.list.forEach(item=>updateAreaSize(this.unit,item)),areasAfter.list.forEach(item=>updateAreaSize(this.unit,item)),this.refreshStyleSizes(),this.notify("progress",this.snapshot.gutterNum)}stopDragging(event){if(event&&(event.preventDefault(),event.stopPropagation()),!1!==this.isDragging){for(this.displayedAreas.forEach(area=>area.component.unlockEvents());this.dragListeners.length>0;){const fct=this.dragListeners.pop();fct&&fct()}this.isDragging=!1,!1===this.isWaitingInitialMove&&this.notify("end",this.snapshot.gutterNum),this.renderer.removeClass(this.elRef.nativeElement,"as-dragging"),this.renderer.removeClass(this.gutterEls.toArray()[this.snapshot.gutterNum-1].nativeElement,"as-dragged"),this.snapshot=null,this.isWaitingClear=!0,this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.startPoint=null,this.endPoint=null,this.isWaitingClear=!1})})}}notify(type,gutterNum){const sizes=this.getVisibleAreaSizes();"start"===type?this.dragStart.emit({gutterNum,sizes}):"end"===type?this.dragEnd.emit({gutterNum,sizes}):"click"===type?this.gutterClick.emit({gutterNum,sizes}):"dblclick"===type?this.gutterDblClick.emit({gutterNum,sizes}):"transitionEnd"===type?this.transitionEndSubscriber&&this.ngZone.run(()=>this.transitionEndSubscriber.next(sizes)):"progress"===type&&this.dragProgressSubject.next({gutterNum,sizes})}ngOnDestroy(){this.stopDragging()}collapseArea(comp,newSize,gutter){const area=this.displayedAreas.find(a=>a.component===comp);if(void 0===area)return;const whichGutter="right"===gutter?1:-1;area.sizeBeforeCollapse||(area.sizeBeforeCollapse=area.size,area.gutterBeforeCollapse=whichGutter),area.size=newSize;const gtr=this.gutterEls.find(f=>f.nativeElement.style.order===`${area.order+whichGutter}`);gtr&&this.renderer.addClass(gtr.nativeElement,"as-split-gutter-collapsed"),this.updateArea(comp,!1,!1)}expandArea(comp){const area=this.displayedAreas.find(a=>a.component===comp);if(void 0===area||!area.sizeBeforeCollapse)return;area.size=area.sizeBeforeCollapse,area.sizeBeforeCollapse=null;const gtr=this.gutterEls.find(f=>f.nativeElement.style.order===`${area.order+area.gutterBeforeCollapse}`);gtr&&this.renderer.removeClass(gtr.nativeElement,"as-split-gutter-collapsed"),this.updateArea(comp,!1,!1)}getAriaAreaSizeText(size){return"*"===size?null:size.toFixed(0)+" "+this.unit}}return(_class2=SplitComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(ChangeDetectorRef),\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(ANGULAR_SPLIT_DEFAULT_OPTIONS,8))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["as-split"]],viewQuery:function(rf,ctx){if(1&rf&&\u0275\u0275viewQuery(angular_split_c0,5),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.gutterEls=_t)}},inputs:{direction:"direction",unit:"unit",gutterSize:"gutterSize",gutterStep:"gutterStep",restrictMove:"restrictMove",useTransition:"useTransition",disabled:"disabled",dir:"dir",gutterDblClickDuration:"gutterDblClickDuration",gutterClickDeltaPx:"gutterClickDeltaPx",gutterAriaLabel:"gutterAriaLabel"},outputs:{transitionEnd:"transitionEnd",dragStart:"dragStart",dragEnd:"dragEnd",gutterClick:"gutterClick",gutterDblClick:"gutterDblClick"},exportAs:["asSplit"],ngContentSelectors:angular_split_c1,decls:2,vars:1,consts:[["ngFor","",3,"ngForOf"],["role","separator","tabindex","0","class","as-split-gutter",3,"flex-basis","order","keydown","mousedown","touchstart","mouseup","touchend",4,"ngIf"],["role","separator","tabindex","0",1,"as-split-gutter",3,"keydown","mousedown","touchstart","mouseup","touchend"],["gutterEls",""],[1,"as-split-gutter-icon"]],template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275projection(0),\u0275\u0275template(1,_class_ng_template_1_Template,1,1,"ng-template",0)),2&rf&&(\u0275\u0275advance(1),\u0275\u0275property("ngForOf",ctx.displayedAreas))},dependencies:[NgForOf,NgIf],styles:["[_nghost-%COMP%]{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%]{border:none;flex-grow:0;flex-shrink:0;background-color:#eee;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] > .as-split-gutter.as-split-gutter-collapsed[_ngcontent-%COMP%]{flex-basis:1px!important;pointer-events:none}[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%] > .as-split-gutter-icon[_ngcontent-%COMP%]{width:100%;height:100%;background-position:center center;background-repeat:no-repeat}[_nghost-%COMP%] >.as-split-area{flex-grow:0;flex-shrink:0;overflow-x:hidden;overflow-y:auto}[_nghost-%COMP%] >.as-split-area.as-hidden{flex:0 1 0px!important;overflow-x:hidden;overflow-y:hidden}[_nghost-%COMP%] >.as-split-area .iframe-fix{position:absolute;top:0;left:0;width:100%;height:100%}.as-horizontal[_nghost-%COMP%]{flex-direction:row}.as-horizontal[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%]{flex-direction:row;cursor:col-resize;height:100%}.as-horizontal[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%] > .as-split-gutter-icon[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.as-horizontal[_nghost-%COMP%] >.as-split-area{height:100%}.as-vertical[_nghost-%COMP%]{flex-direction:column}.as-vertical[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%]{flex-direction:column;cursor:row-resize;width:100%}.as-vertical[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%] .as-split-gutter-icon[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.as-vertical[_nghost-%COMP%] >.as-split-area{width:100%}.as-vertical[_nghost-%COMP%] >.as-split-area.as-hidden{max-width:0}.as-disabled[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%]{cursor:default}.as-disabled[_nghost-%COMP%] > .as-split-gutter[_ngcontent-%COMP%] .as-split-gutter-icon[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.as-transition.as-init[_nghost-%COMP%]:not(.as-dragging) > .as-split-gutter[_ngcontent-%COMP%], .as-transition.as-init[_nghost-%COMP%]:not(.as-dragging) >.as-split-area{transition:flex-basis .3s}"],changeDetection:0}),SplitComponent2})(),SplitAreaDirective=(()=>{var _class2;class SplitAreaDirective2{set order(v){this._order=getInputPositiveNumber(v,null),this.split.updateArea(this,!0,!1)}get order(){return this._order}set size(v){this._size=getInputPositiveNumber(v,"*"),this.split.updateArea(this,!1,!0)}get size(){return this._size}set minSize(v){this._minSize=getInputPositiveNumber(v,null),this.split.updateArea(this,!1,!0)}get minSize(){return this._minSize}set maxSize(v){this._maxSize=getInputPositiveNumber(v,null),this.split.updateArea(this,!1,!0)}get maxSize(){return this._maxSize}set lockSize(v){this._lockSize=getInputBoolean(v),this.split.updateArea(this,!1,!0)}get lockSize(){return this._lockSize}set visible(v){this._visible=getInputBoolean(v),this._visible?(this.split.showArea(this),this.renderer.removeClass(this.elRef.nativeElement,"as-hidden")):(this.split.hideArea(this),this.renderer.addClass(this.elRef.nativeElement,"as-hidden"))}get visible(){return this._visible}constructor(ngZone,elRef,renderer,split2){this.ngZone=ngZone,this.elRef=elRef,this.renderer=renderer,this.split=split2,this._order=null,this._size="*",this._minSize=null,this._maxSize=null,this._lockSize=!1,this._visible=!0,this.lockListeners=[],this.renderer.addClass(this.elRef.nativeElement,"as-split-area")}ngOnInit(){this.split.addArea(this),this.ngZone.runOutsideAngular(()=>{this.transitionListener=this.renderer.listen(this.elRef.nativeElement,"transitionend",event=>{"flex-basis"===event.propertyName&&this.split.notify("transitionEnd",-1)})});const iframeFixDiv=this.renderer.createElement("div");this.renderer.addClass(iframeFixDiv,"iframe-fix"),this.dragStartSubscription=this.split.dragStart.subscribe(()=>{this.renderer.setStyle(this.elRef.nativeElement,"position","relative"),this.renderer.appendChild(this.elRef.nativeElement,iframeFixDiv)}),this.dragEndSubscription=this.split.dragEnd.subscribe(()=>{this.renderer.removeStyle(this.elRef.nativeElement,"position"),this.renderer.removeChild(this.elRef.nativeElement,iframeFixDiv)})}setStyleOrder(value){this.renderer.setStyle(this.elRef.nativeElement,"order",value)}setStyleFlex(grow,shrink,basis,isMin,isMax){this.renderer.setStyle(this.elRef.nativeElement,"flex-grow",grow),this.renderer.setStyle(this.elRef.nativeElement,"flex-shrink",shrink),this.renderer.setStyle(this.elRef.nativeElement,"flex-basis",basis),!0===isMin?this.renderer.addClass(this.elRef.nativeElement,"as-min"):this.renderer.removeClass(this.elRef.nativeElement,"as-min"),!0===isMax?this.renderer.addClass(this.elRef.nativeElement,"as-max"):this.renderer.removeClass(this.elRef.nativeElement,"as-max")}lockEvents(){this.ngZone.runOutsideAngular(()=>{this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement,"selectstart",()=>!1)),this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement,"dragstart",()=>!1))})}unlockEvents(){for(;this.lockListeners.length>0;){const fct=this.lockListeners.pop();fct&&fct()}}ngOnDestroy(){this.unlockEvents(),this.transitionListener&&this.transitionListener(),this.dragStartSubscription?.unsubscribe(),this.dragEndSubscription?.unsubscribe(),this.split.removeArea(this)}collapse(newSize=0,gutter="right"){this.split.collapseArea(this,newSize,gutter)}expand(){this.split.expandArea(this)}}return(_class2=SplitAreaDirective2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(SplitComponent))},_class2.\u0275dir=\u0275\u0275defineDirective({type:_class2,selectors:[["as-split-area"],["","as-split-area",""]],inputs:{order:"order",size:"size",minSize:"minSize",maxSize:"maxSize",lockSize:"lockSize",visible:"visible"},exportAs:["asSplitArea"]}),SplitAreaDirective2})(),AngularSplitModule=(()=>{var _class3;class AngularSplitModule2{}return(_class3=AngularSplitModule2).\u0275fac=function(t){return new(t||_class3)},_class3.\u0275mod=\u0275\u0275defineNgModule({type:_class3}),_class3.\u0275inj=\u0275\u0275defineInjector({imports:[common_CommonModule]}),AngularSplitModule2})();const angular_svg_icon_c0=["*"];class SvgLoader{}let SvgHttpLoader=(()=>{var _class2;class SvgHttpLoader2 extends SvgLoader{constructor(http){super(),this.http=http}getSvg(url){return this.http.get(url,{responseType:"text"})}}return(_class2=SvgHttpLoader2).\u0275fac=function(t){return new(t||_class2)(core_inject(HttpClient))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),SvgHttpLoader2})();const SERVER_URL=new InjectionToken("SERVER_URL");let SvgIconRegistryService=(()=>{var _class2;class SvgIconRegistryService2{constructor(loader,platformId,serverUrl,_document2){this.loader=loader,this.platformId=platformId,this.serverUrl=serverUrl,this._document=_document2,this.iconsByUrl=new Map,this.iconsLoadingByUrl=new Map,this.document=this._document}addSvg(name,data){if(!this.iconsByUrl.has(name)){const div=this.document.createElement("DIV");div.innerHTML=data;const svg=div.querySelector("svg");this.iconsByUrl.set(name,svg)}}loadSvg(url,name=url){if(this.serverUrl&&null===url.match(/^(http(s)?):/)&&(name=url=this.serverUrl+url),this.iconsByUrl.has(name))return of_of(this.iconsByUrl.get(name));if(this.iconsLoadingByUrl.has(name))return this.iconsLoadingByUrl.get(name);const o=this.loader.getSvg(url).pipe(map_map(svg=>{const div=this.document.createElement("DIV");return div.innerHTML=svg,div.querySelector("svg")}),tap_tap(svg=>this.iconsByUrl.set(name,svg)),catchError_catchError(err=>(console.error(err),throwError_throwError(err))),finalize(()=>this.iconsLoadingByUrl.delete(name)),share());return this.iconsLoadingByUrl.set(name,o),o}getSvgByName(name){return this.iconsByUrl.has(name)?of_of(this.iconsByUrl.get(name)):this.iconsLoadingByUrl.has(name)?this.iconsLoadingByUrl.get(name):throwError_throwError(`No svg with name '${name}' has been loaded`)}unloadSvg(url){this.iconsByUrl.has(url)&&this.iconsByUrl.delete(url)}}return(_class2=SvgIconRegistryService2).\u0275fac=function(t){return new(t||_class2)(core_inject(SvgLoader),core_inject(core_PLATFORM_ID),core_inject(SERVER_URL,8),core_inject(common_DOCUMENT,8))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac}),SvgIconRegistryService2})();const SVG_ICON_REGISTRY_PROVIDER={provide:SvgIconRegistryService,deps:[[new core_Optional,new core_SkipSelf,SvgIconRegistryService],SvgLoader,[core_PLATFORM_ID],[new core_Optional,SERVER_URL],[new core_Optional,common_DOCUMENT]],useFactory:function SVG_ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry,loader,platformId,serverUrl,document2){return parentRegistry||new SvgIconRegistryService(loader,platformId,serverUrl,document2)}};class SvgIconHelper{constructor(){this.loaded=!1}}let SvgIconComponent=(()=>{var _class3;class SvgIconComponent2{set svgStyle(values){this._svgStyle=values,!this.helper.differ&&values&&(this.helper.differ=this.differs.find(values).create())}constructor(element,differs,renderer,iconReg,cdr){this.element=element,this.differs=differs,this.renderer=renderer,this.iconReg=iconReg,this.cdr=cdr,this.stretch=!1,this.applyClass=!1,this.applyCss=!1,this.helper=new SvgIconHelper,this._svgStyle=null}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}ngOnChanges(changeRecord){const elemSvg=this.element.nativeElement.firstChild;(changeRecord.src||changeRecord.name)&&(this.helper.loaded&&this.destroy(),this.init()),changeRecord.stretch&&this.stylize(),changeRecord.applyClass&&(this.applyClass?this.setClass(elemSvg,null,this.klass):this.setClass(elemSvg,this.klass,null)),changeRecord.svgClass&&this.setClass(elemSvg,changeRecord.svgClass.previousValue,changeRecord.svgClass.currentValue),changeRecord.klass&&(this.setClass(this.element.nativeElement,changeRecord.klass.previousValue,changeRecord.klass.currentValue),this.setClass(elemSvg,changeRecord.klass.previousValue,this.applyClass?changeRecord.klass.currentValue:null)),changeRecord.viewBox&&(this.helper.loaded&&this.destroy(),this.init()),changeRecord.applyCss&&(console.warn("applyCss deprecated since 9.1.0, will be removed in 10.0.0"),console.warn("use applyClass instead")),changeRecord.svgAriaLabel&&this.doAria(changeRecord.svgAriaLabel.currentValue)}ngDoCheck(){if(this.helper.svg&&this.helper.differ){const changes=this.helper.differ.diff(this._svgStyle);changes&&this.applyChanges(changes)}}init(){if(this.name){const svgObs=this.iconReg.getSvgByName(this.name);svgObs&&(this.helper.icnSub=svgObs.subscribe(svg=>this.initSvg(svg)))}else if(this.src){const svgObs=this.iconReg.loadSvg(this.src);svgObs&&(this.helper.icnSub=svgObs.subscribe(svg=>this.initSvg(svg)))}else this.element.nativeElement.innerHTML="",this.cdr.markForCheck()}initSvg(svg){!this.helper.loaded&&svg&&(this.setSvg(svg),this.resetDiffer())}destroy(){this.helper.icnSub&&this.helper.icnSub.unsubscribe(),this.helper=new SvgIconHelper}resetDiffer(){this._svgStyle&&!this.helper.differ&&(this.helper.differ=this.differs.find(this._svgStyle).create())}setSvg(svg){if(!this.helper.loaded&&svg){this.helper.svg=svg;const icon=svg.cloneNode(!0),elem=this.element.nativeElement;if(elem.innerHTML="",this.renderer.appendChild(elem,icon),this.helper.loaded=!0,this.copyNgContentAttribute(elem,icon),this.klass&&this.applyClass&&this.setClass(elem.firstChild,null,this.klass),this.svgClass&&this.setClass(elem.firstChild,null,this.svgClass),this.viewBox)if("auto"===this.viewBox){const w=icon.getAttribute("width"),h=icon.getAttribute("height");h&&w&&(this.renderer.setAttribute(icon,"viewBox",`0 0 ${w} ${h}`),this.renderer.removeAttribute(icon,"width"),this.renderer.removeAttribute(icon,"height"))}else""!==this.viewBox&&(this.renderer.setAttribute(icon,"viewBox",this.viewBox),this.renderer.removeAttribute(icon,"width"),this.renderer.removeAttribute(icon,"height"));this.stylize(),void 0===this.svgAriaLabel&&elem.firstChild.hasAttribute("aria-label")||this.doAria(this.svgAriaLabel||""),this.cdr.markForCheck()}}copyNgContentAttribute(hostElem,icon){const attributes=hostElem.attributes,len=attributes.length;for(let i6=0;i6this.setStyle(record2.key,null)),changes.forEachAddedItem(record2=>this.setStyle(record2.key,record2.currentValue)),changes.forEachChangedItem(record2=>this.setStyle(record2.key,record2.currentValue))}setStyle(nameAndUnit,value){const[name,unit]=nameAndUnit.split("."),svg=this.element.nativeElement.firstChild;null!==(value=null!==value&&unit?`${value}${unit}`:value)?this.renderer.setStyle(svg,name,value):this.renderer.removeStyle(svg,name)}setClass(target,previous,current){if(target){if(previous){const klasses=(Array.isArray(previous)?previous:previous.split(" ")).filter(klass=>klass);for(const k of klasses)this.renderer.removeClass(target,k)}if(current){const klasses=(Array.isArray(current)?current:current.split(" ")).filter(klass=>klass);for(const k of klasses)this.renderer.addClass(target,k)}}}doAria(label){const svg=this.element.nativeElement.firstChild;svg&&(""===label?(this.renderer.setAttribute(svg,"aria-hidden","true"),this.renderer.removeAttribute(svg,"aria-label")):(this.renderer.removeAttribute(svg,"aria-hidden"),this.renderer.setAttribute(svg,"aria-label",label)))}}return(_class3=SvgIconComponent2).\u0275fac=function(t){return new(t||_class3)(\u0275\u0275directiveInject(core_ElementRef),\u0275\u0275directiveInject(KeyValueDiffers),\u0275\u0275directiveInject(core_Renderer2),\u0275\u0275directiveInject(SvgIconRegistryService),\u0275\u0275directiveInject(ChangeDetectorRef))},_class3.\u0275cmp=\u0275\u0275defineComponent({type:_class3,selectors:[["svg-icon"]],inputs:{src:"src",name:"name",stretch:"stretch",applyClass:"applyClass",applyCss:"applyCss",svgClass:"svgClass",klass:["class","klass"],viewBox:"viewBox",svgAriaLabel:"svgAriaLabel",svgStyle:"svgStyle"},features:[\u0275\u0275NgOnChangesFeature],ngContentSelectors:angular_svg_icon_c0,decls:1,vars:0,template:function(rf,ctx){1&rf&&(\u0275\u0275projectionDef(),\u0275\u0275projection(0))},encapsulation:2}),SvgIconComponent2})(),AngularSvgIconModule=(()=>{var _class4;class AngularSvgIconModule2{static forRoot(config2={}){return{ngModule:AngularSvgIconModule2,providers:[SVG_ICON_REGISTRY_PROVIDER,config2.loader||{provide:SvgLoader,useClass:SvgHttpLoader}]}}}return(_class4=AngularSvgIconModule2).\u0275fac=function(t){return new(t||_class4)},_class4.\u0275mod=\u0275\u0275defineNgModule({type:_class4}),_class4.\u0275inj=\u0275\u0275defineInjector({imports:[common_CommonModule]}),AngularSvgIconModule2})();const EmptyError=createErrorClass(_super=>function(){_super(this),this.name="EmptyError",this.message="no elements in sequence"});function throwIfEmpty(errorFactory=defaultErrorFactory){return operate((source,subscriber)=>{let hasValue=!1;source.subscribe(createOperatorSubscriber(subscriber,value=>{hasValue=!0,subscriber.next(value)},()=>hasValue?subscriber.complete():subscriber.error(errorFactory())))})}function defaultErrorFactory(){return new EmptyError}function first_first(predicate,defaultValue){const hasDefaultValue=arguments.length>=2;return source=>source.pipe(predicate?filter_filter((v,i6)=>predicate(v,i6,source)):identity,take_take(1),hasDefaultValue?function defaultIfEmpty(defaultValue){return operate((source,subscriber)=>{let hasValue=!1;source.subscribe(createOperatorSubscriber(subscriber,value=>{hasValue=!0,subscriber.next(value)},()=>{hasValue||subscriber.next(defaultValue),subscriber.complete()}))})}(defaultValue):throwIfEmpty(()=>new EmptyError))}function repeat(countOrConfig){let delay,count=1/0;return null!=countOrConfig&&("object"==typeof countOrConfig?({count=1/0,delay}=countOrConfig):count=countOrConfig),count<=0?()=>EMPTY:operate((source,subscriber)=>{let sourceSub,soFar=0;const resubscribe=()=>{if(sourceSub?.unsubscribe(),sourceSub=null,null!=delay){const notifier="number"==typeof delay?timer_timer(delay):innerFrom(delay(soFar)),notifierSubscriber=createOperatorSubscriber(subscriber,()=>{notifierSubscriber.unsubscribe(),subscribeToSource()});notifier.subscribe(notifierSubscriber)}else subscribeToSource()},subscribeToSource=()=>{let syncUnsub=!1;sourceSub=source.subscribe(createOperatorSubscriber(subscriber,void 0,()=>{++soFar{const{leading=!0,trailing=!1}=config2??{};let hasValue=!1,sendValue=null,throttled=null,isComplete=!1;const endThrottling=()=>{throttled?.unsubscribe(),throttled=null,trailing&&(send(),isComplete&&subscriber.complete())},cleanupThrottling=()=>{throttled=null,isComplete&&subscriber.complete()},startThrottle=value=>throttled=innerFrom(durationSelector(value)).subscribe(createOperatorSubscriber(subscriber,endThrottling,cleanupThrottling)),send=()=>{if(hasValue){hasValue=!1;const value=sendValue;sendValue=null,subscriber.next(value),!isComplete&&startThrottle(value)}};source.subscribe(createOperatorSubscriber(subscriber,value=>{hasValue=!0,sendValue=value,(!throttled||throttled.closed)&&(leading?send():startThrottle(value))},()=>{isComplete=!0,(!(trailing&&hasValue&&throttled)||throttled.closed)&&subscriber.complete()}))})}function ng_keyboard_shortcuts_isFunction(x){return"function"==typeof x}const any=(fn,list2)=>{let idx=0;for(;idxx,isMac=typeof navigator<"u"&&navigator.userAgent.includes("Mac OS"),modifiers={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",cmd:isMac?"metaKey":"ctrlKey",command:isMac?"metaKey":"ctrlKey",meta:isMac?"metaKey":"ctrlKey","left command":"metaKey","right command":"MetaRight","\u2318":isMac?"metaKey":"ctrlKey",option:"altKey",ctl:"ctrlKey",control:"ctrlKey"},_SPECIAL_CASES={plus:"+"},_MAP={8:"backspace",9:"tab",13:"enter",16:"shift",17:["ctrl","control"],18:"alt",20:"capslock",27:["esc","escape"],32:["space","spc"],33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:["meta","cmd","command"],93:["meta","cmd","command"],224:["meta","cmd","command"]},_KEYCODE_MAP={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},_SHIFT_MAP={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},_INVERTED_SHIFT_MAP=function invert(obj){const new_obj={};for(const prop2 in obj)obj.hasOwnProperty(prop2)&&(new_obj[obj[prop2]]=prop2);return new_obj}(_SHIFT_MAP);for(let i6=1;i6<20;++i6)_MAP[111+i6]="f"+i6;for(let i6=0;i6<=9;++i6)_MAP[i6+96]=i6.toString();var AllowIn=function(AllowIn2){return AllowIn2.Textarea="TEXTAREA",AllowIn2.Input="INPUT",AllowIn2.Select="SELECT",AllowIn2.ContentEditable="CONTENT-EDITABLE",AllowIn2}(AllowIn||{});let guid=0,KeyboardShortcutsService=(()=>{class KeyboardShortcutsService2{constructor(document2){this.document=document2,this._shortcuts=[],this._sequences=[],this.throttleTime=0,this._pressed=new Subject_Subject,this.pressed$=this._pressed.asObservable(),this.disabled=!1,this._shortcutsSub=new BehaviorSubject_BehaviorSubject([]),this.shortcuts$=this._shortcutsSub.pipe(filter_filter(shortcuts=>!!shortcuts.length)),this._ignored=[AllowIn.Input,AllowIn.Textarea,AllowIn.Select,AllowIn.ContentEditable],this.isAllowed=shortcut=>{const target=shortcut.event.target,isContentEditable=!!target.getAttribute("contenteditable"),nodeName=isContentEditable?AllowIn.ContentEditable:target.nodeName;return target===shortcut.target||(shortcut.allowIn.length?!(first2=this._ignored,second=shortcut.allowIn,first2.filter(item=>!second.includes(item))).includes(nodeName):!isContentEditable&&!this._ignored.includes(target.nodeName));var first2,second},this.mapEvent=event=>this._shortcuts.filter(shortcut=>!shortcut.isSequence).map(shortcut=>Object.assign({},shortcut,{predicates:any(ng_keyboard_shortcuts_identity,shortcut.predicates.map(predicates=>{return(preds=predicates,(...args)=>{let idx=0;const len=preds.length;for(;idxshortcut.predicates).reduce((acc,shortcut)=>acc.priority>shortcut.priority?acc:shortcut,{priority:0}),this.subscriptions=[],this.keydown$=fromEvent_fromEvent(this.document,"keydown"),this.ignore$=this.pressed$.pipe(filter_filter(e2=>e2.event.defaultPrevented),switchMap_switchMap(()=>this.clicks$.pipe(first_first())),tap_tap(e2=>{e2.preventDefault(),e2.stopPropagation()}),repeat()),this.clicks$=fromEvent_fromEvent(this.document,"click",{capture:!0}),this.keyup$=fromEvent_fromEvent(this.document,"keyup"),this.keydownCombo$=this.keydown$.pipe(filter_filter(_=>!this.disabled),map_map(this.mapEvent),filter_filter(shortcut=>!shortcut.target||shortcut.event.target===shortcut.target),filter_filter(shortcut=>ng_keyboard_shortcuts_isFunction(shortcut.command)),filter_filter(shortcut=>this.isAllowed(shortcut)),tap_tap(shortcut=>{shortcut.preventDefault&&(shortcut.event.preventDefault(),shortcut.event.stopPropagation())}),throttle_throttle(shortcut=>timer_timer(shortcut.throttleTime)),tap_tap(shortcut=>shortcut.command({event:shortcut.event,key:shortcut.key})),tap_tap(shortcut=>this._pressed.next({event:shortcut.event,key:shortcut.key})),takeUntil_takeUntil(this.keyup$),repeat(),catchError_catchError(error=>throwError_throwError(error))),this.timer$=new Subject_Subject,this.resetCounter$=this.timer$.asObservable().pipe(switchMap_switchMap(()=>timer_timer(KeyboardShortcutsService2.TIMEOUT_SEQUENCE))),this.keydownSequence$=this.keydown$.pipe(map_map(event=>({event,sequences:this._sequences})),function scan(accumulator,seed){return operate(function scanInternals(accumulator,seed,hasSeed,emitOnNext,emitBeforeComplete){return(source,subscriber)=>{let hasState=hasSeed,state2=seed,index=0;source.subscribe(createOperatorSubscriber(subscriber,value=>{const i6=index++;state2=hasState?accumulator(state2,value,i6):(hasState=!0,value),emitOnNext&&subscriber.next(state2)},emitBeforeComplete&&(()=>{hasState&&subscriber.next(state2),subscriber.complete()})))}}(accumulator,seed,arguments.length>=2,!0))}((acc,arg)=>{const{event}=arg,currentLength=acc.events.length,sequences=currentLength?acc.sequences:arg.sequences,[characters]=this.characterFromEvent(event),allChars=Array.isArray(characters)?[...characters,event.key]:[characters,event.key],result=sequences.map(sequence2=>{const sequences2=sequence2.sequence.filter(seque=>allChars.some(key=>(_SPECIAL_CASES[seque[currentLength]]||seque[currentLength])===key)),partialMatch=sequences2.length>0;return sequence2.fullMatch?sequence2:{...sequence2,sequence:sequences2,partialMatch,event,fullMatch:partialMatch&&this.isFullMatch({command:sequence2,events:acc.events})}}).filter(sequences2=>sequences2.partialMatch||sequences2.fullMatch),[match2]=result;if(!match2||this.modifiersOn(event))return{events:[],sequences:this._sequences};const guess=result.reduce((acc,curr)=>{const propFn=(prop2=property,object=>object[prop2]);var prop2;return propFn(curr)>propFn(acc)?curr:acc},{[property="priority"]:0});var property;return result.length>1&&guess.fullMatch?{events:[],command:guess,sequences:this._sequences}:result.length>1?{events:[...acc.events,event],command:result,sequences:result}:match2.fullMatch?{events:[],command:match2,sequences:this._sequences}:{events:[...acc.events,event],command:result,sequences:result}},{events:[],sequences:[]}),switchMap_switchMap(({command})=>Array.isArray(command)?timer_timer(500).pipe(map_map(()=>({command:command.filter(command2=>command2.fullMatch)[0]}))):of_of({command})),takeUntil_takeUntil(this.pressed$),filter_filter(({command})=>command&&command.fullMatch),map_map(({command})=>command),filter_filter(shortcut=>ng_keyboard_shortcuts_isFunction(shortcut.command)),filter_filter(shortcut=>!shortcut.target||shortcut.event.target===shortcut.target),filter_filter(this.isAllowed),tap_tap(shortcut=>!shortcut.preventDefault||shortcut.event.preventDefault()),throttle_throttle(shortcut=>timer_timer(shortcut.throttleTime)),tap_tap(shortcut=>shortcut.command({event:shortcut.event,key:shortcut.key})),tap_tap(shortcut=>this._pressed.next({event:shortcut.event,key:shortcut.key})),takeUntil_takeUntil(this.resetCounter$),repeat()),this.getKeys=keys=>keys.map(key=>key.trim()).filter(key=>"+"!==key).map(key=>modifiers.hasOwnProperty(key=_SPECIAL_CASES[key]||key)?event=>!!event[modifiers[key]]:event=>{const isUpper=key===key.toUpperCase(),isNonAlpha=/[^a-zA-Z\d\s:]/.test(key),inShiftMap=_INVERTED_SHIFT_MAP[key],[characters]=this.characterFromEvent(event),hasModifiers=Object.keys(modifiers).map(key2=>modifiers[key2]).some(modifier=>event[modifier]),result=Array.isArray(characters)?[...characters,event.key]:[characters,event.key];return!(hasModifiers&&(!isUpper||isNonAlpha)&&!inShiftMap&&1===keys.length)&&result.some(char=>!(char!==key||!isUpper)||key===char)}),this.subscriptions.push(this.keydownSequence$.subscribe(),this.keydownCombo$.subscribe())}isFullMatch({command,events}){return!!command&&command.sequence.some(sequence2=>sequence2.length===events.length+1)}get shortcuts(){return this._shortcuts}_characterFromEvent(event){return"number"!=typeof event.which&&(event.which=event.keyCode),_SPECIAL_CASES[event.which]?[_SPECIAL_CASES[event.which],event.shiftKey]:_MAP[event.which]?[_MAP[event.which],event.shiftKey]:_KEYCODE_MAP[event.which]?[_KEYCODE_MAP[event.which],event.shiftKey]:String.fromCharCode(event.which).toLowerCase()!==event.key?[String.fromCharCode(event.which).toLowerCase(),event.shiftKey]:[event.key,event.shiftKey]}characterFromEvent(event){const[key,shiftKey]=this._characterFromEvent(event);return shiftKey&&_SHIFT_MAP[key]?[_SHIFT_MAP[key],shiftKey]:[key,shiftKey]}ngOnDestroy(){this.subscriptions.forEach(sub=>sub.unsubscribe())}isSequence(shortcuts){return!shortcuts.some(shortcut=>shortcut.includes("+")||1===shortcut.length)}add(shortcuts){shortcuts=Array.isArray(shortcuts)?shortcuts:[shortcuts];const commands=this.parseCommand(shortcuts);return commands.forEach(command=>{command.isSequence?this._sequences.push(command):this._shortcuts.push(command)}),setTimeout(()=>{this._shortcutsSub.next([...this._shortcuts,...this._sequences])}),commands.map(command=>command.id)}remove(ids){return ids=Array.isArray(ids)?ids:[ids],this._shortcuts=this._shortcuts.filter(shortcut=>!ids.includes(shortcut.id)),this._sequences=this._sequences.filter(shortcut=>!ids.includes(shortcut.id)),setTimeout(()=>{this._shortcutsSub.next([...this._shortcuts,...this._sequences])}),this}select(key){return this.pressed$.pipe(filter_filter(({key:eventKeys})=>!!(eventKeys=Array.isArray(eventKeys)?eventKeys:[eventKeys]).find(eventKey=>eventKey===key)))}modifiersOn(event){return["metaKey","altKey","ctrlKey"].some(mod=>event[mod])}parseCommand(command){return(Array.isArray(command)?command:[command]).map(command2=>{const keys=Array.isArray(command2.key)?command2.key:[command2.key],priority=Math.max(...keys.map(key=>key.split(" ").filter(ng_keyboard_shortcuts_identity).length)),predicates=keys.map(key=>this.getKeys(key.split(" ").filter(ng_keyboard_shortcuts_identity))),isSequence=this.isSequence(keys),sequence2=isSequence?keys.map(key=>key.split(" ").filter(ng_keyboard_shortcuts_identity).map(key2=>key2.trim())):[];return{...command2,isSequence,sequence:isSequence?sequence2:[],allowIn:command2.allowIn||[],key:keys,id:""+guid++,throttle:(x=command2.throttleTime,null==x?this.throttleTime:command2.throttleTime),priority,predicates};var x})}}return KeyboardShortcutsService2.TIMEOUT_SEQUENCE=1e3,KeyboardShortcutsService2.\u0275fac=function(t){return new(t||KeyboardShortcutsService2)(core_inject(common_DOCUMENT))},KeyboardShortcutsService2.\u0275prov=core_defineInjectable({token:KeyboardShortcutsService2,factory:KeyboardShortcutsService2.\u0275fac,providedIn:"root"}),KeyboardShortcutsService2})(),KeyboardShortcutsComponent=(()=>{class KeyboardShortcutsComponent2{constructor(keyboard){this.keyboard=keyboard,this.shortcuts=[],this.clearIds=[],this._disabled=!1}set disabled(value){this._disabled=value,this.clearIds&&(this.keyboard.remove(this.clearIds),this.clearIds=[]),!value&&(this.clearIds=this.keyboard.add(this.shortcuts))}select(key){return this.keyboard.select(key)}ngOnChanges(changes){!changes.shortcuts||!changes.shortcuts.currentValue||(this.clearIds&&this.keyboard.remove(this.clearIds),this._disabled||setTimeout(()=>this.clearIds=this.keyboard.add(changes.shortcuts.currentValue)))}ngOnDestroy(){this.keyboard.remove(this.clearIds)}}return KeyboardShortcutsComponent2.\u0275fac=function(t){return new(t||KeyboardShortcutsComponent2)(\u0275\u0275directiveInject(KeyboardShortcutsService))},KeyboardShortcutsComponent2.\u0275cmp=\u0275\u0275defineComponent({type:KeyboardShortcutsComponent2,selectors:[["ng-keyboard-shortcuts"]],inputs:{shortcuts:"shortcuts",disabled:"disabled"},features:[\u0275\u0275NgOnChangesFeature],decls:0,vars:0,template:function(rf,ctx){},encapsulation:2}),KeyboardShortcutsComponent2})(),KeyboardShortcutsHelpService=(()=>{class KeyboardShortcutsHelpService2{constructor(keyboard){this.keyboard=keyboard,this.shortcuts$=this.keyboard.shortcuts$.pipe(map_map(shortcuts=>shortcuts.filter(shortcut=>!!shortcut.label&&!!shortcut.description).map(({key,label,description})=>({key,label,description}))))}}return KeyboardShortcutsHelpService2.\u0275fac=function(t){return new(t||KeyboardShortcutsHelpService2)(core_inject(KeyboardShortcutsService))},KeyboardShortcutsHelpService2.\u0275prov=core_defineInjectable({token:KeyboardShortcutsHelpService2,factory:KeyboardShortcutsHelpService2.\u0275fac,providedIn:"root"}),KeyboardShortcutsHelpService2})(),KeyboardShortcutsSelectService=(()=>{class KeyboardShortcutsSelectService2{constructor(keyboardService){this.keyboardService=keyboardService}select(key){return this.keyboardService.select(key)}}return KeyboardShortcutsSelectService2.\u0275fac=function(t){return new(t||KeyboardShortcutsSelectService2)(core_inject(KeyboardShortcutsService))},KeyboardShortcutsSelectService2.\u0275prov=core_defineInjectable({token:KeyboardShortcutsSelectService2,factory:KeyboardShortcutsSelectService2.\u0275fac,providedIn:"root"}),KeyboardShortcutsSelectService2})(),KeyboardShortcutsPlugin=(()=>{class KeyboardShortcutsPlugin2{constructor(ngZone,keyboard){this.ngZone=ngZone,this.keyboard=keyboard}supports(eventName){return eventName.split(".").includes("shortcut")}addEventListener(element,eventName,originalHandler){const shortcut=eventName.split("."),preventDefault2=shortcut.includes("prevent");if(0===shortcut.length)throw new Error("please provide a shortcut");const[,key,description,label]=shortcut,id=this.keyboard.add({key,command(event){originalHandler(event)},description,preventDefault:preventDefault2,label});return()=>{this.keyboard.remove(id)}}}return KeyboardShortcutsPlugin2.\u0275fac=function(t){return new(t||KeyboardShortcutsPlugin2)(core_inject(core_NgZone),core_inject(KeyboardShortcutsService))},KeyboardShortcutsPlugin2.\u0275prov=core_defineInjectable({token:KeyboardShortcutsPlugin2,factory:KeyboardShortcutsPlugin2.\u0275fac}),KeyboardShortcutsPlugin2})(),KeyboardShortcutsModule=(()=>{class KeyboardShortcutsModule2{static forRoot(){return{ngModule:KeyboardShortcutsModule2,providers:[KeyboardShortcutsService,KeyboardShortcutsHelpService,KeyboardShortcutsSelectService,{multi:!0,provide:EVENT_MANAGER_PLUGINS,useClass:KeyboardShortcutsPlugin}]}}}return KeyboardShortcutsModule2.\u0275fac=function(t){return new(t||KeyboardShortcutsModule2)},KeyboardShortcutsModule2.\u0275mod=\u0275\u0275defineNgModule({type:KeyboardShortcutsModule2}),KeyboardShortcutsModule2.\u0275inj=\u0275\u0275defineInjector({imports:[[common_CommonModule]]}),KeyboardShortcutsModule2})();typeof Element>"u"||(Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(s){let el=this;do{if(el.matches(s))return el;el=el.parentElement||el.parentNode}while(null!==el&&1===el.nodeType);return null})),Array.prototype.flat||(Array.prototype.flat=function(depth){var flattend=[];return function flat(array,depth2){for(let el of array)Array.isArray(el)&&depth2>0?flat(el,depth2-1):flattend.push(el)}(this,Math.floor(depth)||1),flattend}),Array.prototype.flatMap||(Array.prototype.flatMap=function(){return Array.prototype.map.apply(this,arguments).flat(1)});const NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN=new InjectionToken("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),NGX_WINDOW=new InjectionToken("ngx-window",{providedIn:"root",factory:()=>{const{defaultView}=fesm2022_core_inject(common_DOCUMENT);if(!defaultView)throw new Error("Window is not available");return defaultView}}),NGX_DATA_LAYER=new InjectionToken("ngx-data-layer",{providedIn:"root",factory:()=>function getDataLayerFn(window2){return window2?window2.dataLayer=window2.dataLayer||[]:null}(fesm2022_core_inject(NGX_WINDOW))}),NGX_GTAG_FN=new InjectionToken("ngx-gtag-fn",{providedIn:"root",factory:()=>function getGtagFn(window2,dataLayer){return window2?window2.gtag=window2.gtag||function(){dataLayer.push(arguments)}:null}(fesm2022_core_inject(NGX_WINDOW),fesm2022_core_inject(NGX_DATA_LAYER))});let GoogleAnalyticsService=(()=>{class GoogleAnalyticsService2{constructor(settings2,_document2,_gtag){this.settings=settings2,this._document=_document2,this._gtag=_gtag}get document(){return this._document}throw(err){this.settings.enableTracing&&console&&console.error&&console.error(err)}toKeyValue(map2){return map2.size>0?Array.from(map2).reduce((obj,[key,value])=>Object.defineProperty(obj,key,{value,enumerable:!0}),{}):void 0}gtag(...args){try{this._gtag(...args.filter(x=>void 0!==x))}catch(err){this.throw(err)}}event(action,category,label,value,interaction,options){try{const opt=new Map;category&&opt.set("event_category",category),label&&opt.set("event_label",label),value&&opt.set("value",value),void 0!==interaction&&opt.set("interaction",interaction),options&&Object.entries(options).map(([key,value2])=>opt.set(key,value2));const params=this.toKeyValue(opt);params?this.gtag("event",action,params):this.gtag("event",action)}catch(error){this.throw(error)}}pageView(path,title,location2,options){try{const opt=new Map([["page_path",path]]);title&&opt.set("page_title",title),(location2||this.document)&&opt.set("page_location",location2||this.document.location.href),options&&Object.entries(options).map(([key,value])=>opt.set(key,value)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(opt))}catch(error){this.throw(error)}}appView(screen,appName,appId,appVersion,installerId){try{const opt=new Map([["screen_name",screen],["app_name",appName]]);appId&&opt.set("app_id",appId),appVersion&&opt.set("app_version",appVersion),installerId&&opt.set("app_installer_id",installerId),this.gtag("event","screen_view",this.toKeyValue(opt))}catch(error){this.throw(error)}}set(...options){try{this._gtag("set",...options)}catch(err){this.throw(err)}}exception(description,fatal){try{const opt=new Map;description&&opt.set("description",description),fatal&&opt.set("fatal",fatal),this.toKeyValue(opt)?this.gtag("event","exception",this.toKeyValue(opt)):this.gtag("event","exception")}catch(error){this.throw(error)}}}return GoogleAnalyticsService2.\u0275fac=function(t){return new(t||GoogleAnalyticsService2)(core_inject(NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN),core_inject(common_DOCUMENT),core_inject(NGX_GTAG_FN))},GoogleAnalyticsService2.\u0275prov=core_defineInjectable({token:GoogleAnalyticsService2,factory:GoogleAnalyticsService2.\u0275fac,providedIn:"root"}),GoogleAnalyticsService2})();const NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER={provide:core_APP_INITIALIZER,multi:!0,useFactory:function GoogleAnalyticsInitializer(settings2,gtag,document2){return asyncToGenerator_asyncToGenerator(function*(){if(!settings2.trackingCode)return void console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule.");if(!gtag)return void console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface.");document2||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),settings2.uri=settings2.uri||`https://www.googletagmanager.com/gtag/js?id=${settings2.trackingCode}`,settings2.initCommands=settings2?.initCommands??[],settings2.initCommands.find(x=>"config"===x.command)||settings2.initCommands.unshift({command:"config",values:[settings2.trackingCode]}),settings2.initCommands.find(x=>"js"===x.command)||settings2.initCommands.unshift({command:"js",values:[new Date]});for(const command of settings2.initCommands)gtag(command.command,...command.values);const s=document2.createElement("script");s.async=!0,s.src=settings2.uri,settings2.nonce&&s.setAttribute("nonce",settings2.nonce),document2.getElementsByTagName("head")[0].appendChild(s)})},deps:[NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN,NGX_GTAG_FN,common_DOCUMENT]};new InjectionToken("ngx-google-analytics-routing-settings",{factory:()=>({})});let NgxGoogleAnalyticsModule=(()=>{class NgxGoogleAnalyticsModule2{static forRoot(trackingCode,initCommands=[],uri,enableTracing,nonce){return{ngModule:NgxGoogleAnalyticsModule2,providers:[{provide:NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN,useValue:{trackingCode,initCommands,uri,enableTracing,nonce}},NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER]}}}return NgxGoogleAnalyticsModule2.\u0275fac=function(t){return new(t||NgxGoogleAnalyticsModule2)},NgxGoogleAnalyticsModule2.\u0275mod=\u0275\u0275defineNgModule({type:NgxGoogleAnalyticsModule2}),NgxGoogleAnalyticsModule2.\u0275inj=\u0275\u0275defineInjector({}),NgxGoogleAnalyticsModule2})();class PortugolCodeError extends Error{constructor(message,context2,startLine,startCol,endLine,endCol){super(message),this.message=message,this.context=context2,this.startLine=startLine,this.startCol=startCol,this.endLine=endLine,this.endCol=endCol}static fromContext(ctx,message){let possibleContext=ctx;if(!ctx.hasOwnProperty("_start")&&!ctx.hasOwnProperty("_stop")&&ctx.parent&&(possibleContext=ctx.parent),possibleContext.hasOwnProperty("_start")&&possibleContext.hasOwnProperty("_stop")&&"object"==typeof possibleContext._start&&"object"==typeof possibleContext._stop){const{_start,_stop}=possibleContext;return new PortugolCodeError(message,ctx,_start.line,_start._charPositionInLine+1,_stop.line,_stop._charPositionInLine+2)}const possibleSymbol=ctx.symbol||ctx.payload;if(possibleSymbol&&possibleSymbol.hasOwnProperty("_charPositionInLine")&&possibleSymbol.hasOwnProperty("_line")){const{_charPositionInLine,_line}=ctx.symbol;return new PortugolCodeError(message,ctx,_line,_charPositionInLine+1,_line,_charPositionInLine+2+ctx.text.length)}return new PortugolCodeError(message,ctx,1,1,1,2+ctx.text.length)}}class PortugolErrorListener{constructor(){this.errors=[]}syntaxError(_recognizer,offendingSymbol,line,charPositionInLine,msg,exception){const endColumn=offendingSymbol&&offendingSymbol.text?charPositionInLine+offendingSymbol.text.length:charPositionInLine+1;this.errors.push(new PortugolCodeError(msg,exception?.context||offendingSymbol||null,line,charPositionInLine,line,endColumn))}getErrors(){return this.errors}reset(){this.errors=[]}}var _class,ATNDeserializer=__webpack_require__(9940),Lexer=__webpack_require__(1188),LexerATNSimulator=__webpack_require__(7101),VocabularyImpl=__webpack_require__(4221),Utils=__webpack_require__(2028);class PortugolLexer extends Lexer.Lexer{get vocabulary(){return PortugolLexer.VOCABULARY}constructor(input){super(input),this._interp=new LexerATNSimulator.LexerATNSimulator(PortugolLexer._ATN,this)}get grammarFileName(){return"Portugol.g4"}get ruleNames(){return PortugolLexer.ruleNames}get serializedATN(){return PortugolLexer._serializedATN}get channelNames(){return PortugolLexer.channelNames}get modeNames(){return PortugolLexer.modeNames}action(_localctx,ruleIndex,actionIndex){64===ruleIndex&&this.INT_action(_localctx,actionIndex)}INT_action(_localctx,actionIndex){if(0===actionIndex&&isNaN(parseInt(this.text)))throw new Error(`D\xedgito inv\xe1lido: ${this.text}`)}static get _ATN(){return PortugolLexer.__ATN||(PortugolLexer.__ATN=(new ATNDeserializer.ATNDeserializer).deserialize(Utils.toCharArray(PortugolLexer._serializedATN))),PortugolLexer.__ATN}}(_class=PortugolLexer).ABRE_PARENTESES=1,_class.FECHA_PARENTESES=2,_class.ABRE_COLCHETES=3,_class.FECHA_COLCHETES=4,_class.ABRE_CHAVES=5,_class.FECHA_CHAVES=6,_class.TIPO=7,_class.FACA=8,_class.ENQUANTO=9,_class.PARA=10,_class.SE=11,_class.SENAO=12,_class.CONSTANTE=13,_class.FUNCAO=14,_class.PROGRAMA=15,_class.ESCOLHA=16,_class.CASO=17,_class.CONTRARIO=18,_class.PARE=19,_class.RETORNE=20,_class.INCLUA=21,_class.BIBLIOTECA=22,_class.OP_NAO=23,_class.OP_E_LOGICO=24,_class.OP_OU_LOGICO=25,_class.OP_SUBTRACAO=26,_class.OP_ADICAO=27,_class.OP_MULTIPLICACAO=28,_class.OP_DIVISAO=29,_class.OP_MOD=30,_class.OP_ATRIBUICAO=31,_class.OP_IGUALDADE=32,_class.OP_DIFERENCA=33,_class.OP_MAIOR=34,_class.OP_MENOR=35,_class.OP_MENOR_IGUAL=36,_class.OP_MAIOR_IGUAL=37,_class.OP_INCREMENTO_UNARIO=38,_class.OP_DECREMENTO_UNARIO=39,_class.OP_SHIFT_LEFT=40,_class.OP_SHIFT_RIGHT=41,_class.OP_XOR=42,_class.OP_OU_BITWISE=43,_class.OP_NOT_BITWISE=44,_class.OP_ALIAS_BIBLIOTECA=45,_class.E_COMERCIAL=46,_class.OP_MAIS_IGUAL=47,_class.OP_MENOS_IGUAL=48,_class.OP_MULTIPLICACAO_IGUAL=49,_class.OP_DIVISAO_IGUAL=50,_class.LOGICO=51,_class.VERDADEIRO=52,_class.FALSO=53,_class.CARACTER=54,_class.STRING=55,_class.ID=56,_class.REAL=57,_class.INT=58,_class.HEXADECIMAL=59,_class.COMENTARIO=60,_class.COMENTARIO_SIMPLES=61,_class.WS=62,_class.PONTO=63,_class.VIRGULA=64,_class.PONTOVIRGULA=65,_class.DOISPONTOS=66,_class.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],_class.modeNames=["DEFAULT_MODE"],_class.ruleNames=["ABRE_PARENTESES","FECHA_PARENTESES","ABRE_COLCHETES","FECHA_COLCHETES","ABRE_CHAVES","FECHA_CHAVES","TIPO","FACA","ENQUANTO","PARA","SE","SENAO","CONSTANTE","FUNCAO","PROGRAMA","ESCOLHA","CASO","CONTRARIO","PARE","RETORNE","INCLUA","BIBLIOTECA","OP_NAO","OP_E_LOGICO","OP_OU_LOGICO","OP_SUBTRACAO","OP_ADICAO","OP_MULTIPLICACAO","OP_DIVISAO","OP_MOD","OP_ATRIBUICAO","OP_IGUALDADE","OP_DIFERENCA","OP_MAIOR","OP_MENOR","OP_MENOR_IGUAL","OP_MAIOR_IGUAL","OP_INCREMENTO_UNARIO","OP_DECREMENTO_UNARIO","OP_SHIFT_LEFT","OP_SHIFT_RIGHT","OP_XOR","OP_OU_BITWISE","OP_NOT_BITWISE","OP_ALIAS_BIBLIOTECA","E_COMERCIAL","OP_MAIS_IGUAL","OP_MENOS_IGUAL","OP_MULTIPLICACAO_IGUAL","OP_DIVISAO_IGUAL","LOGICO","VERDADEIRO","FALSO","CARACTER","SEQ_ESC","ESC_OCTAL","ESC_UNICODE","ESC_CARACTER","DIGIT_HEX","STRING","ID","LETRA","REAL","DIGITO","INT","HEXADECIMAL","SIMBOLO_HEXADECIMAL","COMENTARIO","COMENTARIO_SIMPLES","WS","PONTO","VIRGULA","PONTOVIRGULA","DOISPONTOS"],_class._LITERAL_NAMES=[void 0,"'('","')'","'['","']'","'{'","'}'",void 0,"'faca'","'enquanto'","'para'","'se'","'senao'","'const'","'funcao'","'programa'","'escolha'","'caso'","'contrario'","'pare'","'retorne'","'inclua'","'biblioteca'","'nao'","'e'","'ou'","'-'","'+'","'*'","'/'","'%'","'='","'=='","'!='","'>'","'<'","'<='","'>='","'++'","'--'","'<<'","'>>'","'^'","'|'","'~'","'--\x3e'","'&'","'+='","'-='","'*='","'/='",void 0,"'verdadeiro'","'falso'",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"'.'","','","';'","':'"],_class._SYMBOLIC_NAMES=[void 0,"ABRE_PARENTESES","FECHA_PARENTESES","ABRE_COLCHETES","FECHA_COLCHETES","ABRE_CHAVES","FECHA_CHAVES","TIPO","FACA","ENQUANTO","PARA","SE","SENAO","CONSTANTE","FUNCAO","PROGRAMA","ESCOLHA","CASO","CONTRARIO","PARE","RETORNE","INCLUA","BIBLIOTECA","OP_NAO","OP_E_LOGICO","OP_OU_LOGICO","OP_SUBTRACAO","OP_ADICAO","OP_MULTIPLICACAO","OP_DIVISAO","OP_MOD","OP_ATRIBUICAO","OP_IGUALDADE","OP_DIFERENCA","OP_MAIOR","OP_MENOR","OP_MENOR_IGUAL","OP_MAIOR_IGUAL","OP_INCREMENTO_UNARIO","OP_DECREMENTO_UNARIO","OP_SHIFT_LEFT","OP_SHIFT_RIGHT","OP_XOR","OP_OU_BITWISE","OP_NOT_BITWISE","OP_ALIAS_BIBLIOTECA","E_COMERCIAL","OP_MAIS_IGUAL","OP_MENOS_IGUAL","OP_MULTIPLICACAO_IGUAL","OP_DIVISAO_IGUAL","LOGICO","VERDADEIRO","FALSO","CARACTER","STRING","ID","REAL","INT","HEXADECIMAL","COMENTARIO","COMENTARIO_SIMPLES","WS","PONTO","VIRGULA","PONTOVIRGULA","DOISPONTOS"],_class.VOCABULARY=new VocabularyImpl.VocabularyImpl(_class._LITERAL_NAMES,_class._SYMBOLIC_NAMES,[]),_class._serializedATN="\x03\uc91d\ucaba\u058d\uafba\u4f53\u0607\uea8b\uc241\x02D\u022a\b\x01\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04\x0e\t\x0e\x04\x0f\t\x0f\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1a\t\x1a\x04\x1b\t\x1b\x04\x1c\t\x1c\x04\x1d\t\x1d\x04\x1e\t\x1e\x04\x1f\t\x1f\x04 \t \x04!\t!\x04\"\t\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04'\t'\x04(\t(\x04)\t)\x04*\t*\x04+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x042\t2\x043\t3\x044\t4\x045\t5\x046\t6\x047\t7\x048\t8\x049\t9\x04:\t:\x04;\t;\x04<\t<\x04=\t=\x04>\t>\x04?\t?\x04@\t@\x04A\tA\x04B\tB\x04C\tC\x04D\tD\x04E\tE\x04F\tF\x04G\tG\x04H\tH\x04I\tI\x04J\tJ\x04K\tK\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03\x06\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x05\b\xc8\n\b\x03\t\x03\t\x03\t\x03\t\x03\t\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\v\x03\v\x03\v\x03\v\x03\v\x03\f\x03\f\x03\f\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x1a\x03\x1a\x03\x1a\x03\x1b\x03\x1b\x03\x1c\x03\x1c\x03\x1d\x03\x1d\x03\x1e\x03\x1e\x03\x1f\x03\x1f\x03 \x03 \x03!\x03!\x03!\x03\"\x03\"\x03\"\x03#\x03#\x03$\x03$\x03%\x03%\x03%\x03&\x03&\x03&\x03'\x03'\x03'\x03(\x03(\x03(\x03)\x03)\x03)\x03*\x03*\x03*\x03+\x03+\x03,\x03,\x03-\x03-\x03.\x03.\x03.\x03.\x03/\x03/\x030\x030\x030\x031\x031\x031\x032\x032\x032\x033\x033\x033\x034\x034\x054\u017d\n4\x035\x035\x035\x035\x035\x035\x035\x035\x035\x035\x035\x036\x036\x036\x036\x036\x036\x037\x037\x037\x057\u0193\n7\x037\x037\x038\x038\x038\x038\x058\u019b\n8\x039\x039\x039\x039\x039\x039\x039\x039\x039\x059\u01a6\n9\x03:\x03:\x03:\x03:\x03:\x03:\x03:\x03;\x03;\x03;\x05;\u01b2\n;\x03<\x03<\x03=\x03=\x03=\x07=\u01b9\n=\f=\x0e=\u01bc\v=\x03=\x03=\x03>\x03>\x05>\u01c2\n>\x03>\x03>\x07>\u01c6\n>\f>\x0e>\u01c9\v>\x03?\x03?\x03@\x06@\u01ce\n@\r@\x0e@\u01cf\x03@\x03@\x07@\u01d4\n@\f@\x0e@\u01d7\v@\x03@\x03@\x06@\u01db\n@\r@\x0e@\u01dc\x05@\u01df\n@\x03A\x03A\x03B\x06B\u01e4\nB\rB\x0eB\u01e5\x03B\x03B\x03C\x03C\x03C\x03C\x03C\x03C\x03C\x03C\x05C\u01f2\nC\x05C\u01f4\nC\x05C\u01f6\nC\x05C\u01f8\nC\x05C\u01fa\nC\x03D\x03D\x05D\u01fe\nD\x03E\x03E\x03E\x03E\x07E\u0204\nE\fE\x0eE\u0207\vE\x03E\x03E\x03E\x03E\x03E\x03F\x03F\x03F\x03F\x07F\u0212\nF\fF\x0eF\u0215\vF\x03F\x05F\u0218\nF\x03F\x03F\x03G\x06G\u021d\nG\rG\x0eG\u021e\x03G\x03G\x03H\x03H\x03I\x03I\x03J\x03J\x03K\x03K\x05\u01ba\u0205\u0213\x02\x02L\x03\x02\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0f\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0e\x1b\x02\x0f\x1d\x02\x10\x1f\x02\x11!\x02\x12#\x02\x13%\x02\x14'\x02\x15)\x02\x16+\x02\x17-\x02\x18/\x02\x191\x02\x1a3\x02\x1b5\x02\x1c7\x02\x1d9\x02\x1e;\x02\x1f=\x02 ?\x02!A\x02\"C\x02#E\x02$G\x02%I\x02&K\x02'M\x02(O\x02)Q\x02*S\x02+U\x02,W\x02-Y\x02.[\x02/]\x020_\x021a\x022c\x023e\x024g\x025i\x026k\x027m\x028o\x02\x02q\x02\x02s\x02\x02u\x02\x02w\x02\x02y\x029{\x02:}\x02\x02\x7f\x02;\x81\x02\x02\x83\x02<\x85\x02=\x87\x02\x02\x89\x02>\x8b\x02?\x8d\x02@\x8f\x02A\x91\x02B\x93\x02C\x95\x02D\x03\x02\f\x03\x02))\t\x02$$^^ddhhppttvv\x05\x022;CHch\x04\x022;aa\x04\x02C\\c|\x03\x022;\x04\x02ZZzz\x04\x02CHch\x03\x03\f\f\x05\x02\v\f\x0f\x0f\"\"\x02\u0240\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02\x0f\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x1b\x03\x02\x02\x02\x02\x1d\x03\x02\x02\x02\x02\x1f\x03\x02\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02\x02\x02'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03\x02\x02\x02\x02-\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02\x02\x023\x03\x02\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02\x029\x03\x02\x02\x02\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02\x02\x02\x02A\x03\x02\x02\x02\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02\x02G\x03\x02\x02\x02\x02I\x03\x02\x02\x02\x02K\x03\x02\x02\x02\x02M\x03\x02\x02\x02\x02O\x03\x02\x02\x02\x02Q\x03\x02\x02\x02\x02S\x03\x02\x02\x02\x02U\x03\x02\x02\x02\x02W\x03\x02\x02\x02\x02Y\x03\x02\x02\x02\x02[\x03\x02\x02\x02\x02]\x03\x02\x02\x02\x02_\x03\x02\x02\x02\x02a\x03\x02\x02\x02\x02c\x03\x02\x02\x02\x02e\x03\x02\x02\x02\x02g\x03\x02\x02\x02\x02i\x03\x02\x02\x02\x02k\x03\x02\x02\x02\x02m\x03\x02\x02\x02\x02y\x03\x02\x02\x02\x02{\x03\x02\x02\x02\x02\x7f\x03\x02\x02\x02\x02\x83\x03\x02\x02\x02\x02\x85\x03\x02\x02\x02\x02\x89\x03\x02\x02\x02\x02\x8b\x03\x02\x02\x02\x02\x8d\x03\x02\x02\x02\x02\x8f\x03\x02\x02\x02\x02\x91\x03\x02\x02\x02\x02\x93\x03\x02\x02\x02\x02\x95\x03\x02\x02\x02\x03\x97\x03\x02\x02\x02\x05\x99\x03\x02\x02\x02\x07\x9b\x03\x02\x02\x02\t\x9d\x03\x02\x02\x02\v\x9f\x03\x02\x02\x02\r\xa1\x03\x02\x02\x02\x0f\xc7\x03\x02\x02\x02\x11\xc9\x03\x02\x02\x02\x13\xce\x03\x02\x02\x02\x15\xd7\x03\x02\x02\x02\x17\xdc\x03\x02\x02\x02\x19\xdf\x03\x02\x02\x02\x1b\xe5\x03\x02\x02\x02\x1d\xeb\x03\x02\x02\x02\x1f\xf2\x03\x02\x02\x02!\xfb\x03\x02\x02\x02#\u0103\x03\x02\x02\x02%\u0108\x03\x02\x02\x02'\u0112\x03\x02\x02\x02)\u0117\x03\x02\x02\x02+\u011f\x03\x02\x02\x02-\u0126\x03\x02\x02\x02/\u0131\x03\x02\x02\x021\u0135\x03\x02\x02\x023\u0137\x03\x02\x02\x025\u013a\x03\x02\x02\x027\u013c\x03\x02\x02\x029\u013e\x03\x02\x02\x02;\u0140\x03\x02\x02\x02=\u0142\x03\x02\x02\x02?\u0144\x03\x02\x02\x02A\u0146\x03\x02\x02\x02C\u0149\x03\x02\x02\x02E\u014c\x03\x02\x02\x02G\u014e\x03\x02\x02\x02I\u0150\x03\x02\x02\x02K\u0153\x03\x02\x02\x02M\u0156\x03\x02\x02\x02O\u0159\x03\x02\x02\x02Q\u015c\x03\x02\x02\x02S\u015f\x03\x02\x02\x02U\u0162\x03\x02\x02\x02W\u0164\x03\x02\x02\x02Y\u0166\x03\x02\x02\x02[\u0168\x03\x02\x02\x02]\u016c\x03\x02\x02\x02_\u016e\x03\x02\x02\x02a\u0171\x03\x02\x02\x02c\u0174\x03\x02\x02\x02e\u0177\x03\x02\x02\x02g\u017c\x03\x02\x02\x02i\u017e\x03\x02\x02\x02k\u0189\x03\x02\x02\x02m\u018f\x03\x02\x02\x02o\u019a\x03\x02\x02\x02q\u01a5\x03\x02\x02\x02s\u01a7\x03\x02\x02\x02u\u01b1\x03\x02\x02\x02w\u01b3\x03\x02\x02\x02y\u01b5\x03\x02\x02\x02{\u01c1\x03\x02\x02\x02}\u01ca\x03\x02\x02\x02\x7f\u01de\x03\x02\x02\x02\x81\u01e0\x03\x02\x02\x02\x83\u01e3\x03\x02\x02\x02\x85\u01e9\x03\x02\x02\x02\x87\u01fd\x03\x02\x02\x02\x89\u01ff\x03\x02\x02\x02\x8b\u020d\x03\x02\x02\x02\x8d\u021c\x03\x02\x02\x02\x8f\u0222\x03\x02\x02\x02\x91\u0224\x03\x02\x02\x02\x93\u0226\x03\x02\x02\x02\x95\u0228\x03\x02\x02\x02\x97\x98\x07*\x02\x02\x98\x04\x03\x02\x02\x02\x99\x9a\x07+\x02\x02\x9a\x06\x03\x02\x02\x02\x9b\x9c\x07]\x02\x02\x9c\b\x03\x02\x02\x02\x9d\x9e\x07_\x02\x02\x9e\n\x03\x02\x02\x02\x9f\xa0\x07}\x02\x02\xa0\f\x03\x02\x02\x02\xa1\xa2\x07\x7f\x02\x02\xa2\x0e\x03\x02\x02\x02\xa3\xa4\x07t\x02\x02\xa4\xa5\x07g\x02\x02\xa5\xa6\x07c\x02\x02\xa6\xc8\x07n\x02\x02\xa7\xa8\x07k\x02\x02\xa8\xa9\x07p\x02\x02\xa9\xaa\x07v\x02\x02\xaa\xab\x07g\x02\x02\xab\xac\x07k\x02\x02\xac\xad\x07t\x02\x02\xad\xc8\x07q\x02\x02\xae\xaf\x07x\x02\x02\xaf\xb0\x07c\x02\x02\xb0\xb1\x07|\x02\x02\xb1\xb2\x07k\x02\x02\xb2\xc8\x07q\x02\x02\xb3\xb4\x07n\x02\x02\xb4\xb5\x07q\x02\x02\xb5\xb6\x07i\x02\x02\xb6\xb7\x07k\x02\x02\xb7\xb8\x07e\x02\x02\xb8\xc8\x07q\x02\x02\xb9\xba\x07e\x02\x02\xba\xbb\x07c\x02\x02\xbb\xbc\x07f\x02\x02\xbc\xbd\x07g\x02\x02\xbd\xbe\x07k\x02\x02\xbe\xc8\x07c\x02\x02\xbf\xc0\x07e\x02\x02\xc0\xc1\x07c\x02\x02\xc1\xc2\x07t\x02\x02\xc2\xc3\x07c\x02\x02\xc3\xc4\x07e\x02\x02\xc4\xc5\x07v\x02\x02\xc5\xc6\x07g\x02\x02\xc6\xc8\x07t\x02\x02\xc7\xa3\x03\x02\x02\x02\xc7\xa7\x03\x02\x02\x02\xc7\xae\x03\x02\x02\x02\xc7\xb3\x03\x02\x02\x02\xc7\xb9\x03\x02\x02\x02\xc7\xbf\x03\x02\x02\x02\xc8\x10\x03\x02\x02\x02\xc9\xca\x07h\x02\x02\xca\xcb\x07c\x02\x02\xcb\xcc\x07e\x02\x02\xcc\xcd\x07c\x02\x02\xcd\x12\x03\x02\x02\x02\xce\xcf\x07g\x02\x02\xcf\xd0\x07p\x02\x02\xd0\xd1\x07s\x02\x02\xd1\xd2\x07w\x02\x02\xd2\xd3\x07c\x02\x02\xd3\xd4\x07p\x02\x02\xd4\xd5\x07v\x02\x02\xd5\xd6\x07q\x02\x02\xd6\x14\x03\x02\x02\x02\xd7\xd8\x07r\x02\x02\xd8\xd9\x07c\x02\x02\xd9\xda\x07t\x02\x02\xda\xdb\x07c\x02\x02\xdb\x16\x03\x02\x02\x02\xdc\xdd\x07u\x02\x02\xdd\xde\x07g\x02\x02\xde\x18\x03\x02\x02\x02\xdf\xe0\x07u\x02\x02\xe0\xe1\x07g\x02\x02\xe1\xe2\x07p\x02\x02\xe2\xe3\x07c\x02\x02\xe3\xe4\x07q\x02\x02\xe4\x1a\x03\x02\x02\x02\xe5\xe6\x07e\x02\x02\xe6\xe7\x07q\x02\x02\xe7\xe8\x07p\x02\x02\xe8\xe9\x07u\x02\x02\xe9\xea\x07v\x02\x02\xea\x1c\x03\x02\x02\x02\xeb\xec\x07h\x02\x02\xec\xed\x07w\x02\x02\xed\xee\x07p\x02\x02\xee\xef\x07e\x02\x02\xef\xf0\x07c\x02\x02\xf0\xf1\x07q\x02\x02\xf1\x1e\x03\x02\x02\x02\xf2\xf3\x07r\x02\x02\xf3\xf4\x07t\x02\x02\xf4\xf5\x07q\x02\x02\xf5\xf6\x07i\x02\x02\xf6\xf7\x07t\x02\x02\xf7\xf8\x07c\x02\x02\xf8\xf9\x07o\x02\x02\xf9\xfa\x07c\x02\x02\xfa \x03\x02\x02\x02\xfb\xfc\x07g\x02\x02\xfc\xfd\x07u\x02\x02\xfd\xfe\x07e\x02\x02\xfe\xff\x07q\x02\x02\xff\u0100\x07n\x02\x02\u0100\u0101\x07j\x02\x02\u0101\u0102\x07c\x02\x02\u0102\"\x03\x02\x02\x02\u0103\u0104\x07e\x02\x02\u0104\u0105\x07c\x02\x02\u0105\u0106\x07u\x02\x02\u0106\u0107\x07q\x02\x02\u0107$\x03\x02\x02\x02\u0108\u0109\x07e\x02\x02\u0109\u010a\x07q\x02\x02\u010a\u010b\x07p\x02\x02\u010b\u010c\x07v\x02\x02\u010c\u010d\x07t\x02\x02\u010d\u010e\x07c\x02\x02\u010e\u010f\x07t\x02\x02\u010f\u0110\x07k\x02\x02\u0110\u0111\x07q\x02\x02\u0111&\x03\x02\x02\x02\u0112\u0113\x07r\x02\x02\u0113\u0114\x07c\x02\x02\u0114\u0115\x07t\x02\x02\u0115\u0116\x07g\x02\x02\u0116(\x03\x02\x02\x02\u0117\u0118\x07t\x02\x02\u0118\u0119\x07g\x02\x02\u0119\u011a\x07v\x02\x02\u011a\u011b\x07q\x02\x02\u011b\u011c\x07t\x02\x02\u011c\u011d\x07p\x02\x02\u011d\u011e\x07g\x02\x02\u011e*\x03\x02\x02\x02\u011f\u0120\x07k\x02\x02\u0120\u0121\x07p\x02\x02\u0121\u0122\x07e\x02\x02\u0122\u0123\x07n\x02\x02\u0123\u0124\x07w\x02\x02\u0124\u0125\x07c\x02\x02\u0125,\x03\x02\x02\x02\u0126\u0127\x07d\x02\x02\u0127\u0128\x07k\x02\x02\u0128\u0129\x07d\x02\x02\u0129\u012a\x07n\x02\x02\u012a\u012b\x07k\x02\x02\u012b\u012c\x07q\x02\x02\u012c\u012d\x07v\x02\x02\u012d\u012e\x07g\x02\x02\u012e\u012f\x07e\x02\x02\u012f\u0130\x07c\x02\x02\u0130.\x03\x02\x02\x02\u0131\u0132\x07p\x02\x02\u0132\u0133\x07c\x02\x02\u0133\u0134\x07q\x02\x02\u01340\x03\x02\x02\x02\u0135\u0136\x07g\x02\x02\u01362\x03\x02\x02\x02\u0137\u0138\x07q\x02\x02\u0138\u0139\x07w\x02\x02\u01394\x03\x02\x02\x02\u013a\u013b\x07/\x02\x02\u013b6\x03\x02\x02\x02\u013c\u013d\x07-\x02\x02\u013d8\x03\x02\x02\x02\u013e\u013f\x07,\x02\x02\u013f:\x03\x02\x02\x02\u0140\u0141\x071\x02\x02\u0141<\x03\x02\x02\x02\u0142\u0143\x07'\x02\x02\u0143>\x03\x02\x02\x02\u0144\u0145\x07?\x02\x02\u0145@\x03\x02\x02\x02\u0146\u0147\x07?\x02\x02\u0147\u0148\x07?\x02\x02\u0148B\x03\x02\x02\x02\u0149\u014a\x07#\x02\x02\u014a\u014b\x07?\x02\x02\u014bD\x03\x02\x02\x02\u014c\u014d\x07@\x02\x02\u014dF\x03\x02\x02\x02\u014e\u014f\x07>\x02\x02\u014fH\x03\x02\x02\x02\u0150\u0151\x07>\x02\x02\u0151\u0152\x07?\x02\x02\u0152J\x03\x02\x02\x02\u0153\u0154\x07@\x02\x02\u0154\u0155\x07?\x02\x02\u0155L\x03\x02\x02\x02\u0156\u0157\x07-\x02\x02\u0157\u0158\x07-\x02\x02\u0158N\x03\x02\x02\x02\u0159\u015a\x07/\x02\x02\u015a\u015b\x07/\x02\x02\u015bP\x03\x02\x02\x02\u015c\u015d\x07>\x02\x02\u015d\u015e\x07>\x02\x02\u015eR\x03\x02\x02\x02\u015f\u0160\x07@\x02\x02\u0160\u0161\x07@\x02\x02\u0161T\x03\x02\x02\x02\u0162\u0163\x07`\x02\x02\u0163V\x03\x02\x02\x02\u0164\u0165\x07~\x02\x02\u0165X\x03\x02\x02\x02\u0166\u0167\x07\x80\x02\x02\u0167Z\x03\x02\x02\x02\u0168\u0169\x07/\x02\x02\u0169\u016a\x07/\x02\x02\u016a\u016b\x07@\x02\x02\u016b\\\x03\x02\x02\x02\u016c\u016d\x07(\x02\x02\u016d^\x03\x02\x02\x02\u016e\u016f\x07-\x02\x02\u016f\u0170\x07?\x02\x02\u0170`\x03\x02\x02\x02\u0171\u0172\x07/\x02\x02\u0172\u0173\x07?\x02\x02\u0173b\x03\x02\x02\x02\u0174\u0175\x07,\x02\x02\u0175\u0176\x07?\x02\x02\u0176d\x03\x02\x02\x02\u0177\u0178\x071\x02\x02\u0178\u0179\x07?\x02\x02\u0179f\x03\x02\x02\x02\u017a\u017d\x05i5\x02\u017b\u017d\x05k6\x02\u017c\u017a\x03\x02\x02\x02\u017c\u017b\x03\x02\x02\x02\u017dh\x03\x02\x02\x02\u017e\u017f\x07x\x02\x02\u017f\u0180\x07g\x02\x02\u0180\u0181\x07t\x02\x02\u0181\u0182\x07f\x02\x02\u0182\u0183\x07c\x02\x02\u0183\u0184\x07f\x02\x02\u0184\u0185\x07g\x02\x02\u0185\u0186\x07k\x02\x02\u0186\u0187\x07t\x02\x02\u0187\u0188\x07q\x02\x02\u0188j\x03\x02\x02\x02\u0189\u018a\x07h\x02\x02\u018a\u018b\x07c\x02\x02\u018b\u018c\x07n\x02\x02\u018c\u018d\x07u\x02\x02\u018d\u018e\x07q\x02\x02\u018el\x03\x02\x02\x02\u018f\u0192\x07)\x02\x02\u0190\u0193\x05u;\x02\u0191\u0193\n\x02\x02\x02\u0192\u0190\x03\x02\x02\x02\u0192\u0191\x03\x02\x02\x02\u0193\u0194\x03\x02\x02\x02\u0194\u0195\x07)\x02\x02\u0195n\x03\x02\x02\x02\u0196\u0197\x07^\x02\x02\u0197\u019b\t\x03\x02\x02\u0198\u019b\x05s:\x02\u0199\u019b\x05q9\x02\u019a\u0196\x03\x02\x02\x02\u019a\u0198\x03\x02\x02\x02\u019a\u0199\x03\x02\x02\x02\u019bp\x03\x02\x02\x02\u019c\u019d\x07^\x02\x02\u019d\u019e\x0425\x02\u019e\u019f\x0429\x02\u019f\u01a6\x0429\x02\u01a0\u01a1\x07^\x02\x02\u01a1\u01a2\x0429\x02\u01a2\u01a6\x0429\x02\u01a3\u01a4\x07^\x02\x02\u01a4\u01a6\x0429\x02\u01a5\u019c\x03\x02\x02\x02\u01a5\u01a0\x03\x02\x02\x02\u01a5\u01a3\x03\x02\x02\x02\u01a6r\x03\x02\x02\x02\u01a7\u01a8\x07^\x02\x02\u01a8\u01a9\x07w\x02\x02\u01a9\u01aa\x05w<\x02\u01aa\u01ab\x05w<\x02\u01ab\u01ac\x05w<\x02\u01ac\u01ad\x05w<\x02\u01adt\x03\x02\x02\x02\u01ae\u01b2\x05o8\x02\u01af\u01b0\x07^\x02\x02\u01b0\u01b2\x07)\x02\x02\u01b1\u01ae\x03\x02\x02\x02\u01b1\u01af\x03\x02\x02\x02\u01b2v\x03\x02\x02\x02\u01b3\u01b4\t\x04\x02\x02\u01b4x\x03\x02\x02\x02\u01b5\u01ba\x07$\x02\x02\u01b6\u01b9\x05o8\x02\u01b7\u01b9\v\x02\x02\x02\u01b8\u01b6\x03\x02\x02\x02\u01b8\u01b7\x03\x02\x02\x02\u01b9\u01bc\x03\x02\x02\x02\u01ba\u01bb\x03\x02\x02\x02\u01ba\u01b8\x03\x02\x02\x02\u01bb\u01bd\x03\x02\x02\x02\u01bc\u01ba\x03\x02\x02\x02\u01bd\u01be\x07$\x02\x02\u01bez\x03\x02\x02\x02\u01bf\u01c2\x05}?\x02\u01c0\u01c2\x07a\x02\x02\u01c1\u01bf\x03\x02\x02\x02\u01c1\u01c0\x03\x02\x02\x02\u01c2\u01c7\x03\x02\x02\x02\u01c3\u01c6\x05}?\x02\u01c4\u01c6\t\x05\x02\x02\u01c5\u01c3\x03\x02\x02\x02\u01c5\u01c4\x03\x02\x02\x02\u01c6\u01c9\x03\x02\x02\x02\u01c7\u01c5\x03\x02\x02\x02\u01c7\u01c8\x03\x02\x02\x02\u01c8|\x03\x02\x02\x02\u01c9\u01c7\x03\x02\x02\x02\u01ca\u01cb\t\x06\x02\x02\u01cb~\x03\x02\x02\x02\u01cc\u01ce\x05\x81A\x02\u01cd\u01cc\x03\x02\x02\x02\u01ce\u01cf\x03\x02\x02\x02\u01cf\u01cd\x03\x02\x02\x02\u01cf\u01d0\x03\x02\x02\x02\u01d0\u01d1\x03\x02\x02\x02\u01d1\u01d5\x070\x02\x02\u01d2\u01d4\x05\x81A\x02\u01d3\u01d2\x03\x02\x02\x02\u01d4\u01d7\x03\x02\x02\x02\u01d5\u01d3\x03\x02\x02\x02\u01d5\u01d6\x03\x02\x02\x02\u01d6\u01df\x03\x02\x02\x02\u01d7\u01d5\x03\x02\x02\x02\u01d8\u01da\x070\x02\x02\u01d9\u01db\x05\x81A\x02\u01da\u01d9\x03\x02\x02\x02\u01db\u01dc\x03\x02\x02\x02\u01dc\u01da\x03\x02\x02\x02\u01dc\u01dd\x03\x02\x02\x02\u01dd\u01df\x03\x02\x02\x02\u01de\u01cd\x03\x02\x02\x02\u01de\u01d8\x03\x02\x02\x02\u01df\x80\x03\x02\x02\x02\u01e0\u01e1\t\x07\x02\x02\u01e1\x82\x03\x02\x02\x02\u01e2\u01e4\x05\x81A\x02\u01e3\u01e2\x03\x02\x02\x02\u01e4\u01e5\x03\x02\x02\x02\u01e5\u01e3\x03\x02\x02\x02\u01e5\u01e6\x03\x02\x02\x02\u01e6\u01e7\x03\x02\x02\x02\u01e7\u01e8\bB\x02\x02\u01e8\x84\x03\x02\x02\x02\u01e9\u01ea\x072\x02\x02\u01ea\u01eb\t\b\x02\x02\u01eb\u01f9\x05\x87D\x02\u01ec\u01f7\x05\x87D\x02\u01ed\u01f5\x05\x87D\x02\u01ee\u01f3\x05\x87D\x02\u01ef\u01f1\x05\x87D\x02\u01f0\u01f2\x05\x87D\x02\u01f1\u01f0\x03\x02\x02\x02\u01f1\u01f2\x03\x02\x02\x02\u01f2\u01f4\x03\x02\x02\x02\u01f3\u01ef\x03\x02\x02\x02\u01f3\u01f4\x03\x02\x02\x02\u01f4\u01f6\x03\x02\x02\x02\u01f5\u01ee\x03\x02\x02\x02\u01f5\u01f6\x03\x02\x02\x02\u01f6\u01f8\x03\x02\x02\x02\u01f7\u01ed\x03\x02\x02\x02\u01f7\u01f8\x03\x02\x02\x02\u01f8\u01fa\x03\x02\x02\x02\u01f9\u01ec\x03\x02\x02\x02\u01f9\u01fa\x03\x02\x02\x02\u01fa\x86\x03\x02\x02\x02\u01fb\u01fe\x05\x81A\x02\u01fc\u01fe\t\t\x02\x02\u01fd\u01fb\x03\x02\x02\x02\u01fd\u01fc\x03\x02\x02\x02\u01fe\x88\x03\x02\x02\x02\u01ff\u0200\x071\x02\x02\u0200\u0201\x07,\x02\x02\u0201\u0205\x03\x02\x02\x02\u0202\u0204\v\x02\x02\x02\u0203\u0202\x03\x02\x02\x02\u0204\u0207\x03\x02\x02\x02\u0205\u0206\x03\x02\x02\x02\u0205\u0203\x03\x02\x02\x02\u0206\u0208\x03\x02\x02\x02\u0207\u0205\x03\x02\x02\x02\u0208\u0209\x07,\x02\x02\u0209\u020a\x071\x02\x02\u020a\u020b\x03\x02\x02\x02\u020b\u020c\bE\x03\x02\u020c\x8a\x03\x02\x02\x02\u020d\u020e\x071\x02\x02\u020e\u020f\x071\x02\x02\u020f\u0213\x03\x02\x02\x02\u0210\u0212\v\x02\x02\x02\u0211\u0210\x03\x02\x02\x02\u0212\u0215\x03\x02\x02\x02\u0213\u0214\x03\x02\x02\x02\u0213\u0211\x03\x02\x02\x02\u0214\u0217\x03\x02\x02\x02\u0215\u0213\x03\x02\x02\x02\u0216\u0218\t\n\x02\x02\u0217\u0216\x03\x02\x02\x02\u0218\u0219\x03\x02\x02\x02\u0219\u021a\bF\x03\x02\u021a\x8c\x03\x02\x02\x02\u021b\u021d\t\v\x02\x02\u021c\u021b\x03\x02\x02\x02\u021d\u021e\x03\x02\x02\x02\u021e\u021c\x03\x02\x02\x02\u021e\u021f\x03\x02\x02\x02\u021f\u0220\x03\x02\x02\x02\u0220\u0221\bG\x03\x02\u0221\x8e\x03\x02\x02\x02\u0222\u0223\x070\x02\x02\u0223\x90\x03\x02\x02\x02\u0224\u0225\x07.\x02\x02\u0225\x92\x03\x02\x02\x02\u0226\u0227\x07=\x02\x02\u0227\x94\x03\x02\x02\x02\u0228\u0229\x07<\x02\x02\u0229\x96\x03\x02\x02\x02\x1d\x02\xc7\u017c\u0192\u019a\u01a5\u01b1\u01b8\u01ba\u01c1\u01c5\u01c7\u01cf\u01d5\u01dc\u01de\u01e5\u01f1\u01f3\u01f5\u01f7\u01f9\u01fd\u0205\u0213\u0217\u021e\x04\x03B\x02\x02\x03\x02";var PortugolParser_class,ATN=__webpack_require__(4495),FailedPredicateException=__webpack_require__(4482),NoViableAltException=__webpack_require__(1200),Parser=__webpack_require__(5278),ParserRuleContext=__webpack_require__(3235),ParserATNSimulator=__webpack_require__(7609),RecognitionException=__webpack_require__(6294),Token=__webpack_require__(8770);class PortugolParser extends Parser.Parser{get vocabulary(){return PortugolParser.VOCABULARY}get grammarFileName(){return"Portugol.g4"}get ruleNames(){return PortugolParser.ruleNames}get serializedATN(){return PortugolParser._serializedATN}createFailedPredicateException(predicate,message){return new FailedPredicateException.FailedPredicateException(this,predicate,message)}constructor(input){super(input),this._interp=new ParserATNSimulator.ParserATNSimulator(PortugolParser._ATN,this)}arquivo(){let _la,_localctx=new ArquivoContext(this._ctx,this.state);this.enterRule(_localctx,0,PortugolParser.RULE_arquivo);try{for(this.enterOuterAlt(_localctx,1),this.state=76,this.match(PortugolParser.PROGRAMA),this.state=77,this.match(PortugolParser.ABRE_CHAVES),this.state=81,this._errHandler.sync(this),_la=this._input.LA(1);_la===PortugolParser.INCLUA;)this.state=78,this.inclusaoBiblioteca(),this.state=83,this._errHandler.sync(this),_la=this._input.LA(1);for(this.state=88,this._errHandler.sync(this),_la=this._input.LA(1);!(-32&_la)&&1<<_la&(1<'","'<'","'<='","'>='","'++'","'--'","'<<'","'>>'","'^'","'|'","'~'","'--\x3e'","'&'","'+='","'-='","'*='","'/='",void 0,"'verdadeiro'","'falso'",void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"'.'","','","';'","':'"],PortugolParser_class._SYMBOLIC_NAMES=[void 0,"ABRE_PARENTESES","FECHA_PARENTESES","ABRE_COLCHETES","FECHA_COLCHETES","ABRE_CHAVES","FECHA_CHAVES","TIPO","FACA","ENQUANTO","PARA","SE","SENAO","CONSTANTE","FUNCAO","PROGRAMA","ESCOLHA","CASO","CONTRARIO","PARE","RETORNE","INCLUA","BIBLIOTECA","OP_NAO","OP_E_LOGICO","OP_OU_LOGICO","OP_SUBTRACAO","OP_ADICAO","OP_MULTIPLICACAO","OP_DIVISAO","OP_MOD","OP_ATRIBUICAO","OP_IGUALDADE","OP_DIFERENCA","OP_MAIOR","OP_MENOR","OP_MENOR_IGUAL","OP_MAIOR_IGUAL","OP_INCREMENTO_UNARIO","OP_DECREMENTO_UNARIO","OP_SHIFT_LEFT","OP_SHIFT_RIGHT","OP_XOR","OP_OU_BITWISE","OP_NOT_BITWISE","OP_ALIAS_BIBLIOTECA","E_COMERCIAL","OP_MAIS_IGUAL","OP_MENOS_IGUAL","OP_MULTIPLICACAO_IGUAL","OP_DIVISAO_IGUAL","LOGICO","VERDADEIRO","FALSO","CARACTER","STRING","ID","REAL","INT","HEXADECIMAL","COMENTARIO","COMENTARIO_SIMPLES","WS","PONTO","VIRGULA","PONTOVIRGULA","DOISPONTOS"],PortugolParser_class.VOCABULARY=new VocabularyImpl.VocabularyImpl(PortugolParser_class._LITERAL_NAMES,PortugolParser_class._SYMBOLIC_NAMES,[]),PortugolParser_class._serializedATN='\x03\uc91d\ucaba\u058d\uafba\u4f53\u0607\uea8b\uc241\x03D\u0205\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04\x0e\t\x0e\x04\x0f\t\x0f\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1a\t\x1a\x04\x1b\t\x1b\x04\x1c\t\x1c\x04\x1d\t\x1d\x04\x1e\t\x1e\x04\x1f\t\x1f\x04 \t \x04!\t!\x04"\t"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04\'\t\'\x03\x02\x03\x02\x03\x02\x07\x02R\n\x02\f\x02\x0e\x02U\v\x02\x03\x02\x03\x02\x07\x02Y\n\x02\f\x02\x0e\x02\\\v\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x05\x03e\n\x03\x03\x04\x05\x04h\n\x04\x03\x04\x03\x04\x03\x04\x03\x04\x07\x04n\n\x04\f\x04\x0e\x04q\v\x04\x03\x05\x03\x05\x03\x05\x05\x05v\n\x05\x03\x06\x03\x06\x03\x06\x05\x06{\n\x06\x03\x07\x03\x07\x03\x07\x05\x07\x80\n\x07\x03\x07\x03\x07\x03\x07\x05\x07\x85\n\x07\x03\x07\x03\x07\x03\x07\x05\x07\x8a\n\x07\x03\b\x03\b\x03\b\x03\b\x07\b\x90\n\b\f\b\x0e\b\x93\v\b\x03\b\x03\b\x03\t\x03\t\x03\n\x03\n\x03\v\x03\v\x03\v\x05\v\x9e\n\v\x03\v\x03\v\x03\v\x05\v\xa3\n\v\x03\f\x03\f\x05\f\xa7\n\f\x03\f\x03\f\x03\r\x03\r\x03\x0e\x03\x0e\x05\x0e\xaf\n\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x07\x0e\xb5\n\x0e\f\x0e\x0e\x0e\xb8\v\x0e\x03\x0e\x03\x0e\x03\x0f\x03\x0f\x05\x0f\xbe\n\x0f\x03\x0f\x03\x0f\x03\x10\x03\x10\x03\x10\x07\x10\xc5\n\x10\f\x10\x0e\x10\xc8\v\x10\x03\x11\x03\x11\x05\x11\xcc\n\x11\x03\x11\x03\x11\x03\x11\x05\x11\xd1\n\x11\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x05\x14\xe6\n\x14\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x05\x16\xfc\n\x16\x03\x17\x03\x17\x05\x17\u0100\n\x17\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x05\x18\u0108\n\x18\x03\x19\x03\x19\x03\x19\x03\x1a\x03\x1a\x03\x1a\x03\x1a\x03\x1a\x03\x1a\x03\x1b\x03\x1b\x03\x1b\x03\x1b\x03\x1b\x03\x1b\x03\x1b\x03\x1c\x03\x1c\x03\x1c\x05\x1c\u011d\n\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1c\x03\x1d\x03\x1d\x07\x1d\u0128\n\x1d\f\x1d\x0e\x1d\u012b\v\x1d\x03\x1d\x03\x1d\x05\x1d\u012f\n\x1d\x03\x1e\x03\x1e\x03\x1e\x05\x1e\u0134\n\x1e\x03\x1f\x03\x1f\x03 \x03 \x03 \x05 \u013b\n \x03!\x03!\x03!\x03!\x03!\x03!\x07!\u0143\n!\f!\x0e!\u0146\v!\x03!\x03!\x03"\x03"\x03"\x05"\u014d\n"\x03"\x03"\x07"\u0151\n"\f"\x0e"\u0154\v"\x03"\x03"\x07"\u0158\n"\f"\x0e"\u015b\v"\x03"\x05"\u015e\n"\x03"\x05"\u0161\n"\x03#\x03#\x03$\x03$\x03$\x03$\x03%\x03%\x05%\u016b\n%\x03%\x03%\x03%\x05%\u0170\n%\x03%\x03%\x05%\u0174\n%\x03%\x03%\x03%\x05%\u0179\n%\x03%\x03%\x03%\x05%\u017e\n%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x05%\u018b\n%\x05%\u018d\n%\x03%\x03%\x03%\x03%\x05%\u0193\n%\x05%\u0195\n%\x03%\x03%\x03%\x03%\x03%\x05%\u019c\n%\x05%\u019e\n%\x03%\x03%\x03%\x03%\x05%\u01a4\n%\x05%\u01a6\n%\x03%\x05%\u01a9\n%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x05%\u01b5\n%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x03%\x07%\u01ed\n%\f%\x0e%\u01f0\v%\x03&\x03&\x03&\x05&\u01f5\n&\x03&\x03&\x03&\x03&\x05&\u01fb\n&\x07&\u01fd\n&\f&\x0e&\u0200\v&\x03\'\x03\'\x03\'\x03\'\x02\x02\x03H(\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 \x02"\x02$\x02&\x02(\x02*\x02,\x02.\x020\x022\x024\x026\x028\x02:\x02<\x02>\x02@\x02B\x02D\x02F\x02H\x02J\x02L\x02\x02\x03\x03\x02<=\x02\u0247\x02N\x03\x02\x02\x02\x04_\x03\x02\x02\x02\x06g\x03\x02\x02\x02\bu\x03\x02\x02\x02\nw\x03\x02\x02\x02\f|\x03\x02\x02\x02\x0e\x8b\x03\x02\x02\x02\x10\x96\x03\x02\x02\x02\x12\x98\x03\x02\x02\x02\x14\x9a\x03\x02\x02\x02\x16\xa4\x03\x02\x02\x02\x18\xaa\x03\x02\x02\x02\x1a\xac\x03\x02\x02\x02\x1c\xbb\x03\x02\x02\x02\x1e\xc1\x03\x02\x02\x02 \xc9\x03\x02\x02\x02"\xd2\x03\x02\x02\x02$\xd5\x03\x02\x02\x02&\xe5\x03\x02\x02\x02(\xe7\x03\x02\x02\x02*\xfb\x03\x02\x02\x02,\xfd\x03\x02\x02\x02.\u0101\x03\x02\x02\x020\u0109\x03\x02\x02\x022\u010c\x03\x02\x02\x024\u0112\x03\x02\x02\x026\u0119\x03\x02\x02\x028\u012e\x03\x02\x02\x02:\u0133\x03\x02\x02\x02<\u0135\x03\x02\x02\x02>\u013a\x03\x02\x02\x02@\u013c\x03\x02\x02\x02B\u0149\x03\x02\x02\x02D\u0162\x03\x02\x02\x02F\u0164\x03\x02\x02\x02H\u01b4\x03\x02\x02\x02J\u01f4\x03\x02\x02\x02L\u0201\x03\x02\x02\x02NO\x07\x11\x02\x02OS\x07\x07\x02\x02PR\x05\x04\x03\x02QP\x03\x02\x02\x02RU\x03\x02\x02\x02SQ\x03\x02\x02\x02ST\x03\x02\x02\x02TZ\x03\x02\x02\x02US\x03\x02\x02\x02VY\x05\x1a\x0e\x02WY\x05\x06\x04\x02XV\x03\x02\x02\x02XW\x03\x02\x02\x02Y\\\x03\x02\x02\x02ZX\x03\x02\x02\x02Z[\x03\x02\x02\x02[]\x03\x02\x02\x02\\Z\x03\x02\x02\x02]^\x07\b\x02\x02^\x03\x03\x02\x02\x02_`\x07\x17\x02\x02`a\x07\x18\x02\x02ad\x07:\x02\x02bc\x07/\x02\x02ce\x07:\x02\x02db\x03\x02\x02\x02de\x03\x02\x02\x02e\x05\x03\x02\x02\x02fh\x07\x0f\x02\x02gf\x03\x02\x02\x02gh\x03\x02\x02\x02hi\x03\x02\x02\x02ij\x07\t\x02\x02jo\x05\b\x05\x02kl\x07B\x02\x02ln\x05\b\x05\x02mk\x03\x02\x02\x02nq\x03\x02\x02\x02om\x03\x02\x02\x02op\x03\x02\x02\x02p\x07\x03\x02\x02\x02qo\x03\x02\x02\x02rv\x05\n\x06\x02sv\x05\x14\v\x02tv\x05\f\x07\x02ur\x03\x02\x02\x02us\x03\x02\x02\x02ut\x03\x02\x02\x02v\t\x03\x02\x02\x02wz\x07:\x02\x02xy\x07!\x02\x02y{\x05H%\x02zx\x03\x02\x02\x02z{\x03\x02\x02\x02{\v\x03\x02\x02\x02|}\x07:\x02\x02}\x7f\x07\x05\x02\x02~\x80\x05\x10\t\x02\x7f~\x03\x02\x02\x02\x7f\x80\x03\x02\x02\x02\x80\x81\x03\x02\x02\x02\x81\x82\x07\x06\x02\x02\x82\x84\x07\x05\x02\x02\x83\x85\x05\x12\n\x02\x84\x83\x03\x02\x02\x02\x84\x85\x03\x02\x02\x02\x85\x86\x03\x02\x02\x02\x86\x89\x07\x06\x02\x02\x87\x88\x07!\x02\x02\x88\x8a\x05\x0e\b\x02\x89\x87\x03\x02\x02\x02\x89\x8a\x03\x02\x02\x02\x8a\r\x03\x02\x02\x02\x8b\x8c\x07\x07\x02\x02\x8c\x91\x05\x16\f\x02\x8d\x8e\x07B\x02\x02\x8e\x90\x05\x16\f\x02\x8f\x8d\x03\x02\x02\x02\x90\x93\x03\x02\x02\x02\x91\x8f\x03\x02\x02\x02\x91\x92\x03\x02\x02\x02\x92\x94\x03\x02\x02\x02\x93\x91\x03\x02\x02\x02\x94\x95\x07\b\x02\x02\x95\x0f\x03\x02\x02\x02\x96\x97\x05\x18\r\x02\x97\x11\x03\x02\x02\x02\x98\x99\x05\x18\r\x02\x99\x13\x03\x02\x02\x02\x9a\x9b\x07:\x02\x02\x9b\x9d\x07\x05\x02\x02\x9c\x9e\x05\x18\r\x02\x9d\x9c\x03\x02\x02\x02\x9d\x9e\x03\x02\x02\x02\x9e\x9f\x03\x02\x02\x02\x9f\xa2\x07\x06\x02\x02\xa0\xa1\x07!\x02\x02\xa1\xa3\x05\x16\f\x02\xa2\xa0\x03\x02\x02\x02\xa2\xa3\x03\x02\x02\x02\xa3\x15\x03\x02\x02\x02\xa4\xa6\x07\x07\x02\x02\xa5\xa7\x05J&\x02\xa6\xa5\x03\x02\x02\x02\xa6\xa7\x03\x02\x02\x02\xa7\xa8\x03\x02\x02\x02\xa8\xa9\x07\b\x02\x02\xa9\x17\x03\x02\x02\x02\xaa\xab\x05H%\x02\xab\x19\x03\x02\x02\x02\xac\xae\x07\x10\x02\x02\xad\xaf\x07\t\x02\x02\xae\xad\x03\x02\x02\x02\xae\xaf\x03\x02\x02\x02\xaf\xb0\x03\x02\x02\x02\xb0\xb1\x07:\x02\x02\xb1\xb2\x05\x1c\x0f\x02\xb2\xb6\x07\x07\x02\x02\xb3\xb5\x05&\x14\x02\xb4\xb3\x03\x02\x02\x02\xb5\xb8\x03\x02\x02\x02\xb6\xb4\x03\x02\x02\x02\xb6\xb7\x03\x02\x02\x02\xb7\xb9\x03\x02\x02\x02\xb8\xb6\x03\x02\x02\x02\xb9\xba\x07\b\x02\x02\xba\x1b\x03\x02\x02\x02\xbb\xbd\x07\x03\x02\x02\xbc\xbe\x05\x1e\x10\x02\xbd\xbc\x03\x02\x02\x02\xbd\xbe\x03\x02\x02\x02\xbe\xbf\x03\x02\x02\x02\xbf\xc0\x07\x04\x02\x02\xc0\x1d\x03\x02\x02\x02\xc1\xc6\x05 \x11\x02\xc2\xc3\x07B\x02\x02\xc3\xc5\x05 \x11\x02\xc4\xc2\x03\x02\x02\x02\xc5\xc8\x03\x02\x02\x02\xc6\xc4\x03\x02\x02\x02\xc6\xc7\x03\x02\x02\x02\xc7\x1f\x03\x02\x02\x02\xc8\xc6\x03\x02\x02\x02\xc9\xcb\x07\t\x02\x02\xca\xcc\x070\x02\x02\xcb\xca\x03\x02\x02\x02\xcb\xcc\x03\x02\x02\x02\xcc\xcd\x03\x02\x02\x02\xcd\xd0\x07:\x02\x02\xce\xd1\x05"\x12\x02\xcf\xd1\x05$\x13\x02\xd0\xce\x03\x02\x02\x02\xd0\xcf\x03\x02\x02\x02\xd0\xd1\x03\x02\x02\x02\xd1!\x03\x02\x02\x02\xd2\xd3\x07\x05\x02\x02\xd3\xd4\x07\x06\x02\x02\xd4#\x03\x02\x02\x02\xd5\xd6\x07\x05\x02\x02\xd6\xd7\x07\x06\x02\x02\xd7\xd8\x07\x05\x02\x02\xd8\xd9\x07\x06\x02\x02\xd9%\x03\x02\x02\x02\xda\xe6\x05\x06\x04\x02\xdb\xe6\x05.\x18\x02\xdc\xe6\x052\x1a\x02\xdd\xe6\x054\x1b\x02\xde\xe6\x056\x1c\x02\xdf\xe6\x05@!\x02\xe0\xe6\x05,\x17\x02\xe1\xe6\x05D#\x02\xe2\xe6\x05(\x15\x02\xe3\xe6\x05*\x16\x02\xe4\xe6\x05H%\x02\xe5\xda\x03\x02\x02\x02\xe5\xdb\x03\x02\x02\x02\xe5\xdc\x03\x02\x02\x02\xe5\xdd\x03\x02\x02\x02\xe5\xde\x03\x02\x02\x02\xe5\xdf\x03\x02\x02\x02\xe5\xe0\x03\x02\x02\x02\xe5\xe1\x03\x02\x02\x02\xe5\xe2\x03\x02\x02\x02\xe5\xe3\x03\x02\x02\x02\xe5\xe4\x03\x02\x02\x02\xe6\'\x03\x02\x02\x02\xe7\xe8\x05H%\x02\xe8\xe9\x07!\x02\x02\xe9\xea\x05H%\x02\xea)\x03\x02\x02\x02\xeb\xec\x05H%\x02\xec\xed\x071\x02\x02\xed\xee\x05H%\x02\xee\xfc\x03\x02\x02\x02\xef\xf0\x05H%\x02\xf0\xf1\x072\x02\x02\xf1\xf2\x05H%\x02\xf2\xfc\x03\x02\x02\x02\xf3\xf4\x05H%\x02\xf4\xf5\x073\x02\x02\xf5\xf6\x05H%\x02\xf6\xfc\x03\x02\x02\x02\xf7\xf8\x05H%\x02\xf8\xf9\x074\x02\x02\xf9\xfa\x05H%\x02\xfa\xfc\x03\x02\x02\x02\xfb\xeb\x03\x02\x02\x02\xfb\xef\x03\x02\x02\x02\xfb\xf3\x03\x02\x02\x02\xfb\xf7\x03\x02\x02\x02\xfc+\x03\x02\x02\x02\xfd\xff\x07\x16\x02\x02\xfe\u0100\x05H%\x02\xff\xfe\x03\x02\x02\x02\xff\u0100\x03\x02\x02\x02\u0100-\x03\x02\x02\x02\u0101\u0102\x07\r\x02\x02\u0102\u0103\x07\x03\x02\x02\u0103\u0104\x05H%\x02\u0104\u0105\x07\x04\x02\x02\u0105\u0107\x058\x1d\x02\u0106\u0108\x050\x19\x02\u0107\u0106\x03\x02\x02\x02\u0107\u0108\x03\x02\x02\x02\u0108/\x03\x02\x02\x02\u0109\u010a\x07\x0e\x02\x02\u010a\u010b\x058\x1d\x02\u010b1\x03\x02\x02\x02\u010c\u010d\x07\v\x02\x02\u010d\u010e\x07\x03\x02\x02\u010e\u010f\x05H%\x02\u010f\u0110\x07\x04\x02\x02\u0110\u0111\x058\x1d\x02\u01113\x03\x02\x02\x02\u0112\u0113\x07\n\x02\x02\u0113\u0114\x058\x1d\x02\u0114\u0115\x07\v\x02\x02\u0115\u0116\x07\x03\x02\x02\u0116\u0117\x05H%\x02\u0117\u0118\x07\x04\x02\x02\u01185\x03\x02\x02\x02\u0119\u011a\x07\f\x02\x02\u011a\u011c\x07\x03\x02\x02\u011b\u011d\x05:\x1e\x02\u011c\u011b\x03\x02\x02\x02\u011c\u011d\x03\x02\x02\x02\u011d\u011e\x03\x02\x02\x02\u011e\u011f\x07C\x02\x02\u011f\u0120\x05<\x1f\x02\u0120\u0121\x07C\x02\x02\u0121\u0122\x05> \x02\u0122\u0123\x07\x04\x02\x02\u0123\u0124\x058\x1d\x02\u01247\x03\x02\x02\x02\u0125\u0129\x07\x07\x02\x02\u0126\u0128\x05&\x14\x02\u0127\u0126\x03\x02\x02\x02\u0128\u012b\x03\x02\x02\x02\u0129\u0127\x03\x02\x02\x02\u0129\u012a\x03\x02\x02\x02\u012a\u012c\x03\x02\x02\x02\u012b\u0129\x03\x02\x02\x02\u012c\u012f\x07\b\x02\x02\u012d\u012f\x05&\x14\x02\u012e\u0125\x03\x02\x02\x02\u012e\u012d\x03\x02\x02\x02\u012f9\x03\x02\x02\x02\u0130\u0134\x05(\x15\x02\u0131\u0134\x05\x06\x04\x02\u0132\u0134\x07:\x02\x02\u0133\u0130\x03\x02\x02\x02\u0133\u0131\x03\x02\x02\x02\u0133\u0132\x03\x02\x02\x02\u0134;\x03\x02\x02\x02\u0135\u0136\x05H%\x02\u0136=\x03\x02\x02\x02\u0137\u013b\x05H%\x02\u0138\u013b\x05*\x16\x02\u0139\u013b\x05(\x15\x02\u013a\u0137\x03\x02\x02\x02\u013a\u0138\x03\x02\x02\x02\u013a\u0139\x03\x02\x02\x02\u013b?\x03\x02\x02\x02\u013c\u013d\x07\x12\x02\x02\u013d\u013e\x07\x03\x02\x02\u013e\u013f\x05H%\x02\u013f\u0140\x07\x04\x02\x02\u0140\u0144\x07\x07\x02\x02\u0141\u0143\x05B"\x02\u0142\u0141\x03\x02\x02\x02\u0143\u0146\x03\x02\x02\x02\u0144\u0142\x03\x02\x02\x02\u0144\u0145\x03\x02\x02\x02\u0145\u0147\x03\x02\x02\x02\u0146\u0144\x03\x02\x02\x02\u0147\u0148\x07\b\x02\x02\u0148A\x03\x02\x02\x02\u0149\u014c\x07\x13\x02\x02\u014a\u014d\x07\x14\x02\x02\u014b\u014d\x05H%\x02\u014c\u014a\x03\x02\x02\x02\u014c\u014b\x03\x02\x02\x02\u014d\u014e\x03\x02\x02\x02\u014e\u015d\x07D\x02\x02\u014f\u0151\x05&\x14\x02\u0150\u014f\x03\x02\x02\x02\u0151\u0154\x03\x02\x02\x02\u0152\u0150\x03\x02\x02\x02\u0152\u0153\x03\x02\x02\x02\u0153\u015e\x03\x02\x02\x02\u0154\u0152\x03\x02\x02\x02\u0155\u0159\x07\x07\x02\x02\u0156\u0158\x05&\x14\x02\u0157\u0156\x03\x02\x02\x02\u0158\u015b\x03\x02\x02\x02\u0159\u0157\x03\x02\x02\x02\u0159\u015a\x03\x02\x02\x02\u015a\u015c\x03\x02\x02\x02\u015b\u0159\x03\x02\x02\x02\u015c\u015e\x07\b\x02\x02\u015d\u0152\x03\x02\x02\x02\u015d\u0155\x03\x02\x02\x02\u015e\u0160\x03\x02\x02\x02\u015f\u0161\x05D#\x02\u0160\u015f\x03\x02\x02\x02\u0160\u0161\x03\x02\x02\x02\u0161C\x03\x02\x02\x02\u0162\u0163\x07\x15\x02\x02\u0163E\x03\x02\x02\x02\u0164\u0165\x07\x05\x02\x02\u0165\u0166\x05H%\x02\u0166\u0167\x07\x06\x02\x02\u0167G\x03\x02\x02\x02\u0168\u016a\b%\x01\x02\u0169\u016b\x05L\'\x02\u016a\u0169\x03\x02\x02\x02\u016a\u016b\x03\x02\x02\x02\u016b\u016c\x03\x02\x02\x02\u016c\u016d\x07:\x02\x02\u016d\u016f\x07\x03\x02\x02\u016e\u0170\x05J&\x02\u016f\u016e\x03\x02\x02\x02\u016f\u0170\x03\x02\x02\x02\u0170\u0171\x03\x02\x02\x02\u0171\u01b5\x07\x04\x02\x02\u0172\u0174\x05L\'\x02\u0173\u0172\x03\x02\x02\x02\u0173\u0174\x03\x02\x02\x02\u0174\u0175\x03\x02\x02\x02\u0175\u0176\x07:\x02\x02\u0176\u01b5\x05F$\x02\u0177\u0179\x05L\'\x02\u0178\u0177\x03\x02\x02\x02\u0178\u0179\x03\x02\x02\x02\u0179\u017a\x03\x02\x02\x02\u017a\u017b\x07:\x02\x02\u017b\u017d\x05F$\x02\u017c\u017e\x05F$\x02\u017d\u017c\x03\x02\x02\x02\u017d\u017e\x03\x02\x02\x02\u017e\u01b5\x03\x02\x02\x02\u017f\u0180\x07\x1c\x02\x02\u0180\u01b5\x05H%#\u0181\u0182\x07\x1d\x02\x02\u0182\u01b5\x05H%"\u0183\u0184\x07\x19\x02\x02\u0184\u01b5\x05H%!\u0185\u0186\x07.\x02\x02\u0186\u01b5\x05H% \u0187\u018c\x07:\x02\x02\u0188\u018a\x05F$\x02\u0189\u018b\x05F$\x02\u018a\u0189\x03\x02\x02\x02\u018a\u018b\x03\x02\x02\x02\u018b\u018d\x03\x02\x02\x02\u018c\u0188\x03\x02\x02\x02\u018c\u018d\x03\x02\x02\x02\u018d\u018e\x03\x02\x02\x02\u018e\u01b5\x07(\x02\x02\u018f\u0194\x07:\x02\x02\u0190\u0192\x05F$\x02\u0191\u0193\x05F$\x02\u0192\u0191\x03\x02\x02\x02\u0192\u0193\x03\x02\x02\x02\u0193\u0195\x03\x02\x02\x02\u0194\u0190\x03\x02\x02\x02\u0194\u0195\x03\x02\x02\x02\u0195\u0196\x03\x02\x02\x02\u0196\u01b5\x07)\x02\x02\u0197\u0198\x07(\x02\x02\u0198\u019d\x07:\x02\x02\u0199\u019b\x05F$\x02\u019a\u019c\x05F$\x02\u019b\u019a\x03\x02\x02\x02\u019b\u019c\x03\x02\x02\x02\u019c\u019e\x03\x02\x02\x02\u019d\u0199\x03\x02\x02\x02\u019d\u019e\x03\x02\x02\x02\u019e\u01b5\x03\x02\x02\x02\u019f\u01a0\x07)\x02\x02\u01a0\u01a5\x07:\x02\x02\u01a1\u01a3\x05F$\x02\u01a2\u01a4\x05F$\x02\u01a3\u01a2\x03\x02\x02\x02\u01a3\u01a4\x03\x02\x02\x02\u01a4\u01a6\x03\x02\x02\x02\u01a5\u01a1\x03\x02\x02\x02\u01a5\u01a6\x03\x02\x02\x02\u01a6\u01b5\x03\x02\x02\x02\u01a7\u01a9\x05L\'\x02\u01a8\u01a7\x03\x02\x02\x02\u01a8\u01a9\x03\x02\x02\x02\u01a9\u01aa\x03\x02\x02\x02\u01aa\u01b5\x07:\x02\x02\u01ab\u01b5\t\x02\x02\x02\u01ac\u01b5\x07;\x02\x02\u01ad\u01b5\x075\x02\x02\u01ae\u01b5\x078\x02\x02\u01af\u01b5\x079\x02\x02\u01b0\u01b1\x07\x03\x02\x02\u01b1\u01b2\x05H%\x02\u01b2\u01b3\x07\x04\x02\x02\u01b3\u01b5\x03\x02\x02\x02\u01b4\u0168\x03\x02\x02\x02\u01b4\u0173\x03\x02\x02\x02\u01b4\u0178\x03\x02\x02\x02\u01b4\u017f\x03\x02\x02\x02\u01b4\u0181\x03\x02\x02\x02\u01b4\u0183\x03\x02\x02\x02\u01b4\u0185\x03\x02\x02\x02\u01b4\u0187\x03\x02\x02\x02\u01b4\u018f\x03\x02\x02\x02\u01b4\u0197\x03\x02\x02\x02\u01b4\u019f\x03\x02\x02\x02\u01b4\u01a8\x03\x02\x02\x02\u01b4\u01ab\x03\x02\x02\x02\u01b4\u01ac\x03\x02\x02\x02\u01b4\u01ad\x03\x02\x02\x02\u01b4\u01ae\x03\x02\x02\x02\u01b4\u01af\x03\x02\x02\x02\u01b4\u01b0\x03\x02\x02\x02\u01b5\u01ee\x03\x02\x02\x02\u01b6\u01b7\f\x1b\x02\x02\u01b7\u01b8\x07\x1e\x02\x02\u01b8\u01ed\x05H%\x1c\u01b9\u01ba\f\x1a\x02\x02\u01ba\u01bb\x07\x1f\x02\x02\u01bb\u01ed\x05H%\x1b\u01bc\u01bd\f\x19\x02\x02\u01bd\u01be\x07 \x02\x02\u01be\u01ed\x05H%\x1a\u01bf\u01c0\f\x18\x02\x02\u01c0\u01c1\x07\x1d\x02\x02\u01c1\u01ed\x05H%\x19\u01c2\u01c3\f\x17\x02\x02\u01c3\u01c4\x07\x1c\x02\x02\u01c4\u01ed\x05H%\x18\u01c5\u01c6\f\x16\x02\x02\u01c6\u01c7\x07"\x02\x02\u01c7\u01ed\x05H%\x17\u01c8\u01c9\f\x15\x02\x02\u01c9\u01ca\x07#\x02\x02\u01ca\u01ed\x05H%\x16\u01cb\u01cc\f\x14\x02\x02\u01cc\u01cd\x07$\x02\x02\u01cd\u01ed\x05H%\x15\u01ce\u01cf\f\x13\x02\x02\u01cf\u01d0\x07%\x02\x02\u01d0\u01ed\x05H%\x14\u01d1\u01d2\f\x12\x02\x02\u01d2\u01d3\x07&\x02\x02\u01d3\u01ed\x05H%\x13\u01d4\u01d5\f\x11\x02\x02\u01d5\u01d6\x07\'\x02\x02\u01d6\u01ed\x05H%\x12\u01d7\u01d8\f\x10\x02\x02\u01d8\u01d9\x07\x1a\x02\x02\u01d9\u01ed\x05H%\x11\u01da\u01db\f\x0f\x02\x02\u01db\u01dc\x07\x1b\x02\x02\u01dc\u01ed\x05H%\x10\u01dd\u01de\f\x0e\x02\x02\u01de\u01df\x07,\x02\x02\u01df\u01ed\x05H%\x0f\u01e0\u01e1\f\r\x02\x02\u01e1\u01e2\x07*\x02\x02\u01e2\u01ed\x05H%\x0e\u01e3\u01e4\f\f\x02\x02\u01e4\u01e5\x07+\x02\x02\u01e5\u01ed\x05H%\r\u01e6\u01e7\f\v\x02\x02\u01e7\u01e8\x070\x02\x02\u01e8\u01ed\x05H%\f\u01e9\u01ea\f\n\x02\x02\u01ea\u01eb\x07-\x02\x02\u01eb\u01ed\x05H%\v\u01ec\u01b6\x03\x02\x02\x02\u01ec\u01b9\x03\x02\x02\x02\u01ec\u01bc\x03\x02\x02\x02\u01ec\u01bf\x03\x02\x02\x02\u01ec\u01c2\x03\x02\x02\x02\u01ec\u01c5\x03\x02\x02\x02\u01ec\u01c8\x03\x02\x02\x02\u01ec\u01cb\x03\x02\x02\x02\u01ec\u01ce\x03\x02\x02\x02\u01ec\u01d1\x03\x02\x02\x02\u01ec\u01d4\x03\x02\x02\x02\u01ec\u01d7\x03\x02\x02\x02\u01ec\u01da\x03\x02\x02\x02\u01ec\u01dd\x03\x02\x02\x02\u01ec\u01e0\x03\x02\x02\x02\u01ec\u01e3\x03\x02\x02\x02\u01ec\u01e6\x03\x02\x02\x02\u01ec\u01e9\x03\x02\x02\x02\u01ed\u01f0\x03\x02\x02\x02\u01ee\u01ec\x03\x02\x02\x02\u01ee\u01ef\x03\x02\x02\x02\u01efI\x03\x02\x02\x02\u01f0\u01ee\x03\x02\x02\x02\u01f1\u01f5\x05H%\x02\u01f2\u01f5\x05*\x16\x02\u01f3\u01f5\x05(\x15\x02\u01f4\u01f1\x03\x02\x02\x02\u01f4\u01f2\x03\x02\x02\x02\u01f4\u01f3\x03\x02\x02\x02\u01f5\u01fe\x03\x02\x02\x02\u01f6\u01fa\x07B\x02\x02\u01f7\u01fb\x05H%\x02\u01f8\u01fb\x05*\x16\x02\u01f9\u01fb\x05(\x15\x02\u01fa\u01f7\x03\x02\x02\x02\u01fa\u01f8\x03\x02\x02\x02\u01fa\u01f9\x03\x02\x02\x02\u01fb\u01fd\x03\x02\x02\x02\u01fc\u01f6\x03\x02\x02\x02\u01fd\u0200\x03\x02\x02\x02\u01fe\u01fc\x03\x02\x02\x02\u01fe\u01ff\x03\x02\x02\x02\u01ffK\x03\x02\x02\x02\u0200\u01fe\x03\x02\x02\x02\u0201\u0202\x07:\x02\x02\u0202\u0203\x07A\x02\x02\u0203M\x03\x02\x02\x02:SXZdgouz\x7f\x84\x89\x91\x9d\xa2\xa6\xae\xb6\xbd\xc6\xcb\xd0\xe5\xfb\xff\u0107\u011c\u0129\u012e\u0133\u013a\u0144\u014c\u0152\u0159\u015d\u0160\u016a\u016f\u0173\u0178\u017d\u018a\u018c\u0192\u0194\u019b\u019d\u01a3\u01a5\u01a8\u01b4\u01ec\u01ee\u01f4\u01fa\u01fe';class ArquivoContext extends ParserRuleContext.ParserRuleContext{PROGRAMA(){return this.getToken(PortugolParser.PROGRAMA,0)}ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}inclusaoBiblioteca(i6){return void 0===i6?this.getRuleContexts(InclusaoBibliotecaContext):this.getRuleContext(i6,InclusaoBibliotecaContext)}declaracaoFuncao(i6){return void 0===i6?this.getRuleContexts(DeclaracaoFuncaoContext):this.getRuleContext(i6,DeclaracaoFuncaoContext)}listaDeclaracoes(i6){return void 0===i6?this.getRuleContexts(ListaDeclaracoesContext):this.getRuleContext(i6,ListaDeclaracoesContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_arquivo}enterRule(listener){listener.enterArquivo&&listener.enterArquivo(this)}exitRule(listener){listener.exitArquivo&&listener.exitArquivo(this)}accept(visitor){return visitor.visitArquivo?visitor.visitArquivo(this):visitor.visitChildren(this)}}class InclusaoBibliotecaContext extends ParserRuleContext.ParserRuleContext{INCLUA(){return this.getToken(PortugolParser.INCLUA,0)}BIBLIOTECA(){return this.getToken(PortugolParser.BIBLIOTECA,0)}ID(i6){return void 0===i6?this.getTokens(PortugolParser.ID):this.getToken(PortugolParser.ID,i6)}OP_ALIAS_BIBLIOTECA(){return this.tryGetToken(PortugolParser.OP_ALIAS_BIBLIOTECA,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_inclusaoBiblioteca}enterRule(listener){listener.enterInclusaoBiblioteca&&listener.enterInclusaoBiblioteca(this)}exitRule(listener){listener.exitInclusaoBiblioteca&&listener.exitInclusaoBiblioteca(this)}accept(visitor){return visitor.visitInclusaoBiblioteca?visitor.visitInclusaoBiblioteca(this):visitor.visitChildren(this)}}class ListaDeclaracoesContext extends ParserRuleContext.ParserRuleContext{TIPO(){return this.getToken(PortugolParser.TIPO,0)}declaracao(i6){return void 0===i6?this.getRuleContexts(DeclaracaoContext):this.getRuleContext(i6,DeclaracaoContext)}CONSTANTE(){return this.tryGetToken(PortugolParser.CONSTANTE,0)}VIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.VIRGULA):this.getToken(PortugolParser.VIRGULA,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_listaDeclaracoes}enterRule(listener){listener.enterListaDeclaracoes&&listener.enterListaDeclaracoes(this)}exitRule(listener){listener.exitListaDeclaracoes&&listener.exitListaDeclaracoes(this)}accept(visitor){return visitor.visitListaDeclaracoes?visitor.visitListaDeclaracoes(this):visitor.visitChildren(this)}}class DeclaracaoContext extends ParserRuleContext.ParserRuleContext{declaracaoVariavel(){return this.tryGetRuleContext(0,DeclaracaoVariavelContext)}declaracaoArray(){return this.tryGetRuleContext(0,DeclaracaoArrayContext)}declaracaoMatriz(){return this.tryGetRuleContext(0,DeclaracaoMatrizContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracao}enterRule(listener){listener.enterDeclaracao&&listener.enterDeclaracao(this)}exitRule(listener){listener.exitDeclaracao&&listener.exitDeclaracao(this)}accept(visitor){return visitor.visitDeclaracao?visitor.visitDeclaracao(this):visitor.visitChildren(this)}}class DeclaracaoVariavelContext extends ParserRuleContext.ParserRuleContext{ID(){return this.getToken(PortugolParser.ID,0)}OP_ATRIBUICAO(){return this.tryGetToken(PortugolParser.OP_ATRIBUICAO,0)}expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracaoVariavel}enterRule(listener){listener.enterDeclaracaoVariavel&&listener.enterDeclaracaoVariavel(this)}exitRule(listener){listener.exitDeclaracaoVariavel&&listener.exitDeclaracaoVariavel(this)}accept(visitor){return visitor.visitDeclaracaoVariavel?visitor.visitDeclaracaoVariavel(this):visitor.visitChildren(this)}}class DeclaracaoMatrizContext extends ParserRuleContext.ParserRuleContext{ID(){return this.getToken(PortugolParser.ID,0)}ABRE_COLCHETES(i6){return void 0===i6?this.getTokens(PortugolParser.ABRE_COLCHETES):this.getToken(PortugolParser.ABRE_COLCHETES,i6)}FECHA_COLCHETES(i6){return void 0===i6?this.getTokens(PortugolParser.FECHA_COLCHETES):this.getToken(PortugolParser.FECHA_COLCHETES,i6)}linhaMatriz(){return this.tryGetRuleContext(0,LinhaMatrizContext)}colunaMatriz(){return this.tryGetRuleContext(0,ColunaMatrizContext)}OP_ATRIBUICAO(){return this.tryGetToken(PortugolParser.OP_ATRIBUICAO,0)}inicializacaoMatriz(){return this.tryGetRuleContext(0,InicializacaoMatrizContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracaoMatriz}enterRule(listener){listener.enterDeclaracaoMatriz&&listener.enterDeclaracaoMatriz(this)}exitRule(listener){listener.exitDeclaracaoMatriz&&listener.exitDeclaracaoMatriz(this)}accept(visitor){return visitor.visitDeclaracaoMatriz?visitor.visitDeclaracaoMatriz(this):visitor.visitChildren(this)}}class InicializacaoMatrizContext extends ParserRuleContext.ParserRuleContext{ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}inicializacaoArray(i6){return void 0===i6?this.getRuleContexts(InicializacaoArrayContext):this.getRuleContext(i6,InicializacaoArrayContext)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}VIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.VIRGULA):this.getToken(PortugolParser.VIRGULA,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_inicializacaoMatriz}enterRule(listener){listener.enterInicializacaoMatriz&&listener.enterInicializacaoMatriz(this)}exitRule(listener){listener.exitInicializacaoMatriz&&listener.exitInicializacaoMatriz(this)}accept(visitor){return visitor.visitInicializacaoMatriz?visitor.visitInicializacaoMatriz(this):visitor.visitChildren(this)}}class LinhaMatrizContext extends ParserRuleContext.ParserRuleContext{tamanhoArray(){return this.getRuleContext(0,TamanhoArrayContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_linhaMatriz}enterRule(listener){listener.enterLinhaMatriz&&listener.enterLinhaMatriz(this)}exitRule(listener){listener.exitLinhaMatriz&&listener.exitLinhaMatriz(this)}accept(visitor){return visitor.visitLinhaMatriz?visitor.visitLinhaMatriz(this):visitor.visitChildren(this)}}class ColunaMatrizContext extends ParserRuleContext.ParserRuleContext{tamanhoArray(){return this.getRuleContext(0,TamanhoArrayContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_colunaMatriz}enterRule(listener){listener.enterColunaMatriz&&listener.enterColunaMatriz(this)}exitRule(listener){listener.exitColunaMatriz&&listener.exitColunaMatriz(this)}accept(visitor){return visitor.visitColunaMatriz?visitor.visitColunaMatriz(this):visitor.visitChildren(this)}}class DeclaracaoArrayContext extends ParserRuleContext.ParserRuleContext{ID(){return this.getToken(PortugolParser.ID,0)}ABRE_COLCHETES(){return this.getToken(PortugolParser.ABRE_COLCHETES,0)}FECHA_COLCHETES(){return this.getToken(PortugolParser.FECHA_COLCHETES,0)}tamanhoArray(){return this.tryGetRuleContext(0,TamanhoArrayContext)}OP_ATRIBUICAO(){return this.tryGetToken(PortugolParser.OP_ATRIBUICAO,0)}inicializacaoArray(){return this.tryGetRuleContext(0,InicializacaoArrayContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracaoArray}enterRule(listener){listener.enterDeclaracaoArray&&listener.enterDeclaracaoArray(this)}exitRule(listener){listener.exitDeclaracaoArray&&listener.exitDeclaracaoArray(this)}accept(visitor){return visitor.visitDeclaracaoArray?visitor.visitDeclaracaoArray(this):visitor.visitChildren(this)}}class InicializacaoArrayContext extends ParserRuleContext.ParserRuleContext{ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}listaExpressoes(){return this.tryGetRuleContext(0,ListaExpressoesContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_inicializacaoArray}enterRule(listener){listener.enterInicializacaoArray&&listener.enterInicializacaoArray(this)}exitRule(listener){listener.exitInicializacaoArray&&listener.exitInicializacaoArray(this)}accept(visitor){return visitor.visitInicializacaoArray?visitor.visitInicializacaoArray(this):visitor.visitChildren(this)}}class TamanhoArrayContext extends ParserRuleContext.ParserRuleContext{expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_tamanhoArray}enterRule(listener){listener.enterTamanhoArray&&listener.enterTamanhoArray(this)}exitRule(listener){listener.exitTamanhoArray&&listener.exitTamanhoArray(this)}accept(visitor){return visitor.visitTamanhoArray?visitor.visitTamanhoArray(this):visitor.visitChildren(this)}}class DeclaracaoFuncaoContext extends ParserRuleContext.ParserRuleContext{FUNCAO(){return this.getToken(PortugolParser.FUNCAO,0)}ID(){return this.getToken(PortugolParser.ID,0)}parametroFuncao(){return this.getRuleContext(0,ParametroFuncaoContext)}ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}TIPO(){return this.tryGetToken(PortugolParser.TIPO,0)}comando(i6){return void 0===i6?this.getRuleContexts(ComandoContext):this.getRuleContext(i6,ComandoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_declaracaoFuncao}enterRule(listener){listener.enterDeclaracaoFuncao&&listener.enterDeclaracaoFuncao(this)}exitRule(listener){listener.exitDeclaracaoFuncao&&listener.exitDeclaracaoFuncao(this)}accept(visitor){return visitor.visitDeclaracaoFuncao?visitor.visitDeclaracaoFuncao(this):visitor.visitChildren(this)}}class ParametroFuncaoContext extends ParserRuleContext.ParserRuleContext{ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}listaParametros(){return this.tryGetRuleContext(0,ListaParametrosContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_parametroFuncao}enterRule(listener){listener.enterParametroFuncao&&listener.enterParametroFuncao(this)}exitRule(listener){listener.exitParametroFuncao&&listener.exitParametroFuncao(this)}accept(visitor){return visitor.visitParametroFuncao?visitor.visitParametroFuncao(this):visitor.visitChildren(this)}}class ListaParametrosContext extends ParserRuleContext.ParserRuleContext{parametro(i6){return void 0===i6?this.getRuleContexts(ParametroContext):this.getRuleContext(i6,ParametroContext)}VIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.VIRGULA):this.getToken(PortugolParser.VIRGULA,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_listaParametros}enterRule(listener){listener.enterListaParametros&&listener.enterListaParametros(this)}exitRule(listener){listener.exitListaParametros&&listener.exitListaParametros(this)}accept(visitor){return visitor.visitListaParametros?visitor.visitListaParametros(this):visitor.visitChildren(this)}}class ParametroContext extends ParserRuleContext.ParserRuleContext{TIPO(){return this.getToken(PortugolParser.TIPO,0)}ID(){return this.getToken(PortugolParser.ID,0)}E_COMERCIAL(){return this.tryGetToken(PortugolParser.E_COMERCIAL,0)}parametroArray(){return this.tryGetRuleContext(0,ParametroArrayContext)}parametroMatriz(){return this.tryGetRuleContext(0,ParametroMatrizContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_parametro}enterRule(listener){listener.enterParametro&&listener.enterParametro(this)}exitRule(listener){listener.exitParametro&&listener.exitParametro(this)}accept(visitor){return visitor.visitParametro?visitor.visitParametro(this):visitor.visitChildren(this)}}class ParametroArrayContext extends ParserRuleContext.ParserRuleContext{ABRE_COLCHETES(){return this.getToken(PortugolParser.ABRE_COLCHETES,0)}FECHA_COLCHETES(){return this.getToken(PortugolParser.FECHA_COLCHETES,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_parametroArray}enterRule(listener){listener.enterParametroArray&&listener.enterParametroArray(this)}exitRule(listener){listener.exitParametroArray&&listener.exitParametroArray(this)}accept(visitor){return visitor.visitParametroArray?visitor.visitParametroArray(this):visitor.visitChildren(this)}}class ParametroMatrizContext extends ParserRuleContext.ParserRuleContext{ABRE_COLCHETES(i6){return void 0===i6?this.getTokens(PortugolParser.ABRE_COLCHETES):this.getToken(PortugolParser.ABRE_COLCHETES,i6)}FECHA_COLCHETES(i6){return void 0===i6?this.getTokens(PortugolParser.FECHA_COLCHETES):this.getToken(PortugolParser.FECHA_COLCHETES,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_parametroMatriz}enterRule(listener){listener.enterParametroMatriz&&listener.enterParametroMatriz(this)}exitRule(listener){listener.exitParametroMatriz&&listener.exitParametroMatriz(this)}accept(visitor){return visitor.visitParametroMatriz?visitor.visitParametroMatriz(this):visitor.visitChildren(this)}}class ComandoContext extends ParserRuleContext.ParserRuleContext{listaDeclaracoes(){return this.tryGetRuleContext(0,ListaDeclaracoesContext)}se(){return this.tryGetRuleContext(0,SeContext)}enquanto(){return this.tryGetRuleContext(0,EnquantoContext)}facaEnquanto(){return this.tryGetRuleContext(0,FacaEnquantoContext)}para(){return this.tryGetRuleContext(0,ParaContext)}escolha(){return this.tryGetRuleContext(0,EscolhaContext)}retorne(){return this.tryGetRuleContext(0,RetorneContext)}pare(){return this.tryGetRuleContext(0,PareContext)}atribuicao(){return this.tryGetRuleContext(0,AtribuicaoContext)}atribuicaoComposta(){return this.tryGetRuleContext(0,AtribuicaoCompostaContext)}expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_comando}enterRule(listener){listener.enterComando&&listener.enterComando(this)}exitRule(listener){listener.exitComando&&listener.exitComando(this)}accept(visitor){return visitor.visitComando?visitor.visitComando(this):visitor.visitChildren(this)}}class AtribuicaoContext extends ParserRuleContext.ParserRuleContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_ATRIBUICAO(){return this.getToken(PortugolParser.OP_ATRIBUICAO,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_atribuicao}enterRule(listener){listener.enterAtribuicao&&listener.enterAtribuicao(this)}exitRule(listener){listener.exitAtribuicao&&listener.exitAtribuicao(this)}accept(visitor){return visitor.visitAtribuicao?visitor.visitAtribuicao(this):visitor.visitChildren(this)}}class AtribuicaoCompostaContext extends ParserRuleContext.ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_atribuicaoComposta}copyFrom(ctx){super.copyFrom(ctx)}}class AtribuicaoCompostaSomaContext extends AtribuicaoCompostaContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MAIS_IGUAL(){return this.getToken(PortugolParser.OP_MAIS_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAtribuicaoCompostaSoma&&listener.enterAtribuicaoCompostaSoma(this)}exitRule(listener){listener.exitAtribuicaoCompostaSoma&&listener.exitAtribuicaoCompostaSoma(this)}accept(visitor){return visitor.visitAtribuicaoCompostaSoma?visitor.visitAtribuicaoCompostaSoma(this):visitor.visitChildren(this)}}class AtribuicaoCompostaSubtracaoContext extends AtribuicaoCompostaContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MENOS_IGUAL(){return this.getToken(PortugolParser.OP_MENOS_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAtribuicaoCompostaSubtracao&&listener.enterAtribuicaoCompostaSubtracao(this)}exitRule(listener){listener.exitAtribuicaoCompostaSubtracao&&listener.exitAtribuicaoCompostaSubtracao(this)}accept(visitor){return visitor.visitAtribuicaoCompostaSubtracao?visitor.visitAtribuicaoCompostaSubtracao(this):visitor.visitChildren(this)}}class AtribuicaoCompostaMultiplicacaoContext extends AtribuicaoCompostaContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MULTIPLICACAO_IGUAL(){return this.getToken(PortugolParser.OP_MULTIPLICACAO_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAtribuicaoCompostaMultiplicacao&&listener.enterAtribuicaoCompostaMultiplicacao(this)}exitRule(listener){listener.exitAtribuicaoCompostaMultiplicacao&&listener.exitAtribuicaoCompostaMultiplicacao(this)}accept(visitor){return visitor.visitAtribuicaoCompostaMultiplicacao?visitor.visitAtribuicaoCompostaMultiplicacao(this):visitor.visitChildren(this)}}class AtribuicaoCompostaDivisaoContext extends AtribuicaoCompostaContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_DIVISAO_IGUAL(){return this.getToken(PortugolParser.OP_DIVISAO_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAtribuicaoCompostaDivisao&&listener.enterAtribuicaoCompostaDivisao(this)}exitRule(listener){listener.exitAtribuicaoCompostaDivisao&&listener.exitAtribuicaoCompostaDivisao(this)}accept(visitor){return visitor.visitAtribuicaoCompostaDivisao?visitor.visitAtribuicaoCompostaDivisao(this):visitor.visitChildren(this)}}class RetorneContext extends ParserRuleContext.ParserRuleContext{RETORNE(){return this.getToken(PortugolParser.RETORNE,0)}expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_retorne}enterRule(listener){listener.enterRetorne&&listener.enterRetorne(this)}exitRule(listener){listener.exitRetorne&&listener.exitRetorne(this)}accept(visitor){return visitor.visitRetorne?visitor.visitRetorne(this):visitor.visitChildren(this)}}class SeContext extends ParserRuleContext.ParserRuleContext{SE(){return this.getToken(PortugolParser.SE,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}senao(){return this.tryGetRuleContext(0,SenaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_se}enterRule(listener){listener.enterSe&&listener.enterSe(this)}exitRule(listener){listener.exitSe&&listener.exitSe(this)}accept(visitor){return visitor.visitSe?visitor.visitSe(this):visitor.visitChildren(this)}}class SenaoContext extends ParserRuleContext.ParserRuleContext{SENAO(){return this.getToken(PortugolParser.SENAO,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_senao}enterRule(listener){listener.enterSenao&&listener.enterSenao(this)}exitRule(listener){listener.exitSenao&&listener.exitSenao(this)}accept(visitor){return visitor.visitSenao?visitor.visitSenao(this):visitor.visitChildren(this)}}class EnquantoContext extends ParserRuleContext.ParserRuleContext{ENQUANTO(){return this.getToken(PortugolParser.ENQUANTO,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_enquanto}enterRule(listener){listener.enterEnquanto&&listener.enterEnquanto(this)}exitRule(listener){listener.exitEnquanto&&listener.exitEnquanto(this)}accept(visitor){return visitor.visitEnquanto?visitor.visitEnquanto(this):visitor.visitChildren(this)}}class FacaEnquantoContext extends ParserRuleContext.ParserRuleContext{FACA(){return this.getToken(PortugolParser.FACA,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}ENQUANTO(){return this.getToken(PortugolParser.ENQUANTO,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_facaEnquanto}enterRule(listener){listener.enterFacaEnquanto&&listener.enterFacaEnquanto(this)}exitRule(listener){listener.exitFacaEnquanto&&listener.exitFacaEnquanto(this)}accept(visitor){return visitor.visitFacaEnquanto?visitor.visitFacaEnquanto(this):visitor.visitChildren(this)}}class ParaContext extends ParserRuleContext.ParserRuleContext{PARA(){return this.getToken(PortugolParser.PARA,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}PONTOVIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.PONTOVIRGULA):this.getToken(PortugolParser.PONTOVIRGULA,i6)}condicao(){return this.getRuleContext(0,CondicaoContext)}incrementoPara(){return this.getRuleContext(0,IncrementoParaContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}listaComandos(){return this.getRuleContext(0,ListaComandosContext)}inicializacaoPara(){return this.tryGetRuleContext(0,InicializacaoParaContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_para}enterRule(listener){listener.enterPara&&listener.enterPara(this)}exitRule(listener){listener.exitPara&&listener.exitPara(this)}accept(visitor){return visitor.visitPara?visitor.visitPara(this):visitor.visitChildren(this)}}class ListaComandosContext extends ParserRuleContext.ParserRuleContext{ABRE_CHAVES(){return this.tryGetToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.tryGetToken(PortugolParser.FECHA_CHAVES,0)}comando(i6){return void 0===i6?this.getRuleContexts(ComandoContext):this.getRuleContext(i6,ComandoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_listaComandos}enterRule(listener){listener.enterListaComandos&&listener.enterListaComandos(this)}exitRule(listener){listener.exitListaComandos&&listener.exitListaComandos(this)}accept(visitor){return visitor.visitListaComandos?visitor.visitListaComandos(this):visitor.visitChildren(this)}}class InicializacaoParaContext extends ParserRuleContext.ParserRuleContext{atribuicao(){return this.tryGetRuleContext(0,AtribuicaoContext)}listaDeclaracoes(){return this.tryGetRuleContext(0,ListaDeclaracoesContext)}ID(){return this.tryGetToken(PortugolParser.ID,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_inicializacaoPara}enterRule(listener){listener.enterInicializacaoPara&&listener.enterInicializacaoPara(this)}exitRule(listener){listener.exitInicializacaoPara&&listener.exitInicializacaoPara(this)}accept(visitor){return visitor.visitInicializacaoPara?visitor.visitInicializacaoPara(this):visitor.visitChildren(this)}}class CondicaoContext extends ParserRuleContext.ParserRuleContext{expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_condicao}enterRule(listener){listener.enterCondicao&&listener.enterCondicao(this)}exitRule(listener){listener.exitCondicao&&listener.exitCondicao(this)}accept(visitor){return visitor.visitCondicao?visitor.visitCondicao(this):visitor.visitChildren(this)}}class IncrementoParaContext extends ParserRuleContext.ParserRuleContext{expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}atribuicaoComposta(){return this.tryGetRuleContext(0,AtribuicaoCompostaContext)}atribuicao(){return this.tryGetRuleContext(0,AtribuicaoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_incrementoPara}enterRule(listener){listener.enterIncrementoPara&&listener.enterIncrementoPara(this)}exitRule(listener){listener.exitIncrementoPara&&listener.exitIncrementoPara(this)}accept(visitor){return visitor.visitIncrementoPara?visitor.visitIncrementoPara(this):visitor.visitChildren(this)}}class EscolhaContext extends ParserRuleContext.ParserRuleContext{ESCOLHA(){return this.getToken(PortugolParser.ESCOLHA,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}ABRE_CHAVES(){return this.getToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.getToken(PortugolParser.FECHA_CHAVES,0)}caso(i6){return void 0===i6?this.getRuleContexts(CasoContext):this.getRuleContext(i6,CasoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_escolha}enterRule(listener){listener.enterEscolha&&listener.enterEscolha(this)}exitRule(listener){listener.exitEscolha&&listener.exitEscolha(this)}accept(visitor){return visitor.visitEscolha?visitor.visitEscolha(this):visitor.visitChildren(this)}}class CasoContext extends ParserRuleContext.ParserRuleContext{CASO(){return this.getToken(PortugolParser.CASO,0)}DOISPONTOS(){return this.getToken(PortugolParser.DOISPONTOS,0)}CONTRARIO(){return this.tryGetToken(PortugolParser.CONTRARIO,0)}expressao(){return this.tryGetRuleContext(0,ExpressaoContext)}ABRE_CHAVES(){return this.tryGetToken(PortugolParser.ABRE_CHAVES,0)}FECHA_CHAVES(){return this.tryGetToken(PortugolParser.FECHA_CHAVES,0)}pare(){return this.tryGetRuleContext(0,PareContext)}comando(i6){return void 0===i6?this.getRuleContexts(ComandoContext):this.getRuleContext(i6,ComandoContext)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_caso}enterRule(listener){listener.enterCaso&&listener.enterCaso(this)}exitRule(listener){listener.exitCaso&&listener.exitCaso(this)}accept(visitor){return visitor.visitCaso?visitor.visitCaso(this):visitor.visitChildren(this)}}class PareContext extends ParserRuleContext.ParserRuleContext{PARE(){return this.getToken(PortugolParser.PARE,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_pare}enterRule(listener){listener.enterPare&&listener.enterPare(this)}exitRule(listener){listener.exitPare&&listener.exitPare(this)}accept(visitor){return visitor.visitPare?visitor.visitPare(this):visitor.visitChildren(this)}}class IndiceArrayContext extends ParserRuleContext.ParserRuleContext{ABRE_COLCHETES(){return this.getToken(PortugolParser.ABRE_COLCHETES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_COLCHETES(){return this.getToken(PortugolParser.FECHA_COLCHETES,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_indiceArray}enterRule(listener){listener.enterIndiceArray&&listener.enterIndiceArray(this)}exitRule(listener){listener.exitIndiceArray&&listener.exitIndiceArray(this)}accept(visitor){return visitor.visitIndiceArray?visitor.visitIndiceArray(this):visitor.visitChildren(this)}}class ExpressaoContext extends ParserRuleContext.ParserRuleContext{constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_expressao}copyFrom(ctx){super.copyFrom(ctx)}}class ChamadaFuncaoContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}escopoBiblioteca(){return this.tryGetRuleContext(0,EscopoBibliotecaContext)}listaExpressoes(){return this.tryGetRuleContext(0,ListaExpressoesContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterChamadaFuncao&&listener.enterChamadaFuncao(this)}exitRule(listener){listener.exitChamadaFuncao&&listener.exitChamadaFuncao(this)}accept(visitor){return visitor.visitChamadaFuncao?visitor.visitChamadaFuncao(this):visitor.visitChildren(this)}}class ReferenciaArrayContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}indiceArray(){return this.getRuleContext(0,IndiceArrayContext)}escopoBiblioteca(){return this.tryGetRuleContext(0,EscopoBibliotecaContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterReferenciaArray&&listener.enterReferenciaArray(this)}exitRule(listener){listener.exitReferenciaArray&&listener.exitReferenciaArray(this)}accept(visitor){return visitor.visitReferenciaArray?visitor.visitReferenciaArray(this):visitor.visitChildren(this)}}class ReferenciaMatrizContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}escopoBiblioteca(){return this.tryGetRuleContext(0,EscopoBibliotecaContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterReferenciaMatriz&&listener.enterReferenciaMatriz(this)}exitRule(listener){listener.exitReferenciaMatriz&&listener.exitReferenciaMatriz(this)}accept(visitor){return visitor.visitReferenciaMatriz?visitor.visitReferenciaMatriz(this):visitor.visitChildren(this)}}class MenosUnarioContext extends ExpressaoContext{OP_SUBTRACAO(){return this.getToken(PortugolParser.OP_SUBTRACAO,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterMenosUnario&&listener.enterMenosUnario(this)}exitRule(listener){listener.exitMenosUnario&&listener.exitMenosUnario(this)}accept(visitor){return visitor.visitMenosUnario?visitor.visitMenosUnario(this):visitor.visitChildren(this)}}class MaisUnarioContext extends ExpressaoContext{OP_ADICAO(){return this.getToken(PortugolParser.OP_ADICAO,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterMaisUnario&&listener.enterMaisUnario(this)}exitRule(listener){listener.exitMaisUnario&&listener.exitMaisUnario(this)}accept(visitor){return visitor.visitMaisUnario?visitor.visitMaisUnario(this):visitor.visitChildren(this)}}class NegacaoContext extends ExpressaoContext{OP_NAO(){return this.getToken(PortugolParser.OP_NAO,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterNegacao&&listener.enterNegacao(this)}exitRule(listener){listener.exitNegacao&&listener.exitNegacao(this)}accept(visitor){return visitor.visitNegacao?visitor.visitNegacao(this):visitor.visitChildren(this)}}class NegacaoBitwiseContext extends ExpressaoContext{OP_NOT_BITWISE(){return this.getToken(PortugolParser.OP_NOT_BITWISE,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterNegacaoBitwise&&listener.enterNegacaoBitwise(this)}exitRule(listener){listener.exitNegacaoBitwise&&listener.exitNegacaoBitwise(this)}accept(visitor){return visitor.visitNegacaoBitwise?visitor.visitNegacaoBitwise(this):visitor.visitChildren(this)}}class IncrementoUnarioPosfixadoContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}OP_INCREMENTO_UNARIO(){return this.getToken(PortugolParser.OP_INCREMENTO_UNARIO,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterIncrementoUnarioPosfixado&&listener.enterIncrementoUnarioPosfixado(this)}exitRule(listener){listener.exitIncrementoUnarioPosfixado&&listener.exitIncrementoUnarioPosfixado(this)}accept(visitor){return visitor.visitIncrementoUnarioPosfixado?visitor.visitIncrementoUnarioPosfixado(this):visitor.visitChildren(this)}}class DecrementoUnarioPosfixadoContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}OP_DECREMENTO_UNARIO(){return this.getToken(PortugolParser.OP_DECREMENTO_UNARIO,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterDecrementoUnarioPosfixado&&listener.enterDecrementoUnarioPosfixado(this)}exitRule(listener){listener.exitDecrementoUnarioPosfixado&&listener.exitDecrementoUnarioPosfixado(this)}accept(visitor){return visitor.visitDecrementoUnarioPosfixado?visitor.visitDecrementoUnarioPosfixado(this):visitor.visitChildren(this)}}class IncrementoUnarioPrefixadoContext extends ExpressaoContext{OP_INCREMENTO_UNARIO(){return this.getToken(PortugolParser.OP_INCREMENTO_UNARIO,0)}ID(){return this.getToken(PortugolParser.ID,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterIncrementoUnarioPrefixado&&listener.enterIncrementoUnarioPrefixado(this)}exitRule(listener){listener.exitIncrementoUnarioPrefixado&&listener.exitIncrementoUnarioPrefixado(this)}accept(visitor){return visitor.visitIncrementoUnarioPrefixado?visitor.visitIncrementoUnarioPrefixado(this):visitor.visitChildren(this)}}class DecrementoUnarioPrefixadoContext extends ExpressaoContext{OP_DECREMENTO_UNARIO(){return this.getToken(PortugolParser.OP_DECREMENTO_UNARIO,0)}ID(){return this.getToken(PortugolParser.ID,0)}indiceArray(i6){return void 0===i6?this.getRuleContexts(IndiceArrayContext):this.getRuleContext(i6,IndiceArrayContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterDecrementoUnarioPrefixado&&listener.enterDecrementoUnarioPrefixado(this)}exitRule(listener){listener.exitDecrementoUnarioPrefixado&&listener.exitDecrementoUnarioPrefixado(this)}accept(visitor){return visitor.visitDecrementoUnarioPrefixado?visitor.visitDecrementoUnarioPrefixado(this):visitor.visitChildren(this)}}class MultiplicacaoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MULTIPLICACAO(){return this.getToken(PortugolParser.OP_MULTIPLICACAO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterMultiplicacao&&listener.enterMultiplicacao(this)}exitRule(listener){listener.exitMultiplicacao&&listener.exitMultiplicacao(this)}accept(visitor){return visitor.visitMultiplicacao?visitor.visitMultiplicacao(this):visitor.visitChildren(this)}}class DivisaoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_DIVISAO(){return this.getToken(PortugolParser.OP_DIVISAO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterDivisao&&listener.enterDivisao(this)}exitRule(listener){listener.exitDivisao&&listener.exitDivisao(this)}accept(visitor){return visitor.visitDivisao?visitor.visitDivisao(this):visitor.visitChildren(this)}}class ModuloContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MOD(){return this.getToken(PortugolParser.OP_MOD,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterModulo&&listener.enterModulo(this)}exitRule(listener){listener.exitModulo&&listener.exitModulo(this)}accept(visitor){return visitor.visitModulo?visitor.visitModulo(this):visitor.visitChildren(this)}}class AdicaoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_ADICAO(){return this.getToken(PortugolParser.OP_ADICAO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterAdicao&&listener.enterAdicao(this)}exitRule(listener){listener.exitAdicao&&listener.exitAdicao(this)}accept(visitor){return visitor.visitAdicao?visitor.visitAdicao(this):visitor.visitChildren(this)}}class SubtracaoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_SUBTRACAO(){return this.getToken(PortugolParser.OP_SUBTRACAO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterSubtracao&&listener.enterSubtracao(this)}exitRule(listener){listener.exitSubtracao&&listener.exitSubtracao(this)}accept(visitor){return visitor.visitSubtracao?visitor.visitSubtracao(this):visitor.visitChildren(this)}}class OperacaoIgualdadeContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_IGUALDADE(){return this.getToken(PortugolParser.OP_IGUALDADE,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoIgualdade&&listener.enterOperacaoIgualdade(this)}exitRule(listener){listener.exitOperacaoIgualdade&&listener.exitOperacaoIgualdade(this)}accept(visitor){return visitor.visitOperacaoIgualdade?visitor.visitOperacaoIgualdade(this):visitor.visitChildren(this)}}class OperacaoDiferencaContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_DIFERENCA(){return this.getToken(PortugolParser.OP_DIFERENCA,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoDiferenca&&listener.enterOperacaoDiferenca(this)}exitRule(listener){listener.exitOperacaoDiferenca&&listener.exitOperacaoDiferenca(this)}accept(visitor){return visitor.visitOperacaoDiferenca?visitor.visitOperacaoDiferenca(this):visitor.visitChildren(this)}}class OperacaoMaiorContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MAIOR(){return this.getToken(PortugolParser.OP_MAIOR,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoMaior&&listener.enterOperacaoMaior(this)}exitRule(listener){listener.exitOperacaoMaior&&listener.exitOperacaoMaior(this)}accept(visitor){return visitor.visitOperacaoMaior?visitor.visitOperacaoMaior(this):visitor.visitChildren(this)}}class OperacaoMenorContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MENOR(){return this.getToken(PortugolParser.OP_MENOR,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoMenor&&listener.enterOperacaoMenor(this)}exitRule(listener){listener.exitOperacaoMenor&&listener.exitOperacaoMenor(this)}accept(visitor){return visitor.visitOperacaoMenor?visitor.visitOperacaoMenor(this):visitor.visitChildren(this)}}class OperacaoMenorIgualContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MENOR_IGUAL(){return this.getToken(PortugolParser.OP_MENOR_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoMenorIgual&&listener.enterOperacaoMenorIgual(this)}exitRule(listener){listener.exitOperacaoMenorIgual&&listener.exitOperacaoMenorIgual(this)}accept(visitor){return visitor.visitOperacaoMenorIgual?visitor.visitOperacaoMenorIgual(this):visitor.visitChildren(this)}}class OperacaoMaiorIgualContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_MAIOR_IGUAL(){return this.getToken(PortugolParser.OP_MAIOR_IGUAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoMaiorIgual&&listener.enterOperacaoMaiorIgual(this)}exitRule(listener){listener.exitOperacaoMaiorIgual&&listener.exitOperacaoMaiorIgual(this)}accept(visitor){return visitor.visitOperacaoMaiorIgual?visitor.visitOperacaoMaiorIgual(this):visitor.visitChildren(this)}}class OperacaoELogicoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_E_LOGICO(){return this.getToken(PortugolParser.OP_E_LOGICO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoELogico&&listener.enterOperacaoELogico(this)}exitRule(listener){listener.exitOperacaoELogico&&listener.exitOperacaoELogico(this)}accept(visitor){return visitor.visitOperacaoELogico?visitor.visitOperacaoELogico(this):visitor.visitChildren(this)}}class OperacaoOuLogicoContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_OU_LOGICO(){return this.getToken(PortugolParser.OP_OU_LOGICO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoOuLogico&&listener.enterOperacaoOuLogico(this)}exitRule(listener){listener.exitOperacaoOuLogico&&listener.exitOperacaoOuLogico(this)}accept(visitor){return visitor.visitOperacaoOuLogico?visitor.visitOperacaoOuLogico(this):visitor.visitChildren(this)}}class OperacaoXorContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_XOR(){return this.getToken(PortugolParser.OP_XOR,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoXor&&listener.enterOperacaoXor(this)}exitRule(listener){listener.exitOperacaoXor&&listener.exitOperacaoXor(this)}accept(visitor){return visitor.visitOperacaoXor?visitor.visitOperacaoXor(this):visitor.visitChildren(this)}}class OperacaoShiftLeftContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_SHIFT_LEFT(){return this.getToken(PortugolParser.OP_SHIFT_LEFT,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoShiftLeft&&listener.enterOperacaoShiftLeft(this)}exitRule(listener){listener.exitOperacaoShiftLeft&&listener.exitOperacaoShiftLeft(this)}accept(visitor){return visitor.visitOperacaoShiftLeft?visitor.visitOperacaoShiftLeft(this):visitor.visitChildren(this)}}class OperacaoShiftRightContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_SHIFT_RIGHT(){return this.getToken(PortugolParser.OP_SHIFT_RIGHT,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoShiftRight&&listener.enterOperacaoShiftRight(this)}exitRule(listener){listener.exitOperacaoShiftRight&&listener.exitOperacaoShiftRight(this)}accept(visitor){return visitor.visitOperacaoShiftRight?visitor.visitOperacaoShiftRight(this):visitor.visitChildren(this)}}class OperacaoAndBitwiseContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}E_COMERCIAL(){return this.getToken(PortugolParser.E_COMERCIAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoAndBitwise&&listener.enterOperacaoAndBitwise(this)}exitRule(listener){listener.exitOperacaoAndBitwise&&listener.exitOperacaoAndBitwise(this)}accept(visitor){return visitor.visitOperacaoAndBitwise?visitor.visitOperacaoAndBitwise(this):visitor.visitChildren(this)}}class OperacaoOrBitwiseContext extends ExpressaoContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}OP_OU_BITWISE(){return this.getToken(PortugolParser.OP_OU_BITWISE,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterOperacaoOrBitwise&&listener.enterOperacaoOrBitwise(this)}exitRule(listener){listener.exitOperacaoOrBitwise&&listener.exitOperacaoOrBitwise(this)}accept(visitor){return visitor.visitOperacaoOrBitwise?visitor.visitOperacaoOrBitwise(this):visitor.visitChildren(this)}}class ReferenciaParaVariavelContext extends ExpressaoContext{ID(){return this.getToken(PortugolParser.ID,0)}escopoBiblioteca(){return this.tryGetRuleContext(0,EscopoBibliotecaContext)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterReferenciaParaVariavel&&listener.enterReferenciaParaVariavel(this)}exitRule(listener){listener.exitReferenciaParaVariavel&&listener.exitReferenciaParaVariavel(this)}accept(visitor){return visitor.visitReferenciaParaVariavel?visitor.visitReferenciaParaVariavel(this):visitor.visitChildren(this)}}class NumeroInteiroContext extends ExpressaoContext{INT(){return this.tryGetToken(PortugolParser.INT,0)}HEXADECIMAL(){return this.tryGetToken(PortugolParser.HEXADECIMAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterNumeroInteiro&&listener.enterNumeroInteiro(this)}exitRule(listener){listener.exitNumeroInteiro&&listener.exitNumeroInteiro(this)}accept(visitor){return visitor.visitNumeroInteiro?visitor.visitNumeroInteiro(this):visitor.visitChildren(this)}}class NumeroRealContext extends ExpressaoContext{REAL(){return this.getToken(PortugolParser.REAL,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterNumeroReal&&listener.enterNumeroReal(this)}exitRule(listener){listener.exitNumeroReal&&listener.exitNumeroReal(this)}accept(visitor){return visitor.visitNumeroReal?visitor.visitNumeroReal(this):visitor.visitChildren(this)}}class ValorLogicoContext extends ExpressaoContext{LOGICO(){return this.getToken(PortugolParser.LOGICO,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterValorLogico&&listener.enterValorLogico(this)}exitRule(listener){listener.exitValorLogico&&listener.exitValorLogico(this)}accept(visitor){return visitor.visitValorLogico?visitor.visitValorLogico(this):visitor.visitChildren(this)}}class CaracterContext extends ExpressaoContext{CARACTER(){return this.getToken(PortugolParser.CARACTER,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterCaracter&&listener.enterCaracter(this)}exitRule(listener){listener.exitCaracter&&listener.exitCaracter(this)}accept(visitor){return visitor.visitCaracter?visitor.visitCaracter(this):visitor.visitChildren(this)}}class StringContext extends ExpressaoContext{STRING(){return this.getToken(PortugolParser.STRING,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterString&&listener.enterString(this)}exitRule(listener){listener.exitString&&listener.exitString(this)}accept(visitor){return visitor.visitString?visitor.visitString(this):visitor.visitChildren(this)}}class ExpressaoEntreParentesesContext extends ExpressaoContext{ABRE_PARENTESES(){return this.getToken(PortugolParser.ABRE_PARENTESES,0)}expressao(){return this.getRuleContext(0,ExpressaoContext)}FECHA_PARENTESES(){return this.getToken(PortugolParser.FECHA_PARENTESES,0)}constructor(ctx){super(ctx.parent,ctx.invokingState),this.copyFrom(ctx)}enterRule(listener){listener.enterExpressaoEntreParenteses&&listener.enterExpressaoEntreParenteses(this)}exitRule(listener){listener.exitExpressaoEntreParenteses&&listener.exitExpressaoEntreParenteses(this)}accept(visitor){return visitor.visitExpressaoEntreParenteses?visitor.visitExpressaoEntreParenteses(this):visitor.visitChildren(this)}}class ListaExpressoesContext extends ParserRuleContext.ParserRuleContext{expressao(i6){return void 0===i6?this.getRuleContexts(ExpressaoContext):this.getRuleContext(i6,ExpressaoContext)}atribuicaoComposta(i6){return void 0===i6?this.getRuleContexts(AtribuicaoCompostaContext):this.getRuleContext(i6,AtribuicaoCompostaContext)}atribuicao(i6){return void 0===i6?this.getRuleContexts(AtribuicaoContext):this.getRuleContext(i6,AtribuicaoContext)}VIRGULA(i6){return void 0===i6?this.getTokens(PortugolParser.VIRGULA):this.getToken(PortugolParser.VIRGULA,i6)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_listaExpressoes}enterRule(listener){listener.enterListaExpressoes&&listener.enterListaExpressoes(this)}exitRule(listener){listener.exitListaExpressoes&&listener.exitListaExpressoes(this)}accept(visitor){return visitor.visitListaExpressoes?visitor.visitListaExpressoes(this):visitor.visitChildren(this)}}class EscopoBibliotecaContext extends ParserRuleContext.ParserRuleContext{ID(){return this.tryGetToken(PortugolParser.ID,0)}PONTO(){return this.tryGetToken(PortugolParser.PONTO,0)}constructor(parent,invokingState){super(parent,invokingState)}get ruleIndex(){return PortugolParser.RULE_escopoBiblioteca}enterRule(listener){listener.enterEscopoBiblioteca&&listener.enterEscopoBiblioteca(this)}exitRule(listener){listener.exitEscopoBiblioteca&&listener.exitEscopoBiblioteca(this)}accept(visitor){return visitor.visitEscopoBiblioteca?visitor.visitEscopoBiblioteca(this):visitor.visitChildren(this)}}class ParseError extends Error{constructor(message,ctx){super(message),this.message=message,this.ctx=ctx}}class Node_Node{unexpectedChild(child2){const childName=child2.ctx.constructor.name.replace("Context",""),parentName=this.ctx.constructor.name.replace("Context","");throw new ParseError("ErrorNode"===childName?`Express\xe3o inv\xe1lida: ${child2.ctx.text}`:`Encontrado '${childName}' como filho de '${parentName}', n\xe3o esperado: '${child2.ctx.text}'`,child2.ctx)}}class Comando extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children}}class Express\u00e3o extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children}}class Inicializa\u00e7\u00e3oMatrizExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.linhas=[];for(const child2 of children)child2 instanceof Express\u00e3o?this.linhas.push(child2):this.unexpectedChild(child2)}}function getAllChildrenFromContext(ctx){if(!ctx)return[];const children=[];for(let i6=0;i6[child2,...getAllChildrenFromNode(child2)])}function invariant(condition,ctx,message){if(!condition)throw new ParseError(message??"Express\xe3o inv\xe1lida",ctx)}class InteiroExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;const[int,hex]=[ctx.INT(),ctx.HEXADECIMAL()],valor=int?.text??hex?.text;invariant(valor,ctx),this.valor=parseInt(valor,hex?16:10);for(const child2 of children)this.unexpectedChild(child2)}}class EscopoBibliotecaExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;const nome=ctx.ID()?.text;invariant(nome,ctx),this.nome=nome}}class Refer\u00eanciaVarExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text;for(const child2 of children)child2 instanceof EscopoBibliotecaExpr?(invariant(!this.escopoBiblioteca,child2.ctx,"Escopo de biblioteca j\xe1 definido"),this.escopoBiblioteca=child2):this.unexpectedChild(child2)}}class Declara\u00e7\u00e3oMatrizExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text;for(const child2 of children)child2 instanceof InteiroExpr||child2 instanceof Refer\u00eanciaVarExpr?this.linhas?this.colunas?this.unexpectedChild(child2):this.colunas=child2:this.linhas=child2:child2 instanceof Inicializa\u00e7\u00e3oMatrizExpr?(invariant(!this.valor,child2.ctx,"Valor j\xe1 definido"),this.valor=child2):this.unexpectedChild(child2)}}class Declara\u00e7\u00e3oVari\u00e1velExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.valor,child2.ctx,"Valor j\xe1 definido"),this.valor=child2):this.unexpectedChild(child2)}}class Inicializa\u00e7\u00e3oVetorExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.valores=[];for(const child2 of children)child2 instanceof Express\u00e3o?this.valores.push(child2):this.unexpectedChild(child2)}}class Declara\u00e7\u00e3oVetorExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text;for(const child2 of children)child2 instanceof InteiroExpr||child2 instanceof Refer\u00eanciaVarExpr?(invariant(!this.tamanho,child2.ctx,"Tamanho j\xe1 definido"),this.tamanho=child2):child2 instanceof Inicializa\u00e7\u00e3oVetorExpr?(invariant(!this.inicializa\u00e7\u00e3o,child2.ctx,"Inicializa\xe7\xe3o j\xe1 definida"),this.inicializa\u00e7\u00e3o=child2):this.unexpectedChild(child2)}}function parseTipoPrimitivo(tipo){if(!tipo)return"vazio";switch(tipo.text){case"inteiro":case"real":case"cadeia":case"logico":case"vazio":case"caracter":return tipo.text;default:throw new Error(`Tipo desconhecido: ${tipo.text}`)}}class Declara\u00e7\u00e3oCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,invariant(ctx.parent instanceof ListaDeclaracoesContext,ctx),this.tipo={primitivo:parseTipoPrimitivo(ctx.parent.TIPO())},this.constante=!!ctx.parent.CONSTANTE();for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),child2 instanceof Declara\u00e7\u00e3oVetorExpr?(this.nome=child2.nome,this.tipo={dimens\u00e3o:"vetor",tamanho:child2.tamanho,primitivo:this.tipo.primitivo},this.express\u00e3o=child2.inicializa\u00e7\u00e3o):child2 instanceof Declara\u00e7\u00e3oMatrizExpr?(this.nome=child2.nome,this.tipo={dimens\u00e3o:"matriz",linhas:child2.linhas,colunas:child2.colunas,primitivo:this.tipo.primitivo}):child2 instanceof Declara\u00e7\u00e3oVari\u00e1velExpr?(this.nome=child2.nome,this.express\u00e3o=child2.valor):this.unexpectedChild(child2)):this.unexpectedChild(child2);invariant(this.nome,ctx,"Nome n\xe3o definido")}}class UnhandledNode extends Node_Node{constructor(ctx,type,text,children){super(),this.ctx=ctx,this.type=type,this.text=text,this.children=children}}class Par\u00e2metro extends Node_Node{constructor(ctx,children){if(super(),this.ctx=ctx,this.children=children,this.nome=ctx.ID().text,this.tipo={primitivo:parseTipoPrimitivo(ctx.TIPO())},this.refer\u00eancia=!!ctx.E_COMERCIAL(),1===children.length){const child2=children[0];invariant(child2 instanceof UnhandledNode,child2.ctx,"Par\xe2metro inv\xe1lido")}for(const child2 of children)child2 instanceof UnhandledNode?child2.ctx instanceof ParametroArrayContext&&!this.tipo.hasOwnProperty("dimens\xe3o")?this.tipo={dimens\u00e3o:"vetor",primitivo:this.tipo.primitivo}:child2.ctx instanceof ParametroMatrizContext&&!this.tipo.hasOwnProperty("dimens\xe3o")?this.tipo={dimens\u00e3o:"matriz",primitivo:this.tipo.primitivo}:this.unexpectedChild(child2):this.unexpectedChild(child2)}}class Fun\u00e7\u00e3o extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children,this.par\u00e2metros=[],this.instru\u00e7\u00f5es=[],this.nome=ctx.ID().text,this.retorno={primitivo:parseTipoPrimitivo(ctx.TIPO())};for(const child2 of children)child2 instanceof Par\u00e2metro?this.par\u00e2metros.push(child2):child2 instanceof Express\u00e3o||child2 instanceof Comando?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2)}}class Inclus\u00e3oBiblioteca extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children;const idCtx=ctx.ID();invariant(1===idCtx.length||2===idCtx.length,ctx,"Inclus\xe3o de biblioteca inv\xe1lida"),this.nome=idCtx[0].text,2===idCtx.length&&(this.alias=idCtx[1].text)}}class \u00cdndiceArrayExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.\u00edndice,child2.ctx,"\xcdndice j\xe1 definido"),this.\u00edndice=child2):this.unexpectedChild(child2);invariant(this.\u00edndice,ctx,"\xcdndice n\xe3o definido")}}class Refer\u00eanciaArrayExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.vari\u00e1vel=new Refer\u00eanciaVarExpr(ctx,[]);for(const child2 of children)child2 instanceof \u00cdndiceArrayExpr?(invariant(!this.\u00edndice,child2.ctx,"\xcdndice j\xe1 definido"),this.\u00edndice=child2):this.unexpectedChild(child2);invariant(this.\u00edndice,ctx,"\xcdndice n\xe3o definido")}}class Refer\u00eanciaMatrizExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.vari\u00e1vel=new Refer\u00eanciaVarExpr(ctx,[]);for(const child2 of children)child2 instanceof \u00cdndiceArrayExpr&&!this.linha?this.linha=child2:child2 instanceof \u00cdndiceArrayExpr&&!this.coluna?this.coluna=child2:this.unexpectedChild(child2);invariant(this.linha,ctx,"Linha n\xe3o definida"),invariant(this.coluna,ctx,"Coluna n\xe3o definida")}}class Atribui\u00e7\u00e3oCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)(child2 instanceof Refer\u00eanciaVarExpr||child2 instanceof Refer\u00eanciaArrayExpr||child2 instanceof Refer\u00eanciaMatrizExpr)&&!this.vari\u00e1vel?this.vari\u00e1vel=child2:child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2);invariant(this.vari\u00e1vel,ctx,"Vari\xe1vel n\xe3o definida"),invariant(this.express\u00e3o,ctx,"Express\xe3o n\xe3o definida")}}class Bypass extends Node_Node{constructor(ctx,children=[]){super(),this.ctx=ctx,this.children=children}}class CadeiaExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.conte\u00fado=ctx.STRING().text.substring(1,ctx.STRING().text.length-1);for(const child2 of children)this.unexpectedChild(child2)}}class CaractereExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.conte\u00fado=ctx.CARACTER().text.substring(1,ctx.CARACTER().text.length-1),invariant(1===this.conte\u00fado.length,ctx,"Caractere inv\xe1lido");for(const child2 of children)this.unexpectedChild(child2)}}class CasoContr\u00e1rioExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,invariant("contrario"===ctx.text,ctx);for(const child2 of children)this.unexpectedChild(child2)}}class CasoCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];const contr\u00e1rioCtx=ctx.CONTRARIO();contr\u00e1rioCtx&&(this.condi\u00e7\u00e3o=new CasoContr\u00e1rioExpr(contr\u00e1rioCtx,[]));for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}class ChamadaFun\u00e7\u00e3oExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.argumentos=[],this.nome=ctx.ID().text,this.escopoBiblioteca=ctx.escopoBiblioteca()?.ID()?.text;for(const child2 of children)child2 instanceof Express\u00e3o?this.argumentos.push(child2):this.unexpectedChild(child2)}}class Express\u00e3oUn\u00e1ria extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;const newCtx=Object.assign(ctx,{escopoBiblioteca:()=>{}});this.vari\u00e1vel=new Refer\u00eanciaVarExpr(newCtx,[])}}class Express\u00e3oMatem\u00e1tica extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?this.esquerda?this.direita?this.unexpectedChild(child2):this.direita=child2:this.esquerda=child2:this.unexpectedChild(child2);invariant(this.esquerda,ctx,"Lado esquerdo da express\xe3o matem\xe1tica n\xe3o definido"),invariant(this.direita,ctx,"Lado direito da express\xe3o matem\xe1tica n\xe3o definido")}}class L\u00f3gicoExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.valor="verdadeiro"===ctx.text;for(const child2 of children)this.unexpectedChild(child2)}}class RealExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;const valor=ctx.REAL().text;this.valor=parseFloat(valor);for(const child2 of children)this.unexpectedChild(child2)}}class RetorneCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2)}}class Sen\u00e3oCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2)}}const ContextNodeMap=new Map([[AdicaoContext,class SomaExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[ArquivoContext,class Arquivo extends Node_Node{constructor(ctx,children){super(),this.ctx=ctx,this.children=children,this.bibliotecas=[],this.declara\u00e7\u00f5es=[],this.fun\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Fun\u00e7\u00e3o?this.fun\u00e7\u00f5es.push(child2):child2 instanceof Inclus\u00e3oBiblioteca?this.bibliotecas.push(child2):child2 instanceof Declara\u00e7\u00e3oCmd?this.declara\u00e7\u00f5es.push(child2):this.unexpectedChild(child2)}}],[AtribuicaoCompostaDivisaoContext,class Atribui\u00e7\u00e3oCompostaDivis\u00e3oCmd extends Atribui\u00e7\u00e3oCmd{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[AtribuicaoCompostaMultiplicacaoContext,class Atribui\u00e7\u00e3oCompostaMultiplica\u00e7\u00e3oCmd extends Atribui\u00e7\u00e3oCmd{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[AtribuicaoCompostaSomaContext,class Atribui\u00e7\u00e3oCompostaSomaCmd extends Atribui\u00e7\u00e3oCmd{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[AtribuicaoCompostaSubtracaoContext,class Atribui\u00e7\u00e3oCompostaSubtra\u00e7\u00e3oCmd extends Atribui\u00e7\u00e3oCmd{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[AtribuicaoContext,Atribui\u00e7\u00e3oCmd],[CaracterContext,CaractereExpr],[CasoContext,CasoCmd],[ChamadaFuncaoContext,ChamadaFun\u00e7\u00e3oExpr],[ColunaMatrizContext,Bypass],[ComandoContext,Bypass],[CondicaoContext,Bypass],[DeclaracaoArrayContext,Declara\u00e7\u00e3oVetorExpr],[DeclaracaoContext,Declara\u00e7\u00e3oCmd],[DeclaracaoFuncaoContext,Fun\u00e7\u00e3o],[DeclaracaoMatrizContext,Declara\u00e7\u00e3oMatrizExpr],[DeclaracaoVariavelContext,Declara\u00e7\u00e3oVari\u00e1velExpr],[DecrementoUnarioPosfixadoContext,class DecrementoUn\u00e1rioP\u00f3sfixadoExpr extends Express\u00e3oUn\u00e1ria{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[DecrementoUnarioPrefixadoContext,class DecrementoUn\u00e1rioPrefixadoExpr extends Express\u00e3oUn\u00e1ria{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[DivisaoContext,class Divis\u00e3oExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[EnquantoContext,class EnquantoCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}],[EscolhaContext,class EscolhaCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.casos=[];for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof CasoCmd?this.casos.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}],[EscopoBibliotecaContext,EscopoBibliotecaExpr],[ExpressaoEntreParentesesContext,class Express\u00e3oEntrePar\u00eanteses extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2);invariant(this.express\u00e3o,ctx,"Express\xe3o n\xe3o definida")}}],[FacaEnquantoContext,class Fa\u00e7aEnquantoCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}],[InclusaoBibliotecaContext,Inclus\u00e3oBiblioteca],[IncrementoParaContext,Bypass],[IncrementoUnarioPosfixadoContext,class IncrementoUn\u00e1rioP\u00f3sfixadoExpr extends Express\u00e3oUn\u00e1ria{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[IncrementoUnarioPrefixadoContext,class IncrementoUn\u00e1rioPrefixadoExpr extends Express\u00e3oUn\u00e1ria{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[IndiceArrayContext,\u00cdndiceArrayExpr],[InicializacaoArrayContext,Inicializa\u00e7\u00e3oVetorExpr],[InicializacaoMatrizContext,Inicializa\u00e7\u00e3oMatrizExpr],[InicializacaoParaContext,Bypass],[LinhaMatrizContext,Bypass],[ListaComandosContext,Bypass],[ListaDeclaracoesContext,Bypass],[ListaExpressoesContext,Bypass],[ListaParametrosContext,Bypass],[MaisUnarioContext,class MaisUn\u00e1rioExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Refer\u00eanciaVarExpr||child2 instanceof Refer\u00eanciaArrayExpr||child2 instanceof Refer\u00eanciaMatrizExpr||child2 instanceof InteiroExpr||child2 instanceof RealExpr?(invariant(!this.valor,child2.ctx,"Valor j\xe1 definido"),this.valor=child2):this.unexpectedChild(child2);invariant(this.valor,ctx,"Valor n\xe3o definido")}}],[MenosUnarioContext,class MenosUn\u00e1rioExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Refer\u00eanciaVarExpr||child2 instanceof Refer\u00eanciaArrayExpr||child2 instanceof Refer\u00eanciaMatrizExpr||child2 instanceof InteiroExpr||child2 instanceof RealExpr?(invariant(!this.valor,child2.ctx,"Valor j\xe1 definido"),this.valor=child2):this.unexpectedChild(child2);invariant(this.valor,ctx,"Valor n\xe3o definido")}}],[ModuloContext,class M\u00f3duloExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[MultiplicacaoContext,class Multiplica\u00e7\u00e3oExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[NegacaoBitwiseContext,class Nega\u00e7\u00e3oBitwiseExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2);invariant(this.express\u00e3o,ctx,"Express\xe3o n\xe3o definida")}}],[NegacaoContext,class Nega\u00e7\u00e3oExpr extends Express\u00e3o{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children;for(const child2 of children)child2 instanceof Express\u00e3o?(invariant(!this.express\u00e3o,child2.ctx,"Express\xe3o j\xe1 definida"),this.express\u00e3o=child2):this.unexpectedChild(child2);invariant(this.express\u00e3o,ctx,"Express\xe3o n\xe3o definida")}}],[NumeroInteiroContext,InteiroExpr],[NumeroRealContext,RealExpr],[OperacaoAndBitwiseContext,class Opera\u00e7\u00e3oAndBitwiseExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoDiferencaContext,class Opera\u00e7\u00e3oDiferen\u00e7aExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoELogicoContext,class Opera\u00e7\u00e3oAndL\u00f3gicoExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoIgualdadeContext,class Opera\u00e7\u00e3oIgualdadeExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoMaiorContext,class Opera\u00e7\u00e3oMaiorQueExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoMaiorIgualContext,class Opera\u00e7\u00e3oMaiorOuIgualQueExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoMenorContext,class Opera\u00e7\u00e3oMenorQueExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoMenorIgualContext,class Opera\u00e7\u00e3oMenorOuIgualQueExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoOrBitwiseContext,class Opera\u00e7\u00e3oOrBitwiseExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoOuLogicoContext,class Opera\u00e7\u00e3oOrL\u00f3gicoExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoShiftLeftContext,class Opera\u00e7\u00e3oShiftLeftExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoShiftRightContext,class Opera\u00e7\u00e3oShiftRightExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[OperacaoXorContext,class Opera\u00e7\u00e3oXorExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[ParaContext,class ParaCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];const inicializa\u00e7\u00e3oCtx=getAllChildrenFromContext(ctx.inicializacaoPara()),condi\u00e7\u00e3oCtx=getAllChildrenFromContext(ctx.condicao()),incrementoCtx=getAllChildrenFromContext(ctx.incrementoPara());for(const child2 of children)(child2 instanceof Express\u00e3o||child2 instanceof Comando)&&inicializa\u00e7\u00e3oCtx.includes(child2.ctx)?(invariant(!this.inicializa\u00e7\u00e3o,child2.ctx,"Inicializa\xe7\xe3o j\xe1 definida"),this.inicializa\u00e7\u00e3o=child2):child2 instanceof Express\u00e3o&&condi\u00e7\u00e3oCtx.includes(child2.ctx)?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Express\u00e3o&&incrementoCtx.includes(child2.ctx)?(invariant(!this.incremento,child2.ctx,"Incremento j\xe1 definido"),this.incremento=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2)}}],[ParametroContext,Par\u00e2metro],[ParametroFuncaoContext,Bypass],[PareContext,class PareCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,invariant("pare"===ctx.text,ctx);for(const child2 of children)this.unexpectedChild(child2)}}],[ReferenciaArrayContext,Refer\u00eanciaArrayExpr],[ReferenciaMatrizContext,Refer\u00eanciaMatrizExpr],[ReferenciaParaVariavelContext,Refer\u00eanciaVarExpr],[RetorneContext,RetorneCmd],[SeContext,class SeCmd extends Comando{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children,this.instru\u00e7\u00f5es=[];for(const child2 of children)child2 instanceof Express\u00e3o&&child2.ctx===ctx.expressao()?(invariant(!this.condi\u00e7\u00e3o,child2.ctx,"Condi\xe7\xe3o j\xe1 definida"),this.condi\u00e7\u00e3o=child2):child2 instanceof Sen\u00e3oCmd?(invariant(!this.sen\u00e3o,child2.ctx,"Sen\xe3o j\xe1 definido"),this.sen\u00e3o=child2):child2 instanceof Comando||child2 instanceof Express\u00e3o?this.instru\u00e7\u00f5es.push(child2):this.unexpectedChild(child2);invariant(this.condi\u00e7\u00e3o,ctx,"Condi\xe7\xe3o n\xe3o definida")}}],[SenaoContext,Sen\u00e3oCmd],[StringContext,CadeiaExpr],[SubtracaoContext,class Subtra\u00e7\u00e3oExpr extends Express\u00e3oMatem\u00e1tica{constructor(ctx,children){super(ctx,children),this.ctx=ctx,this.children=children}}],[TamanhoArrayContext,Bypass],[ValorLogicoContext,L\u00f3gicoExpr]]);var AbstractParseTreeVisitor=__webpack_require__(7490),antlr4ts=__webpack_require__(8430);function*checarFun\u00e7\u00e3oIn\u00edcio(arquivo){const funcInicio=arquivo.fun\u00e7\u00f5es.find(func=>"inicio"===func.nome);funcInicio?(funcInicio.par\u00e2metros.length>0&&(yield PortugolCodeError.fromContext(funcInicio.ctx,"A fun\xe7\xe3o 'inicio' n\xe3o deve receber par\xe2metros")),"vazio"!==funcInicio.retorno.primitivo&&(yield PortugolCodeError.fromContext(funcInicio.ctx,"A fun\xe7\xe3o 'inicio' n\xe3o deve retornar valores"))):yield PortugolCodeError.fromContext(arquivo.ctx,"O programa deve conter uma fun\xe7\xe3o chamada 'inicio'")}function*checarFun\u00e7\u00f5esComRetorno(arquivo){for(const func of arquivo.fun\u00e7\u00f5es)"vazio"!==func.retorno.primitivo&&(getAllChildrenFromNode(func).some(instru\u00e7\u00e3o=>instru\u00e7\u00e3o instanceof RetorneCmd)||(yield PortugolCodeError.fromContext(func.ctx,`A fun\xe7\xe3o '${func.nome}' deve retornar um valor`)))}function*checarUsoEscopo(arquivo){const escopo={vari\u00e1veis:new Map,fun\u00e7\u00f5es:new Map([["escreva",{primitivo:"vazio"}],["leia",{primitivo:"cadeia"}],["limpa",{primitivo:"vazio"}]])};for(const declr of arquivo.declara\u00e7\u00f5es)escopo.vari\u00e1veis.has(declr.nome)&&(yield PortugolCodeError.fromContext(declr.ctx,`A vari\xe1vel '${declr.nome}' foi declarada m\xfaltiplas vezes`)),escopo.vari\u00e1veis.set(declr.nome,declr.tipo);for(const func of arquivo.fun\u00e7\u00f5es)escopo.fun\u00e7\u00f5es.has(func.nome)&&(yield PortugolCodeError.fromContext(func.ctx,`A fun\xe7\xe3o '${func.nome}' foi declarada m\xfaltiplas vezes`)),escopo.fun\u00e7\u00f5es.set(func.nome,func.retorno);for(const func of arquivo.fun\u00e7\u00f5es){const escopoFun\u00e7\u00e3o={vari\u00e1veis:new Map(escopo.vari\u00e1veis),fun\u00e7\u00f5es:new Map(escopo.fun\u00e7\u00f5es)};for(const param of func.par\u00e2metros)escopoFun\u00e7\u00e3o.vari\u00e1veis.has(param.nome)&&(yield PortugolCodeError.fromContext(param.ctx,`O par\xe2metro '${param.nome}' foi declarado m\xfaltiplas vezes`)),escopoFun\u00e7\u00e3o.vari\u00e1veis.set(param.nome,param.tipo);const instru\u00e7\u00f5es=func.instru\u00e7\u00f5es.concat(func.instru\u00e7\u00f5es.flatMap(getAllChildrenFromNode));for(const expr of instru\u00e7\u00f5es)if(expr instanceof Declara\u00e7\u00e3oCmd)escopoFun\u00e7\u00e3o.vari\u00e1veis.has(expr.nome)&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${expr.nome}' foi declarada m\xfaltiplas vezes`)),escopoFun\u00e7\u00e3o.vari\u00e1veis.set(expr.nome,expr.tipo);else if(expr instanceof Atribui\u00e7\u00e3oCmd){const nome=expr.vari\u00e1vel instanceof Refer\u00eanciaVarExpr?expr.vari\u00e1vel.nome:expr.vari\u00e1vel.vari\u00e1vel.nome;escopoFun\u00e7\u00e3o.vari\u00e1veis.has(nome)||(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' n\xe3o foi declarada`));const vari\u00e1vel=escopoFun\u00e7\u00e3o.vari\u00e1veis.get(nome);expr.express\u00e3o instanceof ChamadaFun\u00e7\u00e3oExpr?!expr.express\u00e3o.escopoBiblioteca&&"leia"!==expr.express\u00e3o.nome&&escopoFun\u00e7\u00e3o.fun\u00e7\u00f5es.get(expr.express\u00e3o.nome)?.primitivo!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A fun\xe7\xe3o '${expr.express\u00e3o.nome}' n\xe3o retorna um valor do tipo '${vari\u00e1vel?.primitivo}'`)):expr.express\u00e3o instanceof Refer\u00eanciaVarExpr?escopoFun\u00e7\u00e3o.vari\u00e1veis.get(expr.express\u00e3o.nome)?.primitivo!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${expr.express\u00e3o.nome}' n\xe3o \xe9 do tipo '${vari\u00e1vel?.primitivo}'`)):expr.express\u00e3o instanceof InteiroExpr?"inteiro"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'inteiro'`)):expr.express\u00e3o instanceof RealExpr?"real"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'real'`)):expr.express\u00e3o instanceof CadeiaExpr?"cadeia"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'cadeia'`)):expr.express\u00e3o instanceof CaractereExpr?"caracter"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'caracter'`)):expr.express\u00e3o instanceof L\u00f3gicoExpr&&"logico"!==vari\u00e1vel?.primitivo&&(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${nome}' esperava ser atribu\xedda com um valor do tipo '${vari\u00e1vel?.primitivo}', mas recebeu um valor do tipo 'logico'`))}else if(expr instanceof Refer\u00eanciaVarExpr)escopoFun\u00e7\u00e3o.vari\u00e1veis.has(expr.nome)||(yield PortugolCodeError.fromContext(expr.ctx,`A vari\xe1vel '${expr.nome}' n\xe3o foi declarada`));else if(expr instanceof ChamadaFun\u00e7\u00e3oExpr){!expr.escopoBiblioteca&&!escopoFun\u00e7\u00e3o.fun\u00e7\u00f5es.has(expr.nome)&&(yield PortugolCodeError.fromContext(expr.ctx,`A fun\xe7\xe3o '${expr.nome}' n\xe3o foi declarada`));const args=expr.argumentos;for(const arg of args)arg instanceof ChamadaFun\u00e7\u00e3oExpr&&(!arg.escopoBiblioteca&&!escopoFun\u00e7\u00e3o.fun\u00e7\u00f5es.has(arg.nome)&&(yield PortugolCodeError.fromContext(arg.ctx,`A fun\xe7\xe3o '${arg.nome}' n\xe3o foi declarada`)),"vazio"===escopoFun\u00e7\u00e3o.fun\u00e7\u00f5es.get(arg.nome)?.primitivo&&(yield PortugolCodeError.fromContext(arg.ctx,`A fun\xe7\xe3o '${arg.nome}' n\xe3o retorna um valor`)))}}}const lib_errors=[_01_estrutura_b_sica_namespaceObject,_02_vari_veis_namespaceObject].flatMap(ec=>Object.values(ec));var PortugolErrorChecker_class;class PortugolErrorChecker{static checkCode(code){const inputStream=antlr4ts.CharStreams.fromString(code),lexer=new PortugolLexer(inputStream),tokenStream=new antlr4ts.CommonTokenStream(lexer),parser=new PortugolParser(tokenStream),tree2=parser.arquivo();return parser.addErrorListener(this.errorListener),this.checkTree(tree2)}static checkTree(tree2){this.errorListener.reset();try{const arquivo=this.portugolNode.visit(tree2),errors=[];for(const checker of lib_errors)for(const error of checker(arquivo))errors.push(error);return this.errorListener.getErrors().concat(errors)}catch(error){return error instanceof ParseError?this.errorListener.getErrors().concat(PortugolCodeError.fromContext(error.ctx,error.message)):this.errorListener.getErrors().concat(PortugolCodeError.fromContext(tree2,String(error)))}}}(PortugolErrorChecker_class=PortugolErrorChecker).portugolNode=new class PortugolNode extends AbstractParseTreeVisitor.AbstractParseTreeVisitor{defaultResult(){return{}}aggregateResult(_aggregate,_nextResult){throw new Error("Shouldn't need to aggregate results")}visitChildrenArray(node2){const result=[],n=node2.childCount;for(let i6=0;i6x)}visit(ctx){const children=this.visitChildrenArray(ctx),ctor=ContextNodeMap.get(ctx.constructor);return ctor?new ctor(ctx,children):new UnhandledNode(ctx,ctx.constructor.name,ctx.text,children)}},PortugolErrorChecker_class.errorListener=new PortugolErrorListener;class PortugolExecutor{constructor(runner){this.runner=runner,this.byteCode="",this.stdInBuffer="",this.stdIn=new Subject_Subject,this.stdOut="",this.stdOut$=new Subject_Subject,this.waitingForInput=!1,this.waitingForInput$=new Subject_Subject,this.running=!1,this.running$=new Subject_Subject,this.events=new Subject_Subject,this.errorListener=new PortugolErrorListener,this.stdIn.subscribe(data=>{"\b"===data?this.stdInBuffer.length>0&&(this.stdInBuffer=this.stdInBuffer.slice(0,-1),this.stdOut=this.stdOut.slice(0,-1)):"\r"===data?(this._runner?.stdIn.next(this.stdInBuffer),this.stdInBuffer="",this.stdOut+="\n"):(this.stdInBuffer+=data,this.stdOut+=data),this.stdOut$.next(this.stdOut)})}run(code){try{this.reset();const inputStream=antlr4ts.CharStreams.fromString(code),lexer=new PortugolLexer(inputStream),tokenStream=new antlr4ts.CommonTokenStream(lexer),parser=new PortugolParser(tokenStream);this.errorListener.reset(),parser.removeErrorListeners(),parser.addErrorListener(this.errorListener);const tree2=parser.arquivo(),errors=PortugolErrorChecker.checkTree(tree2);if(errors.length>0&&(this.stdOut+=`\u26d4 O seu c\xf3digo possui ${errors.length} erro${errors.length>1?"s":""} de compila\xe7\xe3o:\n`,this.stdOut+=errors.map(error=>` - ${error.message} (linha ${error.startLine}, posi\xe7\xe3o ${error.startCol})\n`).join(""),this.stdOut+="\n\u26a0\ufe0f Durante essa fase experimental, o c\xf3digo ainda ser\xe1 executado mesmo com erros, por\xe9m se n\xe3o corrigi-los, a execu\xe7\xe3o abaixo pode exibir mensagens de erro em ingl\xeas ou sem explica\xe7\xe3o.\n",this.stdOut+=" Caso acredite que o erro n\xe3o fa\xe7a sentido, por favor, abra uma issue em https://github.com/dgadelha/Portugol-Webstudio/issues/new e anexe o c\xf3digo que voc\xea est\xe1 tentando executar.\n",this.stdOut+="\n- O seu programa ir\xe1 iniciar abaixo -\n",this.stdOut$.next(this.stdOut)),this._runner=new this.runner(tree2),!this._runner)throw new Error("Runner not found");this.byteCode=this._runner.byteCode,this._runner.stdOut$.subscribe(data=>{this.stdOut+=data,this.stdOut$.next(data)}),this._runner.waitingForInput$.subscribe(data=>{this.waitingForInput=data,this.waitingForInput$.next(data)}),this._runner.running$.subscribe(data=>{this.running=data,this.running$.next(data)}),this._runner.run().subscribe({next:event=>{switch(event.type){case"finish":this.stdOut+=`\nPrograma finalizado. Tempo de execu\xe7\xe3o: ${event.time} ms\n`,this.stdOut$.next(this.stdOut);break;case"clear":this.stdOut="",this.stdOut$.next(this.stdOut);break;case"error":this.stdOut+=`\n\u26d4 ${event.error.message}\n`,this.stdOut$.next(this.stdOut)}this.events.next(event)},error:error=>{console.error(error)}})}catch(err){console.error(err),this.stdOut+="\n\u26d4 O seu c\xf3digo possui um erro de compila\xe7\xe3o!\n",this.stdOut$.next(this.stdOut),this.reset(!1),this.events.next({type:"parseError",errors:this.errorListener.getErrors()}),this.events.error(err)}}stop(){this.reset()}reset(clearStdOut=!0){clearStdOut&&(this.stdOut=""),this._stdOut$?.unsubscribe(),this.waitingForInput=!1,this._waitingForInput$?.unsubscribe(),this.running=!1,this._running$?.unsubscribe(),this._runner?.destroy()}}class StringBuilder{constructor(){this.buffer=[]}append(...str){this.buffer.push(...str)}pop(){return this.buffer.pop()}toString(){return this.buffer.join("")}}let PortugolJs=(()=>{class PortugolJs2 extends AbstractParseTreeVisitor.AbstractParseTreeVisitor{constructor(){super(...arguments),this.debug=!1,this.pad=0,this.hasScope=!1}DEBUG(fn,_ctx){return this.debug?`${this.PAD()}/*! ${fn} !*/\n`:""}PAD(){return" ".repeat(this.pad)}defaultResult(){return""}aggregateResult(aggregate,nextResult){return aggregate+nextResult}visitChildrenArray(node2){const result=[],n=node2.childCount;for(let i6=0;i6x)}visitChamadaFuncao(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitChamadaFuncao",ctx)),sb.append(this.PAD(),"(await runtime.callFunction(","\n"),this.pad++,sb.append(this.PAD(),`"${ctx.ID().text}",`,"\n"),sb.append(this.PAD(),`"${ctx.escopoBiblioteca()?.ID()?.text??""}",`,"\n");const expr=ctx.listaExpressoes();return expr&&sb.append(this.visit(expr)),this.pad--,sb.append(this.PAD(),"))","\n"),sb.toString()}visitReferenciaArray(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitReferenciaArray",ctx)),sb.append(this.visitReferenciaParaVariavel(ctx).trimEnd()),sb.append(".value[\n"),this.pad++,sb.append(this.visit(ctx.indiceArray().expressao()).trimEnd(),".value","\n"),this.pad--,sb.append(this.PAD(),"]","\n"),sb.toString()}visitReferenciaMatriz(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitReferenciaMatriz",ctx)),sb.append(this.visitReferenciaParaVariavel(ctx).trimEnd()),sb.append(".value","\n");for(const idx of ctx.indiceArray())this.pad++,sb.append(this.PAD(),"[","\n"),this.pad++,sb.append(this.visit(idx.expressao()).trimEnd(),".value","\n"),this.pad--,sb.append(this.PAD(),"].value","\n"),this.pad--;return sb.pop(),sb.pop(),sb.append("]","\n"),sb.toString()}visitMenosUnario(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitMenosUnario",ctx)),sb.append(this.PAD(),"runtime.applyModifier(","\n"),this.pad++,sb.append(this.PAD(),'"-"',",\n"),sb.append(this.visit(ctx.expressao())),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitMaisUnario(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitMaisUnario",ctx)),sb.append(this.PAD(),"runtime.applyModifier(","\n"),this.pad++,sb.append(this.PAD(),'"+"',",\n"),sb.append(this.visit(ctx.expressao())),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitNegacao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitNegacao",ctx)),sb.append(this.PAD(),"runtime.applyModifier(","\n"),this.pad++,sb.append(this.PAD(),'"!"',",\n"),sb.append(this.visit(ctx.expressao())),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitNegacaoBitwise(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitNegacaoBitwise",ctx)),sb.append(this.PAD(),"runtime.applyModifier(","\n"),this.pad++,sb.append(this.PAD(),'"~"',",\n"),sb.append(this.visit(ctx.expressao())),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitIncrementoUnarioPosfixado(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitIncrementoUnarioPosfixado",ctx)),sb.append(this.PAD(),"(() => {","\n"),this.pad++,sb.append(this.PAD(),`const pre = scope.variables["${ctx.ID().text}"].clone();`,"\n\n"),sb.append(this.PAD(),"runtime.assign([","\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'runtime.mathOperation("+", [',"\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'new PortugolVar("inteiro", 1),',"\n"),this.pad--,sb.append(this.PAD(),"]),","\n"),this.pad--,sb.append(this.PAD(),"]);","\n\n"),sb.append(this.PAD(),"return pre;","\n"),this.pad--,sb.append(this.PAD(),"})()","\n"),sb.toString()}visitDecrementoUnarioPosfixado(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitDecrementoUnarioPosfixado",ctx)),sb.append(this.PAD(),"(() => {","\n"),this.pad++,sb.append(this.PAD(),`const pre = scope.variables["${ctx.ID().text}"].clone();`,"\n\n"),sb.append(this.PAD(),"runtime.assign([","\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'runtime.mathOperation("-", [',"\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'new PortugolVar("inteiro", 1),',"\n"),this.pad--,sb.append(this.PAD(),"]),","\n"),this.pad--,sb.append(this.PAD(),"]);","\n\n"),sb.append(this.PAD(),"return pre;","\n"),this.pad--,sb.append(this.PAD(),"})()","\n"),sb.toString()}visitIncrementoUnarioPrefixado(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitIncrementoUnarioPrefixado",ctx)),sb.append(this.PAD(),"runtime.assign([","\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'runtime.mathOperation("+", [',"\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'new PortugolVar("inteiro", 1),',"\n"),this.pad--,sb.append(this.PAD(),"])","\n"),this.pad--,sb.append(this.PAD(),"])","\n"),sb.append(super.visitChildren(ctx)),sb.toString()}visitDecrementoUnarioPrefixado(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitDecrementoUnarioPrefixado",ctx)),sb.append(this.PAD(),"runtime.assign([","\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'runtime.mathOperation("-", [',"\n"),this.pad++,sb.append(this.PAD(),`scope.variables["${ctx.ID().text}"],`,"\n"),sb.append(this.PAD(),'new PortugolVar("inteiro", 1),',"\n"),this.pad--,sb.append(this.PAD(),"])","\n"),this.pad--,sb.append(this.PAD(),"])","\n"),sb.append(super.visitChildren(ctx)),sb.toString()}visitOperacaoMatematica(ctx){const sb=new StringBuilder,op=ctx instanceof MultiplicacaoContext?"*":ctx instanceof DivisaoContext?"/":ctx instanceof ModuloContext?"%":ctx instanceof AdicaoContext?"+":ctx instanceof SubtracaoContext?"-":ctx instanceof OperacaoShiftLeftContext?"<<":ctx instanceof OperacaoShiftRightContext?">>":"?";sb.append(this.PAD(),`runtime.mathOperation("${op}", [`,"\n"),this.pad++;const exprs=ctx.expressao();for(const expr of exprs)sb.append(super.visit(expr).trimEnd()),sb.append(",","\n");return this.pad--,sb.append(this.PAD(),"])","\n"),sb.toString()}visitOperacaoBitwise(ctx){const sb=new StringBuilder,op=ctx instanceof OperacaoAndBitwiseContext?"&":ctx instanceof OperacaoOrBitwiseContext?"|":ctx instanceof OperacaoXorContext?"^":ctx instanceof OperacaoShiftLeftContext?"<<":ctx instanceof OperacaoShiftRightContext?">>":"?";sb.append(this.PAD(),`runtime.bitwiseOperation("${op}", [`,"\n"),this.pad++;const exprs=ctx.expressao();for(const expr of exprs)sb.append(super.visit(expr).trimEnd()),sb.append(",","\n");return this.pad--,sb.append(this.PAD(),"])","\n"),sb.toString()}visitMultiplicacao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitMultiplicacao",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitDivisao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitDivisao",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitModulo(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitModulo",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitAdicao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAdicao",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitSubtracao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitSubtracao",ctx)),sb.append(this.visitOperacaoMatematica(ctx)),sb.toString()}visitOperacaoComparacao(ctx){const sb=new StringBuilder,op=ctx instanceof OperacaoIgualdadeContext?"==":ctx instanceof OperacaoDiferencaContext?"!=":ctx instanceof OperacaoMaiorContext?">":ctx instanceof OperacaoMenorContext?"<":ctx instanceof OperacaoMaiorIgualContext?">=":ctx instanceof OperacaoMenorIgualContext?"<=":ctx instanceof OperacaoELogicoContext?"&&":ctx instanceof OperacaoOuLogicoContext?"||":ctx instanceof OperacaoAndBitwiseContext?"&":ctx instanceof OperacaoOrBitwiseContext?"|":ctx instanceof OperacaoXorContext?"^":"?";sb.append(this.PAD(),`runtime.comparativeOperation("${op}", [`,"\n"),this.pad++;const exprs=ctx.expressao();for(const expr of exprs)sb.append(super.visit(expr).trimEnd()),sb.append(",","\n");return this.pad--,sb.append(this.PAD(),"])","\n"),sb.toString()}visitOperacaoIgualdade(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoIgualdade",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoDiferenca(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoDiferenca",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoMaior(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoMaior",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoMenor(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoMenor",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoMenorIgual(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoMenorIgual",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoMaiorIgual(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoMaiorIgual",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoELogico(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoELogico",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoOuLogico(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoOuLogico",ctx)),sb.append(this.visitOperacaoComparacao(ctx)),sb.toString()}visitOperacaoXor(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoXor",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitOperacaoShiftLeft(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoShiftLeft",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitOperacaoShiftRight(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoShiftRight",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitOperacaoAndBitwise(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoAndBitwise",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitOperacaoOrBitwise(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitOperacaoOrBitwise",ctx)),sb.append(this.visitOperacaoBitwise(ctx)),sb.toString()}visitReferenciaParaVariavel(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitReferenciaParaVariavel",ctx));const libScope=ctx.escopoBiblioteca()?.ID();return sb.append(this.PAD(),libScope?`runtime.libs[runtime.globalScope.libAliases["${libScope}"]]["${ctx.ID().text}"]`:`scope.variables["${ctx.ID().text}"]`,"\n"),sb.toString()}visitNumeroInteiro(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitNumeroInteiro",ctx)),sb.append(this.PAD(),`new PortugolVar("inteiro", ${ctx.INT()?.text??ctx.HEXADECIMAL()?.text??""})`,"\n"),sb.toString()}visitNumeroReal(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitNumeroReal",ctx)),sb.append(this.PAD(),`new PortugolVar("real", ${ctx.REAL().text})`,"\n"),sb.toString()}visitValorLogico(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitValorLogico",ctx)),sb.append(this.PAD(),`new PortugolVar("logico", ${"verdadeiro"===ctx.LOGICO().text})`,"\n"),sb.toString()}visitCaracter(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitCaracter",ctx)),sb.append(this.PAD(),`new PortugolVar("caracter", ${ctx.CARACTER().text})`,"\n"),sb.toString()}visitString(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitString",ctx)),sb.append(this.PAD(),`new PortugolVar("cadeia", ${ctx.STRING().text})`,"\n"),sb.toString()}visitExpressaoEntreParenteses(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitExpressaoEntreParenteses",ctx)),sb.append(this.PAD(),"(","\n"),this.pad++,sb.append(super.visitChildren(ctx)),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitAtribuicaoCompostaSoma(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAtribuicaoCompostaSoma",ctx)),sb.append(this.visitAtribuicaoComposta(ctx)),sb.toString()}visitAtribuicaoCompostaSubtracao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAtribuicaoCompostaSubtracao",ctx)),sb.append(this.visitAtribuicaoComposta(ctx)),sb.toString()}visitAtribuicaoCompostaMultiplicacao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAtribuicaoCompostaMultiplicacao",ctx)),sb.append(this.visitAtribuicaoComposta(ctx)),sb.toString()}visitAtribuicaoCompostaDivisao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitAtribuicaoCompostaDivisao",ctx)),sb.append(this.visitAtribuicaoComposta(ctx)),sb.toString()}visitArquivo(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitArquivo",ctx)),sb.append("(async (initScope) => {","\n"),this.pad++,sb.append(this.PAD(),"const runtime = new PortugolRuntime(initScope);","\n\n"),sb.append(this.PAD(),"self.runtime = runtime;","\n\n"),sb.append(super.visitChildren(ctx)),sb.append("\n",this.PAD(),'await runtime.callFunction("inicio");\n})'),this.pad--,sb.toString()}visitInclusaoBiblioteca(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitInclusaoBiblioteca",ctx)),sb.append(this.PAD(),`runtime.loadLibrary(${ctx.ID().map(x=>`"${x.text}"`).join(", ")});`,"\n"),sb.toString()}visitListaDeclaracoes(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitListaDeclaracoes",ctx));const declrs=ctx.declaracao();for(let i6=0;i6 new PortugolVar("vetor", '),this.pad++,cols?(sb.append("\n"),this.pad++,sb.append(this.PAD(),"new Array(","\n"),this.pad++,sb.append(this.visit(cols.tamanhoArray().expressao())),sb.append(this.PAD(),".value","\n"),this.pad--,sb.append(this.PAD(),`).fill(0).map(() => new PortugolVar("${ctx.TIPO().text}", undefined))`,"\n"),this.pad--,sb.append(this.PAD(),")","\n")):sb.append("[])","\n"),this.pad--,sb.append(this.PAD(),")","\n"),this.pad--,sb.append(this.PAD())):sb.append("[]"),sb.append(")","\n")}}if(arr){const init2=arr.inicializacaoArray();if(arr.OP_ATRIBUICAO()&&init2)sb.append(this.PAD(),`${scopeStr}.variables["${arr.ID().text}"] = `),sb.append(this.visit(init2).trim(),"\n");else{sb.append(this.PAD(),`${scopeStr}.variables["${arr.ID().text}"] = new PortugolVar(`),sb.append('"vetor", ');const tam=arr.tamanhoArray();tam?(sb.append("[\n"),this.pad++,sb.append(new Array(parseInt(tam.text,10)).fill(0).map(()=>`${this.PAD()}new PortugolVar("${ctx.TIPO().text}", undefined)`).join(",\n")),sb.append(",\n"),this.pad--,sb.append(this.PAD(),"]")):sb.append("[]"),sb.append(")","\n")}}}return sb.toString()}visitDeclaracao(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitDeclaracao||(captureException("visitDeclaracao",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitDeclaracao=!0),sb.append(this.DEBUG("visitDeclaracao",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitDeclaracaoVariavel(ctx){const sb=new StringBuilder;throw PortugolJs2.thrown.visitDeclaracaoVariavel||(captureException("visitDeclaracaoVariavel",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitDeclaracaoVariavel=!0),sb.append(this.DEBUG("visitDeclaracaoVariavel",ctx)),new Error("Not implemented")}visitDeclaracaoMatriz(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitDeclaracaoMatriz||(captureException("visitDeclaracaoMatriz",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitDeclaracaoMatriz=!0),sb.append(this.DEBUG("visitDeclaracaoMatriz",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitInicializacaoMatriz(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitInicializacaoMatriz",ctx)),sb.append(this.PAD(),"[","\n"),this.pad++;for(const child2 of ctx.children??[])child2 instanceof InicializacaoArrayContext&&(sb.append(this.visit(child2)),sb.append(this.PAD(),",","\n"));return this.pad--,sb.append(this.PAD(),"]","\n"),sb.toString()}visitLinhaMatriz(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitLinhaMatriz||(captureException("visitLinhaMatriz",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitLinhaMatriz=!0),sb.append(this.DEBUG("visitLinhaMatriz",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitColunaMatriz(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitColunaMatriz||(captureException("visitColunaMatriz",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitColunaMatriz=!0),sb.append(this.DEBUG("visitColunaMatriz",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitDeclaracaoArray(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitDeclaracaoArray||(captureException("visitDeclaracaoArray",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitDeclaracaoArray=!0),sb.append(this.DEBUG("visitDeclaracaoArray",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitInicializacaoArray(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitInicializacaoArray",ctx)),sb.append(this.PAD(),'new PortugolVar("vetor",',"\n"),this.pad++,sb.append(super.visitChildren(ctx)),this.pad--,sb.append(this.PAD(),")","\n"),sb.toString()}visitTamanhoArray(ctx){const sb=new StringBuilder;return PortugolJs2.thrown.visitTamanhoArray||(captureException("visitTamanhoArray",{extra:{text:ctx.text}}),PortugolJs2.thrown.visitTamanhoArray=!0),sb.append(this.DEBUG("visitTamanhoArray",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitDeclaracaoFuncao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitDeclaracaoFuncao",ctx)),sb.append(this.PAD(),`runtime.declareFunction("${ctx.ID().text}", async (...args) => {`,"\n"),this.hasScope=!0,this.pad++,sb.append(this.PAD(),"let scope = runtime.getScope(runtime.globalScope);","\n\n"),sb.append(super.visitChildren(ctx)),this.pad--,this.hasScope=!1,sb.append("\n",this.PAD(),"});","\n"),sb.toString()}visitParametroFuncao(ctx){const sb=new StringBuilder;return sb.append(this.DEBUG("visitParametroFuncao",ctx)),sb.append(super.visitChildren(ctx)),sb.toString()}visitListaParametros(ctx){const sb=new StringBuilder;sb.append(this.DEBUG("visitListaParametros",ctx));const params=ctx.parametro();sb.append(this.PAD(),"runtime.checkParams(","args, [","\n"),this.pad++;for(const param of params){let type;type=param.parametroArray()?"vetor":param.parametroMatriz()?"matriz":param.TIPO().text,sb.append(this.PAD(),`{ name: "${param.ID().text}", type: "${type}", reference: ${!!param.E_COMERCIAL()} },`,"\n")}this.pad--,sb.append(this.PAD(),"]",");","\n\n");for(let i6=0;i6 12) {\n hour -= 12;\n } else if (hour === 0) {\n hour = 12;\n }\n }\n\n return new PortugolVar("inteiro", hour);\n },\n\n minuto_atual() {\n return new PortugolVar("inteiro", new Date().getMinutes());\n },\n\n segundo_atual() {\n return new PortugolVar("inteiro", new Date().getSeconds());\n },\n\n milisegundo_atual() {\n return new PortugolVar("inteiro", new Date().getMilliseconds());\n },\n\n dia_semana_completo(numero_dia, caixa_alta, caixa_baixa) {\n self.runtime.expectType("dia_semana_completo", "numero_dia", numero_dia, "inteiro");\n self.runtime.expectType("dia_semana_completo", "caixa_alta", caixa_alta, "logico");\n self.runtime.expectType("dia_semana_completo", "caixa_baixa", caixa_baixa, "logico");\n\n if (numero_dia.value < 1 || numero_dia.value > 7) {\n throw new Error("'" + numero_dia.value + "' n\xe3o corresponde a um dia da semana v\xe1lido.");\n }\n\n const dias = ["Domingo", "Segunda-feira", "Ter\xe7a-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "S\xe1bado"];\n let dia = dias[numero_dia.value - 1];\n\n if (caixa_alta.value) {\n dia = dia.toUpperCase();\n } else if (caixa_baixa.value) {\n dia = dia.toLowerCase();\n }\n\n return new PortugolVar("cadeia", dia);\n },\n\n dia_semana_curto(numero_dia, caixa_alta, caixa_baixa) {\n self.runtime.expectType("dia_semana_curto", "numero_dia", numero_dia, "inteiro");\n self.runtime.expectType("dia_semana_curto", "caixa_alta", caixa_alta, "logico");\n self.runtime.expectType("dia_semana_curto", "caixa_baixa", caixa_baixa, "logico");\n\n if (numero_dia.value < 1 || numero_dia.value > 7) {\n throw new Error("'" + numero_dia.value + "' n\xe3o corresponde a um dia da semana v\xe1lido.");\n }\n\n const dias = ["Domingo", "Segunda", "Ter\xe7a", "Quarta", "Quinta", "Sexta", "S\xe1bado"];\n let dia = dias[numero_dia.value - 1];\n\n if (caixa_alta.value) {\n dia = dia.toUpperCase();\n } else if (caixa_baixa.value) {\n dia = dia.toLowerCase();\n }\n\n return new PortugolVar("cadeia", dia);\n },\n\n dia_semana_abreviado(numero_dia, caixa_alta, caixa_baixa) {\n self.runtime.expectType("dia_semana_abreviado", "numero_dia", numero_dia, "inteiro");\n self.runtime.expectType("dia_semana_abreviado", "caixa_alta", caixa_alta, "logico");\n self.runtime.expectType("dia_semana_abreviado", "caixa_baixa", caixa_baixa, "logico");\n\n if (numero_dia.value < 1 || numero_dia.value > 7) {\n throw new Error("'" + numero_dia.value + "' n\xe3o corresponde a um dia da semana v\xe1lido.");\n }\n\n const dias = ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"];\n let dia = dias[numero_dia.value - 1];\n\n if (caixa_alta.value) {\n dia = dia.toUpperCase();\n } else if (caixa_baixa.value) {\n dia = dia.toLowerCase();\n }\n\n return new PortugolVar("cadeia", dia);\n },\n},\n Matematica: {\n PI: new PortugolVar("real", Math.PI, false, true),\n E: new PortugolVar("real", Math.E, false, true),\n\n potencia(base, expoente) {\n self.runtime.expectType("potencia", "base", base, "inteiro", "real");\n self.runtime.expectType("potencia", "expoente", expoente, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(base, expoente), Math.pow(base.value, expoente.value));\n },\n\n raiz(radicando, indice) {\n self.runtime.expectType("raiz", "radicando", radicando, "inteiro", "real");\n self.runtime.expectType("raiz", "indice", indice, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(radicando, indice), Math.pow(radicando.value, 1 / indice.value));\n },\n\n log(numero) {\n self.runtime.expectType("log", "numero", numero, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero), Math.log(numero.value));\n },\n\n arredondar(numero, casas) {\n self.runtime.expectType("arredondar", "numero", numero, "inteiro", "real");\n self.runtime.expectType("arredondar", "casas", casas, "inteiro");\n\n return new PortugolVar(self.runtime.assumeMathType(numero, casas), Number(numero.value.toFixed(casas.value)));\n },\n\n valor_absoluto(numero) {\n self.runtime.expectType("valor_absoluto", "numero", numero, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero), Math.abs(numero.value));\n },\n\n seno(angulo) {\n self.runtime.expectType("seno", "angulo", angulo, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(angulo), Math.sin(angulo.value));\n },\n\n cosseno(angulo) {\n self.runtime.expectType("cosseno", "angulo", angulo, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(angulo), Math.cos(angulo.value));\n },\n\n tangente(angulo) {\n self.runtime.expectType("tangente", "angulo", angulo, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(angulo), Math.tan(angulo.value));\n },\n\n logaritmo(numero, base) {\n self.runtime.expectType("logaritmo", "numero", numero, "inteiro", "real");\n self.runtime.expectType("logaritmo", "base", base, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero, base), Math.log(numero.value) / Math.log(base.value));\n },\n\n maior_numero(numeroA, numeroB) {\n self.runtime.expectType("maior_numero", "numeroA", numeroA, "inteiro", "real");\n self.runtime.expectType("maior_numero", "numeroB", numeroB, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero), Math.max(numeroA.value, numeroB.value));\n },\n\n menor_numero(numeroA, numeroB) {\n self.runtime.expectType("menor_numero", "numeroA", numeroA, "inteiro", "real");\n self.runtime.expectType("menor_numero", "numeroB", numeroB, "inteiro", "real");\n\n return new PortugolVar(self.runtime.assumeMathType(numero), Math.min(numeroA.value, numeroB.value));\n },\n},\n Texto: {\n numero_caracteres(cadeia) {\n self.runtime.expectType("numero_caracteres", "cadeia", cadeia, "cadeia", "caracter");\n\n return new PortugolVar("inteiro", cadeia.value.length);\n },\n\n caixa_alta(cad) {\n self.runtime.expectType("caixa_alta", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.toUpperCase());\n },\n\n caixa_baixa(cad) {\n self.runtime.expectType("caixa_baixa", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.toLowerCase());\n },\n\n substituir(cad, texto_pesquisa, texto_substituto) {\n self.runtime.expectType("substituir", "cad", cad, "cadeia", "caracter");\n self.runtime.expectType("substituir", "texto_pesquisa", texto_pesquisa, "cadeia", "caracter");\n self.runtime.expectType("substituir", "texto_substituto", texto_substituto, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.replaceAll(texto_pesquisa.value, texto_substituto.value));\n },\n\n preencher_a_esquerda(car, tamanho, cad) {\n self.runtime.expectType("preencher_a_esquerda", "car", car, "cadeia", "caracter");\n self.runtime.expectType("preencher_a_esquerda", "tamanho", tamanho, "inteiro", "real");\n self.runtime.expectType("preencher_a_esquerda", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.padStart(tamanho.value, car.value));\n },\n\n preencher_a_direita(car, tamanho, cad) {\n self.runtime.expectType("preencher_a_direita", "car", car, "cadeia", "caracter");\n self.runtime.expectType("preencher_a_direita", "tamanho", tamanho, "inteiro", "real");\n self.runtime.expectType("preencher_a_direita", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("cadeia", cad.value.padEnd(tamanho.value, car.value));\n },\n\n obter_caracter(cad, indice) {\n self.runtime.expectType("obter_caracter", "cad", cad, "cadeia", "caracter");\n self.runtime.expectType("obter_caracter", "indice", indice, "inteiro", "real");\n\n if (indice.value < 0) {\n throw new Error("O \xedndice do caracter (" + indice.value + ") \xe9 menor que 0");\n } else if (indice.value > cad.value.length - 1) {\n throw new Error("O \xedndice do caracter (" + indice.value + ") \xe9 maior que o n\xfamero de caracteres na cadeia (" + cad.value.length + ")");\n }\n\n return new PortugolVar("caracter", cad.value.charAt(indice.value));\n },\n\n posicao_texto(texto, cadeia, posicao_inicial) {\n self.runtime.expectType("posicao_texto", "texto", texto, "cadeia", "caracter");\n self.runtime.expectType("posicao_texto", "cadeia", cadeia, "cadeia", "caracter");\n self.runtime.expectType("posicao_texto", "posicao_inicial", posicao_inicial, "inteiro", "real");\n\n return new PortugolVar("inteiro", cadeia.value.indexOf(texto.value, posicao_inicial.value));\n },\n\n extrair_subtexto(texto, posicao_inicial, posicao_final) {\n self.runtime.expectType("posicao_texto", "texto", texto, "cadeia", "caracter");\n self.runtime.expectType("posicao_texto", "posicao_inicial", posicao_inicial, "inteiro", "real");\n self.runtime.expectType("posicao_texto", "posicao_final", posicao_final, "inteiro", "real");\n\n if (posicao_inicial.value < 0 || posicao_final.value < 0 || posicao_inicial.value > posicao_final.value || posicao_final.value > texto.value.length || posicao_inicial.value > texto.value.length) {\n throw new Error("Posi\xe7\xe3o inicial ou final inv\xe1lida. A posi\xe7\xe3o deve estar entre 0 e o tamanho da cadeia");\n }\n\n return new PortugolVar("cadeia", texto.value.substring(posicao_inicial.value, posicao_final.value));\n },\n},\n Tipos: {\n cadeia_e_inteiro(cad, base) {\n self.runtime.expectType("cadeia_e_inteiro", "cad", cad, "cadeia", "caracter");\n self.runtime.expectType("cadeia_e_inteiro", "base", base, "inteiro");\n\n switch (base.value) {\n case 2: return new PortugolVar("logico", ${/^(0b|0B)?[0-1]+$/}.test(cad.value));\n case 10: return new PortugolVar("logico", ${/^-?\d+$/}.test(cad.value));\n case 16: return new PortugolVar("logico", ${PADRAO_INTEIRO_NOTACAO_HEXADECIMAL}.test(cad.value));\n }\n\n throw new Error("A base informada (" + base.value + ") \xe9 inv\xe1lida, a base deve ser um dos seguintes valores: 2; 10; 16");\n },\n\n cadeia_e_real(cad) {\n self.runtime.expectType("cadeia_e_real", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("logico", ${/^-?\d+\.\d+$/}.test(cad.value));\n },\n\n cadeia_e_logico(cad) {\n self.runtime.expectType("cadeia_e_logico", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("logico", ${/^verdadeiro|falso$/i}.test(cad.value));\n },\n\n cadeia_e_caracter(cad) {\n self.runtime.expectType("cadeia_e_caracter", "cad", cad, "cadeia", "caracter");\n\n return new PortugolVar("logico", cad.value.length === 1);\n },\n\n cadeia_para_caracter(valor) {\n self.runtime.expectType("cadeia_para_caracter", "valor", valor, "cadeia", "caracter");\n\n if (valor.value.length === 1) {\n return new PortugolVar("caracter", valor.value.charAt(0));\n }\n\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um caracter v\xe1lido");\n },\n\n cadeia_para_inteiro(valor, base) {\n self.runtime.expectType("cadeia_para_inteiro", "valor", valor, "cadeia", "caracter");\n self.runtime.expectType("cadeia_para_inteiro", "base", base, "inteiro");\n\n if (base.value === 2 || base.value === 10 || base.value === 16) {\n switch (base.value) {\n case 16:\n valor.value = valor.value.replace(/^0x/i, "");\n break;\n\n case 2:\n valor.value = valor.value.replace(/^0b/i, "");\n break;\n }\n\n const inteiro = parseInt(valor.value, base.value);\n\n if (isNaN(inteiro)) {\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um n\xfamero inteiro v\xe1lido");\n }\n\n return new PortugolVar("inteiro", inteiro);\n }\n\n throw new Error("A base informada (" + base.value + ") \xe9 inv\xe1lida, a base deve ser um dos seguintes valores: 2; 10; 16");\n },\n\n cadeia_para_real(valor) {\n self.runtime.expectType("cadeia_para_real", "valor", valor, "cadeia", "caracter");\n\n const real = parseFloat(valor.value);\n\n if (isNaN(real)) {\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um n\xfamero real v\xe1lido");\n }\n\n return new PortugolVar("real", real);\n },\n\n cadeia_para_logico(valor) {\n self.runtime.expectType("cadeia_para_logico", "valor", valor, "cadeia", "caracter");\n\n switch (valor.value) {\n case "verdadeiro": return new PortugolVar("logico", true);\n case "falso": return new PortugolVar("logico", false);\n }\n\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um valor l\xf3gico v\xe1lido");\n },\n\n inteiro_e_caracter(_int) {\n self.runtime.expectType("inteiro_e_caracter", "_int", _int, "inteiro");\n\n return new PortugolVar("logico", _int.value >= 0 && _int.value <= 9);\n },\n\n inteiro_para_cadeia(valor, base) {\n self.runtime.expectType("inteiro_para_cadeia", "valor", valor, "inteiro");\n self.runtime.expectType("inteiro_para_cadeia", "base", base, "inteiro");\n\n if (isNaN(valor.value) || isNaN(valor.value >>> 0)) {\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um n\xfamero inteiro v\xe1lido");\n }\n\n switch (base.value) {\n case 2: return new PortugolVar("cadeia", (valor.value >>> 0).toString(2).padStart(32, "0"));\n case 10: return new PortugolVar("cadeia", valor.value.toString());\n case 16: return new PortugolVar("cadeia", "0x" + (valor.value >>> 0).toString(16).toUpperCase().padStart(8, "0"));\n }\n\n throw new Error("A base informada (" + base.value + ") \xe9 inv\xe1lida, a base deve ser um dos seguintes valores: 2; 10; 16");\n },\n\n inteiro_para_caracter(valor) {\n self.runtime.expectType("inteiro_para_caracter", "valor", valor, "inteiro");\n\n if (valor.value >= 0 && valor.value <= 9) {\n return new PortugolVar("caracter", valor.value.toString());\n }\n\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um caracter v\xe1lido");\n },\n\n inteiro_para_logico(valor) {\n self.runtime.expectType("inteiro_para_logico", "valor", valor, "inteiro");\n\n if (valor.value <= 0) {\n return new PortugolVar("logico", false);\n }\n\n return new PortugolVar("logico", true);\n },\n\n inteiro_para_real(valor) {\n self.runtime.expectType("inteiro_para_real", "valor", valor, "inteiro");\n\n return new PortugolVar("real", valor.value);\n },\n\n caracter_e_inteiro(car) {\n self.runtime.expectType("caracter_e_inteiro", "car", car, "caracter");\n\n return new PortugolVar("logico", ${PADRAO_INTEIRO_NOTACAO_HEXADECIMAL}.test(car.value));\n },\n\n caracter_e_logico(car) {\n self.runtime.expectType("caracter_e_logico", "car", car, "caracter");\n\n return new PortugolVar("logico", ["S", "s", "N", "n"].includes(car.value));\n },\n\n caracter_para_cadeia(valor) {\n self.runtime.expectType("caracter_para_cadeia", "valor", valor, "caracter");\n\n return new PortugolVar("cadeia", valor.value);\n },\n\n caracter_para_inteiro(valor) {\n self.runtime.expectType("caracter_para_inteiro", "valor", valor, "caracter");\n\n const num = parseInt(valor.value, 10);\n\n if (isNaN(num)) {\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um n\xfamero inteiro v\xe1lido");\n }\n\n return new PortugolVar("inteiro", num);\n },\n\n caracter_para_logico(valor) {\n self.runtime.expectType("caracter_para_logico", "valor", valor, "caracter");\n\n switch (valor.value) {\n case "S": case "s": return new PortugolVar("logico", true);\n case "N": case "n": return new PortugolVar("logico", false);\n }\n\n throw new Error("o valor '" + valor.value + "' n\xe3o \xe9 um valor l\xf3gico v\xe1lido");\n },\n\n logico_para_cadeia(valor) {\n self.runtime.expectType("logico_para_cadeia", "valor", valor, "logico");\n\n return new PortugolVar("cadeia", valor.value ? "verdadeiro" : "falso");\n },\n\n logico_para_inteiro(valor) {\n self.runtime.expectType("logico_para_inteiro", "valor", valor, "logico");\n\n return new PortugolVar("inteiro", valor.value ? 1 : 0);\n },\n\n logico_para_caracter(valor) {\n self.runtime.expectType("logico_para_caracter", "valor", valor, "logico");\n\n return new PortugolVar("caracter", valor.value ? "S" : "N");\n },\n\n real_para_cadeia(valor) {\n self.runtime.expectType("real_para_cadeia", "valor", valor, "real");\n\n return new PortugolVar("cadeia", valor.value.toString());\n },\n\n real_para_inteiro(valor) {\n self.runtime.expectType("real_para_inteiro", "valor", valor, "real");\n\n return new PortugolVar("inteiro", Math.trunc(valor.value));\n },\n},\n Util: {\n obter_diretorio_usuario() {\n return new PortugolVar("cadeia", "/home");\n },\n\n aguarde(intervalo) {\n self.runtime.expectType("aguarde", "intervalo", intervalo, "inteiro", "real");\n\n return new Promise(resolve => setTimeout(() => resolve(new PortugolVar("vazio")), intervalo.value));\n },\n\n tempo_decorrido() {\n return new PortugolVar("inteiro", Date.now() - self.runtime.libs.Util.__loadedAt);\n },\n\n sorteia(minimo, maximo) {\n self.runtime.expectType("sorteia", "minimo", minimo, "inteiro", "real");\n self.runtime.expectType("sorteia", "maximo", maximo, "inteiro", "real");\n\n if (minimo.value > maximo.value) {\n throw new Error("O valor m\xednimo (" + minimo.value + ") \xe9 maior do que o valor m\xe1ximo (" + maximo.value + ")");\n } else if (minimo.value === maximo.value) {\n throw new Error("Os valores m\xednimo e m\xe1ximo s\xe3o iguais: " + minimo.value);\n }\n\n return new PortugolVar("inteiro", Math.floor(Math.random() * (maximo.value - minimo.value + 1)) + minimo.value);\n },\n\n numero_linhas(matriz) {\n self.runtime.expectType("numero_linhas", "matriz", matriz, "matriz");\n\n return new PortugolVar("inteiro", matriz.value.length);\n },\n\n numero_colunas(matriz) {\n self.runtime.expectType("numero_colunas", "matriz", matriz, "matriz");\n\n return new PortugolVar("inteiro", matriz.value[0].value.length);\n },\n\n numero_elementos(vetor) {\n self.runtime.expectType("numero_elementos", "vetor", vetor, "vetor");\n\n return new PortugolVar("inteiro", vetor.value.length);\n },\n},\n};\n }\n\n getScope(baseScope) {\n return {\n variables: { ...baseScope.variables },\n functions: { ...baseScope.functions },\n };\n }\n\n _raw(variable) {\n if (typeof variable === "object") {\n if (variable.hasOwnProperty("_value")) {\n return variable._;\n }\n }\n\n return variable;\n }\n\n declareFunction(name, call) {\n if (this.globalScope.functions.hasOwnProperty(name)) {\n throw new Error("Fun\xe7\xe3o j\xe1 declarada: " + name);\n }\n\n this.globalScope.functions[name] = call;\n }\n\n async callFunction(name, functionScope = "", args = []) {\n let func;\n\n if (functionScope) {\n if (!this.globalScope.libAliases.hasOwnProperty(functionScope)) {\n throw new Error("Biblioteca n\xe3o carregada: " + functionScope);\n }\n\n if (!this.libs[this.globalScope.libAliases[functionScope]].hasOwnProperty(name)) {\n throw new Error("Fun\xe7\xe3o '" + name + "' n\xe3o existe na biblioteca '" + functionScope + "'");\n }\n\n func = this.libs[this.globalScope.libAliases[functionScope]][name];\n } else {\n if (!this.globalScope.functions.hasOwnProperty(name)) {\n throw new Error("Fun\xe7\xe3o n\xe3o declarada: " + name);\n }\n\n func = this.globalScope.functions[name];\n }\n\n const last = this.currentFunction;\n\n this.currentFunction = name;\n\n const ret = await func(...args);\n\n this.currentFunction = last;\n\n return ret;\n }\n\n assign(args) {\n let initial = args.shift();\n\n if (typeof initial === "undefined") {\n throw new Error("N\xe3o \xe9 poss\xedvel atribuir valor \xe0 uma vari\xe1vel n\xe3o declarada");\n }\n\n while (args.length) {\n const arg = args.pop();\n console.log("assign", { initial, arg });\n\n if (typeof arg === "undefined") {\n throw new Error("N\xe3o \xe9 poss\xedvel atribuir uma vari\xe1vel n\xe3o declarada a uma vari\xe1vel declarada");\n }\n\n if (initial.type === "vazio") {\n throw new Error("N\xe3o \xe9 poss\xedvel atribuir valor ao tipo vazio");\n }\n\n if (initial.isConstant) {\n throw new Error("N\xe3o \xe9 poss\xedvel alterar o valor de uma constante");\n }\n\n const value = this.coerceToType(initial.type, arg.value, arg.type);\n\n if (initial.isReference) {\n initial.value.value = value;\n } else {\n initial.value = value;\n }\n\n initial = arg;\n }\n\n console.log("assign.final", { initial });\n\n return initial;\n }\n\n loadLibrary(name, alias) {\n if (!this.libs.hasOwnProperty(name)) {\n throw new Error("Biblioteca n\xe3o existe: " + name);\n }\n\n this.libs[name].__loadedAt = Date.now();\n this.globalScope.libAliases[alias || name] = name;\n }\n\n canCoerceType(from, to) {\n return (from === to || from === "inteiro" && to === "real" || from === "real" && to === "inteiro");\n }\n\n coerceToType(type, value, valueType) {\n if (valueType !== type && !this.canCoerceType(valueType, type)) {\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel atribuir uma express\xe3o do tipo '" + valueType + "' \xe0 uma express\xe3o do tipo '" + type + "'.");\n }\n\n switch (type) {\n case "inteiro": {\n const result = parseInt(value, 10);\n\n if (isNaN(result)) {\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel atribuir o valor '" + value + "' \xe0 uma express\xe3o do tipo '" + type + "'.");\n }\n\n return result;\n }\n\n case "real": {\n const result = parseFloat(value);\n\n if (isNaN(result)) {\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel atribuir o valor '" + value + "' \xe0 uma express\xe3o do tipo '" + type + "'.");\n }\n\n return result;\n }\n\n case "caracter":\n return String(value).charAt(0);\n\n case "cadeia":\n return String(value);\n\n case "logico":\n return Boolean(value);\n\n default:\n return value;\n }\n }\n\n concat(args) {\n console.log("concat.preinit", { args });\n\n let result = args.shift().clone();\n\n while (args.length) {\n let arg = args.shift().clone();\n console.log("concat.ongoing", { arg, result });\n\n result.value += arg.stringValue();\n }\n\n console.log("concat.finish", { result });\n return new PortugolVar("cadeia", result.value);\n }\n\n mathOperation(op, args) {\n console.log("mathOperation.preinit", { op, args });\n\n let result = args.shift().clone();\n\n if (op === "+" && ["cadeia", "caracter"].includes(result.type)) {\n return self.runtime.concat([result, ...args]);\n }\n\n console.log("mathOperation.init", { op, args, result });\n\n while (args.length) {\n let arg = args.shift().clone();\n console.log("mathOperation.ongoing", { arg, result });\n\n if (!["real", "inteiro"].includes(arg.type)) {\n const mathOpDesc = {\n "+": ["somar", "\xe0"],\n "-": ["subtrair", "de"],\n "*": ["multiplicar", "por"],\n "/": ["dividir", "por"],\n "%": ["obter o m\xf3dulo entre", "e"],\n };\n\n const [verb, preposition] = mathOpDesc[op];\n\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel " + verb + " uma express\xe3o do tipo '" + result.type + "' (" + result.toString() + ") " + preposition + " uma express\xe3o do tipo '" + arg.type + "' (" + arg.toString() + ").");\n }\n\n switch (op) {\n case "+":\n result.value += arg.value;\n break;\n\n case "-":\n result.value -= arg.value;\n break;\n\n case "*":\n result.value *= arg.value;\n break;\n\n case "/":\n result.value /= arg.value;\n break;\n\n case "%":\n result.value %= arg.value;\n break;\n\n default:\n throw new Error("Opera\xe7\xe3o matem\xe1tica inv\xe1lida: " + op);\n }\n }\n\n console.log("mathOperation.finish", { result });\n return result;\n }\n\n comparativeOperation(op, args) {\n console.log("comparativeOp.preinit", { op, args });\n let result = args.shift().value;\n\n while (args.length) {\n console.log("comparativeOp.ongoing", { op, args, result });\n let arg = args.shift().value;\n\n switch (op) {\n case "==":\n result = result == arg;\n break;\n\n case "!=":\n result = result != arg;\n break;\n\n case ">":\n result = result > arg;\n break;\n\n case ">=":\n result = result >= arg;\n break;\n\n case "<":\n result = result < arg;\n break;\n\n case "<=":\n result = result <= arg;\n break;\n\n case "&&":\n result = result && arg;\n break;\n\n case "||":\n result = result || arg;\n break;\n\n default:\n throw new Error("Opera\xe7\xe3o comparativa inv\xe1lida: " + op);\n }\n }\n\n console.log("comparativeOp.finish", { result });\n return new PortugolVar("logico", result);\n }\n\n bitwiseOperation(op, args) {\n console.log("bitwiseOperation.preinit", { op, args });\n\n let result = args.shift().clone();\n\n console.log("bitwiseOperation.init", { op, args, result });\n\n while (args.length) {\n let arg = args.shift().clone();\n console.log("bitwiseOperation.ongoing", { arg, result });\n\n if (arg.type !== "inteiro" || result.type !== "inteiro") {\n const bitwiseOpDesc = {\n "&": ["fazer uma opera\xe7\xe3o bitwise AND (&) em", "para"],\n "|": ["fazer uma opera\xe7\xe3o bitwise OR (|) em", "para"],\n "^": ["fazer uma opera\xe7\xe3o bitwise XOR (^) em", "para"],\n ">>": ["deslocar os bits para a direita de", "para"],\n "<<": ["deslocar os bits para a esquerda de", "para"],\n };\n\n const [verb, preposition] = bitwiseOpDesc[op];\n\n throw new Error("Tipos incompat\xedveis! N\xe3o \xe9 poss\xedvel " + verb + " uma express\xe3o do tipo '" + result.type + "' (" + result.toString() + ") " + preposition + " uma express\xe3o do tipo '" + arg.type + "' (" + arg.toString() + ").");\n }\n\n switch (op) {\n case "&":\n result.value = result.value & arg.value;\n break;\n\n case "|":\n result.value = result.value | arg.value;\n break;\n\n case "^":\n result.value = result.value ^ arg.value;\n break;\n\n case ">>":\n result.value = result.value >> arg.value;\n break;\n\n case "<<":\n result.value = result.value << arg.value;\n break;\n\n default:\n throw new Error("Opera\xe7\xe3o bitwise inv\xe1lida: " + op);\n }\n }\n\n console.log("bitwiseOperation.finish", { result });\n return result;\n }\n\n applyModifier(mod, item) {\n console.log("applyModifier.init", { mod, item });\n const result = item.clone();\n\n switch (mod) {\n case "+":\n result.value = +item.value;\n break;\n\n case "-":\n result.value = -item.value;\n break;\n\n case "!":\n result.value = !item.value;\n break;\n\n case "~":\n result.value = ~item.value;\n break;\n\n default:\n throw new Error("Modificador inv\xe1lido: " + mod);\n }\n\n console.log("applyModifier.finish", { result });\n return result;\n }\n\n assumeMathType(...args) {\n let type = "inteiro";\n\n for (let arg of args) {\n if (arg.type == "real") {\n type = "real";\n break;\n }\n }\n\n return type;\n }\n\n expectType(fn, param, obj, ...types) {\n if (!obj || !types.includes(obj.type) || obj.value === undefined) {\n let multipleTypesPlural = types.length > 1 ? "s" : "";\n throw new Error("Tipos incompat\xedveis! O par\xe2metro '" + param + "' da fun\xe7\xe3o '" + fn + "' espera uma express\xe3o do" + multipleTypesPlural + " tipo" + multipleTypesPlural + " " + types.map((c) => "'" + c + "'").join(" ou ") + (obj?.value === undefined ? " com valor" : "") + ", mas foi passada uma express\xe3o do tipo '" + (obj?.type ?? "vazio") + "'" + (obj?.value === undefined ? " vazia" : ""));\n }\n }\n\n checkParams(args, params) {\n if (args.length != params.length) {\n throw new Error("N\xfamero de par\xe2metros inv\xe1lido! A fun\xe7\xe3o '" + this.currentFunction + "' espera " + params.length + " par\xe2metro" + (params.length > 1 ? "s" : "") + ", mas fo" + (args.length > 1 ? "ram" : "i") + " passado" + (args.length > 1 ? "s" : "") + " " + args.length + ".");\n }\n\n for (let i = 0; i < args.length; i++) {\n if (args[i].type != params[i].type) {\n throw new Error("Tipos incompat\xedveis! O " + (i + 1) + "\xba par\xe2metro da fun\xe7\xe3o '" + this.currentFunction + "', '" + params[i].name + "', espera uma express\xe3o do tipo '" + params[i].type + "', mas foi passada uma express\xe3o do tipo '" + args[i].type + "'.");\n }\n }\n }\n}\n//endregion\n\n//endregion\n`;class IPortugolRunner{constructor(tree2){this.tree=tree2}}class PortugolWebWorkersRunner extends IPortugolRunner{constructor(tree2){super(tree2),this.stdIn=new Subject_Subject,this.stdOut$=new Subject_Subject,this.waitingForInput=!1,this.waitingForInput$=new Subject_Subject,this.running=!1,this.running$=new Subject_Subject,this._run=new Subject_Subject,this.byteCode=(new PortugolJs).visit(tree2),this.worker=new Worker(URL.createObjectURL(new Blob([runtime,`\n const exec = ${this.byteCode};\n\n self.addEventListener("message", async (message) => {\n try {\n if (message.data.type === "start") {\n self.postMessage({ type: "started" });\n\n await exec({\n functions: {\n __debug: async (...args) => {\n for (const arg of args) {\n console.debug("\u27a1\ufe0f DEBUG", arg);\n }\n },\n\n limpa: async () => {\n self.postMessage({ type: "clear" });\n },\n\n leia: async (...args) => {\n for (const arg of args) {\n const controller = new AbortController();\n const signal = controller.signal;\n\n self.postMessage({ type: "stdIn" });\n\n const result = await new Promise((resolve) => {\n self.addEventListener("message", (message) => {\n if (message.data.type === "stdIn") {\n controller.abort();\n resolve(message.data.content);\n }\n }, { signal });\n });\n\n if (arg.type === "inteiro") {\n if (!/^[-+]?[0-9]+$/.test(result)) {\n throw new Error("O valor digitado n\xe3o \xe9 inteiro!");\n }\n\n self.runtime.assign([arg, new PortugolVar("inteiro", parseInt(result, 10))]);\n } else if (arg.type === "real") {\n if (!/^[-+]?[0-9]+(\\.[0-9]+)?$/.test(result)) {\n throw new Error("O valor digitado n\xe3o \xe9 real!" + (result.includes(",") ? " (Dica: utilize '.' ao inv\xe9s de ',')" : ""));\n }\n\n self.runtime.assign([arg, new PortugolVar("real", parseFloat(result))]);\n } else if (arg.type === "logico") {\n if (!/^(sim|nao|n\xe3o|true|false|verdadeiro|falso|s|y|n|0|1)$/i.test(result)) {\n throw new Error("O valor digitado n\xe3o \xe9 l\xf3gico! (Dica: os valores poss\xedveis para o tipo l\xf3gico s\xe3o: 'verdadeiro', 'falso', 'sim', 'nao', 'n\xe3o', 'true', 'false', 's', 'y', 'n', '0', '1')");\n }\n\n self.runtime.assign([arg, new PortugolVar("logico", result.toLowerCase() === "sim" || result.toLowerCase() === "true" || result.toLowerCase() === "verdadeiro" || result.toLowerCase() === "y" || result.toLowerCase() === "1")]);\n } else {\n // Tipos: cadeia ou caracter\n self.runtime.assign([arg, new PortugolVar(arg.type, result)]);\n }\n }\n },\n\n escreva: (...args) => {\n let str = "";\n console.log("escreva", args);\n\n for (const arg of args) {\n if (typeof arg === "object") {\n if (typeof arg.value !== "undefined") {\n if (arg.type === "logico") {\n str += arg.value ? "verdadeiro" : "falso";\n } else {\n str += String(arg.value);\n }\n }\n } else {\n throw new Error("Argumento inv\xe1lido");\n }\n }\n\n self.postMessage({ type: "stdOut", content: str });\n },\n },\n });\n }\n } catch (error) {\n self.postMessage({ type: "error", error: {\n message: error.message,\n stack: error.stack,\n }});\n } finally {\n self.postMessage({ type: "finish" });\n }\n }, { once: true });\n `],{type:"text/javascript"}))),this.worker.addEventListener("message",message=>{switch(message.data.type){case"stdOut":this.stdOut$.next(message.data.content);break;case"stdIn":this.waitingForInput=!0,this.waitingForInput$.next(this.waitingForInput),this._run.next({type:"stdIn"});break;case"error":const error=new Error(message.data.error.message);error.stack=message.data.error.stack,this._run.next({type:"error",error}),this.destroy();break;case"clear":this._run.next({type:"clear"});break;case"finish":this.destroy()}}),this.worker.onerror=err=>{const error=err.error??new Error(err.message);this._run.next({type:"error",error}),this.destroy()},this._stdIn$=this.stdIn.subscribe(content=>{this.waitingForInput&&(this.waitingForInput=!1,this.waitingForInput$.next(this.waitingForInput),this.worker.postMessage({type:"stdIn",content}))})}run(){return this.startedAt=new Date,this.stdIn.subscribe(stdIn=>{this.worker.postMessage({type:"stdin",content:stdIn})}),this.worker.postMessage({type:"start"}),this.running=!0,this.running$.next(this.running),this._run}destroy(){this.worker.terminate(),this._run.next({type:"finish",time:(new Date).getTime()-(this.startedAt?.getTime()??0)}),this._run.complete(),this.running=!1,this.running$.next(!1),this.running$.complete(),this._stdIn$?.unsubscribe(),this.stdIn.complete()}}var FileSaver_min=__webpack_require__(217);function fromEventPattern(addHandler,removeHandler,resultSelector){return resultSelector?fromEventPattern(addHandler,removeHandler).pipe(mapOneOrManyArgs(resultSelector)):new Observable_Observable(subscriber=>{const handler=(...e2)=>subscriber.next(1===e2.length?e2[0]:e2),retValue=addHandler(handler);return isFunction(removeHandler)?()=>removeHandler(handler,retValue):void 0})}var text_encoding=__webpack_require__(6304);const tab_editor_component_c0=["fileInput"],tab_editor_component_c1=["shareSnackTemplate"];function TabEditorComponent_ng_template_28_Template(rf,ctx){if(1&rf){const _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"span",21)(1,"strong"),\u0275\u0275text(2,"Link gerado:"),\u0275\u0275elementEnd(),\u0275\u0275text(3,"\xa0\xa0"),\u0275\u0275elementStart(4,"code")(5,"a",22),\u0275\u0275text(6),\u0275\u0275pipe(7,"slice"),\u0275\u0275pipe(8,"slice"),\u0275\u0275elementEnd()(),\u0275\u0275text(9," \xa0\xa0\xa0 "),\u0275\u0275elementStart(10,"button",23),\u0275\u0275listener("click",function(){const data_r3=\u0275\u0275restoreView(_r5).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().copyStringAndCloseSnack(data_r3.url))}),\u0275\u0275text(11,"COPIAR"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(12,"small"),\u0275\u0275text(13,"\u2139\ufe0f Ir\xe1 expirar em 15 dias!"),\u0275\u0275elementEnd()()}if(2&rf){const data_r3=ctx.$implicit;\u0275\u0275advance(5),\u0275\u0275property("href",data_r3.url,\u0275\u0275sanitizeUrl),\u0275\u0275advance(1),\u0275\u0275textInterpolate2("",function \u0275\u0275pipeBind3(index,slotOffset,v1,v2,v3){const adjustedIndex=index+HEADER_OFFSET,lView=getLView(),pipeInstance=load(lView,adjustedIndex);return isPure(lView,adjustedIndex)?pureFunction3Internal(lView,getBindingRoot(),slotOffset,pipeInstance.transform,v1,v2,v3,pipeInstance):pipeInstance.transform(v1,v2,v3)}(7,3,data_r3.url,0,10),"\u2026",function \u0275\u0275pipeBind2(index,slotOffset,v1,v2){const adjustedIndex=index+HEADER_OFFSET,lView=getLView(),pipeInstance=load(lView,adjustedIndex);return isPure(lView,adjustedIndex)?pureFunction2Internal(lView,getBindingRoot(),slotOffset,pipeInstance.transform,v1,v2,pipeInstance):pipeInstance.transform(v1,v2)}(8,7,data_r3.url,data_r3.url.length-14),"")}}let TabEditorComponent=(()=>{var _class2;class TabEditorComponent2{constructor(gaService,storage,snack){this.gaService=gaService,this.storage=storage,this.snack=snack,this.titleChange=new core_EventEmitter,this.help=new core_EventEmitter,this.executor=new PortugolExecutor(PortugolWebWorkersRunner),this.codeEditorOptions={theme:"portugol",language:"portugol",tabSize:2},this.stdOutEditorOptions={theme:"portugol",lineNumbers:"off",readOnly:!0,minimap:{enabled:!1},wordWrap:"on",language:"plaintext",tabSize:2},this.generatedCodeEditorOptions={...this.stdOutEditorOptions,language:"javascript"},this.sharing=!1,this.shortcuts=[{key:"f1",preventDefault:!0,command:this.openHelp.bind(this)},{key:"ctrl + s",preventDefault:!0,command:this.saveFile.bind(this)},{key:"ctrl + o",preventDefault:!0,command:()=>this.fileInput.nativeElement.click()},{key:"ctrl + enter",preventDefault:!0,command:this.runCode.bind(this)}]}ngOnInit(){this.code||(this.code="programa {\n funcao inicio() {\n \n }\n}\n"),this._stdOut$=this.executor.stdOut$.subscribe(()=>{this.stdOutEditorCursorEnd()}),this._events$=this.executor.events.subscribe({next:event=>{switch(event.type){case"error":this.gaService.event("execution_error","Execu\xe7\xe3o","Erro em execu\xe7\xe3o de c\xf3digo");break;case"parseError":this.setEditorErrors(event.errors)}},error:error=>{this.gaService.event("execution_runner_error","Execu\xe7\xe3o","Erro ao carregar o runner para rodar o c\xf3digo"),captureException(error,{extra:{code:this.code}})}}),console.log(`Runtime has ${runtime.split("\n").length} lines`)}ngOnDestroy(){this._code$?.unsubscribe(),this._events$?.unsubscribe(),this._stdOut$?.unsubscribe(),this.executor.stop()}runCode(){this.gaService.event("editor_start_execution","Editor","Bot\xe3o de Iniciar Execu\xe7\xe3o"),function setExtra(key,extra){hub_getCurrentHub().setExtra(key,extra)}("code",this.code),this.setEditorErrors([]),this.executor.run(this.code??"")}stopCode(){this.gaService.event("editor_stop_execution","Editor","Bot\xe3o de Parar Execu\xe7\xe3o"),this.executor.stop(),this.stdOutEditorCursorEnd()}openFile(event){this.gaService.event("editor_open_file","Editor","Bot\xe3o de Abrir arquivo");const{files}=event.target;if(!files||0===files.length)return;const reader=new FileReader,file=files[0];reader.onload=e2=>{const contents=e2.target?.result;this.title=file.name,this.titleChange.emit(file.name),this.code=contents?.toString()},reader.readAsText(file,"ISO-8859-1")}saveFile(){this.gaService.event("editor_save_file","Editor","Bot\xe3o de Salvar arquivo");const contentEncoded=new text_encoding.TextEncoder("ISO-8859-1",{NONSTANDARD_allowLegacyEncoding:!0}).encode(this.code),blob=new Blob([contentEncoded],{type:"application/octet-stream; charset=ISO-8859-1"});let fileName=this.title||"Sem t\xedtulo";fileName.endsWith(".por")||(fileName+=".por"),(0,FileSaver_min.saveAs)(blob,fileName,{autoBom:!1})}onStdOutEditorInit(editor){this.initShortcuts(editor),this.stdOutEditor=editor,editor.onKeyDown(e2=>{this.executor.waitingForInput&&("Enter"===e2.code||13===e2.browserEvent.keyCode||"Enter"===e2.browserEvent.key?this.executor.stdIn.next("\r"):"Backspace"===e2.code?this.executor.stdIn.next("\b"):1===e2.browserEvent.key.length&&this.executor.stdIn.next(e2.browserEvent.key))})}stdOutEditorCursorEnd(){if(!this.stdOutEditor)return;const editor=this.stdOutEditor,model=editor.getModel();model&&(setTimeout(()=>{editor.setPosition({lineNumber:model.getLineCount(),column:model.getLineMaxColumn(model.getLineCount())}),editor.setScrollPosition({scrollLeft:0,scrollTop:editor.getScrollHeight()})},1),editor.focus())}initShortcuts(editor){editor.addAction({id:"runCode",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter],label:"Executar c\xf3digo",run:this.runCode.bind(this)}),editor.addAction({id:"saveFile",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyS],label:"Salvar arquivo",run:this.saveFile.bind(this)}),editor.addAction({id:"openFile",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyO],label:"Abrir arquivo",run:()=>this.fileInput.nativeElement.click()}),editor.addAction({id:"openHelp",keybindings:[monaco.KeyCode.F1],label:"Ajuda",run:this.openHelp.bind(this)})}onEditorInit(editor){this.codeEditor=editor,this.initShortcuts(editor),this._code$?.unsubscribe(),this._code$=fromEventPattern(editor.onDidChangeModelContent).pipe(debounceTime(500)).subscribe(()=>{this.setEditorErrors(PortugolErrorChecker.checkCode(this.code??""))})}openHelp(){this.gaService.event("editor_help_tab_open","Editor","Nova aba de ajuda atrav\xe9s do Editor"),this.help.emit()}shareFile(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){if(!_this.code)return;_this.sharing=!0;const shareCode=(Math.random()+1).toString(36).substring(2,9);(yield angular_fire_storage_uploadString(angular_fire_storage_ref(_this.storage,shareCode),_this.code,void 0,{contentType:"text/plain"}).catch(err=>(console.error(err),null)))?(_this.snack.openFromTemplate(_this.shareSnackTemplate,{data:{url:`https://dgadelha.github.io/Portugol-Webstudio/#share=${shareCode}`}}),_this.gaService.event("share_code_success","Editor","C\xf3digo compartilhado com sucesso")):(_this.snack.open("Ocorreu um erro ao compartilhar o arquivo. Tente novamente mais tarde.","OK",{duration:3e3}),_this.gaService.event("share_code_error","Editor","Erro ao compartilhar c\xf3digo")),setTimeout(()=>_this.sharing=!1,1e3)})()}copyStringAndCloseSnack(url){var _this2=this;return asyncToGenerator_asyncToGenerator(function*(){yield navigator.clipboard.writeText(url),_this2.snack.dismiss()})()}setEditorErrors(errors){const model=this.codeEditor?.getModel();model&&monaco.editor.setModelMarkers(model,"owner",errors.map(error=>({startLineNumber:error.startLine,startColumn:error.startCol,endLineNumber:error.endLine,endColumn:error.endCol,message:error.message,severity:monaco.MarkerSeverity.Error})))}}return(_class2=TabEditorComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(GoogleAnalyticsService),\u0275\u0275directiveInject(angular_fire_storage_Storage),\u0275\u0275directiveInject(MatSnackBar))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-tab-editor"]],viewQuery:function(rf,ctx){if(1&rf&&(\u0275\u0275viewQuery(tab_editor_component_c0,5),\u0275\u0275viewQuery(tab_editor_component_c1,5,core_TemplateRef)),2&rf){let _t;\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.fileInput=_t.first),\u0275\u0275queryRefresh(_t=\u0275\u0275loadQuery())&&(ctx.shareSnackTemplate=_t.first)}},inputs:{title:"title",code:"code"},outputs:{titleChange:"titleChange",help:"help"},decls:30,vars:14,consts:[[3,"shortcuts"],[1,"sidebar"],["mat-ripple","","type","button",1,"sidebar-button",3,"disabled","click"],["src","assets/icon-start.svg"],["src","assets/icon-stop.svg"],[1,"sidebar-divider"],["mat-ripple","","type","button",1,"sidebar-button",3,"click"],["src","assets/icon-file-save.svg"],["src","assets/icon-file-open.svg"],["type","file","hidden","","accept",".por,text/plain",3,"change"],["fileInput",""],["src","assets/icon-share.svg"],["src","assets/icon-help-circle-outline.svg"],[1,"editor-inner"],["direction","vertical"],[3,"size"],["direction","horizontal"],[3,"options","ngModel","ngModelChange","init"],[3,"options","ngModel","ngModelChange"],["id","output",3,"options","ngModel","ngModelChange","init"],["shareSnackTemplate",""],[1,"share-snack"],["target","_blank",3,"href"],["mat-raised-button","","color","primary",3,"click"]],template:function(rf,ctx){if(1&rf){const _r6=\u0275\u0275getCurrentView();\u0275\u0275element(0,"ng-keyboard-shortcuts",0),\u0275\u0275elementStart(1,"div",1)(2,"button",2),\u0275\u0275listener("click",function(){return ctx.runCode()}),\u0275\u0275element(3,"svg-icon",3),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"button",2),\u0275\u0275listener("click",function(){return ctx.stopCode()}),\u0275\u0275element(5,"svg-icon",4),\u0275\u0275elementEnd(),\u0275\u0275element(6,"div",5),\u0275\u0275elementStart(7,"button",6),\u0275\u0275listener("click",function(){return ctx.saveFile()}),\u0275\u0275element(8,"svg-icon",7),\u0275\u0275elementEnd(),\u0275\u0275elementStart(9,"button",6),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r6),\u0275\u0275resetView(\u0275\u0275reference(12).click())}),\u0275\u0275element(10,"svg-icon",8),\u0275\u0275elementStart(11,"input",9,10),\u0275\u0275listener("change",function($event){return ctx.openFile($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(13,"button",2),\u0275\u0275listener("click",function(){return ctx.shareFile()}),\u0275\u0275element(14,"svg-icon",11),\u0275\u0275elementEnd(),\u0275\u0275element(15,"div",5),\u0275\u0275elementStart(16,"button",6),\u0275\u0275listener("click",function(){return ctx.openHelp()}),\u0275\u0275element(17,"svg-icon",12),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(18,"div",13)(19,"as-split",14)(20,"as-split-area",15)(21,"as-split",16)(22,"as-split-area",15)(23,"ngx-monaco-editor",17),\u0275\u0275listener("ngModelChange",function($event){return ctx.code=$event})("init",function($event){return ctx.onEditorInit($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(24,"as-split-area",15)(25,"ngx-monaco-editor",18),\u0275\u0275listener("ngModelChange",function($event){return ctx.executor.byteCode=$event}),\u0275\u0275elementEnd()()()(),\u0275\u0275elementStart(26,"as-split-area",15)(27,"ngx-monaco-editor",19),\u0275\u0275listener("ngModelChange",function($event){return ctx.executor.stdOut=$event})("init",function($event){return ctx.onStdOutEditorInit($event)}),\u0275\u0275elementEnd()()()(),\u0275\u0275template(28,TabEditorComponent_ng_template_28_Template,14,10,"ng-template",null,20,\u0275\u0275templateRefExtractor)}2&rf&&(\u0275\u0275property("shortcuts",ctx.shortcuts),\u0275\u0275advance(2),\u0275\u0275property("disabled",ctx.executor.running),\u0275\u0275advance(2),\u0275\u0275property("disabled",!ctx.executor.running),\u0275\u0275advance(9),\u0275\u0275property("disabled",ctx.sharing),\u0275\u0275advance(7),\u0275\u0275property("size",80),\u0275\u0275advance(2),\u0275\u0275property("size",100),\u0275\u0275advance(1),\u0275\u0275property("options",ctx.codeEditorOptions)("ngModel",ctx.code),\u0275\u0275advance(1),\u0275\u0275property("size",0),\u0275\u0275advance(1),\u0275\u0275property("options",ctx.generatedCodeEditorOptions)("ngModel",ctx.executor.byteCode),\u0275\u0275advance(1),\u0275\u0275property("size",20),\u0275\u0275advance(1),\u0275\u0275property("options",ctx.stdOutEditorOptions)("ngModel",ctx.executor.stdOut))},dependencies:[NgControlStatus,NgModel,SplitComponent,SplitAreaDirective,MonacoEditorComponent,KeyboardShortcutsComponent,SvgIconComponent,MatRipple,MatButton,SlicePipe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;height:100%} .editor-inner .monaco-editor .monaco-hover{position:fixed;z-index:9999}.editor-inner[_ngcontent-%COMP%]{background-color:#202b30;flex-grow:1;display:flex}.editor-inner[_ngcontent-%COMP%] as-split-area[_ngcontent-%COMP%]{overflow:hidden}.editor-inner[_ngcontent-%COMP%] ngx-monaco-editor[_ngcontent-%COMP%]{flex-grow:1}.sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.sidebar-button[_ngcontent-%COMP%]{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#263238;color:#cdcdcd;border:none;transition:all .2s ease;cursor:pointer}.sidebar-button[_ngcontent-%COMP%]:hover:not(:disabled){background-color:#354046}.sidebar-button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;pointer-events:none}.sidebar-button[_ngcontent-%COMP%]:disabled svg[_ngcontent-%COMP%]{filter:grayscale(1);-webkit-transform:translateZ(0)}.sidebar-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;fill:currentColor}.sidebar-divider[_ngcontent-%COMP%]{margin-top:.5rem;margin-bottom:.5rem;width:100%;height:1px;background-color:#445056} #output .monaco-editor-overlaymessage{display:none!important}#bug[_ngcontent-%COMP%]{position:absolute;bottom:7.5px;right:7.5px}.share-snack[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{font-size:9pt;margin:0;display:block;text-align:center}"]}),TabEditorComponent2})(),ResponsiveService=(()=>{var _class2;class ResponsiveService2{constructor(observer){this.observer=observer}isBelowSm(){return this.observer.observe(["(max-width: 575px)"])}isBelowMd(){return this.observer.observe(["(max-width: 767px)"])}isBelowLg(){return this.observer.observe(["(max-width: 991px)"])}isBelowXl(){return this.observer.observe(["(max-width: 1199px)"])}}return(_class2=ResponsiveService2).\u0275fac=function(t){return new(t||_class2)(core_inject(BreakpointObserver))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),ResponsiveService2})();function DialogOpenExampleComponent_mat_spinner_8_Template(rf,ctx){1&rf&&\u0275\u0275element(0,"mat-spinner",5),2&rf&&\u0275\u0275property("diameter",50)}function DialogOpenExampleComponent_div_9_mat_tree_node_5_Template(rf,ctx){if(1&rf){const _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-tree-node")(1,"li",15),\u0275\u0275listener("click",function(){const node_r6=\u0275\u0275restoreView(_r8).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext(2).loadItem(node_r6))}),\u0275\u0275elementStart(2,"button",16),\u0275\u0275element(3,"mat-icon"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5),\u0275\u0275elementEnd()()()}if(2&rf){const node_r6=ctx.$implicit,ctx_r2=\u0275\u0275nextContext(2);\u0275\u0275advance(1),\u0275\u0275classProp("active",(null==ctx_r2.current?null:ctx_r2.current.id)===node_r6.id),\u0275\u0275advance(4),\u0275\u0275textInterpolate(node_r6.name)}}function DialogOpenExampleComponent_div_9_mat_nested_tree_node_6_Template(rf,ctx){if(1&rf&&(\u0275\u0275elementStart(0,"mat-nested-tree-node")(1,"li",17)(2,"button",18)(3,"mat-icon",19),\u0275\u0275text(4),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"span"),\u0275\u0275text(6),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(7,"ul"),\u0275\u0275elementContainer(8,20),\u0275\u0275elementEnd()()),2&rf){const node_r9=ctx.$implicit,ctx_r3=\u0275\u0275nextContext(2);\u0275\u0275advance(4),\u0275\u0275textInterpolate1(" ",ctx_r3.treeControl.isExpanded(node_r9)?"expand_more":"chevron_right"," "),\u0275\u0275advance(2),\u0275\u0275textInterpolate(node_r9.name),\u0275\u0275advance(1),\u0275\u0275classProp("hidden",!ctx_r3.treeControl.isExpanded(node_r9))}}function DialogOpenExampleComponent_div_9_div_8_Template(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"div",21)(1,"p"),\u0275\u0275text(2,"Selecione um exemplo ao lado."),\u0275\u0275elementEnd()())}function DialogOpenExampleComponent_div_9_div_9_Template(rf,ctx){if(1&rf){const _r11=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"div",22)(1,"h3"),\u0275\u0275text(2),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"p"),\u0275\u0275text(4),\u0275\u0275elementEnd(),\u0275\u0275elementStart(5,"ngx-monaco-editor",23),\u0275\u0275listener("ngModelChange",function($event){return \u0275\u0275restoreView(_r11),\u0275\u0275resetView(\u0275\u0275nextContext(2).exampleCode=$event)})("init",function($event){return \u0275\u0275restoreView(_r11),\u0275\u0275resetView(\u0275\u0275nextContext(2).editor=$event)}),\u0275\u0275elementEnd(),\u0275\u0275elementStart(6,"button",24),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r11);const ctx_r13=\u0275\u0275nextContext(2);return \u0275\u0275resetView(ctx_r13.openExample(ctx_r13.current))}),\u0275\u0275text(7,"Abrir"),\u0275\u0275elementEnd()()}if(2&rf){const ctx_r5=\u0275\u0275nextContext(2);\u0275\u0275advance(2),\u0275\u0275textInterpolate(null==ctx_r5.current?null:ctx_r5.current.name),\u0275\u0275advance(2),\u0275\u0275textInterpolate(null==ctx_r5.current?null:ctx_r5.current.description),\u0275\u0275advance(1),\u0275\u0275property("options",ctx_r5.editorOptions)("ngModel",ctx_r5.exampleCode)}}function DialogOpenExampleComponent_div_9_Template(rf,ctx){if(1&rf&&(\u0275\u0275elementStart(0,"div")(1,"as-split",6)(2,"as-split-area",7)(3,"ul",8)(4,"mat-tree",9),\u0275\u0275template(5,DialogOpenExampleComponent_div_9_mat_tree_node_5_Template,6,3,"mat-tree-node",10),\u0275\u0275template(6,DialogOpenExampleComponent_div_9_mat_nested_tree_node_6_Template,9,4,"mat-nested-tree-node",11),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(7,"as-split-area",12),\u0275\u0275template(8,DialogOpenExampleComponent_div_9_div_8_Template,3,0,"div",13),\u0275\u0275template(9,DialogOpenExampleComponent_div_9_div_9_Template,8,4,"div",14),\u0275\u0275elementEnd()()()),2&rf){const ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(1),\u0275\u0275property("direction",ctx_r1.isBelowMd?"vertical":"horizontal"),\u0275\u0275advance(1),\u0275\u0275property("size",40),\u0275\u0275advance(2),\u0275\u0275property("dataSource",ctx_r1.dataSource)("treeControl",ctx_r1.treeControl),\u0275\u0275advance(2),\u0275\u0275property("matTreeNodeDefWhen",ctx_r1.hasChildren),\u0275\u0275advance(1),\u0275\u0275property("size",60)("ngSwitch",ctx_r1.current),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase",null)}}let DialogOpenExampleComponent=(()=>{var _class2;class DialogOpenExampleComponent2{constructor(http,responsive){this.http=http,this.responsive=responsive,this.exampleOpened=new core_EventEmitter,this.loading=!0,this.isBelowMd=!1,this.rawExampleCode="",this.rawExampleCodeId="",this.exampleCode="",this.editorOptions={theme:"portugol",lineNumbers:"off",readOnly:!0,minimap:{enabled:!1},language:"portugol"},this.treeControl=new NestedTreeControl(node2=>node2.children),this.dataSource=new MatTreeNestedDataSource}ngOnInit(){this._data$=this.http.get("assets/recursos/exemplos/index.json").pipe(function retry(configOrCount=1/0){let config2;config2=configOrCount&&"object"==typeof configOrCount?configOrCount:{count:configOrCount};const{count=1/0,delay,resetOnSuccess=!1}=config2;return count<=0?identity:operate((source,subscriber)=>{let innerSub,soFar=0;const subscribeForRetry=()=>{let syncUnsub=!1;innerSub=source.subscribe(createOperatorSubscriber(subscriber,value=>{resetOnSuccess&&(soFar=0),subscriber.next(value)},void 0,err=>{if(soFar++{innerSub?(innerSub.unsubscribe(),innerSub=null,subscribeForRetry()):syncUnsub=!0};if(null!=delay){const notifier="number"==typeof delay?timer_timer(delay):innerFrom(delay(err,soFar)),notifierSubscriber=createOperatorSubscriber(subscriber,()=>{notifierSubscriber.unsubscribe(),resub()},()=>{subscriber.complete()});notifier.subscribe(notifierSubscriber)}else resub()}else subscriber.error(err)})),syncUnsub&&(innerSub.unsubscribe(),innerSub=null,subscribeForRetry())};subscribeForRetry()})}()).subscribe(data=>{this.loading=!1,this.dataSource.data=data})}ngOnDestroy(){this._responsive$?.unsubscribe(),this._data$?.unsubscribe()}ngAfterViewInit(){this._responsive$=this.responsive.isBelowMd().subscribe(isBelowMd=>{this.isBelowMd=isBelowMd.matches})}hasChildren(_,item){return item.children?.length??0}loadItem(item){this._loadSubscription$?.unsubscribe(),this.current=item,this.exampleCode="// Carregando\u2026",this.rawExampleCode="",this.rawExampleCodeId="",this._loadSubscription$=this.http.get(`assets/recursos/exemplos/${item.file}`,{responseType:"text"}).subscribe(code=>{if(this.current?.id===item.id){this.rawExampleCode=code,this.rawExampleCodeId=item.id;const commentEndPos=code.indexOf("*/");this.exampleCode=code.substr(-1===commentEndPos?0:code.indexOf("*/")+2).trim()}})}openExample(item){this.rawExampleCode&&this.rawExampleCodeId===item.id?this.exampleOpened.emit({title:item.name,code:this.rawExampleCode}):(this.loading=!0,this._loadSubscription$?.unsubscribe(),this._loadSubscription$=this.http.get(`assets/recursos/exemplos/${item.file}`,{responseType:"text"}).subscribe(code=>{this.current?.id===item.id&&this.exampleOpened.emit({title:item.name,code})}))}}return(_class2=DialogOpenExampleComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(HttpClient),\u0275\u0275directiveInject(ResponsiveService))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-dialog-open-example"]],outputs:{exampleOpened:"exampleOpened"},decls:10,vars:3,consts:[["mat-dialog-title",""],["tabindex","-1","mat-dialog-close","","mat-icon-button",""],["mat-dialog-content","",3,"ngSwitch"],[3,"diameter",4,"ngSwitchCase"],[4,"ngSwitchCase"],[3,"diameter"],[3,"direction"],[3,"size"],["id","root"],[3,"dataSource","treeControl"],[4,"matTreeNodeDef"],[4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"d-flex",3,"size","ngSwitch"],["id","empty",4,"ngSwitchCase"],["id","content",4,"ngSwitchDefault"],["mat-ripple","",3,"click"],["mat-icon-button","","disabled",""],["matTreeNodeToggle",""],["tabindex","-1","mat-icon-button","","matTreeNodeToggle",""],[1,"mat-icon-rtl-mirror"],["matTreeNodeOutlet",""],["id","empty"],["id","content"],[3,"options","ngModel","ngModelChange","init"],["mat-raised-button","","color","primary",3,"click"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"header",0)(1,"span"),\u0275\u0275text(2,"Abrir Exemplo\u2026"),\u0275\u0275elementEnd(),\u0275\u0275element(3,"s"),\u0275\u0275elementStart(4,"button",1)(5,"mat-icon"),\u0275\u0275text(6,"close"),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(7,"main",2),\u0275\u0275template(8,DialogOpenExampleComponent_mat_spinner_8_Template,1,1,"mat-spinner",3),\u0275\u0275template(9,DialogOpenExampleComponent_div_9_Template,10,8,"div",4),\u0275\u0275elementEnd()),2&rf&&(\u0275\u0275advance(7),\u0275\u0275property("ngSwitch",ctx.loading),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase",!0),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase",!1))},dependencies:[NgSwitch,NgSwitchCase,NgSwitchDefault,NgControlStatus,NgModel,SplitComponent,SplitAreaDirective,MonacoEditorComponent,MatRipple,MatProgressSpinner,MatDialogClose,MatDialogTitle,MatDialogContent,MatButton,MatIconButton,MatIcon,MatNestedTreeNode,MatTreeNodeDef,MatTreeNodeToggle,MatTree,MatTreeNode,MatTreeNodeOutlet],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;--mdc-dialog-supporting-text-size: 14px;--mdc-dialog-supporting-text-line-height: 21px;--mdc-dialog-supporting-text-color: #fff;height:100%}header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(229,229,229,.4)}mat-spinner[_ngcontent-%COMP%]{margin:0 auto}.hidden[_ngcontent-%COMP%]{display:none!important}as-split-area[_ngcontent-%COMP%]{scrollbar-width:thin}.mat-mdc-tree-node[_ngcontent-%COMP%]{min-height:0!important}ul[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;overflow:hidden;width:100%;cursor:pointer;display:flex}ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%]{background-color:#0003}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:center}.mat-mdc-dialog-content[_ngcontent-%COMP%], main[_ngcontent-%COMP%]{display:flex;max-height:100%}main[_ngcontent-%COMP%], main[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex-grow:1} .as-split-gutter{background-color:#0003!important}#empty[_ngcontent-%COMP%]{flex-grow:1;display:flex;align-items:center}#empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 auto}#content[_ngcontent-%COMP%]{width:100%;padding:1rem 1.5rem 1.5rem;position:relative;display:flex;flex-direction:column}#content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0}#content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:justify}#content[_ngcontent-%COMP%] ngx-monaco-editor[_ngcontent-%COMP%]{flex-grow:1;margin-bottom:3.75rem}#content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:calc(100% - 22.5px);text-transform:uppercase;position:absolute;bottom:20px;left:15px;right:7.5px;font-size:1.15rem;line-height:3rem}"]}),DialogOpenExampleComponent2})(),TabStartComponent=(()=>{var _class2;class TabStartComponent2{constructor(gaService,sanitizer,dialog){this.gaService=gaService,this.sanitizer=sanitizer,this.dialog=dialog,this.newTab=new core_EventEmitter,this.help=new core_EventEmitter;const currentMonth=(new Date).getMonth()+1,currentDay=(new Date).getDate();this.logo=this.sanitizer.bypassSecurityTrustResourceUrl(2===currentMonth&¤tDay>=10||3===currentMonth&¤tDay<=5?"assets/logo/carnaval.svg":3===currentMonth&¤tDay>=20||4===currentMonth&¤tDay<=25?"assets/logo/pascoa.svg":10===currentMonth&¤tDay>=20||11===currentMonth&¤tDay<=5?"assets/logo/halloween.svg":12===currentMonth&¤tDay>=15&¤tDay<=29?"assets/logo/natal.svg":12===currentMonth&¤tDay>=30||1===currentMonth&¤tDay<=5?"assets/logo/ano-novo.svg":"assets/logo/default.svg")}openFile(event){this.gaService.event("home_open_file","Aba Inicial","Abrir arquivo atrav\xe9s da aba Inicial");const{files}=event.target;if(files&&0!==files.length)for(let i6=0;i6{const contents=e2.target?.result;this.newTab.emit({name:file.name,contents})},reader.readAsText(file,"ISO-8859-1")}}openExamplesDialog(){this.gaService.event("open_examples_dialog","Aba Inicial","Abrir di\xe1logo de exemplos");const ref2=this.dialog.open(DialogOpenExampleComponent,{width:"min(85vw, 780px)",height:"min(85vh, 600px)"});this._dialogExample$=ref2.componentInstance.exampleOpened.subscribe(example=>{this.gaService.event("open_example","Di\xe1logo de Exemplos",`Abrir exemplo: ${example.title}`),ref2.close(),this.newTab.emit({name:example.title,contents:example.code})}),this._dialogRef$=ref2.beforeClosed().subscribe(()=>{this._dialogRef$?.unsubscribe(),this._dialogExample$?.unsubscribe()})}}return(_class2=TabStartComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(GoogleAnalyticsService),\u0275\u0275directiveInject(DomSanitizer),\u0275\u0275directiveInject(MatDialog))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-tab-start"]],outputs:{newTab:"newTab",help:"help"},decls:58,vars:1,consts:[["width","100%",1,"logo",3,"src"],["mat-ripple","",3,"click"],["src","https://raw.githubusercontent.com/UNIVALI-LITE/Portugol-Studio/master/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/newfile.png"],["src","https://raw.githubusercontent.com/UNIVALI-LITE/Portugol-Studio/master/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/openfile.png"],["type","file","hidden","","multiple","","accept",".por,text/plain",3,"change"],["fileInput",""],["src","assets/icon-book-open-page-variant-outline.svg"],["src","https://raw.githubusercontent.com/UNIVALI-LITE/Portugol-Studio/master/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/help.png"],["href","https://feedback.userreport.com/95eb7601-de5d-4774-9b22-38a6c60e83bc/","target","_blank","rel","external nofollow","mat-ripple","",3,"click"],["src","assets/icon-lightbulb-on-outline.svg"],["href","https://github.com/dgadelha/Portugol-Webstudio","target","_blank","rel","external nofollow","mat-ripple","",3,"click"],["src","assets/icon-github.svg"],[1,"info"],["href","https://feedback.userreport.com/95eb7601-de5d-4774-9b22-38a6c60e83bc/","target","_blank","rel","external"],["matTooltip","03/11/2023 06:36:24 PM UTC"]],template:function(rf,ctx){if(1&rf){const _r1=\u0275\u0275getCurrentView();\u0275\u0275element(0,"img",0),\u0275\u0275elementStart(1,"nav")(2,"button",1),\u0275\u0275listener("click",function(){return ctx.newTab.emit()}),\u0275\u0275element(3,"img",2),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5,"Novo Arquivo"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(6,"button",1),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r1),\u0275\u0275resetView(\u0275\u0275reference(11).click())}),\u0275\u0275element(7,"img",3),\u0275\u0275elementStart(8,"span"),\u0275\u0275text(9,"Abrir Arquivo"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(10,"input",4,5),\u0275\u0275listener("change",function($event){return ctx.openFile($event)}),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(12,"button",1),\u0275\u0275listener("click",function(){return ctx.openExamplesDialog()}),\u0275\u0275element(13,"img",6),\u0275\u0275elementStart(14,"span"),\u0275\u0275text(15,"Abrir Exemplo"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(16,"button",1),\u0275\u0275listener("click",function(){return ctx.help.emit()}),\u0275\u0275element(17,"img",7),\u0275\u0275elementStart(18,"span"),\u0275\u0275text(19,"Ajuda"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(20,"a",8),\u0275\u0275listener("click",function(){return ctx.gaService.event("suggest_features","Aba Inicial","Enviar sugest\xf5es")}),\u0275\u0275element(21,"img",9),\u0275\u0275elementStart(22,"span"),\u0275\u0275text(23,"Sugest\xf5es"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(24,"a",10),\u0275\u0275listener("click",function(){return ctx.gaService.event("view_source_code","Aba Inicial","Ver c\xf3digo-fonte")}),\u0275\u0275element(25,"img",11),\u0275\u0275elementStart(26,"span"),\u0275\u0275text(27,"C\xf3digo-fonte"),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(28,"section",12)(29,"p")(30,"strong"),\u0275\u0275text(31,"Nova vers\xe3o:"),\u0275\u0275elementEnd(),\u0275\u0275text(32," Podem existir problemas, caso encontre algum ou tenha sugest\xf5es/coment\xe1rios, "),\u0275\u0275elementStart(33,"a",13),\u0275\u0275text(34," nos envie por aqui, estamos sempre acompanhando"),\u0275\u0275elementEnd(),\u0275\u0275text(35,". "),\u0275\u0275elementEnd(),\u0275\u0275element(36,"hr"),\u0275\u0275elementStart(37,"h4"),\u0275\u0275text(38,"\u{1f4f0}\xa0\xa0Novidades"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(39,"p")(40,"strong"),\u0275\u0275text(41,"15/10/2023:"),\u0275\u0275elementEnd(),\u0275\u0275text(42," Corre\xe7\xe3o de verifica\xe7\xe3o simples de retorno de fun\xe7\xe3o"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(43,"p")(44,"strong"),\u0275\u0275text(45,"11/10/2023:"),\u0275\u0275elementEnd(),\u0275\u0275text(46," Corre\xe7\xe3o de quebra de linha ap\xf3s execu\xe7\xe3o da fun\xe7\xe3o "),\u0275\u0275elementStart(47,"code"),\u0275\u0275text(48,"leia()"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(49,"p")(50,"strong"),\u0275\u0275text(51,"28/09/2023:"),\u0275\u0275elementEnd(),\u0275\u0275text(52," Corre\xe7\xe3o de uso excessivo de recursos ao usar atribui\xe7\xf5es."),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(53,"footer")(54,"summary"),\u0275\u0275text(55,"Vers\xe3o: "),\u0275\u0275elementStart(56,"span",14),\u0275\u0275text(57,"d3ca549"),\u0275\u0275elementEnd()()()}2&rf&&\u0275\u0275property("src",ctx.logo,\u0275\u0275sanitizeUrl)},dependencies:[MatRipple,MatTooltip],styles:["[_nghost-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100%;min-height:100%;padding:2rem}.logo[_ngcontent-%COMP%]{max-width:20rem;margin-bottom:2rem}nav[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center}@media (min-width: 768px){nav[_ngcontent-%COMP%]{max-width:50vw}}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;margin:.25rem;background-color:#121e24;-webkit-appearance:none;appearance:none;border:none;border-radius:.25rem;color:#fff;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:.85rem;-webkit-user-select:none;user-select:none}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover, nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background-color:tint(#121e24,15);color:tint(#fff,15)}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{margin-bottom:1rem;max-width:2rem}section[_ngcontent-%COMP%]{max-width:600px;margin:20px;letter-spacing:.25px;padding:0 15px;font-family:Lato,sans-serif;color:#fff;border:1px solid rgba(30,30,30,.1);border-radius:15px;box-shadow:.3px .5px .7px #0206085c,.8px 1.6px 2px -.8px #0206085c,2.1px 4.1px 5.2px -1.7px #0206085c,5px 10px 12.6px -2.5px #0206085c}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.5rem 0;line-height:1.5;list-style-type:square}section[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:1.25rem}section[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{vertical-align:-5px;margin-right:7.5px}section[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:underline;color:#fafafa}section.alert[_ngcontent-%COMP%]{background:#8c2626}section.info[_ngcontent-%COMP%]{background-color:#2559b3}hr[_ngcontent-%COMP%]{margin:1rem 0;border:none;border-top:1px solid rgba(255,255,255,.25)}footer[_ngcontent-%COMP%]{position:absolute;bottom:10px;left:10px;-webkit-user-select:none;user-select:none}footer[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{font-size:.75rem;color:#fff}footer[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-family:monospace;color:#c2c2c3;text-transform:uppercase}"]}),TabStartComponent2})();function TabHelpComponent_mat_tree_node_8_Template(rf,ctx){if(1&rf){const _r5=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-tree-node")(1,"li",8),\u0275\u0275listener("click",function(){const node_r3=\u0275\u0275restoreView(_r5).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().loadItem(node_r3))}),\u0275\u0275elementStart(2,"button",9),\u0275\u0275element(3,"mat-icon"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5),\u0275\u0275elementEnd()()()}if(2&rf){const node_r3=ctx.$implicit,ctx_r0=\u0275\u0275nextContext();\u0275\u0275advance(1),\u0275\u0275classProp("active",(null==ctx_r0.current?null:ctx_r0.current.id)===node_r3.id),\u0275\u0275advance(4),\u0275\u0275textInterpolate(node_r3.text)}}function TabHelpComponent_mat_nested_tree_node_9_Template(rf,ctx){if(1&rf){const _r8=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"mat-nested-tree-node")(1,"li",10),\u0275\u0275listener("click",function(){const node_r6=\u0275\u0275restoreView(_r8).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().loadItem(node_r6))}),\u0275\u0275elementStart(2,"button",11)(3,"mat-icon",12),\u0275\u0275text(4),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(5,"span"),\u0275\u0275text(6),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(7,"ul"),\u0275\u0275elementContainer(8,13),\u0275\u0275elementEnd()()}if(2&rf){const node_r6=ctx.$implicit,ctx_r1=\u0275\u0275nextContext();\u0275\u0275advance(1),\u0275\u0275classProp("active",(null==ctx_r1.current?null:ctx_r1.current.id)===node_r6.id),\u0275\u0275advance(3),\u0275\u0275textInterpolate1(" ",ctx_r1.treeControl.isExpanded(node_r6)?"expand_more":"chevron_right"," "),\u0275\u0275advance(2),\u0275\u0275textInterpolate(node_r6.text),\u0275\u0275advance(1),\u0275\u0275classProp("hidden",!ctx_r1.treeControl.isExpanded(node_r6))}}function TabHelpComponent_iframe_11_Template(rf,ctx){1&rf&&\u0275\u0275element(0,"iframe",14),2&rf&&\u0275\u0275property("src",\u0275\u0275nextContext().currentUrl,\u0275\u0275sanitizeResourceUrl)}let TabHelpComponent=(()=>{var _class2;class TabHelpComponent2{constructor(http,sanitizer,ngZone,gaService,responsive){this.http=http,this.sanitizer=sanitizer,this.ngZone=ngZone,this.gaService=gaService,this.responsive=responsive,this.isBelowMd=!1,this.newTab=new core_EventEmitter,this.treeControl=new NestedTreeControl(node2=>node2.children),this.dataSource=new MatTreeNestedDataSource}ngOnInit(){window.portugol={abrirExemplo:(contents,name)=>{this.ngZone.run(()=>{this.newTab.emit({name,contents})})}},this.http.get("assets/recursos/ajuda/scripts/topicos.json").subscribe(ajuda=>{this.dataSource.data=ajuda,this.treeControl.expand(ajuda[0]),this.loadItem(ajuda[0])},()=>{})}ngOnDestroy(){this.responsive$?.unsubscribe()}ngAfterViewInit(){this.responsive$=this.responsive.isBelowMd().subscribe(isBelowMd=>{this.isBelowMd=isBelowMd.matches})}hasChildren(_,item){return item.children?.length??0}loadItem(item){this.gaService.event("help_navigation","Ajuda",item.href),this.current=item,this.currentUrl=this.sanitizer.bypassSecurityTrustResourceUrl(`assets/recursos/ajuda/${item.href}`)}}return(_class2=TabHelpComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(HttpClient),\u0275\u0275directiveInject(DomSanitizer),\u0275\u0275directiveInject(core_NgZone),\u0275\u0275directiveInject(GoogleAnalyticsService),\u0275\u0275directiveInject(ResponsiveService))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-tab-help"]],outputs:{newTab:"newTab"},decls:12,vars:6,consts:[["unit","pixel",3,"direction"],[3,"size"],["src","assets/icon-help-circle-outline.svg"],["id","root"],[3,"dataSource","treeControl"],[4,"matTreeNodeDef"],[4,"matTreeNodeDef","matTreeNodeDefWhen"],[3,"src",4,"ngIf"],["mat-ripple","",3,"click"],["mat-icon-button","","disabled",""],[3,"click"],["mat-icon-button","","matTreeNodeToggle",""],[1,"mat-icon-rtl-mirror"],["matTreeNodeOutlet",""],[3,"src"]],template:function(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"as-split",0)(1,"as-split-area",1)(2,"header"),\u0275\u0275element(3,"svg-icon",2),\u0275\u0275elementStart(4,"span"),\u0275\u0275text(5,"Ajuda"),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(6,"ul",3)(7,"mat-tree",4),\u0275\u0275template(8,TabHelpComponent_mat_tree_node_8_Template,6,3,"mat-tree-node",5),\u0275\u0275template(9,TabHelpComponent_mat_nested_tree_node_9_Template,9,6,"mat-nested-tree-node",6),\u0275\u0275elementEnd()()(),\u0275\u0275elementStart(10,"as-split-area"),\u0275\u0275template(11,TabHelpComponent_iframe_11_Template,1,1,"iframe",7),\u0275\u0275elementEnd()()),2&rf&&(\u0275\u0275property("direction",ctx.isBelowMd?"vertical":"horizontal"),\u0275\u0275advance(1),\u0275\u0275property("size",350),\u0275\u0275advance(6),\u0275\u0275property("dataSource",ctx.dataSource)("treeControl",ctx.treeControl),\u0275\u0275advance(2),\u0275\u0275property("matTreeNodeDefWhen",ctx.hasChildren),\u0275\u0275advance(2),\u0275\u0275property("ngIf",ctx.current))},dependencies:[NgIf,SplitComponent,SplitAreaDirective,SvgIconComponent,MatRipple,MatIconButton,MatIcon,MatNestedTreeNode,MatTreeNodeDef,MatTreeNodeToggle,MatTree,MatTreeNode,MatTreeNodeOutlet],styles:["header[_ngcontent-%COMP%]{display:block;background-color:#121e24;margin:7.5px;padding:12.5px 15px;font-size:14px}header[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1.3rem;height:1.3rem;vertical-align:-.3125em;margin-right:.4rem}.hidden[_ngcontent-%COMP%]{display:none!important}as-split-area[_ngcontent-%COMP%]{scrollbar-width:thin}.mat-mdc-tree-node[_ngcontent-%COMP%]{min-height:0!important}ul[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;background-color:#263238}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;overflow:hidden;width:100%;background-color:#263238;cursor:pointer;display:flex}ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%]{background-color:#121e24}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:center}iframe[_ngcontent-%COMP%]{width:100%;height:100%;display:block;border:0 none}"]}),TabHelpComponent2})();function AppComponent_ng_template_5_Template(rf,ctx){1&rf&&(\u0275\u0275elementStart(0,"span",8),\u0275\u0275element(1,"img",9),\u0275\u0275elementEnd(),\u0275\u0275elementStart(2,"span",10),\u0275\u0275text(3,"Portugol Webstudio"),\u0275\u0275elementEnd())}function AppComponent_mat_tab_7_ng_template_1_svg_icon_2_Template(rf,ctx){1&rf&&\u0275\u0275element(0,"svg-icon",20)}function AppComponent_mat_tab_7_ng_template_1_svg_icon_3_Template(rf,ctx){1&rf&&\u0275\u0275element(0,"svg-icon",21)}function AppComponent_mat_tab_7_ng_template_1_button_7_Template(rf,ctx){if(1&rf){const _r12=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",22),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r12);const tab_r3=\u0275\u0275nextContext(2).$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().changeTabTitle(tab_r3))}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2,"drive_file_rename_outline"),\u0275\u0275elementEnd()()}}const app_component_c0=function(){return{marginLeft:0}},app_component_c1=function(){return{}};function AppComponent_mat_tab_7_ng_template_1_Template(rf,ctx){if(1&rf){const _r15=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"span")(1,"span",14),\u0275\u0275template(2,AppComponent_mat_tab_7_ng_template_1_svg_icon_2_Template,1,0,"svg-icon",15),\u0275\u0275template(3,AppComponent_mat_tab_7_ng_template_1_svg_icon_3_Template,1,0,"svg-icon",16),\u0275\u0275elementEnd(),\u0275\u0275elementStart(4,"span",10),\u0275\u0275text(5),\u0275\u0275elementEnd()(),\u0275\u0275elementStart(6,"span",17),\u0275\u0275template(7,AppComponent_mat_tab_7_ng_template_1_button_7_Template,3,0,"button",18),\u0275\u0275elementStart(8,"button",19),\u0275\u0275listener("click",function(){\u0275\u0275restoreView(_r15);const tab_r3=\u0275\u0275nextContext().$implicit;return \u0275\u0275resetView(\u0275\u0275nextContext().closeTab(tab_r3))}),\u0275\u0275elementStart(9,"mat-icon"),\u0275\u0275text(10,"close"),\u0275\u0275elementEnd()()()}if(2&rf){const tab_r3=\u0275\u0275nextContext().$implicit;\u0275\u0275advance(1),\u0275\u0275property("ngSwitch",tab_r3.type),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase","editor"),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase","help"),\u0275\u0275advance(2),\u0275\u0275textInterpolate(tab_r3.title),\u0275\u0275advance(2),\u0275\u0275property("ngIf","editor"===tab_r3.type),\u0275\u0275advance(1),\u0275\u0275styleMap("editor"===tab_r3.type?\u0275\u0275pureFunction0(7,app_component_c0):\u0275\u0275pureFunction0(8,app_component_c1))}}function AppComponent_mat_tab_7_app_tab_editor_3_Template(rf,ctx){if(1&rf){const _r19=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"app-tab-editor",23),\u0275\u0275listener("titleChange",function($event){return \u0275\u0275restoreView(_r19),\u0275\u0275resetView(\u0275\u0275nextContext().$implicit.title=$event)})("help",function(){return \u0275\u0275restoreView(_r19),\u0275\u0275resetView(\u0275\u0275nextContext(2).upsertHelpTab())}),\u0275\u0275elementEnd()}if(2&rf){const tab_r3=\u0275\u0275nextContext().$implicit;\u0275\u0275property("title",tab_r3.title)("code",tab_r3.contents)}}function AppComponent_mat_tab_7_app_tab_help_4_Template(rf,ctx){if(1&rf){const _r23=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"app-tab-help",24),\u0275\u0275listener("newTab",function($event){return \u0275\u0275restoreView(_r23),\u0275\u0275resetView(\u0275\u0275nextContext(2).addTab(null==$event?null:$event.name,null==$event?null:$event.contents))}),\u0275\u0275elementEnd()}}function AppComponent_mat_tab_7_Template(rf,ctx){if(1&rf&&(\u0275\u0275elementStart(0,"mat-tab"),\u0275\u0275template(1,AppComponent_mat_tab_7_ng_template_1_Template,11,9,"ng-template",3),\u0275\u0275elementContainerStart(2,11),\u0275\u0275template(3,AppComponent_mat_tab_7_app_tab_editor_3_Template,1,2,"app-tab-editor",12),\u0275\u0275template(4,AppComponent_mat_tab_7_app_tab_help_4_Template,1,0,"app-tab-help",13),\u0275\u0275elementContainerEnd(),\u0275\u0275elementEnd()),2&rf){const tab_r3=ctx.$implicit;\u0275\u0275advance(2),\u0275\u0275property("ngSwitch",tab_r3.type),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase","editor"),\u0275\u0275advance(1),\u0275\u0275property("ngSwitchCase","help")}}function AppComponent_ng_template_9_Template(rf,ctx){if(1&rf){const _r25=\u0275\u0275getCurrentView();\u0275\u0275elementStart(0,"button",25),\u0275\u0275listener("click",function(){return \u0275\u0275restoreView(_r25),\u0275\u0275resetView(\u0275\u0275nextContext().addTab())}),\u0275\u0275elementStart(1,"mat-icon"),\u0275\u0275text(2,"add"),\u0275\u0275elementEnd()()}}let AppComponent=(()=>{var _class2;class AppComponent2{constructor(gaService,storage,snack){this.gaService=gaService,this.storage=storage,this.snack=snack,this.selected=new FormControl(0),this.tabs=[],this.tabIndex=1,this.shortcuts=[{key:"ctrl + q",preventDefault:!0,command:()=>this.closeTab(this.tabs[this.selected.value??0])},{key:"ctrl + n",preventDefault:!0,command:()=>this.addTab()}]}ngOnInit(){var _this=this;return asyncToGenerator_asyncToGenerator(function*(){try{if(window.location.hash.startsWith("#share=")){_this.snack.open("Carregando c\xf3digo compartilhado\u2026",void 0,{duration:-1});const hash=window.location.hash.substring(7),contents=yield(yield angular_fire_storage_getBlob(angular_fire_storage_ref(_this.storage,hash))).text();_this.addTab(`C\xf3digo compartilhado (#${hash})`,contents),_this.snack.dismiss(),_this.gaService.event("load_shared_code_success","Interface","C\xf3digo compartilhado carregado")}}catch(e2){console.error(e2),_this.snack.dismiss(),_this.snack.open("Erro ao carregar c\xf3digo compartilhado","FECHAR",{duration:1e4}),_this.gaService.event("load_shared_code_error","Interface","Erro ao carregar c\xf3digo compartilhado")}})()}addTab(title,contents){this.tabs.push({id:this.tabIndex++,title:title||"Sem t\xedtulo",contents,type:"editor"}),this.selected.setValue(this.tabs.length),this.gaService.event("new_tab_top","Editor","Nova aba",this.tabs.length)}closeTab(tab){"editor"===tab.type&&!window.confirm("Tem certeza que deseja fechar a aba? O c\xf3digo n\xe3o salvo ser\xe1 perdido.")||(this.tabs.splice(this.tabs.indexOf(tab),1),this.selected.setValue(0),this.gaService.event("close_tab","Interface","Fechar aba",this.tabs.length))}changeTabTitle(tab){if(this.selected.value!==tab.id||"editor"!==tab.type)return;this.gaService.event("edit_tab_title","Interface","Editar t\xedtulo de aba");const title=prompt("Digite o novo t\xedtulo",tab.title);title&&(tab.title=title)}upsertHelpTab(){const tabPos=this.tabs.findIndex(t=>"help"===t.type);-1===tabPos?(this.tabs.push({id:this.tabIndex++,title:"Ajuda",type:"help"}),this.gaService.event("help_tab_open","Interface","Nova aba de ajuda"),this.selected.setValue(this.tabs.length)):(this.gaService.event("help_tab_select","Interface","Selecionar aba de ajuda j\xe1 aberta"),this.selected.setValue(tabPos+1))}}return(_class2=AppComponent2).\u0275fac=function(t){return new(t||_class2)(\u0275\u0275directiveInject(GoogleAnalyticsService),\u0275\u0275directiveInject(angular_fire_storage_Storage),\u0275\u0275directiveInject(MatSnackBar))},_class2.\u0275cmp=\u0275\u0275defineComponent({type:_class2,selectors:[["app-root"]],decls:10,vars:3,consts:[[3,"shortcuts"],["id","preload"],["animationDuration","0","mat-stretch-tabs","false","mat-align-tabs","start",3,"selectedIndex","selectedIndexChange"],["mat-tab-label",""],[3,"newTab","help"],[4,"ngFor","ngForOf"],["disabled",""],["mat-tab-label","","class","tab-add"],[1,"tab-icon"],["src","https://raw.githubusercontent.com/UNIVALI-LITE/Portugol-Studio/master/ide/src/main/resources/br/univali/ps/ui/icones/Dark/pequeno/light_pix.png"],[1,"tab-text"],[3,"ngSwitch"],[3,"title","code","titleChange","help",4,"ngSwitchCase"],[3,"newTab",4,"ngSwitchCase"],[1,"tab-icon",3,"ngSwitch"],["src","assets/icon-file.svg",4,"ngSwitchCase"],["src","assets/icon-help-circle-outline.svg",4,"ngSwitchCase"],[1,"tab-actions"],["mat-icon-button","","matTooltip","Renomear aba",3,"click",4,"ngIf"],["mat-icon-button","","matTooltip","Fechar aba",3,"click"],["src","assets/icon-file.svg"],["src","assets/icon-help-circle-outline.svg"],["mat-icon-button","","matTooltip","Renomear aba",3,"click"],[3,"title","code","titleChange","help"],[3,"newTab"],["mat-icon-button","","matTooltip","Nova aba de editor de c\xf3digo",1,"add-button",3,"click"]],template:function(rf,ctx){1&rf&&(\u0275\u0275element(0,"ng-keyboard-shortcuts",0),\u0275\u0275elementStart(1,"div",1),\u0275\u0275element(2,"ngx-monaco-editor"),\u0275\u0275elementEnd(),\u0275\u0275elementStart(3,"mat-tab-group",2),\u0275\u0275listener("selectedIndexChange",function($event){return ctx.selected.setValue($event)}),\u0275\u0275elementStart(4,"mat-tab"),\u0275\u0275template(5,AppComponent_ng_template_5_Template,4,0,"ng-template",3),\u0275\u0275elementStart(6,"app-tab-start",4),\u0275\u0275listener("newTab",function($event){return ctx.addTab(null==$event?null:$event.name,null==$event?null:$event.contents)})("help",function(){return ctx.upsertHelpTab()}),\u0275\u0275elementEnd()(),\u0275\u0275template(7,AppComponent_mat_tab_7_Template,5,3,"mat-tab",5),\u0275\u0275elementStart(8,"mat-tab",6),\u0275\u0275template(9,AppComponent_ng_template_9_Template,3,0,"ng-template",7),\u0275\u0275elementEnd()()),2&rf&&(\u0275\u0275property("shortcuts",ctx.shortcuts),\u0275\u0275advance(3),\u0275\u0275property("selectedIndex",ctx.selected.value),\u0275\u0275advance(4),\u0275\u0275property("ngForOf",ctx.tabs))},dependencies:[NgForOf,NgIf,NgSwitch,NgSwitchCase,MonacoEditorComponent,KeyboardShortcutsComponent,SvgIconComponent,MatTabLabel,MatTab,MatTabGroup,MatIconButton,MatIcon,MatTooltip,TabEditorComponent,TabStartComponent,TabHelpComponent],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;padding:.5rem}#preload[_ngcontent-%COMP%]{width:0;height:0;opacity:0;z-index:-1} mat-tab-group{display:flex;flex-direction:row;flex-wrap:nowrap;flex-grow:1;border-radius:10px;overflow:hidden} mat-tab-group .mat-mdc-tab{--mdc-secondary-navigation-tab-container-height: 40px;--mat-tab-header-active-label-text-color: $tab-active-color;--mat-tab-header-active-focus-label-text-color: $tab-active-color;--mat-tab-header-active-hover-label-text-color: $tab-active-color;--mat-tab-header-active-hover-indicator-color: $tab-active-color;position:relative;background-color:#445056;color:#cdcdcd;font-weight:700;font-size:14px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;padding:.5rem 1rem;height:40px;margin-right:1px;text-decoration:none;transition:all .2s ease;opacity:1;justify-content:flex-start;min-width:0;font-family:Lato,sans-serif;-webkit-user-select:none;user-select:none} mat-tab-group .mat-mdc-tab .mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:0} mat-tab-group .mat-mdc-tab:hover .mdc-tab__ripple:before{opacity:0} mat-tab-group .mat-mdc-tab.mat-mdc-tab-disabled{opacity:1;pointer-events:auto} mat-tab-group .mat-mdc-tab .mdc-tab-indicator{display:none} mat-tab-group .mat-mdc-tab .mdc-tab__text-label>span{display:inline-flex} mat-tab-group .mat-mdc-tab:last-child{padding:0!important;color:#fff} mat-tab-group .mat-mdc-tab:last-child button{border-radius:0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0){padding-right:0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0):not(.mdc-tab--active){padding-right:16px} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0):not(.mdc-tab--active) .tab-actions{display:none} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) .add-button{--mdc-icon-button-state-layer-size: 40px;padding:8px 0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mdc-tab__content, mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mat-mdc-tab-ripple, mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mdc-tab__ripple:before{pointer-events:all} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) button:not(.add-button){border-radius:0;display:inline-block;margin-left:10px;padding:0;width:30px;height:30px;line-height:30px} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) button:not(.add-button) .mat-icon{width:20px;height:20px;font-size:20px;line-height:20px} mat-tab-group .mat-mdc-tab.mdc-tab--active, mat-tab-group .mat-mdc-tab:focus:not(.mat-mdc-tab-disabled){background-color:#263238!important;color:#cdcdcd!important} mat-tab-group .mat-mdc-tab.mdc-tab--active:after, mat-tab-group .mat-mdc-tab:focus:not(.mat-mdc-tab-disabled):after{content:"";position:absolute;top:0;left:0;right:0;width:100%;height:1px;background-color:#ffc200} mat-tab-group .mat-mdc-tab .tab-icon svg, mat-tab-group .mat-mdc-tab .tab-icon img, mat-tab-group .mat-mdc-tab .tab-add-icon{display:flex;align-items:center;justify-content:center;width:1rem;margin-right:.5rem;fill:#cdcdcd} mat-tab-group .mat-mdc-tab .tab-text{flex-grow:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:normal} mat-tab-group .mat-mdc-tab-body-wrapper{flex-grow:1} mat-tab-group .mat-mdc-tab-body-wrapper mat-tab-body{background-color:#263238;color:#cdcdcd;flex-grow:1;overflow:hidden}']}),AppComponent2})(),MonacoService=(()=>{var _class2;class MonacoService2{constructor(monacoLoaderService){this.monacoLoaderService=monacoLoaderService,this.monacoLoaderService.isMonacoLoaded$.pipe(filter_filter(isLoaded=>isLoaded),take_take(1)).subscribe(()=>{try{monaco.languages.register({id:"portugol",extensions:[".por"],aliases:["Portugol"]}),monaco.languages.setLanguageConfiguration("portugol",{wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:monaco.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:monaco.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:/^\s*\/\/\s*#?region\b/,end:/^\s*\/\/\s*#?endregion\b/}}}),monaco.languages.setMonarchTokensProvider("portugol",{defaultToken:"invalid",tokenPostfix:".portugol",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],keywords:["faca","enquanto","para","se","senao","const","funcao","programa","escolha","caso","contrario","pare","retorne","inclua","biblioteca","verdadeiro","falso"],typeKeywords:["real","inteiro","vazio","logico","cadeia","caracter"],operators:["nao","e","ou","-","+","*","/","%","=","==","!=",">","<","<=",">=","++","--","<<",">>","^","|","~","--\x3e","&","+=","-=","*=","/="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}),monaco.editor.defineTheme("portugol",{base:"vs-dark",inherit:!0,rules:[{token:"functions",foreground:"F5D7A9"},{token:"string.escape",foreground:"D2BB85"},{token:"string.escape.invalid",foreground:"DF5953"}],colors:{}})}catch(e2){console.error(e2),window.location.reload()}})}}return(_class2=MonacoService2).\u0275fac=function(t){return new(t||_class2)(core_inject(MonacoEditorLoaderService))},_class2.\u0275prov=core_defineInjectable({token:_class2,factory:_class2.\u0275fac,providedIn:"root"}),MonacoService2})();const environment_firebase={apiKey:"AIzaSyD_6fjI7Vsm4RQS6EJZSZ_an7Zehjz9YwQ",authDomain:"portugol-webstudio.firebaseapp.com",projectId:"portugol-webstudio",storageBucket:"portugol-webstudio.appspot.com",messagingSenderId:"845512624544",appId:"1:845512624544:web:b1d4787cafd265429dfcc5",measurementId:"G-BM3QGZS096"};let AppModule=(()=>{var _class2,config2;class AppModule2{}return(_class2=AppModule2).\u0275fac=function(t){return new(t||_class2)},_class2.\u0275mod=\u0275\u0275defineNgModule({type:_class2,bootstrap:[AppComponent]}),_class2.\u0275inj=\u0275\u0275defineInjector({providers:[MonacoService,{provide:ErrorHandler,useValue:(config2={showDialog:!0,dialogOptions:{lang:"pt-br"}},new SentryErrorHandler(config2))},{provide:core_APP_INITIALIZER,useFactory:()=>()=>{},multi:!0,deps:[MonacoService]}],imports:[platform_browser_BrowserModule,BrowserAnimationsModule,FormsModule,AngularSplitModule,HttpClientModule,MonacoEditorModule,KeyboardShortcutsModule.forRoot(),NgxGoogleAnalyticsModule.forRoot("G-ZKM28VG4G5"),AngularSvgIconModule.forRoot(),provideFirebaseApp(()=>angular_fire_app_initializeApp(environment_firebase)),provideStorage(()=>angular_fire_storage_getStorage()),MatSnackBarModule,MatRippleModule,MatProgressSpinnerModule,MatDialogModule,MatTabsModule,MatButtonModule,MatIconModule,MatTooltipModule,MatTreeModule]}),AppModule2})();(function sentry_angular_ivy_init(options){options._metadata=options._metadata||{},options._metadata.sdk={name:"sentry.javascript.angular-ivy",packages:[{name:"npm:@sentry/angular-ivy",version:"7.62.0"}],version:"7.62.0"},void 0===options.defaultIntegrations&&(options.defaultIntegrations=defaultIntegrations.filter(integration=>"TryCatch"!==integration.name)),function checkAndSetAngularVersion(){const angularVersion=core_VERSION&&core_VERSION.major?parseInt(core_VERSION.major,10):void 0;angularVersion&&(angularVersion<12&&IS_DEBUG_BUILD&&logger_logger.warn(`This Sentry SDK does not officially support Angular ${angularVersion}.`,"This SDK only supports Angular 12 and above.","If you're using Angular 10 or 11, please use `@sentry/angular` instead.","Otherwise, please consider upgrading your Angular version."),setContext("angular",{version:angularVersion}))}(),function init(options={}){void 0===options.defaultIntegrations&&(options.defaultIntegrations=defaultIntegrations),void 0===options.release&&("string"==typeof __SENTRY_RELEASE__&&(options.release=__SENTRY_RELEASE__),helpers_WINDOW.SENTRY_RELEASE&&helpers_WINDOW.SENTRY_RELEASE.id&&(options.release=helpers_WINDOW.SENTRY_RELEASE.id)),void 0===options.autoSessionTracking&&(options.autoSessionTracking=!0),void 0===options.sendClientReports&&(options.sendClientReports=!0);const clientOptions={...options,stackParser:(stackParser=options.stackParser||defaultStackParser,Array.isArray(stackParser)?createStackParser(...stackParser):stackParser),integrations:getIntegrationsToSetup(options),transport:options.transport||(supportsFetch()?makeFetchTransport:makeXHRTransport)};var stackParser;(function initAndBind(clientClass,options){!0===options.debug&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?logger_logger.enable():console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle."));const hub=hub_getCurrentHub();hub.getScope().update(options.initialScope);const client=new clientClass(options);hub.bindClient(client)})(BrowserClient,clientOptions),options.autoSessionTracking&&function startSessionTracking(){if(typeof helpers_WINDOW.document>"u")return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("Session tracking in non-browser environment with @sentry/browser is not supported."));const hub=hub_getCurrentHub();hub.captureSession&&(startSessionOnHub(hub),addInstrumentationHandler("history",({from:from2,to})=>{void 0===from2||from2===to||startSessionOnHub(hub_getCurrentHub())}))}()}(options)})({dsn:"https://620518162f784d2aa3e3ee7223d08594@o1070945.ingest.sentry.io/6067438",debug:!1,tracesSampleRate:.1,replaysOnErrorSampleRate:.1,integrations:[new Replay,new class BrowserTracing{constructor(_options){this.name="BrowserTracing",this._hasSetTracePropagationTargets=!1,function addTracingExtensions(){const carrier=getMainCarrier();carrier.__SENTRY__&&(carrier.__SENTRY__.extensions=carrier.__SENTRY__.extensions||{},carrier.__SENTRY__.extensions.startTransaction||(carrier.__SENTRY__.extensions.startTransaction=_startTransaction),carrier.__SENTRY__.extensions.traceHeaders||(carrier.__SENTRY__.extensions.traceHeaders=traceHeaders),function registerErrorInstrumentation(){errorsInstrumented||(errorsInstrumented=!0,addInstrumentationHandler("error",errorCallback),addInstrumentationHandler("unhandledrejection",errorCallback))}())}(),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(this._hasSetTracePropagationTargets=!(!_options||!_options.tracePropagationTargets&&!_options.tracingOrigins)),this.options={...DEFAULT_BROWSER_TRACING_OPTIONS,..._options},void 0!==this.options._experiments.enableLongTask&&(this.options.enableLongTask=this.options._experiments.enableLongTask),_options&&!_options.tracePropagationTargets&&_options.tracingOrigins&&(this.options.tracePropagationTargets=_options.tracingOrigins),this._collectWebVitals=startTrackingWebVitals(),this.options.enableLongTask&&function startTrackingLongTasks(){observe("longtask",entries=>{for(const entry of entries){const transaction=utils_getActiveTransaction();if(!transaction)return;const startTime=msToSec(esm_time.Z1+entry.startTime),duration=msToSec(entry.duration);transaction.startChild({description:"Main UI thread blocked",op:"ui.long-task",startTimestamp:startTime,endTimestamp:startTime+duration})}})}(),this.options._experiments.enableInteractions&&function startTrackingInteractions(){observe("event",entries=>{for(const entry of entries){const transaction=utils_getActiveTransaction();if(!transaction)return;if("click"===entry.name){const startTime=msToSec(esm_time.Z1+entry.startTime),duration=msToSec(entry.duration);transaction.startChild({description:htmlTreeAsString(entry.target),op:`ui.interaction.${entry.name}`,startTimestamp:startTime,endTimestamp:startTime+duration})}}},{durationThreshold:0})}()}setupOnce(_,getCurrentHub2){this._getCurrentHub=getCurrentHub2;const client=getCurrentHub2().getClient(),clientOptions=client&&client.getOptions(),{routingInstrumentation:instrumentRouting,startTransactionOnLocationChange,startTransactionOnPageLoad,markBackgroundTransactions,traceFetch,traceXHR,shouldCreateSpanForRequest,enableHTTPTimings,_experiments}=this.options,clientOptionsTracePropagationTargets=clientOptions&&clientOptions.tracePropagationTargets,tracePropagationTargets=clientOptionsTracePropagationTargets||this.options.tracePropagationTargets;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this._hasSetTracePropagationTargets&&clientOptionsTracePropagationTargets&&logger_logger.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used."),instrumentRouting(context2=>{const transaction=this._createRouteTransaction(context2);return this.options._experiments.onStartRouteTransaction&&this.options._experiments.onStartRouteTransaction(transaction,context2,getCurrentHub2),transaction},startTransactionOnPageLoad,startTransactionOnLocationChange),markBackgroundTransactions&&function registerBackgroundTabDetection(){types_WINDOW&&types_WINDOW.document?types_WINDOW.document.addEventListener("visibilitychange",()=>{const activeTransaction=utils_getActiveTransaction();if(types_WINDOW.document.hidden&&activeTransaction){const statusType="cancelled";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Transaction: ${statusType} -> since tab moved to the background, op: ${activeTransaction.op}`),activeTransaction.status||activeTransaction.setStatus(statusType),activeTransaction.setTag("visibilitychange","document.hidden"),activeTransaction.finish()}}):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn("[Tracing] Could not set up background tab detection due to lack of global document")}(),_experiments.enableInteractions&&this._registerInteractionListener(),function instrumentOutgoingRequests(_options){const{traceFetch,traceXHR,tracePropagationTargets,tracingOrigins,shouldCreateSpanForRequest,enableHTTPTimings}={traceFetch:defaultRequestInstrumentationOptions.traceFetch,traceXHR:defaultRequestInstrumentationOptions.traceXHR,..._options},shouldCreateSpan="function"==typeof shouldCreateSpanForRequest?shouldCreateSpanForRequest:_=>!0,shouldAttachHeadersWithTargets=url=>function shouldAttachHeaders(url,tracePropagationTargets){return stringMatchesSomePattern(url,tracePropagationTargets||DEFAULT_TRACE_PROPAGATION_TARGETS)}(url,tracePropagationTargets||tracingOrigins),spans={};traceFetch&&addInstrumentationHandler("fetch",handlerData=>{const createdSpan=function fetchCallback(handlerData,shouldCreateSpan,shouldAttachHeaders2,spans){if(!hasTracingEnabled()||!handlerData.fetchData)return;const shouldCreateSpanResult=shouldCreateSpan(handlerData.fetchData.url);if(handlerData.endTimestamp&&shouldCreateSpanResult){const spanId=handlerData.fetchData.__span;if(!spanId)return;const span2=spans[spanId];if(span2){if(handlerData.response){span2.setHttpStatus(handlerData.response.status);const contentLength=handlerData.response&&handlerData.response.headers&&handlerData.response.headers.get("content-length"),contentLengthNum=parseInt(contentLength);contentLengthNum>0&&span2.setData("http.response_content_length",contentLengthNum)}else handlerData.error&&span2.setStatus("internal_error");span2.finish(),delete spans[spanId]}return}const hub=hub_getCurrentHub(),scope=hub.getScope(),client=hub.getClient(),parentSpan=scope.getSpan(),{method,url}=handlerData.fetchData,span=shouldCreateSpanResult&&parentSpan?parentSpan.startChild({data:{url,type:"fetch","http.method":method},description:`${method} ${url}`,op:"http.client"}):void 0;if(span&&(handlerData.fetchData.__span=span.spanId,spans[span.spanId]=span),shouldAttachHeaders2(handlerData.fetchData.url)&&client){const request=handlerData.args[0];handlerData.args[1]=handlerData.args[1]||{};const options=handlerData.args[1];options.headers=function addTracingHeadersToFetchRequest(request,client,scope,options,requestSpan){const span=requestSpan||scope.getSpan(),transaction=span&&span.transaction,{traceId,sampled,dsc}=scope.getPropagationContext(),sentryTraceHeader=span?span.toTraceparent():generateSentryTraceHeader(traceId,void 0,sampled),sentryBaggageHeader=dynamicSamplingContextToSentryBaggageHeader(transaction?transaction.getDynamicSamplingContext():dsc||getDynamicSamplingContextFromClient(traceId,client,scope)),headers=typeof Request<"u"&&isInstanceOf(request,Request)?request.headers:options.headers;if(headers){if(typeof Headers<"u"&&isInstanceOf(headers,Headers)){const newHeaders=new Headers(headers);return newHeaders.append("sentry-trace",sentryTraceHeader),sentryBaggageHeader&&newHeaders.append(BAGGAGE_HEADER_NAME,sentryBaggageHeader),newHeaders}if(Array.isArray(headers)){const newHeaders=[...headers,["sentry-trace",sentryTraceHeader]];return sentryBaggageHeader&&newHeaders.push([BAGGAGE_HEADER_NAME,sentryBaggageHeader]),newHeaders}{const existingBaggageHeader="baggage"in headers?headers.baggage:void 0,newBaggageHeaders=[];return Array.isArray(existingBaggageHeader)?newBaggageHeaders.push(...existingBaggageHeader):existingBaggageHeader&&newBaggageHeaders.push(existingBaggageHeader),sentryBaggageHeader&&newBaggageHeaders.push(sentryBaggageHeader),{...headers,"sentry-trace":sentryTraceHeader,baggage:newBaggageHeaders.length>0?newBaggageHeaders.join(","):void 0}}}return{"sentry-trace":sentryTraceHeader,baggage:sentryBaggageHeader}}(request,client,scope,options,span)}return span}(handlerData,shouldCreateSpan,shouldAttachHeadersWithTargets,spans);enableHTTPTimings&&createdSpan&&addHTTPTimings(createdSpan)}),traceXHR&&addInstrumentationHandler("xhr",handlerData=>{const createdSpan=function xhrCallback(handlerData,shouldCreateSpan,shouldAttachHeaders2,spans){const xhr=handlerData.xhr,sentryXhrData=xhr&&xhr[SENTRY_XHR_DATA_KEY];if(!hasTracingEnabled()||xhr&&xhr.__sentry_own_request__||!xhr||!sentryXhrData)return;const shouldCreateSpanResult=shouldCreateSpan(sentryXhrData.url);if(handlerData.endTimestamp&&shouldCreateSpanResult){const spanId=xhr.__sentry_xhr_span_id__;if(!spanId)return;const span2=spans[spanId];return void(span2&&(span2.setHttpStatus(sentryXhrData.status_code),span2.finish(),delete spans[spanId]))}const hub=hub_getCurrentHub(),scope=hub.getScope(),parentSpan=scope.getSpan(),span=shouldCreateSpanResult&&parentSpan?parentSpan.startChild({data:{...sentryXhrData.data,type:"xhr","http.method":sentryXhrData.method,url:sentryXhrData.url},description:`${sentryXhrData.method} ${sentryXhrData.url}`,op:"http.client"}):void 0;if(span&&(xhr.__sentry_xhr_span_id__=span.spanId,spans[xhr.__sentry_xhr_span_id__]=span),xhr.setRequestHeader&&shouldAttachHeaders2(sentryXhrData.url))if(span){const transaction=span&&span.transaction,sentryBaggageHeader=dynamicSamplingContextToSentryBaggageHeader(transaction&&transaction.getDynamicSamplingContext());setHeaderOnXhr(xhr,span.toTraceparent(),sentryBaggageHeader)}else{const client=hub.getClient(),{traceId,sampled,dsc}=scope.getPropagationContext();setHeaderOnXhr(xhr,generateSentryTraceHeader(traceId,void 0,sampled),dynamicSamplingContextToSentryBaggageHeader(dsc||(client?getDynamicSamplingContextFromClient(traceId,client,scope):void 0)))}return span}(handlerData,shouldCreateSpan,shouldAttachHeadersWithTargets,spans);enableHTTPTimings&&createdSpan&&addHTTPTimings(createdSpan)})}({traceFetch,traceXHR,tracePropagationTargets,shouldCreateSpanForRequest,enableHTTPTimings})}_createRouteTransaction(context2){if(!this._getCurrentHub)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Did not create ${context2.op} transaction because _getCurrentHub is invalid.`));const hub=this._getCurrentHub(),{beforeNavigate,idleTimeout,finalTimeout,heartbeatInterval}=this.options,isPageloadTransaction="pageload"===context2.op,sentryTrace=isPageloadTransaction?getMetaContent("sentry-trace"):"",baggage=isPageloadTransaction?getMetaContent("baggage"):"",{traceparentData,dynamicSamplingContext,propagationContext}=function tracingContextFromHeaders(sentryTrace,baggage){const traceparentData=function extractTraceparentData(traceparent){if(!traceparent)return;const matches=traceparent.match(TRACEPARENT_REGEXP);if(!matches)return;let parentSampled;return"1"===matches[3]?parentSampled=!0:"0"===matches[3]&&(parentSampled=!1),{traceId:matches[1],parentSampled,parentSpanId:matches[2]}}(sentryTrace),dynamicSamplingContext=function baggageHeaderToDynamicSamplingContext(baggageHeader){if(!isString(baggageHeader)&&!Array.isArray(baggageHeader))return;let baggageObject={};if(Array.isArray(baggageHeader))baggageObject=baggageHeader.reduce((acc,curr)=>({...acc,...baggageHeaderToObject(curr)}),{});else{if(!baggageHeader)return;baggageObject=baggageHeaderToObject(baggageHeader)}const dynamicSamplingContext=Object.entries(baggageObject).reduce((acc,[key,value])=>(key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)&&(acc[key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length)]=value),acc),{});return Object.keys(dynamicSamplingContext).length>0?dynamicSamplingContext:void 0}(baggage),{traceId,parentSpanId,parentSampled}=traceparentData||{},propagationContext={traceId:traceId||misc_uuid4(),spanId:misc_uuid4().substring(16),sampled:void 0!==parentSampled&&parentSampled};return parentSpanId&&(propagationContext.parentSpanId=parentSpanId),dynamicSamplingContext&&(propagationContext.dsc=dynamicSamplingContext),{traceparentData,dynamicSamplingContext,propagationContext}}(sentryTrace,baggage),expandedContext={...context2,...traceparentData,metadata:{...context2.metadata,dynamicSamplingContext:traceparentData&&!dynamicSamplingContext?{}:dynamicSamplingContext},trimEnd:!0},modifiedContext="function"==typeof beforeNavigate?beforeNavigate(expandedContext):expandedContext,finalContext=void 0===modifiedContext?{...expandedContext,sampled:!1}:modifiedContext;finalContext.metadata=finalContext.name!==expandedContext.name?{...finalContext.metadata,source:"custom"}:finalContext.metadata,this._latestRouteName=finalContext.name,this._latestRouteSource=finalContext.metadata&&finalContext.metadata.source,!1===finalContext.sampled&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Will not send ${finalContext.op} transaction because of beforeNavigate.`),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Tracing] Starting ${finalContext.op} transaction on scope`);const{location:location2}=types_WINDOW,idleTransaction=startIdleTransaction(hub,finalContext,idleTimeout,finalTimeout,!0,{location:location2},heartbeatInterval);return hub.getScope().setPropagationContext(isPageloadTransaction&&traceparentData?propagationContext:{traceId:idleTransaction.traceId,spanId:idleTransaction.spanId,parentSpanId:idleTransaction.parentSpanId,sampled:!!idleTransaction.sampled}),idleTransaction.registerBeforeFinishCallback(transaction=>{this._collectWebVitals(),function addPerformanceEntries(transaction){const performance2=getBrowserPerformanceAPI();if(!performance2||!types_WINDOW.performance.getEntries||!esm_time.Z1)return;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Tracing] Adding & adjusting spans using Performance API");const timeOrigin=msToSec(esm_time.Z1),performanceEntries=performance2.getEntries();let responseStartTimestamp,requestStartTimestamp;if(performanceEntries.slice(_performanceCursor).forEach(entry=>{const startTime=msToSec(entry.startTime),duration=msToSec(entry.duration);if(!("navigation"===transaction.op&&timeOrigin+startTime{_addPerformanceNavigationTiming(transaction,entry,event,timeOrigin)}),_addPerformanceNavigationTiming(transaction,entry,"secureConnection",timeOrigin,"TLS/SSL","connectEnd"),_addPerformanceNavigationTiming(transaction,entry,"fetch",timeOrigin,"cache","domainLookupStart"),_addPerformanceNavigationTiming(transaction,entry,"domainLookup",timeOrigin,"DNS"),function _addRequest(transaction,entry,timeOrigin){_startChild(transaction,{op:"browser",description:"request",startTimestamp:timeOrigin+msToSec(entry.requestStart),endTimestamp:timeOrigin+msToSec(entry.responseEnd)}),_startChild(transaction,{op:"browser",description:"response",startTimestamp:timeOrigin+msToSec(entry.responseStart),endTimestamp:timeOrigin+msToSec(entry.responseEnd)})}(transaction,entry,timeOrigin)})(transaction,entry,timeOrigin),responseStartTimestamp=timeOrigin+msToSec(entry.responseStart),requestStartTimestamp=timeOrigin+msToSec(entry.requestStart);break;case"mark":case"paint":case"measure":{!function _addMeasureSpans(transaction,entry,startTime,duration,timeOrigin){const measureStartTimestamp=timeOrigin+startTime;_startChild(transaction,{description:entry.name,endTimestamp:measureStartTimestamp+duration,op:entry.entryType,startTimestamp:measureStartTimestamp})}(transaction,entry,startTime,duration,timeOrigin);const firstHidden=getVisibilityWatcher(),shouldRecord=entry.startTime"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding FP"),_measurements.fp={value:entry.startTime,unit:"millisecond"}),"first-contentful-paint"===entry.name&&shouldRecord&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding FCP"),_measurements.fcp={value:entry.startTime,unit:"millisecond"});break}case"resource":{const resourceName=entry.name.replace(types_WINDOW.location.origin,"");!function _addResourceSpans(transaction,entry,resourceName,startTime,duration,timeOrigin){if("xmlhttprequest"===entry.initiatorType||"fetch"===entry.initiatorType)return;const data={};"transferSize"in entry&&(data["http.response_transfer_size"]=entry.transferSize),"encodedBodySize"in entry&&(data["http.response_content_length"]=entry.encodedBodySize),"decodedBodySize"in entry&&(data["http.decoded_response_content_length"]=entry.decodedBodySize),"renderBlockingStatus"in entry&&(data["resource.render_blocking_status"]=entry.renderBlockingStatus);const startTimestamp=timeOrigin+startTime;_startChild(transaction,{description:resourceName,endTimestamp:startTimestamp+duration,op:entry.initiatorType?`resource.${entry.initiatorType}`:"resource.other",startTimestamp,data})}(transaction,entry,resourceName,startTime,duration,timeOrigin);break}}}),_performanceCursor=Math.max(performanceEntries.length-1,0),function _trackNavigator(transaction){const navigator2=types_WINDOW.navigator;if(!navigator2)return;const connection=navigator2.connection;connection&&(connection.effectiveType&&transaction.setTag("effectiveConnectionType",connection.effectiveType),connection.type&&transaction.setTag("connectionType",connection.type),isMeasurementValue(connection.rtt)&&(_measurements["connection.rtt"]={value:connection.rtt,unit:"millisecond"})),isMeasurementValue(navigator2.deviceMemory)&&transaction.setTag("deviceMemory",`${navigator2.deviceMemory} GB`),isMeasurementValue(navigator2.hardwareConcurrency)&&transaction.setTag("hardwareConcurrency",String(navigator2.hardwareConcurrency))}(transaction),"pageload"===transaction.op){"number"==typeof responseStartTimestamp&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding TTFB"),_measurements.ttfb={value:1e3*(responseStartTimestamp-transaction.startTimestamp),unit:"millisecond"},"number"==typeof requestStartTimestamp&&requestStartTimestamp<=responseStartTimestamp&&(_measurements["ttfb.requestTime"]={value:1e3*(responseStartTimestamp-requestStartTimestamp),unit:"millisecond"})),["fcp","fp","lcp"].forEach(name=>{if(!_measurements[name]||timeOrigin>=transaction.startTimestamp)return;const oldValue=_measurements[name].value,measurementTimestamp=timeOrigin+msToSec(oldValue),normalizedValue=Math.abs(1e3*(measurementTimestamp-transaction.startTimestamp));(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log(`[Measurements] Normalized ${name} from ${oldValue} to ${normalizedValue} (${normalizedValue-oldValue})`),_measurements[name].value=normalizedValue});const fidMark=_measurements["mark.fid"];fidMark&&_measurements.fid&&(_startChild(transaction,{description:"first input delay",endTimestamp:fidMark.value+msToSec(_measurements.fid.value),op:"ui.action",startTimestamp:fidMark.value}),delete _measurements["mark.fid"]),"fcp"in _measurements||delete _measurements.cls,Object.keys(_measurements).forEach(measurementName=>{transaction.setMeasurement(measurementName,_measurements[measurementName].value,_measurements[measurementName].unit)}),function _tagMetricInfo(transaction){_lcpEntry&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding LCP Data"),_lcpEntry.element&&transaction.setTag("lcp.element",htmlTreeAsString(_lcpEntry.element)),_lcpEntry.id&&transaction.setTag("lcp.id",_lcpEntry.id),_lcpEntry.url&&transaction.setTag("lcp.url",_lcpEntry.url.trim().slice(0,200)),transaction.setTag("lcp.size",_lcpEntry.size)),_clsEntry&&_clsEntry.sources&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.log("[Measurements] Adding CLS Data"),_clsEntry.sources.forEach((source,index)=>transaction.setTag(`cls.source.${index+1}`,htmlTreeAsString(source.node))))}(transaction)}_lcpEntry=void 0,_clsEntry=void 0,_measurements={}}(transaction)}),idleTransaction}_registerInteractionListener(){let inflightInteractionTransaction;const registerInteractionTransaction=()=>{const{idleTimeout,finalTimeout,heartbeatInterval}=this.options,op="ui.action.click",currentTransaction=utils_getActiveTransaction();if(currentTransaction&¤tTransaction.op&&["navigation","pageload"].includes(currentTransaction.op))return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Did not create ${op} transaction because a pageload or navigation transaction is in progress.`));if(inflightInteractionTransaction&&(inflightInteractionTransaction.setFinishReason("interactionInterrupted"),inflightInteractionTransaction.finish(),inflightInteractionTransaction=void 0),!this._getCurrentHub)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Did not create ${op} transaction because _getCurrentHub is invalid.`));if(!this._latestRouteName)return void((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&logger_logger.warn(`[Tracing] Did not create ${op} transaction because _latestRouteName is missing.`));const hub=this._getCurrentHub(),{location:location2}=types_WINDOW;inflightInteractionTransaction=startIdleTransaction(hub,{name:this._latestRouteName,op,trimEnd:!0,metadata:{source:this._latestRouteSource||"url"}},idleTimeout,finalTimeout,!0,{location:location2},heartbeatInterval)};["click"].forEach(type=>{addEventListener(type,registerInteractionTransaction,{once:!1,capture:!0})})}}]}),platformBrowser().bootstrapModule(AppModule).catch(err=>console.error(err))},2007:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";function isBrowserBundle(){return typeof __SENTRY_BROWSER_BUNDLE__<"u"&&!!__SENTRY_BROWSER_BUNDLE__}function getSDKSource(){return"npm"}__webpack_require__.d(__webpack_exports__,{S:()=>getSDKSource,n:()=>isBrowserBundle})},6789:(module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{KV:()=>isNodeEnv,l$:()=>dynamicRequire});var _env_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2007);function isNodeEnv(){return!(0,_env_js__WEBPACK_IMPORTED_MODULE_0__.n)()&&"[object process]"===Object.prototype.toString.call(typeof process<"u"?process:0)}function dynamicRequire(mod,request){return mod.require(request)}module=__webpack_require__.hmd(module)},7245:(module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z1:()=>browserPerformanceTimeOrigin,ph:()=>timestampInSeconds2,yW:()=>dateTimestampInSeconds});var _node_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6789),_worldwide_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3054);module=__webpack_require__.hmd(module);const WINDOW2=(0,_worldwide_js__WEBPACK_IMPORTED_MODULE_0__.Rf)(),dateTimestampSource={nowSeconds:()=>Date.now()/1e3},platformPerformance=(0,_node_js__WEBPACK_IMPORTED_MODULE_1__.KV)()?function getNodePerformance(){try{return(0,_node_js__WEBPACK_IMPORTED_MODULE_1__.l$)(module,"perf_hooks").performance}catch{return}}():function getBrowserPerformance(){const{performance:performance2}=WINDOW2;if(performance2&&performance2.now)return{now:()=>performance2.now(),timeOrigin:Date.now()-performance2.now()}}(),timestampSource=void 0===platformPerformance?dateTimestampSource:{nowSeconds:()=>(platformPerformance.timeOrigin+platformPerformance.now())/1e3},dateTimestampInSeconds=dateTimestampSource.nowSeconds.bind(dateTimestampSource),timestampInSeconds2=timestampSource.nowSeconds.bind(timestampSource);let _browserPerformanceTimeOriginMode;const browserPerformanceTimeOrigin=(()=>{const{performance:performance2}=WINDOW2;if(!performance2||!performance2.now)return void(_browserPerformanceTimeOriginMode="none");const performanceNow=performance2.now(),dateNow=Date.now(),timeOriginDelta=performance2.timeOrigin?Math.abs(performance2.timeOrigin+performanceNow-dateNow):36e5,timeOriginIsReliable=timeOriginDelta<36e5,navigationStart=performance2.timing&&performance2.timing.navigationStart,navigationStartDelta="number"==typeof navigationStart?Math.abs(navigationStart+performanceNow-dateNow):36e5;return timeOriginIsReliable||navigationStartDelta<36e5?timeOriginDelta<=navigationStartDelta?(_browserPerformanceTimeOriginMode="timeOrigin",performance2.timeOrigin):(_browserPerformanceTimeOriginMode="navigationStart",navigationStart):(_browserPerformanceTimeOriginMode="dateNow",dateNow)})()},3054:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";function isGlobalObj(obj){return obj&&obj.Math==Math?obj:void 0}__webpack_require__.d(__webpack_exports__,{Rf:()=>getGlobalObject,YO:()=>getGlobalSingleton,n2:()=>GLOBAL_OBJ});const GLOBAL_OBJ="object"==typeof globalThis&&isGlobalObj(globalThis)||"object"==typeof window&&isGlobalObj(window)||"object"==typeof self&&isGlobalObj(self)||"object"==typeof global&&isGlobalObj(global)||function(){return this}()||{};function getGlobalObject(){return GLOBAL_OBJ}function getGlobalSingleton(name,creator,obj){const gbl=obj||GLOBAL_OBJ,__SENTRY__=gbl.__SENTRY__=gbl.__SENTRY__||{};return __SENTRY__[name]||(__SENTRY__[name]=creator())}},7443:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},3241:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},7469:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ANTLRInputStream=void 0;const assert=__webpack_require__(5936),Decorators_1=__webpack_require__(4798),IntStream_1=__webpack_require__(9627);class ANTLRInputStream{constructor(input){this.p=0,this.data=input,this.n=input.length}reset(){this.p=0}consume(){if(this.p>=this.n)throw assert(this.LA(1)===IntStream_1.IntStream.EOF),new Error("cannot consume EOF");this.p=this.n?IntStream_1.IntStream.EOF:this.data.charCodeAt(this.p+i-1)}LT(i){return this.LA(i)}get index(){return this.p}get size(){return this.n}mark(){return-1}release(marker){}seek(index){if(index<=this.p)this.p=index;else for(index=Math.min(index,this.n);this.p=this.n&&(stop=this.n-1),start>=this.n?"":this.data.substr(start,stop-start+1)}get sourceName(){return this.name?this.name:IntStream_1.IntStream.UNKNOWN_SOURCE_NAME}toString(){return this.data}}__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"consume",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"LA",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"index",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"size",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"mark",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"release",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"seek",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"getText",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"sourceName",null),__decorate([Decorators_1.Override],ANTLRInputStream.prototype,"toString",null),exports.ANTLRInputStream=ANTLRInputStream},5811:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BailErrorStrategy=void 0;const DefaultErrorStrategy_1=__webpack_require__(4053),InputMismatchException_1=__webpack_require__(9601),Decorators_1=__webpack_require__(4798),ParseCancellationException_1=__webpack_require__(5011);class BailErrorStrategy extends DefaultErrorStrategy_1.DefaultErrorStrategy{recover(recognizer,e){for(let context=recognizer.context;context;context=context.parent)context.exception=e;throw new ParseCancellationException_1.ParseCancellationException(e)}recoverInline(recognizer){let e=new InputMismatchException_1.InputMismatchException(recognizer);for(let context=recognizer.context;context;context=context.parent)context.exception=e;throw new ParseCancellationException_1.ParseCancellationException(e)}sync(recognizer){}}__decorate([Decorators_1.Override],BailErrorStrategy.prototype,"recover",null),__decorate([Decorators_1.Override],BailErrorStrategy.prototype,"recoverInline",null),__decorate([Decorators_1.Override],BailErrorStrategy.prototype,"sync",null),exports.BailErrorStrategy=BailErrorStrategy},254:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BufferedTokenStream=void 0;const assert=__webpack_require__(5936),CommonToken_1=__webpack_require__(970),Interval_1=__webpack_require__(8691),Lexer_1=__webpack_require__(1188),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let BufferedTokenStream=class{constructor(tokenSource){if(this.tokens=[],this.p=-1,this.fetchedEOF=!1,null==tokenSource)throw new Error("tokenSource cannot be null");this._tokenSource=tokenSource}get tokenSource(){return this._tokenSource}set tokenSource(tokenSource){this._tokenSource=tokenSource,this.tokens.length=0,this.p=-1,this.fetchedEOF=!1}get index(){return this.p}mark(){return 0}release(marker){}seek(index){this.lazyInit(),this.p=this.adjustSeekIndex(index)}get size(){return this.tokens.length}consume(){let skipEofCheck;if(skipEofCheck=this.p>=0&&(this.fetchedEOF?this.p=0);let n=i-this.tokens.length+1;return!(n>0)||this.fetch(n)>=n}fetch(n){if(this.fetchedEOF)return 0;for(let i=0;i=this.tokens.length)throw new RangeError("token index "+i+" out of range 0.."+(this.tokens.length-1));return this.tokens[i]}getRange(start,stop){if(start<0||stop<0)return[];this.lazyInit();let subset=new Array;stop>=this.tokens.length&&(stop=this.tokens.length-1);for(let i=start;i<=stop;i++){let t=this.tokens[i];if(t.type===Token_1.Token.EOF)break;subset.push(t)}return subset}LA(i){let token=this.LT(i);return token?token.type:Token_1.Token.INVALID_TYPE}tryLB(k){if(!(this.p-k<0))return this.tokens[this.p-k]}LT(k){let result=this.tryLT(k);if(void 0===result)throw new RangeError("requested lookback index out of range");return result}tryLT(k){if(this.lazyInit(),0===k)throw new RangeError("0 is not a valid lookahead index");if(k<0)return this.tryLB(-k);let i=this.p+k-1;return this.sync(i),i>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(i){return i}lazyInit(){-1===this.p&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}getTokens(start,stop,types){if(this.lazyInit(),void 0===start)return assert(void 0===stop&&void 0===types),this.tokens;if(void 0===stop&&(stop=this.tokens.length-1),start<0||stop>=this.tokens.length||stop<0||start>=this.tokens.length)throw new RangeError("start "+start+" or stop "+stop+" not in 0.."+(this.tokens.length-1));if(start>stop)return[];if(void 0===types)return this.tokens.slice(start,stop+1);"number"==typeof types&&(types=(new Set).add(types));let typesSet=types,filteredTokens=this.tokens.slice(start,stop+1);return filteredTokens=filteredTokens.filter(value=>typesSet.has(value.type)),filteredTokens}nextTokenOnChannel(i,channel){if(this.sync(i),i>=this.size)return this.size-1;let token=this.tokens[i];for(;token.channel!==channel;){if(token.type===Token_1.Token.EOF)return i;i++,this.sync(i),token=this.tokens[i]}return i}previousTokenOnChannel(i,channel){if(this.sync(i),i>=this.size)return this.size-1;for(;i>=0;){let token=this.tokens[i];if(token.type===Token_1.Token.EOF||token.channel===channel)return i;i--}return i}getHiddenTokensToRight(tokenIndex,channel=-1){if(this.lazyInit(),tokenIndex<0||tokenIndex>=this.tokens.length)throw new RangeError(tokenIndex+" not in 0.."+(this.tokens.length-1));let to,nextOnChannel=this.nextTokenOnChannel(tokenIndex+1,Lexer_1.Lexer.DEFAULT_TOKEN_CHANNEL);return to=-1===nextOnChannel?this.size-1:nextOnChannel,this.filterForChannel(tokenIndex+1,to,channel)}getHiddenTokensToLeft(tokenIndex,channel=-1){if(this.lazyInit(),tokenIndex<0||tokenIndex>=this.tokens.length)throw new RangeError(tokenIndex+" not in 0.."+(this.tokens.length-1));if(0===tokenIndex)return[];let prevOnChannel=this.previousTokenOnChannel(tokenIndex-1,Lexer_1.Lexer.DEFAULT_TOKEN_CHANNEL);return prevOnChannel===tokenIndex-1?[]:this.filterForChannel(prevOnChannel+1,tokenIndex-1,channel)}filterForChannel(from2,to,channel){let hidden=new Array;for(let i=from2;i<=to;i++){let t=this.tokens[i];-1===channel?t.channel!==Lexer_1.Lexer.DEFAULT_TOKEN_CHANNEL&&hidden.push(t):t.channel===channel&&hidden.push(t)}return hidden}get sourceName(){return this.tokenSource.sourceName}getText(interval){void 0===interval?interval=Interval_1.Interval.of(0,this.size-1):interval instanceof Interval_1.Interval||(interval=interval.sourceInterval);let start=interval.a,stop=interval.b;if(start<0||stop<0)return"";this.fill(),stop>=this.tokens.length&&(stop=this.tokens.length-1);let buf="";for(let i=start;i<=stop;i++){let t=this.tokens[i];if(t.type===Token_1.Token.EOF)break;buf+=t.text}return buf.toString()}getTextFromRange(start,stop){return this.isToken(start)&&this.isToken(stop)?this.getText(Interval_1.Interval.of(start.tokenIndex,stop.tokenIndex)):""}fill(){for(this.lazyInit();;)if(this.fetch(1e3)<1e3)return}isWritableToken(t){return t instanceof CommonToken_1.CommonToken}isToken(t){return t instanceof CommonToken_1.CommonToken}};__decorate([Decorators_1.NotNull],BufferedTokenStream.prototype,"_tokenSource",void 0),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"tokenSource",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"index",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"mark",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"release",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"seek",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"size",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"consume",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"get",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"LA",null),__decorate([Decorators_1.NotNull,Decorators_1.Override],BufferedTokenStream.prototype,"LT",null),__decorate([Decorators_1.Override],BufferedTokenStream.prototype,"sourceName",null),__decorate([Decorators_1.NotNull,Decorators_1.Override],BufferedTokenStream.prototype,"getText",null),__decorate([Decorators_1.NotNull,Decorators_1.Override],BufferedTokenStream.prototype,"getTextFromRange",null),BufferedTokenStream=__decorate([__param(0,Decorators_1.NotNull)],BufferedTokenStream),exports.BufferedTokenStream=BufferedTokenStream},6110:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},9228:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CharStreams=void 0;const CodePointBuffer_1=__webpack_require__(8378),CodePointCharStream_1=__webpack_require__(437),IntStream_1=__webpack_require__(9627);(exports.CharStreams||(exports.CharStreams={})).fromString=function fromString(s,sourceName){(void 0===sourceName||0===sourceName.length)&&(sourceName=IntStream_1.IntStream.UNKNOWN_SOURCE_NAME);let codePointBufferBuilder=CodePointBuffer_1.CodePointBuffer.builder(s.length),cb=new Uint16Array(s.length);for(let i=0;i{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodePointBuffer=void 0;const assert=__webpack_require__(5936),Character=__webpack_require__(8442);class CodePointBuffer{constructor(buffer,size){this.buffer=buffer,this._position=0,this._size=size}static withArray(buffer){return new CodePointBuffer(buffer,buffer.length)}get position(){return this._position}set position(newPosition){if(newPosition<0||newPosition>this._size)throw new RangeError;this._position=newPosition}get remaining(){return this._size-this.position}get(offset){return this.buffer[offset]}array(){return this.buffer.slice(0,this._size)}static builder(initialBufferSize){return new CodePointBuffer.Builder(initialBufferSize)}}exports.CodePointBuffer=CodePointBuffer,function(CodePointBuffer2){let Type;var Type2;(Type2=Type||(Type={}))[Type2.BYTE=0]="BYTE",Type2[Type2.CHAR=1]="CHAR",Type2[Type2.INT=2]="INT";class Builder{constructor(initialBufferSize){this.type=0,this.buffer=new Uint8Array(initialBufferSize),this.prevHighSurrogate=-1,this.position=0}build(){return new CodePointBuffer2(this.buffer,this.position)}static roundUpToNextPowerOfTwo(i){let nextPowerOfTwo=32-Math.clz32(i-1);return Math.pow(2,nextPowerOfTwo)}ensureRemaining(remainingNeeded){switch(this.type){case 0:if(this.buffer.length-this.position>1));newBuffer.set(this.buffer.subarray(0,this.position),0),this.type=1,this.buffer=newBuffer}byteToIntBuffer(toAppend){let newBuffer=new Int32Array(Math.max(this.position+toAppend,this.buffer.length>>2));newBuffer.set(this.buffer.subarray(0,this.position),0),this.type=2,this.buffer=newBuffer}charToIntBuffer(toAppend){let newBuffer=new Int32Array(Math.max(this.position+toAppend,this.buffer.length>>1));newBuffer.set(this.buffer.subarray(0,this.position),0),this.type=2,this.buffer=newBuffer}}CodePointBuffer2.Builder=Builder}(CodePointBuffer=exports.CodePointBuffer||(exports.CodePointBuffer={}))},437:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodePointCharStream=void 0;const assert=__webpack_require__(5936),IntStream_1=__webpack_require__(9627),Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798);class CodePointCharStream{constructor(array,position,remaining,name){assert(0===position),this._array=array,this._size=remaining,this._name=name,this._position=0}get internalStorage(){return this._array}static fromBuffer(codePointBuffer,name){return(void 0===name||0===name.length)&&(name=IntStream_1.IntStream.UNKNOWN_SOURCE_NAME),new CodePointCharStream(codePointBuffer.array(),codePointBuffer.position,codePointBuffer.remaining,name)}consume(){if(this._size-this._position==0)throw assert(this.LA(1)===IntStream_1.IntStream.EOF),new RangeError("cannot consume EOF");this._position++}get index(){return this._position}get size(){return this._size}mark(){return-1}release(marker){}seek(index){this._position=index}get sourceName(){return this._name}toString(){return this.getText(Interval_1.Interval.of(0,this.size-1))}LA(i){let offset;switch(Math.sign(i)){case-1:return offset=this.index+i,offset<0?IntStream_1.IntStream.EOF:this._array[offset];case 0:return 0;case 1:return offset=this.index+i-1,offset>=this.size?IntStream_1.IntStream.EOF:this._array[offset]}throw new RangeError("Not reached")}getText(interval){const startIdx=Math.min(interval.a,this.size),len=Math.min(interval.b-interval.a+1,this.size-startIdx);return this._array instanceof Int32Array?String.fromCodePoint(...Array.from(this._array.subarray(startIdx,startIdx+len))):String.fromCharCode(...Array.from(this._array.subarray(startIdx,startIdx+len)))}}__decorate([Decorators_1.Override],CodePointCharStream.prototype,"consume",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"index",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"size",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"mark",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"release",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"seek",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"sourceName",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"toString",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"LA",null),__decorate([Decorators_1.Override],CodePointCharStream.prototype,"getText",null),exports.CodePointCharStream=CodePointCharStream},970:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CommonToken=void 0;const Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let CommonToken=class CommonToken2{constructor(type,text,source=CommonToken2.EMPTY_SOURCE,channel=Token_1.Token.DEFAULT_CHANNEL,start=0,stop=0){this._line=0,this._charPositionInLine=-1,this._channel=Token_1.Token.DEFAULT_CHANNEL,this.index=-1,this._text=text,this._type=type,this.source=source,this._channel=channel,this.start=start,this.stop=stop,null!=source.source&&(this._line=source.source.line,this._charPositionInLine=source.source.charPositionInLine)}static fromToken(oldToken){let result=new CommonToken2(oldToken.type,void 0,CommonToken2.EMPTY_SOURCE,oldToken.channel,oldToken.startIndex,oldToken.stopIndex);return result._line=oldToken.line,result.index=oldToken.tokenIndex,result._charPositionInLine=oldToken.charPositionInLine,oldToken instanceof CommonToken2?(result._text=oldToken._text,result.source=oldToken.source):(result._text=oldToken.text,result.source={source:oldToken.tokenSource,stream:oldToken.inputStream}),result}get type(){return this._type}set type(type){this._type=type}get line(){return this._line}set line(line){this._line=line}get text(){if(null!=this._text)return this._text;let input=this.inputStream;if(null==input)return;let n=input.size;return this.start"}set text(text){this._text=text}get charPositionInLine(){return this._charPositionInLine}set charPositionInLine(charPositionInLine){this._charPositionInLine=charPositionInLine}get channel(){return this._channel}set channel(channel){this._channel=channel}get startIndex(){return this.start}set startIndex(start){this.start=start}get stopIndex(){return this.stop}set stopIndex(stop){this.stop=stop}get tokenIndex(){return this.index}set tokenIndex(index){this.index=index}get tokenSource(){return this.source.source}get inputStream(){return this.source.stream}toString(recognizer){let channelStr="";this._channel>0&&(channelStr=",channel="+this._channel);let txt=this.text;null!=txt?(txt=txt.replace(/\n/g,"\\n"),txt=txt.replace(/\r/g,"\\r"),txt=txt.replace(/\t/g,"\\t")):txt="";let typeString=String(this._type);return recognizer&&(typeString=recognizer.vocabulary.getDisplayName(this._type)),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+txt+"',<"+typeString+">"+channelStr+","+this._line+":"+this.charPositionInLine+"]"}};CommonToken.EMPTY_SOURCE={source:void 0,stream:void 0},__decorate([Decorators_1.NotNull],CommonToken.prototype,"source",void 0),__decorate([Decorators_1.Override],CommonToken.prototype,"type",null),__decorate([Decorators_1.Override],CommonToken.prototype,"line",null),__decorate([Decorators_1.Override],CommonToken.prototype,"text",null),__decorate([Decorators_1.Override],CommonToken.prototype,"charPositionInLine",null),__decorate([Decorators_1.Override],CommonToken.prototype,"channel",null),__decorate([Decorators_1.Override],CommonToken.prototype,"startIndex",null),__decorate([Decorators_1.Override],CommonToken.prototype,"stopIndex",null),__decorate([Decorators_1.Override],CommonToken.prototype,"tokenIndex",null),__decorate([Decorators_1.Override],CommonToken.prototype,"tokenSource",null),__decorate([Decorators_1.Override],CommonToken.prototype,"inputStream",null),__decorate([Decorators_1.Override],CommonToken.prototype,"toString",null),__decorate([__param(0,Decorators_1.NotNull)],CommonToken,"fromToken",null),CommonToken=__decorate([__param(2,Decorators_1.NotNull)],CommonToken),exports.CommonToken=CommonToken},4445:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CommonTokenFactory=void 0;const CommonToken_1=__webpack_require__(970),Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798);class CommonTokenFactory{constructor(copyText=!1){this.copyText=copyText}create(source,type,text,channel,start,stop,line,charPositionInLine){let t=new CommonToken_1.CommonToken(type,text,source,channel,start,stop);return t.line=line,t.charPositionInLine=charPositionInLine,null==text&&this.copyText&&null!=source.stream&&(t.text=source.stream.getText(Interval_1.Interval.of(start,stop))),t}createSimple(type,text){return new CommonToken_1.CommonToken(type,text)}}var CommonTokenFactory2;__decorate([Decorators_1.Override],CommonTokenFactory.prototype,"create",null),__decorate([Decorators_1.Override],CommonTokenFactory.prototype,"createSimple",null),exports.CommonTokenFactory=CommonTokenFactory,(CommonTokenFactory2=CommonTokenFactory=exports.CommonTokenFactory||(exports.CommonTokenFactory={})).DEFAULT=new CommonTokenFactory2},5615:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CommonTokenStream=void 0;const BufferedTokenStream_1=__webpack_require__(254),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let CommonTokenStream=class extends BufferedTokenStream_1.BufferedTokenStream{constructor(tokenSource,channel=Token_1.Token.DEFAULT_CHANNEL){super(tokenSource),this.channel=channel}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}tryLB(k){if(this.p-k<0)return;let i=this.p,n=1;for(;n<=k&&i>0;)i=this.previousTokenOnChannel(i-1,this.channel),n++;return i<0?void 0:this.tokens[i]}tryLT(k){if(this.lazyInit(),0===k)throw new RangeError("0 is not a valid lookahead index");if(k<0)return this.tryLB(-k);let i=this.p,n=1;for(;n{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConsoleErrorListener=void 0;class ConsoleErrorListener{syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e){console.error(`line ${line}:${charPositionInLine} ${msg}`)}}exports.ConsoleErrorListener=ConsoleErrorListener,ConsoleErrorListener.INSTANCE=new ConsoleErrorListener},4798:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SuppressWarnings=exports.Override=exports.Nullable=exports.NotNull=void 0,exports.NotNull=function NotNull(target,propertyKey,propertyDescriptor){},exports.Nullable=function Nullable(target,propertyKey,propertyDescriptor){},exports.Override=function Override(target,propertyKey,propertyDescriptor){},exports.SuppressWarnings=function SuppressWarnings(options){return(target,propertyKey,descriptor)=>{}}},4053:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultErrorStrategy=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),FailedPredicateException_1=__webpack_require__(4482),InputMismatchException_1=__webpack_require__(9601),IntervalSet_1=__webpack_require__(3951),NoViableAltException_1=__webpack_require__(1200),PredictionContext_1=__webpack_require__(2321),Token_1=__webpack_require__(8770),Decorators_1=__webpack_require__(4798);class DefaultErrorStrategy{constructor(){this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.nextTokensState=ATNState_1.ATNState.INVALID_STATE_NUMBER}reset(recognizer){this.endErrorCondition(recognizer)}beginErrorCondition(recognizer){this.errorRecoveryMode=!0}inErrorRecoveryMode(recognizer){return this.errorRecoveryMode}endErrorCondition(recognizer){this.errorRecoveryMode=!1,this.lastErrorStates=void 0,this.lastErrorIndex=-1}reportMatch(recognizer){this.endErrorCondition(recognizer)}reportError(recognizer,e){this.inErrorRecoveryMode(recognizer)||(this.beginErrorCondition(recognizer),e instanceof NoViableAltException_1.NoViableAltException?this.reportNoViableAlternative(recognizer,e):e instanceof InputMismatchException_1.InputMismatchException?this.reportInputMismatch(recognizer,e):e instanceof FailedPredicateException_1.FailedPredicateException?this.reportFailedPredicate(recognizer,e):(console.error(`unknown recognition error type: ${e}`),this.notifyErrorListeners(recognizer,e.toString(),e)))}notifyErrorListeners(recognizer,message,e){let offendingToken=e.getOffendingToken(recognizer);void 0===offendingToken&&(offendingToken=null),recognizer.notifyErrorListeners(message,offendingToken,e)}recover(recognizer,e){this.lastErrorIndex===recognizer.inputStream.index&&this.lastErrorStates&&this.lastErrorStates.contains(recognizer.state)&&recognizer.consume(),this.lastErrorIndex=recognizer.inputStream.index,this.lastErrorStates||(this.lastErrorStates=new IntervalSet_1.IntervalSet),this.lastErrorStates.add(recognizer.state);let followSet=this.getErrorRecoverySet(recognizer);this.consumeUntil(recognizer,followSet)}sync(recognizer){let s=recognizer.interpreter.atn.states[recognizer.state];if(this.inErrorRecoveryMode(recognizer))return;let la=recognizer.inputStream.LA(1),nextTokens=recognizer.atn.nextTokens(s);if(nextTokens.contains(la))return this.nextTokensContext=void 0,void(this.nextTokensState=ATNState_1.ATNState.INVALID_STATE_NUMBER);if(nextTokens.contains(Token_1.Token.EPSILON))void 0===this.nextTokensContext&&(this.nextTokensContext=recognizer.context,this.nextTokensState=recognizer.state);else switch(s.stateType){case ATNStateType_1.ATNStateType.BLOCK_START:case ATNStateType_1.ATNStateType.STAR_BLOCK_START:case ATNStateType_1.ATNStateType.PLUS_BLOCK_START:case ATNStateType_1.ATNStateType.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(recognizer))return;throw new InputMismatchException_1.InputMismatchException(recognizer);case ATNStateType_1.ATNStateType.PLUS_LOOP_BACK:case ATNStateType_1.ATNStateType.STAR_LOOP_BACK:this.reportUnwantedToken(recognizer);let whatFollowsLoopIterationOrRule=recognizer.getExpectedTokens().or(this.getErrorRecoverySet(recognizer));this.consumeUntil(recognizer,whatFollowsLoopIterationOrRule)}}reportNoViableAlternative(recognizer,e){let input,tokens=recognizer.inputStream;input=tokens?e.startToken.type===Token_1.Token.EOF?"":tokens.getTextFromRange(e.startToken,e.getOffendingToken()):"";let msg="no viable alternative at input "+this.escapeWSAndQuote(input);this.notifyErrorListeners(recognizer,msg,e)}reportInputMismatch(recognizer,e){let expected=e.expectedTokens,expectedString=expected?expected.toStringVocabulary(recognizer.vocabulary):"",msg="mismatched input "+this.getTokenErrorDisplay(e.getOffendingToken(recognizer))+" expecting "+expectedString;this.notifyErrorListeners(recognizer,msg,e)}reportFailedPredicate(recognizer,e){this.notifyErrorListeners(recognizer,"rule "+recognizer.ruleNames[recognizer.context.ruleIndex]+" "+e.message,e)}reportUnwantedToken(recognizer){if(this.inErrorRecoveryMode(recognizer))return;this.beginErrorCondition(recognizer);let t=recognizer.currentToken,msg="extraneous input "+this.getTokenErrorDisplay(t)+" expecting "+this.getExpectedTokens(recognizer).toStringVocabulary(recognizer.vocabulary);recognizer.notifyErrorListeners(msg,t,void 0)}reportMissingToken(recognizer){if(this.inErrorRecoveryMode(recognizer))return;this.beginErrorCondition(recognizer);let t=recognizer.currentToken,msg="missing "+this.getExpectedTokens(recognizer).toStringVocabulary(recognizer.vocabulary)+" at "+this.getTokenErrorDisplay(t);recognizer.notifyErrorListeners(msg,t,void 0)}recoverInline(recognizer){let matchedSymbol=this.singleTokenDeletion(recognizer);if(matchedSymbol)return recognizer.consume(),matchedSymbol;if(this.singleTokenInsertion(recognizer))return this.getMissingSymbol(recognizer);throw void 0===this.nextTokensContext?new InputMismatchException_1.InputMismatchException(recognizer):new InputMismatchException_1.InputMismatchException(recognizer,this.nextTokensState,this.nextTokensContext)}singleTokenInsertion(recognizer){let currentSymbolType=recognizer.inputStream.LA(1),next=recognizer.interpreter.atn.states[recognizer.state].transition(0).target,atn=recognizer.interpreter.atn;return!!atn.nextTokens(next,PredictionContext_1.PredictionContext.fromRuleContext(atn,recognizer.context)).contains(currentSymbolType)&&(this.reportMissingToken(recognizer),!0)}singleTokenDeletion(recognizer){let nextTokenType=recognizer.inputStream.LA(2);if(this.getExpectedTokens(recognizer).contains(nextTokenType)){this.reportUnwantedToken(recognizer),recognizer.consume();let matchedSymbol=recognizer.currentToken;return this.reportMatch(recognizer),matchedSymbol}}getMissingSymbol(recognizer){let tokenText,currentSymbol=recognizer.currentToken,expecting=this.getExpectedTokens(recognizer),expectedTokenType=Token_1.Token.INVALID_TYPE;expecting.isNil||(expectedTokenType=expecting.minElement),tokenText=expectedTokenType===Token_1.Token.EOF?"":"";let current=currentSymbol,lookback=recognizer.inputStream.tryLT(-1);return current.type===Token_1.Token.EOF&&null!=lookback&&(current=lookback),this.constructToken(recognizer.inputStream.tokenSource,expectedTokenType,tokenText,current)}constructToken(tokenSource,expectedTokenType,tokenText,current){let x=current.tokenSource;return tokenSource.tokenFactory.create({source:tokenSource,stream:x?x.inputStream:void 0},expectedTokenType,tokenText,Token_1.Token.DEFAULT_CHANNEL,-1,-1,current.line,current.charPositionInLine)}getExpectedTokens(recognizer){return recognizer.getExpectedTokens()}getTokenErrorDisplay(t){if(!t)return"";let s=this.getSymbolText(t);return s||(s=this.getSymbolType(t)===Token_1.Token.EOF?"":`<${this.getSymbolType(t)}>`),this.escapeWSAndQuote(s)}getSymbolText(symbol){return symbol.text}getSymbolType(symbol){return symbol.type}escapeWSAndQuote(s){return"'"+(s=(s=(s=s.replace("\n","\\n")).replace("\r","\\r")).replace("\t","\\t"))+"'"}getErrorRecoverySet(recognizer){let atn=recognizer.interpreter.atn,ctx=recognizer.context,recoverSet=new IntervalSet_1.IntervalSet;for(;ctx&&ctx.invokingState>=0;){let rt=atn.states[ctx.invokingState].transition(0),follow=atn.nextTokens(rt.followState);recoverSet.addAll(follow),ctx=ctx._parent}return recoverSet.remove(Token_1.Token.EPSILON),recoverSet}consumeUntil(recognizer,set){let ttype=recognizer.inputStream.LA(1);for(;ttype!==Token_1.Token.EOF&&!set.contains(ttype);)recognizer.consume(),ttype=recognizer.inputStream.LA(1)}}__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"reset",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"beginErrorCondition",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"inErrorRecoveryMode",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"endErrorCondition",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"reportMatch",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"reportError",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"notifyErrorListeners",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"recover",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"sync",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportNoViableAlternative",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportInputMismatch",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportFailedPredicate",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportUnwantedToken",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"reportMissingToken",null),__decorate([Decorators_1.Override],DefaultErrorStrategy.prototype,"recoverInline",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"singleTokenInsertion",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"singleTokenDeletion",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getMissingSymbol",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getExpectedTokens",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getSymbolText",null),__decorate([__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getSymbolType",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"escapeWSAndQuote",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"getErrorRecoverySet",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DefaultErrorStrategy.prototype,"consumeUntil",null),exports.DefaultErrorStrategy=DefaultErrorStrategy},5202:(__unused_webpack_module,exports)=>{"use strict";var Dependents2;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Dependents=void 0,(Dependents2=exports.Dependents||(exports.Dependents={}))[Dependents2.SELF=0]="SELF",Dependents2[Dependents2.PARENTS=1]="PARENTS",Dependents2[Dependents2.CHILDREN=2]="CHILDREN",Dependents2[Dependents2.ANCESTORS=3]="ANCESTORS",Dependents2[Dependents2.DESCENDANTS=4]="DESCENDANTS",Dependents2[Dependents2.SIBLINGS=5]="SIBLINGS",Dependents2[Dependents2.PRECEEDING_SIBLINGS=6]="PRECEEDING_SIBLINGS",Dependents2[Dependents2.FOLLOWING_SIBLINGS=7]="FOLLOWING_SIBLINGS",Dependents2[Dependents2.PRECEEDING=8]="PRECEEDING",Dependents2[Dependents2.FOLLOWING=9]="FOLLOWING"},230:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DiagnosticErrorListener=void 0;const BitSet_1=__webpack_require__(6625),Decorators_1=__webpack_require__(4798),Interval_1=__webpack_require__(8691);class DiagnosticErrorListener{constructor(exactOnly=!0){this.exactOnly=exactOnly,this.exactOnly=exactOnly}syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e){}reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs){if(this.exactOnly&&!exact)return;let decision=this.getDecisionDescription(recognizer,dfa),conflictingAlts=this.getConflictingAlts(ambigAlts,configs),text=recognizer.inputStream.getText(Interval_1.Interval.of(startIndex,stopIndex));recognizer.notifyErrorListeners(`reportAmbiguity d=${decision}: ambigAlts=${conflictingAlts}, input='${text}'`)}reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,conflictState){let decision=this.getDecisionDescription(recognizer,dfa),text=recognizer.inputStream.getText(Interval_1.Interval.of(startIndex,stopIndex));recognizer.notifyErrorListeners(`reportAttemptingFullContext d=${decision}, input='${text}'`)}reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,acceptState){let decision=this.getDecisionDescription(recognizer,dfa),text=recognizer.inputStream.getText(Interval_1.Interval.of(startIndex,stopIndex));recognizer.notifyErrorListeners(`reportContextSensitivity d=${decision}, input='${text}'`)}getDecisionDescription(recognizer,dfa){let decision=dfa.decision,ruleIndex=dfa.atnStartState.ruleIndex,ruleNames=recognizer.ruleNames;if(ruleIndex<0||ruleIndex>=ruleNames.length)return decision.toString();let ruleName=ruleNames[ruleIndex];return ruleName?`${decision} (${ruleName})`:decision.toString()}getConflictingAlts(reportedAlts,configs){if(null!=reportedAlts)return reportedAlts;let result=new BitSet_1.BitSet;for(let config of configs)result.set(config.alt);return result}}__decorate([Decorators_1.Override],DiagnosticErrorListener.prototype,"syntaxError",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(6,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"reportAmbiguity",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(5,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"reportAttemptingFullContext",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(5,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"reportContextSensitivity",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"getDecisionDescription",null),__decorate([Decorators_1.NotNull,__param(1,Decorators_1.NotNull)],DiagnosticErrorListener.prototype,"getConflictingAlts",null),exports.DiagnosticErrorListener=DiagnosticErrorListener},4482:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FailedPredicateException=void 0;const RecognitionException_1=__webpack_require__(6294),Decorators_1=__webpack_require__(4798),PredicateTransition_1=__webpack_require__(1447);let FailedPredicateException=class FailedPredicateException2 extends RecognitionException_1.RecognitionException{constructor(recognizer,predicate,message){super(recognizer,recognizer.inputStream,recognizer.context,FailedPredicateException2.formatMessage(predicate,message));let trans=recognizer.interpreter.atn.states[recognizer.state].transition(0);trans instanceof PredicateTransition_1.PredicateTransition?(this._ruleIndex=trans.ruleIndex,this._predicateIndex=trans.predIndex):(this._ruleIndex=0,this._predicateIndex=0),this._predicate=predicate,super.setOffendingToken(recognizer,recognizer.currentToken)}get ruleIndex(){return this._ruleIndex}get predicateIndex(){return this._predicateIndex}get predicate(){return this._predicate}static formatMessage(predicate,message){return message||`failed predicate: {${predicate}}?`}};__decorate([Decorators_1.NotNull],FailedPredicateException,"formatMessage",null),FailedPredicateException=__decorate([__param(0,Decorators_1.NotNull)],FailedPredicateException),exports.FailedPredicateException=FailedPredicateException},9601:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.InputMismatchException=void 0;const RecognitionException_1=__webpack_require__(6294),Decorators_1=__webpack_require__(4798);let InputMismatchException=class extends RecognitionException_1.RecognitionException{constructor(recognizer,state,context){void 0===context&&(context=recognizer.context),super(recognizer,recognizer.inputStream,context),void 0!==state&&this.setOffendingState(state),this.setOffendingToken(recognizer,recognizer.currentToken)}};InputMismatchException=__decorate([__param(0,Decorators_1.NotNull)],InputMismatchException),exports.InputMismatchException=InputMismatchException},9627:(__unused_webpack_module,exports)=>{"use strict";var IntStream2;Object.defineProperty(exports,"__esModule",{value:!0}),exports.IntStream=void 0,(IntStream2=exports.IntStream||(exports.IntStream={})).EOF=-1,IntStream2.UNKNOWN_SOURCE_NAME=""},4145:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.InterpreterRuleContext=void 0;const Decorators_1=__webpack_require__(4798),ParserRuleContext_1=__webpack_require__(3235);class InterpreterRuleContext extends ParserRuleContext_1.ParserRuleContext{constructor(ruleIndex,parent,invokingStateNumber){void 0!==invokingStateNumber?super(parent,invokingStateNumber):super(),this._ruleIndex=ruleIndex}get ruleIndex(){return this._ruleIndex}}__decorate([Decorators_1.Override],InterpreterRuleContext.prototype,"ruleIndex",null),exports.InterpreterRuleContext=InterpreterRuleContext},1188:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Lexer=void 0;const CommonTokenFactory_1=__webpack_require__(4445),IntegerStack_1=__webpack_require__(1251),Interval_1=__webpack_require__(8691),IntStream_1=__webpack_require__(9627),LexerATNSimulator_1=__webpack_require__(7101),LexerNoViableAltException_1=__webpack_require__(4440),Decorators_1=__webpack_require__(4798),Recognizer_1=__webpack_require__(5705),Token_1=__webpack_require__(8770);class Lexer extends Recognizer_1.Recognizer{constructor(input){super(),this._factory=CommonTokenFactory_1.CommonTokenFactory.DEFAULT,this._tokenStartCharIndex=-1,this._tokenStartLine=0,this._tokenStartCharPositionInLine=0,this._hitEOF=!1,this._channel=0,this._type=0,this._modeStack=new IntegerStack_1.IntegerStack,this._mode=Lexer.DEFAULT_MODE,this._input=input,this._tokenFactorySourcePair={source:this,stream:input}}static get DEFAULT_TOKEN_CHANNEL(){return Token_1.Token.DEFAULT_CHANNEL}static get HIDDEN(){return Token_1.Token.HIDDEN_CHANNEL}reset(resetInput){(void 0===resetInput||resetInput)&&this._input.seek(0),this._token=void 0,this._type=Token_1.Token.INVALID_TYPE,this._channel=Token_1.Token.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartCharPositionInLine=-1,this._tokenStartLine=-1,this._text=void 0,this._hitEOF=!1,this._mode=Lexer.DEFAULT_MODE,this._modeStack.clear(),this.interpreter.reset()}nextToken(){if(null==this._input)throw new Error("nextToken requires a non-null input stream.");let tokenStartMarker=this._input.mark();try{outer:for(;;){if(this._hitEOF)return this.emitEOF();this._token=void 0,this._channel=Token_1.Token.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartCharPositionInLine=this.interpreter.charPositionInLine,this._tokenStartLine=this.interpreter.line,this._text=void 0;do{let ttype;this._type=Token_1.Token.INVALID_TYPE;try{ttype=this.interpreter.match(this._input,this._mode)}catch(e){if(!(e instanceof LexerNoViableAltException_1.LexerNoViableAltException))throw e;this.notifyListeners(e),this.recover(e),ttype=Lexer.SKIP}if(this._input.LA(1)===IntStream_1.IntStream.EOF&&(this._hitEOF=!0),this._type===Token_1.Token.INVALID_TYPE&&(this._type=ttype),this._type===Lexer.SKIP)continue outer}while(this._type===Lexer.MORE);return null==this._token?this.emit():this._token}}finally{this._input.release(tokenStartMarker)}}skip(){this._type=Lexer.SKIP}more(){this._type=Lexer.MORE}mode(m){this._mode=m}pushMode(m){LexerATNSimulator_1.LexerATNSimulator.debug&&console.log("pushMode "+m),this._modeStack.push(this._mode),this.mode(m)}popMode(){if(this._modeStack.isEmpty)throw new Error("EmptyStackException");return LexerATNSimulator_1.LexerATNSimulator.debug&&console.log("popMode back to "+this._modeStack.peek()),this.mode(this._modeStack.pop()),this._mode}get tokenFactory(){return this._factory}set tokenFactory(factory){this._factory=factory}get inputStream(){return this._input}set inputStream(input){this.reset(!1),this._input=input,this._tokenFactorySourcePair={source:this,stream:this._input}}get sourceName(){return this._input.sourceName}emit(token){return token||(token=this._factory.create(this._tokenFactorySourcePair,this._type,this._text,this._channel,this._tokenStartCharIndex,this.charIndex-1,this._tokenStartLine,this._tokenStartCharPositionInLine)),this._token=token,token}emitEOF(){let eof=this._factory.create(this._tokenFactorySourcePair,Token_1.Token.EOF,void 0,Token_1.Token.DEFAULT_CHANNEL,this._input.index,this._input.index-1,this.line,this.charPositionInLine);return this.emit(eof),eof}get line(){return this.interpreter.line}set line(line){this.interpreter.line=line}get charPositionInLine(){return this.interpreter.charPositionInLine}set charPositionInLine(charPositionInLine){this.interpreter.charPositionInLine=charPositionInLine}get charIndex(){return this._input.index}get text(){return null!=this._text?this._text:this.interpreter.getText(this._input)}set text(text){this._text=text}get token(){return this._token}set token(_token){this._token=_token}set type(ttype){this._type=ttype}get type(){return this._type}set channel(channel){this._channel=channel}get channel(){return this._channel}getAllTokens(){let tokens=[],t=this.nextToken();for(;t.type!==Token_1.Token.EOF;)tokens.push(t),t=this.nextToken();return tokens}notifyListeners(e){let text=this._input.getText(Interval_1.Interval.of(this._tokenStartCharIndex,this._input.index)),msg="token recognition error at: '"+this.getErrorDisplay(text)+"'",listener=this.getErrorListenerDispatch();listener.syntaxError&&listener.syntaxError(this,void 0,this._tokenStartLine,this._tokenStartCharPositionInLine,msg,e)}getErrorDisplay(s){if("number"==typeof s){switch(s){case Token_1.Token.EOF:return"";case 10:return"\\n";case 9:return"\\t";case 13:return"\\r"}return String.fromCharCode(s)}return s.replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r")}getCharErrorDisplay(c){return"'"+this.getErrorDisplay(c)+"'"}recover(re){re instanceof LexerNoViableAltException_1.LexerNoViableAltException?this._input.LA(1)!==IntStream_1.IntStream.EOF&&this.interpreter.consume(this._input):this._input.consume()}}Lexer.DEFAULT_MODE=0,Lexer.MORE=-2,Lexer.SKIP=-3,Lexer.MIN_CHAR_VALUE=0,Lexer.MAX_CHAR_VALUE=1114111,__decorate([Decorators_1.Override],Lexer.prototype,"nextToken",null),__decorate([Decorators_1.Override],Lexer.prototype,"tokenFactory",null),__decorate([Decorators_1.Override],Lexer.prototype,"inputStream",null),__decorate([Decorators_1.Override],Lexer.prototype,"sourceName",null),__decorate([Decorators_1.Override],Lexer.prototype,"line",null),__decorate([Decorators_1.Override],Lexer.prototype,"charPositionInLine",null),exports.Lexer=Lexer},4049:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerInterpreter=void 0;const Lexer_1=__webpack_require__(1188),LexerATNSimulator_1=__webpack_require__(7101),Decorators_1=__webpack_require__(4798),Decorators_2=__webpack_require__(4798);let LexerInterpreter=class extends Lexer_1.Lexer{constructor(grammarFileName,vocabulary,ruleNames,channelNames,modeNames,atn,input){if(super(input),0!==atn.grammarType)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");this._grammarFileName=grammarFileName,this._atn=atn,this._ruleNames=ruleNames.slice(0),this._channelNames=channelNames.slice(0),this._modeNames=modeNames.slice(0),this._vocabulary=vocabulary,this._interp=new LexerATNSimulator_1.LexerATNSimulator(atn,this)}get atn(){return this._atn}get grammarFileName(){return this._grammarFileName}get ruleNames(){return this._ruleNames}get channelNames(){return this._channelNames}get modeNames(){return this._modeNames}get vocabulary(){return this._vocabulary}};__decorate([Decorators_1.NotNull],LexerInterpreter.prototype,"_vocabulary",void 0),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"atn",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"grammarFileName",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"ruleNames",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"channelNames",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"modeNames",null),__decorate([Decorators_2.Override],LexerInterpreter.prototype,"vocabulary",null),LexerInterpreter=__decorate([__param(1,Decorators_1.NotNull)],LexerInterpreter),exports.LexerInterpreter=LexerInterpreter},4440:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerNoViableAltException=void 0;const RecognitionException_1=__webpack_require__(6294),Decorators_1=__webpack_require__(4798),Interval_1=__webpack_require__(8691),Utils=__webpack_require__(2028);let LexerNoViableAltException=class extends RecognitionException_1.RecognitionException{constructor(lexer,input,startIndex,deadEndConfigs){super(lexer,input),this._startIndex=startIndex,this._deadEndConfigs=deadEndConfigs}get startIndex(){return this._startIndex}get deadEndConfigs(){return this._deadEndConfigs}get inputStream(){return super.inputStream}toString(){let symbol="";return this._startIndex>=0&&this._startIndex=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ListTokenSource=void 0;const CommonTokenFactory_1=__webpack_require__(4445),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let ListTokenSource=class{constructor(tokens,sourceName){if(this.i=0,this._factory=CommonTokenFactory_1.CommonTokenFactory.DEFAULT,null==tokens)throw new Error("tokens cannot be null");this.tokens=tokens,this._sourceName=sourceName}get charPositionInLine(){if(this.i0){let lastToken=this.tokens[this.tokens.length-1],tokenText=lastToken.text;if(null!=tokenText){let lastNewLine=tokenText.lastIndexOf("\n");if(lastNewLine>=0)return tokenText.length-lastNewLine-1}return lastToken.charPositionInLine+lastToken.stopIndex-lastToken.startIndex+1}return 0}nextToken(){if(this.i>=this.tokens.length){if(null==this.eofToken){let start=-1;if(this.tokens.length>0){let previousStop=this.tokens[this.tokens.length-1].stopIndex;-1!==previousStop&&(start=previousStop+1)}let stop=Math.max(-1,start-1);this.eofToken=this._factory.create({source:this,stream:this.inputStream},Token_1.Token.EOF,"EOF",Token_1.Token.DEFAULT_CHANNEL,start,stop,this.line,this.charPositionInLine)}return this.eofToken}let t=this.tokens[this.i];return this.i===this.tokens.length-1&&t.type===Token_1.Token.EOF&&(this.eofToken=t),this.i++,t}get line(){if(this.i0){let lastToken=this.tokens[this.tokens.length-1],line=lastToken.line,tokenText=lastToken.text;if(null!=tokenText)for(let i=0;i0?this.tokens[this.tokens.length-1].inputStream:void 0}get sourceName(){if(this._sourceName)return this._sourceName;let inputStream=this.inputStream;return null!=inputStream?inputStream.sourceName:"List"}set tokenFactory(factory){this._factory=factory}get tokenFactory(){return this._factory}};__decorate([Decorators_1.Override],ListTokenSource.prototype,"charPositionInLine",null),__decorate([Decorators_1.Override],ListTokenSource.prototype,"nextToken",null),__decorate([Decorators_1.Override],ListTokenSource.prototype,"line",null),__decorate([Decorators_1.Override],ListTokenSource.prototype,"inputStream",null),__decorate([Decorators_1.Override],ListTokenSource.prototype,"sourceName",null),__decorate([Decorators_1.Override,Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ListTokenSource.prototype,"tokenFactory",null),ListTokenSource=__decorate([__param(0,Decorators_1.NotNull)],ListTokenSource),exports.ListTokenSource=ListTokenSource},1200:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NoViableAltException=void 0;const Parser_1=__webpack_require__(5278),RecognitionException_1=__webpack_require__(6294),Decorators_1=__webpack_require__(4798);class NoViableAltException extends RecognitionException_1.RecognitionException{constructor(recognizer,input,startToken,offendingToken,deadEndConfigs,ctx){recognizer instanceof Parser_1.Parser&&(void 0===input&&(input=recognizer.inputStream),void 0===startToken&&(startToken=recognizer.currentToken),void 0===offendingToken&&(offendingToken=recognizer.currentToken),void 0===ctx&&(ctx=recognizer.context)),super(recognizer,input,ctx),this._deadEndConfigs=deadEndConfigs,this._startToken=startToken,this.setOffendingToken(recognizer,offendingToken)}get startToken(){return this._startToken}get deadEndConfigs(){return this._deadEndConfigs}}__decorate([Decorators_1.NotNull],NoViableAltException.prototype,"_startToken",void 0),exports.NoViableAltException=NoViableAltException},5278:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Parser=void 0;const Utils=__webpack_require__(2028),ATNDeserializationOptions_1=__webpack_require__(7080),ATNDeserializer_1=__webpack_require__(9940),DefaultErrorStrategy_1=__webpack_require__(4053),ErrorNode_1=__webpack_require__(8272),IntegerStack_1=__webpack_require__(1251),Lexer_1=__webpack_require__(1188),Decorators_1=__webpack_require__(4798),ParseInfo_1=__webpack_require__(4113),ParserATNSimulator_1=__webpack_require__(7609),ProxyParserErrorListener_1=__webpack_require__(6305),Recognizer_1=__webpack_require__(5705),TerminalNode_1=__webpack_require__(9561),Token_1=__webpack_require__(8770);class TraceListener{constructor(ruleNames,tokenStream){this.ruleNames=ruleNames,this.tokenStream=tokenStream}enterEveryRule(ctx){console.log("enter "+this.ruleNames[ctx.ruleIndex]+", LT(1)="+this.tokenStream.LT(1).text)}exitEveryRule(ctx){console.log("exit "+this.ruleNames[ctx.ruleIndex]+", LT(1)="+this.tokenStream.LT(1).text)}visitErrorNode(node2){}visitTerminal(node2){console.log("consume "+node2.symbol+" rule "+this.ruleNames[node2.parent.ruleContext.ruleIndex])}}__decorate([Decorators_1.Override],TraceListener.prototype,"enterEveryRule",null),__decorate([Decorators_1.Override],TraceListener.prototype,"exitEveryRule",null),__decorate([Decorators_1.Override],TraceListener.prototype,"visitErrorNode",null),__decorate([Decorators_1.Override],TraceListener.prototype,"visitTerminal",null);class Parser extends Recognizer_1.Recognizer{constructor(input){super(),this._errHandler=new DefaultErrorStrategy_1.DefaultErrorStrategy,this._precedenceStack=new IntegerStack_1.IntegerStack,this._buildParseTrees=!0,this._parseListeners=[],this._syntaxErrors=0,this.matchedEOF=!1,this._precedenceStack.push(0),this.inputStream=input}reset(resetInput){(void 0===resetInput||resetInput)&&this.inputStream.seek(0),this._errHandler.reset(this),this._ctx=void 0,this._syntaxErrors=0,this.matchedEOF=!1,this.isTrace=!1,this._precedenceStack.clear(),this._precedenceStack.push(0);let interpreter=this.interpreter;interpreter?.reset()}match(ttype){let t=this.currentToken;return t.type===ttype?(ttype===Token_1.Token.EOF&&(this.matchedEOF=!0),this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===t.tokenIndex&&this._ctx.addErrorNode(this.createErrorNode(this._ctx,t))),t}matchWildcard(){let t=this.currentToken;return t.type>0?(this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===t.tokenIndex&&this._ctx.addErrorNode(this.createErrorNode(this._ctx,t))),t}set buildParseTree(buildParseTrees){this._buildParseTrees=buildParseTrees}get buildParseTree(){return this._buildParseTrees}getParseListeners(){return this._parseListeners}addParseListener(listener){if(null==listener)throw new TypeError("listener cannot be null");this._parseListeners.push(listener)}removeParseListener(listener){let index=this._parseListeners.findIndex(l=>l===listener);-1!==index&&this._parseListeners.splice(index,1)}removeParseListeners(){this._parseListeners.length=0}triggerEnterRuleEvent(){for(let listener of this._parseListeners)listener.enterEveryRule&&listener.enterEveryRule(this._ctx),this._ctx.enterRule(listener)}triggerExitRuleEvent(){for(let i=this._parseListeners.length-1;i>=0;i--){let listener=this._parseListeners[i];this._ctx.exitRule(listener),listener.exitEveryRule&&listener.exitEveryRule(this._ctx)}}get numberOfSyntaxErrors(){return this._syntaxErrors}get tokenFactory(){return this._input.tokenSource.tokenFactory}getATNWithBypassAlts(){let serializedAtn=this.serializedATN;if(null==serializedAtn)throw new Error("The current parser does not support an ATN with bypass alternatives.");let result=Parser.bypassAltsAtnCache.get(serializedAtn);if(null==result){let deserializationOptions=new ATNDeserializationOptions_1.ATNDeserializationOptions;deserializationOptions.isGenerateRuleBypassTransitions=!0,result=new ATNDeserializer_1.ATNDeserializer(deserializationOptions).deserialize(Utils.toCharArray(serializedAtn)),Parser.bypassAltsAtnCache.set(serializedAtn,result)}return result}compileParseTreePattern(pattern,patternRuleIndex,lexer){return __awaiter(this,void 0,void 0,function*(){if(!lexer){if(this.inputStream){let tokenSource=this.inputStream.tokenSource;tokenSource instanceof Lexer_1.Lexer&&(lexer=tokenSource)}if(!lexer)throw new Error("Parser can't discover a lexer to use")}let currentLexer=lexer;return new((yield Promise.resolve().then(()=>__webpack_require__(7702))).ParseTreePatternMatcher)(currentLexer,this).compile(pattern,patternRuleIndex)})}get errorHandler(){return this._errHandler}set errorHandler(handler){this._errHandler=handler}get inputStream(){return this._input}set inputStream(input){this.reset(!1),this._input=input}get currentToken(){return this._input.LT(1)}notifyErrorListeners(msg,offendingToken,e){void 0===offendingToken?offendingToken=this.currentToken:null===offendingToken&&(offendingToken=void 0),this._syntaxErrors++;let line=-1,charPositionInLine=-1;null!=offendingToken&&(line=offendingToken.line,charPositionInLine=offendingToken.charPositionInLine);let listener=this.getErrorListenerDispatch();listener.syntaxError&&listener.syntaxError(this,offendingToken,line,charPositionInLine,msg,e)}consume(){let o=this.currentToken;o.type!==Parser.EOF&&this.inputStream.consume();let hasListener=0!==this._parseListeners.length;if(this._buildParseTrees||hasListener)if(this._errHandler.inErrorRecoveryMode(this)){let node2=this._ctx.addErrorNode(this.createErrorNode(this._ctx,o));if(hasListener)for(let listener of this._parseListeners)listener.visitErrorNode&&listener.visitErrorNode(node2)}else{let node2=this.createTerminalNode(this._ctx,o);if(this._ctx.addChild(node2),hasListener)for(let listener of this._parseListeners)listener.visitTerminal&&listener.visitTerminal(node2)}return o}createTerminalNode(parent,t){return new TerminalNode_1.TerminalNode(t)}createErrorNode(parent,t){return new ErrorNode_1.ErrorNode(t)}addContextToParseTree(){let parent=this._ctx._parent;parent?.addChild(this._ctx)}enterRule(localctx,state,ruleIndex){this.state=state,this._ctx=localctx,this._ctx._start=this._input.LT(1),this._buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}enterLeftFactoredRule(localctx,state,ruleIndex){if(this.state=state,this._buildParseTrees){let factoredContext=this._ctx.getChild(this._ctx.childCount-1);this._ctx.removeLastChild(),factoredContext._parent=localctx,localctx.addChild(factoredContext)}this._ctx=localctx,this._ctx._start=this._input.LT(1),this._buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx._stop=this.matchedEOF?this._input.LT(1):this._input.tryLT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx._parent}enterOuterAlt(localctx,altNum){if(localctx.altNumber=altNum,this._buildParseTrees&&this._ctx!==localctx){let parent=this._ctx._parent;null!=parent&&(parent.removeLastChild(),parent.addChild(localctx))}this._ctx=localctx}get precedence(){return this._precedenceStack.isEmpty?-1:this._precedenceStack.peek()}enterRecursionRule(localctx,state,ruleIndex,precedence){this.state=state,this._precedenceStack.push(precedence),this._ctx=localctx,this._ctx._start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(localctx,state,ruleIndex){let previous=this._ctx;previous._parent=localctx,previous.invokingState=state,previous._stop=this._input.tryLT(-1),this._ctx=localctx,this._ctx._start=previous._start,this._buildParseTrees&&this._ctx.addChild(previous),this.triggerEnterRuleEvent()}unrollRecursionContexts(_parentctx){this._precedenceStack.pop(),this._ctx._stop=this._input.tryLT(-1);let retctx=this._ctx;if(this._parseListeners.length>0)for(;this._ctx!==_parentctx;)this.triggerExitRuleEvent(),this._ctx=this._ctx._parent;else this._ctx=_parentctx;retctx._parent=_parentctx,this._buildParseTrees&&null!=_parentctx&&_parentctx.addChild(retctx)}getInvokingContext(ruleIndex){let p=this._ctx;for(;p&&p.ruleIndex!==ruleIndex;)p=p._parent;return p}get context(){return this._ctx}set context(ctx){this._ctx=ctx}precpred(localctx,precedence){return precedence>=this._precedenceStack.peek()}getErrorListenerDispatch(){return new ProxyParserErrorListener_1.ProxyParserErrorListener(this.getErrorListeners())}inContext(context){return!1}isExpectedToken(symbol){let atn=this.interpreter.atn,ctx=this._ctx,following=atn.nextTokens(atn.states[this.state]);if(following.contains(symbol))return!0;if(!following.contains(Token_1.Token.EPSILON))return!1;for(;null!=ctx&&ctx.invokingState>=0&&following.contains(Token_1.Token.EPSILON);){let rt=atn.states[ctx.invokingState].transition(0);if(following=atn.nextTokens(rt.followState),following.contains(symbol))return!0;ctx=ctx._parent}return!(!following.contains(Token_1.Token.EPSILON)||symbol!==Token_1.Token.EOF)}get isMatchedEOF(){return this.matchedEOF}getExpectedTokens(){return this.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){let atn=this.interpreter.atn;return atn.nextTokens(atn.states[this.state])}getRuleIndex(ruleName){return this.getRuleIndexMap().get(ruleName)??-1}get ruleContext(){return this._ctx}getRuleInvocationStack(ctx=this._ctx){let p=ctx,ruleNames=this.ruleNames,stack=[];for(;null!=p;){let ruleIndex=p.ruleIndex;stack.push(ruleIndex<0?"n/a":ruleNames[ruleIndex]),p=p._parent}return stack}getDFAStrings(){let s=[];for(let dfa of this._interp.atn.decisionToDFA)s.push(dfa.toString(this.vocabulary,this.ruleNames));return s}dumpDFA(){let seenOne=!1;for(let dfa of this._interp.atn.decisionToDFA)dfa.isEmpty||(seenOne&&console.log(),console.log("Decision "+dfa.decision+":"),process.stdout.write(dfa.toString(this.vocabulary,this.ruleNames)),seenOne=!0)}get sourceName(){return this._input.sourceName}get parseInfo(){return Promise.resolve().then(()=>__webpack_require__(2073)).then(m=>{let interp=this.interpreter;if(interp instanceof m.ProfilingATNSimulator)return new ParseInfo_1.ParseInfo(interp)})}setProfile(profile){return __awaiter(this,void 0,void 0,function*(){let m=yield Promise.resolve().then(()=>__webpack_require__(2073)),interp=this.interpreter;profile?interp instanceof m.ProfilingATNSimulator||(this.interpreter=new m.ProfilingATNSimulator(this)):interp instanceof m.ProfilingATNSimulator&&(this.interpreter=new ParserATNSimulator_1.ParserATNSimulator(this.atn,this)),this.interpreter.setPredictionMode(interp.getPredictionMode())})}set isTrace(trace){trace?(this._tracer?this.removeParseListener(this._tracer):this._tracer=new TraceListener(this.ruleNames,this._input),this.addParseListener(this._tracer)):this._tracer&&(this.removeParseListener(this._tracer),this._tracer=void 0)}get isTrace(){return null!=this._tracer}}Parser.bypassAltsAtnCache=new Map,__decorate([Decorators_1.NotNull],Parser.prototype,"_errHandler",void 0),__decorate([Decorators_1.NotNull],Parser.prototype,"match",null),__decorate([Decorators_1.NotNull],Parser.prototype,"matchWildcard",null),__decorate([Decorators_1.NotNull],Parser.prototype,"getParseListeners",null),__decorate([__param(0,Decorators_1.NotNull)],Parser.prototype,"addParseListener",null),__decorate([Decorators_1.NotNull],Parser.prototype,"getATNWithBypassAlts",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],Parser.prototype,"errorHandler",null),__decorate([Decorators_1.Override],Parser.prototype,"inputStream",null),__decorate([Decorators_1.NotNull],Parser.prototype,"currentToken",null),__decorate([__param(0,Decorators_1.NotNull)],Parser.prototype,"enterRule",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.Nullable)],Parser.prototype,"precpred",null),__decorate([Decorators_1.Override],Parser.prototype,"getErrorListenerDispatch",null),__decorate([Decorators_1.NotNull],Parser.prototype,"getExpectedTokens",null),__decorate([Decorators_1.NotNull],Parser.prototype,"getExpectedTokensWithinCurrentRule",null),__decorate([Decorators_1.Override],Parser.prototype,"parseInfo",null),exports.Parser=Parser},7070:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},1984:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParserInterpreter=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),BitSet_1=__webpack_require__(6625),FailedPredicateException_1=__webpack_require__(4482),InputMismatchException_1=__webpack_require__(9601),InterpreterRuleContext_1=__webpack_require__(4145),LoopEndState_1=__webpack_require__(9533),Decorators_1=__webpack_require__(4798),Decorators_2=__webpack_require__(4798),Parser_1=__webpack_require__(5278),ParserATNSimulator_1=__webpack_require__(7609),RecognitionException_1=__webpack_require__(6294),StarLoopEntryState_1=__webpack_require__(7123),Token_1=__webpack_require__(8770);let ParserInterpreter=class ParserInterpreter2 extends Parser_1.Parser{constructor(grammarFileName,vocabulary,ruleNames,atn,input){if(super(grammarFileName instanceof ParserInterpreter2?grammarFileName.inputStream:input),this._parentContextStack=[],this.overrideDecision=-1,this.overrideDecisionInputIndex=-1,this.overrideDecisionAlt=-1,this.overrideDecisionReached=!1,this._overrideDecisionRoot=void 0,grammarFileName instanceof ParserInterpreter2){let old=grammarFileName;this._grammarFileName=old._grammarFileName,this._atn=old._atn,this.pushRecursionContextStates=old.pushRecursionContextStates,this._ruleNames=old._ruleNames,this._vocabulary=old._vocabulary,this.interpreter=new ParserATNSimulator_1.ParserATNSimulator(this._atn,this)}else{this._grammarFileName=grammarFileName,this._atn=atn,this._ruleNames=ruleNames.slice(0),this._vocabulary=vocabulary,this.pushRecursionContextStates=new BitSet_1.BitSet(atn.states.length);for(let state of atn.states)state instanceof StarLoopEntryState_1.StarLoopEntryState&&state.precedenceRuleDecision&&this.pushRecursionContextStates.set(state.stateNumber);this.interpreter=new ParserATNSimulator_1.ParserATNSimulator(atn,this)}}reset(resetInput){void 0===resetInput?super.reset():super.reset(resetInput),this.overrideDecisionReached=!1,this._overrideDecisionRoot=void 0}get atn(){return this._atn}get vocabulary(){return this._vocabulary}get ruleNames(){return this._ruleNames}get grammarFileName(){return this._grammarFileName}parse(startRuleIndex){let startRuleStartState=this._atn.ruleToStartState[startRuleIndex];for(this._rootContext=this.createInterpreterRuleContext(void 0,ATNState_1.ATNState.INVALID_STATE_NUMBER,startRuleIndex),startRuleStartState.isPrecedenceRule?this.enterRecursionRule(this._rootContext,startRuleStartState.stateNumber,startRuleIndex,0):this.enterRule(this._rootContext,startRuleStartState.stateNumber,startRuleIndex);;){let p=this.atnState;if(p.stateType===ATNStateType_1.ATNStateType.RULE_STOP){if(this._ctx.isEmpty){if(startRuleStartState.isPrecedenceRule){let result=this._ctx,parentContext=this._parentContextStack.pop();return this.unrollRecursionContexts(parentContext[0]),result}return this.exitRule(),this._rootContext}this.visitRuleStopState(p)}else try{this.visitState(p)}catch(e){if(!(e instanceof RecognitionException_1.RecognitionException))throw e;this.state=this._atn.ruleToStopState[p.ruleIndex].stateNumber,this.context.exception=e,this.errorHandler.reportError(this,e),this.recover(e)}}}enterRecursionRule(localctx,state,ruleIndex,precedence){this._parentContextStack.push([this._ctx,localctx.invokingState]),super.enterRecursionRule(localctx,state,ruleIndex,precedence)}get atnState(){return this._atn.states[this.state]}visitState(p){let predictedAlt=1;p.numberOfTransitions>1&&(predictedAlt=this.visitDecisionState(p));let transition2=p.transition(predictedAlt-1);switch(transition2.serializationType){case 1:if(this.pushRecursionContextStates.get(p.stateNumber)&&!(transition2.target instanceof LoopEndState_1.LoopEndState)){let parentContext=this._parentContextStack[this._parentContextStack.length-1],localctx=this.createInterpreterRuleContext(parentContext[0],parentContext[1],this._ctx.ruleIndex);this.pushNewRecursionContext(localctx,this._atn.ruleToStartState[p.ruleIndex].stateNumber,this._ctx.ruleIndex)}break;case 5:this.match(transition2._label);break;case 2:case 7:case 8:transition2.matches(this._input.LA(1),Token_1.Token.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case 9:this.matchWildcard();break;case 3:let ruleStartState=transition2.target,ruleIndex=ruleStartState.ruleIndex,newctx=this.createInterpreterRuleContext(this._ctx,p.stateNumber,ruleIndex);ruleStartState.isPrecedenceRule?this.enterRecursionRule(newctx,ruleStartState.stateNumber,ruleIndex,transition2.precedence):this.enterRule(newctx,transition2.target.stateNumber,ruleIndex);break;case 4:if(!this.sempred(this._ctx,transition2.ruleIndex,transition2.predIndex))throw new FailedPredicateException_1.FailedPredicateException(this);break;case 6:this.action(this._ctx,transition2.ruleIndex,transition2.actionIndex);break;case 10:if(!this.precpred(this._ctx,transition2.precedence))throw new FailedPredicateException_1.FailedPredicateException(this,`precpred(_ctx, ${transition2.precedence})`);break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=transition2.target.stateNumber}visitDecisionState(p){let predictedAlt;this.errorHandler.sync(this);let decision=p.decision;return decision!==this.overrideDecision||this._input.index!==this.overrideDecisionInputIndex||this.overrideDecisionReached?predictedAlt=this.interpreter.adaptivePredict(this._input,decision,this._ctx):(predictedAlt=this.overrideDecisionAlt,this.overrideDecisionReached=!0),predictedAlt}createInterpreterRuleContext(parent,invokingStateNumber,ruleIndex){return new InterpreterRuleContext_1.InterpreterRuleContext(ruleIndex,parent,invokingStateNumber)}visitRuleStopState(p){if(this._atn.ruleToStartState[p.ruleIndex].isPrecedenceRule){let parentContext=this._parentContextStack.pop();this.unrollRecursionContexts(parentContext[0]),this.state=parentContext[1]}else this.exitRule();let ruleTransition=this._atn.states[this.state].transition(0);this.state=ruleTransition.followState.stateNumber}addDecisionOverride(decision,tokenIndex,forcedAlt){this.overrideDecision=decision,this.overrideDecisionInputIndex=tokenIndex,this.overrideDecisionAlt=forcedAlt}get overrideDecisionRoot(){return this._overrideDecisionRoot}recover(e){let i=this._input.index;if(this.errorHandler.recover(this,e),this._input.index===i){let tok=e.getOffendingToken();if(!tok)throw new Error("Expected exception to have an offending token");let source=tok.tokenSource,sourcePair={source,stream:void 0!==source?source.inputStream:void 0};if(e instanceof InputMismatchException_1.InputMismatchException){let expectedTokens=e.expectedTokens;if(void 0===expectedTokens)throw new Error("Expected the exception to provide expected tokens");let expectedTokenType=Token_1.Token.INVALID_TYPE;expectedTokens.isNil||(expectedTokenType=expectedTokens.minElement);let errToken=this.tokenFactory.create(sourcePair,expectedTokenType,tok.text,Token_1.Token.DEFAULT_CHANNEL,-1,-1,tok.line,tok.charPositionInLine);this._ctx.addErrorNode(this.createErrorNode(this._ctx,errToken))}else{let errToken=this.tokenFactory.create(sourcePair,Token_1.Token.INVALID_TYPE,tok.text,Token_1.Token.DEFAULT_CHANNEL,-1,-1,tok.line,tok.charPositionInLine);this._ctx.addErrorNode(this.createErrorNode(this._ctx,errToken))}}}recoverInline(){return this._errHandler.recoverInline(this)}get rootContext(){return this._rootContext}};__decorate([Decorators_1.NotNull],ParserInterpreter.prototype,"_vocabulary",void 0),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"reset",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"atn",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"vocabulary",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"ruleNames",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"grammarFileName",null),__decorate([Decorators_2.Override],ParserInterpreter.prototype,"enterRecursionRule",null),ParserInterpreter=__decorate([__param(1,Decorators_1.NotNull)],ParserInterpreter),exports.ParserInterpreter=ParserInterpreter},3235:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParserRuleContext=void 0;const ErrorNode_1=__webpack_require__(8272),Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),RuleContext_1=__webpack_require__(325),TerminalNode_1=__webpack_require__(9561);class ParserRuleContext extends RuleContext_1.RuleContext{constructor(parent,invokingStateNumber){null==invokingStateNumber?super():super(parent,invokingStateNumber)}static emptyContext(){return ParserRuleContext.EMPTY}copyFrom(ctx){if(this._parent=ctx._parent,this.invokingState=ctx.invokingState,this._start=ctx._start,this._stop=ctx._stop,ctx.children){this.children=[];for(let child of ctx.children)child instanceof ErrorNode_1.ErrorNode&&this.addChild(child)}}enterRule(listener){}exitRule(listener){}addAnyChild(t){return this.children?this.children.push(t):this.children=[t],t}addChild(t){return t instanceof TerminalNode_1.TerminalNode?(t.setParent(this),void this.addAnyChild(t)):t instanceof RuleContext_1.RuleContext?void this.addAnyChild(t):(t=new TerminalNode_1.TerminalNode(t),this.addAnyChild(t),t.setParent(this),t)}addErrorNode(node2){if(node2 instanceof ErrorNode_1.ErrorNode){const errorNode=node2;return errorNode.setParent(this),this.addAnyChild(errorNode)}{let t=new ErrorNode_1.ErrorNode(node2);return this.addAnyChild(t),t.setParent(this),t}}removeLastChild(){this.children&&this.children.pop()}get parent(){let parent=super.parent;if(void 0===parent||parent instanceof ParserRuleContext)return parent;throw new TypeError("Invalid parent type for ParserRuleContext")}getChild(i,ctxType){if(!this.children||i<0||i>=this.children.length)throw new RangeError("index parameter must be between >= 0 and <= number of children.");if(null==ctxType)return this.children[i];let result=this.tryGetChild(i,ctxType);if(void 0===result)throw new Error("The specified node does not exist");return result}tryGetChild(i,ctxType){if(!this.children||i<0||i>=this.children.length)return;let j=-1;for(let o of this.children)if(o instanceof ctxType&&(j++,j===i))return o}getToken(ttype,i){let result=this.tryGetToken(ttype,i);if(void 0===result)throw new Error("The specified token does not exist");return result}tryGetToken(ttype,i){if(!this.children||i<0||i>=this.children.length)return;let j=-1;for(let o of this.children)if(o instanceof TerminalNode_1.TerminalNode&&o.symbol.type===ttype&&(j++,j===i))return o}getTokens(ttype){let tokens=[];if(!this.children)return tokens;for(let o of this.children)o instanceof TerminalNode_1.TerminalNode&&o.symbol.type===ttype&&tokens.push(o);return tokens}get ruleContext(){return this}getRuleContext(i,ctxType){return this.getChild(i,ctxType)}tryGetRuleContext(i,ctxType){return this.tryGetChild(i,ctxType)}getRuleContexts(ctxType){let contexts=[];if(!this.children)return contexts;for(let o of this.children)o instanceof ctxType&&contexts.push(o);return contexts}get childCount(){return this.children?this.children.length:0}get sourceInterval(){return this._start?Interval_1.Interval.of(this._start.tokenIndex,!this._stop||this._stop.tokenIndex=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProxyErrorListener=void 0;const Decorators_1=__webpack_require__(4798);class ProxyErrorListener{constructor(delegates){if(this.delegates=delegates,!delegates)throw new Error("Invalid delegates")}getDelegates(){return this.delegates}syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e){this.delegates.forEach(listener=>{listener.syntaxError&&listener.syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e)})}}__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(4,Decorators_1.NotNull)],ProxyErrorListener.prototype,"syntaxError",null),exports.ProxyErrorListener=ProxyErrorListener},6305:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProxyParserErrorListener=void 0;const ProxyErrorListener_1=__webpack_require__(4986),Decorators_1=__webpack_require__(4798);class ProxyParserErrorListener extends ProxyErrorListener_1.ProxyErrorListener{constructor(delegates){super(delegates)}reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs){this.getDelegates().forEach(listener=>{listener.reportAmbiguity&&listener.reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs)})}reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,conflictState){this.getDelegates().forEach(listener=>{listener.reportAttemptingFullContext&&listener.reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,conflictState)})}reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,acceptState){this.getDelegates().forEach(listener=>{listener.reportContextSensitivity&&listener.reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,acceptState)})}}__decorate([Decorators_1.Override],ProxyParserErrorListener.prototype,"reportAmbiguity",null),__decorate([Decorators_1.Override],ProxyParserErrorListener.prototype,"reportAttemptingFullContext",null),__decorate([Decorators_1.Override],ProxyParserErrorListener.prototype,"reportContextSensitivity",null),exports.ProxyParserErrorListener=ProxyParserErrorListener},6294:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RecognitionException=void 0;class RecognitionException extends Error{constructor(recognizer,input,ctx,message){super(message),this._offendingState=-1,this._recognizer=recognizer,this.input=input,this.ctx=ctx,recognizer&&(this._offendingState=recognizer.state)}get offendingState(){return this._offendingState}setOffendingState(offendingState){this._offendingState=offendingState}get expectedTokens(){if(this._recognizer)return this._recognizer.atn.getExpectedTokens(this._offendingState,this.ctx)}get context(){return this.ctx}get inputStream(){return this.input}getOffendingToken(recognizer){if(!recognizer||recognizer===this._recognizer)return this.offendingToken}setOffendingToken(recognizer,offendingToken){recognizer===this._recognizer&&(this.offendingToken=offendingToken)}get recognizer(){return this._recognizer}}exports.RecognitionException=RecognitionException},5705:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Recognizer=void 0,__webpack_require__(6972);const ProxyErrorListener_1=__webpack_require__(4986),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770),Utils=__webpack_require__(2028);class Recognizer{constructor(){this._listeners=[],this._stateNumber=-1}getTokenTypeMap(){let vocabulary=this.vocabulary,result=Recognizer.tokenTypeMapCache.get(vocabulary);if(null==result){let intermediateResult=new Map;for(let i=0;i<=this.atn.maxTokenType;i++){let literalName=vocabulary.getLiteralName(i);null!=literalName&&intermediateResult.set(literalName,i);let symbolicName=vocabulary.getSymbolicName(i);null!=symbolicName&&intermediateResult.set(symbolicName,i)}intermediateResult.set("EOF",Token_1.Token.EOF),result=intermediateResult,Recognizer.tokenTypeMapCache.set(vocabulary,result)}return result}getRuleIndexMap(){let ruleNames=this.ruleNames;if(null==ruleNames)throw new Error("The current recognizer does not provide a list of rule names.");let result=Recognizer.ruleIndexMapCache.get(ruleNames);return null==result&&(result=Utils.toMap(ruleNames),Recognizer.ruleIndexMapCache.set(ruleNames,result)),result}getTokenType(tokenName){return this.getTokenTypeMap().get(tokenName)??Token_1.Token.INVALID_TYPE}get serializedATN(){throw new Error("there is no serialized ATN")}get atn(){return this._interp.atn}get interpreter(){return this._interp}set interpreter(interpreter){this._interp=interpreter}get parseInfo(){return Promise.resolve(void 0)}getErrorHeader(e){let token=e.getOffendingToken();return token?"line "+token.line+":"+token.charPositionInLine:""}addErrorListener(listener){if(!listener)throw new TypeError("listener must not be null");this._listeners.push(listener)}removeErrorListener(listener){let position=this._listeners.indexOf(listener);-1!==position&&this._listeners.splice(position,1)}removeErrorListeners(){this._listeners.length=0}getErrorListeners(){return this._listeners.slice(0)}getErrorListenerDispatch(){return new ProxyErrorListener_1.ProxyErrorListener(this.getErrorListeners())}sempred(_localctx,ruleIndex,actionIndex){return!0}precpred(localctx,precedence){return!0}action(_localctx,ruleIndex,actionIndex){}get state(){return this._stateNumber}set state(atnState){this._stateNumber=atnState}}Recognizer.EOF=-1,Recognizer.tokenTypeMapCache=new WeakMap,Recognizer.ruleIndexMapCache=new WeakMap,__decorate([Decorators_1.SuppressWarnings("serial"),Decorators_1.NotNull],Recognizer.prototype,"_listeners",void 0),__decorate([Decorators_1.NotNull],Recognizer.prototype,"getTokenTypeMap",null),__decorate([Decorators_1.NotNull],Recognizer.prototype,"getRuleIndexMap",null),__decorate([Decorators_1.NotNull],Recognizer.prototype,"serializedATN",null),__decorate([Decorators_1.NotNull],Recognizer.prototype,"atn",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],Recognizer.prototype,"interpreter",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],Recognizer.prototype,"getErrorHeader",null),__decorate([__param(0,Decorators_1.NotNull)],Recognizer.prototype,"addErrorListener",null),__decorate([__param(0,Decorators_1.NotNull)],Recognizer.prototype,"removeErrorListener",null),__decorate([Decorators_1.NotNull],Recognizer.prototype,"getErrorListeners",null),exports.Recognizer=Recognizer},325:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleContext=void 0;const ATN_1=__webpack_require__(4495),Recognizer_1=__webpack_require__(5705),RuleNode_1=__webpack_require__(2416),Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),ParserRuleContext_1=__webpack_require__(3235);class RuleContext extends RuleNode_1.RuleNode{constructor(parent,invokingState){super(),this._parent=parent,this.invokingState=invokingState??-1}static getChildContext(parent,invokingState){return new RuleContext(parent,invokingState)}depth(){let n=0,p=this;for(;p;)p=p._parent,n++;return n}get isEmpty(){return-1===this.invokingState}get sourceInterval(){return Interval_1.Interval.INVALID}get ruleContext(){return this}get parent(){return this._parent}setParent(parent){this._parent=parent}get payload(){return this}get text(){if(0===this.childCount)return"";let builder="";for(let i=0;i=0&&ruleIndex=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleContextWithAltNum=void 0;const ATN_1=__webpack_require__(4495),Decorators_1=__webpack_require__(4798),ParserRuleContext_1=__webpack_require__(3235);class RuleContextWithAltNum extends ParserRuleContext_1.ParserRuleContext{constructor(parent,invokingStateNumber){void 0!==invokingStateNumber?super(parent,invokingStateNumber):super(),this._altNumber=ATN_1.ATN.INVALID_ALT_NUMBER}get altNumber(){return this._altNumber}set altNumber(altNum){this._altNumber=altNum}}__decorate([Decorators_1.Override],RuleContextWithAltNum.prototype,"altNumber",null),exports.RuleContextWithAltNum=RuleContextWithAltNum},6424:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleDependency=void 0,exports.RuleDependency=function RuleDependency(dependency){return(target,propertyKey,propertyDescriptor)=>{}}},3656:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleVersion=void 0,exports.RuleVersion=function RuleVersion(version){return(target,propertyKey,propertyDescriptor)=>{}}},8770:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Token=void 0;const IntStream_1=__webpack_require__(9627);var Token2;(Token2=exports.Token||(exports.Token={})).INVALID_TYPE=0,Token2.EPSILON=-2,Token2.MIN_USER_TOKEN_TYPE=1,Token2.EOF=IntStream_1.IntStream.EOF,Token2.DEFAULT_CHANNEL=0,Token2.HIDDEN_CHANNEL=1,Token2.MIN_USER_CHANNEL_VALUE=2},5253:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},3062:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},3357:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},9904:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RewriteOperation=exports.TokenStreamRewriter=void 0;const Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);class TokenStreamRewriter{constructor(tokens){this.tokens=tokens,this.programs=new Map,this.programs.set(TokenStreamRewriter.DEFAULT_PROGRAM_NAME,[]),this.lastRewriteTokenIndexes=new Map}getTokenStream(){return this.tokens}rollback(instructionIndex,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let is=this.programs.get(programName);null!=is&&this.programs.set(programName,is.slice(TokenStreamRewriter.MIN_TOKEN_INDEX,instructionIndex))}deleteProgram(programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){this.rollback(TokenStreamRewriter.MIN_TOKEN_INDEX,programName)}insertAfter(tokenOrIndex,text,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let index;index="number"==typeof tokenOrIndex?tokenOrIndex:tokenOrIndex.tokenIndex;let rewrites=this.getProgram(programName),op=new InsertAfterOp(this.tokens,index,rewrites.length,text);rewrites.push(op)}insertBefore(tokenOrIndex,text,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let index;index="number"==typeof tokenOrIndex?tokenOrIndex:tokenOrIndex.tokenIndex;let rewrites=this.getProgram(programName),op=new InsertBeforeOp(this.tokens,index,rewrites.length,text);rewrites.push(op)}replaceSingle(index,text){this.replace(index,index,text)}replace(from2,to,text,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){if("number"!=typeof from2&&(from2=from2.tokenIndex),"number"!=typeof to&&(to=to.tokenIndex),from2>to||from2<0||to<0||to>=this.tokens.size)throw new RangeError(`replace: range invalid: ${from2}..${to}(size=${this.tokens.size})`);let rewrites=this.getProgram(programName),op=new ReplaceOp(this.tokens,from2,to,rewrites.length,text);rewrites.push(op)}delete(from2,to,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){void 0===to&&(to=from2),this.replace(from2,to,"",programName)}getLastRewriteTokenIndex(programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){return this.lastRewriteTokenIndexes.get(programName)??-1}setLastRewriteTokenIndex(programName,i){this.lastRewriteTokenIndexes.set(programName,i)}getProgram(name){let is=this.programs.get(name);return null==is&&(is=this.initializeProgram(name)),is}initializeProgram(name){let is=[];return this.programs.set(name,is),is}getText(intervalOrProgram,programName=TokenStreamRewriter.DEFAULT_PROGRAM_NAME){let interval;interval=intervalOrProgram instanceof Interval_1.Interval?intervalOrProgram:Interval_1.Interval.of(0,this.tokens.size-1),"string"==typeof intervalOrProgram&&(programName=intervalOrProgram);let rewrites=this.programs.get(programName),start=interval.a,stop=interval.b;if(stop>this.tokens.size-1&&(stop=this.tokens.size-1),start<0&&(start=0),null==rewrites||0===rewrites.length)return this.tokens.getText(interval);let buf=[],indexToOp=this.reduceToSingleOperationPerIndex(rewrites),i=start;for(;i<=stop&&i=this.tokens.size-1&&buf.push(op.text.toString());return buf.join("")}reduceToSingleOperationPerIndex(rewrites){for(let i=0;irop.index&&iop.index<=rop.lastIndex&&(rewrites[iop.instructionIndex]=void 0);let prevReplaces=this.getKindOfOps(rewrites,ReplaceOp,i);for(let prevRop of prevReplaces){if(prevRop.index>=rop.index&&prevRop.lastIndex<=rop.lastIndex){rewrites[prevRop.instructionIndex]=void 0;continue}let disjoint=prevRop.lastIndexrop.lastIndex;if(null!=prevRop.text||null!=rop.text||disjoint){if(!disjoint)throw new Error(`replace op boundaries of ${rop} overlap with previous ${prevRop}`)}else rewrites[prevRop.instructionIndex]=void 0,rop.index=Math.min(prevRop.index,rop.index),rop.lastIndex=Math.max(prevRop.lastIndex,rop.lastIndex)}}for(let i=0;i=rop.index&&iop.index<=rop.lastIndex)throw new Error(`insert op ${iop} within boundaries of previous ${rop}`)}else rop.text=this.catOpText(iop.text,rop.text),rewrites[i]=void 0}let m=new Map;for(let op of rewrites)if(null!=op){if(null!=m.get(op.index))throw new Error("should only be one op per index");m.set(op.index,op)}return m}catOpText(a,b){let x="",y="";return null!=a&&(x=a.toString()),null!=b&&(y=b.toString()),x+y}getKindOfOps(rewrites,kind,before){let ops=[];for(let i=0;i'}}__decorate([Decorators_1.Override],RewriteOperation.prototype,"toString",null),exports.RewriteOperation=RewriteOperation;class InsertBeforeOp extends RewriteOperation{constructor(tokens,index,instructionIndex,text){super(tokens,index,instructionIndex,text)}execute(buf){return buf.push(this.text.toString()),this.tokens.get(this.index).type!==Token_1.Token.EOF&&buf.push(String(this.tokens.get(this.index).text)),this.index+1}}__decorate([Decorators_1.Override],InsertBeforeOp.prototype,"execute",null);class InsertAfterOp extends InsertBeforeOp{constructor(tokens,index,instructionIndex,text){super(tokens,index+1,instructionIndex,text)}}class ReplaceOp extends RewriteOperation{constructor(tokens,from2,to,instructionIndex,text){super(tokens,from2,instructionIndex,text),this.lastIndex=to}execute(buf){return null!=this.text&&buf.push(this.text.toString()),this.lastIndex+1}toString(){return null==this.text?"":"'}}__decorate([Decorators_1.Override],ReplaceOp.prototype,"execute",null),__decorate([Decorators_1.Override],ReplaceOp.prototype,"toString",null)},3935:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},4221:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.VocabularyImpl=void 0;const Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);class VocabularyImpl{constructor(literalNames,symbolicNames,displayNames){this.literalNames=literalNames,this.symbolicNames=symbolicNames,this.displayNames=displayNames,this._maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}get maxTokenType(){return this._maxTokenType}getLiteralName(tokenType){if(tokenType>=0&&tokenType=0&&tokenType=0&&tokenType{"use strict";Object.defineProperty(exports,"__esModule",{value:!0})},4495:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATN=void 0;const Array2DHashMap_1=__webpack_require__(6746),DFA_1=__webpack_require__(7855),IntervalSet_1=__webpack_require__(3951),InvalidState_1=__webpack_require__(8592),LL1Analyzer_1=__webpack_require__(4791),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),Token_1=__webpack_require__(8770),assert=__webpack_require__(5936);let ATN=class{constructor(grammarType,maxTokenType){this.states=[],this.decisionToState=[],this.modeNameToStartState=new Map,this.modeToStartState=[],this.contextCache=new Array2DHashMap_1.Array2DHashMap(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.decisionToDFA=[],this.modeToDFA=[],this.LL1Table=new Map,this.grammarType=grammarType,this.maxTokenType=maxTokenType}clearDFA(){this.decisionToDFA=new Array(this.decisionToState.length);for(let i=0;i0)return this.decisionToState[decision]}get numberOfDecisions(){return this.decisionToState.length}getExpectedTokens(stateNumber,context){if(stateNumber<0||stateNumber>=this.states.length)throw new RangeError("Invalid state number.");let ctx=context,following=this.nextTokens(this.states[stateNumber]);if(!following.contains(Token_1.Token.EPSILON))return following;let expected=new IntervalSet_1.IntervalSet;for(expected.addAll(following),expected.remove(Token_1.Token.EPSILON);null!=ctx&&ctx.invokingState>=0&&following.contains(Token_1.Token.EPSILON);){let rt=this.states[ctx.invokingState].transition(0);following=this.nextTokens(rt.followState),expected.addAll(following),expected.remove(Token_1.Token.EPSILON),ctx=ctx._parent}return following.contains(Token_1.Token.EPSILON)&&expected.add(Token_1.Token.EOF),expected}};__decorate([Decorators_1.NotNull],ATN.prototype,"states",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"decisionToState",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"modeNameToStartState",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"modeToStartState",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"decisionToDFA",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"modeToDFA",void 0),__decorate([Decorators_1.NotNull],ATN.prototype,"nextTokens",null),__decorate([__param(0,Decorators_1.NotNull)],ATN.prototype,"removeState",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ATN.prototype,"defineMode",null),__decorate([__param(0,Decorators_1.NotNull)],ATN.prototype,"defineDecisionState",null),__decorate([Decorators_1.NotNull],ATN.prototype,"getExpectedTokens",null),ATN=__decorate([__param(0,Decorators_1.NotNull)],ATN),exports.ATN=ATN,(ATN=exports.ATN||(exports.ATN={})).INVALID_ALT_NUMBER=0,exports.ATN=ATN},8595:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNConfig=void 0;const Array2DHashMap_1=__webpack_require__(6746),DecisionState_1=__webpack_require__(2992),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),SemanticContext_1=__webpack_require__(7909),assert=__webpack_require__(5936);let ATNConfig=class ATNConfig2{constructor(state,altOrConfig,context){"number"==typeof altOrConfig?(assert((16777215&altOrConfig)===altOrConfig),this._state=state,this.altAndOuterContextDepth=altOrConfig,this._context=context):(this._state=state,this.altAndOuterContextDepth=altOrConfig.altAndOuterContextDepth,this._context=context)}static create(state,alt,context,semanticContext=SemanticContext_1.SemanticContext.NONE,lexerActionExecutor){return semanticContext!==SemanticContext_1.SemanticContext.NONE?null!=lexerActionExecutor?new ActionSemanticContextATNConfig(lexerActionExecutor,semanticContext,state,alt,context,!1):new SemanticContextATNConfig(semanticContext,state,alt,context):null!=lexerActionExecutor?new ActionATNConfig(lexerActionExecutor,state,alt,context,!1):new ATNConfig2(state,alt,context)}get state(){return this._state}get alt(){return 16777215&this.altAndOuterContextDepth}get context(){return this._context}set context(context){this._context=context}get reachesIntoOuterContext(){return 0!==this.outerContextDepth}get outerContextDepth(){return this.altAndOuterContextDepth>>>24&127}set outerContextDepth(outerContextDepth){assert(outerContextDepth>=0),outerContextDepth=Math.min(outerContextDepth,127),this.altAndOuterContextDepth=outerContextDepth<<24|(-2130706433&this.altAndOuterContextDepth)>>>0}get lexerActionExecutor(){}get semanticContext(){return SemanticContext_1.SemanticContext.NONE}get hasPassedThroughNonGreedyDecision(){return!1}clone(){return this.transform(this.state,!1)}transform(state,checkNonGreedy,arg2){return null==arg2?this.transformImpl(state,this._context,this.semanticContext,checkNonGreedy,this.lexerActionExecutor):arg2 instanceof PredictionContext_1.PredictionContext?this.transformImpl(state,arg2,this.semanticContext,checkNonGreedy,this.lexerActionExecutor):arg2 instanceof SemanticContext_1.SemanticContext?this.transformImpl(state,this._context,arg2,checkNonGreedy,this.lexerActionExecutor):this.transformImpl(state,this._context,this.semanticContext,checkNonGreedy,arg2)}transformImpl(state,context,semanticContext,checkNonGreedy,lexerActionExecutor){let passedThroughNonGreedy=checkNonGreedy&&ATNConfig2.checkNonGreedyDecision(this,state);return semanticContext!==SemanticContext_1.SemanticContext.NONE?null!=lexerActionExecutor||passedThroughNonGreedy?new ActionSemanticContextATNConfig(lexerActionExecutor,semanticContext,state,this,context,passedThroughNonGreedy):new SemanticContextATNConfig(semanticContext,state,this,context):null!=lexerActionExecutor||passedThroughNonGreedy?new ActionATNConfig(lexerActionExecutor,state,this,context,passedThroughNonGreedy):new ATNConfig2(state,this,context)}static checkNonGreedyDecision(source,target){return source.hasPassedThroughNonGreedyDecision||target instanceof DecisionState_1.DecisionState&&target.nonGreedy}appendContext(context,contextCache){if("number"==typeof context){let appendedContext=this.context.appendSingleContext(context,contextCache);return this.transform(this.state,!1,appendedContext)}{let appendedContext=this.context.appendContext(context,contextCache);return this.transform(this.state,!1,appendedContext)}}contains(subconfig){if(this.state.stateNumber!==subconfig.state.stateNumber||this.alt!==subconfig.alt||!this.semanticContext.equals(subconfig.semanticContext))return!1;let leftWorkList=[],rightWorkList=[];for(leftWorkList.push(this.context),rightWorkList.push(subconfig.context);;){let left=leftWorkList.pop(),right=rightWorkList.pop();if(!left||!right)break;if(left===right)return!0;if(left.size=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNConfigSet=void 0;const Array2DHashMap_1=__webpack_require__(6746),Array2DHashSet_1=__webpack_require__(9792),ArrayEqualityComparator_1=__webpack_require__(6481),ATN_1=__webpack_require__(4495),ATNConfig_1=__webpack_require__(8595),BitSet_1=__webpack_require__(6625),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),PredictionContextCache_1=__webpack_require__(2685),SemanticContext_1=__webpack_require__(7909),assert=__webpack_require__(5936),Utils=__webpack_require__(2028);class KeyTypeEqualityComparer{hashCode(key){return key.state^key.alt}equals(a,b){return a.state===b.state&&a.alt===b.alt}}function NewKeyedConfigMap(map2){return new Array2DHashMap_1.Array2DHashMap(map2||KeyTypeEqualityComparer.INSTANCE)}KeyTypeEqualityComparer.INSTANCE=new KeyTypeEqualityComparer;class ATNConfigSet{constructor(set,readonly){this._uniqueAlt=0,this._hasSemanticContext=!1,this._dipsIntoOuterContext=!1,this.outermostConfigSet=!1,this.cachedHashCode=-1,set?(readonly?(this.mergedConfigs=void 0,this.unmerged=void 0):set.isReadOnly?(this.mergedConfigs=NewKeyedConfigMap(),this.unmerged=[]):(this.mergedConfigs=NewKeyedConfigMap(set.mergedConfigs),this.unmerged=set.unmerged.slice(0)),this.configs=set.configs.slice(0),this._dipsIntoOuterContext=set._dipsIntoOuterContext,this._hasSemanticContext=set._hasSemanticContext,this.outermostConfigSet=set.outermostConfigSet,(readonly||!set.isReadOnly)&&(this._uniqueAlt=set._uniqueAlt,this._conflictInfo=set._conflictInfo)):(this.mergedConfigs=NewKeyedConfigMap(),this.unmerged=[],this.configs=[],this._uniqueAlt=ATN_1.ATN.INVALID_ALT_NUMBER)}getRepresentedAlternatives(){if(null!=this._conflictInfo)return this._conflictInfo.conflictedAlts.clone();let alts=new BitSet_1.BitSet;for(let config of this)alts.set(config.alt);return alts}get isReadOnly(){return null==this.mergedConfigs}get isOutermostConfigSet(){return this.outermostConfigSet}set isOutermostConfigSet(outermostConfigSet){if(this.outermostConfigSet&&!outermostConfigSet)throw new Error("IllegalStateException");assert(!outermostConfigSet||!this._dipsIntoOuterContext),this.outermostConfigSet=outermostConfigSet}getStates(){let states=new Array2DHashSet_1.Array2DHashSet(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE);for(let c of this.configs)states.add(c.state);return states}optimizeConfigs(interpreter){if(0!==this.configs.length)for(let config of this.configs)config.context=interpreter.atn.getCachedContext(config.context)}clone(readonly){let copy=new ATNConfigSet(this,readonly);return!readonly&&this.isReadOnly&©.addAll(this.configs),copy}get size(){return this.configs.length}get isEmpty(){return 0===this.configs.length}contains(o){if(!(o instanceof ATNConfig_1.ATNConfig))return!1;if(this.mergedConfigs&&this.unmerged){let config=o,configKey=this.getKey(config),mergedConfig=this.mergedConfigs.get(configKey);if(null!=mergedConfig&&this.canMerge(config,configKey,mergedConfig))return mergedConfig.contains(config);for(let c of this.unmerged)if(c.contains(o))return!0}else for(let c of this.configs)if(c.contains(o))return!0;return!1}*[Symbol.iterator](){yield*this.configs}toArray(){return this.configs}add(e,contextCache){if(this.ensureWritable(),!this.mergedConfigs||!this.unmerged)throw new Error("Covered by ensureWritable but duplicated here for strict null check limitation");assert(!this.outermostConfigSet||!e.reachesIntoOuterContext),null==contextCache&&(contextCache=PredictionContextCache_1.PredictionContextCache.UNCACHED);let addKey,key=this.getKey(e),mergedConfig=this.mergedConfigs.get(key);if(addKey=null==mergedConfig,null!=mergedConfig&&this.canMerge(e,key,mergedConfig)){mergedConfig.outerContextDepth=Math.max(mergedConfig.outerContextDepth,e.outerContextDepth),e.isPrecedenceFilterSuppressed&&(mergedConfig.isPrecedenceFilterSuppressed=!0);let joined=PredictionContext_1.PredictionContext.join(mergedConfig.context,e.context,contextCache);return this.updatePropertiesForMergedConfig(e),mergedConfig.context!==joined&&(mergedConfig.context=joined,!0)}for(let i=0;io1.alt!==o2.alt?o1.alt-o2.alt:o1.state.stateNumber!==o2.state.stateNumber?o1.state.stateNumber-o2.state.stateNumber:o1.semanticContext.toString().localeCompare(o2.semanticContext.toString())),buf+="[";for(let i=0;i0&&(buf+=", "),buf+=sortedConfigs[i].toString(void 0,!0,showContext);return buf+="]",this._hasSemanticContext&&(buf+=",hasSemanticContext="+this._hasSemanticContext),this._uniqueAlt!==ATN_1.ATN.INVALID_ALT_NUMBER&&(buf+=",uniqueAlt="+this._uniqueAlt),null!=this._conflictInfo&&(buf+=",conflictingAlts="+this._conflictInfo.conflictedAlts,this._conflictInfo.isExact||(buf+="*")),this._dipsIntoOuterContext&&(buf+=",dipsIntoOuterContext"),buf.toString()}get uniqueAlt(){return this._uniqueAlt}get hasSemanticContext(){return this._hasSemanticContext}set hasSemanticContext(value){this.ensureWritable(),this._hasSemanticContext=value}get conflictInfo(){return this._conflictInfo}set conflictInfo(conflictInfo){this.ensureWritable(),this._conflictInfo=conflictInfo}get conflictingAlts(){if(null!=this._conflictInfo)return this._conflictInfo.conflictedAlts}get isExactConflict(){return null!=this._conflictInfo&&this._conflictInfo.isExact}get dipsIntoOuterContext(){return this._dipsIntoOuterContext}get(index){return this.configs[index]}ensureWritable(){if(this.isReadOnly)throw new Error("This ATNConfigSet is read only.")}}__decorate([Decorators_1.NotNull],ATNConfigSet.prototype,"getRepresentedAlternatives",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"size",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"isEmpty",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"contains",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,Symbol.iterator,null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"toArray",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"containsAll",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"clear",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"equals",null),__decorate([Decorators_1.Override],ATNConfigSet.prototype,"hashCode",null),exports.ATNConfigSet=ATNConfigSet},7080:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNDeserializationOptions=void 0;const Decorators_1=__webpack_require__(4798);class ATNDeserializationOptions{constructor(options){this.readOnly=!1,options?(this.verifyATN=options.verifyATN,this.generateRuleBypassTransitions=options.generateRuleBypassTransitions,this.optimize=options.optimize):(this.verifyATN=!0,this.generateRuleBypassTransitions=!1,this.optimize=!0)}static get defaultOptions(){return null==ATNDeserializationOptions._defaultOptions&&(ATNDeserializationOptions._defaultOptions=new ATNDeserializationOptions,ATNDeserializationOptions._defaultOptions.makeReadOnly()),ATNDeserializationOptions._defaultOptions}get isReadOnly(){return this.readOnly}makeReadOnly(){this.readOnly=!0}get isVerifyATN(){return this.verifyATN}set isVerifyATN(verifyATN){this.throwIfReadOnly(),this.verifyATN=verifyATN}get isGenerateRuleBypassTransitions(){return this.generateRuleBypassTransitions}set isGenerateRuleBypassTransitions(generateRuleBypassTransitions){this.throwIfReadOnly(),this.generateRuleBypassTransitions=generateRuleBypassTransitions}get isOptimize(){return this.optimize}set isOptimize(optimize){this.throwIfReadOnly(),this.optimize=optimize}throwIfReadOnly(){if(this.isReadOnly)throw new Error("The object is read only.")}}__decorate([Decorators_1.NotNull],ATNDeserializationOptions,"defaultOptions",null),exports.ATNDeserializationOptions=ATNDeserializationOptions},9940:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNDeserializer=void 0;const ActionTransition_1=__webpack_require__(9318),Array2DHashSet_1=__webpack_require__(9792),ATN_1=__webpack_require__(4495),ATNDeserializationOptions_1=__webpack_require__(7080),ATNStateType_1=__webpack_require__(5495),AtomTransition_1=__webpack_require__(3149),BasicBlockStartState_1=__webpack_require__(6060),BasicState_1=__webpack_require__(9759),BitSet_1=__webpack_require__(6625),BlockEndState_1=__webpack_require__(3257),BlockStartState_1=__webpack_require__(852),DecisionState_1=__webpack_require__(2992),DFA_1=__webpack_require__(7855),EpsilonTransition_1=__webpack_require__(6343),IntervalSet_1=__webpack_require__(3951),InvalidState_1=__webpack_require__(8592),LexerChannelAction_1=__webpack_require__(6263),LexerCustomAction_1=__webpack_require__(8310),LexerModeAction_1=__webpack_require__(4240),LexerMoreAction_1=__webpack_require__(905),LexerPopModeAction_1=__webpack_require__(825),LexerPushModeAction_1=__webpack_require__(8031),LexerSkipAction_1=__webpack_require__(7893),LexerTypeAction_1=__webpack_require__(3758),LoopEndState_1=__webpack_require__(9533),Decorators_1=__webpack_require__(4798),NotSetTransition_1=__webpack_require__(9087),ParserATNSimulator_1=__webpack_require__(7609),PlusBlockStartState_1=__webpack_require__(8132),PlusLoopbackState_1=__webpack_require__(8659),PrecedencePredicateTransition_1=__webpack_require__(896),PredicateTransition_1=__webpack_require__(1447),RangeTransition_1=__webpack_require__(4242),RuleStartState_1=__webpack_require__(1045),RuleStopState_1=__webpack_require__(8059),RuleTransition_1=__webpack_require__(7937),SetTransition_1=__webpack_require__(619),StarBlockStartState_1=__webpack_require__(2749),StarLoopbackState_1=__webpack_require__(6583),StarLoopEntryState_1=__webpack_require__(7123),Token_1=__webpack_require__(8770),TokensStartState_1=__webpack_require__(5153),UUID_1=__webpack_require__(5662),WildcardTransition_1=__webpack_require__(7902);class ATNDeserializer{constructor(deserializationOptions){void 0===deserializationOptions&&(deserializationOptions=ATNDeserializationOptions_1.ATNDeserializationOptions.defaultOptions),this.deserializationOptions=deserializationOptions}static get SERIALIZED_VERSION(){return 3}static isFeatureSupported(feature,actualUuid){let featureIndex=ATNDeserializer.SUPPORTED_UUIDS.findIndex(e=>e.equals(feature));return!(featureIndex<0)&&ATNDeserializer.SUPPORTED_UUIDS.findIndex(e=>e.equals(actualUuid))>=featureIndex}static getUnicodeDeserializer(mode){return 0===mode?{readUnicode:(data,p)=>ATNDeserializer.toInt(data[p]),size:1}:{readUnicode:(data,p)=>ATNDeserializer.toInt32(data,p),size:2}}deserialize(data){data=data.slice(0);for(let i=1;ie.equals(uuid))<0)throw new Error(`Could not deserialize ATN with UUID ${uuid} (expected ${ATNDeserializer.SERIALIZED_UUID} or a legacy UUID).`);let supportsLexerActions=ATNDeserializer.isFeatureSupported(ATNDeserializer.ADDED_LEXER_ACTIONS,uuid),grammarType=ATNDeserializer.toInt(data[p++]),maxTokenType=ATNDeserializer.toInt(data[p++]),atn=new ATN_1.ATN(grammarType,maxTokenType),loopBackStateNumbers=[],endStateNumbers=[],nstates=ATNDeserializer.toInt(data[p++]);for(let i=0;io.stopState^o.returnState^o.outermostPrecedenceReturn,equals:(a,b)=>a.stopState===b.stopState&&a.returnState===b.returnState&&a.outermostPrecedenceReturn===b.outermostPrecedenceReturn}),returnTransitions=[];for(let state of atn.states){let returningToLeftFactored=state.ruleIndex>=0&&atn.ruleToStartState[state.ruleIndex].leftFactored;for(let i=0;i0;){let transition2=atn.ruleToStartState[i].removeTransition(atn.ruleToStartState[i].numberOfTransitions-1);bypassStart.addTransition(transition2)}atn.ruleToStartState[i].addTransition(new EpsilonTransition_1.EpsilonTransition(bypassStart)),bypassStop.addTransition(new EpsilonTransition_1.EpsilonTransition(endState));let matchState=new BasicState_1.BasicState;atn.addState(matchState),matchState.addTransition(new AtomTransition_1.AtomTransition(bypassStop,atn.ruleToTokenType[i])),bypassStart.addTransition(new EpsilonTransition_1.EpsilonTransition(matchState))}this.deserializationOptions.isVerifyATN&&this.verifyATN(atn)}if(this.deserializationOptions.isOptimize){for(;;){let optimizationCount=0;if(optimizationCount+=ATNDeserializer.inlineSetRules(atn),optimizationCount+=ATNDeserializer.combineChainedEpsilons(atn),optimizationCount+=ATNDeserializer.optimizeSets(atn,0===atn.grammarType),0===optimizationCount)break}this.deserializationOptions.isVerifyATN&&this.verifyATN(atn)}return ATNDeserializer.identifyTailCalls(atn),atn}deserializeSets(data,p,sets,unicodeDeserializer){let nsets=ATNDeserializer.toInt(data[p++]);for(let i=0;i=0:state.numberOfTransitions<=1||state instanceof RuleStopState_1.RuleStopState)}}checkCondition(condition,message){if(!condition)throw new Error("IllegalStateException: "+message)}static inlineSetRules(atn){let inlinedCalls=0,ruleToInlineTransition=new Array(atn.ruleToStartState.length);for(let i=0;i0;)state.removeOptimizedTransition(state.numberOfOptimizedTransitions-1);for(let transition2 of optimizedTransitions)state.addOptimizedTransition(transition2)}}return ParserATNSimulator_1.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+inlinedCalls+" rule invocations by inlining sets."),inlinedCalls}static combineChainedEpsilons(atn){let removedEdges=0;for(let state of atn.states){if(!state.onlyHasEpsilonTransitions||state instanceof RuleStopState_1.RuleStopState)continue;let optimizedTransitions;nextTransition:for(let i=0;i0;)state.removeOptimizedTransition(state.numberOfOptimizedTransitions-1);for(let transition2 of optimizedTransitions)state.addOptimizedTransition(transition2)}}return ParserATNSimulator_1.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+removedEdges+" transitions by combining chained epsilon transitions."),removedEdges}static optimizeSets(atn,preserveOrder){if(preserveOrder)return 0;let removedPaths=0,decisions=atn.decisionToState;for(let decision of decisions){let setTransitions=new IntervalSet_1.IntervalSet;for(let i=0;i0;)decision.removeOptimizedTransition(decision.numberOfOptimizedTransitions-1);for(let transition2 of optimizedTransitions)decision.addOptimizedTransition(transition2)}return ParserATNSimulator_1.ParserATNSimulator.debug&&console.log("ATN runtime optimizer removed "+removedPaths+" paths by collapsing sets."),removedPaths}static identifyTailCalls(atn){for(let state of atn.states){for(let i=0;i>>0}static toUUID(data,offset){let leastSigBits=ATNDeserializer.toInt32(data,offset),lessSigBits=ATNDeserializer.toInt32(data,offset+2),moreSigBits=ATNDeserializer.toInt32(data,offset+4),mostSigBits=ATNDeserializer.toInt32(data,offset+6);return new UUID_1.UUID(mostSigBits,moreSigBits,lessSigBits,leastSigBits)}edgeFactory(atn,type,src,trg,arg1,arg2,arg3,sets){let target=atn.states[trg];switch(type){case 1:return new EpsilonTransition_1.EpsilonTransition(target);case 2:return new RangeTransition_1.RangeTransition(target,0!==arg3?Token_1.Token.EOF:arg1,arg2);case 3:return new RuleTransition_1.RuleTransition(atn.states[arg1],arg2,arg3,target);case 4:return new PredicateTransition_1.PredicateTransition(target,arg1,arg2,0!==arg3);case 10:return new PrecedencePredicateTransition_1.PrecedencePredicateTransition(target,arg1);case 5:return new AtomTransition_1.AtomTransition(target,0!==arg3?Token_1.Token.EOF:arg1);case 6:return new ActionTransition_1.ActionTransition(target,arg1,arg2,0!==arg3);case 7:return new SetTransition_1.SetTransition(target,sets[arg1]);case 8:return new NotSetTransition_1.NotSetTransition(target,sets[arg1]);case 9:return new WildcardTransition_1.WildcardTransition(target)}throw new Error("The specified transition type is not valid.")}stateFactory(type,ruleIndex){let s;switch(type){case ATNStateType_1.ATNStateType.INVALID_TYPE:return new InvalidState_1.InvalidState;case ATNStateType_1.ATNStateType.BASIC:s=new BasicState_1.BasicState;break;case ATNStateType_1.ATNStateType.RULE_START:s=new RuleStartState_1.RuleStartState;break;case ATNStateType_1.ATNStateType.BLOCK_START:s=new BasicBlockStartState_1.BasicBlockStartState;break;case ATNStateType_1.ATNStateType.PLUS_BLOCK_START:s=new PlusBlockStartState_1.PlusBlockStartState;break;case ATNStateType_1.ATNStateType.STAR_BLOCK_START:s=new StarBlockStartState_1.StarBlockStartState;break;case ATNStateType_1.ATNStateType.TOKEN_START:s=new TokensStartState_1.TokensStartState;break;case ATNStateType_1.ATNStateType.RULE_STOP:s=new RuleStopState_1.RuleStopState;break;case ATNStateType_1.ATNStateType.BLOCK_END:s=new BlockEndState_1.BlockEndState;break;case ATNStateType_1.ATNStateType.STAR_LOOP_BACK:s=new StarLoopbackState_1.StarLoopbackState;break;case ATNStateType_1.ATNStateType.STAR_LOOP_ENTRY:s=new StarLoopEntryState_1.StarLoopEntryState;break;case ATNStateType_1.ATNStateType.PLUS_LOOP_BACK:s=new PlusLoopbackState_1.PlusLoopbackState;break;case ATNStateType_1.ATNStateType.LOOP_END:s=new LoopEndState_1.LoopEndState;break;default:throw new Error(`The specified state type ${type} is not valid.`)}return s.ruleIndex=ruleIndex,s}lexerActionFactory(type,data1,data2){switch(type){case 0:return new LexerChannelAction_1.LexerChannelAction(data1);case 1:return new LexerCustomAction_1.LexerCustomAction(data1,data2);case 2:return new LexerModeAction_1.LexerModeAction(data1);case 3:return LexerMoreAction_1.LexerMoreAction.INSTANCE;case 4:return LexerPopModeAction_1.LexerPopModeAction.INSTANCE;case 5:return new LexerPushModeAction_1.LexerPushModeAction(data1);case 6:return LexerSkipAction_1.LexerSkipAction.INSTANCE;case 7:return new LexerTypeAction_1.LexerTypeAction(data1);default:throw new Error(`The specified lexer action type ${type} is not valid.`)}}}ATNDeserializer.BASE_SERIALIZED_UUID=UUID_1.UUID.fromString("E4178468-DF95-44D0-AD87-F22A5D5FB6D3"),ATNDeserializer.ADDED_LEXER_ACTIONS=UUID_1.UUID.fromString("AB35191A-1603-487E-B75A-479B831EAF6D"),ATNDeserializer.ADDED_UNICODE_SMP=UUID_1.UUID.fromString("C23FEA89-0605-4f51-AFB8-058BCAB8C91B"),ATNDeserializer.SUPPORTED_UUIDS=[ATNDeserializer.BASE_SERIALIZED_UUID,ATNDeserializer.ADDED_LEXER_ACTIONS,ATNDeserializer.ADDED_UNICODE_SMP],ATNDeserializer.SERIALIZED_UUID=ATNDeserializer.ADDED_UNICODE_SMP,__decorate([Decorators_1.NotNull],ATNDeserializer.prototype,"deserializationOptions",void 0),__decorate([__param(0,Decorators_1.NotNull)],ATNDeserializer.prototype,"deserialize",null),__decorate([__param(0,Decorators_1.NotNull)],ATNDeserializer.prototype,"markPrecedenceDecisions",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ATNDeserializer.prototype,"edgeFactory",null),exports.ATNDeserializer=ATNDeserializer},573:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNSimulator=void 0;const ATNConfigSet_1=__webpack_require__(5178),DFAState_1=__webpack_require__(5058),Decorators_1=__webpack_require__(4798),PredictionContext_1=__webpack_require__(2321);let ATNSimulator=class ATNSimulator2{constructor(atn){this.atn=atn}static get ERROR(){return ATNSimulator2._ERROR||(ATNSimulator2._ERROR=new DFAState_1.DFAState(new ATNConfigSet_1.ATNConfigSet),ATNSimulator2._ERROR.stateNumber=PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY),ATNSimulator2._ERROR}clearDFA(){this.atn.clearDFA()}};__decorate([Decorators_1.NotNull],ATNSimulator.prototype,"atn",void 0),__decorate([Decorators_1.NotNull],ATNSimulator,"ERROR",null),ATNSimulator=__decorate([__param(0,Decorators_1.NotNull)],ATNSimulator),exports.ATNSimulator=ATNSimulator,ATNSimulator=exports.ATNSimulator||(exports.ATNSimulator={}),exports.ATNSimulator=ATNSimulator},656:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNState=void 0;const Decorators_1=__webpack_require__(4798);class ATNState{constructor(){this.stateNumber=ATNState.INVALID_STATE_NUMBER,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.optimizedTransitions=this.transitions}getStateNumber(){return this.stateNumber}get nonStopStateNumber(){return this.getStateNumber()}hashCode(){return this.stateNumber}equals(o){return o instanceof ATNState&&this.stateNumber===o.stateNumber}get isNonGreedyExitState(){return!1}toString(){return String(this.stateNumber)}getTransitions(){return this.transitions.slice(0)}get numberOfTransitions(){return this.transitions.length}addTransition(e,index){if(0===this.transitions.length)this.epsilonOnlyTransitions=e.isEpsilon;else if(this.epsilonOnlyTransitions!==e.isEpsilon)throw this.epsilonOnlyTransitions=!1,new Error("ATN state "+this.stateNumber+" has both epsilon and non-epsilon transitions.");this.transitions.splice(void 0!==index?index:this.transitions.length,0,e)}transition(i){return this.transitions[i]}setTransition(i,e){this.transitions[i]=e}removeTransition(index){return this.transitions.splice(index,1)[0]}get onlyHasEpsilonTransitions(){return this.epsilonOnlyTransitions}setRuleIndex(ruleIndex){this.ruleIndex=ruleIndex}get isOptimized(){return this.optimizedTransitions!==this.transitions}get numberOfOptimizedTransitions(){return this.optimizedTransitions.length}getOptimizedTransition(i){return this.optimizedTransitions[i]}addOptimizedTransition(e){this.isOptimized||(this.optimizedTransitions=new Array),this.optimizedTransitions.push(e)}setOptimizedTransition(i,e){if(!this.isOptimized)throw new Error("This ATNState is not optimized.");this.optimizedTransitions[i]=e}removeOptimizedTransition(i){if(!this.isOptimized)throw new Error("This ATNState is not optimized.");this.optimizedTransitions.splice(i,1)}}__decorate([Decorators_1.Override],ATNState.prototype,"hashCode",null),__decorate([Decorators_1.Override],ATNState.prototype,"equals",null),__decorate([Decorators_1.Override],ATNState.prototype,"toString",null),exports.ATNState=ATNState,(ATNState=exports.ATNState||(exports.ATNState={})).INVALID_STATE_NUMBER=-1},5495:(__unused_webpack_module,exports)=>{"use strict";var ATNStateType2;Object.defineProperty(exports,"__esModule",{value:!0}),exports.ATNStateType=void 0,(ATNStateType2=exports.ATNStateType||(exports.ATNStateType={}))[ATNStateType2.INVALID_TYPE=0]="INVALID_TYPE",ATNStateType2[ATNStateType2.BASIC=1]="BASIC",ATNStateType2[ATNStateType2.RULE_START=2]="RULE_START",ATNStateType2[ATNStateType2.BLOCK_START=3]="BLOCK_START",ATNStateType2[ATNStateType2.PLUS_BLOCK_START=4]="PLUS_BLOCK_START",ATNStateType2[ATNStateType2.STAR_BLOCK_START=5]="STAR_BLOCK_START",ATNStateType2[ATNStateType2.TOKEN_START=6]="TOKEN_START",ATNStateType2[ATNStateType2.RULE_STOP=7]="RULE_STOP",ATNStateType2[ATNStateType2.BLOCK_END=8]="BLOCK_END",ATNStateType2[ATNStateType2.STAR_LOOP_BACK=9]="STAR_LOOP_BACK",ATNStateType2[ATNStateType2.STAR_LOOP_ENTRY=10]="STAR_LOOP_ENTRY",ATNStateType2[ATNStateType2.PLUS_LOOP_BACK=11]="PLUS_LOOP_BACK",ATNStateType2[ATNStateType2.LOOP_END=12]="LOOP_END"},4728:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AbstractPredicateTransition=void 0;const Transition_1=__webpack_require__(6633);exports.AbstractPredicateTransition=class AbstractPredicateTransition extends Transition_1.Transition{constructor(target){super(target)}}},9318:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ActionTransition=void 0;const Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let ActionTransition=class extends Transition_1.Transition{constructor(target,ruleIndex,actionIndex=-1,isCtxDependent=!1){super(target),this.ruleIndex=ruleIndex,this.actionIndex=actionIndex,this.isCtxDependent=isCtxDependent}get serializationType(){return 6}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}};__decorate([Decorators_1.Override],ActionTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],ActionTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],ActionTransition.prototype,"matches",null),__decorate([Decorators_1.Override],ActionTransition.prototype,"toString",null),ActionTransition=__decorate([__param(0,Decorators_1.NotNull)],ActionTransition),exports.ActionTransition=ActionTransition},9283:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AmbiguityInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let AmbiguityInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(decision,state,ambigAlts,input,startIndex,stopIndex){super(decision,state,input,startIndex,stopIndex,state.useContext),this.ambigAlts=ambigAlts}get ambiguousAlternatives(){return this.ambigAlts}};__decorate([Decorators_1.NotNull],AmbiguityInfo.prototype,"ambigAlts",void 0),__decorate([Decorators_1.NotNull],AmbiguityInfo.prototype,"ambiguousAlternatives",null),AmbiguityInfo=__decorate([__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],AmbiguityInfo),exports.AmbiguityInfo=AmbiguityInfo},3149:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AtomTransition=void 0;const IntervalSet_1=__webpack_require__(3951),Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let AtomTransition=class extends Transition_1.Transition{constructor(target,label){super(target),this._label=label}get serializationType(){return 5}get label(){return IntervalSet_1.IntervalSet.of(this._label)}matches(symbol,minVocabSymbol,maxVocabSymbol){return this._label===symbol}toString(){return String(this.label)}};__decorate([Decorators_1.Override],AtomTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],AtomTransition.prototype,"label",null),__decorate([Decorators_1.Override],AtomTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],AtomTransition.prototype,"toString",null),AtomTransition=__decorate([__param(0,Decorators_1.NotNull)],AtomTransition),exports.AtomTransition=AtomTransition},6060:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BasicBlockStartState=void 0;const ATNStateType_1=__webpack_require__(5495),BlockStartState_1=__webpack_require__(852),Decorators_1=__webpack_require__(4798);class BasicBlockStartState extends BlockStartState_1.BlockStartState{get stateType(){return ATNStateType_1.ATNStateType.BLOCK_START}}__decorate([Decorators_1.Override],BasicBlockStartState.prototype,"stateType",null),exports.BasicBlockStartState=BasicBlockStartState},9759:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BasicState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class BasicState extends ATNState_1.ATNState{get stateType(){return ATNStateType_1.ATNStateType.BASIC}}__decorate([Decorators_1.Override],BasicState.prototype,"stateType",null),exports.BasicState=BasicState},3257:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockEndState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class BlockEndState extends ATNState_1.ATNState{get stateType(){return ATNStateType_1.ATNStateType.BLOCK_END}}__decorate([Decorators_1.Override],BlockEndState.prototype,"stateType",null),exports.BlockEndState=BlockEndState},852:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockStartState=void 0;const DecisionState_1=__webpack_require__(2992);exports.BlockStartState=class BlockStartState extends DecisionState_1.DecisionState{}},9258:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConflictInfo=void 0;const Decorators_1=__webpack_require__(4798),Utils=__webpack_require__(2028);class ConflictInfo{constructor(conflictedAlts,exact){this._conflictedAlts=conflictedAlts,this.exact=exact}get conflictedAlts(){return this._conflictedAlts}get isExact(){return this.exact}equals(obj){return obj===this||obj instanceof ConflictInfo&&this.isExact===obj.isExact&&Utils.equals(this.conflictedAlts,obj.conflictedAlts)}hashCode(){return this.conflictedAlts.hashCode()}}__decorate([Decorators_1.Override],ConflictInfo.prototype,"equals",null),__decorate([Decorators_1.Override],ConflictInfo.prototype,"hashCode",null),exports.ConflictInfo=ConflictInfo},5874:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ContextSensitivityInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let ContextSensitivityInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(decision,state,input,startIndex,stopIndex){super(decision,state,input,startIndex,stopIndex,!0)}};ContextSensitivityInfo=__decorate([__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ContextSensitivityInfo),exports.ContextSensitivityInfo=ContextSensitivityInfo},8263:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DecisionEventInfo=void 0;const Decorators_1=__webpack_require__(4798);let DecisionEventInfo=class{constructor(decision,state,input,startIndex,stopIndex,fullCtx){this.decision=decision,this.fullCtx=fullCtx,this.stopIndex=stopIndex,this.input=input,this.startIndex=startIndex,this.state=state}};__decorate([Decorators_1.NotNull],DecisionEventInfo.prototype,"input",void 0),DecisionEventInfo=__decorate([__param(2,Decorators_1.NotNull)],DecisionEventInfo),exports.DecisionEventInfo=DecisionEventInfo},6543:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DecisionInfo=void 0;const Decorators_1=__webpack_require__(4798);class DecisionInfo{constructor(decision){this.invocations=0,this.timeInPrediction=0,this.SLL_TotalLook=0,this.SLL_MinLook=0,this.SLL_MaxLook=0,this.LL_TotalLook=0,this.LL_MinLook=0,this.LL_MaxLook=0,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[],this.SLL_ATNTransitions=0,this.SLL_DFATransitions=0,this.LL_Fallback=0,this.LL_ATNTransitions=0,this.LL_DFATransitions=0,this.decision=decision}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}}__decorate([Decorators_1.Override],DecisionInfo.prototype,"toString",null),exports.DecisionInfo=DecisionInfo},2992:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DecisionState=void 0;const ATNState_1=__webpack_require__(656);exports.DecisionState=class DecisionState extends ATNState_1.ATNState{constructor(){super(...arguments),this.decision=-1,this.nonGreedy=!1,this.sll=!1}}},6343:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.EpsilonTransition=void 0;const Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let EpsilonTransition=class extends Transition_1.Transition{constructor(target,outermostPrecedenceReturn=-1){super(target),this._outermostPrecedenceReturn=outermostPrecedenceReturn}get outermostPrecedenceReturn(){return this._outermostPrecedenceReturn}get serializationType(){return 1}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}toString(){return"epsilon"}};__decorate([Decorators_1.Override],EpsilonTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],EpsilonTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],EpsilonTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],EpsilonTransition.prototype,"toString",null),EpsilonTransition=__decorate([__param(0,Decorators_1.NotNull)],EpsilonTransition),exports.EpsilonTransition=EpsilonTransition},8160:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ErrorInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let ErrorInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(decision,state,input,startIndex,stopIndex){super(decision,state,input,startIndex,stopIndex,state.useContext)}};ErrorInfo=__decorate([__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ErrorInfo),exports.ErrorInfo=ErrorInfo},8592:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.InvalidState=void 0;const ATNStateType_1=__webpack_require__(5495),BasicState_1=__webpack_require__(9759),Decorators_1=__webpack_require__(4798);class InvalidState extends BasicState_1.BasicState{get stateType(){return ATNStateType_1.ATNStateType.INVALID_TYPE}}__decorate([Decorators_1.Override],InvalidState.prototype,"stateType",null),exports.InvalidState=InvalidState},4791:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LL1Analyzer=void 0;const AbstractPredicateTransition_1=__webpack_require__(4728),Array2DHashSet_1=__webpack_require__(9792),ATNConfig_1=__webpack_require__(8595),BitSet_1=__webpack_require__(6625),IntervalSet_1=__webpack_require__(3951),Decorators_1=__webpack_require__(4798),NotSetTransition_1=__webpack_require__(9087),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),RuleStopState_1=__webpack_require__(8059),RuleTransition_1=__webpack_require__(7937),Token_1=__webpack_require__(8770),WildcardTransition_1=__webpack_require__(7902);let LL1Analyzer=class LL1Analyzer2{constructor(atn){this.atn=atn}getDecisionLookahead(s){if(null==s)return;let look=new Array(s.numberOfTransitions);for(let alt=0;alt=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerATNSimulator=void 0;const AcceptStateInfo_1=__webpack_require__(5080),ATN_1=__webpack_require__(4495),ATNConfig_1=__webpack_require__(8595),ATNConfigSet_1=__webpack_require__(5178),ATNSimulator_1=__webpack_require__(573),DFAState_1=__webpack_require__(5058),Interval_1=__webpack_require__(8691),IntStream_1=__webpack_require__(9627),Lexer_1=__webpack_require__(1188),LexerActionExecutor_1=__webpack_require__(1729),LexerNoViableAltException_1=__webpack_require__(4440),Decorators_1=__webpack_require__(4798),OrderedATNConfigSet_1=__webpack_require__(1702),PredictionContext_1=__webpack_require__(2321),RuleStopState_1=__webpack_require__(8059),Token_1=__webpack_require__(8770),assert=__webpack_require__(5936);let LexerATNSimulator=class LexerATNSimulator2 extends ATNSimulator_1.ATNSimulator{constructor(atn,recog){super(atn),this.optimize_tail_calls=!0,this.startIndex=-1,this._line=1,this._charPositionInLine=0,this.mode=Lexer_1.Lexer.DEFAULT_MODE,this.prevAccept=new LexerATNSimulator2.SimState,this.recog=recog}copyState(simulator){this._charPositionInLine=simulator.charPositionInLine,this._line=simulator._line,this.mode=simulator.mode,this.startIndex=simulator.startIndex}match(input,mode){this.mode=mode;let mark=input.mark();try{this.startIndex=input.index,this.prevAccept.reset();let s0=this.atn.modeToDFA[mode].s0;return null==s0?this.matchATN(input):this.execATN(input,s0)}finally{input.release(mark)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this._line=1,this._charPositionInLine=0,this.mode=Lexer_1.Lexer.DEFAULT_MODE}matchATN(input){let startState=this.atn.modeToStartState[this.mode];LexerATNSimulator2.debug&&console.log(`matchATN mode ${this.mode} start: ${startState}`);let old_mode=this.mode,s0_closure=this.computeStartState(input,startState),suppressEdge=s0_closure.hasSemanticContext;suppressEdge&&(s0_closure.hasSemanticContext=!1);let next=this.addDFAState(s0_closure);if(!suppressEdge){let dfa=this.atn.modeToDFA[this.mode];dfa.s0?next=dfa.s0:dfa.s0=next}let predict=this.execATN(input,next);return LexerATNSimulator2.debug&&console.log(`DFA after matchATN: ${this.atn.modeToDFA[old_mode].toLexerString()}`),predict}execATN(input,ds0){LexerATNSimulator2.debug&&console.log(`start state closure=${ds0.configs}`),ds0.isAcceptState&&this.captureSimState(this.prevAccept,input,ds0);let t=input.LA(1),s=ds0;for(;;){LexerATNSimulator2.debug&&console.log(`execATN loop starting closure: ${s.configs}`);let target=this.getExistingTargetState(s,t);if(null==target&&(target=this.computeTargetState(input,s,t)),target===ATNSimulator_1.ATNSimulator.ERROR||(t!==IntStream_1.IntStream.EOF&&this.consume(input),target.isAcceptState&&(this.captureSimState(this.prevAccept,input,target),t===IntStream_1.IntStream.EOF)))break;t=input.LA(1),s=target}return this.failOrAccept(this.prevAccept,input,s.configs,t)}getExistingTargetState(s,t){let target=s.getTarget(t);return LexerATNSimulator2.debug&&null!=target&&console.log("reuse state "+s.stateNumber+" edge to "+target.stateNumber),target}computeTargetState(input,s,t){let reach=new OrderedATNConfigSet_1.OrderedATNConfigSet;return this.getReachableConfigSet(input,s.configs,reach,t),reach.isEmpty?(reach.hasSemanticContext||this.addDFAEdge(s,t,ATNSimulator_1.ATNSimulator.ERROR),ATNSimulator_1.ATNSimulator.ERROR):this.addDFAEdge(s,t,reach)}failOrAccept(prevAccept,input,reach,t){if(null!=prevAccept.dfaState)return this.accept(input,prevAccept.dfaState.lexerActionExecutor,this.startIndex,prevAccept.index,prevAccept.line,prevAccept.charPos),prevAccept.dfaState.prediction;if(t===IntStream_1.IntStream.EOF&&input.index===this.startIndex)return Token_1.Token.EOF;throw new LexerNoViableAltException_1.LexerNoViableAltException(this.recog,input,this.startIndex,reach)}getReachableConfigSet(input,closure,reach,t){let skipAlt=ATN_1.ATN.INVALID_ALT_NUMBER;for(let c of closure){let currentAltReachedAcceptState=c.alt===skipAlt;if(currentAltReachedAcceptState&&c.hasPassedThroughNonGreedyDecision)continue;LexerATNSimulator2.debug&&console.log(`testing ${this.getTokenName(t)} at ${c.toString(this.recog,!0)}`);let n=c.state.numberOfOptimizedTransitions;for(let ti=0;ti "+q+" upon "+String.fromCharCode(t)),p?.setTarget(t,q)}addDFAState(configs){assert(!configs.hasSemanticContext);let proposed=new DFAState_1.DFAState(configs),existing=this.atn.modeToDFA[this.mode].states.get(proposed);if(null!=existing)return existing;configs.optimizeConfigs(this);let firstConfigWithRuleStopState,newState=new DFAState_1.DFAState(configs.clone(!0));for(let c of configs)if(c.state instanceof RuleStopState_1.RuleStopState){firstConfigWithRuleStopState=c;break}return null!=firstConfigWithRuleStopState&&(newState.acceptStateInfo=new AcceptStateInfo_1.AcceptStateInfo(this.atn.ruleToTokenType[firstConfigWithRuleStopState.state.ruleIndex],firstConfigWithRuleStopState.lexerActionExecutor)),this.atn.modeToDFA[this.mode].addState(newState)}getDFA(mode){return this.atn.modeToDFA[mode]}getText(input){return input.getText(Interval_1.Interval.of(this.startIndex,input.index-1))}get line(){return this._line}set line(line){this._line=line}get charPositionInLine(){return this._charPositionInLine}set charPositionInLine(charPositionInLine){this._charPositionInLine=charPositionInLine}consume(input){input.LA(1)==="\n".charCodeAt(0)?(this._line++,this._charPositionInLine=0):this._charPositionInLine++,input.consume()}getTokenName(t){return-1===t?"EOF":"'"+String.fromCharCode(t)+"'"}};var LexerATNSimulator2;__decorate([Decorators_1.NotNull],LexerATNSimulator.prototype,"prevAccept",void 0),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"copyState",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"match",null),__decorate([Decorators_1.Override],LexerATNSimulator.prototype,"reset",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"matchATN",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],LexerATNSimulator.prototype,"execATN",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"getExistingTargetState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],LexerATNSimulator.prototype,"computeTargetState",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],LexerATNSimulator.prototype,"getReachableConfigSet",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"accept",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],LexerATNSimulator.prototype,"computeStartState",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],LexerATNSimulator.prototype,"closure",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],LexerATNSimulator.prototype,"getEpsilonTarget",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"evaluatePredicate",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],LexerATNSimulator.prototype,"captureSimState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"addDFAState",null),__decorate([Decorators_1.NotNull],LexerATNSimulator.prototype,"getDFA",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"getText",null),__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator.prototype,"consume",null),__decorate([Decorators_1.NotNull],LexerATNSimulator.prototype,"getTokenName",null),LexerATNSimulator=__decorate([__param(0,Decorators_1.NotNull)],LexerATNSimulator),exports.LexerATNSimulator=LexerATNSimulator,(LexerATNSimulator2=LexerATNSimulator=exports.LexerATNSimulator||(exports.LexerATNSimulator={})).debug=!1,LexerATNSimulator2.dfa_debug=!1,LexerATNSimulator2.SimState=class SimState{constructor(){this.index=-1,this.line=0,this.charPos=-1}reset(){this.index=-1,this.line=0,this.charPos=-1,this.dfaState=void 0}},exports.LexerATNSimulator=LexerATNSimulator},1729:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerActionExecutor=void 0;const ArrayEqualityComparator_1=__webpack_require__(6481),LexerIndexedCustomAction_1=__webpack_require__(8381),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);let LexerActionExecutor=class LexerActionExecutor2{constructor(lexerActions){this._lexerActions=lexerActions;let hash=MurmurHash_1.MurmurHash.initialize();for(let lexerAction of lexerActions)hash=MurmurHash_1.MurmurHash.update(hash,lexerAction);this.cachedHashCode=MurmurHash_1.MurmurHash.finish(hash,lexerActions.length)}static append(lexerActionExecutor,lexerAction){if(!lexerActionExecutor)return new LexerActionExecutor2([lexerAction]);let lexerActions=lexerActionExecutor._lexerActions.slice(0);return lexerActions.push(lexerAction),new LexerActionExecutor2(lexerActions)}fixOffsetBeforeMatch(offset){let updatedLexerActions;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerChannelAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerChannelAction{constructor(channel){this._channel=channel}get channel(){return this._channel}get actionType(){return 0}get isPositionDependent(){return!1}execute(lexer){lexer.channel=this._channel}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._channel),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerChannelAction&&this._channel===obj._channel}toString(){return`channel(${this._channel})`}}__decorate([Decorators_1.Override],LexerChannelAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerChannelAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerChannelAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerChannelAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerChannelAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerChannelAction.prototype,"toString",null),exports.LexerChannelAction=LexerChannelAction},8310:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerCustomAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerCustomAction{constructor(ruleIndex,actionIndex){this._ruleIndex=ruleIndex,this._actionIndex=actionIndex}get ruleIndex(){return this._ruleIndex}get actionIndex(){return this._actionIndex}get actionType(){return 1}get isPositionDependent(){return!0}execute(lexer){lexer.action(void 0,this._ruleIndex,this._actionIndex)}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._ruleIndex),hash=MurmurHash_1.MurmurHash.update(hash,this._actionIndex),MurmurHash_1.MurmurHash.finish(hash,3)}equals(obj){return obj===this||obj instanceof LexerCustomAction&&this._ruleIndex===obj._ruleIndex&&this._actionIndex===obj._actionIndex}}__decorate([Decorators_1.Override],LexerCustomAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerCustomAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerCustomAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerCustomAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerCustomAction.prototype,"equals",null),exports.LexerCustomAction=LexerCustomAction},8381:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerIndexedCustomAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);let LexerIndexedCustomAction=class LexerIndexedCustomAction2{constructor(offset,action){this._offset=offset,this._action=action}get offset(){return this._offset}get action(){return this._action}get actionType(){return this._action.actionType}get isPositionDependent(){return!0}execute(lexer){this._action.execute(lexer)}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this._offset),hash=MurmurHash_1.MurmurHash.update(hash,this._action),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerIndexedCustomAction2&&this._offset===obj._offset&&this._action.equals(obj._action)}};__decorate([Decorators_1.NotNull],LexerIndexedCustomAction.prototype,"action",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerIndexedCustomAction.prototype,"equals",null),LexerIndexedCustomAction=__decorate([__param(1,Decorators_1.NotNull)],LexerIndexedCustomAction),exports.LexerIndexedCustomAction=LexerIndexedCustomAction},4240:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerModeAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerModeAction{constructor(mode){this._mode=mode}get mode(){return this._mode}get actionType(){return 2}get isPositionDependent(){return!1}execute(lexer){lexer.mode(this._mode)}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._mode),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerModeAction&&this._mode===obj._mode}toString(){return`mode(${this._mode})`}}__decorate([Decorators_1.Override],LexerModeAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerModeAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerModeAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerModeAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerModeAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerModeAction.prototype,"toString",null),exports.LexerModeAction=LexerModeAction},905:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerMoreAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerMoreAction{constructor(){}get actionType(){return 3}get isPositionDependent(){return!1}execute(lexer){lexer.more()}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),MurmurHash_1.MurmurHash.finish(hash,1)}equals(obj){return obj===this}toString(){return"more"}}var LexerMoreAction2;__decorate([Decorators_1.Override],LexerMoreAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerMoreAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerMoreAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerMoreAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerMoreAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerMoreAction.prototype,"toString",null),exports.LexerMoreAction=LexerMoreAction,(LexerMoreAction2=LexerMoreAction=exports.LexerMoreAction||(exports.LexerMoreAction={})).INSTANCE=new LexerMoreAction2},825:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerPopModeAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerPopModeAction{constructor(){}get actionType(){return 4}get isPositionDependent(){return!1}execute(lexer){lexer.popMode()}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),MurmurHash_1.MurmurHash.finish(hash,1)}equals(obj){return obj===this}toString(){return"popMode"}}var LexerPopModeAction2;__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerPopModeAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerPopModeAction.prototype,"toString",null),exports.LexerPopModeAction=LexerPopModeAction,(LexerPopModeAction2=LexerPopModeAction=exports.LexerPopModeAction||(exports.LexerPopModeAction={})).INSTANCE=new LexerPopModeAction2},8031:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerPushModeAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerPushModeAction{constructor(mode){this._mode=mode}get mode(){return this._mode}get actionType(){return 5}get isPositionDependent(){return!1}execute(lexer){lexer.pushMode(this._mode)}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._mode),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerPushModeAction&&this._mode===obj._mode}toString(){return`pushMode(${this._mode})`}}__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerPushModeAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerPushModeAction.prototype,"toString",null),exports.LexerPushModeAction=LexerPushModeAction},7893:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerSkipAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerSkipAction{constructor(){}get actionType(){return 6}get isPositionDependent(){return!1}execute(lexer){lexer.skip()}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),MurmurHash_1.MurmurHash.finish(hash,1)}equals(obj){return obj===this}toString(){return"skip"}}var LexerSkipAction2;__decorate([Decorators_1.Override],LexerSkipAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerSkipAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerSkipAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerSkipAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerSkipAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerSkipAction.prototype,"toString",null),exports.LexerSkipAction=LexerSkipAction,(LexerSkipAction2=LexerSkipAction=exports.LexerSkipAction||(exports.LexerSkipAction={})).INSTANCE=new LexerSkipAction2},3758:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerTypeAction=void 0;const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798);class LexerTypeAction{constructor(type){this._type=type}get type(){return this._type}get actionType(){return 7}get isPositionDependent(){return!1}execute(lexer){lexer.type=this._type}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();return hash=MurmurHash_1.MurmurHash.update(hash,this.actionType),hash=MurmurHash_1.MurmurHash.update(hash,this._type),MurmurHash_1.MurmurHash.finish(hash,2)}equals(obj){return obj===this||obj instanceof LexerTypeAction&&this._type===obj._type}toString(){return`type(${this._type})`}}__decorate([Decorators_1.Override],LexerTypeAction.prototype,"actionType",null),__decorate([Decorators_1.Override],LexerTypeAction.prototype,"isPositionDependent",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],LexerTypeAction.prototype,"execute",null),__decorate([Decorators_1.Override],LexerTypeAction.prototype,"hashCode",null),__decorate([Decorators_1.Override],LexerTypeAction.prototype,"equals",null),__decorate([Decorators_1.Override],LexerTypeAction.prototype,"toString",null),exports.LexerTypeAction=LexerTypeAction},8832:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LookaheadEventInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let LookaheadEventInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(decision,state,predictedAlt,input,startIndex,stopIndex,fullCtx){super(decision,state,input,startIndex,stopIndex,fullCtx),this.predictedAlt=predictedAlt}};LookaheadEventInfo=__decorate([__param(3,Decorators_1.NotNull)],LookaheadEventInfo),exports.LookaheadEventInfo=LookaheadEventInfo},9533:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoopEndState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class LoopEndState extends ATNState_1.ATNState{get stateType(){return ATNStateType_1.ATNStateType.LOOP_END}}__decorate([Decorators_1.Override],LoopEndState.prototype,"stateType",null),exports.LoopEndState=LoopEndState},9087:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NotSetTransition=void 0;const Decorators_1=__webpack_require__(4798),SetTransition_1=__webpack_require__(619);let NotSetTransition=class extends SetTransition_1.SetTransition{constructor(target,set){super(target,set)}get serializationType(){return 8}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=minVocabSymbol&&symbol<=maxVocabSymbol&&!super.matches(symbol,minVocabSymbol,maxVocabSymbol)}toString(){return"~"+super.toString()}};__decorate([Decorators_1.Override],NotSetTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],NotSetTransition.prototype,"matches",null),__decorate([Decorators_1.Override],NotSetTransition.prototype,"toString",null),NotSetTransition=__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.Nullable)],NotSetTransition),exports.NotSetTransition=NotSetTransition},1702:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderedATNConfigSet=void 0;const ATNConfigSet_1=__webpack_require__(5178),Decorators_1=__webpack_require__(4798);class OrderedATNConfigSet extends ATNConfigSet_1.ATNConfigSet{constructor(set,readonly){null!=set&&null!=readonly?super(set,readonly):super()}clone(readonly){let copy=new OrderedATNConfigSet(this,readonly);return!readonly&&this.isReadOnly&©.addAll(this),copy}getKey(e){return{state:0,alt:e.hashCode()}}canMerge(left,leftKey,right){return left.equals(right)}}__decorate([Decorators_1.Override],OrderedATNConfigSet.prototype,"clone",null),__decorate([Decorators_1.Override],OrderedATNConfigSet.prototype,"getKey",null),__decorate([Decorators_1.Override],OrderedATNConfigSet.prototype,"canMerge",null),exports.OrderedATNConfigSet=OrderedATNConfigSet},4113:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseInfo=void 0;const Decorators_1=__webpack_require__(4798);let ParseInfo=class{constructor(atnSimulator){this.atnSimulator=atnSimulator}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){let decisions=this.atnSimulator.getDecisionInfo(),LL=[];for(let i=0;i0&&LL.push(i);return LL}getTotalTimeInPrediction(){let decisions=this.atnSimulator.getDecisionInfo(),t=0;for(let decision of decisions)t+=decision.timeInPrediction;return t}getTotalSLLLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.SLL_TotalLook;return k}getTotalLLLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.LL_TotalLook;return k}getTotalSLLATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.SLL_ATNTransitions;return k}getTotalLLATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.LL_ATNTransitions;return k}getTotalATNLookaheadOps(){let decisions=this.atnSimulator.getDecisionInfo(),k=0;for(let decision of decisions)k+=decision.SLL_ATNTransitions,k+=decision.LL_ATNTransitions;return k}getDFASize(decision){if(decision)return this.atnSimulator.atn.decisionToDFA[decision].states.size;{let n=0,decisionToDFA=this.atnSimulator.atn.decisionToDFA;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParserATNSimulator=void 0;const AcceptStateInfo_1=__webpack_require__(5080),ActionTransition_1=__webpack_require__(9318),Array2DHashSet_1=__webpack_require__(9792),Arrays_1=__webpack_require__(4630),ATN_1=__webpack_require__(4495),ATNConfig_1=__webpack_require__(8595),ATNConfigSet_1=__webpack_require__(5178),ATNSimulator_1=__webpack_require__(573),ATNStateType_1=__webpack_require__(5495),AtomTransition_1=__webpack_require__(3149),BitSet_1=__webpack_require__(6625),ConflictInfo_1=__webpack_require__(9258),DecisionState_1=__webpack_require__(2992),DFAState_1=__webpack_require__(5058),IntegerList_1=__webpack_require__(4862),Interval_1=__webpack_require__(8691),IntStream_1=__webpack_require__(9627),Decorators_1=__webpack_require__(4798),NotSetTransition_1=__webpack_require__(9087),NoViableAltException_1=__webpack_require__(1200),ObjectEqualityComparator_1=__webpack_require__(1760),ParserRuleContext_1=__webpack_require__(3235),PredictionContext_1=__webpack_require__(2321),PredictionContextCache_1=__webpack_require__(2685),PredictionMode_1=__webpack_require__(1975),RuleStopState_1=__webpack_require__(8059),RuleTransition_1=__webpack_require__(7937),SemanticContext_1=__webpack_require__(7909),SetTransition_1=__webpack_require__(619),SimulatorState_1=__webpack_require__(2243),Token_1=__webpack_require__(8770),VocabularyImpl_1=__webpack_require__(4221),assert=__webpack_require__(5936);let ParserATNSimulator=class ParserATNSimulator2 extends ATNSimulator_1.ATNSimulator{constructor(atn,parser){super(atn),this.predictionMode=PredictionMode_1.PredictionMode.LL,this.force_global_context=!1,this.always_try_local_context=!0,this.enable_global_context_dfa=!1,this.optimize_unique_closure=!0,this.optimize_ll1=!0,this.optimize_tail_calls=!0,this.tail_call_preserves_sll=!0,this.treat_sllk1_conflict_as_ambiguity=!1,this.reportAmbiguities=!1,this.userWantsCtxSensitive=!0,this._parser=parser}getPredictionMode(){return this.predictionMode}setPredictionMode(predictionMode){this.predictionMode=predictionMode}reset(){}adaptivePredict(input,decision,outerContext,useContext){void 0===useContext&&(useContext=!1);let state,dfa=this.atn.decisionToDFA[decision];if(assert(null!=dfa),this.optimize_ll1&&!dfa.isPrecedenceDfa&&!dfa.isEmpty){let ll_1=input.LA(1);if(ll_1>=0&&ll_1<=65535){let alt=this.atn.LL1Table.get((decision<<16>>>0)+ll_1);if(null!=alt)return alt}}this.dfa=dfa,this.force_global_context?useContext=!0:this.always_try_local_context||(useContext=useContext||dfa.isContextSensitive),this.userWantsCtxSensitive=useContext||this.predictionMode!==PredictionMode_1.PredictionMode.SLL&&null!=outerContext&&!this.atn.decisionToState[decision].sll,null==outerContext&&(outerContext=ParserRuleContext_1.ParserRuleContext.emptyContext()),dfa.isEmpty||(state=this.getStartState(dfa,input,outerContext,useContext)),null==state&&(null==outerContext&&(outerContext=ParserRuleContext_1.ParserRuleContext.emptyContext()),ParserATNSimulator2.debug&&console.log("ATN decision "+dfa.decision+" exec LA(1)=="+this.getLookaheadName(input)+", outerContext="+outerContext.toString(this._parser)),state=this.computeStartState(dfa,outerContext,useContext));let m=input.mark(),index=input.index;try{let alt=this.execDFA(dfa,input,index,state);return ParserATNSimulator2.debug&&console.log("DFA after predictATN: "+dfa.toString(this._parser.vocabulary,this._parser.ruleNames)),alt}finally{this.dfa=void 0,input.seek(index),input.release(m)}}getStartState(dfa,input,outerContext,useContext){if(!useContext){if(dfa.isPrecedenceDfa){let state=dfa.getPrecedenceStartState(this._parser.precedence,!1);return null==state?void 0:new SimulatorState_1.SimulatorState(outerContext,state,!1,outerContext)}return null==dfa.s0?void 0:new SimulatorState_1.SimulatorState(outerContext,dfa.s0,!1,outerContext)}if(!this.enable_global_context_dfa)return;let s0,remainingContext=outerContext;for(assert(null!=outerContext),s0=dfa.isPrecedenceDfa?dfa.getPrecedenceStartState(this._parser.precedence,!0):dfa.s0full;null!=remainingContext&&null!=s0&&s0.isContextSensitive;)remainingContext=this.skipTailCalls(remainingContext),s0=s0.getContextTarget(this.getReturnState(remainingContext)),remainingContext.isEmpty?assert(null==s0||!s0.isContextSensitive):remainingContext=remainingContext.parent;return null!=s0?new SimulatorState_1.SimulatorState(outerContext,s0,useContext,remainingContext):void 0}execDFA(dfa,input,startIndex,state){let outerContext=state.outerContext;ParserATNSimulator2.dfa_debug&&console.log("DFA decision "+dfa.decision+" exec LA(1)=="+this.getLookaheadName(input)+", outerContext="+outerContext.toString(this._parser)),ParserATNSimulator2.dfa_debug&&console.log(dfa.toString(this._parser.vocabulary,this._parser.ruleNames));let s=state.s0,t=input.LA(1),remainingOuterContext=state.remainingOuterContext;for(;;){if(ParserATNSimulator2.dfa_debug&&console.log("DFA state "+s.stateNumber+" LA(1)=="+this.getLookaheadName(input)),state.useContext)for(;s.isContextSymbol(t);){let next;if(null!=remainingOuterContext&&(remainingOuterContext=this.skipTailCalls(remainingOuterContext),next=s.getContextTarget(this.getReturnState(remainingOuterContext))),null==next){let initialState=new SimulatorState_1.SimulatorState(state.outerContext,s,state.useContext,remainingOuterContext);return this.execATN(dfa,input,startIndex,initialState)}assert(null!=remainingOuterContext),remainingOuterContext=remainingOuterContext.parent,s=next}if(this.isAcceptState(s,state.useContext)){null!=s.predicates?ParserATNSimulator2.dfa_debug&&console.log("accept "+s):ParserATNSimulator2.dfa_debug&&console.log("accept; predict "+s.prediction+" in state "+s.stateNumber);break}assert(!this.isAcceptState(s,state.useContext));let target=this.getExistingTargetState(s,t);if(null==target){let alt;if(ParserATNSimulator2.dfa_debug&&t>=0&&console.log("no edge for "+this._parser.vocabulary.getDisplayName(t)),ParserATNSimulator2.dfa_debug){let interval=Interval_1.Interval.of(startIndex,this._parser.inputStream.index);console.log("ATN exec upon "+this._parser.inputStream.getText(interval)+" at DFA state "+s.stateNumber)}let initialState=new SimulatorState_1.SimulatorState(outerContext,s,state.useContext,remainingOuterContext);return alt=this.execATN(dfa,input,startIndex,initialState),ParserATNSimulator2.dfa_debug&&console.log("back from DFA update, alt="+alt+", dfa=\n"+dfa.toString(this._parser.vocabulary,this._parser.ruleNames)),ParserATNSimulator2.dfa_debug&&console.log("DFA decision "+dfa.decision+" predicts "+alt),alt}if(target===ATNSimulator_1.ATNSimulator.ERROR){let errorState=new SimulatorState_1.SimulatorState(outerContext,s,state.useContext,remainingOuterContext);return this.handleNoViableAlt(input,startIndex,errorState)}s=target,!this.isAcceptState(s,state.useContext)&&t!==IntStream_1.IntStream.EOF&&(input.consume(),t=input.LA(1))}if(!state.useContext&&null!=s.configs.conflictInfo&&dfa.atnStartState instanceof DecisionState_1.DecisionState&&!(!this.userWantsCtxSensitive||!s.configs.dipsIntoOuterContext&&s.configs.isExactConflict||this.treat_sllk1_conflict_as_ambiguity&&input.index===startIndex)){assert(!state.useContext);let conflictingAlts,predicates2=s.predicates;if(null!=predicates2){let conflictIndex=input.index;if(conflictIndex!==startIndex&&input.seek(startIndex),conflictingAlts=this.evalSemanticContext(predicates2,outerContext,!0),1===conflictingAlts.cardinality())return conflictingAlts.nextSetBit(0);conflictIndex!==startIndex&&input.seek(conflictIndex)}if(this.reportAmbiguities){let conflictState=new SimulatorState_1.SimulatorState(outerContext,s,state.useContext,remainingOuterContext);this.reportAttemptingFullContext(dfa,conflictingAlts,conflictState,startIndex,input.index)}return input.seek(startIndex),this.adaptivePredict(input,dfa.decision,outerContext,!0)}let predicates=s.predicates;if(null!=predicates){let stopIndex=input.index;startIndex!==stopIndex&&input.seek(startIndex);let alts=this.evalSemanticContext(predicates,outerContext,this.reportAmbiguities&&this.predictionMode===PredictionMode_1.PredictionMode.LL_EXACT_AMBIG_DETECTION);switch(alts.cardinality()){case 0:throw this.noViableAlt(input,outerContext,s.configs,startIndex);case 1:return alts.nextSetBit(0);default:return startIndex!==stopIndex&&input.seek(stopIndex),this.reportAmbiguity(dfa,s,startIndex,stopIndex,s.configs.isExactConflict,alts,s.configs),alts.nextSetBit(0)}}return ParserATNSimulator2.dfa_debug&&console.log("DFA decision "+dfa.decision+" predicts "+s.prediction),s.prediction}isAcceptState(state,useContext){return!!state.isAcceptState&&(null==state.configs.conflictingAlts||!useContext||this.predictionMode!==PredictionMode_1.PredictionMode.LL_EXACT_AMBIG_DETECTION||state.configs.isExactConflict)}execATN(dfa,input,startIndex,initialState){ParserATNSimulator2.debug&&console.log("execATN decision "+dfa.decision+" exec LA(1)=="+this.getLookaheadName(input));let outerContext=initialState.outerContext,useContext=initialState.useContext,t=input.LA(1),previous=initialState,contextCache=new PredictionContextCache_1.PredictionContextCache;for(;;){let nextState=this.computeReachSet(dfa,previous,t,contextCache);if(null==nextState)return this.setDFAEdge(previous.s0,input.LA(1),ATNSimulator_1.ATNSimulator.ERROR),this.handleNoViableAlt(input,startIndex,previous);let D=nextState.s0;if(assert(D.isAcceptState||D.prediction===ATN_1.ATN.INVALID_ALT_NUMBER),assert(D.isAcceptState||null==D.configs.conflictInfo),this.isAcceptState(D,useContext)){let conflictingAlts=D.configs.conflictingAlts,predictedAlt=null==conflictingAlts?D.prediction:ATN_1.ATN.INVALID_ALT_NUMBER;predictedAlt!==ATN_1.ATN.INVALID_ALT_NUMBER&&(this.optimize_ll1&&input.index===startIndex&&!dfa.isPrecedenceDfa&&nextState.outerContext===nextState.remainingOuterContext&&dfa.decision>=0&&!D.configs.hasSemanticContext&&t>=0&&t<=65535&&this.atn.LL1Table.set((dfa.decision<<16>>>0)+t,predictedAlt),useContext&&this.always_try_local_context&&this.reportContextSensitivity(dfa,predictedAlt,nextState,startIndex,input.index)),predictedAlt=D.prediction;let attemptFullContext=null!=conflictingAlts&&this.userWantsCtxSensitive;if(attemptFullContext&&(attemptFullContext=!useContext&&(D.configs.dipsIntoOuterContext||!D.configs.isExactConflict)&&(!this.treat_sllk1_conflict_as_ambiguity||input.index!==startIndex)),D.configs.hasSemanticContext){let predPredictions=D.predicates;if(null!=predPredictions){let conflictIndex=input.index;switch(conflictIndex!==startIndex&&input.seek(startIndex),conflictingAlts=this.evalSemanticContext(predPredictions,outerContext,attemptFullContext||this.reportAmbiguities),conflictingAlts.cardinality()){case 0:throw this.noViableAlt(input,outerContext,D.configs,startIndex);case 1:return conflictingAlts.nextSetBit(0)}conflictIndex!==startIndex&&input.seek(conflictIndex)}}if(attemptFullContext){assert(!useContext),assert(this.isAcceptState(D,!1)),ParserATNSimulator2.debug&&console.log("RETRY with outerContext="+outerContext);let fullContextState=this.computeStartState(dfa,outerContext,!0);return this.reportAmbiguities&&this.reportAttemptingFullContext(dfa,conflictingAlts,nextState,startIndex,input.index),input.seek(startIndex),this.execATN(dfa,input,startIndex,fullContextState)}return null!=conflictingAlts&&(this.reportAmbiguities&&conflictingAlts.cardinality()>1&&this.reportAmbiguity(dfa,D,startIndex,input.index,D.configs.isExactConflict,conflictingAlts,D.configs),predictedAlt=conflictingAlts.nextSetBit(0)),predictedAlt}previous=nextState,t!==IntStream_1.IntStream.EOF&&(input.consume(),t=input.LA(1))}}handleNoViableAlt(input,startIndex,previous){if(null!=previous.s0){let alts=new BitSet_1.BitSet,maxAlt=0;for(let config of previous.s0.configs)(config.reachesIntoOuterContext||config.state instanceof RuleStopState_1.RuleStopState)&&(alts.set(config.alt),maxAlt=Math.max(maxAlt,config.alt));switch(alts.cardinality()){case 0:break;case 1:return alts.nextSetBit(0);default:if(!previous.s0.configs.hasSemanticContext)return alts.nextSetBit(0);let filteredConfigs=new ATNConfigSet_1.ATNConfigSet;for(let config of previous.s0.configs)(config.reachesIntoOuterContext||config.state instanceof RuleStopState_1.RuleStopState)&&filteredConfigs.add(config);let altToPred=this.getPredsForAmbigAlts(alts,filteredConfigs,maxAlt);if(null!=altToPred){let predicates=this.getPredicatePredictions(alts,altToPred);if(null!=predicates){let stopIndex=input.index;try{input.seek(startIndex);let filteredAlts=this.evalSemanticContext(predicates,previous.outerContext,!1);if(!filteredAlts.isEmpty)return filteredAlts.nextSetBit(0)}finally{input.seek(stopIndex)}}}return alts.nextSetBit(0)}}throw this.noViableAlt(input,previous.outerContext,previous.s0.configs,startIndex)}computeReachSet(dfa,previous,t,contextCache){let useContext=previous.useContext,remainingGlobalContext=previous.remainingOuterContext,s=previous.s0;if(useContext)for(;s.isContextSymbol(t);){let next;if(null!=remainingGlobalContext&&(remainingGlobalContext=this.skipTailCalls(remainingGlobalContext),next=s.getContextTarget(this.getReturnState(remainingGlobalContext))),null==next)break;assert(null!=remainingGlobalContext),remainingGlobalContext=remainingGlobalContext.parent,s=next}if(assert(!this.isAcceptState(s,useContext)),this.isAcceptState(s,useContext))return new SimulatorState_1.SimulatorState(previous.outerContext,s,useContext,remainingGlobalContext);let s0=s,target=this.getExistingTargetState(s0,t);if(null==target){let result=this.computeTargetState(dfa,s0,remainingGlobalContext,t,useContext,contextCache);target=result[0],remainingGlobalContext=result[1]}return target!==ATNSimulator_1.ATNSimulator.ERROR?(assert(!useContext||!target.configs.dipsIntoOuterContext),new SimulatorState_1.SimulatorState(previous.outerContext,target,useContext,remainingGlobalContext)):void 0}getExistingTargetState(s,t){return s.getTarget(t)}computeTargetState(dfa,s,remainingGlobalContext,t,useContext,contextCache){let contextElements,stepIntoGlobal,closureConfigs=s.configs.toArray(),reach=new ATNConfigSet_1.ATNConfigSet;do{let hasMoreContext=!useContext||null!=remainingGlobalContext;hasMoreContext||(reach.isOutermostConfigSet=!0);let skippedStopStates,reachIntermediate=new ATNConfigSet_1.ATNConfigSet;for(let c of closureConfigs){if(ParserATNSimulator2.debug&&console.log("testing "+this.getTokenName(t)+" at "+c.toString()),c.state instanceof RuleStopState_1.RuleStopState){assert(c.context.isEmpty),(useContext&&!c.reachesIntoOuterContext||t===IntStream_1.IntStream.EOF)&&(null==skippedStopStates&&(skippedStopStates=[]),skippedStopStates.push(c));continue}let n=c.state.numberOfOptimizedTransitions;for(let ti=0;ti0);for(let c of skippedStopStates)reach.add(c,contextCache)}if(useContext&&stepIntoGlobal){reach.clear(),remainingGlobalContext=this.skipTailCalls(remainingGlobalContext);let nextContextElement=this.getReturnState(remainingGlobalContext);if(null==contextElements&&(contextElements=new IntegerList_1.IntegerList),remainingGlobalContext=remainingGlobalContext.isEmpty?void 0:remainingGlobalContext.parent,contextElements.add(nextContextElement),nextContextElement!==PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY)for(let i=0;i0;){let intermediate=new ATNConfigSet_1.ATNConfigSet;for(let config of currentConfigs)this.closureImpl(config,configs,intermediate,closureBusy,collectPredicates,hasMoreContext,contextCache,0,treatEofAsEpsilon);currentConfigs=intermediate}}closureImpl(config,configs,intermediate,closureBusy,collectPredicates,hasMoreContexts,contextCache,depth,treatEofAsEpsilon){if(ParserATNSimulator2.debug&&console.log("closure("+config.toString(this._parser,!0)+")"),config.state instanceof RuleStopState_1.RuleStopState)if(config.context.isEmpty){if(!hasMoreContexts)return void configs.add(config,contextCache);ParserATNSimulator2.debug&&console.log("FALLING off rule "+this.getRuleName(config.state.ruleIndex)),config.context===PredictionContext_1.PredictionContext.EMPTY_FULL?config=config.transform(config.state,!1,PredictionContext_1.PredictionContext.EMPTY_LOCAL):!config.reachesIntoOuterContext&&PredictionContext_1.PredictionContext.isEmptyLocal(config.context)&&configs.add(config,contextCache)}else{let hasEmpty=config.context.hasEmpty,nonEmptySize=config.context.size-(hasEmpty?1:0);for(let i=0;i-2147483648),this.closureImpl(c,configs,intermediate,closureBusy,collectPredicates,hasMoreContexts,contextCache,depth-1,treatEofAsEpsilon)}if(!hasEmpty||!hasMoreContexts)return;config=config.transform(config.state,!1,PredictionContext_1.PredictionContext.EMPTY_LOCAL)}let p=config.state;p.onlyHasEpsilonTransitions||(configs.add(config,contextCache),ParserATNSimulator2.debug&&console.log("added config "+configs));for(let i=0;i-2147483648),newDepth--,ParserATNSimulator2.debug&&console.log("dips into outer ctx: "+c)}else if(t instanceof RuleTransition_1.RuleTransition)!this.optimize_tail_calls||!t.optimizedTailCall||this.tail_call_preserves_sll&&PredictionContext_1.PredictionContext.isEmptyLocal(config.context)?newDepth>=0&&newDepth++:(assert(c.context===config.context),0===newDepth&&(newDepth--,!this.tail_call_preserves_sll&&PredictionContext_1.PredictionContext.isEmptyLocal(config.context)&&(c.outerContextDepth=c.outerContextDepth+1)));else if(!t.isEpsilon&&!closureBusy.add(c))continue;this.closureImpl(c,configs,intermediate,closureBusy,continueCollecting,hasMoreContexts,contextCache,newDepth,treatEofAsEpsilon)}}}getRuleName(index){return null!=this._parser&&index>=0?this._parser.ruleNames[index]:""}getEpsilonTarget(config,t,collectPredicates,inContext,contextCache,treatEofAsEpsilon){switch(t.serializationType){case 3:return this.ruleTransition(config,t,contextCache);case 10:return this.precedenceTransition(config,t,collectPredicates,inContext);case 4:return this.predTransition(config,t,collectPredicates,inContext);case 6:return this.actionTransition(config,t);case 1:return config.transform(t.target,!1);case 5:case 2:case 7:return treatEofAsEpsilon&&t.matches(Token_1.Token.EOF,0,1)?config.transform(t.target,!1):void 0;default:return}}actionTransition(config,t){return ParserATNSimulator2.debug&&console.log("ACTION edge "+t.ruleIndex+":"+t.actionIndex),config.transform(t.target,!1)}precedenceTransition(config,pt,collectPredicates,inContext){let c;if(ParserATNSimulator2.debug&&(console.log("PRED (collectPredicates="+collectPredicates+") "+pt.precedence+">=_p, ctx dependent=true"),null!=this._parser&&console.log("context surrounding pred is "+this._parser.getRuleInvocationStack())),collectPredicates&&inContext){let newSemCtx=SemanticContext_1.SemanticContext.and(config.semanticContext,pt.predicate);c=config.transform(pt.target,!1,newSemCtx)}else c=config.transform(pt.target,!1);return ParserATNSimulator2.debug&&console.log("config from pred transition="+c),c}predTransition(config,pt,collectPredicates,inContext){let c;if(ParserATNSimulator2.debug&&(console.log("PRED (collectPredicates="+collectPredicates+") "+pt.ruleIndex+":"+pt.predIndex+", ctx dependent="+pt.isCtxDependent),null!=this._parser&&console.log("context surrounding pred is "+this._parser.getRuleInvocationStack())),collectPredicates&&(!pt.isCtxDependent||pt.isCtxDependent&&inContext)){let newSemCtx=SemanticContext_1.SemanticContext.and(config.semanticContext,pt.predicate);c=config.transform(pt.target,!1,newSemCtx)}else c=config.transform(pt.target,!1);return ParserATNSimulator2.debug&&console.log("config from pred transition="+c),c}ruleTransition(config,t,contextCache){ParserATNSimulator2.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+config.context);let newContext,returnState=t.followState;return newContext=!this.optimize_tail_calls||!t.optimizedTailCall||this.tail_call_preserves_sll&&PredictionContext_1.PredictionContext.isEmptyLocal(config.context)?null!=contextCache?contextCache.getChild(config.context,returnState.stateNumber):config.context.getChild(returnState.stateNumber):config.context,config.transform(t.target,!1,newContext)}isConflicted(configset,contextCache){if(configset.uniqueAlt!==ATN_1.ATN.INVALID_ALT_NUMBER||configset.size<=1)return;let configs=configset.toArray();configs.sort(ParserATNSimulator2.STATE_ALT_SORT_COMPARATOR);let exact=!configset.dipsIntoOuterContext,alts=new BitSet_1.BitSet,minAlt=configs[0].alt;alts.set(minAlt);let representedAlts,currentState=configs[0].state.nonStopStateNumber;for(let config of configs){let stateNumber=config.state.nonStopStateNumber;if(stateNumber!==currentState){if(config.alt!==minAlt)return;currentState=stateNumber}}if(exact){currentState=configs[0].state.nonStopStateNumber,representedAlts=new BitSet_1.BitSet;let maxAlt=minAlt;for(let config of configs){if(config.state.nonStopStateNumber!==currentState)break;let alt=config.alt;representedAlts.set(alt),maxAlt=alt}currentState=configs[0].state.nonStopStateNumber;let currentAlt=minAlt;for(let config of configs){let stateNumber=config.state.nonStopStateNumber,alt=config.alt;if(stateNumber!==currentState){if(currentAlt!==maxAlt){exact=!1;break}currentState=stateNumber,currentAlt=minAlt}else if(alt!==currentAlt){if(alt!==representedAlts.nextSetBit(currentAlt+1)){exact=!1;break}currentAlt=alt}}}currentState=configs[0].state.nonStopStateNumber;let firstIndexCurrentState=0,lastIndexCurrentStateMinAlt=0,joinedCheckContext=configs[0].context;for(let i=1;i"}getLookaheadName(input){return this.getTokenName(input.LA(1))}dumpDeadEndConfigs(nvae){console.log("dead end configs: ");let deadEndConfigs=nvae.deadEndConfigs;if(deadEndConfigs)for(let c of deadEndConfigs){let trans="no edges";if(c.state.numberOfOptimizedTransitions>0){let t=c.state.getOptimizedTransition(0);t instanceof AtomTransition_1.AtomTransition?trans="Atom "+this.getTokenName(t._label):t instanceof SetTransition_1.SetTransition&&(trans=(t instanceof NotSetTransition_1.NotSetTransition?"~":"")+"Set "+t.set.toString())}console.log(c.toString(this._parser,!0)+":"+trans)}}noViableAlt(input,outerContext,configs,startIndex){return new NoViableAltException_1.NoViableAltException(this._parser,input,input.get(startIndex),input.LT(1),configs,outerContext)}getUniqueAlt(configs){let alt=ATN_1.ATN.INVALID_ALT_NUMBER;for(let c of configs)if(alt===ATN_1.ATN.INVALID_ALT_NUMBER)alt=c.alt;else if(c.alt!==alt)return ATN_1.ATN.INVALID_ALT_NUMBER;return alt}configWithAltAtStopState(configs,alt){for(let c of configs)if(c.alt===alt&&c.state instanceof RuleStopState_1.RuleStopState)return!0;return!1}addDFAEdge(dfa,fromState,t,contextTransitions,toConfigs,contextCache){assert(null==contextTransitions||contextTransitions.isEmpty||dfa.isContextSensitive);let from2=fromState,to=this.addDFAState(dfa,toConfigs,contextCache);if(null!=contextTransitions)for(let context of contextTransitions.toArray()){if(context===PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY&&from2.configs.isOutermostConfigSet)continue;from2.setContextSensitive(this.atn),from2.setContextSymbol(t);let next=from2.getContextTarget(context);null==next?(next=this.addDFAContextState(dfa,from2.configs,context,contextCache),assert(context!==PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY||next.configs.isOutermostConfigSet),from2.setContextTarget(context,next),from2=next):from2=next}return ParserATNSimulator2.debug&&console.log("EDGE "+from2+" -> "+to+" upon "+this.getTokenName(t)),this.setDFAEdge(from2,t,to),ParserATNSimulator2.debug&&console.log("DFA=\n"+dfa.toString(null!=this._parser?this._parser.vocabulary:VocabularyImpl_1.VocabularyImpl.EMPTY_VOCABULARY,null!=this._parser?this._parser.ruleNames:void 0)),to}setDFAEdge(p,t,q){p?.setTarget(t,q)}addDFAContextState(dfa,configs,returnContext,contextCache){if(returnContext!==PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY){let contextConfigs=new ATNConfigSet_1.ATNConfigSet;for(let config of configs)contextConfigs.add(config.appendContext(returnContext,contextCache));return this.addDFAState(dfa,contextConfigs,contextCache)}return assert(!configs.isOutermostConfigSet,"Shouldn't be adding a duplicate edge."),(configs=configs.clone(!0)).isOutermostConfigSet=!0,this.addDFAState(dfa,configs,contextCache)}addDFAState(dfa,configs,contextCache){let enableDfa=this.enable_global_context_dfa||!configs.isOutermostConfigSet;if(enableDfa){configs.isReadOnly||configs.optimizeConfigs(this);let proposed=this.createDFAState(dfa,configs),existing=dfa.states.get(proposed);if(null!=existing)return existing}configs.isReadOnly||null==configs.conflictInfo&&(configs.conflictInfo=this.isConflicted(configs,contextCache));let newState=this.createDFAState(dfa,configs.clone(!0)),decisionState=this.atn.getDecisionState(dfa.decision),predictedAlt=this.getUniqueAlt(configs);if(predictedAlt!==ATN_1.ATN.INVALID_ALT_NUMBER)newState.acceptStateInfo=new AcceptStateInfo_1.AcceptStateInfo(predictedAlt);else if(null!=configs.conflictingAlts){let conflictingAlts=configs.conflictingAlts;conflictingAlts&&(newState.acceptStateInfo=new AcceptStateInfo_1.AcceptStateInfo(conflictingAlts.nextSetBit(0)))}if(newState.isAcceptState&&configs.hasSemanticContext&&this.predicateDFAState(newState,configs,decisionState.numberOfTransitions),!enableDfa)return newState;let added=dfa.addState(newState);return ParserATNSimulator2.debug&&added===newState&&console.log("adding new DFA state: "+newState),added}createDFAState(dfa,configs){return new DFAState_1.DFAState(configs)}reportAttemptingFullContext(dfa,conflictingAlts,conflictState,startIndex,stopIndex){if(ParserATNSimulator2.debug||ParserATNSimulator2.retry_debug){let interval=Interval_1.Interval.of(startIndex,stopIndex);console.log("reportAttemptingFullContext decision="+dfa.decision+":"+conflictState.s0.configs+", input="+this._parser.inputStream.getText(interval))}if(null!=this._parser){let listener=this._parser.getErrorListenerDispatch();listener.reportAttemptingFullContext&&listener.reportAttemptingFullContext(this._parser,dfa,startIndex,stopIndex,conflictingAlts,conflictState)}}reportContextSensitivity(dfa,prediction,acceptState,startIndex,stopIndex){if(ParserATNSimulator2.debug||ParserATNSimulator2.retry_debug){let interval=Interval_1.Interval.of(startIndex,stopIndex);console.log("reportContextSensitivity decision="+dfa.decision+":"+acceptState.s0.configs+", input="+this._parser.inputStream.getText(interval))}if(null!=this._parser){let listener=this._parser.getErrorListenerDispatch();listener.reportContextSensitivity&&listener.reportContextSensitivity(this._parser,dfa,startIndex,stopIndex,prediction,acceptState)}}reportAmbiguity(dfa,D,startIndex,stopIndex,exact,ambigAlts,configs){if(ParserATNSimulator2.debug||ParserATNSimulator2.retry_debug){let interval=Interval_1.Interval.of(startIndex,stopIndex);console.log("reportAmbiguity "+ambigAlts+":"+configs+", input="+this._parser.inputStream.getText(interval))}if(null!=this._parser){let listener=this._parser.getErrorListenerDispatch();listener.reportAmbiguity&&listener.reportAmbiguity(this._parser,dfa,startIndex,stopIndex,exact,ambigAlts,configs)}}getReturnState(context){return context.isEmpty?PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY:this.atn.states[context.invokingState].transition(0).followState.stateNumber}skipTailCalls(context){if(!this.optimize_tail_calls)return context;for(;!context.isEmpty;){let state=this.atn.states[context.invokingState];if(assert(1===state.numberOfTransitions&&3===state.transition(0).serializationType),!state.transition(0).tailCall)break;context=context.parent}return context}get parser(){return this._parser}};ParserATNSimulator.debug=!1,ParserATNSimulator.dfa_debug=!1,ParserATNSimulator.retry_debug=!1,ParserATNSimulator.STATE_ALT_SORT_COMPARATOR=(o1,o2)=>{let diff=o1.state.nonStopStateNumber-o2.state.nonStopStateNumber;return 0!==diff||(diff=o1.alt-o2.alt,0!==diff)?diff:0},__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"predictionMode",void 0),__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"getPredictionMode",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"setPredictionMode",null),__decorate([Decorators_1.Override],ParserATNSimulator.prototype,"reset",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"adaptivePredict",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getStartState",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],ParserATNSimulator.prototype,"execDFA",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],ParserATNSimulator.prototype,"execATN",null),__decorate([__param(0,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"handleNoViableAlt",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getExistingTargetState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"computeTargetState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"removeAllConfigsNotInRuleStopState",null),__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"computeStartState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"applyPrecedenceFilter",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getReachableTarget",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getPredsForAmbigAlts",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"evalSemanticContext",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"evalSemanticContextImpl",null),__decorate([__param(1,Decorators_1.NotNull),__param(4,Decorators_1.Nullable)],ParserATNSimulator.prototype,"closure",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.Nullable),__param(3,Decorators_1.NotNull),__param(6,Decorators_1.NotNull)],ParserATNSimulator.prototype,"closureImpl",null),__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"getRuleName",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getEpsilonTarget",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"actionTransition",null),__decorate([Decorators_1.Nullable,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"precedenceTransition",null),__decorate([Decorators_1.Nullable,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"predTransition",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.Nullable)],ParserATNSimulator.prototype,"ruleTransition",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"isConflicted",null),__decorate([Decorators_1.NotNull],ParserATNSimulator.prototype,"getTokenName",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"dumpDeadEndConfigs",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"noViableAlt",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"getUniqueAlt",null),__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator.prototype,"configWithAltAtStopState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(4,Decorators_1.NotNull)],ParserATNSimulator.prototype,"addDFAEdge",null),__decorate([__param(0,Decorators_1.Nullable),__param(2,Decorators_1.Nullable)],ParserATNSimulator.prototype,"setDFAEdge",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"addDFAContextState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"addDFAState",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParserATNSimulator.prototype,"createDFAState",null),__decorate([__param(0,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"reportAttemptingFullContext",null),__decorate([__param(0,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParserATNSimulator.prototype,"reportContextSensitivity",null),__decorate([__param(0,Decorators_1.NotNull),__param(5,Decorators_1.NotNull),__param(6,Decorators_1.NotNull)],ParserATNSimulator.prototype,"reportAmbiguity",null),ParserATNSimulator=__decorate([__param(0,Decorators_1.NotNull)],ParserATNSimulator),exports.ParserATNSimulator=ParserATNSimulator},8132:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlusBlockStartState=void 0;const ATNStateType_1=__webpack_require__(5495),BlockStartState_1=__webpack_require__(852),Decorators_1=__webpack_require__(4798);class PlusBlockStartState extends BlockStartState_1.BlockStartState{get stateType(){return ATNStateType_1.ATNStateType.PLUS_BLOCK_START}}__decorate([Decorators_1.Override],PlusBlockStartState.prototype,"stateType",null),exports.PlusBlockStartState=PlusBlockStartState},8659:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlusLoopbackState=void 0;const ATNStateType_1=__webpack_require__(5495),DecisionState_1=__webpack_require__(2992),Decorators_1=__webpack_require__(4798);class PlusLoopbackState extends DecisionState_1.DecisionState{get stateType(){return ATNStateType_1.ATNStateType.PLUS_LOOP_BACK}}__decorate([Decorators_1.Override],PlusLoopbackState.prototype,"stateType",null),exports.PlusLoopbackState=PlusLoopbackState},896:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PrecedencePredicateTransition=void 0;const AbstractPredicateTransition_1=__webpack_require__(4728),Decorators_1=__webpack_require__(4798),SemanticContext_1=__webpack_require__(7909);let PrecedencePredicateTransition=class extends AbstractPredicateTransition_1.AbstractPredicateTransition{constructor(target,precedence){super(target),this.precedence=precedence}get serializationType(){return 10}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}get predicate(){return new SemanticContext_1.SemanticContext.PrecedencePredicate(this.precedence)}toString(){return this.precedence+" >= _p"}};__decorate([Decorators_1.Override],PrecedencePredicateTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],PrecedencePredicateTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],PrecedencePredicateTransition.prototype,"matches",null),__decorate([Decorators_1.Override],PrecedencePredicateTransition.prototype,"toString",null),PrecedencePredicateTransition=__decorate([__param(0,Decorators_1.NotNull)],PrecedencePredicateTransition),exports.PrecedencePredicateTransition=PrecedencePredicateTransition},8412:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredicateEvalInfo=void 0;const DecisionEventInfo_1=__webpack_require__(8263),Decorators_1=__webpack_require__(4798);let PredicateEvalInfo=class extends DecisionEventInfo_1.DecisionEventInfo{constructor(state,decision,input,startIndex,stopIndex,semctx,evalResult,predictedAlt){super(decision,state,input,startIndex,stopIndex,state.useContext),this.semctx=semctx,this.evalResult=evalResult,this.predictedAlt=predictedAlt}};PredicateEvalInfo=__decorate([__param(0,Decorators_1.NotNull),__param(2,Decorators_1.NotNull),__param(5,Decorators_1.NotNull)],PredicateEvalInfo),exports.PredicateEvalInfo=PredicateEvalInfo},1447:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredicateTransition=void 0;const AbstractPredicateTransition_1=__webpack_require__(4728),Decorators_1=__webpack_require__(4798),SemanticContext_1=__webpack_require__(7909);let PredicateTransition=class extends AbstractPredicateTransition_1.AbstractPredicateTransition{constructor(target,ruleIndex,predIndex,isCtxDependent){super(target),this.ruleIndex=ruleIndex,this.predIndex=predIndex,this.isCtxDependent=isCtxDependent}get serializationType(){return 4}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}get predicate(){return new SemanticContext_1.SemanticContext.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}};__decorate([Decorators_1.Override],PredicateTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],PredicateTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],PredicateTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],PredicateTransition.prototype,"toString",null),PredicateTransition=__decorate([__param(0,Decorators_1.NotNull)],PredicateTransition),exports.PredicateTransition=PredicateTransition},2321:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SingletonPredictionContext=exports.PredictionContext=void 0;const Array2DHashMap_1=__webpack_require__(6746),Array2DHashSet_1=__webpack_require__(9792),Arrays_1=__webpack_require__(4630),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),PredictionContextCache_1=__webpack_require__(2685),assert=__webpack_require__(5936);class PredictionContext{constructor(cachedHashCode){this.cachedHashCode=cachedHashCode}static calculateEmptyHashCode(){let hash=MurmurHash_1.MurmurHash.initialize(1);return hash=MurmurHash_1.MurmurHash.finish(hash,0),hash}static calculateSingleHashCode(parent,returnState){let hash=MurmurHash_1.MurmurHash.initialize(1);return hash=MurmurHash_1.MurmurHash.update(hash,parent),hash=MurmurHash_1.MurmurHash.update(hash,returnState),hash=MurmurHash_1.MurmurHash.finish(hash,2),hash}static calculateHashCode(parents,returnStates){let hash=MurmurHash_1.MurmurHash.initialize(1);for(let parent of parents)hash=MurmurHash_1.MurmurHash.update(hash,parent);for(let returnState of returnStates)hash=MurmurHash_1.MurmurHash.update(hash,returnState);return hash=MurmurHash_1.MurmurHash.finish(hash,2*parents.length),hash}static fromRuleContext(atn,outerContext,fullContext=!0){if(outerContext.isEmpty)return fullContext?PredictionContext.EMPTY_FULL:PredictionContext.EMPTY_LOCAL;let parent;parent=outerContext._parent?PredictionContext.fromRuleContext(atn,outerContext._parent,fullContext):fullContext?PredictionContext.EMPTY_FULL:PredictionContext.EMPTY_LOCAL;let transition2=atn.states[outerContext.invokingState].transition(0);return parent.getChild(transition2.followState.stateNumber)}static addEmptyContext(context){return context.addEmptyContext()}static removeEmptyContext(context){return context.removeEmptyContext()}static join(context0,context1,contextCache=PredictionContextCache_1.PredictionContextCache.UNCACHED){if(context0===context1)return context0;if(context0.isEmpty)return PredictionContext.isEmptyLocal(context0)?context0:PredictionContext.addEmptyContext(context1);if(context1.isEmpty)return PredictionContext.isEmptyLocal(context1)?context1:PredictionContext.addEmptyContext(context0);let context0size=context0.size,context1size=context1.size;if(1===context0size&&1===context1size&&context0.getReturnState(0)===context1.getReturnState(0)){let merged=contextCache.join(context0.getParent(0),context1.getParent(0));return merged===context0.getParent(0)?context0:merged===context1.getParent(0)?context1:merged.getChild(context0.getReturnState(0))}let count=0,parentsList=new Array(context0size+context1size),returnStatesList=new Array(parentsList.length),leftIndex=0,rightIndex=0,canReturnLeft=!0,canReturnRight=!0;for(;leftIndex0){let bits=1;for(;1<>>0>offset&(1<>>0)-1,last=last&&index>=p.size-1,index>=p.size)continue outer;offset+=bits}recognizer?(localBuffer.length>1&&(localBuffer+=" "),localBuffer+=recognizer.ruleNames[recognizer.atn.states[stateNumber].ruleIndex]):p.getReturnState(index)!==PredictionContext.EMPTY_FULL_STATE_KEY&&(p.isEmpty||(localBuffer.length>1&&(localBuffer+=" "),localBuffer+=p.getReturnState(index))),stateNumber=p.getReturnState(index),p=p.getParent(index)}if(localBuffer+="]",result.push(localBuffer),last)break}return result}}__decorate([Decorators_1.Override],PredictionContext.prototype,"hashCode",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],PredictionContext,"join",null),__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],PredictionContext,"getCachedContext",null),exports.PredictionContext=PredictionContext;class EmptyPredictionContext extends PredictionContext{constructor(fullContext){super(PredictionContext.calculateEmptyHashCode()),this.fullContext=fullContext}get isFullContext(){return this.fullContext}addEmptyContext(){return this}removeEmptyContext(){throw new Error("Cannot remove the empty context from itself.")}getParent(index){throw new Error("index out of bounds")}getReturnState(index){throw new Error("index out of bounds")}findReturnState(returnState){return-1}get size(){return 0}appendSingleContext(returnContext,contextCache){return contextCache.getChild(this,returnContext)}appendContext(suffix,contextCache){return suffix}get isEmpty(){return!0}get hasEmpty(){return!0}equals(o){return this===o}toStrings(recognizer,currentState,stop){return["[]"]}}__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"addEmptyContext",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"removeEmptyContext",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"getParent",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"getReturnState",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"findReturnState",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"size",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"appendSingleContext",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"appendContext",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"isEmpty",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"hasEmpty",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"equals",null),__decorate([Decorators_1.Override],EmptyPredictionContext.prototype,"toStrings",null);let ArrayPredictionContext=class ArrayPredictionContext2 extends PredictionContext{constructor(parents,returnStates,hashCode){super(hashCode||PredictionContext.calculateHashCode(parents,returnStates)),assert(parents.length===returnStates.length),assert(returnStates.length>1||returnStates[0]!==PredictionContext.EMPTY_FULL_STATE_KEY,"Should be using PredictionContext.EMPTY instead."),this.parents=parents,this.returnStates=returnStates}getParent(index){return this.parents[index]}getReturnState(index){return this.returnStates[index]}findReturnState(returnState){return Arrays_1.Arrays.binarySearch(this.returnStates,returnState)}get size(){return this.returnStates.length}get isEmpty(){return!1}get hasEmpty(){return this.returnStates[this.returnStates.length-1]===PredictionContext.EMPTY_FULL_STATE_KEY}addEmptyContext(){if(this.hasEmpty)return this;let parents2=this.parents.slice(0),returnStates2=this.returnStates.slice(0);return parents2.push(PredictionContext.EMPTY_FULL),returnStates2.push(PredictionContext.EMPTY_FULL_STATE_KEY),new ArrayPredictionContext2(parents2,returnStates2)}removeEmptyContext(){if(!this.hasEmpty)return this;if(2===this.returnStates.length)return new SingletonPredictionContext(this.parents[0],this.returnStates[0]);{let parents2=this.parents.slice(0,this.parents.length-1),returnStates2=this.returnStates.slice(0,this.returnStates.length-1);return new ArrayPredictionContext2(parents2,returnStates2)}}appendContext(suffix,contextCache){return ArrayPredictionContext2.appendContextImpl(this,suffix,new PredictionContext.IdentityHashMap)}static appendContextImpl(context,suffix,visited){if(suffix.isEmpty){if(PredictionContext.isEmptyLocal(suffix)){if(context.hasEmpty)return PredictionContext.EMPTY_LOCAL;throw new Error("what to do here?")}return context}if(1!==suffix.size)throw new Error("Appending a tree suffix is not yet supported.");let result=visited.get(context);if(!result){if(context.isEmpty)result=suffix;else{let parentCount=context.size;context.hasEmpty&&parentCount--;let updatedParents=new Array(parentCount),updatedReturnStates=new Array(parentCount);for(let i=0;i1),result=new ArrayPredictionContext2(updatedParents,updatedReturnStates)),context.hasEmpty&&(result=PredictionContext.join(result,suffix))}visited.put(context,result)}return result}equals(o){return this===o||o instanceof ArrayPredictionContext2&&this.hashCode()===o.hashCode()&&this.equalsImpl(o,new Array2DHashSet_1.Array2DHashSet)}equalsImpl(other,visited){let selfWorkList=[],otherWorkList=[];for(selfWorkList.push(this),otherWorkList.push(other);;){let currentSelf=selfWorkList.pop(),currentOther=otherWorkList.pop();if(!currentSelf||!currentOther)break;let operands=new PredictionContextCache_1.PredictionContextCache.IdentityCommutativePredictionContextOperands(currentSelf,currentOther);if(!visited.add(operands))continue;let selfSize=operands.x.size;if(0!==selfSize){if(selfSize!==operands.y.size)return!1;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredictionContextCache=void 0;const Array2DHashMap_1=__webpack_require__(6746),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),PredictionContext_1=__webpack_require__(2321),assert=__webpack_require__(5936);class PredictionContextCache{constructor(enableCache=!0){this.contexts=new Array2DHashMap_1.Array2DHashMap(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.childContexts=new Array2DHashMap_1.Array2DHashMap(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.joinContexts=new Array2DHashMap_1.Array2DHashMap(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.enableCache=enableCache}getAsCached(context){if(!this.enableCache)return context;let result=this.contexts.get(context);return result||(result=context,this.contexts.put(context,context)),result}getChild(context,invokingState){if(!this.enableCache)return context.getChild(invokingState);let operands=new PredictionContextCache.PredictionContextAndInt(context,invokingState),result=this.childContexts.get(operands);return result||(result=context.getChild(invokingState),result=this.getAsCached(result),this.childContexts.put(operands,result)),result}join(x,y){if(!this.enableCache)return PredictionContext_1.PredictionContext.join(x,y,this);let operands=new PredictionContextCache.IdentityCommutativePredictionContextOperands(x,y),result=this.joinContexts.get(operands);return result||(result=PredictionContext_1.PredictionContext.join(x,y,this),result=this.getAsCached(result),this.joinContexts.put(operands,result),result)}}exports.PredictionContextCache=PredictionContextCache,PredictionContextCache.UNCACHED=new PredictionContextCache(!1),function(PredictionContextCache2){class PredictionContextAndInt{constructor(obj,value){this.obj=obj,this.value=value}equals(obj){return obj instanceof PredictionContextAndInt&&(obj===this||this.value===obj.value&&(this.obj===obj.obj||null!=this.obj&&this.obj.equals(obj.obj)))}hashCode(){let hashCode=5;return hashCode=7*hashCode+(null!=this.obj?this.obj.hashCode():0),hashCode=7*hashCode+this.value,hashCode}}__decorate([Decorators_1.Override],PredictionContextAndInt.prototype,"equals",null),__decorate([Decorators_1.Override],PredictionContextAndInt.prototype,"hashCode",null),PredictionContextCache2.PredictionContextAndInt=PredictionContextAndInt;class IdentityCommutativePredictionContextOperands{constructor(x,y){assert(null!=x),assert(null!=y),this._x=x,this._y=y}get x(){return this._x}get y(){return this._y}equals(o){return o instanceof IdentityCommutativePredictionContextOperands&&(this===o||(this._x===o._x&&this._y===o._y||this._x===o._y&&this._y===o._x))}hashCode(){return this._x.hashCode()^this._y.hashCode()}}__decorate([Decorators_1.Override],IdentityCommutativePredictionContextOperands.prototype,"equals",null),__decorate([Decorators_1.Override],IdentityCommutativePredictionContextOperands.prototype,"hashCode",null),PredictionContextCache2.IdentityCommutativePredictionContextOperands=IdentityCommutativePredictionContextOperands}(PredictionContextCache=exports.PredictionContextCache||(exports.PredictionContextCache={}))},1975:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredictionMode=void 0,__webpack_require__(6746);const MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),RuleStopState_1=__webpack_require__(8059);var PredictionMode2;(PredictionMode2=exports.PredictionMode||(exports.PredictionMode={}))[PredictionMode2.SLL=0]="SLL",PredictionMode2[PredictionMode2.LL=1]="LL",PredictionMode2[PredictionMode2.LL_EXACT_AMBIG_DETECTION=2]="LL_EXACT_AMBIG_DETECTION",function(PredictionMode2){class AltAndContextConfigEqualityComparator{AltAndContextConfigEqualityComparator(){}hashCode(o){let hashCode=MurmurHash_1.MurmurHash.initialize(7);return hashCode=MurmurHash_1.MurmurHash.update(hashCode,o.state.stateNumber),hashCode=MurmurHash_1.MurmurHash.update(hashCode,o.context),hashCode=MurmurHash_1.MurmurHash.finish(hashCode,2),hashCode}equals(a,b){return a===b||null!=a&&null!=b&&a.state.stateNumber===b.state.stateNumber&&a.context.equals(b.context)}}AltAndContextConfigEqualityComparator.INSTANCE=new AltAndContextConfigEqualityComparator,__decorate([Decorators_1.Override],AltAndContextConfigEqualityComparator.prototype,"hashCode",null),__decorate([Decorators_1.Override],AltAndContextConfigEqualityComparator.prototype,"equals",null),PredictionMode2.hasConfigInRuleStopState=function hasConfigInRuleStopState(configs){for(let c of configs)if(c.state instanceof RuleStopState_1.RuleStopState)return!0;return!1},PredictionMode2.allConfigsInRuleStopStates=function allConfigsInRuleStopStates(configs){for(let config of configs)if(!(config.state instanceof RuleStopState_1.RuleStopState))return!1;return!0}}(exports.PredictionMode||(exports.PredictionMode={}))},2073:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProfilingATNSimulator=void 0;const AmbiguityInfo_1=__webpack_require__(9283),ATN_1=__webpack_require__(4495),ATNSimulator_1=__webpack_require__(573),ContextSensitivityInfo_1=__webpack_require__(5874),DecisionInfo_1=__webpack_require__(6543),ErrorInfo_1=__webpack_require__(8160),Decorators_1=__webpack_require__(4798),LookaheadEventInfo_1=__webpack_require__(8832),ParserATNSimulator_1=__webpack_require__(7609),PredicateEvalInfo_1=__webpack_require__(8412),SemanticContext_1=__webpack_require__(7909),SimulatorState_1=__webpack_require__(2243);class ProfilingATNSimulator extends ParserATNSimulator_1.ParserATNSimulator{constructor(parser){super(parser.interpreter.atn,parser),this._startIndex=0,this._sllStopIndex=0,this._llStopIndex=0,this.currentDecision=0,this.conflictingAltResolvedBySLL=0,this.optimize_ll1=!1,this.reportAmbiguities=!0,this.numDecisions=this.atn.decisionToState.length,this.decisions=[];for(let i=0;ithis.decisions[decision].SLL_MaxLook&&(this.decisions[decision].SLL_MaxLook=SLL_k,this.decisions[decision].SLL_MaxLookEvent=new LookaheadEventInfo_1.LookaheadEventInfo(decision,void 0,alt,input,this._startIndex,this._sllStopIndex,!1)),this._llStopIndex>=0){let LL_k=this._llStopIndex-this._startIndex+1;this.decisions[decision].LL_TotalLook+=LL_k,this.decisions[decision].LL_MinLook=0===this.decisions[decision].LL_MinLook?LL_k:Math.min(this.decisions[decision].LL_MinLook,LL_k),LL_k>this.decisions[decision].LL_MaxLook&&(this.decisions[decision].LL_MaxLook=LL_k,this.decisions[decision].LL_MaxLookEvent=new LookaheadEventInfo_1.LookaheadEventInfo(decision,void 0,alt,input,this._startIndex,this._llStopIndex,!0))}return alt}finally{this._input=void 0,this.currentDecision=-1}}getStartState(dfa,input,outerContext,useContext){let state=super.getStartState(dfa,input,outerContext,useContext);return this.currentState=state,state}computeStartState(dfa,globalContext,useContext){let state=super.computeStartState(dfa,globalContext,useContext);return this.currentState=state,state}computeReachSet(dfa,previous,t,contextCache){if(void 0===this._input)throw new Error("Invalid state");let reachState=super.computeReachSet(dfa,previous,t,contextCache);return null==reachState&&this.decisions[this.currentDecision].errors.push(new ErrorInfo_1.ErrorInfo(this.currentDecision,previous,this._input,this._startIndex,this._input.index)),this.currentState=reachState,reachState}getExistingTargetState(previousD,t){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");this.currentState.useContext?this._llStopIndex=this._input.index:this._sllStopIndex=this._input.index;let existingTargetState=super.getExistingTargetState(previousD,t);if(null!=existingTargetState&&(this.currentState=new SimulatorState_1.SimulatorState(this.currentState.outerContext,existingTargetState,this.currentState.useContext,this.currentState.remainingOuterContext),this.currentState.useContext?this.decisions[this.currentDecision].LL_DFATransitions++:this.decisions[this.currentDecision].SLL_DFATransitions++,existingTargetState===ATNSimulator_1.ATNSimulator.ERROR)){let state=new SimulatorState_1.SimulatorState(this.currentState.outerContext,previousD,this.currentState.useContext,this.currentState.remainingOuterContext);this.decisions[this.currentDecision].errors.push(new ErrorInfo_1.ErrorInfo(this.currentDecision,state,this._input,this._startIndex,this._input.index))}return existingTargetState}computeTargetState(dfa,s,remainingGlobalContext,t,useContext,contextCache){let targetState=super.computeTargetState(dfa,s,remainingGlobalContext,t,useContext,contextCache);return useContext?this.decisions[this.currentDecision].LL_ATNTransitions++:this.decisions[this.currentDecision].SLL_ATNTransitions++,targetState}evalSemanticContextImpl(pred,parserCallStack,alt){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");let result=super.evalSemanticContextImpl(pred,parserCallStack,alt);return pred instanceof SemanticContext_1.SemanticContext.PrecedencePredicate||this.decisions[this.currentDecision].predicateEvals.push(new PredicateEvalInfo_1.PredicateEvalInfo(this.currentState,this.currentDecision,this._input,this._startIndex,this._llStopIndex>=0?this._llStopIndex:this._sllStopIndex,pred,result,alt)),result}reportContextSensitivity(dfa,prediction,acceptState,startIndex,stopIndex){if(void 0===this._input)throw new Error("Invalid state");prediction!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new ContextSensitivityInfo_1.ContextSensitivityInfo(this.currentDecision,acceptState,this._input,startIndex,stopIndex)),super.reportContextSensitivity(dfa,prediction,acceptState,startIndex,stopIndex)}reportAttemptingFullContext(dfa,conflictingAlts,conflictState,startIndex,stopIndex){this.conflictingAltResolvedBySLL=null!=conflictingAlts?conflictingAlts.nextSetBit(0):conflictState.s0.configs.getRepresentedAlternatives().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,super.reportAttemptingFullContext(dfa,conflictingAlts,conflictState,startIndex,stopIndex)}reportAmbiguity(dfa,D,startIndex,stopIndex,exact,ambigAlts,configs){if(void 0===this.currentState||void 0===this._input)throw new Error("Invalid state");let prediction;prediction=null!=ambigAlts?ambigAlts.nextSetBit(0):configs.getRepresentedAlternatives().nextSetBit(0),this.conflictingAltResolvedBySLL!==ATN_1.ATN.INVALID_ALT_NUMBER&&prediction!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new ContextSensitivityInfo_1.ContextSensitivityInfo(this.currentDecision,this.currentState,this._input,startIndex,stopIndex)),this.decisions[this.currentDecision].ambiguities.push(new AmbiguityInfo_1.AmbiguityInfo(this.currentDecision,this.currentState,ambigAlts,this._input,startIndex,stopIndex)),super.reportAmbiguity(dfa,D,startIndex,stopIndex,exact,ambigAlts,configs)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}}__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull)],ProfilingATNSimulator.prototype,"adaptivePredict",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"getStartState",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"computeStartState",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"computeReachSet",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"getExistingTargetState",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"computeTargetState",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"evalSemanticContextImpl",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"reportContextSensitivity",null),__decorate([Decorators_1.Override],ProfilingATNSimulator.prototype,"reportAttemptingFullContext",null),__decorate([Decorators_1.Override,__param(0,Decorators_1.NotNull),__param(5,Decorators_1.NotNull),__param(6,Decorators_1.NotNull)],ProfilingATNSimulator.prototype,"reportAmbiguity",null),exports.ProfilingATNSimulator=ProfilingATNSimulator},4242:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RangeTransition=void 0;const IntervalSet_1=__webpack_require__(3951),Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let RangeTransition=class extends Transition_1.Transition{constructor(target,from2,to){super(target),this.from=from2,this.to=to}get serializationType(){return 2}get label(){return IntervalSet_1.IntervalSet.of(this.from,this.to)}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=this.from&&symbol<=this.to}toString(){return"'"+String.fromCodePoint(this.from)+"'..'"+String.fromCodePoint(this.to)+"'"}};__decorate([Decorators_1.Override],RangeTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],RangeTransition.prototype,"label",null),__decorate([Decorators_1.Override],RangeTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],RangeTransition.prototype,"toString",null),RangeTransition=__decorate([__param(0,Decorators_1.NotNull)],RangeTransition),exports.RangeTransition=RangeTransition},1045:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleStartState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class RuleStartState extends ATNState_1.ATNState{constructor(){super(...arguments),this.isPrecedenceRule=!1,this.leftFactored=!1}get stateType(){return ATNStateType_1.ATNStateType.RULE_START}}__decorate([Decorators_1.Override],RuleStartState.prototype,"stateType",null),exports.RuleStartState=RuleStartState},8059:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleStopState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class RuleStopState extends ATNState_1.ATNState{get nonStopStateNumber(){return-1}get stateType(){return ATNStateType_1.ATNStateType.RULE_STOP}}__decorate([Decorators_1.Override],RuleStopState.prototype,"nonStopStateNumber",null),__decorate([Decorators_1.Override],RuleStopState.prototype,"stateType",null),exports.RuleStopState=RuleStopState},7937:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleTransition=void 0;const Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let RuleTransition=class extends Transition_1.Transition{constructor(ruleStart,ruleIndex,precedence,followState){super(ruleStart),this.tailCall=!1,this.optimizedTailCall=!1,this.ruleIndex=ruleIndex,this.precedence=precedence,this.followState=followState}get serializationType(){return 3}get isEpsilon(){return!0}matches(symbol,minVocabSymbol,maxVocabSymbol){return!1}};__decorate([Decorators_1.NotNull],RuleTransition.prototype,"followState",void 0),__decorate([Decorators_1.Override],RuleTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],RuleTransition.prototype,"isEpsilon",null),__decorate([Decorators_1.Override],RuleTransition.prototype,"matches",null),RuleTransition=__decorate([__param(0,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],RuleTransition),exports.RuleTransition=RuleTransition},7909:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SemanticContext=void 0;const Array2DHashSet_1=__webpack_require__(9792),ArrayEqualityComparator_1=__webpack_require__(6481),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),Utils=__webpack_require__(2028);class SemanticContext{static get NONE(){return void 0===SemanticContext._NONE&&(SemanticContext._NONE=new SemanticContext.Predicate),SemanticContext._NONE}evalPrecedence(parser,parserCallStack){return this}static and(a,b){if(!a||a===SemanticContext.NONE)return b;if(b===SemanticContext.NONE)return a;let result=new SemanticContext.AND(a,b);return 1===result.opnds.length?result.opnds[0]:result}static or(a,b){if(!a)return b;if(a===SemanticContext.NONE||b===SemanticContext.NONE)return SemanticContext.NONE;let result=new SemanticContext.OR(a,b);return 1===result.opnds.length?result.opnds[0]:result}}exports.SemanticContext=SemanticContext,function(SemanticContext2){function filterPrecedencePredicates(collection){let result=[];for(let i=0;i=prec}?"}}__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"eval",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"evalPrecedence",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"compareTo",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"hashCode",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"equals",null),__decorate([Decorators_1.Override],PrecedencePredicate.prototype,"toString",null),SemanticContext2.PrecedencePredicate=PrecedencePredicate;class Operator extends SemanticContext2{}SemanticContext2.Operator=Operator;let AND=class AND2 extends Operator{constructor(a,b){super();let operands=new Array2DHashSet_1.Array2DHashSet(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE);a instanceof AND2?operands.addAll(a.opnds):operands.add(a),b instanceof AND2?operands.addAll(b.opnds):operands.add(b),this.opnds=operands.toArray();let reduced=function min(items){let result;for(let current of items)void 0!==result?result.compareTo(current)>0&&(result=current):result=current;return result}(filterPrecedencePredicates(this.opnds));reduced&&this.opnds.push(reduced)}get operands(){return this.opnds}equals(obj){return this===obj||obj instanceof AND2&&ArrayEqualityComparator_1.ArrayEqualityComparator.INSTANCE.equals(this.opnds,obj.opnds)}hashCode(){return MurmurHash_1.MurmurHash.hashCode(this.opnds,40363613)}eval(parser,parserCallStack){for(let opnd of this.opnds)if(!opnd.eval(parser,parserCallStack))return!1;return!0}evalPrecedence(parser,parserCallStack){let differs=!1,operands=[];for(let context of this.opnds){let evaluated=context.evalPrecedence(parser,parserCallStack);if(differs=differs||evaluated!==context,null==evaluated)return;evaluated!==SemanticContext2.NONE&&operands.push(evaluated)}if(!differs)return this;if(0===operands.length)return SemanticContext2.NONE;let result=operands[0];for(let i=1;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SetTransition=void 0;const IntervalSet_1=__webpack_require__(3951),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770),Transition_1=__webpack_require__(6633);let SetTransition=class extends Transition_1.Transition{constructor(target,set){super(target),null==set&&(set=IntervalSet_1.IntervalSet.of(Token_1.Token.INVALID_TYPE)),this.set=set}get serializationType(){return 7}get label(){return this.set}matches(symbol,minVocabSymbol,maxVocabSymbol){return this.set.contains(symbol)}toString(){return this.set.toString()}};__decorate([Decorators_1.NotNull],SetTransition.prototype,"set",void 0),__decorate([Decorators_1.Override],SetTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],SetTransition.prototype,"label",null),__decorate([Decorators_1.Override],SetTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],SetTransition.prototype,"toString",null),SetTransition=__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.Nullable)],SetTransition),exports.SetTransition=SetTransition},2243:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SimulatorState=void 0;const Decorators_1=__webpack_require__(4798),ParserRuleContext_1=__webpack_require__(3235);let SimulatorState=class{constructor(outerContext,s0,useContext,remainingOuterContext){this.outerContext=outerContext??ParserRuleContext_1.ParserRuleContext.emptyContext(),this.s0=s0,this.useContext=useContext,this.remainingOuterContext=remainingOuterContext}};SimulatorState=__decorate([__param(1,Decorators_1.NotNull)],SimulatorState),exports.SimulatorState=SimulatorState},2749:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StarBlockStartState=void 0;const ATNStateType_1=__webpack_require__(5495),BlockStartState_1=__webpack_require__(852),Decorators_1=__webpack_require__(4798);class StarBlockStartState extends BlockStartState_1.BlockStartState{get stateType(){return ATNStateType_1.ATNStateType.STAR_BLOCK_START}}__decorate([Decorators_1.Override],StarBlockStartState.prototype,"stateType",null),exports.StarBlockStartState=StarBlockStartState},7123:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StarLoopEntryState=void 0;const ATNStateType_1=__webpack_require__(5495),BitSet_1=__webpack_require__(6625),DecisionState_1=__webpack_require__(2992),Decorators_1=__webpack_require__(4798);class StarLoopEntryState extends DecisionState_1.DecisionState{constructor(){super(...arguments),this.precedenceRuleDecision=!1,this.precedenceLoopbackStates=new BitSet_1.BitSet}get stateType(){return ATNStateType_1.ATNStateType.STAR_LOOP_ENTRY}}__decorate([Decorators_1.Override],StarLoopEntryState.prototype,"stateType",null),exports.StarLoopEntryState=StarLoopEntryState},6583:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StarLoopbackState=void 0;const ATNState_1=__webpack_require__(656),ATNStateType_1=__webpack_require__(5495),Decorators_1=__webpack_require__(4798);class StarLoopbackState extends ATNState_1.ATNState{get loopEntryState(){return this.transition(0).target}get stateType(){return ATNStateType_1.ATNStateType.STAR_LOOP_BACK}}__decorate([Decorators_1.Override],StarLoopbackState.prototype,"stateType",null),exports.StarLoopbackState=StarLoopbackState},5153:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokensStartState=void 0;const ATNStateType_1=__webpack_require__(5495),DecisionState_1=__webpack_require__(2992),Decorators_1=__webpack_require__(4798);class TokensStartState extends DecisionState_1.DecisionState{get stateType(){return ATNStateType_1.ATNStateType.TOKEN_START}}__decorate([Decorators_1.Override],TokensStartState.prototype,"stateType",null),exports.TokensStartState=TokensStartState},6633:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Transition=void 0;const Decorators_1=__webpack_require__(4798);let Transition=class{constructor(target){if(null==target)throw new Error("target cannot be null.");this.target=target}get isEpsilon(){return!1}get label(){}};Transition.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],__decorate([Decorators_1.NotNull],Transition.prototype,"target",void 0),Transition=__decorate([__param(0,Decorators_1.NotNull)],Transition),exports.Transition=Transition},7902:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.WildcardTransition=void 0;const Decorators_1=__webpack_require__(4798),Transition_1=__webpack_require__(6633);let WildcardTransition=class extends Transition_1.Transition{constructor(target){super(target)}get serializationType(){return 9}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=minVocabSymbol&&symbol<=maxVocabSymbol}toString(){return"."}};__decorate([Decorators_1.Override],WildcardTransition.prototype,"serializationType",null),__decorate([Decorators_1.Override],WildcardTransition.prototype,"matches",null),__decorate([Decorators_1.Override,Decorators_1.NotNull],WildcardTransition.prototype,"toString",null),WildcardTransition=__decorate([__param(0,Decorators_1.NotNull)],WildcardTransition),exports.WildcardTransition=WildcardTransition},5080:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AcceptStateInfo=void 0,exports.AcceptStateInfo=class AcceptStateInfo{constructor(prediction,lexerActionExecutor){this._prediction=prediction,this._lexerActionExecutor=lexerActionExecutor}get prediction(){return this._prediction}get lexerActionExecutor(){return this._lexerActionExecutor}}},7855:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DFA=void 0;const Array2DHashSet_1=__webpack_require__(9792),ATNConfigSet_1=__webpack_require__(5178),DFASerializer_1=__webpack_require__(2249),DFAState_1=__webpack_require__(5058),LexerDFASerializer_1=__webpack_require__(1668),Decorators_1=__webpack_require__(4798),ObjectEqualityComparator_1=__webpack_require__(1760),StarLoopEntryState_1=__webpack_require__(7123),VocabularyImpl_1=__webpack_require__(4221);let DFA=class{constructor(atnStartState,decision=0){if(this.states=new Array2DHashSet_1.Array2DHashSet(ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE),this.nextStateNumber=0,!atnStartState.atn)throw new Error("The ATNState must be associated with an ATN");this.atnStartState=atnStartState,this.atn=atnStartState.atn,this.decision=decision;let isPrecedenceDfa=!1;atnStartState instanceof StarLoopEntryState_1.StarLoopEntryState&&atnStartState.precedenceRuleDecision&&(isPrecedenceDfa=!0,this.s0=new DFAState_1.DFAState(new ATNConfigSet_1.ATNConfigSet),this.s0full=new DFAState_1.DFAState(new ATNConfigSet_1.ATNConfigSet)),this.precedenceDfa=isPrecedenceDfa}get isPrecedenceDfa(){return this.precedenceDfa}getPrecedenceStartState(precedence,fullContext){if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");return fullContext?this.s0full.getTarget(precedence):this.s0.getTarget(precedence)}setPrecedenceStartState(precedence,fullContext,startState){if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");precedence<0||(fullContext?this.s0full.setTarget(precedence,startState):this.s0.setTarget(precedence,startState))}get isEmpty(){return this.isPrecedenceDfa?0===this.s0.getEdgeMap().size&&0===this.s0full.getEdgeMap().size:null==this.s0&&null==this.s0full}get isContextSensitive(){return this.isPrecedenceDfa?this.s0full.getEdgeMap().size>0:null!=this.s0full}addState(state){return state.stateNumber=this.nextStateNumber++,this.states.getOrAdd(state)}toString(vocabulary,ruleNames){if(vocabulary||(vocabulary=VocabularyImpl_1.VocabularyImpl.EMPTY_VOCABULARY),!this.s0)return"";let serializer;return serializer=ruleNames?new DFASerializer_1.DFASerializer(this,vocabulary,ruleNames,this.atnStartState.atn):new DFASerializer_1.DFASerializer(this,vocabulary),serializer.toString()}toLexerString(){return this.s0?new LexerDFASerializer_1.LexerDFASerializer(this).toString():""}};__decorate([Decorators_1.NotNull],DFA.prototype,"states",void 0),__decorate([Decorators_1.NotNull],DFA.prototype,"atnStartState",void 0),__decorate([Decorators_1.NotNull],DFA.prototype,"atn",void 0),DFA=__decorate([__param(0,Decorators_1.NotNull)],DFA),exports.DFA=DFA},2249:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DFASerializer=void 0;const ATNSimulator_1=__webpack_require__(573),Decorators_1=__webpack_require__(4798),PredictionContext_1=__webpack_require__(2321),Recognizer_1=__webpack_require__(5705),VocabularyImpl_1=__webpack_require__(4221);class DFASerializer{constructor(dfa,vocabulary,ruleNames,atn){vocabulary instanceof Recognizer_1.Recognizer?(ruleNames=vocabulary.ruleNames,atn=vocabulary.atn,vocabulary=vocabulary.vocabulary):vocabulary||(vocabulary=VocabularyImpl_1.VocabularyImpl.EMPTY_VOCABULARY),this.dfa=dfa,this.vocabulary=vocabulary,this.ruleNames=ruleNames,this.atn=atn}toString(){if(!this.dfa.s0)return"";let buf="";if(this.dfa.states){let states=new Array(...this.dfa.states.toArray());states.sort((o1,o2)=>o1.stateNumber-o2.stateNumber);for(let s of states){let edges=s.getEdgeMap(),edgeKeys=[...edges.keys()].sort((a,b)=>a-b),contextEdges=s.getContextEdgeMap(),contextEdgeKeys=[...contextEdges.keys()].sort((a,b)=>a-b);for(let entry of edgeKeys){let value=edges.get(entry);if((null==value||value===ATNSimulator_1.ATNSimulator.ERROR)&&!s.isContextSymbol(entry))continue;let contextSymbol=!1;buf+=this.getStateString(s)+"-"+this.getEdgeLabel(entry)+"->",s.isContextSymbol(entry)&&(buf+="!",contextSymbol=!0),value&&value.stateNumber!==ATNSimulator_1.ATNSimulator.ERROR.stateNumber?buf+=this.getStateString(value)+"\n":contextSymbol&&(buf+="ctx\n")}if(s.isContextSensitive)for(let entry of contextEdgeKeys)buf+=this.getStateString(s)+"-"+this.getContextLabel(entry)+"->"+this.getStateString(contextEdges.get(entry))+"\n"}}return 0===buf.length?"":buf}getContextLabel(i){if(i===PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY)return"ctx:EMPTY_FULL";if(i===PredictionContext_1.PredictionContext.EMPTY_LOCAL_STATE_KEY)return"ctx:EMPTY_LOCAL";if(this.atn&&i>0&&i<=this.atn.states.length){let ruleIndex=this.atn.states[i].ruleIndex;if(this.ruleNames&&ruleIndex>=0&&ruleIndex"+s.predicates:":s"+n+"=>"+s.prediction),s.isContextSensitive){stateStr+="*";for(let config of s.configs)if(config.reachesIntoOuterContext){stateStr+="*";break}}return stateStr}}__decorate([Decorators_1.NotNull],DFASerializer.prototype,"dfa",void 0),__decorate([Decorators_1.NotNull],DFASerializer.prototype,"vocabulary",void 0),__decorate([Decorators_1.Override],DFASerializer.prototype,"toString",null),exports.DFASerializer=DFASerializer},5058:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DFAState=void 0;const ATN_1=__webpack_require__(4495),BitSet_1=__webpack_require__(6625),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),PredictionContext_1=__webpack_require__(2321),assert=__webpack_require__(5936);class DFAState{constructor(configs){this.stateNumber=-1,this.configs=configs,this.edges=new Map,this.contextEdges=new Map}get isContextSensitive(){return!!this.contextSymbols}isContextSymbol(symbol){return!!this.isContextSensitive&&this.contextSymbols.get(symbol)}setContextSymbol(symbol){assert(this.isContextSensitive),this.contextSymbols.set(symbol)}setContextSensitive(atn){assert(!this.configs.isOutermostConfigSet),!this.isContextSensitive&&(this.contextSymbols||(this.contextSymbols=new BitSet_1.BitSet))}get acceptStateInfo(){return this._acceptStateInfo}set acceptStateInfo(acceptStateInfo){this._acceptStateInfo=acceptStateInfo}get isAcceptState(){return!!this._acceptStateInfo}get prediction(){return this._acceptStateInfo?this._acceptStateInfo.prediction:ATN_1.ATN.INVALID_ALT_NUMBER}get lexerActionExecutor(){if(this._acceptStateInfo)return this._acceptStateInfo.lexerActionExecutor}getTarget(symbol){return this.edges.get(symbol)}setTarget(symbol,target){this.edges.set(symbol,target)}getEdgeMap(){return this.edges}getContextTarget(invokingState){return invokingState===PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY&&(invokingState=-1),this.contextEdges.get(invokingState)}setContextTarget(invokingState,target){if(!this.isContextSensitive)throw new Error("The state is not context sensitive.");invokingState===PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY&&(invokingState=-1),this.contextEdges.set(invokingState,target)}getContextEdgeMap(){let map2=new Map(this.contextEdges),existing=map2.get(-1);if(void 0!==existing){if(1===map2.size){let result=new Map;return result.set(PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY,existing),result}map2.delete(-1),map2.set(PredictionContext_1.PredictionContext.EMPTY_FULL_STATE_KEY,existing)}return map2}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize(7);return hash=MurmurHash_1.MurmurHash.update(hash,this.configs.hashCode()),hash=MurmurHash_1.MurmurHash.finish(hash,1),hash}equals(o){return this===o||o instanceof DFAState&&this.configs.equals(o.configs)}toString(){let buf="";return buf+=this.stateNumber+":"+this.configs,this.isAcceptState&&(buf+="=>",buf+=this.predicates?this.predicates:this.prediction),buf.toString()}}__decorate([Decorators_1.NotNull],DFAState.prototype,"configs",void 0),__decorate([Decorators_1.NotNull],DFAState.prototype,"edges",void 0),__decorate([Decorators_1.NotNull],DFAState.prototype,"contextEdges",void 0),__decorate([Decorators_1.Override],DFAState.prototype,"hashCode",null),__decorate([Decorators_1.Override],DFAState.prototype,"equals",null),__decorate([Decorators_1.Override],DFAState.prototype,"toString",null),exports.DFAState=DFAState,function(DFAState2){let PredPrediction=class{constructor(pred,alt){this.alt=alt,this.pred=pred}toString(){return"("+this.pred+", "+this.alt+")"}};__decorate([Decorators_1.NotNull],PredPrediction.prototype,"pred",void 0),__decorate([Decorators_1.Override],PredPrediction.prototype,"toString",null),PredPrediction=__decorate([__param(0,Decorators_1.NotNull)],PredPrediction),DFAState2.PredPrediction=PredPrediction}(DFAState=exports.DFAState||(exports.DFAState={}))},1668:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexerDFASerializer=void 0;const DFASerializer_1=__webpack_require__(2249),Decorators_1=__webpack_require__(4798),VocabularyImpl_1=__webpack_require__(4221);let LexerDFASerializer=class extends DFASerializer_1.DFASerializer{constructor(dfa){super(dfa,VocabularyImpl_1.VocabularyImpl.EMPTY_VOCABULARY)}getEdgeLabel(i){return"'"+String.fromCodePoint(i)+"'"}};__decorate([Decorators_1.Override,Decorators_1.NotNull],LexerDFASerializer.prototype,"getEdgeLabel",null),LexerDFASerializer=__decorate([__param(0,Decorators_1.NotNull)],LexerDFASerializer),exports.LexerDFASerializer=LexerDFASerializer},8430:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k),Object.defineProperty(o,k2,{enumerable:!0,get:function(){return m[k]}})}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=this&&this.__exportStar||function(m,exports2){for(var p in m)"default"!==p&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(__webpack_require__(7443),exports),__exportStar(__webpack_require__(3241),exports),__exportStar(__webpack_require__(7469),exports),__exportStar(__webpack_require__(5811),exports),__exportStar(__webpack_require__(254),exports),__exportStar(__webpack_require__(6110),exports),__exportStar(__webpack_require__(9228),exports),__exportStar(__webpack_require__(8378),exports),__exportStar(__webpack_require__(437),exports),__exportStar(__webpack_require__(970),exports),__exportStar(__webpack_require__(4445),exports),__exportStar(__webpack_require__(5615),exports),__exportStar(__webpack_require__(6972),exports),__exportStar(__webpack_require__(4053),exports),__exportStar(__webpack_require__(5202),exports),__exportStar(__webpack_require__(230),exports),__exportStar(__webpack_require__(4482),exports),__exportStar(__webpack_require__(9601),exports),__exportStar(__webpack_require__(4145),exports),__exportStar(__webpack_require__(9627),exports),__exportStar(__webpack_require__(1188),exports),__exportStar(__webpack_require__(4049),exports),__exportStar(__webpack_require__(4440),exports),__exportStar(__webpack_require__(9353),exports),__exportStar(__webpack_require__(1200),exports),__exportStar(__webpack_require__(5278),exports),__exportStar(__webpack_require__(7070),exports),__exportStar(__webpack_require__(1984),exports),__exportStar(__webpack_require__(3235),exports),__exportStar(__webpack_require__(4986),exports),__exportStar(__webpack_require__(6305),exports),__exportStar(__webpack_require__(6294),exports),__exportStar(__webpack_require__(5705),exports),__exportStar(__webpack_require__(325),exports),__exportStar(__webpack_require__(9942),exports),__exportStar(__webpack_require__(6424),exports),__exportStar(__webpack_require__(3656),exports),__exportStar(__webpack_require__(8770),exports),__exportStar(__webpack_require__(5253),exports),__exportStar(__webpack_require__(3062),exports),__exportStar(__webpack_require__(3357),exports),__exportStar(__webpack_require__(9904),exports),__exportStar(__webpack_require__(3935),exports),__exportStar(__webpack_require__(4221),exports),__exportStar(__webpack_require__(3697),exports)},6746:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Array2DHashMap=void 0;const Array2DHashSet_1=__webpack_require__(9792);class MapKeyEqualityComparator{constructor(keyComparator){this.keyComparator=keyComparator}hashCode(obj){return this.keyComparator.hashCode(obj.key)}equals(a,b){return this.keyComparator.equals(a.key,b.key)}}class Array2DHashMap{constructor(keyComparer){this.backingStore=new Array2DHashSet_1.Array2DHashSet(keyComparer instanceof Array2DHashMap?keyComparer.backingStore:new MapKeyEqualityComparator(keyComparer))}clear(){this.backingStore.clear()}containsKey(key){return this.backingStore.contains({key})}get(key){let bucket=this.backingStore.get({key});if(bucket)return bucket.value}get isEmpty(){return this.backingStore.isEmpty}put(key,value){let result,element=this.backingStore.get({key,value});return element?(result=element.value,element.value=value):this.backingStore.add({key,value}),result}putIfAbsent(key,value){let result,element=this.backingStore.get({key,value});return element?result=element.value:this.backingStore.add({key,value}),result}get size(){return this.backingStore.size}hashCode(){return this.backingStore.hashCode()}equals(o){return o instanceof Array2DHashMap&&this.backingStore.equals(o.backingStore)}}exports.Array2DHashMap=Array2DHashMap},9792:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Array2DHashSet=void 0;const assert=__webpack_require__(5936),DefaultEqualityComparator_1=__webpack_require__(502),Decorators_1=__webpack_require__(4798),MurmurHash_1=__webpack_require__(2296);class Array2DHashSet{constructor(comparatorOrSet,initialCapacity=16){if(this.n=0,this.threshold=Math.floor(12),comparatorOrSet instanceof Array2DHashSet){this.comparator=comparatorOrSet.comparator,this.buckets=comparatorOrSet.buckets.slice(0);for(let i=0;ithis.threshold&&this.expand(),this.getOrAddImpl(o)}getOrAddImpl(o){let b=this.getBucket(o),bucket=this.buckets[b];if(!bucket)return bucket=[o],this.buckets[b]=bucket,this.n++,o;for(let existing of bucket)if(this.comparator.equals(existing,o))return existing;return bucket.push(o),this.n++,o}get(o){if(null==o)return o;let b=this.getBucket(o),bucket=this.buckets[b];if(bucket)for(let e of bucket)if(this.comparator.equals(e,o))return e}getBucket(o){return this.comparator.hashCode(o)&this.buckets.length-1}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();for(let bucket of this.buckets)if(null!=bucket)for(let o of bucket){if(null==o)break;hash=MurmurHash_1.MurmurHash.update(hash,this.comparator.hashCode(o))}return hash=MurmurHash_1.MurmurHash.finish(hash,this.size),hash}equals(o){return o===this||o instanceof Array2DHashSet&&o.size===this.size&&this.containsAll(o)}expand(){let old=this.buckets,newCapacity=2*this.buckets.length,newTable=this.createBuckets(newCapacity);this.buckets=newTable,this.threshold=Math.floor(.75*newCapacity);let oldSize=this.size;for(let bucket of old)if(bucket)for(let o of bucket){let b=this.getBucket(o),newBucket=this.buckets[b];newBucket||(newBucket=[],this.buckets[b]=newBucket),newBucket.push(o)}assert(this.n===oldSize)}add(t){return this.getOrAdd(t)===t}get size(){return this.n}get isEmpty(){return 0===this.n}contains(o){return this.containsFast(this.asElementType(o))}containsFast(obj){return null!=obj&&null!=this.get(obj)}*[Symbol.iterator](){yield*this.toArray()}toArray(){const a=new Array(this.size);let i=0;for(let bucket of this.buckets)if(null!=bucket)for(let o of bucket){if(null==o)break;a[i++]=o}return a}containsAll(collection){if(collection instanceof Array2DHashSet){let s=collection;for(let bucket of s.buckets)if(null!=bucket)for(let o of bucket){if(null==o)break;if(!this.containsFast(this.asElementType(o)))return!1}}else for(let o of collection)if(!this.containsFast(this.asElementType(o)))return!1;return!0}addAll(c){let changed=!1;for(let o of c)this.getOrAdd(o)!==o&&(changed=!0);return changed}clear(){this.buckets=this.createBuckets(16),this.n=0,this.threshold=Math.floor(12)}toString(){if(0===this.size)return"{}";let buf="{",first2=!0;for(let bucket of this.buckets)if(null!=bucket)for(let o of bucket){if(null==o)break;first2?first2=!1:buf+=", ",buf+=o.toString()}return buf+="}",buf}toTableString(){let buf="";for(let bucket of this.buckets){if(null==bucket){buf+="null\n";continue}buf+="[";let first2=!0;for(let o of bucket)first2?first2=!1:buf+=" ",buf+=null==o?"_":o.toString();buf+="]\n"}return buf}asElementType(o){return o}createBuckets(capacity){return new Array(capacity)}}__decorate([Decorators_1.NotNull],Array2DHashSet.prototype,"comparator",void 0),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"hashCode",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"equals",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"add",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"size",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"isEmpty",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"contains",null),__decorate([__param(0,Decorators_1.Nullable)],Array2DHashSet.prototype,"containsFast",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,Symbol.iterator,null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"toArray",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"containsAll",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"addAll",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"clear",null),__decorate([Decorators_1.Override],Array2DHashSet.prototype,"toString",null),__decorate([Decorators_1.SuppressWarnings("unchecked")],Array2DHashSet.prototype,"asElementType",null),__decorate([Decorators_1.SuppressWarnings("unchecked")],Array2DHashSet.prototype,"createBuckets",null),exports.Array2DHashSet=Array2DHashSet},6481:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArrayEqualityComparator=void 0;const Decorators_1=__webpack_require__(4798),MurmurHash_1=__webpack_require__(2296),ObjectEqualityComparator_1=__webpack_require__(1760);class ArrayEqualityComparator{hashCode(obj){return null==obj?0:MurmurHash_1.MurmurHash.hashCode(obj,0)}equals(a,b){if(null==a)return null==b;if(null==b||a.length!==b.length)return!1;for(let i=0;i{"use strict";var Arrays2;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Arrays=void 0,(Arrays2=exports.Arrays||(exports.Arrays={})).binarySearch=function binarySearch(array,key,fromIndex,toIndex){return function binarySearch0(array,fromIndex,toIndex,key){let low=fromIndex,high=toIndex-1;for(;low<=high;){let mid=low+high>>>1,midVal=array[mid];if(midValkey))return mid;high=mid-1}}return-(low+1)}(array,void 0!==fromIndex?fromIndex:0,void 0!==toIndex?toIndex:array.length,key)},Arrays2.toString=function toString(array){let result="[",first2=!0;for(let element of array)first2?first2=!1:result+=", ",result+=null===element?"null":void 0===element?"undefined":element;return result+="]",result}},6625:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BitSet=void 0;const util=__webpack_require__(179),MurmurHash_1=__webpack_require__(2296),EMPTY_DATA=new Uint16Array(0);function getIndex(bitNumber){return bitNumber>>>4}function unIndex(n){return 16*n}function findLSBSet(word){let bit=1;for(let i=0;i<16;i++){if(word&bit)return i;bit=bit<<1>>>0}throw new RangeError("No specified bit found")}function findMSBSet(word){let bit=32768;for(let i=15;i>=0;i--){if(word&bit)return i;bit>>>=1}throw new RangeError("No specified bit found")}function bitsFor(fromBit,toBit){return(fromBit&=15)==(toBit&=15)?1<>>0:65535>>>15-toBit^65535>>>16-fromBit}const POP_CNT=new Uint8Array(65536);for(let i=0;i<16;i++){const stride=1<>>0;let index=0;for(;indexlength)return-1;let ignore=65535^bitsFor(fromIndex,15);if(65535==(data[word]|ignore)){for(word++,ignore=0;wordlength)return-1;let mask=bitsFor(fromIndex,15);if(!(data[word]&mask)){for(word++,mask=65535;word=length)return-1}return unIndex(word)+findLSBSet(data[word]&mask)}or(set){const data=this.data,other=set.data,minWords=Math.min(data.length,other.length),words=Math.max(data.length,other.length),dest=data.length===words?data:new Uint16Array(words);let lastWord=-1;for(let i=0;iother.length?data:other;for(let i=minWords;i=length&&(word=length-1);let ignore=65535^bitsFor(0,fromIndex);if(65535==(data[word]|ignore)){for(ignore=0,word--;word>=0&&65535===data[word];word--);if(word<0)return-1}return unIndex(word)+findMSBSet(65535^(data[word]|ignore))}previousSetBit(fromIndex){if(fromIndex<0)throw new RangeError("fromIndex cannot be negative");const data=this.data,length=data.length;let word=getIndex(fromIndex);word>=length&&(word=length-1);let mask=bitsFor(0,fromIndex);if(!(data[word]&mask)){for(word--,mask=65535;word>=0&&0===data[word];word--);if(word<0)return-1}return unIndex(word)+findMSBSet(data[word]&mask)}set(fromIndex,toIndex,value){if(void 0===toIndex?(toIndex=fromIndex,value=!0):"boolean"==typeof toIndex&&(value=toIndex,toIndex=fromIndex),void 0===value&&(value=!0),fromIndex<0||fromIndex>toIndex)throw new RangeError;let word=getIndex(fromIndex),lastWord=getIndex(toIndex);if(value&&lastWord>=this.data.length){let temp=new Uint16Array(lastWord+1);this.data.forEach((value2,index)=>temp[index]=value2),this.data=temp}else if(!value){if(word>=this.data.length)return;lastWord>=this.data.length&&(lastWord=this.data.length-1,toIndex=16*this.data.length-1)}if(word===lastWord)this._setBits(word,value,bitsFor(fromIndex,toIndex));else{for(this._setBits(word++,value,bitsFor(fromIndex,15));word=0;i=this.nextSetBit(i+1))first2?first2=!1:result+=", ",result+=i;return result+="}",result}xor(set){const data=this.data,other=set.data,minWords=Math.min(data.length,other.length),words=Math.max(data.length,other.length),dest=data.length===words?data:new Uint16Array(words);let lastWord=-1;for(let i=0;iother.length?data:other;for(let i=minWords;i{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isSupplementaryCodePoint=exports.isLowSurrogate=exports.isHighSurrogate=void 0,exports.isHighSurrogate=function isHighSurrogate(ch){return ch>=55296&&ch<=56319},exports.isLowSurrogate=function isLowSurrogate(ch){return ch>=56320&&ch<=57343},exports.isSupplementaryCodePoint=function isSupplementaryCodePoint(ch){return ch>=65536}},502:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultEqualityComparator=void 0;const Decorators_1=__webpack_require__(4798),MurmurHash_1=__webpack_require__(2296),ObjectEqualityComparator_1=__webpack_require__(1760);class DefaultEqualityComparator{hashCode(obj){return null==obj?0:"string"==typeof obj||"number"==typeof obj?MurmurHash_1.MurmurHash.hashCode([obj]):ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE.hashCode(obj)}equals(a,b){return null==a?null==b:"string"==typeof a||"number"==typeof a?a===b:ObjectEqualityComparator_1.ObjectEqualityComparator.INSTANCE.equals(a,b)}}DefaultEqualityComparator.INSTANCE=new DefaultEqualityComparator,__decorate([Decorators_1.Override],DefaultEqualityComparator.prototype,"hashCode",null),__decorate([Decorators_1.Override],DefaultEqualityComparator.prototype,"equals",null),exports.DefaultEqualityComparator=DefaultEqualityComparator},4862:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.IntegerList=void 0;const Arrays_1=__webpack_require__(4630),Decorators_1=__webpack_require__(4798),EMPTY_DATA=new Int32Array(0);class IntegerList{constructor(arg){if(arg)if(arg instanceof IntegerList)this._data=arg._data.slice(0),this._size=arg._size;else if("number"==typeof arg)0===arg?(this._data=EMPTY_DATA,this._size=0):(this._data=new Int32Array(arg),this._size=0);else{this._data=EMPTY_DATA,this._size=0;for(let value of arg)this.add(value)}else this._data=EMPTY_DATA,this._size=0}add(value){this._data.length===this._size&&this.ensureCapacity(this._size+1),this._data[this._size]=value,this._size++}addAll(list){if(Array.isArray(list))this.ensureCapacity(this._size+list.length),this._data.subarray(this._size,this._size+list.length).set(list),this._size+=list.length;else if(list instanceof IntegerList)this.ensureCapacity(this._size+list._size),this._data.subarray(this._size,this._size+list.size).set(list._data),this._size+=list._size;else{this.ensureCapacity(this._size+list.size);let current=0;for(let xi of list)this._data[this._size+current]=xi,current++;this._size+=list.size}}get(index){if(index<0||index>=this._size)throw RangeError();return this._data[index]}contains(value){for(let i=0;i=this._size)throw RangeError();let previous=this._data[index];return this._data[index]=value,previous}removeAt(index){let value=this.get(index);return this._data.copyWithin(index,index+1,this._size),this._data[this._size-1]=0,this._size--,value}removeRange(fromIndex,toIndex){if(fromIndex<0||toIndex<0||fromIndex>this._size||toIndex>this._size||fromIndex>toIndex)throw RangeError();this._data.copyWithin(toIndex,fromIndex,this._size),this._data.fill(0,this._size-(toIndex-fromIndex),this._size),this._size-=toIndex-fromIndex}get isEmpty(){return 0===this._size}get size(){return this._size}trimToSize(){this._data.length!==this._size&&(this._data=this._data.slice(0,this._size))}clear(){this._data.fill(0,0,this._size),this._size=0}toArray(){return 0===this._size?[]:Array.from(this._data.subarray(0,this._size))}sort(){this._data.subarray(0,this._size).sort()}equals(o){if(o===this)return!0;if(!(o instanceof IntegerList)||this._size!==o._size)return!1;for(let i=0;ithis._size||toIndex>this._size)throw new RangeError;if(fromIndex>toIndex)throw new RangeError;return Arrays_1.Arrays.binarySearch(this._data,key,fromIndex,toIndex)}ensureCapacity(capacity){if(capacity<0||capacity>2147483639)throw new RangeError;let newLength;for(newLength=0===this._data.length?4:this._data.length;newLength2147483639)&&(newLength=2147483639);let tmp=new Int32Array(newLength);tmp.set(this._data),this._data=tmp}toCharArray(){let resultArray=new Uint16Array(this._size),resultIdx=0,calculatedPreciseResultSize=!1;for(let i=0;i=0&&codePoint<65536){resultArray[resultIdx]=codePoint,resultIdx++;continue}if(!calculatedPreciseResultSize){let newResultArray=new Uint16Array(this.charArraySize());newResultArray.set(resultArray,0),resultArray=newResultArray,calculatedPreciseResultSize=!0}let pair=String.fromCodePoint(codePoint);resultArray[resultIdx]=pair.charCodeAt(0),resultArray[resultIdx+1]=pair.charCodeAt(1),resultIdx+=2}return resultArray}charArraySize(){let result=0;for(let i=0;i=65536?2:1;return result}}__decorate([Decorators_1.NotNull],IntegerList.prototype,"_data",void 0),__decorate([Decorators_1.Override],IntegerList.prototype,"equals",null),__decorate([Decorators_1.Override],IntegerList.prototype,"hashCode",null),__decorate([Decorators_1.Override],IntegerList.prototype,"toString",null),exports.IntegerList=IntegerList},1251:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.IntegerStack=void 0;const IntegerList_1=__webpack_require__(4862);exports.IntegerStack=class IntegerStack extends IntegerList_1.IntegerList{constructor(arg){super(arg)}push(value){this.add(value)}pop(){return this.removeAt(this.size-1)}peek(){return this.get(this.size-1)}}},8691:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Interval=void 0;const Decorators_1=__webpack_require__(4798);class Interval{constructor(a,b){this.a=a,this.b=b}static get INVALID(){return Interval._INVALID}static of(a,b){return a!==b||a<0||a>1e3?new Interval(a,b):(null==Interval.cache[a]&&(Interval.cache[a]=new Interval(a,a)),Interval.cache[a])}get length(){return this.b=other.a}startsAfter(other){return this.a>other.a}startsAfterDisjoint(other){return this.a>other.b}startsAfterNonDisjoint(other){return this.a>other.a&&this.a<=other.b}disjoint(other){return this.startsBeforeDisjoint(other)||this.startsAfterDisjoint(other)}adjacent(other){return this.a===other.b+1||this.b===other.a-1}properlyContains(other){return other.a>=this.a&&other.b<=this.b}union(other){return Interval.of(Math.min(this.a,other.a),Math.max(this.b,other.b))}intersection(other){return Interval.of(Math.max(this.a,other.a),Math.min(this.b,other.b))}differenceNotProperlyContained(other){let diff;return other.startsBeforeNonDisjoint(this)?diff=Interval.of(Math.max(this.a,other.b+1),this.b):other.startsAfterNonDisjoint(this)&&(diff=Interval.of(this.a,other.a-1)),diff}toString(){return this.a+".."+this.b}}Interval._INVALID=new Interval(-1,-2),Interval.cache=new Array(1001),__decorate([Decorators_1.Override],Interval.prototype,"equals",null),__decorate([Decorators_1.Override],Interval.prototype,"hashCode",null),__decorate([Decorators_1.Override],Interval.prototype,"toString",null),exports.Interval=Interval},3951:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.IntervalSet=void 0;const ArrayEqualityComparator_1=__webpack_require__(6481),IntegerList_1=__webpack_require__(4862),Interval_1=__webpack_require__(8691),Lexer_1=__webpack_require__(1188),MurmurHash_1=__webpack_require__(2296),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);class IntervalSet{constructor(intervals){this.readonly=!1,this._intervals=null!=intervals?intervals.slice(0):[]}static get COMPLETE_CHAR_SET(){return void 0===IntervalSet._COMPLETE_CHAR_SET&&(IntervalSet._COMPLETE_CHAR_SET=IntervalSet.of(Lexer_1.Lexer.MIN_CHAR_VALUE,Lexer_1.Lexer.MAX_CHAR_VALUE),IntervalSet._COMPLETE_CHAR_SET.setReadonly(!0)),IntervalSet._COMPLETE_CHAR_SET}static get EMPTY_SET(){return null==IntervalSet._EMPTY_SET&&(IntervalSet._EMPTY_SET=new IntervalSet,IntervalSet._EMPTY_SET.setReadonly(!0)),IntervalSet._EMPTY_SET}static of(a,b=a){let s=new IntervalSet;return s.add(a,b),s}clear(){if(this.readonly)throw new Error("can't alter readonly IntervalSet");this._intervals.length=0}add(a,b=a){this.addRange(Interval_1.Interval.of(a,b))}addRange(addition){if(this.readonly)throw new Error("can't alter readonly IntervalSet");if(!(addition.bresultInterval.b)resultI++;else if(rightInterval.a>resultInterval.a&&(beforeCurrent=new Interval_1.Interval(resultInterval.a,rightInterval.a-1)),rightInterval.b>1,I=this._intervals[m];if(I.bel))return!0;r=m-1}}return!1}get isNil(){return null==this._intervals||0===this._intervals.length}get maxElement(){if(this.isNil)throw new RangeError("set is empty");return this._intervals[this._intervals.length-1].b}get minElement(){if(this.isNil)throw new RangeError("set is empty");return this._intervals[0].a}get intervals(){return this._intervals}hashCode(){let hash=MurmurHash_1.MurmurHash.initialize();for(let I of this._intervals)hash=MurmurHash_1.MurmurHash.update(hash,I.a),hash=MurmurHash_1.MurmurHash.update(hash,I.b);return hash=MurmurHash_1.MurmurHash.finish(hash,2*this._intervals.length),hash}equals(o){return null!=o&&o instanceof IntervalSet&&ArrayEqualityComparator_1.ArrayEqualityComparator.INSTANCE.equals(this._intervals,o._intervals)}toString(elemAreChar=!1){let buf="";if(null==this._intervals||0===this._intervals.length)return"{}";this.size>1&&(buf+="{");let first2=!0;for(let I of this._intervals){first2?first2=!1:buf+=", ";let a=I.a,b=I.b;buf+=a===b?a===Token_1.Token.EOF?"":elemAreChar?"'"+String.fromCodePoint(a)+"'":a:elemAreChar?"'"+String.fromCodePoint(a)+"'..'"+String.fromCodePoint(b)+"'":a+".."+b}return this.size>1&&(buf+="}"),buf}toStringVocabulary(vocabulary){if(null==this._intervals||0===this._intervals.length)return"{}";let buf="";this.size>1&&(buf+="{");let first2=!0;for(let I of this._intervals){first2?first2=!1:buf+=", ";let a=I.a,b=I.b;if(a===b)buf+=this.elementName(vocabulary,a);else for(let i=a;i<=b;i++)i>a&&(buf+=", "),buf+=this.elementName(vocabulary,i)}return this.size>1&&(buf+="}"),buf}elementName(vocabulary,a){return a===Token_1.Token.EOF?"":a===Token_1.Token.EPSILON?"":vocabulary.getDisplayName(a)}get size(){let n=0,numIntervals=this._intervals.length;if(1===numIntervals){let firstInterval=this._intervals[0];return firstInterval.b-firstInterval.a+1}for(let i=0;ia&&el{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MultiMap=void 0;class MultiMap extends Map{constructor(){super()}map(key,value){let elementsForKey=super.get(key);elementsForKey||(elementsForKey=[],super.set(key,elementsForKey)),elementsForKey.push(value)}getPairs(){let pairs=[];return this.forEach((values,key)=>{values.forEach(v=>{pairs.push([key,v])})}),pairs}}exports.MultiMap=MultiMap},2296:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MurmurHash=void 0,function(MurmurHash2){function initialize(seed=0){return seed}function update(hash,value){null==value?value=0:"string"==typeof value?value=function hashString(str){let len=str.length;if(0===len)return 0;let hash=0;for(let i=0;i>>0)-hash+str.charCodeAt(i),hash|=0;return hash}(value):"object"==typeof value&&(value=value.hashCode());let k=value;return k=Math.imul(k,3432918353),k=k<<15|k>>>17,k=Math.imul(k,461845907),hash=(hash^=k)<<13|hash>>>19,4294967295&Math.imul(hash,5)+3864292196}function finish(hash,numberOfWords){return hash^=4*numberOfWords,hash^=hash>>>16,hash=Math.imul(hash,2246822507),hash^=hash>>>13,(hash=Math.imul(hash,3266489909))^hash>>>16}MurmurHash2.initialize=initialize,MurmurHash2.update=update,MurmurHash2.finish=finish,MurmurHash2.hashCode=function hashCode(data,seed=0){let hash=initialize(seed),length=0;for(let value of data)hash=update(hash,value),length++;return hash=finish(hash,length),hash}}(exports.MurmurHash||(exports.MurmurHash={}))},1760:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ObjectEqualityComparator=void 0;const Decorators_1=__webpack_require__(4798);class ObjectEqualityComparator{hashCode(obj){return null==obj?0:obj.hashCode()}equals(a,b){return null==a?null==b:a.equals(b)}}ObjectEqualityComparator.INSTANCE=new ObjectEqualityComparator,__decorate([Decorators_1.Override],ObjectEqualityComparator.prototype,"hashCode",null),__decorate([Decorators_1.Override],ObjectEqualityComparator.prototype,"equals",null),exports.ObjectEqualityComparator=ObjectEqualityComparator},5011:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseCancellationException=void 0;class ParseCancellationException extends Error{constructor(cause){super(cause.message),this.cause=cause,this.stack=cause.stack}getCause(){return this.cause}}exports.ParseCancellationException=ParseCancellationException},5662:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UUID=void 0;const MurmurHash_1=__webpack_require__(2296);class UUID{constructor(mostSigBits,moreSigBits,lessSigBits,leastSigBits){this.data=new Uint32Array(4),this.data[0]=mostSigBits,this.data[1]=moreSigBits,this.data[2]=lessSigBits,this.data[3]=leastSigBits}static fromString(data){if(!/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/.test(data))throw new Error("Incorrectly formatted UUID");let segments=data.split("-"),mostSigBits=parseInt(segments[0],16),moreSigBits=(parseInt(segments[1],16)<<16>>>0)+parseInt(segments[2],16),lessSigBits=(parseInt(segments[3],16)<<16>>>0)+parseInt(segments[4].substr(0,4),16),leastSigBits=parseInt(segments[4].substr(-8),16);return new UUID(mostSigBits,moreSigBits,lessSigBits,leastSigBits)}hashCode(){return MurmurHash_1.MurmurHash.hashCode([this.data[0],this.data[1],this.data[2],this.data[3]])}equals(obj){return obj===this||obj instanceof UUID&&this.data[0]===obj.data[0]&&this.data[1]===obj.data[1]&&this.data[2]===obj.data[2]&&this.data[3]===obj.data[3]}toString(){return("00000000"+this.data[0].toString(16)).substr(-8)+"-"+("0000"+(this.data[1]>>>16).toString(16)).substr(-4)+"-"+("0000"+this.data[1].toString(16)).substr(-4)+"-"+("0000"+(this.data[2]>>>16).toString(16)).substr(-4)+"-"+("0000"+this.data[2].toString(16)).substr(-4)+("00000000"+this.data[3].toString(16)).substr(-8)}}exports.UUID=UUID},2028:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.toCharArray=exports.toMap=exports.equals=exports.join=exports.escapeWhitespace=void 0,exports.escapeWhitespace=function escapeWhitespace(s,escapeSpaces){return escapeSpaces?s.replace(/ /,"\xb7"):s.replace(/\t/,"\\t").replace(/\n/,"\\n").replace(/\r/,"\\r")},exports.join=function join(collection,separator){let buf="",first2=!0;for(let current of collection)first2?first2=!1:buf+=separator,buf+=current;return buf},exports.equals=function equals(x,y){return x===y||void 0!==x&&void 0!==y&&x.equals(y)},exports.toMap=function toMap(keys){let m=new Map;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AbstractParseTreeVisitor=void 0;const Decorators_1=__webpack_require__(4798);class AbstractParseTreeVisitor{visit(tree){return tree.accept(this)}visitChildren(node2){let result=this.defaultResult(),n=node2.childCount;for(let i=0;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ErrorNode=void 0;const Decorators_1=__webpack_require__(4798),TerminalNode_1=__webpack_require__(9561);class ErrorNode extends TerminalNode_1.TerminalNode{constructor(token){super(token)}accept(visitor){return visitor.visitErrorNode(this)}}__decorate([Decorators_1.Override],ErrorNode.prototype,"accept",null),exports.ErrorNode=ErrorNode},2416:(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleNode=void 0,exports.RuleNode=class RuleNode{}},9561:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TerminalNode=void 0;const Interval_1=__webpack_require__(8691),Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);class TerminalNode{constructor(symbol){this._symbol=symbol}getChild(i){throw new RangeError("Terminal Node has no children.")}get symbol(){return this._symbol}get parent(){return this._parent}setParent(parent){this._parent=parent}get payload(){return this._symbol}get sourceInterval(){let tokenIndex=this._symbol.tokenIndex;return new Interval_1.Interval(tokenIndex,tokenIndex)}get childCount(){return 0}accept(visitor){return visitor.visitTerminal(this)}get text(){return this._symbol.text||""}toStringTree(parser){return this.toString()}toString(){return this._symbol.type===Token_1.Token.EOF?"":this._symbol.text||""}}__decorate([Decorators_1.Override],TerminalNode.prototype,"getChild",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"parent",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"setParent",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"payload",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"sourceInterval",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"childCount",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"accept",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"text",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"toStringTree",null),__decorate([Decorators_1.Override],TerminalNode.prototype,"toString",null),exports.TerminalNode=TerminalNode},3398:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Trees=void 0;const ATN_1=__webpack_require__(4495),CommonToken_1=__webpack_require__(970),ErrorNode_1=__webpack_require__(8272),Decorators_1=__webpack_require__(4798),Parser_1=__webpack_require__(5278),ParserRuleContext_1=__webpack_require__(3235),RuleNode_1=__webpack_require__(2416),TerminalNode_1=__webpack_require__(9561),Token_1=__webpack_require__(8770),Utils=__webpack_require__(2028);class Trees{static toStringTree(t,arg2){let ruleNames;ruleNames=arg2 instanceof Parser_1.Parser?arg2.ruleNames:arg2;let s=Utils.escapeWhitespace(this.getNodeText(t,ruleNames),!1);if(0===t.childCount)return s;let buf="";buf+="(",s=Utils.escapeWhitespace(this.getNodeText(t,ruleNames),!1),buf+=s,buf+=" ";for(let i=0;i0&&(buf+=" "),buf+=this.toStringTree(t.getChild(i),ruleNames);return buf+=")",buf}static getNodeText(t,arg2){let ruleNames;if(arg2 instanceof Parser_1.Parser)ruleNames=arg2.ruleNames;else{if(!arg2){let payload=t.payload;return"string"==typeof payload.text?payload.text:t.payload.toString()}ruleNames=arg2}if(t instanceof RuleNode_1.RuleNode){let ruleContext=t.ruleContext,ruleName=ruleNames[ruleContext.ruleIndex],altNumber=ruleContext.altNumber;return altNumber!==ATN_1.ATN.INVALID_ALT_NUMBER?ruleName+":"+altNumber:ruleName}if(t instanceof ErrorNode_1.ErrorNode)return t.toString();if(t instanceof TerminalNode_1.TerminalNode)return t.symbol.text||"";throw new TypeError("Unexpected node type")}static getChildren(t){let kids=[];for(let i=0;i=t.start.tokenIndex&&(null==stopToken||stopTokenIndex<=stopToken.tokenIndex))return t}}static stripChildrenOutOfRange(t,root,startIndex,stopIndex){if(!t)return;let count=t.childCount;for(let i=0;istopIndex)&&Trees.isAncestorOf(child,root)){let abbrev=new CommonToken_1.CommonToken(Token_1.Token.INVALID_TYPE,"...");t.children[i]=new TerminalNode_1.TerminalNode(abbrev)}}}static findNodeSuchThat(t,pred){if(pred(t))return t;let n=t.childCount;for(let i=0;i{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Chunk=void 0,exports.Chunk=class Chunk{}},9417:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseTreeMatch=void 0;const Decorators_1=__webpack_require__(4798);let ParseTreeMatch=class{constructor(tree,pattern,labels,mismatchedNode){if(!tree)throw new Error("tree cannot be null");if(!pattern)throw new Error("pattern cannot be null");if(!labels)throw new Error("labels cannot be null");this._tree=tree,this._pattern=pattern,this._labels=labels,this._mismatchedNode=mismatchedNode}get(label){let parseTrees=this._labels.get(label);if(parseTrees&&0!==parseTrees.length)return parseTrees[parseTrees.length-1]}getAll(label){return this._labels.get(label)||[]}get labels(){return this._labels}get mismatchedNode(){return this._mismatchedNode}get succeeded(){return!this._mismatchedNode}get pattern(){return this._pattern}get tree(){return this._tree}toString(){return`Match ${this.succeeded?"succeeded":"failed"}; found ${this.labels.size} labels`}};__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ParseTreeMatch.prototype,"getAll",null),__decorate([Decorators_1.NotNull],ParseTreeMatch.prototype,"labels",null),__decorate([Decorators_1.NotNull],ParseTreeMatch.prototype,"pattern",null),__decorate([Decorators_1.NotNull],ParseTreeMatch.prototype,"tree",null),__decorate([Decorators_1.Override],ParseTreeMatch.prototype,"toString",null),ParseTreeMatch=__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(2,Decorators_1.NotNull)],ParseTreeMatch),exports.ParseTreeMatch=ParseTreeMatch},7591:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseTreePattern=void 0;const Decorators_1=__webpack_require__(4798),XPath_1=__webpack_require__(7196);let ParseTreePattern=class{constructor(matcher,pattern,patternRuleIndex,patternTree){this._matcher=matcher,this._patternRuleIndex=patternRuleIndex,this._pattern=pattern,this._patternTree=patternTree}match(tree){return this._matcher.match(tree,this)}matches(tree){return this._matcher.match(tree,this).succeeded}findAll(tree,xpath){let subtrees=XPath_1.XPath.findAll(tree,xpath,this._matcher.parser),matches=[];for(let t of subtrees){let match=this.match(t);match.succeeded&&matches.push(match)}return matches}get matcher(){return this._matcher}get pattern(){return this._pattern}get patternRuleIndex(){return this._patternRuleIndex}get patternTree(){return this._patternTree}};__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"_pattern",void 0),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"_patternTree",void 0),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"_matcher",void 0),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull)],ParseTreePattern.prototype,"match",null),__decorate([__param(0,Decorators_1.NotNull)],ParseTreePattern.prototype,"matches",null),__decorate([Decorators_1.NotNull,__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull)],ParseTreePattern.prototype,"findAll",null),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"matcher",null),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"pattern",null),__decorate([Decorators_1.NotNull],ParseTreePattern.prototype,"patternTree",null),ParseTreePattern=__decorate([__param(0,Decorators_1.NotNull),__param(1,Decorators_1.NotNull),__param(3,Decorators_1.NotNull)],ParseTreePattern),exports.ParseTreePattern=ParseTreePattern},7702:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParseTreePatternMatcher=void 0;const BailErrorStrategy_1=__webpack_require__(5811),CharStreams_1=__webpack_require__(9228),CommonTokenStream_1=__webpack_require__(5615),ListTokenSource_1=__webpack_require__(9353),MultiMap_1=__webpack_require__(3783),Decorators_1=__webpack_require__(4798),ParseCancellationException_1=__webpack_require__(5011),ParserInterpreter_1=__webpack_require__(1984),ParserRuleContext_1=__webpack_require__(3235),ParseTreeMatch_1=__webpack_require__(9417),ParseTreePattern_1=__webpack_require__(7591),RecognitionException_1=__webpack_require__(6294),RuleNode_1=__webpack_require__(2416),RuleTagToken_1=__webpack_require__(8250),TagChunk_1=__webpack_require__(9944),TerminalNode_1=__webpack_require__(9561),TextChunk_1=__webpack_require__(227),Token_1=__webpack_require__(8770),TokenTagToken_1=__webpack_require__(6492);class ParseTreePatternMatcher{constructor(lexer,parser){this.start="<",this.stop=">",this.escape="\\",this.escapeRE=/\\/g,this._lexer=lexer,this._parser=parser}setDelimiters(start,stop,escapeLeft){if(!start)throw new Error("start cannot be null or empty");if(!stop)throw new Error("stop cannot be null or empty");this.start=start,this.stop=stop,this.escape=escapeLeft,this.escapeRE=new RegExp(escapeLeft.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g")}matches(tree,pattern,patternRuleIndex=0){if("string"==typeof pattern){let p=this.compile(pattern,patternRuleIndex);return this.matches(tree,p)}{let labels=new MultiMap_1.MultiMap;return!this.matchImpl(tree,pattern.patternTree,labels)}}match(tree,pattern,patternRuleIndex=0){if("string"==typeof pattern){let p=this.compile(pattern,patternRuleIndex);return this.match(tree,p)}{let labels=new MultiMap_1.MultiMap,mismatchedNode=this.matchImpl(tree,pattern.patternTree,labels);return new ParseTreeMatch_1.ParseTreeMatch(tree,pattern,labels,mismatchedNode)}}compile(pattern,patternRuleIndex){let tokenList=this.tokenize(pattern),tokenSrc=new ListTokenSource_1.ListTokenSource(tokenList),tokens=new CommonTokenStream_1.CommonTokenStream(tokenSrc);const parser=this._parser;let tree,parserInterp=new ParserInterpreter_1.ParserInterpreter(parser.grammarFileName,parser.vocabulary,parser.ruleNames,parser.getATNWithBypassAlts(),tokens);try{parserInterp.errorHandler=new BailErrorStrategy_1.BailErrorStrategy,tree=parserInterp.parse(patternRuleIndex)}catch(e){throw e instanceof ParseCancellationException_1.ParseCancellationException?e.getCause():e instanceof RecognitionException_1.RecognitionException?e:e instanceof Error?new ParseTreePatternMatcher.CannotInvokeStartRule(e):e}if(tokens.LA(1)!==Token_1.Token.EOF)throw new ParseTreePatternMatcher.StartRuleDoesNotConsumeFullPattern;return new ParseTreePattern_1.ParseTreePattern(this,pattern,patternRuleIndex,tree)}get lexer(){return this._lexer}get parser(){return this._parser}matchImpl(tree,patternTree,labels){if(!tree)throw new TypeError("tree cannot be null");if(!patternTree)throw new TypeError("patternTree cannot be null");if(tree instanceof TerminalNode_1.TerminalNode&&patternTree instanceof TerminalNode_1.TerminalNode){let mismatchedNode;if(tree.symbol.type===patternTree.symbol.type)if(patternTree.symbol instanceof TokenTagToken_1.TokenTagToken){let tokenTagToken=patternTree.symbol;labels.map(tokenTagToken.tokenName,tree);const l=tokenTagToken.label;l&&labels.map(l,tree)}else tree.text===patternTree.text||mismatchedNode||(mismatchedNode=tree);else mismatchedNode||(mismatchedNode=tree);return mismatchedNode}if(tree instanceof ParserRuleContext_1.ParserRuleContext&&patternTree instanceof ParserRuleContext_1.ParserRuleContext){let mismatchedNode,ruleTagToken=this.getRuleTagToken(patternTree);if(ruleTagToken){if(tree.ruleContext.ruleIndex===patternTree.ruleContext.ruleIndex){labels.map(ruleTagToken.ruleName,tree);const l=ruleTagToken.label;l&&labels.map(l,tree)}else mismatchedNode||(mismatchedNode=tree);return mismatchedNode}if(tree.childCount!==patternTree.childCount)return mismatchedNode||(mismatchedNode=tree),mismatchedNode;let n=tree.childCount;for(let i=0;istops.length)throw new Error("unterminated tag in pattern: "+pattern);if(starts.length=stops[i])throw new Error("tag delimiters out of order in pattern: "+pattern);if(0===ntags){let text=pattern.substring(0,n);chunks.push(new TextChunk_1.TextChunk(text))}if(ntags>0&&starts[0]>0){let text=pattern.substring(0,starts[0]);chunks.push(new TextChunk_1.TextChunk(text))}for(let i=0;i=0&&(label=tag.substring(0,colon),ruleOrToken=tag.substring(colon+1,tag.length)),chunks.push(new TagChunk_1.TagChunk(ruleOrToken,label)),i+10){let afterLastTag=stops[ntags-1]+this.stop.length;if(afterLastTag=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleTagToken=void 0;const Decorators_1=__webpack_require__(4798),Token_1=__webpack_require__(8770);let RuleTagToken=class{constructor(ruleName,bypassTokenType,label){if(null==ruleName||0===ruleName.length)throw new Error("ruleName cannot be null or empty.");this._ruleName=ruleName,this.bypassTokenType=bypassTokenType,this._label=label}get ruleName(){return this._ruleName}get label(){return this._label}get channel(){return Token_1.Token.DEFAULT_CHANNEL}get text(){return null!=this._label?"<"+this._label+":"+this._ruleName+">":"<"+this._ruleName+">"}get type(){return this.bypassTokenType}get line(){return 0}get charPositionInLine(){return-1}get tokenIndex(){return-1}get startIndex(){return-1}get stopIndex(){return-1}get tokenSource(){}get inputStream(){}toString(){return this._ruleName+":"+this.bypassTokenType}};__decorate([Decorators_1.NotNull],RuleTagToken.prototype,"ruleName",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"channel",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"text",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"type",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"line",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"charPositionInLine",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"tokenIndex",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"startIndex",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"stopIndex",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"tokenSource",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"inputStream",null),__decorate([Decorators_1.Override],RuleTagToken.prototype,"toString",null),RuleTagToken=__decorate([__param(0,Decorators_1.NotNull)],RuleTagToken),exports.RuleTagToken=RuleTagToken},9944:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TagChunk=void 0;const Chunk_1=__webpack_require__(9140),Decorators_1=__webpack_require__(4798);class TagChunk extends Chunk_1.Chunk{constructor(tag,label){if(super(),null==tag||0===tag.length)throw new Error("tag cannot be null or empty");this._tag=tag,this._label=label}get tag(){return this._tag}get label(){return this._label}toString(){return null!=this._label?this._label+":"+this._tag:this._tag}}__decorate([Decorators_1.NotNull],TagChunk.prototype,"tag",null),__decorate([Decorators_1.Override],TagChunk.prototype,"toString",null),exports.TagChunk=TagChunk},227:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TextChunk=void 0;const Chunk_1=__webpack_require__(9140),Decorators_1=__webpack_require__(4798);let TextChunk=class extends Chunk_1.Chunk{constructor(text){if(super(),null==text)throw new Error("text cannot be null");this._text=text}get text(){return this._text}toString(){return"'"+this._text+"'"}};__decorate([Decorators_1.NotNull],TextChunk.prototype,"_text",void 0),__decorate([Decorators_1.NotNull],TextChunk.prototype,"text",null),__decorate([Decorators_1.Override],TextChunk.prototype,"toString",null),TextChunk=__decorate([__param(0,Decorators_1.NotNull)],TextChunk),exports.TextChunk=TextChunk},6492:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},__param=this&&this.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokenTagToken=void 0;const CommonToken_1=__webpack_require__(970),Decorators_1=__webpack_require__(4798);let TokenTagToken=class extends CommonToken_1.CommonToken{constructor(tokenName,type,label){super(type),this._tokenName=tokenName,this._label=label}get tokenName(){return this._tokenName}get label(){return this._label}get text(){return null!=this._label?"<"+this._label+":"+this._tokenName+">":"<"+this._tokenName+">"}toString(){return this._tokenName+":"+this.type}};__decorate([Decorators_1.NotNull],TokenTagToken.prototype,"_tokenName",void 0),__decorate([Decorators_1.NotNull],TokenTagToken.prototype,"tokenName",null),__decorate([Decorators_1.Override],TokenTagToken.prototype,"text",null),__decorate([Decorators_1.Override],TokenTagToken.prototype,"toString",null),TokenTagToken=__decorate([__param(0,Decorators_1.NotNull)],TokenTagToken),exports.TokenTagToken=TokenTagToken},7196:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPath=void 0;const CharStreams_1=__webpack_require__(9228),CommonTokenStream_1=__webpack_require__(5615),LexerNoViableAltException_1=__webpack_require__(4440),ParserRuleContext_1=__webpack_require__(3235),Token_1=__webpack_require__(8770),XPathLexer_1=__webpack_require__(9923),XPathLexerErrorListener_1=__webpack_require__(7720),XPathRuleAnywhereElement_1=__webpack_require__(423),XPathRuleElement_1=__webpack_require__(1328),XPathTokenAnywhereElement_1=__webpack_require__(8205),XPathTokenElement_1=__webpack_require__(4884),XPathWildcardAnywhereElement_1=__webpack_require__(7736),XPathWildcardElement_1=__webpack_require__(8499);class XPath{constructor(parser,path){this.parser=parser,this.path=path,this.elements=this.split(path)}split(path){let lexer=new XPathLexer_1.XPathLexer(CharStreams_1.CharStreams.fromString(path));lexer.recover=e=>{throw e},lexer.removeErrorListeners(),lexer.addErrorListener(new XPathLexerErrorListener_1.XPathLexerErrorListener);let tokenStream=new CommonTokenStream_1.CommonTokenStream(lexer);try{tokenStream.fill()}catch(e){if(e instanceof LexerNoViableAltException_1.LexerNoViableAltException)throw new RangeError("Invalid tokens or characters at index "+lexer.charPositionInLine+" in path '"+path+"' -- "+e.message);throw e}let tokens=tokenStream.getTokens(),elements=[],n=tokens.length,i=0;loop:for(;i0&&this.elements[i].evaluate(node2).forEach(next.add,next);i++,work=next}return work}}exports.XPath=XPath,XPath.WILDCARD="*",XPath.NOT="!"},6888:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathElement=void 0;const Decorators_1=__webpack_require__(4798);class XPathElement{constructor(nodeName){this.nodeName=nodeName,this.invert=!1}toString(){return Object.constructor.name+"["+(this.invert?"!":"")+this.nodeName+"]"}}__decorate([Decorators_1.Override],XPathElement.prototype,"toString",null),exports.XPathElement=XPathElement},9923:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathLexer=void 0;const ATNDeserializer_1=__webpack_require__(9940),Lexer_1=__webpack_require__(1188),LexerATNSimulator_1=__webpack_require__(7101),VocabularyImpl_1=__webpack_require__(4221),Utils=__webpack_require__(2028);class XPathLexer extends Lexer_1.Lexer{constructor(input){super(input),this._interp=new LexerATNSimulator_1.LexerATNSimulator(XPathLexer._ATN,this)}get vocabulary(){return XPathLexer.VOCABULARY}get grammarFileName(){return"XPathLexer.g4"}get ruleNames(){return XPathLexer.ruleNames}get serializedATN(){return XPathLexer._serializedATN}get channelNames(){return XPathLexer.channelNames}get modeNames(){return XPathLexer.modeNames}action(_localctx,ruleIndex,actionIndex){4===ruleIndex&&this.ID_action(_localctx,actionIndex)}ID_action(_localctx,actionIndex){if(0===actionIndex){let text=this.text;this.type=text.charAt(0)===text.charAt(0).toUpperCase()?XPathLexer.TOKEN_REF:XPathLexer.RULE_REF}}static get _ATN(){return XPathLexer.__ATN||(XPathLexer.__ATN=(new ATNDeserializer_1.ATNDeserializer).deserialize(Utils.toCharArray(XPathLexer._serializedATN))),XPathLexer.__ATN}}exports.XPathLexer=XPathLexer,XPathLexer.TOKEN_REF=1,XPathLexer.RULE_REF=2,XPathLexer.ANYWHERE=3,XPathLexer.ROOT=4,XPathLexer.WILDCARD=5,XPathLexer.BANG=6,XPathLexer.ID=7,XPathLexer.STRING=8,XPathLexer.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],XPathLexer.modeNames=["DEFAULT_MODE"],XPathLexer.ruleNames=["ANYWHERE","ROOT","WILDCARD","BANG","ID","NameChar","NameStartChar","STRING"],XPathLexer._LITERAL_NAMES=[void 0,void 0,void 0,"'//'","'/'","'*'","'!'"],XPathLexer._SYMBOLIC_NAMES=[void 0,"TOKEN_REF","RULE_REF","ANYWHERE","ROOT","WILDCARD","BANG","ID","STRING"],XPathLexer.VOCABULARY=new VocabularyImpl_1.VocabularyImpl(XPathLexer._LITERAL_NAMES,XPathLexer._SYMBOLIC_NAMES,[]),XPathLexer._serializedATNSegments=2,XPathLexer._serializedATNSegment0='\x03\uc91d\ucaba\u058d\uafba\u4f53\u0607\uea8b\uc241\x02\n2\b\x01\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x03\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03\x06\x07\x06\x1f\n\x06\f\x06\x0e\x06"\v\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\b\x03\b\x03\t\x03\t\x07\t,\n\t\f\t\x0e\t/\v\t\x03\t\x03\t\x03-\x02\x02\n\x03\x02\x05\x05\x02\x06\x07\x02\x07\t\x02\b\v\x02\t\r\x02\x02\x0f\x02\x02\x11\x02\n\x03\x02\x02\x04\u02b6\x02\x02\x02\n\x02\x10\x02\x1d\x022\x02;\x02C\x02\\\x02a\x02a\x02c\x02|\x02\x81\x02\xa1\x02\xac\x02\xac\x02\xaf\x02\xaf\x02\xb7\x02\xb7\x02\xbc\x02\xbc\x02\xc2\x02\xd8\x02\xda\x02\xf8\x02\xfa\x02\u02c3\x02\u02c8\x02\u02d3\x02\u02e2\x02\u02e6\x02\u02ee\x02\u02ee\x02\u02f0\x02\u02f0\x02\u0302\x02\u0376\x02\u0378\x02\u0379\x02\u037c\x02\u037f\x02\u0381\x02\u0381\x02\u0388\x02\u0388\x02\u038a\x02\u038c\x02\u038e\x02\u038e\x02\u0390\x02\u03a3\x02\u03a5\x02\u03f7\x02\u03f9\x02\u0483\x02\u0485\x02\u0489\x02\u048c\x02\u0531\x02\u0533\x02\u0558\x02\u055b\x02\u055b\x02\u0563\x02\u0589\x02\u0593\x02\u05bf\x02\u05c1\x02\u05c1\x02\u05c3\x02\u05c4\x02\u05c6\x02\u05c7\x02\u05c9\x02\u05c9\x02\u05d2\x02\u05ec\x02\u05f2\x02\u05f4\x02\u0602\x02\u0607\x02\u0612\x02\u061c\x02\u061e\x02\u061e\x02\u0622\x02\u066b\x02\u0670\x02\u06d5\x02\u06d7\x02\u06df\x02\u06e1\x02\u06ea\x02\u06ec\x02\u06fe\x02\u0701\x02\u0701\x02\u0711\x02\u074c\x02\u074f\x02\u07b3\x02\u07c2\x02\u07f7\x02\u07fc\x02\u07fc\x02\u0802\x02\u082f\x02\u0842\x02\u085d\x02\u08a2\x02\u08b6\x02\u08b8\x02\u08bf\x02\u08d6\x02\u0965\x02\u0968\x02\u0971\x02\u0973\x02\u0985\x02\u0987\x02\u098e\x02\u0991\x02\u0992\x02\u0995\x02\u09aa\x02\u09ac\x02\u09b2\x02\u09b4\x02\u09b4\x02\u09b8\x02\u09bb\x02\u09be\x02\u09c6\x02\u09c9\x02\u09ca\x02\u09cd\x02\u09d0\x02\u09d9\x02\u09d9\x02\u09de\x02\u09df\x02\u09e1\x02\u09e5\x02\u09e8\x02\u09f3\x02\u0a03\x02\u0a05\x02\u0a07\x02\u0a0c\x02\u0a11\x02\u0a12\x02\u0a15\x02\u0a2a\x02\u0a2c\x02\u0a32\x02\u0a34\x02\u0a35\x02\u0a37\x02\u0a38\x02\u0a3a\x02\u0a3b\x02\u0a3e\x02\u0a3e\x02\u0a40\x02\u0a44\x02\u0a49\x02\u0a4a\x02\u0a4d\x02\u0a4f\x02\u0a53\x02\u0a53\x02\u0a5b\x02\u0a5e\x02\u0a60\x02\u0a60\x02\u0a68\x02\u0a77\x02\u0a83\x02\u0a85\x02\u0a87\x02\u0a8f\x02\u0a91\x02\u0a93\x02\u0a95\x02\u0aaa\x02\u0aac\x02\u0ab2\x02\u0ab4\x02\u0ab5\x02\u0ab7\x02\u0abb\x02\u0abe\x02\u0ac7\x02\u0ac9\x02\u0acb\x02\u0acd\x02\u0acf\x02\u0ad2\x02\u0ad2\x02\u0ae2\x02\u0ae5\x02\u0ae8\x02\u0af1\x02\u0afb\x02\u0afb\x02\u0b03\x02\u0b05\x02\u0b07\x02\u0b0e\x02\u0b11\x02\u0b12\x02\u0b15\x02\u0b2a\x02\u0b2c\x02\u0b32\x02\u0b34\x02\u0b35\x02\u0b37\x02\u0b3b\x02\u0b3e\x02\u0b46\x02\u0b49\x02\u0b4a\x02\u0b4d\x02\u0b4f\x02\u0b58\x02\u0b59\x02\u0b5e\x02\u0b5f\x02\u0b61\x02\u0b65\x02\u0b68\x02\u0b71\x02\u0b73\x02\u0b73\x02\u0b84\x02\u0b85\x02\u0b87\x02\u0b8c\x02\u0b90\x02\u0b92\x02\u0b94\x02\u0b97\x02\u0b9b\x02\u0b9c\x02\u0b9e\x02\u0b9e\x02\u0ba0\x02\u0ba1\x02\u0ba5\x02\u0ba6\x02\u0baa\x02\u0bac\x02\u0bb0\x02\u0bbb\x02\u0bc0\x02\u0bc4\x02\u0bc8\x02\u0bca\x02\u0bcc\x02\u0bcf\x02\u0bd2\x02\u0bd2\x02\u0bd9\x02\u0bd9\x02\u0be8\x02\u0bf1\x02\u0c02\x02\u0c05\x02\u0c07\x02\u0c0e\x02\u0c10\x02\u0c12\x02\u0c14\x02\u0c2a\x02\u0c2c\x02\u0c3b\x02\u0c3f\x02\u0c46\x02\u0c48\x02\u0c4a\x02\u0c4c\x02\u0c4f\x02\u0c57\x02\u0c58\x02\u0c5a\x02\u0c5c\x02\u0c62\x02\u0c65\x02\u0c68\x02\u0c71\x02\u0c82\x02\u0c85\x02\u0c87\x02\u0c8e\x02\u0c90\x02\u0c92\x02\u0c94\x02\u0caa\x02\u0cac\x02\u0cb5\x02\u0cb7\x02\u0cbb\x02\u0cbe\x02\u0cc6\x02\u0cc8\x02\u0cca\x02\u0ccc\x02\u0ccf\x02\u0cd7\x02\u0cd8\x02\u0ce0\x02\u0ce0\x02\u0ce2\x02\u0ce5\x02\u0ce8\x02\u0cf1\x02\u0cf3\x02\u0cf4\x02\u0d03\x02\u0d05\x02\u0d07\x02\u0d0e\x02\u0d10\x02\u0d12\x02\u0d14\x02\u0d3c\x02\u0d3f\x02\u0d46\x02\u0d48\x02\u0d4a\x02\u0d4c\x02\u0d50\x02\u0d56\x02\u0d59\x02\u0d61\x02\u0d65\x02\u0d68\x02\u0d71\x02\u0d7c\x02\u0d81\x02\u0d84\x02\u0d85\x02\u0d87\x02\u0d98\x02\u0d9c\x02\u0db3\x02\u0db5\x02\u0dbd\x02\u0dbf\x02\u0dbf\x02\u0dc2\x02\u0dc8\x02\u0dcc\x02\u0dcc\x02\u0dd1\x02\u0dd6\x02\u0dd8\x02\u0dd8\x02\u0dda\x02\u0de1\x02\u0de8\x02\u0df1\x02\u0df4\x02\u0df5\x02\u0e03\x02\u0e3c\x02\u0e42\x02\u0e50\x02\u0e52\x02\u0e5b\x02\u0e83\x02\u0e84\x02\u0e86\x02\u0e86\x02\u0e89\x02\u0e8a\x02\u0e8c\x02\u0e8c\x02\u0e8f\x02\u0e8f\x02\u0e96\x02\u0e99\x02\u0e9b\x02\u0ea1\x02\u0ea3\x02\u0ea5\x02\u0ea7\x02\u0ea7\x02\u0ea9\x02\u0ea9\x02\u0eac\x02\u0ead\x02\u0eaf\x02\u0ebb\x02\u0ebd\x02\u0ebf\x02\u0ec2\x02\u0ec6\x02\u0ec8\x02\u0ec8\x02\u0eca\x02\u0ecf\x02\u0ed2\x02\u0edb\x02\u0ede\x02\u0ee1\x02\u0f02\x02\u0f02\x02\u0f1a\x02\u0f1b\x02\u0f22\x02\u0f2b\x02\u0f37\x02\u0f37\x02\u0f39\x02\u0f39\x02\u0f3b\x02\u0f3b\x02\u0f40\x02\u0f49\x02\u0f4b\x02\u0f6e\x02\u0f73\x02\u0f86\x02\u0f88\x02\u0f99\x02\u0f9b\x02\u0fbe\x02\u0fc8\x02\u0fc8\x02\u1002\x02\u104b\x02\u1052\x02\u109f\x02\u10a2\x02\u10c7\x02\u10c9\x02\u10c9\x02\u10cf\x02\u10cf\x02\u10d2\x02\u10fc\x02\u10fe\x02\u124a\x02\u124c\x02\u124f\x02\u1252\x02\u1258\x02\u125a\x02\u125a\x02\u125c\x02\u125f\x02\u1262\x02\u128a\x02\u128c\x02\u128f\x02\u1292\x02\u12b2\x02\u12b4\x02\u12b7\x02\u12ba\x02\u12c0\x02\u12c2\x02\u12c2\x02\u12c4\x02\u12c7\x02\u12ca\x02\u12d8\x02\u12da\x02\u1312\x02\u1314\x02\u1317\x02\u131a\x02\u135c\x02\u135f\x02\u1361\x02\u1382\x02\u1391\x02\u13a2\x02\u13f7\x02\u13fa\x02\u13ff\x02\u1403\x02\u166e\x02\u1671\x02\u1681\x02\u1683\x02\u169c\x02\u16a2\x02\u16ec\x02\u16f0\x02\u16fa\x02\u1702\x02\u170e\x02\u1710\x02\u1716\x02\u1722\x02\u1736\x02\u1742\x02\u1755\x02\u1762\x02\u176e\x02\u1770\x02\u1772\x02\u1774\x02\u1775\x02\u1782\x02\u17d5\x02\u17d9\x02\u17d9\x02\u17de\x02\u17df\x02\u17e2\x02\u17eb\x02\u180d\x02\u1810\x02\u1812\x02\u181b\x02\u1822\x02\u1879\x02\u1882\x02\u18ac\x02\u18b2\x02\u18f7\x02\u1902\x02\u1920\x02\u1922\x02\u192d\x02\u1932\x02\u193d\x02\u1948\x02\u196f\x02\u1972\x02\u1976\x02\u1982\x02\u19ad\x02\u19b2\x02\u19cb\x02\u19d2\x02\u19db\x02\u1a02\x02\u1a1d\x02\u1a22\x02\u1a60\x02\u1a62\x02\u1a7e\x02\u1a81\x02\u1a8b\x02\u1a92\x02\u1a9b\x02\u1aa9\x02\u1aa9\x02\u1ab2\x02\u1abf\x02\u1b02\x02\u1b4d\x02\u1b52\x02\u1b5b\x02\u1b6d\x02\u1b75\x02\u1b82\x02\u1bf5\x02\u1c02\x02\u1c39\x02\u1c42\x02\u1c4b\x02\u1c4f\x02\u1c7f\x02\u1c82\x02\u1c8a\x02\u1cd2\x02\u1cd4\x02\u1cd6\x02\u1cf8\x02\u1cfa\x02\u1cfb\x02\u1d02\x02\u1df7\x02\u1dfd\x02\u1f17\x02\u1f1a\x02\u1f1f\x02\u1f22\x02\u1f47\x02\u1f4a\x02\u1f4f\x02\u1f52\x02\u1f59\x02\u1f5b\x02\u1f5b\x02\u1f5d\x02\u1f5d\x02\u1f5f\x02\u1f5f\x02\u1f61\x02\u1f7f\x02\u1f82\x02\u1fb6\x02\u1fb8\x02\u1fbe\x02\u1fc0\x02\u1fc0\x02\u1fc4\x02\u1fc6\x02\u1fc8\x02\u1fce\x02\u1fd2\x02\u1fd5\x02\u1fd8\x02\u1fdd\x02\u1fe2\x02\u1fee\x02\u1ff4\x02\u1ff6\x02\u1ff8\x02\u1ffe\x02\u200d\x02\u2011\x02\u202c\x02\u2030\x02\u2041\x02\u2042\x02\u2056\x02\u2056\x02\u2062\x02\u2066\x02\u2068\x02\u2071\x02\u2073\x02\u2073\x02\u2081\x02\u2081\x02\u2092\x02\u209e\x02\u20d2\x02\u20de\x02\u20e3\x02\u20e3\x02\u20e7\x02\u20f2\x02\u2104\x02\u2104\x02\u2109\x02\u2109\x02\u210c\x02\u2115\x02\u2117\x02\u2117\x02\u211b\x02\u211f\x02\u2126\x02\u2126\x02\u2128\x02\u2128\x02\u212a\x02\u212a\x02\u212c\x02\u212f\x02\u2131\x02\u213b\x02\u213e\x02\u2141\x02\u2147\x02\u214b\x02\u2150\x02\u2150\x02\u2162\x02\u218a\x02\u2c02\x02\u2c30\x02\u2c32\x02\u2c60\x02\u2c62\x02\u2ce6\x02\u2ced\x02\u2cf5\x02\u2d02\x02\u2d27\x02\u2d29\x02\u2d29\x02\u2d2f\x02\u2d2f\x02\u2d32\x02\u2d69\x02\u2d71\x02\u2d71\x02\u2d81\x02\u2d98\x02\u2da2\x02\u2da8\x02\u2daa\x02\u2db0\x02\u2db2\x02\u2db8\x02\u2dba\x02\u2dc0\x02\u2dc2\x02\u2dc8\x02\u2dca\x02\u2dd0\x02\u2dd2\x02\u2dd8\x02\u2dda\x02\u2de0\x02\u2de2\x02\u2e01\x02\u2e31\x02\u2e31\x02\u3007\x02\u3009\x02\u3023\x02\u3031\x02\u3033\x02\u3037\x02\u303a\x02\u303e\x02\u3043\x02\u3098\x02\u309b\x02\u309c\x02\u309f\x02\u30a1\x02\u30a3\x02\u30fc\x02\u30fe\x02\u3101\x02\u3107\x02\u312f\x02\u3133\x02\u3190\x02\u31a2\x02\u31bc\x02\u31f2\x02\u3201\x02\u3402\x02\u4db7\x02\u4e02\x02\u9fd7\x02\ua002\x02\ua48e\x02\ua4d2\x02\ua4ff\x02\ua502\x02\ua60e\x02\ua612\x02\ua62d\x02\ua642\x02\ua671\x02\ua676\x02\ua67f\x02\ua681\x02\ua6f3\x02\ua719\x02\ua721\x02\ua724\x02\ua78a\x02\ua78d\x02\ua7b0\x02\ua7b2\x02\ua7b9\x02\ua7f9\x02\ua829\x02\ua842\x02\ua875\x02\ua882\x02\ua8c7\x02\ua8d2\x02\ua8db\x02\ua8e2\x02\ua8f9\x02\ua8fd\x02\ua8fd\x02\ua8ff\x02\ua8ff\x02\ua902\x02\ua92f\x02\ua932\x02\ua955\x02\ua962\x02\ua97e\x02\ua982\x02\ua9c2\x02\ua9d1\x02\ua9db\x02\ua9e2\x02\uaa00\x02\uaa02\x02\uaa38\x02\uaa42\x02\uaa4f\x02\uaa52\x02\uaa5b\x02\uaa62\x02\uaa78\x02\uaa7c\x02\uaac4\x02\uaadd\x02\uaadf\x02\uaae2\x02\uaaf1\x02\uaaf4\x02\uaaf8\x02\uab03\x02\uab08\x02\uab0b\x02\uab10\x02\uab13\x02\uab18\x02\uab22\x02\uab28\x02\uab2a\x02\uab30\x02\uab32\x02\uab5c\x02\uab5e\x02\uab67\x02\uab72\x02\uabec\x02\uabee\x02\uabef\x02\uabf2\x02\uabfb\x02\uac02\x02\ud7a5\x02\ud7b2\x02\ud7c8\x02\ud7cd\x02\ud7fd\x02\uf902\x02\ufa6f\x02\ufa72\x02\ufadb\x02\ufb02\x02\ufb08\x02\ufb15\x02\ufb19\x02\ufb1f\x02\ufb2a\x02\ufb2c\x02\ufb38\x02\ufb3a\x02\ufb3e\x02\ufb40\x02\ufb40\x02\ufb42\x02\ufb43\x02\ufb45\x02\ufb46\x02\ufb48\x02\ufbb3\x02\ufbd5\x02\ufd3f\x02\ufd52\x02\ufd91\x02\ufd94\x02\ufdc9\x02\ufdf2\x02\ufdfd\x02\ufe02\x02\ufe11\x02\ufe22\x02\ufe31\x02\ufe35\x02\ufe36\x02\ufe4f\x02\ufe51\x02\ufe72\x02\ufe76\x02\ufe78\x02\ufefe\x02\uff01\x02\uff01\x02\uff12\x02\uff1b\x02\uff23\x02\uff3c\x02\uff41\x02\uff41\x02\uff43\x02\uff5c\x02\uff68\x02\uffc0\x02\uffc4\x02\uffc9\x02\uffcc\x02\uffd1\x02\uffd4\x02\uffd9\x02\uffdc\x02\uffde\x02\ufffb\x02\ufffd\x02\x02\x03\r\x03\x0f\x03(\x03*\x03<\x03>\x03?\x03A\x03O\x03R\x03_\x03\x82\x03\xfc\x03\u0142\x03\u0176\x03\u01ff\x03\u01ff\x03\u0282\x03\u029e\x03\u02a2\x03\u02d2\x03\u02e2\x03\u02e2\x03\u0302\x03\u0321\x03\u0332\x03\u034c\x03\u0352\x03\u037c\x03\u0382\x03\u039f\x03\u03a2\x03\u03c5\x03\u03ca\x03\u03d1\x03\u03d3\x03\u03d7\x03\u0402\x03\u049f\x03\u04a2\x03\u04ab\x03\u04b2\x03\u04d5\x03\u04da\x03\u04fd\x03\u0502\x03\u0529\x03\u0532\x03\u0565\x03\u0602\x03\u0738\x03\u0742\x03\u0757\x03\u0762\x03\u0769\x03\u0802\x03\u0807\x03\u080a\x03\u080a\x03\u080c\x03\u0837\x03\u0839\x03\u083a\x03\u083e\x03\u083e\x03\u0841\x03\u0857\x03\u0862\x03\u0878\x03\u0882\x03\u08a0\x03\u08e2\x03\u08f4\x03\u08f6\x03\u08f7\x03\u0902\x03\u0917\x03\u0922\x03\u093b\x03\u0982\x03\u09b9\x03\u09c0\x03\u09c1\x03\u0a02\x03\u0a05\x03\u0a07\x03\u0a08\x03\u0a0e\x03\u0a15\x03\u0a17\x03\u0a19\x03\u0a1b\x03\u0a35\x03\u0a3a\x03\u0a3c\x03\u0a41\x03\u0a41\x03\u0a62\x03\u0a7e\x03\u0a82\x03\u0a9e\x03\u0ac2\x03\u0ac9\x03\u0acb\x03\u0ae8\x03\u0b02\x03\u0b37\x03\u0b42\x03\u0b57\x03\u0b62\x03\u0b74\x03\u0b82\x03\u0b93\x03\u0c02\x03\u0c4a\x03\u0c82\x03\u0cb4\x03\u0cc2\x03\u0cf4\x03\u1002\x03\u1048\x03\u1068\x03\u1071\x03\u1081\x03\u10bc\x03\u10bf\x03\u10bf\x03\u10d2\x03\u10ea\x03\u10f2\x03\u10fb\x03\u1102\x03\u1136\x03\u1138\x03\u1141\x03\u1152\x03\u1175\x03\u1178\x03\u1178\x03\u1182\x03\u11c6\x03\u11cc\x03\u11ce\x03\u11d2\x03\u11dc\x03\u11de\x03\u11de\x03\u1202\x03\u1213\x03\u1215\x03\u1239\x03\u1240\x03\u1240\x03\u1282\x03\u1288\x03\u128a\x03\u128a\x03\u128c\x03\u128f\x03\u1291\x03\u129f\x03\u12a1\x03\u12aa\x03\u12b2\x03\u12ec\x03\u12f2\x03\u12fb\x03\u1302\x03\u1305\x03\u1307\x03\u130e\x03\u1311\x03\u1312\x03\u1315\x03\u132a\x03\u132c\x03\u1332\x03\u1334\x03\u1335\x03\u1337\x03\u133b\x03\u133e\x03\u1346\x03\u1349\x03\u134a\x03\u134d\x03\u134f\x03\u1352\x03\u1352\x03\u1359\x03\u1359\x03\u135f\x03\u1365\x03\u1368\x03\u136e\x03\u1372\x03\u1376\x03\u1402\x03\u144c\x03\u1452\x03\u145b\x03\u1482\x03\u14c7\x03\u14c9\x03\u14c9\x03\u14d2\x03\u14db\x03\u1582\x03\u15b7\x03\u15ba\x03\u15c2\x03\u15da\x03\u15df\x03\u1602\x03\u1642\x03\u1646\x03\u1646\x03\u1652\x03\u165b\x03\u1682\x03\u16b9\x03\u16c2\x03\u16cb\x03\u1702\x03\u171b\x03\u171f\x03\u172d\x03\u1732\x03\u173b\x03\u18a2\x03\u18eb\x03\u1901\x03\u1901\x03\u1ac2\x03\u1afa\x03\u1c02\x03\u1c0a\x03\u1c0c\x03\u1c38\x03\u1c3a\x03\u1c42\x03\u1c52\x03\u1c5b\x03\u1c74\x03\u1c91\x03\u1c94\x03\u1ca9\x03\u1cab\x03\u1cb8\x03\u2002\x03\u239b\x03\u2402\x03\u2470\x03\u2482\x03\u2545\x03\u3002\x03\u3430\x03\u4402\x03\u4648\x03\u6802\x03\u6a3a\x03\u6a42\x03\u6a60\x03\u6a62\x03\u6a6b\x03\u6ad2\x03\u6aef\x03\u6af2\x03\u6af6\x03\u6b02\x03\u6b38\x03\u6b42\x03\u6b45\x03\u6b52\x03\u6b5b\x03\u6b65\x03\u6b79\x03\u6b7f\x03\u6b91\x03\u6f02\x03\u6f46\x03\u6f52\x03\u6f80\x03\u6f91\x03\u6fa1\x03\u6fe2\x03\u6fe2\x03\u7002\x03\u87ee\x03\u8802\x03\u8af4\x03\ub002\x03\ub003\x03\ubc02\x03\ubc6c\x03\ubc72\x03\ubc7e\x03\ubc82\x03\ubc8a\x03\ubc92\x03\ubc9b\x03\ubc9f\x03\ubca0\x03\ubca2\x03\ubca5\x03\ud167\x03\ud16b\x03\ud16f\x03\ud184\x03\ud187\x03\ud18d\x03\ud1ac\x03\ud1af\x03\ud244\x03\ud246\x03\ud402\x03\ud456\x03\ud458\x03\ud49e\x03\ud4a0\x03\ud4a1\x03\ud4a4\x03\ud4a4\x03\ud4a7\x03\ud4a8\x03\ud4ab\x03\ud4ae\x03\ud4b0\x03\ud4bb\x03\ud4bd\x03\ud4bd\x03\ud4bf\x03\ud4c5\x03\ud4c7\x03\ud507\x03\ud509\x03\ud50c\x03\ud50f\x03\ud516\x03\ud518\x03\ud51e\x03\ud520\x03\ud53b\x03\ud53d\x03\ud540\x03\ud542\x03\ud546\x03\ud548\x03\ud548\x03\ud54c\x03\ud552\x03\ud554\x03\ud6a7\x03\ud6aa\x03\ud6c2\x03\ud6c4\x03\ud6dc\x03\ud6de\x03\ud6fc\x03\ud6fe\x03\ud716\x03\ud718\x03\ud736\x03\ud738\x03\ud750\x03\ud752\x03\ud770\x03\ud772\x03\ud78a\x03\ud78c\x03\ud7aa\x03\ud7ac\x03\ud7c4\x03\ud7c6\x03\ud7cd\x03\ud7d0\x03\ud801\x03\uda02\x03\uda38\x03\uda3d\x03\uda6e\x03\uda77\x03\uda77\x03\uda86\x03\uda86\x03\uda9d\x03\udaa1\x03\udaa3\x03\udab1\x03\ue002\x03\ue008\x03\ue00a\x03\ue01a\x03\ue01d\x03\ue023\x03\ue025\x03\ue026\x03\ue028\x03\ue02c\x03\ue802\x03\ue8c6\x03\ue8d2\x03\ue8d8\x03\ue902\x03\ue94c\x03\ue952\x03\ue95b\x03\uee02\x03\uee05\x03\uee07\x03\uee21\x03\uee23\x03\uee24\x03\uee26\x03\uee26\x03\uee29\x03\uee29\x03\uee2b\x03\uee34\x03\uee36\x03\uee39\x03\uee3b\x03\uee3b\x03\uee3d\x03\uee3d\x03\uee44\x03\uee44\x03\uee49\x03\uee49\x03\uee4b\x03\uee4b\x03\uee4d\x03\uee4d\x03\uee4f\x03\uee51\x03\uee53\x03\uee54\x03\uee56\x03\uee56\x03\uee59\x03\uee59\x03\uee5b\x03\uee5b\x03\uee5d\x03\uee5d\x03\uee5f\x03\uee5f\x03\uee61\x03\uee61\x03\uee63\x03\uee64\x03\uee66\x03\uee66\x03\uee69\x03\uee6c\x03\uee6e\x03\uee74\x03\uee76\x03\uee79\x03\uee7b\x03\uee7e\x03\uee80\x03\uee80\x03\uee82\x03\uee8b\x03\uee8d\x03\uee9d\x03\ueea3\x03\ueea5\x03\ueea7\x03\ueeab\x03\ueead\x03\ueebd\x03\x02\x04\ua6d8\x04\ua702\x04\ub736\x04\ub742\x04\ub81f\x04\ub822\x04\ucea3\x04\uf802\x04\ufa1f\x04\x03\x10\x03\x10"\x10\x81\x10\u0102\x10\u01f1\x10\u0240\x02C\x02\\\x02c\x02|\x02\xac\x02\xac\x02\xb7\x02\xb7\x02\xbc\x02\xbc\x02\xc2\x02\xd8\x02\xda\x02\xf8\x02\xfa\x02\u02c3\x02\u02c8\x02\u02d3\x02\u02e2\x02\u02e6\x02\u02ee\x02\u02ee\x02\u02f0\x02\u02f0\x02\u0372\x02\u0376\x02\u0378\x02\u0379\x02\u037c\x02\u037f\x02\u0381\x02\u0381\x02\u0388\x02\u0388\x02\u038a\x02\u038c\x02\u038e\x02\u038e\x02\u0390\x02\u03a3\x02\u03a5\x02\u03f7\x02\u03f9\x02\u0483\x02\u048c\x02\u0531\x02\u0533\x02\u0558\x02\u055b\x02\u055b\x02\u0563\x02\u0589\x02\u05d2\x02\u05ec\x02\u05f2\x02\u05f4\x02\u0622\x02\u064c\x02\u0670\x02\u0671\x02\u0673\x02\u06d5\x02\u06d7\x02\u06d7\x02\u06e7\x02\u06e8\x02\u06f0\x02\u06f1\x02\u06fc\x02\u06fe\x02\u0701\x02\u0701\x02\u0712\x02\u0712\x02\u0714\x02\u0731\x02\u074f\x02\u07a7\x02\u07b3\x02\u07b3\x02\u07cc\x02\u07ec\x02\u07f6\x02\u07f7\x02\u07fc\x02\u07fc\x02\u0802\x02\u0817\x02\u081c\x02\u081c\x02\u0826\x02\u0826\x02\u082a\x02\u082a\x02\u0842\x02\u085a\x02\u08a2\x02\u08b6\x02\u08b8\x02\u08bf\x02\u0906\x02\u093b\x02\u093f\x02\u093f\x02\u0952\x02\u0952\x02\u095a\x02\u0963\x02\u0973\x02\u0982\x02\u0987\x02\u098e\x02\u0991\x02\u0992\x02\u0995\x02\u09aa\x02\u09ac\x02\u09b2\x02\u09b4\x02\u09b4\x02\u09b8\x02\u09bb\x02\u09bf\x02\u09bf\x02\u09d0\x02\u09d0\x02\u09de\x02\u09df\x02\u09e1\x02\u09e3\x02\u09f2\x02\u09f3\x02\u0a07\x02\u0a0c\x02\u0a11\x02\u0a12\x02\u0a15\x02\u0a2a\x02\u0a2c\x02\u0a32\x02\u0a34\x02\u0a35\x02\u0a37\x02\u0a38\x02\u0a3a\x02\u0a3b\x02\u0a5b\x02\u0a5e\x02\u0a60\x02\u0a60\x02\u0a74\x02\u0a76\x02\u0a87\x02\u0a8f\x02\u0a91\x02\u0a93\x02\u0a95\x02\u0aaa\x02\u0aac\x02\u0ab2\x02\u0ab4\x02\u0ab5\x02\u0ab7\x02\u0abb\x02\u0abf\x02\u0abf\x02\u0ad2\x02\u0ad2\x02\u0ae2\x02\u0ae3\x02\u0afb\x02\u0afb\x02\u0b07\x02\u0b0e\x02\u0b11\x02\u0b12\x02\u0b15\x02\u0b2a\x02\u0b2c\x02\u0b32\x02\u0b34\x02\u0b35\x02\u0b37\x02\u0b3b\x02\u0b3f\x02\u0b3f\x02\u0b5e\x02\u0b5f\x02\u0b61\x02\u0b63\x02\u0b73\x02\u0b73\x02\u0b85\x02\u0b85\x02\u0b87\x02\u0b8c\x02\u0b90\x02\u0b92\x02\u0b94\x02\u0b97\x02\u0b9b\x02\u0b9c\x02\u0b9e\x02\u0b9e\x02\u0ba0\x02\u0ba1\x02\u0ba5\x02\u0ba6\x02\u0baa\x02\u0bac\x02\u0bb0\x02\u0bbb\x02\u0bd2\x02\u0bd2\x02\u0c07\x02\u0c0e\x02\u0c10\x02\u0c12\x02\u0c14\x02\u0c2a\x02\u0c2c\x02\u0c3b\x02\u0c3f\x02\u0c3f\x02\u0c5a\x02\u0c5c\x02\u0c62\x02\u0c63\x02\u0c82\x02\u0c82\x02\u0c87\x02\u0c8e\x02\u0c90\x02\u0c92\x02\u0c94\x02\u0caa\x02\u0cac\x02\u0cb5\x02\u0cb7\x02\u0cbb\x02\u0cbf\x02\u0cbf\x02\u0ce0\x02\u0ce0\x02\u0ce2\x02\u0ce3\x02\u0cf3\x02\u0cf4\x02\u0d07\x02\u0d0e\x02\u0d10\x02\u0d12\x02\u0d14\x02\u0d3c\x02\u0d3f\x02\u0d3f\x02\u0d50\x02\u0d50\x02\u0d56\x02\u0d58\x02\u0d61\x02\u0d63\x02\u0d7c\x02\u0d81\x02\u0d87\x02\u0d98\x02\u0d9c\x02\u0db3\x02\u0db5\x02\u0dbd\x02\u0dbf\x02\u0dbf\x02\u0dc2\x02\u0dc8\x02\u0e03\x02\u0e32\x02\u0e34\x02\u0e35\x02\u0e42\x02\u0e48\x02\u0e83\x02\u0e84\x02\u0e86\x02\u0e86\x02\u0e89\x02\u0e8a\x02\u0e8c\x02\u0e8c\x02\u0e8f\x02\u0e8f\x02\u0e96\x02\u0e99\x02\u0e9b\x02\u0ea1\x02\u0ea3\x02\u0ea5\x02\u0ea7\x02\u0ea7\x02\u0ea9\x02\u0ea9\x02\u0eac\x02\u0ead\x02\u0eaf\x02\u0eb2\x02\u0eb4\x02\u0eb5\x02\u0ebf\x02\u0ebf\x02\u0ec2\x02\u0ec6\x02\u0ec8\x02\u0ec8\x02\u0ede\x02\u0ee1\x02\u0f02\x02\u0f02\x02\u0f42\x02\u0f49\x02\u0f4b\x02\u0f6e\x02\u0f8a\x02\u0f8e\x02\u1002\x02\u102c\x02\u1041\x02\u1041\x02\u1052\x02\u1057\x02\u105c\x02\u105f\x02\u1063\x02\u1063\x02\u1067\x02\u1068\x02\u1070\x02\u1072\x02\u1077\x02\u1083\x02\u1090\x02\u1090\x02\u10a2\x02\u10c7\x02\u10c9\x02\u10c9\x02\u10cf\x02\u10cf\x02\u10d2\x02\u10fc\x02\u10fe\x02\u124a\x02\u124c\x02\u124f\x02\u1252\x02\u1258\x02\u125a\x02\u125a\x02\u125c\x02\u125f\x02\u1262\x02\u128a\x02\u128c\x02\u128f\x02\u1292\x02\u12b2\x02\u12b4\x02\u12b7\x02\u12ba\x02\u12c0\x02\u12c2\x02\u12c2\x02\u12c4\x02\u12c7\x02\u12ca\x02\u12d8\x02\u12da\x02\u1312\x02\u1314\x02\u1317\x02\u131a\x02\u135c\x02\u1382\x02\u1391\x02\u13a2\x02\u13f7\x02\u13fa\x02\u13ff\x02\u1403\x02\u166e\x02\u1671\x02\u1681\x02\u1683\x02\u169c\x02\u16a2\x02\u16ec\x02\u16f0\x02\u16fa\x02\u1702\x02\u170e\x02\u1710\x02\u1713\x02\u1722\x02\u1733\x02\u1742\x02\u1753\x02\u1762\x02\u176e\x02\u1770\x02\u1772\x02\u1782\x02\u17b5\x02\u17d9\x02\u17d9\x02\u17de\x02\u17de\x02\u1822\x02\u1879\x02\u1882\x02\u1886\x02\u1889\x02\u18aa\x02\u18ac\x02\u18ac\x02\u18b2\x02\u18f7\x02\u1902\x02\u1920\x02\u1952\x02\u196f\x02\u1972\x02\u1976\x02\u1982\x02\u19ad\x02\u19b2\x02\u19cb\x02\u1a02\x02\u1a18\x02\u1a22\x02\u1a56\x02\u1aa9\x02\u1aa9\x02\u1b07\x02\u1b35\x02\u1b47\x02\u1b4d\x02\u1b85\x02\u1ba2\x02\u1bb0\x02\u1bb1\x02\u1bbc\x02\u1be7\x02\u1c02\x02\u1c25\x02\u1c4f\x02\u1c51\x02\u1c5c\x02\u1c7f\x02\u1c82\x02\u1c8a\x02\u1ceb\x02\u1cee\x02\u1cf0\x02\u1cf3\x02\u1cf7\x02\u1cf8\x02\u1d02\x02\u1dc1\x02\u1e02\x02\u1f17\x02\u1f1a\x02\u1f1f\x02\u1f22\x02\u1f47\x02\u1f4a\x02\u1f4f\x02\u1f52\x02\u1f59\x02\u1f5b\x02\u1f5b\x02\u1f5d\x02\u1f5d\x02\u1f5f\x02\u1f5f\x02\u1f61\x02\u1f7f\x02\u1f82\x02\u1fb6\x02\u1fb8\x02\u1fbe\x02\u1fc0\x02\u1fc0\x02\u1fc4\x02\u1fc6\x02\u1fc8\x02\u1fce\x02\u1fd2\x02\u1fd5\x02\u1fd8\x02\u1fdd\x02\u1fe2\x02\u1fee\x02\u1ff4\x02\u1ff6\x02\u1ff8\x02\u1ffe\x02\u2073\x02\u2073\x02\u2081\x02\u2081\x02\u2092\x02\u209e\x02\u2104\x02\u2104\x02\u2109\x02\u2109\x02\u210c\x02\u2115\x02\u2117\x02\u2117\x02\u211b\x02\u211f\x02\u2126\x02\u2126\x02\u2128\x02\u2128\x02\u212a\x02\u212a\x02\u212c\x02\u212f\x02\u2131\x02\u213b\x02\u213e\x02\u2141\x02\u2147\x02\u214b\x02\u2150\x02\u2150\x02\u2162\x02\u218a\x02\u2c02\x02\u2c30\x02\u2c32\x02\u2c60\x02\u2c62\x02\u2ce6\x02\u2ced\x02\u2cf0\x02\u2cf4\x02\u2cf5\x02\u2d02\x02\u2d27\x02\u2d29\x02\u2d29\x02\u2d2f\x02\u2d2f\x02\u2d32\x02\u2d69\x02\u2d71\x02\u2d71\x02\u2d82\x02\u2d98\x02\u2da2\x02\u2da8\x02\u2daa\x02\u2db0\x02\u2db2\x02\u2db8\x02\u2dba\x02\u2dc0\x02\u2dc2\x02\u2dc8\x02\u2dca\x02\u2dd0\x02\u2dd2\x02\u2dd8\x02\u2dda\x02\u2de0\x02\u2e31\x02\u2e31\x02\u3007\x02\u3009\x02\u3023\x02\u302b\x02\u3033\x02\u3037\x02\u303a\x02\u303e\x02\u3043\x02\u3098\x02\u309f\x02\u30a1\x02\u30a3\x02\u30fc\x02\u30fe\x02\u3101\x02\u3107\x02\u312f\x02\u3133\x02\u3190\x02\u31a2\x02\u31bc\x02\u31f2\x02\u3201\x02\u3402\x02\u4db7\x02\u4e02\x02\u9fd7\x02\ua002\x02\ua48e\x02\ua4d2\x02\ua4ff\x02\ua502\x02\ua60e\x02\ua612\x02\ua621\x02\ua62c\x02\ua62d\x02\ua642\x02\ua670\x02\ua681\x02\ua69f\x02\ua6a2\x02\ua6f1\x02\ua719\x02\ua721\x02\ua724\x02\ua78a\x02\ua78d\x02\ua7b0\x02\ua7b2\x02\ua7b9\x02\ua7f9\x02\ua803\x02\ua805\x02\ua807\x02\ua809\x02\ua80c\x02\ua80e\x02\ua824\x02\ua842\x02\ua875\x02\ua884\x02\ua8b5\x02\ua8f4\x02\ua8f9\x02\ua8fd\x02\ua8fd\x02\ua8ff\x02\ua8ff\x02\ua90c\x02\ua927\x02\ua932\x02\ua948\x02\ua962\x02\ua97e\x02\ua986\x02\ua9b4\x02\ua9d1\x02\ua9d1\x02\ua9e2\x02\ua9e6\x02\ua9e8\x02\ua9f1\x02\ua9fc\x02\uaa00\x02\uaa02\x02\uaa2a\x02\uaa42\x02\uaa44\x02\uaa46\x02\uaa4d\x02\uaa62\x02\uaa78\x02\uaa7c\x02\uaa7c\x02\uaa80\x02\uaab1\x02\uaab3\x02\uaab3\x02\uaab7\x02\uaab8\x02\uaabb\x02\uaabf\x02\uaac2\x02\uaac2\x02\uaac4\x02\uaac4\x02\uaadd\x02\uaadf\x02\uaae2\x02\uaaec\x02\uaaf4\x02\uaaf6\x02\uab03\x02\uab08\x02\uab0b\x02\uab10\x02\uab13\x02\uab18\x02\uab22\x02\uab28\x02\uab2a\x02\uab30\x02\uab32\x02\uab5c\x02\uab5e\x02\uab67\x02\uab72\x02\uabe4\x02\uac02\x02\ud7a5\x02\ud7b2\x02\ud7c8\x02\ud7cd\x02\ud7fd\x02\uf902\x02\ufa6f\x02\ufa72\x02\ufadb\x02\ufb02\x02\ufb08\x02\ufb15\x02\ufb19\x02\ufb1f\x02\ufb1f\x02\ufb21\x02\ufb2a\x02\ufb2c\x02\ufb38\x02\ufb3a\x02\ufb3e\x02\ufb40\x02\ufb40\x02\ufb42\x02\ufb43\x02\ufb45\x02\ufb46\x02\ufb48\x02\ufbb3\x02\ufbd5\x02\ufd3f\x02\ufd52\x02\ufd91\x02\ufd94\x02\ufdc9\x02\ufdf2\x02\ufdfd\x02\ufe72\x02\ufe76\x02\ufe78\x02\ufefe\x02\uff23\x02\uff3c\x02\uff43\x02\uff5c\x02\uff68\x02\uffc0\x02\uffc4\x02\uffc9\x02\uffcc\x02\uffd1\x02\uffd4\x02\uffd9\x02\uffdc\x02\uffde\x02\x02\x03\r\x03\x0f\x03(\x03*\x03<\x03>\x03?\x03A\x03O\x03R\x03_\x03\x82\x03\xfc\x03\u0142\x03\u0176\x03\u0282\x03\u029e\x03\u02a2\x03\u02d2\x03\u0302\x03\u0321\x03\u0332\x03\u034c\x03\u0352\x03\u0377\x03\u0382\x03\u039f\x03\u03a2\x03\u03c5\x03\u03ca\x03\u03d1\x03\u03d3\x03\u03d7\x03\u0402\x03\u049f\x03\u04b2\x03\u04d5\x03\u04da\x03\u04fd\x03\u0502\x03\u0529\x03\u0532\x03\u0565\x03\u0602\x03\u0738\x03\u0742\x03\u0757\x03\u0762\x03\u0769\x03\u0802\x03\u0807\x03\u080a\x03\u080a\x03\u080c\x03\u0837\x03\u0839\x03\u083a\x03\u083e\x03\u083e\x03\u0841\x03\u0857\x03\u0862\x03\u0878\x03\u0882\x03\u08a0\x03\u08e2\x03\u08f4\x03\u08f6\x03\u08f7\x03\u0902\x03\u0917\x03\u0922\x03\u093b\x03\u0982\x03\u09b9\x03\u09c0\x03\u09c1\x03\u0a02\x03\u0a02\x03\u0a12\x03\u0a15\x03\u0a17\x03\u0a19\x03\u0a1b\x03\u0a35\x03\u0a62\x03\u0a7e\x03\u0a82\x03\u0a9e\x03\u0ac2\x03\u0ac9\x03\u0acb\x03\u0ae6\x03\u0b02\x03\u0b37\x03\u0b42\x03\u0b57\x03\u0b62\x03\u0b74\x03\u0b82\x03\u0b93\x03\u0c02\x03\u0c4a\x03\u0c82\x03\u0cb4\x03\u0cc2\x03\u0cf4\x03\u1005\x03\u1039\x03\u1085\x03\u10b1\x03\u10d2\x03\u10ea\x03\u1105\x03\u1128\x03\u1152\x03\u1174\x03\u1178\x03\u1178\x03\u1185\x03\u11b4\x03\u11c3\x03\u11c6\x03\u11dc\x03\u11dc\x03\u11de\x03\u11de\x03\u1202\x03\u1213\x03\u1215\x03\u122d\x03\u1282\x03\u1288\x03\u128a\x03\u128a\x03\u128c\x03\u128f\x03\u1291\x03\u129f\x03\u12a1\x03\u12aa\x03\u12b2\x03\u12e0\x03\u1307\x03\u130e\x03\u1311\x03\u1312\x03\u1315\x03\u132a\x03\u132c\x03\u1332\x03\u1334\x03\u1335\x03\u1337\x03\u133b\x03\u133f\x03\u133f\x03\u1352\x03\u1352\x03\u135f\x03\u1363\x03\u1402\x03\u1436\x03\u1449\x03\u144c\x03\u1482\x03\u14b1\x03\u14c6\x03\u14c7\x03\u14c9\x03\u14c9\x03\u1582\x03\u15b0\x03\u15da\x03\u15dd\x03\u1602\x03\u1631\x03\u1646\x03\u1646\x03\u1682\x03\u16ac\x03\u1702\x03\u171b\x03\u18a2\x03\u18e1\x03\u1901\x03\u1901\x03\u1ac2\x03\u1afa\x03\u1c02\x03\u1c0a\x03\u1c0c\x03\u1c30\x03\u1c42\x03\u1c42\x03\u1c74\x03\u1c91\x03\u2002\x03\u239b\x03\u2402\x03\u2470\x03\u2482\x03\u2545\x03\u3002\x03\u3430\x03\u4402\x03\u4648\x03\u6802\x03\u6a3a\x03\u6a42\x03\u6a60\x03\u6ad2\x03\u6aef\x03\u6b02\x03\u6b31\x03\u6b42\x03\u6b45\x03\u6b65\x03\u6b79\x03\u6b7f\x03\u6b91\x03\u6f02\x03\u6f46\x03\u6f52\x03\u6f52\x03\u6f95\x03\u6fa1\x03\u6fe2\x03\u6fe2\x03\u7002\x03\u87ee\x03\u8802\x03\u8af4\x03\ub002\x03\ub003\x03\ubc02\x03\ubc6c\x03\ubc72\x03\ubc7e\x03\ubc82\x03\ubc8a\x03\ubc92\x03\ubc9b\x03\ud402\x03\ud456\x03\ud458\x03\ud49e\x03\ud4a0\x03\ud4a1\x03\ud4a4\x03\ud4a4\x03\ud4a7\x03\ud4a8\x03\ud4ab\x03\ud4ae\x03\ud4b0\x03\ud4bb\x03\ud4bd\x03\ud4bd\x03\ud4bf\x03\ud4c5\x03\ud4c7\x03\ud507\x03\ud509\x03\ud50c\x03\ud50f\x03\ud516\x03\ud518\x03\ud51e\x03\ud520\x03\ud53b\x03\ud53d\x03\ud540\x03\ud542\x03\ud546\x03\ud548\x03\ud548',XPathLexer._serializedATNSegment1="\x03\ud54c\x03\ud552\x03\ud554\x03\ud6a7\x03\ud6aa\x03\ud6c2\x03\ud6c4\x03\ud6dc\x03\ud6de\x03\ud6fc\x03\ud6fe\x03\ud716\x03\ud718\x03\ud736\x03\ud738\x03\ud750\x03\ud752\x03\ud770\x03\ud772\x03\ud78a\x03\ud78c\x03\ud7aa\x03\ud7ac\x03\ud7c4\x03\ud7c6\x03\ud7cd\x03\ue802\x03\ue8c6\x03\ue902\x03\ue945\x03\uee02\x03\uee05\x03\uee07\x03\uee21\x03\uee23\x03\uee24\x03\uee26\x03\uee26\x03\uee29\x03\uee29\x03\uee2b\x03\uee34\x03\uee36\x03\uee39\x03\uee3b\x03\uee3b\x03\uee3d\x03\uee3d\x03\uee44\x03\uee44\x03\uee49\x03\uee49\x03\uee4b\x03\uee4b\x03\uee4d\x03\uee4d\x03\uee4f\x03\uee51\x03\uee53\x03\uee54\x03\uee56\x03\uee56\x03\uee59\x03\uee59\x03\uee5b\x03\uee5b\x03\uee5d\x03\uee5d\x03\uee5f\x03\uee5f\x03\uee61\x03\uee61\x03\uee63\x03\uee64\x03\uee66\x03\uee66\x03\uee69\x03\uee6c\x03\uee6e\x03\uee74\x03\uee76\x03\uee79\x03\uee7b\x03\uee7e\x03\uee80\x03\uee80\x03\uee82\x03\uee8b\x03\uee8d\x03\uee9d\x03\ueea3\x03\ueea5\x03\ueea7\x03\ueeab\x03\ueead\x03\ueebd\x03\x02\x04\ua6d8\x04\ua702\x04\ub736\x04\ub742\x04\ub81f\x04\ub822\x04\ucea3\x04\uf802\x04\ufa1f\x041\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x03\x13\x03\x02\x02\x02\x05\x16\x03\x02\x02\x02\x07\x18\x03\x02\x02\x02\t\x1a\x03\x02\x02\x02\v\x1c\x03\x02\x02\x02\r%\x03\x02\x02\x02\x0f'\x03\x02\x02\x02\x11)\x03\x02\x02\x02\x13\x14\x071\x02\x02\x14\x15\x071\x02\x02\x15\x04\x03\x02\x02\x02\x16\x17\x071\x02\x02\x17\x06\x03\x02\x02\x02\x18\x19\x07,\x02\x02\x19\b\x03\x02\x02\x02\x1a\x1b\x07#\x02\x02\x1b\n\x03\x02\x02\x02\x1c \x05\x0f\b\x02\x1d\x1f\x05\r\x07\x02\x1e\x1d\x03\x02\x02\x02\x1f\"\x03\x02\x02\x02 \x1e\x03\x02\x02\x02 !\x03\x02\x02\x02!#\x03\x02\x02\x02\" \x03\x02\x02\x02#$\b\x06\x02\x02$\f\x03\x02\x02\x02%&\t\x02\x02\x02&\x0e\x03\x02\x02\x02'(\t\x03\x02\x02(\x10\x03\x02\x02\x02)-\x07)\x02\x02*,\v\x02\x02\x02+*\x03\x02\x02\x02,/\x03\x02\x02\x02-.\x03\x02\x02\x02-+\x03\x02\x02\x02.0\x03\x02\x02\x02/-\x03\x02\x02\x0201\x07)\x02\x021\x12\x03\x02\x02\x02\x05\x02 -\x03\x03\x06\x02",XPathLexer._serializedATN=Utils.join([XPathLexer._serializedATNSegment0,XPathLexer._serializedATNSegment1],"")},7720:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathLexerErrorListener=void 0;const Decorators_1=__webpack_require__(4798);class XPathLexerErrorListener{syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,e){}}__decorate([Decorators_1.Override],XPathLexerErrorListener.prototype,"syntaxError",null),exports.XPathLexerErrorListener=XPathLexerErrorListener},423:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathRuleAnywhereElement=void 0;const Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPathElement_1=__webpack_require__(6888);class XPathRuleAnywhereElement extends XPathElement_1.XPathElement{constructor(ruleName,ruleIndex){super(ruleName),this.ruleIndex=ruleIndex}evaluate(t){return Trees_1.Trees.findAllRuleNodes(t,this.ruleIndex)}}__decorate([Decorators_1.Override],XPathRuleAnywhereElement.prototype,"evaluate",null),exports.XPathRuleAnywhereElement=XPathRuleAnywhereElement},1328:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathRuleElement=void 0;const ParserRuleContext_1=__webpack_require__(3235),Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPathElement_1=__webpack_require__(6888);class XPathRuleElement extends XPathElement_1.XPathElement{constructor(ruleName,ruleIndex){super(ruleName),this.ruleIndex=ruleIndex}evaluate(t){let nodes=[];for(let c of Trees_1.Trees.getChildren(t))c instanceof ParserRuleContext_1.ParserRuleContext&&(c.ruleIndex===this.ruleIndex&&!this.invert||c.ruleIndex!==this.ruleIndex&&this.invert)&&nodes.push(c);return nodes}}__decorate([Decorators_1.Override],XPathRuleElement.prototype,"evaluate",null),exports.XPathRuleElement=XPathRuleElement},8205:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathTokenAnywhereElement=void 0;const Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPathElement_1=__webpack_require__(6888);class XPathTokenAnywhereElement extends XPathElement_1.XPathElement{constructor(tokenName,tokenType){super(tokenName),this.tokenType=tokenType}evaluate(t){return Trees_1.Trees.findAllTokenNodes(t,this.tokenType)}}__decorate([Decorators_1.Override],XPathTokenAnywhereElement.prototype,"evaluate",null),exports.XPathTokenAnywhereElement=XPathTokenAnywhereElement},4884:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathTokenElement=void 0;const Decorators_1=__webpack_require__(4798),TerminalNode_1=__webpack_require__(9561),Trees_1=__webpack_require__(3398),XPathElement_1=__webpack_require__(6888);class XPathTokenElement extends XPathElement_1.XPathElement{constructor(tokenName,tokenType){super(tokenName),this.tokenType=tokenType}evaluate(t){let nodes=[];for(let c of Trees_1.Trees.getChildren(t))c instanceof TerminalNode_1.TerminalNode&&(c.symbol.type===this.tokenType&&!this.invert||c.symbol.type!==this.tokenType&&this.invert)&&nodes.push(c);return nodes}}__decorate([Decorators_1.Override],XPathTokenElement.prototype,"evaluate",null),exports.XPathTokenElement=XPathTokenElement},7736:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathWildcardAnywhereElement=void 0;const Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPath_1=__webpack_require__(7196),XPathElement_1=__webpack_require__(6888);class XPathWildcardAnywhereElement extends XPathElement_1.XPathElement{constructor(){super(XPath_1.XPath.WILDCARD)}evaluate(t){return this.invert?[]:Trees_1.Trees.getDescendants(t)}}__decorate([Decorators_1.Override],XPathWildcardAnywhereElement.prototype,"evaluate",null),exports.XPathWildcardAnywhereElement=XPathWildcardAnywhereElement},8499:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.XPathWildcardElement=void 0;const Decorators_1=__webpack_require__(4798),Trees_1=__webpack_require__(3398),XPath_1=__webpack_require__(7196),XPathElement_1=__webpack_require__(6888);class XPathWildcardElement extends XPathElement_1.XPathElement{constructor(){super(XPath_1.XPath.WILDCARD)}evaluate(t){let kids=[];if(this.invert)return kids;for(let c of Trees_1.Trees.getChildren(t))kids.push(c);return kids}}__decorate([Decorators_1.Override],XPathWildcardElement.prototype,"evaluate",null),exports.XPathWildcardElement=XPathWildcardElement},5936:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2})(obj)}var isDeepEqual,isDeepStrictEqual,_require$codes=__webpack_require__(3237).codes,ERR_AMBIGUOUS_ARGUMENT=_require$codes.ERR_AMBIGUOUS_ARGUMENT,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_INVALID_ARG_VALUE=_require$codes.ERR_INVALID_ARG_VALUE,ERR_INVALID_RETURN_VALUE=_require$codes.ERR_INVALID_RETURN_VALUE,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,AssertionError=__webpack_require__(1953),inspect=__webpack_require__(179).inspect,_require$types=__webpack_require__(179).types,isPromise=_require$types.isPromise,isRegExp=_require$types.isRegExp,objectAssign=Object.assign?Object.assign:__webpack_require__(3877).assign,objectIs=Object.is?Object.is:__webpack_require__(314);function lazyLoadComparison(){var comparison=__webpack_require__(356);isDeepEqual=comparison.isDeepEqual,isDeepStrictEqual=comparison.isDeepStrictEqual}var warned=!1,assert=module.exports=ok,NO_EXCEPTION_SENTINEL={};function innerFail(obj){throw obj.message instanceof Error?obj.message:new AssertionError(obj)}function innerOk(fn,argLen,value,message){if(!value){var generatedMessage=!1;if(0===argLen)generatedMessage=!0,message="No value argument passed to `assert.ok()`";else if(message instanceof Error)throw message;var err=new AssertionError({actual:value,expected:!0,message,operator:"==",stackStartFn:fn});throw err.generatedMessage=generatedMessage,err}}function ok(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];innerOk.apply(void 0,[ok,args.length].concat(args))}assert.fail=function fail(actual,expected,message,operator,stackStartFn){var internalMessage,argsLen=arguments.length;if(0===argsLen?internalMessage="Failed":1===argsLen?(message=actual,actual=void 0):(!1===warned&&(warned=!0,(process.emitWarning?process.emitWarning:console.warn.bind(console))("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094")),2===argsLen&&(operator="!=")),message instanceof Error)throw message;var errArgs={actual,expected,operator:void 0===operator?"fail":operator,stackStartFn:stackStartFn||fail};void 0!==message&&(errArgs.message=message);var err=new AssertionError(errArgs);throw internalMessage&&(err.message=internalMessage,err.generatedMessage=!0),err},assert.AssertionError=AssertionError,assert.ok=ok,assert.equal=function equal(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");actual!=expected&&innerFail({actual,expected,message,operator:"==",stackStartFn:equal})},assert.notEqual=function notEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");actual==expected&&innerFail({actual,expected,message,operator:"!=",stackStartFn:notEqual})},assert.deepEqual=function deepEqual2(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");void 0===isDeepEqual&&lazyLoadComparison(),isDeepEqual(actual,expected)||innerFail({actual,expected,message,operator:"deepEqual",stackStartFn:deepEqual2})},assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");void 0===isDeepEqual&&lazyLoadComparison(),isDeepEqual(actual,expected)&&innerFail({actual,expected,message,operator:"notDeepEqual",stackStartFn:notDeepEqual})},assert.deepStrictEqual=function deepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");void 0===isDeepEqual&&lazyLoadComparison(),isDeepStrictEqual(actual,expected)||innerFail({actual,expected,message,operator:"deepStrictEqual",stackStartFn:deepStrictEqual})},assert.notDeepStrictEqual=function notDeepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");void 0===isDeepEqual&&lazyLoadComparison(),isDeepStrictEqual(actual,expected)&&innerFail({actual,expected,message,operator:"notDeepStrictEqual",stackStartFn:notDeepStrictEqual})},assert.strictEqual=function strictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");objectIs(actual,expected)||innerFail({actual,expected,message,operator:"strictEqual",stackStartFn:strictEqual})},assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS("actual","expected");objectIs(actual,expected)&&innerFail({actual,expected,message,operator:"notStrictEqual",stackStartFn:notStrictEqual})};var Comparison=function Comparison2(obj,keys,actual){var _this=this;(function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")})(this,Comparison2),keys.forEach(function(key){key in obj&&(_this[key]=void 0!==actual&&"string"==typeof actual[key]&&isRegExp(obj[key])&&obj[key].test(actual[key])?actual[key]:obj[key])})};function expectedException(actual,expected,msg,fn){if("function"!=typeof expected){if(isRegExp(expected))return expected.test(actual);if(2===arguments.length)throw new ERR_INVALID_ARG_TYPE("expected",["Function","RegExp"],expected);if("object"!==_typeof(actual)||null===actual){var err=new AssertionError({actual,expected,message:msg,operator:"deepStrictEqual",stackStartFn:fn});throw err.operator=fn.name,err}var keys=Object.keys(expected);if(expected instanceof Error)keys.push("name","message");else if(0===keys.length)throw new ERR_INVALID_ARG_VALUE("error",expected,"may not be an empty object");return void 0===isDeepEqual&&lazyLoadComparison(),keys.forEach(function(key){"string"==typeof actual[key]&&isRegExp(expected[key])&&expected[key].test(actual[key])||function compareExceptionKey(actual,expected,key,message,keys,fn){if(!(key in actual)||!isDeepStrictEqual(actual[key],expected[key])){if(!message){var a=new Comparison(actual,keys),b=new Comparison(expected,keys,actual),err=new AssertionError({actual:a,expected:b,operator:"deepStrictEqual",stackStartFn:fn});throw err.actual=actual,err.expected=expected,err.operator=fn.name,err}innerFail({actual,expected,message,operator:fn.name,stackStartFn:fn})}}(actual,expected,key,msg,keys,fn)}),!0}return void 0!==expected.prototype&&actual instanceof expected||!Error.isPrototypeOf(expected)&&!0===expected.call({},actual)}function getActual(fn){if("function"!=typeof fn)throw new ERR_INVALID_ARG_TYPE("fn","Function",fn);try{fn()}catch(e){return e}return NO_EXCEPTION_SENTINEL}function checkIsPromise(obj){return isPromise(obj)||null!==obj&&"object"===_typeof(obj)&&"function"==typeof obj.then&&"function"==typeof obj.catch}function waitForActual(promiseFn){return Promise.resolve().then(function(){var resultPromise;if("function"==typeof promiseFn){if(!checkIsPromise(resultPromise=promiseFn()))throw new ERR_INVALID_RETURN_VALUE("instance of Promise","promiseFn",resultPromise)}else{if(!checkIsPromise(promiseFn))throw new ERR_INVALID_ARG_TYPE("promiseFn",["Function","Promise"],promiseFn);resultPromise=promiseFn}return Promise.resolve().then(function(){return resultPromise}).then(function(){return NO_EXCEPTION_SENTINEL}).catch(function(e){return e})})}function expectsError(stackStartFn,actual,error,message){if("string"==typeof error){if(4===arguments.length)throw new ERR_INVALID_ARG_TYPE("error",["Object","Error","Function","RegExp"],error);if("object"===_typeof(actual)&&null!==actual){if(actual.message===error)throw new ERR_AMBIGUOUS_ARGUMENT("error/message",'The error message "'.concat(actual.message,'" is identical to the message.'))}else if(actual===error)throw new ERR_AMBIGUOUS_ARGUMENT("error/message",'The error "'.concat(actual,'" is identical to the message.'));message=error,error=void 0}else if(null!=error&&"object"!==_typeof(error)&&"function"!=typeof error)throw new ERR_INVALID_ARG_TYPE("error",["Object","Error","Function","RegExp"],error);if(actual===NO_EXCEPTION_SENTINEL){var details="";error&&error.name&&(details+=" (".concat(error.name,")")),details+=message?": ".concat(message):".",innerFail({actual:void 0,expected:error,operator:stackStartFn.name,message:"Missing expected ".concat("rejects"===stackStartFn.name?"rejection":"exception").concat(details),stackStartFn})}if(error&&!expectedException(actual,error,message,stackStartFn))throw actual}function expectsNoError(stackStartFn,actual,error,message){if(actual!==NO_EXCEPTION_SENTINEL){if("string"==typeof error&&(message=error,error=void 0),!error||expectedException(actual,error)){var details=message?": ".concat(message):".";innerFail({actual,expected:error,operator:stackStartFn.name,message:"Got unwanted ".concat("doesNotReject"===stackStartFn.name?"rejection":"exception").concat(details,"\n")+'Actual message: "'.concat(actual&&actual.message,'"'),stackStartFn})}throw actual}}function strict(){for(var _len6=arguments.length,args=new Array(_len6),_key6=0;_key6<_len6;_key6++)args[_key6]=arguments[_key6];innerOk.apply(void 0,[strict,args.length].concat(args))}assert.throws=function throws(promiseFn){for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];expectsError.apply(void 0,[throws,getActual(promiseFn)].concat(args))},assert.rejects=function rejects(promiseFn){for(var _len3=arguments.length,args=new Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++)args[_key3-1]=arguments[_key3];return waitForActual(promiseFn).then(function(result){return expectsError.apply(void 0,[rejects,result].concat(args))})},assert.doesNotThrow=function doesNotThrow(fn){for(var _len4=arguments.length,args=new Array(_len4>1?_len4-1:0),_key4=1;_key4<_len4;_key4++)args[_key4-1]=arguments[_key4];expectsNoError.apply(void 0,[doesNotThrow,getActual(fn)].concat(args))},assert.doesNotReject=function doesNotReject(fn){for(var _len5=arguments.length,args=new Array(_len5>1?_len5-1:0),_key5=1;_key5<_len5;_key5++)args[_key5-1]=arguments[_key5];return waitForActual(fn).then(function(result){return expectsNoError.apply(void 0,[doesNotReject,result].concat(args))})},assert.ifError=function ifError(err){if(null!=err){var message="ifError got unwanted exception: ";"object"===_typeof(err)&&"string"==typeof err.message?message+=0===err.message.length&&err.constructor?err.constructor.name:err.message:message+=inspect(err);var newErr=new AssertionError({actual:err,expected:null,operator:"ifError",message,stackStartFn:ifError}),origStack=err.stack;if("string"==typeof origStack){var tmp2=origStack.split("\n");tmp2.shift();for(var tmp1=newErr.stack.split("\n"),i=0;i{"use strict";function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _defineProperties(target,props){for(var i=0;i"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}()?Reflect.construct:function(Parent2,args2,Class2){var a=[null];a.push.apply(a,args2);var instance=new(Function.bind.apply(Parent2,a));return Class2&&_setPrototypeOf(instance,Class2.prototype),instance}).apply(null,arguments)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o2,p2){return o2.__proto__=p2,o2})(o,p)}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o2){return o2.__proto__||Object.getPrototypeOf(o2)})(o)}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2})(obj)}var inspect=__webpack_require__(179).inspect,ERR_INVALID_ARG_TYPE=__webpack_require__(3237).codes.ERR_INVALID_ARG_TYPE;function endsWith(str,search,this_len){return(void 0===this_len||this_len>str.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}var blue="",green="",red="",white="",kReadableOperator={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function copyError(source){var keys=Object.keys(source),target=Object.create(Object.getPrototypeOf(source));return keys.forEach(function(key){target[key]=source[key]}),Object.defineProperty(target,"message",{value:source.message}),target}function inspectValue(val){return inspect(val,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var AssertionError=function(_Error){function AssertionError2(options){var _this;if(function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,AssertionError2),"object"!==_typeof(options)||null===options)throw new ERR_INVALID_ARG_TYPE("options","Object",options);var message=options.message,operator=options.operator,stackStartFn=options.stackStartFn,actual=options.actual,expected=options.expected,limit=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=message)_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,String(message)));else if(process.stderr&&process.stderr.isTTY&&(process.stderr&&process.stderr.getColorDepth&&1!==process.stderr.getColorDepth()?(blue="\x1b[34m",green="\x1b[32m",white="\x1b[39m",red="\x1b[31m"):(blue="",green="",white="",red="")),"object"===_typeof(actual)&&null!==actual&&"object"===_typeof(expected)&&null!==expected&&"stack"in actual&&actual instanceof Error&&"stack"in expected&&expected instanceof Error&&(actual=copyError(actual),expected=copyError(expected)),"deepStrictEqual"===operator||"strictEqual"===operator)_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,function createErrDiff(actual,expected,operator){var other="",res="",lastPos=0,end="",skipped=!1,actualInspected=inspectValue(actual),actualLines=actualInspected.split("\n"),expectedLines=inspectValue(expected).split("\n"),i=0,indicator="";if("strictEqual"===operator&&"object"===_typeof(actual)&&"object"===_typeof(expected)&&null!==actual&&null!==expected&&(operator="strictEqualObject"),1===actualLines.length&&1===expectedLines.length&&actualLines[0]!==expectedLines[0]){var inputLength=actualLines[0].length+expectedLines[0].length;if(inputLength<=10){if(!("object"===_typeof(actual)&&null!==actual||"object"===_typeof(expected)&&null!==expected||0===actual&&0===expected))return"".concat(kReadableOperator[operator],"\n\n")+"".concat(actualLines[0]," !== ").concat(expectedLines[0],"\n")}else if("strictEqualObject"!==operator&&inputLength<(process.stderr&&process.stderr.isTTY?process.stderr.columns:80)){for(;actualLines[0][i]===expectedLines[0][i];)i++;i>2&&(indicator="\n ".concat(function repeat(str,count){if(count=Math.floor(count),0==str.length||0==count)return"";var maxCount=str.length*count;for(count=Math.floor(Math.log(count)/Math.log(2));count;)str+=str,count--;return str+str.substring(0,maxCount-str.length)}(" ",i),"^"),i=0)}}for(var a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];a===b&&(i++<2?end="\n ".concat(a).concat(end):other=a,actualLines.pop(),expectedLines.pop(),0!==actualLines.length&&0!==expectedLines.length);)a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];var maxLines=Math.max(actualLines.length,expectedLines.length);if(0===maxLines){var _actualLines=actualInspected.split("\n");if(_actualLines.length>30)for(_actualLines[26]="".concat(blue,"...").concat(white);_actualLines.length>27;)_actualLines.pop();return"".concat(kReadableOperator.notIdentical,"\n\n").concat(_actualLines.join("\n"),"\n")}i>3&&(end="\n".concat(blue,"...").concat(white).concat(end),skipped=!0),""!==other&&(end="\n ".concat(other).concat(end),other="");var printedLines=0,msg=kReadableOperator[operator]+"\n".concat(green,"+ actual").concat(white," ").concat(red,"- expected").concat(white),skippedMsg=" ".concat(blue,"...").concat(white," Lines skipped");for(i=0;i1&&i>2&&(cur>4?(res+="\n".concat(blue,"...").concat(white),skipped=!0):cur>3&&(res+="\n ".concat(expectedLines[i-2]),printedLines++),res+="\n ".concat(expectedLines[i-1]),printedLines++),lastPos=i,other+="\n".concat(red,"-").concat(white," ").concat(expectedLines[i]),printedLines++;else if(expectedLines.length1&&i>2&&(cur>4?(res+="\n".concat(blue,"...").concat(white),skipped=!0):cur>3&&(res+="\n ".concat(actualLines[i-2]),printedLines++),res+="\n ".concat(actualLines[i-1]),printedLines++),lastPos=i,res+="\n".concat(green,"+").concat(white," ").concat(actualLines[i]),printedLines++;else{var expectedLine=expectedLines[i],actualLine=actualLines[i],divergingLines=actualLine!==expectedLine&&(!endsWith(actualLine,",")||actualLine.slice(0,-1)!==expectedLine);divergingLines&&endsWith(expectedLine,",")&&expectedLine.slice(0,-1)===actualLine&&(divergingLines=!1,actualLine+=","),divergingLines?(cur>1&&i>2&&(cur>4?(res+="\n".concat(blue,"...").concat(white),skipped=!0):cur>3&&(res+="\n ".concat(actualLines[i-2]),printedLines++),res+="\n ".concat(actualLines[i-1]),printedLines++),lastPos=i,res+="\n".concat(green,"+").concat(white," ").concat(actualLine),other+="\n".concat(red,"-").concat(white," ").concat(expectedLine),printedLines+=2):(res+=other,other="",(1===cur||0===i)&&(res+="\n ".concat(actualLine),printedLines++))}if(printedLines>20&&i30)for(res[26]="".concat(blue,"...").concat(white);res.length>27;)res.pop();_this=_possibleConstructorReturn(this,1===res.length?_getPrototypeOf(AssertionError2).call(this,"".concat(base," ").concat(res[0])):_getPrototypeOf(AssertionError2).call(this,"".concat(base,"\n\n").concat(res.join("\n"),"\n")))}else{var _res=inspectValue(actual),other="",knownOperators=kReadableOperator[operator];"notDeepEqual"===operator||"notEqual"===operator?(_res="".concat(kReadableOperator[operator],"\n\n").concat(_res)).length>1024&&(_res="".concat(_res.slice(0,1021),"...")):(other="".concat(inspectValue(expected)),_res.length>512&&(_res="".concat(_res.slice(0,509),"...")),other.length>512&&(other="".concat(other.slice(0,509),"...")),"deepEqual"===operator||"equal"===operator?_res="".concat(knownOperators,"\n\n").concat(_res,"\n\nshould equal\n\n"):other=" ".concat(operator," ").concat(other)),_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,"".concat(_res).concat(other)))}return Error.stackTraceLimit=limit,_this.generatedMessage=!message,Object.defineProperty(_assertThisInitialized(_this),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),_this.code="ERR_ASSERTION",_this.actual=actual,_this.expected=expected,_this.operator=operator,Error.captureStackTrace&&Error.captureStackTrace(_assertThisInitialized(_this),stackStartFn),_this.name="AssertionError",_possibleConstructorReturn(_this)}return function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(AssertionError2,_Error),function _createClass(Constructor,protoProps,staticProps){protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps)}(AssertionError2,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:inspect.custom,value:function(recurseTimes,ctx){return inspect(this,function _objectSpread(target){for(var i=1;i{"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2})(obj)}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o2){return o2.__proto__||Object.getPrototypeOf(o2)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o2,p2){return o2.__proto__=p2,o2})(o,p)}var assert,util,codes={};function createErrorType(code,message,Base){Base||(Base=Error),codes[code]=function(_Base){function NodeError2(arg1,arg2,arg3){var _this;return function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,NodeError2),_this=function _possibleConstructorReturn(self2,call){return!call||"object"!==_typeof(call)&&"function"!=typeof call?function _assertThisInitialized(self2){if(void 0===self2)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self2}(self2):call}(this,_getPrototypeOf(NodeError2).call(this,function getMessage(arg1,arg2,arg3){return"string"==typeof message?message:message(arg1,arg2,arg3)}(arg1,arg2,arg3))),_this.code=code,_this}return function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(NodeError2,_Base),NodeError2}(Base)}function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;return expected=expected.map(function(i){return String(i)}),len>2?"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(", "),", or ")+expected[len-1]:2===len?"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1]):"of ".concat(thing," ").concat(expected[0])}return"of ".concat(thing," ").concat(String(expected))}createErrorType("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),createErrorType("ERR_INVALID_ARG_TYPE",function(name,expected,actual){var determiner,msg;if(void 0===assert&&(assert=__webpack_require__(5936)),assert("string"==typeof name,"'name' must be a string"),"string"==typeof expected&&function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}(expected,"not ")?(determiner="must not be",expected=expected.replace(/^not /,"")):determiner="must be",function endsWith(str,search,this_len){return(void 0===this_len||this_len>str.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}(name," argument"))msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,"type"));else{var type=function includes(str,search,start){return"number"!=typeof start&&(start=0),!(start+search.length>str.length)&&-1!==str.indexOf(search,start)}(name,".")?"property":"argument";msg='The "'.concat(name,'" ').concat(type," ").concat(determiner," ").concat(oneOf(expected,"type"))}return msg+". Received type ".concat(_typeof(actual))},TypeError),createErrorType("ERR_INVALID_ARG_VALUE",function(name,value){var reason=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===util&&(util=__webpack_require__(179));var inspected=util.inspect(value);return inspected.length>128&&(inspected="".concat(inspected.slice(0,128),"...")),"The argument '".concat(name,"' ").concat(reason,". Received ").concat(inspected)},TypeError,RangeError),createErrorType("ERR_INVALID_RETURN_VALUE",function(input,name,value){var type;return type=value&&value.constructor&&value.constructor.name?"instance of ".concat(value.constructor.name):"type ".concat(_typeof(value)),"Expected ".concat(input,' to be returned from the "').concat(name,'"')+" function but got ".concat(type,".")},TypeError),createErrorType("ERR_MISSING_ARGS",function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];void 0===assert&&(assert=__webpack_require__(5936)),assert(args.length>0,"At least one arg needs to be specified");var msg="The ",len=args.length;switch(args=args.map(function(a){return'"'.concat(a,'"')}),len){case 1:msg+="".concat(args[0]," argument");break;case 2:msg+="".concat(args[0]," and ").concat(args[1]," arguments");break;default:msg+=args.slice(0,len-1).join(", "),msg+=", and ".concat(args[len-1]," arguments")}return"".concat(msg," must be specified")},TypeError),module.exports.codes=codes},356:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&null!=_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2})(obj)}var regexFlagsSupported=void 0!==/a/g.flags,arrayFromSet=function(set){var array=[];return set.forEach(function(value){return array.push(value)}),array},arrayFromMap=function(map2){var array=[];return map2.forEach(function(value,key){return array.push([key,value])}),array},objectIs=Object.is?Object.is:__webpack_require__(314),objectGetOwnPropertySymbols=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},numberIsNaN=Number.isNaN?Number.isNaN:__webpack_require__(389);function uncurryThis(f){return f.call.bind(f)}var hasOwnProperty=uncurryThis(Object.prototype.hasOwnProperty),propertyIsEnumerable=uncurryThis(Object.prototype.propertyIsEnumerable),objectToString=uncurryThis(Object.prototype.toString),_require$types=__webpack_require__(179).types,isAnyArrayBuffer=_require$types.isAnyArrayBuffer,isArrayBufferView=_require$types.isArrayBufferView,isDate=_require$types.isDate,isMap=_require$types.isMap,isRegExp=_require$types.isRegExp,isSet=_require$types.isSet,isNativeError=_require$types.isNativeError,isBoxedPrimitive=_require$types.isBoxedPrimitive,isNumberObject=_require$types.isNumberObject,isStringObject=_require$types.isStringObject,isBooleanObject=_require$types.isBooleanObject,isBigIntObject=_require$types.isBigIntObject,isSymbolObject=_require$types.isSymbolObject,isFloat32Array=_require$types.isFloat32Array,isFloat64Array=_require$types.isFloat64Array;function isNonIndex(key){if(0===key.length||key.length>10)return!0;for(var i=0;i57)return!0}return 10===key.length&&key>=Math.pow(2,32)}function getOwnNonIndexProperties(value){return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)))}function compare(a,b){if(a===b)return 0;for(var x=a.length,y=b.length,i=0,len=Math.min(x,y);i{"use strict";var GetIntrinsic=__webpack_require__(491),callBind=__webpack_require__(5436),$indexOf=callBind(GetIntrinsic("String.prototype.indexOf"));module.exports=function(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);return"function"==typeof intrinsic&&$indexOf(name,".prototype.")>-1?callBind(intrinsic):intrinsic}},5436:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var bind=__webpack_require__(5333),GetIntrinsic=__webpack_require__(491),$apply=GetIntrinsic("%Function.prototype.apply%"),$call=GetIntrinsic("%Function.prototype.call%"),$reflectApply=GetIntrinsic("%Reflect.apply%",!0)||bind.call($call,$apply),$gOPD=GetIntrinsic("%Object.getOwnPropertyDescriptor%",!0),$defineProperty=GetIntrinsic("%Object.defineProperty%",!0),$max=GetIntrinsic("%Math.max%");if($defineProperty)try{$defineProperty({},"a",{value:1})}catch{$defineProperty=null}module.exports=function(originalFunction){var func=$reflectApply(bind,$call,arguments);return $gOPD&&$defineProperty&&$gOPD(func,"length").configurable&&$defineProperty(func,"length",{value:1+$max(0,originalFunction.length-(arguments.length-1))}),func};var applyBind=function(){return $reflectApply(bind,$apply,arguments)};$defineProperty?$defineProperty(module.exports,"apply",{value:applyBind}):module.exports.apply=applyBind},1648:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var keys=__webpack_require__(7809),hasSymbols="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),toStr=Object.prototype.toString,concat=Array.prototype.concat,origDefineProperty=Object.defineProperty,hasPropertyDescriptors=__webpack_require__(2486)(),supportsDescriptors=origDefineProperty&&hasPropertyDescriptors,defineProperty=function(object,name,value,predicate){if(name in object)if(!0===predicate){if(object[name]===value)return}else if("function"!=typeof(fn=predicate)||"[object Function]"!==toStr.call(fn)||!predicate())return;var fn;supportsDescriptors?origDefineProperty(object,name,{configurable:!0,enumerable:!1,value,writable:!0}):object[name]=value},defineProperties=function(object,map2){var predicates=arguments.length>2?arguments[2]:{},props=keys(map2);hasSymbols&&(props=concat.call(props,Object.getOwnPropertySymbols(map2)));for(var i=0;i{"use strict";function assign(target,firstSource){if(null==target)throw new TypeError("Cannot convert first argument to object");for(var to=Object(target),i=1;i=b2.status}function e(a2){try{a2.dispatchEvent(new MouseEvent("click"))}catch{var b2=document.createEvent("MouseEvents");b2.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a2.dispatchEvent(b2)}}var f="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||("object"!=typeof window||window!==f?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(b2,g2,h){var i=f.URL||f.webkitURL,j=document.createElement("a");j.download=g2=g2||b2.name||"download",j.rel="noopener","string"==typeof b2?(j.href=b2,j.origin===location.origin?e(j):d(j.href)?c(b2,g2,h):e(j,j.target="_blank")):(j.href=i.createObjectURL(b2),setTimeout(function(){i.revokeObjectURL(j.href)},4e4),setTimeout(function(){e(j)},0))}:"msSaveOrOpenBlob"in navigator?function(f2,g2,h){if(g2=g2||f2.name||"download","string"!=typeof f2)navigator.msSaveOrOpenBlob(function b(a2,b2){return typeof b2>"u"?b2={autoBom:!1}:"object"!=typeof b2&&(console.warn("Deprecated: Expected third argument to be a object"),b2={autoBom:!b2}),b2.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a2.type)?new Blob(["\ufeff",a2],{type:a2.type}):a2}(f2,h),g2);else if(d(f2))c(f2,g2,h);else{var i=document.createElement("a");i.href=f2,i.target="_blank",setTimeout(function(){e(i)})}}:function(b2,d2,e2,g2){if((g2=g2||open("","_blank"))&&(g2.document.title=g2.document.body.innerText="downloading..."),"string"==typeof b2)return c(b2,d2,e2);var h="application/octet-stream"===b2.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\/[\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&typeof FileReader<"u"){var k=new FileReader;k.onloadend=function(){var a2=k.result;a2=j?a2:a2.replace(/^data:[^;]*;/,"data:attachment/file;"),g2?g2.location.href=a2:location=a2,g2=null},k.readAsDataURL(b2)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b2);g2?g2.location=m:location.href=m,g2=null,setTimeout(function(){l.revokeObjectURL(m)},4e4)}});f.saveAs=g.saveAs=g,module.exports=g})?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,[]):__WEBPACK_AMD_DEFINE_FACTORY__)&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)},3307:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var isCallable=__webpack_require__(2238),toStr=Object.prototype.toString,hasOwnProperty=Object.prototype.hasOwnProperty;module.exports=function(list,iterator,thisArg){if(!isCallable(iterator))throw new TypeError("iterator must be a function");var receiver;arguments.length>=3&&(receiver=thisArg),"[object Array]"===toStr.call(list)?function(array,iterator,receiver){for(var i=0,len=array.length;i{"use strict";var slice=Array.prototype.slice,toStr=Object.prototype.toString;module.exports=function(that){var target=this;if("function"!=typeof target||"[object Function]"!==toStr.call(target))throw new TypeError("Function.prototype.bind called on incompatible "+target);for(var bound,args=slice.call(arguments,1),boundLength=Math.max(0,target.length-args.length),boundArgs=[],i=0;i{"use strict";var implementation=__webpack_require__(238);module.exports=Function.prototype.bind||implementation},491:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var $SyntaxError=SyntaxError,$Function=Function,$TypeError=TypeError,getEvalledConstructor=function(expressionSyntax){try{return $Function('"use strict"; return ('+expressionSyntax+").constructor;")()}catch{}},$gOPD=Object.getOwnPropertyDescriptor;if($gOPD)try{$gOPD({},"")}catch{$gOPD=null}var throwTypeError=function(){throw new $TypeError},ThrowTypeError=$gOPD?function(){try{return throwTypeError}catch{try{return $gOPD(arguments,"callee").get}catch{return throwTypeError}}}():throwTypeError,hasSymbols=__webpack_require__(6152)(),hasProto=__webpack_require__(9028)(),getProto=Object.getPrototypeOf||(hasProto?function(x){return x.__proto__}:null),needsEval={},TypedArray=typeof Uint8Array>"u"||!getProto?void 0:getProto(Uint8Array),INTRINSICS={"%AggregateError%":typeof AggregateError>"u"?void 0:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?void 0:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols&&getProto?getProto([][Symbol.iterator]()):void 0,"%AsyncFromSyncIteratorPrototype%":void 0,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":typeof Atomics>"u"?void 0:Atomics,"%BigInt%":typeof BigInt>"u"?void 0:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?void 0:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?void 0:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?void 0:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?void 0:Float32Array,"%Float64Array%":typeof Float64Array>"u"?void 0:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?void 0:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":typeof Int8Array>"u"?void 0:Int8Array,"%Int16Array%":typeof Int16Array>"u"?void 0:Int16Array,"%Int32Array%":typeof Int32Array>"u"?void 0:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):void 0,"%JSON%":"object"==typeof JSON?JSON:void 0,"%Map%":typeof Map>"u"?void 0:Map,"%MapIteratorPrototype%":typeof Map>"u"||!hasSymbols||!getProto?void 0:getProto((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?void 0:Promise,"%Proxy%":typeof Proxy>"u"?void 0:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?void 0:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?void 0:Set,"%SetIteratorPrototype%":typeof Set>"u"||!hasSymbols||!getProto?void 0:getProto((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?void 0:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols&&getProto?getProto(""[Symbol.iterator]()):void 0,"%Symbol%":hasSymbols?Symbol:void 0,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError,"%Uint8Array%":typeof Uint8Array>"u"?void 0:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?void 0:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?void 0:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?void 0:WeakMap,"%WeakRef%":typeof WeakRef>"u"?void 0:WeakRef,"%WeakSet%":typeof WeakSet>"u"?void 0:WeakSet};if(getProto)try{null.error}catch(e){var errorProto=getProto(getProto(e));INTRINSICS["%Error.prototype%"]=errorProto}var doEval=function doEval2(name){var value;if("%AsyncFunction%"===name)value=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===name)value=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===name)value=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===name){var fn=doEval2("%AsyncGeneratorFunction%");fn&&(value=fn.prototype)}else if("%AsyncIteratorPrototype%"===name){var gen=doEval2("%AsyncGenerator%");gen&&getProto&&(value=getProto(gen.prototype))}return INTRINSICS[name]=value,value},LEGACY_ALIASES={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bind=__webpack_require__(5333),hasOwn=__webpack_require__(8533),$concat=bind.call(Function.call,Array.prototype.concat),$spliceApply=bind.call(Function.apply,Array.prototype.splice),$replace=bind.call(Function.call,String.prototype.replace),$strSlice=bind.call(Function.call,String.prototype.slice),$exec=bind.call(Function.call,RegExp.prototype.exec),rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar=/\\(\\)?/g,getBaseIntrinsic=function(name,allowMissing){var alias,intrinsicName=name;if(hasOwn(LEGACY_ALIASES,intrinsicName)&&(intrinsicName="%"+(alias=LEGACY_ALIASES[intrinsicName])[0]+"%"),hasOwn(INTRINSICS,intrinsicName)){var value=INTRINSICS[intrinsicName];if(value===needsEval&&(value=doEval(intrinsicName)),typeof value>"u"&&!allowMissing)throw new $TypeError("intrinsic "+name+" exists, but is not available. Please file an issue!");return{alias,name:intrinsicName,value}}throw new $SyntaxError("intrinsic "+name+" does not exist!")};module.exports=function(name,allowMissing){if("string"!=typeof name||0===name.length)throw new $TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof allowMissing)throw new $TypeError('"allowMissing" argument must be a boolean');if(null===$exec(/^%?[^%]*%?$/,name))throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var parts=function(string){var first2=$strSlice(string,0,1),last=$strSlice(string,-1);if("%"===first2&&"%"!==last)throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if("%"===last&&"%"!==first2)throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var result=[];return $replace(string,rePropName,function(match,number,quote,subString){result[result.length]=quote?$replace(subString,reEscapeChar,"$1"):number||match}),result}(name),intrinsicBaseName=parts.length>0?parts[0]:"",intrinsic=getBaseIntrinsic("%"+intrinsicBaseName+"%",allowMissing),intrinsicRealName=intrinsic.name,value=intrinsic.value,skipFurtherCaching=!1,alias=intrinsic.alias;alias&&(intrinsicBaseName=alias[0],$spliceApply(parts,$concat([0,1],alias)));for(var i=1,isOwn=!0;i=parts.length){var desc=$gOPD(value,part);value=(isOwn=!!desc)&&"get"in desc&&!("originalValue"in desc.get)?desc.get:value[part]}else isOwn=hasOwn(value,part),value=value[part];isOwn&&!skipFurtherCaching&&(INTRINSICS[intrinsicRealName]=value)}}return value}},9262:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var $gOPD=__webpack_require__(491)("%Object.getOwnPropertyDescriptor%",!0);if($gOPD)try{$gOPD([],"length")}catch{$gOPD=null}module.exports=$gOPD},2486:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var $defineProperty=__webpack_require__(491)("%Object.defineProperty%",!0),hasPropertyDescriptors=function(){if($defineProperty)try{return $defineProperty({},"a",{value:1}),!0}catch{return!1}return!1};hasPropertyDescriptors.hasArrayLengthDefineBug=function(){if(!hasPropertyDescriptors())return null;try{return 1!==$defineProperty([],"length",{value:1}).length}catch{return!0}},module.exports=hasPropertyDescriptors},9028:module=>{"use strict";var test={foo:{}},$Object=Object;module.exports=function(){return{__proto__:test}.foo===test.foo&&!({__proto__:null}instanceof $Object)}},6152:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var origSymbol=typeof Symbol<"u"&&Symbol,hasSymbolSham=__webpack_require__(5441);module.exports=function(){return"function"==typeof origSymbol&&"function"==typeof Symbol&&"symbol"==typeof origSymbol("foo")&&"symbol"==typeof Symbol("bar")&&hasSymbolSham()}},5441:module=>{"use strict";module.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var obj={},sym=Symbol("test"),symObj=Object(sym);if("string"==typeof sym||"[object Symbol]"!==Object.prototype.toString.call(sym)||"[object Symbol]"!==Object.prototype.toString.call(symObj))return!1;for(sym in obj[sym]=42,obj)return!1;if("function"==typeof Object.keys&&0!==Object.keys(obj).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(obj).length)return!1;var syms=Object.getOwnPropertySymbols(obj);if(1!==syms.length||syms[0]!==sym||!Object.prototype.propertyIsEnumerable.call(obj,sym))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(42!==descriptor.value||!0!==descriptor.enumerable)return!1}return!0}},8041:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var hasSymbols=__webpack_require__(5441);module.exports=function(){return hasSymbols()&&!!Symbol.toStringTag}},8533:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var bind=__webpack_require__(5333);module.exports=bind.call(Function.call,Object.prototype.hasOwnProperty)},6698:module=>{module.exports="function"==typeof Object.create?function(ctor,superCtor){superCtor&&(ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}}))}:function(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}}},8147:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var hasToStringTag=__webpack_require__(8041)(),$toString=__webpack_require__(1098)("Object.prototype.toString"),isStandardArguments=function(value){return!(hasToStringTag&&value&&"object"==typeof value&&Symbol.toStringTag in value)&&"[object Arguments]"===$toString(value)},isLegacyArguments=function(value){return!!isStandardArguments(value)||null!==value&&"object"==typeof value&&"number"==typeof value.length&&value.length>=0&&"[object Array]"!==$toString(value)&&"[object Function]"===$toString(value.callee)},supportsStandardArguments=function(){return isStandardArguments(arguments)}();isStandardArguments.isLegacyArguments=isLegacyArguments,module.exports=supportsStandardArguments?isStandardArguments:isLegacyArguments},2238:module=>{"use strict";var badArrayLike,isCallableMarker,fnToStr=Function.prototype.toString,reflectApply="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof reflectApply&&"function"==typeof Object.defineProperty)try{badArrayLike=Object.defineProperty({},"length",{get:function(){throw isCallableMarker}}),isCallableMarker={},reflectApply(function(){throw 42},null,badArrayLike)}catch(_){_!==isCallableMarker&&(reflectApply=null)}else reflectApply=null;var constructorRegex=/^\s*class\b/,isES6ClassFn=function(value){try{var fnStr=fnToStr.call(value);return constructorRegex.test(fnStr)}catch{return!1}},tryFunctionObject=function(value){try{return!isES6ClassFn(value)&&(fnToStr.call(value),!0)}catch{return!1}},toStr=Object.prototype.toString,hasToStringTag="function"==typeof Symbol&&!!Symbol.toStringTag,isIE68=!(0 in[,]),isDDA=function(){return!1};if("object"==typeof document){var all=document.all;toStr.call(all)===toStr.call(document.all)&&(isDDA=function(value){if((isIE68||!value)&&(typeof value>"u"||"object"==typeof value))try{var str=toStr.call(value);return("[object HTMLAllCollection]"===str||"[object HTML document.all class]"===str||"[object HTMLCollection]"===str||"[object Object]"===str)&&null==value("")}catch{}return!1})}module.exports=reflectApply?function(value){if(isDDA(value))return!0;if(!value||"function"!=typeof value&&"object"!=typeof value)return!1;try{reflectApply(value,null,badArrayLike)}catch(e){if(e!==isCallableMarker)return!1}return!isES6ClassFn(value)&&tryFunctionObject(value)}:function(value){if(isDDA(value))return!0;if(!value||"function"!=typeof value&&"object"!=typeof value)return!1;if(hasToStringTag)return tryFunctionObject(value);if(isES6ClassFn(value))return!1;var strClass=toStr.call(value);return!("[object Function]"!==strClass&&"[object GeneratorFunction]"!==strClass&&!/^\[object HTML/.test(strClass))&&tryFunctionObject(value)}},3286:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var GeneratorFunction,toStr=Object.prototype.toString,fnToStr=Function.prototype.toString,isFnRegex=/^\s*(?:function)?\*/,hasToStringTag=__webpack_require__(8041)(),getProto=Object.getPrototypeOf;module.exports=function(fn){if("function"!=typeof fn)return!1;if(isFnRegex.test(fnToStr.call(fn)))return!0;if(!hasToStringTag)return"[object GeneratorFunction]"===toStr.call(fn);if(!getProto)return!1;if(typeof GeneratorFunction>"u"){var generatorFunc=function(){if(!hasToStringTag)return!1;try{return Function("return function*() {}")()}catch{}}();GeneratorFunction=!!generatorFunc&&getProto(generatorFunc)}return getProto(fn)===GeneratorFunction}},4904:module=>{"use strict";module.exports=function(value){return value!=value}},389:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var callBind=__webpack_require__(5436),define=__webpack_require__(1648),implementation=__webpack_require__(4904),getPolyfill=__webpack_require__(5528),shim=__webpack_require__(5505),polyfill=callBind(getPolyfill(),Number);define(polyfill,{getPolyfill,implementation,shim}),module.exports=polyfill},5528:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var implementation=__webpack_require__(4904);module.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:implementation}},5505:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var define=__webpack_require__(1648),getPolyfill=__webpack_require__(5528);module.exports=function(){var polyfill=getPolyfill();return define(Number,{isNaN:polyfill},{isNaN:function(){return Number.isNaN!==polyfill}}),polyfill}},2462:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var whichTypedArray=__webpack_require__(6326);module.exports=function(value){return!!whichTypedArray(value)}},4246:module=>{"use strict";var numberIsNaN=function(value){return value!=value};module.exports=function(a,b){return 0===a&&0===b?1/a==1/b:!!(a===b||numberIsNaN(a)&&numberIsNaN(b))}},314:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var define=__webpack_require__(1648),callBind=__webpack_require__(5436),implementation=__webpack_require__(4246),getPolyfill=__webpack_require__(1353),shim=__webpack_require__(3090),polyfill=callBind(getPolyfill(),Object);define(polyfill,{getPolyfill,implementation,shim}),module.exports=polyfill},1353:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var implementation=__webpack_require__(4246);module.exports=function(){return"function"==typeof Object.is?Object.is:implementation}},3090:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var getPolyfill=__webpack_require__(1353),define=__webpack_require__(1648);module.exports=function(){var polyfill=getPolyfill();return define(Object,{is:polyfill},{is:function(){return Object.is!==polyfill}}),polyfill}},7972:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var keysShim;if(!Object.keys){var has=Object.prototype.hasOwnProperty,toStr=Object.prototype.toString,isArgs=__webpack_require__(9637),isEnumerable=Object.prototype.propertyIsEnumerable,hasDontEnumBug=!isEnumerable.call({toString:null},"toString"),hasProtoEnumBug=isEnumerable.call(function(){},"prototype"),dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],equalsConstructorPrototype=function(o){var ctor=o.constructor;return ctor&&ctor.prototype===o},excludedKeys={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},hasAutomationEqualityBug=function(){if(typeof window>"u")return!1;for(var k in window)try{if(!excludedKeys["$"+k]&&has.call(window,k)&&null!==window[k]&&"object"==typeof window[k])try{equalsConstructorPrototype(window[k])}catch{return!0}}catch{return!0}return!1}();keysShim=function(object){var isObject=null!==object&&"object"==typeof object,isFunction="[object Function]"===toStr.call(object),isArguments=isArgs(object),isString=isObject&&"[object String]"===toStr.call(object),theKeys=[];if(!isObject&&!isFunction&&!isArguments)throw new TypeError("Object.keys called on a non-object");var skipProto=hasProtoEnumBug&&isFunction;if(isString&&object.length>0&&!has.call(object,0))for(var i=0;i0)for(var j=0;j"u"||!hasAutomationEqualityBug)return equalsConstructorPrototype(o);try{return equalsConstructorPrototype(o)}catch{return!1}}(object),k=0;k{"use strict";var slice=Array.prototype.slice,isArgs=__webpack_require__(9637),origKeys=Object.keys,keysShim=origKeys?function(o){return origKeys(o)}:__webpack_require__(7972),originalKeys=Object.keys;keysShim.shim=function(){if(Object.keys){var keysWorksWithArguments=function(){var args=Object.keys(arguments);return args&&args.length===arguments.length}(1,2);keysWorksWithArguments||(Object.keys=function(object){return isArgs(object)?originalKeys(slice.call(object)):originalKeys(object)})}else Object.keys=keysShim;return Object.keys||keysShim},module.exports=keysShim},9637:module=>{"use strict";var toStr=Object.prototype.toString;module.exports=function(value){var str=toStr.call(value),isArgs="[object Arguments]"===str;return isArgs||(isArgs="[object Array]"!==str&&null!==value&&"object"==typeof value&&"number"==typeof value.length&&value.length>=0&&"[object Function]"===toStr.call(value.callee)),isArgs}},6304:(module,__unused_webpack_exports,__webpack_require__)=>{var encoding=__webpack_require__(290);module.exports={TextEncoder:encoding.TextEncoder,TextDecoder:encoding.TextDecoder}},6413:function(module){!function(global2){"use strict";module.exports&&(module.exports=global2),global2["encoding-indexes"]={big5:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,162799,23515,138590,23204,13861,171696,23249,23479,23804,26478,34195,170309,29793,29853,14453,138579,145054,155681,16108,153822,15093,31484,40855,147809,166157,143850,133770,143966,17162,33924,40854,37935,18736,34323,22678,38730,37400,31184,31282,26208,27177,34973,29772,31685,26498,31276,21071,36934,13542,29636,155065,29894,40903,22451,18735,21580,16689,145038,22552,31346,162661,35727,18094,159368,16769,155033,31662,140476,40904,140481,140489,140492,40905,34052,144827,16564,40906,17633,175615,25281,28782,40907,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,12736,12737,12738,12739,12740,131340,12741,131281,131277,12742,12743,131275,139240,12744,131274,12745,12746,12747,12748,131342,12749,12750,256,193,461,192,274,201,282,200,332,211,465,210,null,7870,null,7872,202,257,225,462,224,593,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,null,7871,null,7873,234,609,9178,9179,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,172969,135493,null,25866,null,null,20029,28381,40270,37343,null,null,161589,25745,20250,20264,20392,20822,20852,20892,20964,21153,21160,21307,21326,21457,21464,22242,22768,22788,22791,22834,22836,23398,23454,23455,23706,24198,24635,25993,26622,26628,26725,27982,28860,30005,32420,32428,32442,32455,32463,32479,32518,32567,33402,33487,33647,35270,35774,35810,36710,36711,36718,29713,31996,32205,26950,31433,21031,null,null,null,null,37260,30904,37214,32956,null,36107,33014,133607,null,null,32927,40647,19661,40393,40460,19518,171510,159758,40458,172339,13761,null,28314,33342,29977,null,18705,39532,39567,40857,31111,164972,138698,132560,142054,20004,20097,20096,20103,20159,20203,20279,13388,20413,15944,20483,20616,13437,13459,13477,20870,22789,20955,20988,20997,20105,21113,21136,21287,13767,21417,13649,21424,13651,21442,21539,13677,13682,13953,21651,21667,21684,21689,21712,21743,21784,21795,21800,13720,21823,13733,13759,21975,13765,163204,21797,null,134210,134421,151851,21904,142534,14828,131905,36422,150968,169189,16467,164030,30586,142392,14900,18389,164189,158194,151018,25821,134524,135092,134357,135412,25741,36478,134806,134155,135012,142505,164438,148691,null,134470,170573,164073,18420,151207,142530,39602,14951,169460,16365,13574,152263,169940,161992,142660,40302,38933,null,17369,155813,25780,21731,142668,142282,135287,14843,135279,157402,157462,162208,25834,151634,134211,36456,139681,166732,132913,null,18443,131497,16378,22643,142733,null,148936,132348,155799,134988,134550,21881,16571,17338,null,19124,141926,135325,33194,39157,134556,25465,14846,141173,36288,22177,25724,15939,null,173569,134665,142031,142537,null,135368,145858,14738,14854,164507,13688,155209,139463,22098,134961,142514,169760,13500,27709,151099,null,null,161140,142987,139784,173659,167117,134778,134196,157724,32659,135375,141315,141625,13819,152035,134796,135053,134826,16275,134960,134471,135503,134732,null,134827,134057,134472,135360,135485,16377,140950,25650,135085,144372,161337,142286,134526,134527,142417,142421,14872,134808,135367,134958,173618,158544,167122,167321,167114,38314,21708,33476,21945,null,171715,39974,39606,161630,142830,28992,33133,33004,23580,157042,33076,14231,21343,164029,37302,134906,134671,134775,134907,13789,151019,13833,134358,22191,141237,135369,134672,134776,135288,135496,164359,136277,134777,151120,142756,23124,135197,135198,135413,135414,22428,134673,161428,164557,135093,134779,151934,14083,135094,135552,152280,172733,149978,137274,147831,164476,22681,21096,13850,153405,31666,23400,18432,19244,40743,18919,39967,39821,154484,143677,22011,13810,22153,20008,22786,138177,194680,38737,131206,20059,20155,13630,23587,24401,24516,14586,25164,25909,27514,27701,27706,28780,29227,20012,29357,149737,32594,31035,31993,32595,156266,13505,null,156491,32770,32896,157202,158033,21341,34916,35265,161970,35744,36125,38021,38264,38271,38376,167439,38886,39029,39118,39134,39267,17e4,40060,40479,40644,27503,63751,20023,131207,38429,25143,38050,null,20539,28158,171123,40870,15817,34959,147790,28791,23797,19232,152013,13657,154928,24866,166450,36775,37366,29073,26393,29626,144001,172295,15499,137600,19216,30948,29698,20910,165647,16393,27235,172730,16931,34319,133743,31274,170311,166634,38741,28749,21284,139390,37876,30425,166371,40871,30685,20131,20464,20668,20015,20247,40872,21556,32139,22674,22736,138678,24210,24217,24514,141074,25995,144377,26905,27203,146531,27903,null,29184,148741,29580,16091,150035,23317,29881,35715,154788,153237,31379,31724,31939,32364,33528,34199,40873,34960,40874,36537,40875,36815,34143,39392,37409,40876,167353,136255,16497,17058,23066,null,null,null,39016,26475,17014,22333,null,34262,149883,33471,160013,19585,159092,23931,158485,159678,40877,40878,23446,40879,26343,32347,28247,31178,15752,17603,143958,141206,17306,17718,null,23765,146202,35577,23672,15634,144721,23928,40882,29015,17752,147692,138787,19575,14712,13386,131492,158785,35532,20404,131641,22975,33132,38998,170234,24379,134047,null,139713,166253,16642,18107,168057,16135,40883,172469,16632,14294,18167,158790,16764,165554,160767,17773,14548,152730,17761,17691,19849,19579,19830,17898,16328,150287,13921,17630,17597,16877,23870,23880,23894,15868,14351,23972,23993,14368,14392,24130,24253,24357,24451,14600,14612,14655,14669,24791,24893,23781,14729,25015,25017,25039,14776,25132,25232,25317,25368,14840,22193,14851,25570,25595,25607,25690,14923,25792,23829,22049,40863,14999,25990,15037,26111,26195,15090,26258,15138,26390,15170,26532,26624,15192,26698,26756,15218,15217,15227,26889,26947,29276,26980,27039,27013,15292,27094,15325,27237,27252,27249,27266,15340,27289,15346,27307,27317,27348,27382,27521,27585,27626,27765,27818,15563,27906,27910,27942,28033,15599,28068,28081,28181,28184,28201,28294,166336,28347,28386,28378,40831,28392,28393,28452,28468,15686,147265,28545,28606,15722,15733,29111,23705,15754,28716,15761,28752,28756,28783,28799,28809,131877,17345,13809,134872,147159,22462,159443,28990,153568,13902,27042,166889,23412,31305,153825,169177,31333,31357,154028,31419,31408,31426,31427,29137,156813,16842,31450,31453,31466,16879,21682,154625,31499,31573,31529,152334,154878,31650,31599,33692,154548,158847,31696,33825,31634,31672,154912,15789,154725,33938,31738,31750,31797,154817,31812,31875,149634,31910,26237,148856,31945,31943,31974,31860,31987,31989,31950,32359,17693,159300,32093,159446,29837,32137,32171,28981,32179,32210,147543,155689,32228,15635,32245,137209,32229,164717,32285,155937,155994,32366,32402,17195,37996,32295,32576,32577,32583,31030,156368,39393,32663,156497,32675,136801,131176,17756,145254,17667,164666,32762,156809,32773,32776,32797,32808,32815,172167,158915,32827,32828,32865,141076,18825,157222,146915,157416,26405,32935,166472,33031,33050,22704,141046,27775,156824,151480,25831,136330,33304,137310,27219,150117,150165,17530,33321,133901,158290,146814,20473,136445,34018,33634,158474,149927,144688,137075,146936,33450,26907,194964,16859,34123,33488,33562,134678,137140,14017,143741,144730,33403,33506,33560,147083,159139,158469,158615,144846,15807,33565,21996,33669,17675,159141,33708,33729,33747,13438,159444,27223,34138,13462,159298,143087,33880,154596,33905,15827,17636,27303,33866,146613,31064,33960,158614,159351,159299,34014,33807,33681,17568,33939,34020,154769,16960,154816,17731,34100,23282,159385,17703,34163,17686,26559,34326,165413,165435,34241,159880,34306,136578,159949,194994,17770,34344,13896,137378,21495,160666,34430,34673,172280,34798,142375,34737,34778,34831,22113,34412,26710,17935,34885,34886,161248,146873,161252,34910,34972,18011,34996,34997,25537,35013,30583,161551,35207,35210,35238,35241,35239,35260,166437,35303,162084,162493,35484,30611,37374,35472,162393,31465,162618,147343,18195,162616,29052,35596,35615,152624,152933,35647,35660,35661,35497,150138,35728,35739,35503,136927,17941,34895,35995,163156,163215,195028,14117,163155,36054,163224,163261,36114,36099,137488,36059,28764,36113,150729,16080,36215,36265,163842,135188,149898,15228,164284,160012,31463,36525,36534,36547,37588,36633,36653,164709,164882,36773,37635,172703,133712,36787,18730,166366,165181,146875,24312,143970,36857,172052,165564,165121,140069,14720,159447,36919,165180,162494,36961,165228,165387,37032,165651,37060,165606,37038,37117,37223,15088,37289,37316,31916,166195,138889,37390,27807,37441,37474,153017,37561,166598,146587,166668,153051,134449,37676,37739,166625,166891,28815,23235,166626,166629,18789,37444,166892,166969,166911,37747,37979,36540,38277,38310,37926,38304,28662,17081,140922,165592,135804,146990,18911,27676,38523,38550,16748,38563,159445,25050,38582,30965,166624,38589,21452,18849,158904,131700,156688,168111,168165,150225,137493,144138,38705,34370,38710,18959,17725,17797,150249,28789,23361,38683,38748,168405,38743,23370,168427,38751,37925,20688,143543,143548,38793,38815,38833,38846,38848,38866,38880,152684,38894,29724,169011,38911,38901,168989,162170,19153,38964,38963,38987,39014,15118,160117,15697,132656,147804,153350,39114,39095,39112,39111,19199,159015,136915,21936,39137,39142,39148,37752,39225,150057,19314,170071,170245,39413,39436,39483,39440,39512,153381,14020,168113,170965,39648,39650,170757,39668,19470,39700,39725,165376,20532,39732,158120,14531,143485,39760,39744,171326,23109,137315,39822,148043,39938,39935,39948,171624,40404,171959,172434,172459,172257,172323,172511,40318,40323,172340,40462,26760,40388,139611,172435,172576,137531,172595,40249,172217,172724,40592,40597,40606,40610,19764,40618,40623,148324,40641,15200,14821,15645,20274,14270,166955,40706,40712,19350,37924,159138,40727,40726,40761,22175,22154,40773,39352,168075,38898,33919,40802,40809,31452,40846,29206,19390,149877,149947,29047,150008,148296,150097,29598,166874,137466,31135,166270,167478,37737,37875,166468,37612,37761,37835,166252,148665,29207,16107,30578,31299,28880,148595,148472,29054,137199,28835,137406,144793,16071,137349,152623,137208,14114,136955,137273,14049,137076,137425,155467,14115,136896,22363,150053,136190,135848,136134,136374,34051,145062,34051,33877,149908,160101,146993,152924,147195,159826,17652,145134,170397,159526,26617,14131,15381,15847,22636,137506,26640,16471,145215,147681,147595,147727,158753,21707,22174,157361,22162,135135,134056,134669,37830,166675,37788,20216,20779,14361,148534,20156,132197,131967,20299,20362,153169,23144,131499,132043,14745,131850,132116,13365,20265,131776,167603,131701,35546,131596,20120,20685,20749,20386,20227,150030,147082,20290,20526,20588,20609,20428,20453,20568,20732,20825,20827,20829,20830,28278,144789,147001,147135,28018,137348,147081,20904,20931,132576,17629,132259,132242,132241,36218,166556,132878,21081,21156,133235,21217,37742,18042,29068,148364,134176,149932,135396,27089,134685,29817,16094,29849,29716,29782,29592,19342,150204,147597,21456,13700,29199,147657,21940,131909,21709,134086,22301,37469,38644,37734,22493,22413,22399,13886,22731,23193,166470,136954,137071,136976,23084,22968,37519,23166,23247,23058,153926,137715,137313,148117,14069,27909,29763,23073,155267,23169,166871,132115,37856,29836,135939,28933,18802,37896,166395,37821,14240,23582,23710,24158,24136,137622,137596,146158,24269,23375,137475,137476,14081,137376,14045,136958,14035,33066,166471,138682,144498,166312,24332,24334,137511,137131,23147,137019,23364,34324,161277,34912,24702,141408,140843,24539,16056,140719,140734,168072,159603,25024,131134,131142,140827,24985,24984,24693,142491,142599,149204,168269,25713,149093,142186,14889,142114,144464,170218,142968,25399,173147,25782,25393,25553,149987,142695,25252,142497,25659,25963,26994,15348,143502,144045,149897,144043,21773,144096,137433,169023,26318,144009,143795,15072,16784,152964,166690,152975,136956,152923,152613,30958,143619,137258,143924,13412,143887,143746,148169,26254,159012,26219,19347,26160,161904,138731,26211,144082,144097,26142,153714,14545,145466,145340,15257,145314,144382,29904,15254,26511,149034,26806,26654,15300,27326,14435,145365,148615,27187,27218,27337,27397,137490,25873,26776,27212,15319,27258,27479,147392,146586,37792,37618,166890,166603,37513,163870,166364,37991,28069,28427,149996,28007,147327,15759,28164,147516,23101,28170,22599,27940,30786,28987,148250,148086,28913,29264,29319,29332,149391,149285,20857,150180,132587,29818,147192,144991,150090,149783,155617,16134,16049,150239,166947,147253,24743,16115,29900,29756,37767,29751,17567,159210,17745,30083,16227,150745,150790,16216,30037,30323,173510,15129,29800,166604,149931,149902,15099,15821,150094,16127,149957,149747,37370,22322,37698,166627,137316,20703,152097,152039,30584,143922,30478,30479,30587,149143,145281,14942,149744,29752,29851,16063,150202,150215,16584,150166,156078,37639,152961,30750,30861,30856,30930,29648,31065,161601,153315,16654,31131,33942,31141,27181,147194,31290,31220,16750,136934,16690,37429,31217,134476,149900,131737,146874,137070,13719,21867,13680,13994,131540,134157,31458,23129,141045,154287,154268,23053,131675,30960,23082,154566,31486,16889,31837,31853,16913,154547,155324,155302,31949,150009,137136,31886,31868,31918,27314,32220,32263,32211,32590,156257,155996,162632,32151,155266,17002,158581,133398,26582,131150,144847,22468,156690,156664,149858,32733,31527,133164,154345,154947,31500,155150,39398,34373,39523,27164,144447,14818,150007,157101,39455,157088,33920,160039,158929,17642,33079,17410,32966,33033,33090,157620,39107,158274,33378,33381,158289,33875,159143,34320,160283,23174,16767,137280,23339,137377,23268,137432,34464,195004,146831,34861,160802,23042,34926,20293,34951,35007,35046,35173,35149,153219,35156,161669,161668,166901,166873,166812,166393,16045,33955,18165,18127,14322,35389,35356,169032,24397,37419,148100,26068,28969,28868,137285,40301,35999,36073,163292,22938,30659,23024,17262,14036,36394,36519,150537,36656,36682,17140,27736,28603,140065,18587,28537,28299,137178,39913,14005,149807,37051,37015,21873,18694,37307,37892,166475,16482,166652,37927,166941,166971,34021,35371,38297,38311,38295,38294,167220,29765,16066,149759,150082,148458,16103,143909,38543,167655,167526,167525,16076,149997,150136,147438,29714,29803,16124,38721,168112,26695,18973,168083,153567,38749,37736,166281,166950,166703,156606,37562,23313,35689,18748,29689,147995,38811,38769,39224,134950,24001,166853,150194,38943,169178,37622,169431,37349,17600,166736,150119,166756,39132,166469,16128,37418,18725,33812,39227,39245,162566,15869,39323,19311,39338,39516,166757,153800,27279,39457,23294,39471,170225,19344,170312,39356,19389,19351,37757,22642,135938,22562,149944,136424,30788,141087,146872,26821,15741,37976,14631,24912,141185,141675,24839,40015,40019,40059,39989,39952,39807,39887,171565,39839,172533,172286,40225,19630,147716,40472,19632,40204,172468,172269,172275,170287,40357,33981,159250,159711,158594,34300,17715,159140,159364,159216,33824,34286,159232,145367,155748,31202,144796,144960,18733,149982,15714,37851,37566,37704,131775,30905,37495,37965,20452,13376,36964,152925,30781,30804,30902,30795,137047,143817,149825,13978,20338,28634,28633,28702,28702,21524,147893,22459,22771,22410,40214,22487,28980,13487,147884,29163,158784,151447,23336,137141,166473,24844,23246,23051,17084,148616,14124,19323,166396,37819,37816,137430,134941,33906,158912,136211,148218,142374,148417,22932,146871,157505,32168,155995,155812,149945,149899,166394,37605,29666,16105,29876,166755,137375,16097,150195,27352,29683,29691,16086,150078,150164,137177,150118,132007,136228,149989,29768,149782,28837,149878,37508,29670,37727,132350,37681,166606,166422,37766,166887,153045,18741,166530,29035,149827,134399,22180,132634,134123,134328,21762,31172,137210,32254,136898,150096,137298,17710,37889,14090,166592,149933,22960,137407,137347,160900,23201,14050,146779,14e3,37471,23161,166529,137314,37748,15565,133812,19094,14730,20724,15721,15692,136092,29045,17147,164376,28175,168164,17643,27991,163407,28775,27823,15574,147437,146989,28162,28428,15727,132085,30033,14012,13512,18048,16090,18545,22980,37486,18750,36673,166940,158656,22546,22472,14038,136274,28926,148322,150129,143331,135856,140221,26809,26983,136088,144613,162804,145119,166531,145366,144378,150687,27162,145069,158903,33854,17631,17614,159014,159057,158850,159710,28439,160009,33597,137018,33773,158848,159827,137179,22921,23170,137139,23137,23153,137477,147964,14125,23023,137020,14023,29070,37776,26266,148133,23150,23083,148115,27179,147193,161590,148571,148170,28957,148057,166369,20400,159016,23746,148686,163405,148413,27148,148054,135940,28838,28979,148457,15781,27871,194597,150095,32357,23019,23855,15859,24412,150109,137183,32164,33830,21637,146170,144128,131604,22398,133333,132633,16357,139166,172726,28675,168283,23920,29583,31955,166489,168992,20424,32743,29389,29456,162548,29496,29497,153334,29505,29512,16041,162584,36972,29173,149746,29665,33270,16074,30476,16081,27810,22269,29721,29726,29727,16098,16112,16116,16122,29907,16142,16211,30018,30061,30066,30093,16252,30152,30172,16320,30285,16343,30324,16348,30330,151388,29064,22051,35200,22633,16413,30531,16441,26465,16453,13787,30616,16490,16495,23646,30654,30667,22770,30744,28857,30748,16552,30777,30791,30801,30822,33864,152885,31027,26627,31026,16643,16649,31121,31129,36795,31238,36796,16743,31377,16818,31420,33401,16836,31439,31451,16847,20001,31586,31596,31611,31762,31771,16992,17018,31867,31900,17036,31928,17044,31981,36755,28864,134351,32207,32212,32208,32253,32686,32692,29343,17303,32800,32805,31545,32814,32817,32852,15820,22452,28832,32951,33001,17389,33036,29482,33038,33042,30048,33044,17409,15161,33110,33113,33114,17427,22586,33148,33156,17445,33171,17453,33189,22511,33217,33252,33364,17551,33446,33398,33482,33496,33535,17584,33623,38505,27018,33797,28917,33892,24803,33928,17668,33982,34017,34040,34064,34104,34130,17723,34159,34160,34272,17783,34418,34450,34482,34543,38469,34699,17926,17943,34990,35071,35108,35143,35217,162151,35369,35384,35476,35508,35921,36052,36082,36124,18328,22623,36291,18413,20206,36410,21976,22356,36465,22005,36528,18487,36558,36578,36580,36589,36594,36791,36801,36810,36812,36915,39364,18605,39136,37395,18718,37416,37464,37483,37553,37550,37567,37603,37611,37619,37620,37629,37699,37764,37805,18757,18769,40639,37911,21249,37917,37933,37950,18794,37972,38009,38189,38306,18855,38388,38451,18917,26528,18980,38720,18997,38834,38850,22100,19172,24808,39097,19225,39153,22596,39182,39193,20916,39196,39223,39234,39261,39266,19312,39365,19357,39484,39695,31363,39785,39809,39901,39921,39924,19565,39968,14191,138178,40265,39994,40702,22096,40339,40381,40384,40444,38134,36790,40571,40620,40625,40637,40646,38108,40674,40689,40696,31432,40772,131220,131767,132e3,26906,38083,22956,132311,22592,38081,14265,132565,132629,132726,136890,22359,29043,133826,133837,134079,21610,194619,134091,21662,134139,134203,134227,134245,134268,24807,134285,22138,134325,134365,134381,134511,134578,134600,26965,39983,34725,134660,134670,134871,135056,134957,134771,23584,135100,24075,135260,135247,135286,26398,135291,135304,135318,13895,135359,135379,135471,135483,21348,33965,135907,136053,135990,35713,136567,136729,137155,137159,20088,28859,137261,137578,137773,137797,138282,138352,138412,138952,25283,138965,139029,29080,26709,139333,27113,14024,139900,140247,140282,141098,141425,141647,33533,141671,141715,142037,35237,142056,36768,142094,38840,142143,38983,39613,142412,null,142472,142519,154600,142600,142610,142775,142741,142914,143220,143308,143411,143462,144159,144350,24497,26184,26303,162425,144743,144883,29185,149946,30679,144922,145174,32391,131910,22709,26382,26904,146087,161367,155618,146961,147129,161278,139418,18640,19128,147737,166554,148206,148237,147515,148276,148374,150085,132554,20946,132625,22943,138920,15294,146687,148484,148694,22408,149108,14747,149295,165352,170441,14178,139715,35678,166734,39382,149522,149755,150037,29193,150208,134264,22885,151205,151430,132985,36570,151596,21135,22335,29041,152217,152601,147274,150183,21948,152646,152686,158546,37332,13427,152895,161330,152926,18200,152930,152934,153543,149823,153693,20582,13563,144332,24798,153859,18300,166216,154286,154505,154630,138640,22433,29009,28598,155906,162834,36950,156082,151450,35682,156674,156746,23899,158711,36662,156804,137500,35562,150006,156808,147439,156946,19392,157119,157365,141083,37989,153569,24981,23079,194765,20411,22201,148769,157436,20074,149812,38486,28047,158909,13848,35191,157593,157806,156689,157790,29151,157895,31554,168128,133649,157990,37124,158009,31301,40432,158202,39462,158253,13919,156777,131105,31107,158260,158555,23852,144665,33743,158621,18128,158884,30011,34917,159150,22710,14108,140685,159819,160205,15444,160384,160389,37505,139642,160395,37680,160486,149968,27705,38047,160848,134904,34855,35061,141606,164979,137137,28344,150058,137248,14756,14009,23568,31203,17727,26294,171181,170148,35139,161740,161880,22230,16607,136714,14753,145199,164072,136133,29101,33638,162269,168360,23143,19639,159919,166315,162301,162314,162571,163174,147834,31555,31102,163849,28597,172767,27139,164632,21410,159239,37823,26678,38749,164207,163875,158133,136173,143919,163912,23941,166960,163971,22293,38947,166217,23979,149896,26046,27093,21458,150181,147329,15377,26422,163984,164084,164142,139169,164175,164233,164271,164378,164614,164655,164746,13770,164968,165546,18682,25574,166230,30728,37461,166328,17394,166375,17375,166376,166726,166868,23032,166921,36619,167877,168172,31569,168208,168252,15863,168286,150218,36816,29327,22155,169191,169449,169392,169400,169778,170193,170313,170346,170435,170536,170766,171354,171419,32415,171768,171811,19620,38215,172691,29090,172799,19857,36882,173515,19868,134300,36798,21953,36794,140464,36793,150163,17673,32383,28502,27313,20202,13540,166700,161949,14138,36480,137205,163876,166764,166809,162366,157359,15851,161365,146615,153141,153942,20122,155265,156248,22207,134765,36366,23405,147080,150686,25566,25296,137206,137339,25904,22061,154698,21530,152337,15814,171416,19581,22050,22046,32585,155352,22901,146752,34672,19996,135146,134473,145082,33047,40286,36120,30267,40005,30286,30649,37701,21554,33096,33527,22053,33074,33816,32957,21994,31074,22083,21526,134813,13774,22021,22001,26353,164578,13869,30004,22e3,21946,21655,21874,134209,134294,24272,151880,134774,142434,134818,40619,32090,21982,135285,25245,38765,21652,36045,29174,37238,25596,25529,25598,21865,142147,40050,143027,20890,13535,134567,20903,21581,21790,21779,30310,36397,157834,30129,32950,34820,34694,35015,33206,33820,135361,17644,29444,149254,23440,33547,157843,22139,141044,163119,147875,163187,159440,160438,37232,135641,37384,146684,173737,134828,134905,29286,138402,18254,151490,163833,135147,16634,40029,25887,142752,18675,149472,171388,135148,134666,24674,161187,135149,null,155720,135559,29091,32398,40272,19994,19972,13687,23309,27826,21351,13996,14812,21373,13989,149016,22682,150382,33325,21579,22442,154261,133497,null,14930,140389,29556,171692,19721,39917,146686,171824,19547,151465,169374,171998,33884,146870,160434,157619,145184,25390,32037,147191,146988,14890,36872,21196,15988,13946,17897,132238,30272,23280,134838,30842,163630,22695,16575,22140,39819,23924,30292,173108,40581,19681,30201,14331,24857,143578,148466,null,22109,135849,22439,149859,171526,21044,159918,13741,27722,40316,31830,39737,22494,137068,23635,25811,169168,156469,160100,34477,134440,159010,150242,134513,null,20990,139023,23950,38659,138705,40577,36940,31519,39682,23761,31651,25192,25397,39679,31695,39722,31870,39726,31810,31878,39957,31740,39689,40727,39963,149822,40794,21875,23491,20477,40600,20466,21088,15878,21201,22375,20566,22967,24082,38856,40363,36700,21609,38836,39232,38842,21292,24880,26924,21466,39946,40194,19515,38465,27008,20646,30022,137069,39386,21107,null,37209,38529,37212,null,37201,167575,25471,159011,27338,22033,37262,30074,25221,132092,29519,31856,154657,146685,null,149785,30422,39837,20010,134356,33726,34882,null,23626,27072,20717,22394,21023,24053,20174,27697,131570,20281,21660,21722,21146,36226,13822,24332,13811,null,27474,37244,40869,39831,38958,39092,39610,40616,40580,29050,31508,null,27642,34840,32632,null,22048,173642,36471,40787,null,36308,36431,40476,36353,25218,164733,36392,36469,31443,150135,31294,30936,27882,35431,30215,166490,40742,27854,34774,30147,172722,30803,194624,36108,29410,29553,35629,29442,29937,36075,150203,34351,24506,34976,17591,null,137275,159237,null,35454,140571,null,24829,30311,39639,40260,37742,39823,34805,null,34831,36087,29484,38689,39856,13782,29362,19463,31825,39242,155993,24921,19460,40598,24957,null,22367,24943,25254,25145,25294,14940,25058,21418,144373,25444,26626,13778,23895,166850,36826,167481,null,20697,138566,30982,21298,38456,134971,16485,null,30718,null,31938,155418,31962,31277,32870,32867,32077,29957,29938,35220,33306,26380,32866,160902,32859,29936,33027,30500,35209,157644,30035,159441,34729,34766,33224,34700,35401,36013,35651,30507,29944,34010,13877,27058,36262,null,35241,29800,28089,34753,147473,29927,15835,29046,24740,24988,15569,29026,24695,null,32625,166701,29264,24809,19326,21024,15384,146631,155351,161366,152881,137540,135934,170243,159196,159917,23745,156077,166415,145015,131310,157766,151310,17762,23327,156492,40784,40614,156267,12288,65292,12289,12290,65294,8231,65307,65306,65311,65281,65072,8230,8229,65104,65105,65106,183,65108,65109,65110,65111,65372,8211,65073,8212,65075,9588,65076,65103,65288,65289,65077,65078,65371,65373,65079,65080,12308,12309,65081,65082,12304,12305,65083,65084,12298,12299,65085,65086,12296,12297,65087,65088,12300,12301,65089,65090,12302,12303,65091,65092,65113,65114,65115,65116,65117,65118,8216,8217,8220,8221,12317,12318,8245,8242,65283,65286,65290,8251,167,12291,9675,9679,9651,9650,9678,9734,9733,9671,9670,9633,9632,9661,9660,12963,8453,175,65507,65343,717,65097,65098,65101,65102,65099,65100,65119,65120,65121,65291,65293,215,247,177,8730,65308,65310,65309,8806,8807,8800,8734,8786,8801,65122,65123,65124,65125,65126,65374,8745,8746,8869,8736,8735,8895,13266,13265,8747,8750,8757,8756,9792,9794,8853,8857,8593,8595,8592,8594,8598,8599,8601,8600,8741,8739,65295,65340,8725,65128,65284,65509,12306,65504,65505,65285,65312,8451,8457,65129,65130,65131,13269,13212,13213,13214,13262,13217,13198,13199,13252,176,20825,20827,20830,20829,20833,20835,21991,29929,31950,9601,9602,9603,9604,9605,9606,9607,9608,9615,9614,9613,9612,9611,9610,9609,9532,9524,9516,9508,9500,9620,9472,9474,9621,9484,9488,9492,9496,9581,9582,9584,9583,9552,9566,9578,9569,9698,9699,9701,9700,9585,9586,9587,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,12321,12322,12323,12324,12325,12326,12327,12328,12329,21313,21316,21317,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,729,713,714,711,715,9216,9217,9218,9219,9220,9221,9222,9223,9224,9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240,9241,9242,9243,9244,9245,9246,9247,9249,8364,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19968,20057,19969,19971,20035,20061,20102,20108,20154,20799,20837,20843,20960,20992,20993,21147,21269,21313,21340,21448,19977,19979,19976,19978,20011,20024,20961,20037,20040,20063,20062,20110,20129,20800,20995,21242,21315,21449,21475,22303,22763,22805,22823,22899,23376,23377,23379,23544,23567,23586,23608,23665,24029,24037,24049,24050,24051,24062,24178,24318,24331,24339,25165,19985,19984,19981,20013,20016,20025,20043,23609,20104,20113,20117,20114,20116,20130,20161,20160,20163,20166,20167,20173,20170,20171,20164,20803,20801,20839,20845,20846,20844,20887,20982,20998,20999,21e3,21243,21246,21247,21270,21305,21320,21319,21317,21342,21380,21451,21450,21453,22764,22825,22827,22826,22829,23380,23569,23588,23610,23663,24052,24187,24319,24340,24341,24515,25096,25142,25163,25166,25903,25991,26007,26020,26041,26085,26352,26376,26408,27424,27490,27513,27595,27604,27611,27663,27700,28779,29226,29238,29243,29255,29273,29275,29356,29579,19993,19990,19989,19988,19992,20027,20045,20047,20046,20197,20184,20180,20181,20182,20183,20195,20196,20185,20190,20805,20804,20873,20874,20908,20985,20986,20984,21002,21152,21151,21253,21254,21271,21277,20191,21322,21321,21345,21344,21359,21358,21435,21487,21476,21491,21484,21486,21481,21480,21500,21496,21493,21483,21478,21482,21490,21489,21488,21477,21485,21499,22235,22234,22806,22830,22833,22900,22902,23381,23427,23612,24040,24039,24038,24066,24067,24179,24188,24321,24344,24343,24517,25098,25171,25172,25170,25169,26021,26086,26414,26412,26410,26411,26413,27491,27597,27665,27664,27704,27713,27712,27710,29359,29572,29577,29916,29926,29976,29983,29992,29993,3e4,30001,30002,30003,30091,30333,30382,30399,30446,30683,30690,30707,31034,31166,31348,31435,19998,19999,20050,20051,20073,20121,20132,20134,20133,20223,20233,20249,20234,20245,20237,20240,20241,20239,20210,20214,20219,20208,20211,20221,20225,20235,20809,20807,20806,20808,20840,20849,20877,20912,21015,21009,21010,21006,21014,21155,21256,21281,21280,21360,21361,21513,21519,21516,21514,21520,21505,21515,21508,21521,21517,21512,21507,21518,21510,21522,22240,22238,22237,22323,22320,22312,22317,22316,22319,22313,22809,22810,22839,22840,22916,22904,22915,22909,22905,22914,22913,23383,23384,23431,23432,23429,23433,23546,23574,23673,24030,24070,24182,24180,24335,24347,24537,24534,25102,25100,25101,25104,25187,25179,25176,25910,26089,26088,26092,26093,26354,26355,26377,26429,26420,26417,26421,27425,27492,27515,27670,27741,27735,27737,27743,27744,27728,27733,27745,27739,27725,27726,28784,29279,29277,30334,31481,31859,31992,32566,32650,32701,32769,32771,32780,32786,32819,32895,32905,32907,32908,33251,33258,33267,33276,33292,33307,33311,33390,33394,33406,34411,34880,34892,34915,35199,38433,20018,20136,20301,20303,20295,20311,20318,20276,20315,20309,20272,20304,20305,20285,20282,20280,20291,20308,20284,20294,20323,20316,20320,20271,20302,20278,20313,20317,20296,20314,20812,20811,20813,20853,20918,20919,21029,21028,21033,21034,21032,21163,21161,21162,21164,21283,21363,21365,21533,21549,21534,21566,21542,21582,21543,21574,21571,21555,21576,21570,21531,21545,21578,21561,21563,21560,21550,21557,21558,21536,21564,21568,21553,21547,21535,21548,22250,22256,22244,22251,22346,22353,22336,22349,22343,22350,22334,22352,22351,22331,22767,22846,22941,22930,22952,22942,22947,22937,22934,22925,22948,22931,22922,22949,23389,23388,23386,23387,23436,23435,23439,23596,23616,23617,23615,23614,23696,23697,23700,23692,24043,24076,24207,24199,24202,24311,24324,24351,24420,24418,24439,24441,24536,24524,24535,24525,24561,24555,24568,24554,25106,25105,25220,25239,25238,25216,25206,25225,25197,25226,25212,25214,25209,25203,25234,25199,25240,25198,25237,25235,25233,25222,25913,25915,25912,26097,26356,26463,26446,26447,26448,26449,26460,26454,26462,26441,26438,26464,26451,26455,27493,27599,27714,27742,27801,27777,27784,27785,27781,27803,27754,27770,27792,27760,27788,27752,27798,27794,27773,27779,27762,27774,27764,27782,27766,27789,27796,27800,27778,28790,28796,28797,28792,29282,29281,29280,29380,29378,29590,29996,29995,30007,30008,30338,30447,30691,31169,31168,31167,31350,31995,32597,32918,32915,32925,32920,32923,32922,32946,33391,33426,33419,33421,35211,35282,35328,35895,35910,35925,35997,36196,36208,36275,36523,36554,36763,36784,36802,36806,36805,36804,24033,37009,37026,37034,37030,37027,37193,37318,37324,38450,38446,38449,38442,38444,20006,20054,20083,20107,20123,20126,20139,20140,20335,20381,20365,20339,20351,20332,20379,20363,20358,20355,20336,20341,20360,20329,20347,20374,20350,20367,20369,20346,20820,20818,20821,20841,20855,20854,20856,20925,20989,21051,21048,21047,21050,21040,21038,21046,21057,21182,21179,21330,21332,21331,21329,21350,21367,21368,21369,21462,21460,21463,21619,21621,21654,21624,21653,21632,21627,21623,21636,21650,21638,21628,21648,21617,21622,21644,21658,21602,21608,21643,21629,21646,22266,22403,22391,22378,22377,22369,22374,22372,22396,22812,22857,22855,22856,22852,22868,22974,22971,22996,22969,22958,22993,22982,22992,22989,22987,22995,22986,22959,22963,22994,22981,23391,23396,23395,23447,23450,23448,23452,23449,23451,23578,23624,23621,23622,23735,23713,23736,23721,23723,23729,23731,24088,24090,24086,24085,24091,24081,24184,24218,24215,24220,24213,24214,24310,24358,24359,24361,24448,24449,24447,24444,24541,24544,24573,24565,24575,24591,24596,24623,24629,24598,24618,24597,24609,24615,24617,24619,24603,25110,25109,25151,25150,25152,25215,25289,25292,25284,25279,25282,25273,25298,25307,25259,25299,25300,25291,25288,25256,25277,25276,25296,25305,25287,25293,25269,25306,25265,25304,25302,25303,25286,25260,25294,25918,26023,26044,26106,26132,26131,26124,26118,26114,26126,26112,26127,26133,26122,26119,26381,26379,26477,26507,26517,26481,26524,26483,26487,26503,26525,26519,26479,26480,26495,26505,26494,26512,26485,26522,26515,26492,26474,26482,27427,27494,27495,27519,27667,27675,27875,27880,27891,27825,27852,27877,27827,27837,27838,27836,27874,27819,27861,27859,27832,27844,27833,27841,27822,27863,27845,27889,27839,27835,27873,27867,27850,27820,27887,27868,27862,27872,28821,28814,28818,28810,28825,29228,29229,29240,29256,29287,29289,29376,29390,29401,29399,29392,29609,29608,29599,29611,29605,30013,30109,30105,30106,30340,30402,30450,30452,30693,30717,31038,31040,31041,31177,31176,31354,31353,31482,31998,32596,32652,32651,32773,32954,32933,32930,32945,32929,32939,32937,32948,32938,32943,33253,33278,33293,33459,33437,33433,33453,33469,33439,33465,33457,33452,33445,33455,33464,33443,33456,33470,33463,34382,34417,21021,34920,36555,36814,36820,36817,37045,37048,37041,37046,37319,37329,38263,38272,38428,38464,38463,38459,38468,38466,38585,38632,38738,38750,20127,20141,20142,20449,20405,20399,20415,20448,20433,20431,20445,20419,20406,20440,20447,20426,20439,20398,20432,20420,20418,20442,20430,20446,20407,20823,20882,20881,20896,21070,21059,21066,21069,21068,21067,21063,21191,21193,21187,21185,21261,21335,21371,21402,21467,21676,21696,21672,21710,21705,21688,21670,21683,21703,21698,21693,21674,21697,21700,21704,21679,21675,21681,21691,21673,21671,21695,22271,22402,22411,22432,22435,22434,22478,22446,22419,22869,22865,22863,22862,22864,23004,23e3,23039,23011,23016,23043,23013,23018,23002,23014,23041,23035,23401,23459,23462,23460,23458,23461,23553,23630,23631,23629,23627,23769,23762,24055,24093,24101,24095,24189,24224,24230,24314,24328,24365,24421,24456,24453,24458,24459,24455,24460,24457,24594,24605,24608,24613,24590,24616,24653,24688,24680,24674,24646,24643,24684,24683,24682,24676,25153,25308,25366,25353,25340,25325,25345,25326,25341,25351,25329,25335,25327,25324,25342,25332,25361,25346,25919,25925,26027,26045,26082,26149,26157,26144,26151,26159,26143,26152,26161,26148,26359,26623,26579,26609,26580,26576,26604,26550,26543,26613,26601,26607,26564,26577,26548,26586,26597,26552,26575,26590,26611,26544,26585,26594,26589,26578,27498,27523,27526,27573,27602,27607,27679,27849,27915,27954,27946,27969,27941,27916,27953,27934,27927,27963,27965,27966,27958,27931,27893,27961,27943,27960,27945,27950,27957,27918,27947,28843,28858,28851,28844,28847,28845,28856,28846,28836,29232,29298,29295,29300,29417,29408,29409,29623,29642,29627,29618,29645,29632,29619,29978,29997,30031,30028,30030,30027,30123,30116,30117,30114,30115,30328,30342,30343,30344,30408,30406,30403,30405,30465,30457,30456,30473,30475,30462,30460,30471,30684,30722,30740,30732,30733,31046,31049,31048,31047,31161,31162,31185,31186,31179,31359,31361,31487,31485,31869,32002,32005,32e3,32009,32007,32004,32006,32568,32654,32703,32772,32784,32781,32785,32822,32982,32997,32986,32963,32964,32972,32993,32987,32974,32990,32996,32989,33268,33314,33511,33539,33541,33507,33499,33510,33540,33509,33538,33545,33490,33495,33521,33537,33500,33492,33489,33502,33491,33503,33519,33542,34384,34425,34427,34426,34893,34923,35201,35284,35336,35330,35331,35998,36e3,36212,36211,36276,36557,36556,36848,36838,36834,36842,36837,36845,36843,36836,36840,37066,37070,37057,37059,37195,37194,37325,38274,38480,38475,38476,38477,38754,38761,38859,38893,38899,38913,39080,39131,39135,39318,39321,20056,20147,20492,20493,20515,20463,20518,20517,20472,20521,20502,20486,20540,20511,20506,20498,20497,20474,20480,20500,20520,20465,20513,20491,20505,20504,20467,20462,20525,20522,20478,20523,20489,20860,20900,20901,20898,20941,20940,20934,20939,21078,21084,21076,21083,21085,21290,21375,21407,21405,21471,21736,21776,21761,21815,21756,21733,21746,21766,21754,21780,21737,21741,21729,21769,21742,21738,21734,21799,21767,21757,21775,22275,22276,22466,22484,22475,22467,22537,22799,22871,22872,22874,23057,23064,23068,23071,23067,23059,23020,23072,23075,23081,23077,23052,23049,23403,23640,23472,23475,23478,23476,23470,23477,23481,23480,23556,23633,23637,23632,23789,23805,23803,23786,23784,23792,23798,23809,23796,24046,24109,24107,24235,24237,24231,24369,24466,24465,24464,24665,24675,24677,24656,24661,24685,24681,24687,24708,24735,24730,24717,24724,24716,24709,24726,25159,25331,25352,25343,25422,25406,25391,25429,25410,25414,25423,25417,25402,25424,25405,25386,25387,25384,25421,25420,25928,25929,26009,26049,26053,26178,26185,26191,26179,26194,26188,26181,26177,26360,26388,26389,26391,26657,26680,26696,26694,26707,26681,26690,26708,26665,26803,26647,26700,26705,26685,26612,26704,26688,26684,26691,26666,26693,26643,26648,26689,27530,27529,27575,27683,27687,27688,27686,27684,27888,28010,28053,28040,28039,28006,28024,28023,27993,28051,28012,28041,28014,27994,28020,28009,28044,28042,28025,28037,28005,28052,28874,28888,28900,28889,28872,28879,29241,29305,29436,29433,29437,29432,29431,29574,29677,29705,29678,29664,29674,29662,30036,30045,30044,30042,30041,30142,30149,30151,30130,30131,30141,30140,30137,30146,30136,30347,30384,30410,30413,30414,30505,30495,30496,30504,30697,30768,30759,30776,30749,30772,30775,30757,30765,30752,30751,30770,31061,31056,31072,31071,31062,31070,31069,31063,31066,31204,31203,31207,31199,31206,31209,31192,31364,31368,31449,31494,31505,31881,32033,32023,32011,32010,32032,32034,32020,32016,32021,32026,32028,32013,32025,32027,32570,32607,32660,32709,32705,32774,32792,32789,32793,32791,32829,32831,33009,33026,33008,33029,33005,33012,33030,33016,33011,33032,33021,33034,33020,33007,33261,33260,33280,33296,33322,33323,33320,33324,33467,33579,33618,33620,33610,33592,33616,33609,33589,33588,33615,33586,33593,33590,33559,33600,33585,33576,33603,34388,34442,34474,34451,34468,34473,34444,34467,34460,34928,34935,34945,34946,34941,34937,35352,35344,35342,35340,35349,35338,35351,35347,35350,35343,35345,35912,35962,35961,36001,36002,36215,36524,36562,36564,36559,36785,36865,36870,36855,36864,36858,36852,36867,36861,36869,36856,37013,37089,37085,37090,37202,37197,37196,37336,37341,37335,37340,37337,38275,38498,38499,38497,38491,38493,38500,38488,38494,38587,39138,39340,39592,39640,39717,39730,39740,20094,20602,20605,20572,20551,20547,20556,20570,20553,20581,20598,20558,20565,20597,20596,20599,20559,20495,20591,20589,20828,20885,20976,21098,21103,21202,21209,21208,21205,21264,21263,21273,21311,21312,21310,21443,26364,21830,21866,21862,21828,21854,21857,21827,21834,21809,21846,21839,21845,21807,21860,21816,21806,21852,21804,21859,21811,21825,21847,22280,22283,22281,22495,22533,22538,22534,22496,22500,22522,22530,22581,22519,22521,22816,22882,23094,23105,23113,23142,23146,23104,23100,23138,23130,23110,23114,23408,23495,23493,23492,23490,23487,23494,23561,23560,23559,23648,23644,23645,23815,23814,23822,23835,23830,23842,23825,23849,23828,23833,23844,23847,23831,24034,24120,24118,24115,24119,24247,24248,24246,24245,24254,24373,24375,24407,24428,24425,24427,24471,24473,24478,24472,24481,24480,24476,24703,24739,24713,24736,24744,24779,24756,24806,24765,24773,24763,24757,24796,24764,24792,24789,24774,24799,24760,24794,24775,25114,25115,25160,25504,25511,25458,25494,25506,25509,25463,25447,25496,25514,25457,25513,25481,25475,25499,25451,25512,25476,25480,25497,25505,25516,25490,25487,25472,25467,25449,25448,25466,25949,25942,25937,25945,25943,21855,25935,25944,25941,25940,26012,26011,26028,26063,26059,26060,26062,26205,26202,26212,26216,26214,26206,26361,21207,26395,26753,26799,26786,26771,26805,26751,26742,26801,26791,26775,26800,26755,26820,26797,26758,26757,26772,26781,26792,26783,26785,26754,27442,27578,27627,27628,27691,28046,28092,28147,28121,28082,28129,28108,28132,28155,28154,28165,28103,28107,28079,28113,28078,28126,28153,28088,28151,28149,28101,28114,28186,28085,28122,28139,28120,28138,28145,28142,28136,28102,28100,28074,28140,28095,28134,28921,28937,28938,28925,28911,29245,29309,29313,29468,29467,29462,29459,29465,29575,29701,29706,29699,29702,29694,29709,29920,29942,29943,29980,29986,30053,30054,30050,30064,30095,30164,30165,30133,30154,30157,30350,30420,30418,30427,30519,30526,30524,30518,30520,30522,30827,30787,30798,31077,31080,31085,31227,31378,31381,31520,31528,31515,31532,31526,31513,31518,31534,31890,31895,31893,32070,32067,32113,32046,32057,32060,32064,32048,32051,32068,32047,32066,32050,32049,32573,32670,32666,32716,32718,32722,32796,32842,32838,33071,33046,33059,33067,33065,33072,33060,33282,33333,33335,33334,33337,33678,33694,33688,33656,33698,33686,33725,33707,33682,33674,33683,33673,33696,33655,33659,33660,33670,33703,34389,24426,34503,34496,34486,34500,34485,34502,34507,34481,34479,34505,34899,34974,34952,34987,34962,34966,34957,34955,35219,35215,35370,35357,35363,35365,35377,35373,35359,35355,35362,35913,35930,36009,36012,36011,36008,36010,36007,36199,36198,36286,36282,36571,36575,36889,36877,36890,36887,36899,36895,36893,36880,36885,36894,36896,36879,36898,36886,36891,36884,37096,37101,37117,37207,37326,37365,37350,37347,37351,37357,37353,38281,38506,38517,38515,38520,38512,38516,38518,38519,38508,38592,38634,38633,31456,31455,38914,38915,39770,40165,40565,40575,40613,40635,20642,20621,20613,20633,20625,20608,20630,20632,20634,26368,20977,21106,21108,21109,21097,21214,21213,21211,21338,21413,21883,21888,21927,21884,21898,21917,21912,21890,21916,21930,21908,21895,21899,21891,21939,21934,21919,21822,21938,21914,21947,21932,21937,21886,21897,21931,21913,22285,22575,22570,22580,22564,22576,22577,22561,22557,22560,22777,22778,22880,23159,23194,23167,23186,23195,23207,23411,23409,23506,23500,23507,23504,23562,23563,23601,23884,23888,23860,23879,24061,24133,24125,24128,24131,24190,24266,24257,24258,24260,24380,24429,24489,24490,24488,24785,24801,24754,24758,24800,24860,24867,24826,24853,24816,24827,24820,24936,24817,24846,24822,24841,24832,24850,25119,25161,25507,25484,25551,25536,25577,25545,25542,25549,25554,25571,25552,25569,25558,25581,25582,25462,25588,25578,25563,25682,25562,25593,25950,25958,25954,25955,26001,26e3,26031,26222,26224,26228,26230,26223,26257,26234,26238,26231,26366,26367,26399,26397,26874,26837,26848,26840,26839,26885,26847,26869,26862,26855,26873,26834,26866,26851,26827,26829,26893,26898,26894,26825,26842,26990,26875,27454,27450,27453,27544,27542,27580,27631,27694,27695,27692,28207,28216,28244,28193,28210,28263,28234,28192,28197,28195,28187,28251,28248,28196,28246,28270,28205,28198,28271,28212,28237,28218,28204,28227,28189,28222,28363,28297,28185,28238,28259,28228,28274,28265,28255,28953,28954,28966,28976,28961,28982,29038,28956,29260,29316,29312,29494,29477,29492,29481,29754,29738,29747,29730,29733,29749,29750,29748,29743,29723,29734,29736,29989,29990,30059,30058,30178,30171,30179,30169,30168,30174,30176,30331,30332,30358,30355,30388,30428,30543,30701,30813,30828,30831,31245,31240,31243,31237,31232,31384,31383,31382,31461,31459,31561,31574,31558,31568,31570,31572,31565,31563,31567,31569,31903,31909,32094,32080,32104,32085,32043,32110,32114,32097,32102,32098,32112,32115,21892,32724,32725,32779,32850,32901,33109,33108,33099,33105,33102,33081,33094,33086,33100,33107,33140,33298,33308,33769,33795,33784,33805,33760,33733,33803,33729,33775,33777,33780,33879,33802,33776,33804,33740,33789,33778,33738,33848,33806,33796,33756,33799,33748,33759,34395,34527,34521,34541,34516,34523,34532,34512,34526,34903,35009,35010,34993,35203,35222,35387,35424,35413,35422,35388,35393,35412,35419,35408,35398,35380,35386,35382,35414,35937,35970,36015,36028,36019,36029,36033,36027,36032,36020,36023,36022,36031,36024,36234,36229,36225,36302,36317,36299,36314,36305,36300,36315,36294,36603,36600,36604,36764,36910,36917,36913,36920,36914,36918,37122,37109,37129,37118,37219,37221,37327,37396,37397,37411,37385,37406,37389,37392,37383,37393,38292,38287,38283,38289,38291,38290,38286,38538,38542,38539,38525,38533,38534,38541,38514,38532,38593,38597,38596,38598,38599,38639,38642,38860,38917,38918,38920,39143,39146,39151,39145,39154,39149,39342,39341,40643,40653,40657,20098,20653,20661,20658,20659,20677,20670,20652,20663,20667,20655,20679,21119,21111,21117,21215,21222,21220,21218,21219,21295,21983,21992,21971,21990,21966,21980,21959,21969,21987,21988,21999,21978,21985,21957,21958,21989,21961,22290,22291,22622,22609,22616,22615,22618,22612,22635,22604,22637,22602,22626,22610,22603,22887,23233,23241,23244,23230,23229,23228,23219,23234,23218,23913,23919,24140,24185,24265,24264,24338,24409,24492,24494,24858,24847,24904,24863,24819,24859,24825,24833,24840,24910,24908,24900,24909,24894,24884,24871,24845,24838,24887,25121,25122,25619,25662,25630,25642,25645,25661,25644,25615,25628,25620,25613,25654,25622,25623,25606,25964,26015,26032,26263,26249,26247,26248,26262,26244,26264,26253,26371,27028,26989,26970,26999,26976,26964,26997,26928,27010,26954,26984,26987,26974,26963,27001,27014,26973,26979,26971,27463,27506,27584,27583,27603,27645,28322,28335,28371,28342,28354,28304,28317,28359,28357,28325,28312,28348,28346,28331,28369,28310,28316,28356,28372,28330,28327,28340,29006,29017,29033,29028,29001,29031,29020,29036,29030,29004,29029,29022,28998,29032,29014,29242,29266,29495,29509,29503,29502,29807,29786,29781,29791,29790,29761,29759,29785,29787,29788,30070,30072,30208,30192,30209,30194,30193,30202,30207,30196,30195,30430,30431,30555,30571,30566,30558,30563,30585,30570,30572,30556,30565,30568,30562,30702,30862,30896,30871,30872,30860,30857,30844,30865,30867,30847,31098,31103,31105,33836,31165,31260,31258,31264,31252,31263,31262,31391,31392,31607,31680,31584,31598,31591,31921,31923,31925,32147,32121,32145,32129,32143,32091,32622,32617,32618,32626,32681,32680,32676,32854,32856,32902,32900,33137,33136,33144,33125,33134,33139,33131,33145,33146,33126,33285,33351,33922,33911,33853,33841,33909,33894,33899,33865,33900,33883,33852,33845,33889,33891,33897,33901,33862,34398,34396,34399,34553,34579,34568,34567,34560,34558,34555,34562,34563,34566,34570,34905,35039,35028,35033,35036,35032,35037,35041,35018,35029,35026,35228,35299,35435,35442,35443,35430,35433,35440,35463,35452,35427,35488,35441,35461,35437,35426,35438,35436,35449,35451,35390,35432,35938,35978,35977,36042,36039,36040,36036,36018,36035,36034,36037,36321,36319,36328,36335,36339,36346,36330,36324,36326,36530,36611,36617,36606,36618,36767,36786,36939,36938,36947,36930,36948,36924,36949,36944,36935,36943,36942,36941,36945,36926,36929,37138,37143,37228,37226,37225,37321,37431,37463,37432,37437,37440,37438,37467,37451,37476,37457,37428,37449,37453,37445,37433,37439,37466,38296,38552,38548,38549,38605,38603,38601,38602,38647,38651,38649,38646,38742,38772,38774,38928,38929,38931,38922,38930,38924,39164,39156,39165,39166,39347,39345,39348,39649,40169,40578,40718,40723,40736,20711,20718,20709,20694,20717,20698,20693,20687,20689,20721,20686,20713,20834,20979,21123,21122,21297,21421,22014,22016,22043,22039,22013,22036,22022,22025,22029,22030,22007,22038,22047,22024,22032,22006,22296,22294,22645,22654,22659,22675,22666,22649,22661,22653,22781,22821,22818,22820,22890,22889,23265,23270,23273,23255,23254,23256,23267,23413,23518,23527,23521,23525,23526,23528,23522,23524,23519,23565,23650,23940,23943,24155,24163,24149,24151,24148,24275,24278,24330,24390,24432,24505,24903,24895,24907,24951,24930,24931,24927,24922,24920,24949,25130,25735,25688,25684,25764,25720,25695,25722,25681,25703,25652,25709,25723,25970,26017,26071,26070,26274,26280,26269,27036,27048,27029,27073,27054,27091,27083,27035,27063,27067,27051,27060,27088,27085,27053,27084,27046,27075,27043,27465,27468,27699,28467,28436,28414,28435,28404,28457,28478,28448,28460,28431,28418,28450,28415,28399,28422,28465,28472,28466,28451,28437,28459,28463,28552,28458,28396,28417,28402,28364,28407,29076,29081,29053,29066,29060,29074,29246,29330,29334,29508,29520,29796,29795,29802,29808,29805,29956,30097,30247,30221,30219,30217,30227,30433,30435,30596,30589,30591,30561,30913,30879,30887,30899,30889,30883,31118,31119,31117,31278,31281,31402,31401,31469,31471,31649,31637,31627,31605,31639,31645,31636,31631,31672,31623,31620,31929,31933,31934,32187,32176,32156,32189,32190,32160,32202,32180,32178,32177,32186,32162,32191,32181,32184,32173,32210,32199,32172,32624,32736,32737,32735,32862,32858,32903,33104,33152,33167,33160,33162,33151,33154,33255,33274,33287,33300,33310,33355,33993,33983,33990,33988,33945,33950,33970,33948,33995,33976,33984,34003,33936,33980,34001,33994,34623,34588,34619,34594,34597,34612,34584,34645,34615,34601,35059,35074,35060,35065,35064,35069,35048,35098,35055,35494,35468,35486,35491,35469,35489,35475,35492,35498,35493,35496,35480,35473,35482,35495,35946,35981,35980,36051,36049,36050,36203,36249,36245,36348,36628,36626,36629,36627,36771,36960,36952,36956,36963,36953,36958,36962,36957,36955,37145,37144,37150,37237,37240,37239,37236,37496,37504,37509,37528,37526,37499,37523,37532,37544,37500,37521,38305,38312,38313,38307,38309,38308,38553,38556,38555,38604,38610,38656,38780,38789,38902,38935,38936,39087,39089,39171,39173,39180,39177,39361,39599,39600,39654,39745,39746,40180,40182,40179,40636,40763,40778,20740,20736,20731,20725,20729,20738,20744,20745,20741,20956,21127,21128,21129,21133,21130,21232,21426,22062,22075,22073,22066,22079,22068,22057,22099,22094,22103,22132,22070,22063,22064,22656,22687,22686,22707,22684,22702,22697,22694,22893,23305,23291,23307,23285,23308,23304,23534,23532,23529,23531,23652,23653,23965,23956,24162,24159,24161,24290,24282,24287,24285,24291,24288,24392,24433,24503,24501,24950,24935,24942,24925,24917,24962,24956,24944,24939,24958,24999,24976,25003,24974,25004,24986,24996,24980,25006,25134,25705,25711,25721,25758,25778,25736,25744,25776,25765,25747,25749,25769,25746,25774,25773,25771,25754,25772,25753,25762,25779,25973,25975,25976,26286,26283,26292,26289,27171,27167,27112,27137,27166,27161,27133,27169,27155,27146,27123,27138,27141,27117,27153,27472,27470,27556,27589,27590,28479,28540,28548,28497,28518,28500,28550,28525,28507,28536,28526,28558,28538,28528,28516,28567,28504,28373,28527,28512,28511,29087,29100,29105,29096,29270,29339,29518,29527,29801,29835,29827,29822,29824,30079,30240,30249,30239,30244,30246,30241,30242,30362,30394,30436,30606,30599,30604,30609,30603,30923,30917,30906,30922,30910,30933,30908,30928,31295,31292,31296,31293,31287,31291,31407,31406,31661,31665,31684,31668,31686,31687,31681,31648,31692,31946,32224,32244,32239,32251,32216,32236,32221,32232,32227,32218,32222,32233,32158,32217,32242,32249,32629,32631,32687,32745,32806,33179,33180,33181,33184,33178,33176,34071,34109,34074,34030,34092,34093,34067,34065,34083,34081,34068,34028,34085,34047,34054,34690,34676,34678,34656,34662,34680,34664,34649,34647,34636,34643,34907,34909,35088,35079,35090,35091,35093,35082,35516,35538,35527,35524,35477,35531,35576,35506,35529,35522,35519,35504,35542,35533,35510,35513,35547,35916,35918,35948,36064,36062,36070,36068,36076,36077,36066,36067,36060,36074,36065,36205,36255,36259,36395,36368,36381,36386,36367,36393,36383,36385,36382,36538,36637,36635,36639,36649,36646,36650,36636,36638,36645,36969,36974,36968,36973,36983,37168,37165,37159,37169,37255,37257,37259,37251,37573,37563,37559,37610,37548,37604,37569,37555,37564,37586,37575,37616,37554,38317,38321,38660,38662,38663,38665,38752,38797,38795,38799,38945,38955,38940,39091,39178,39187,39186,39192,39389,39376,39391,39387,39377,39381,39378,39385,39607,39662,39663,39719,39749,39748,39799,39791,40198,40201,40195,40617,40638,40654,22696,40786,20754,20760,20756,20752,20757,20864,20906,20957,21137,21139,21235,22105,22123,22137,22121,22116,22136,22122,22120,22117,22129,22127,22124,22114,22134,22721,22718,22727,22725,22894,23325,23348,23416,23536,23566,24394,25010,24977,25001,24970,25037,25014,25022,25034,25032,25136,25797,25793,25803,25787,25788,25818,25796,25799,25794,25805,25791,25810,25812,25790,25972,26310,26313,26297,26308,26311,26296,27197,27192,27194,27225,27243,27224,27193,27204,27234,27233,27211,27207,27189,27231,27208,27481,27511,27653,28610,28593,28577,28611,28580,28609,28583,28595,28608,28601,28598,28582,28576,28596,29118,29129,29136,29138,29128,29141,29113,29134,29145,29148,29123,29124,29544,29852,29859,29848,29855,29854,29922,29964,29965,30260,30264,30266,30439,30437,30624,30622,30623,30629,30952,30938,30956,30951,31142,31309,31310,31302,31308,31307,31418,31705,31761,31689,31716,31707,31713,31721,31718,31957,31958,32266,32273,32264,32283,32291,32286,32285,32265,32272,32633,32690,32752,32753,32750,32808,33203,33193,33192,33275,33288,33368,33369,34122,34137,34120,34152,34153,34115,34121,34157,34154,34142,34691,34719,34718,34722,34701,34913,35114,35122,35109,35115,35105,35242,35238,35558,35578,35563,35569,35584,35548,35559,35566,35582,35585,35586,35575,35565,35571,35574,35580,35947,35949,35987,36084,36420,36401,36404,36418,36409,36405,36667,36655,36664,36659,36776,36774,36981,36980,36984,36978,36988,36986,37172,37266,37664,37686,37624,37683,37679,37666,37628,37675,37636,37658,37648,37670,37665,37653,37678,37657,38331,38567,38568,38570,38613,38670,38673,38678,38669,38675,38671,38747,38748,38758,38808,38960,38968,38971,38967,38957,38969,38948,39184,39208,39198,39195,39201,39194,39405,39394,39409,39608,39612,39675,39661,39720,39825,40213,40227,40230,40232,40210,40219,40664,40660,40845,40860,20778,20767,20769,20786,21237,22158,22144,22160,22149,22151,22159,22741,22739,22737,22734,23344,23338,23332,23418,23607,23656,23996,23994,23997,23992,24171,24396,24509,25033,25026,25031,25062,25035,25138,25140,25806,25802,25816,25824,25840,25830,25836,25841,25826,25837,25986,25987,26329,26326,27264,27284,27268,27298,27292,27355,27299,27262,27287,27280,27296,27484,27566,27610,27656,28632,28657,28639,28640,28635,28644,28651,28655,28544,28652,28641,28649,28629,28654,28656,29159,29151,29166,29158,29157,29165,29164,29172,29152,29237,29254,29552,29554,29865,29872,29862,29864,30278,30274,30284,30442,30643,30634,30640,30636,30631,30637,30703,30967,30970,30964,30959,30977,31143,31146,31319,31423,31751,31757,31742,31735,31756,31712,31968,31964,31966,31970,31967,31961,31965,32302,32318,32326,32311,32306,32323,32299,32317,32305,32325,32321,32308,32313,32328,32309,32319,32303,32580,32755,32764,32881,32882,32880,32879,32883,33222,33219,33210,33218,33216,33215,33213,33225,33214,33256,33289,33393,34218,34180,34174,34204,34193,34196,34223,34203,34183,34216,34186,34407,34752,34769,34739,34770,34758,34731,34747,34746,34760,34763,35131,35126,35140,35128,35133,35244,35598,35607,35609,35611,35594,35616,35613,35588,35600,35905,35903,35955,36090,36093,36092,36088,36091,36264,36425,36427,36424,36426,36676,36670,36674,36677,36671,36991,36989,36996,36993,36994,36992,37177,37283,37278,37276,37709,37762,37672,37749,37706,37733,37707,37656,37758,37740,37723,37744,37722,37716,38346,38347,38348,38344,38342,38577,38584,38614,38684,38686,38816,38867,38982,39094,39221,39425,39423,39854,39851,39850,39853,40251,40255,40587,40655,40670,40668,40669,40667,40766,40779,21474,22165,22190,22745,22744,23352,24413,25059,25139,25844,25842,25854,25862,25850,25851,25847,26039,26332,26406,27315,27308,27331,27323,27320,27330,27310,27311,27487,27512,27567,28681,28683,28670,28678,28666,28689,28687,29179,29180,29182,29176,29559,29557,29863,29887,29973,30294,30296,30290,30653,30655,30651,30652,30990,31150,31329,31330,31328,31428,31429,31787,31783,31786,31774,31779,31777,31975,32340,32341,32350,32346,32353,32338,32345,32584,32761,32763,32887,32886,33229,33231,33290,34255,34217,34253,34256,34249,34224,34234,34233,34214,34799,34796,34802,34784,35206,35250,35316,35624,35641,35628,35627,35920,36101,36441,36451,36454,36452,36447,36437,36544,36681,36685,36999,36995,37e3,37291,37292,37328,37780,37770,37782,37794,37811,37806,37804,37808,37784,37786,37783,38356,38358,38352,38357,38626,38620,38617,38619,38622,38692,38819,38822,38829,38905,38989,38991,38988,38990,38995,39098,39230,39231,39229,39214,39333,39438,39617,39683,39686,39759,39758,39757,39882,39881,39933,39880,39872,40273,40285,40288,40672,40725,40748,20787,22181,22750,22751,22754,23541,40848,24300,25074,25079,25078,25077,25856,25871,26336,26333,27365,27357,27354,27347,28699,28703,28712,28698,28701,28693,28696,29190,29197,29272,29346,29560,29562,29885,29898,29923,30087,30086,30303,30305,30663,31001,31153,31339,31337,31806,31807,31800,31805,31799,31808,32363,32365,32377,32361,32362,32645,32371,32694,32697,32696,33240,34281,34269,34282,34261,34276,34277,34295,34811,34821,34829,34809,34814,35168,35167,35158,35166,35649,35676,35672,35657,35674,35662,35663,35654,35673,36104,36106,36476,36466,36487,36470,36460,36474,36468,36692,36686,36781,37002,37003,37297,37294,37857,37841,37855,37827,37832,37852,37853,37846,37858,37837,37848,37860,37847,37864,38364,38580,38627,38698,38695,38753,38876,38907,39006,39e3,39003,39100,39237,39241,39446,39449,39693,39912,39911,39894,39899,40329,40289,40306,40298,40300,40594,40599,40595,40628,21240,22184,22199,22198,22196,22204,22756,23360,23363,23421,23542,24009,25080,25082,25880,25876,25881,26342,26407,27372,28734,28720,28722,29200,29563,29903,30306,30309,31014,31018,31020,31019,31431,31478,31820,31811,31821,31983,31984,36782,32381,32380,32386,32588,32768,33242,33382,34299,34297,34321,34298,34310,34315,34311,34314,34836,34837,35172,35258,35320,35696,35692,35686,35695,35679,35691,36111,36109,36489,36481,36485,36482,37300,37323,37912,37891,37885,38369,38704,39108,39250,39249,39336,39467,39472,39479,39477,39955,39949,40569,40629,40680,40751,40799,40803,40801,20791,20792,22209,22208,22210,22804,23660,24013,25084,25086,25885,25884,26005,26345,27387,27396,27386,27570,28748,29211,29351,29910,29908,30313,30675,31824,32399,32396,32700,34327,34349,34330,34851,34850,34849,34847,35178,35180,35261,35700,35703,35709,36115,36490,36493,36491,36703,36783,37306,37934,37939,37941,37946,37944,37938,37931,38370,38712,38713,38706,38911,39015,39013,39255,39493,39491,39488,39486,39631,39764,39761,39981,39973,40367,40372,40386,40376,40605,40687,40729,40796,40806,40807,20796,20795,22216,22218,22217,23423,24020,24018,24398,25087,25892,27402,27489,28753,28760,29568,29924,30090,30318,30316,31155,31840,31839,32894,32893,33247,35186,35183,35324,35712,36118,36119,36497,36499,36705,37192,37956,37969,37970,38717,38718,38851,38849,39019,39253,39509,39501,39634,39706,40009,39985,39998,39995,40403,40407,40756,40812,40810,40852,22220,24022,25088,25891,25899,25898,26348,27408,29914,31434,31844,31843,31845,32403,32406,32404,33250,34360,34367,34865,35722,37008,37007,37987,37984,37988,38760,39023,39260,39514,39515,39511,39635,39636,39633,40020,40023,40022,40421,40607,40692,22225,22761,25900,28766,30321,30322,30679,32592,32648,34870,34873,34914,35731,35730,35734,33399,36123,37312,37994,38722,38728,38724,38854,39024,39519,39714,39768,40031,40441,40442,40572,40573,40711,40823,40818,24307,27414,28771,31852,31854,34875,35264,36513,37313,38002,38e3,39025,39262,39638,39715,40652,28772,30682,35738,38007,38857,39522,39525,32412,35740,36522,37317,38013,38014,38012,40055,40056,40695,35924,38015,40474,29224,39530,39729,40475,40478,31858,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,20022,20031,20101,20128,20866,20886,20907,21241,21304,21353,21430,22794,23424,24027,12083,24191,24308,24400,24417,25908,26080,30098,30326,36789,38582,168,710,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,65339,65341,10045,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8679,8632,8633,12751,131276,20058,131210,20994,17553,40880,20872,40881,161287,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65506,65508,65287,65282,12849,8470,8481,12443,12444,11904,11908,11910,11911,11912,11914,11916,11917,11925,11932,11933,11941,11943,11946,11948,11950,11958,11964,11966,11974,11978,11980,11981,11983,11990,11991,11998,12003,null,null,null,643,592,603,596,629,339,248,331,650,618,20034,20060,20981,21274,21378,19975,19980,20039,20109,22231,64012,23662,24435,19983,20871,19982,20014,20115,20162,20169,20168,20888,21244,21356,21433,22304,22787,22828,23568,24063,26081,27571,27596,27668,29247,20017,20028,20200,20188,20201,20193,20189,20186,21004,21276,21324,22306,22307,22807,22831,23425,23428,23570,23611,23668,23667,24068,24192,24194,24521,25097,25168,27669,27702,27715,27711,27707,29358,29360,29578,31160,32906,38430,20238,20248,20268,20213,20244,20209,20224,20215,20232,20253,20226,20229,20258,20243,20228,20212,20242,20913,21011,21001,21008,21158,21282,21279,21325,21386,21511,22241,22239,22318,22314,22324,22844,22912,22908,22917,22907,22910,22903,22911,23382,23573,23589,23676,23674,23675,23678,24031,24181,24196,24322,24346,24436,24533,24532,24527,25180,25182,25188,25185,25190,25186,25177,25184,25178,25189,26095,26094,26430,26425,26424,26427,26426,26431,26428,26419,27672,27718,27730,27740,27727,27722,27732,27723,27724,28785,29278,29364,29365,29582,29994,30335,31349,32593,33400,33404,33408,33405,33407,34381,35198,37017,37015,37016,37019,37012,38434,38436,38432,38435,20310,20283,20322,20297,20307,20324,20286,20327,20306,20319,20289,20312,20269,20275,20287,20321,20879,20921,21020,21022,21025,21165,21166,21257,21347,21362,21390,21391,21552,21559,21546,21588,21573,21529,21532,21541,21528,21565,21583,21569,21544,21540,21575,22254,22247,22245,22337,22341,22348,22345,22347,22354,22790,22848,22950,22936,22944,22935,22926,22946,22928,22927,22951,22945,23438,23442,23592,23594,23693,23695,23688,23691,23689,23698,23690,23686,23699,23701,24032,24074,24078,24203,24201,24204,24200,24205,24325,24349,24440,24438,24530,24529,24528,24557,24552,24558,24563,24545,24548,24547,24570,24559,24567,24571,24576,24564,25146,25219,25228,25230,25231,25236,25223,25201,25211,25210,25200,25217,25224,25207,25213,25202,25204,25911,26096,26100,26099,26098,26101,26437,26439,26457,26453,26444,26440,26461,26445,26458,26443,27600,27673,27674,27768,27751,27755,27780,27787,27791,27761,27759,27753,27802,27757,27783,27797,27804,27750,27763,27749,27771,27790,28788,28794,29283,29375,29373,29379,29382,29377,29370,29381,29589,29591,29587,29588,29586,30010,30009,30100,30101,30337,31037,32820,32917,32921,32912,32914,32924,33424,33423,33413,33422,33425,33427,33418,33411,33412,35960,36809,36799,37023,37025,37029,37022,37031,37024,38448,38440,38447,38445,20019,20376,20348,20357,20349,20352,20359,20342,20340,20361,20356,20343,20300,20375,20330,20378,20345,20353,20344,20368,20380,20372,20382,20370,20354,20373,20331,20334,20894,20924,20926,21045,21042,21043,21062,21041,21180,21258,21259,21308,21394,21396,21639,21631,21633,21649,21634,21640,21611,21626,21630,21605,21612,21620,21606,21645,21615,21601,21600,21656,21603,21607,21604,22263,22265,22383,22386,22381,22379,22385,22384,22390,22400,22389,22395,22387,22388,22370,22376,22397,22796,22853,22965,22970,22991,22990,22962,22988,22977,22966,22972,22979,22998,22961,22973,22976,22984,22964,22983,23394,23397,23443,23445,23620,23623,23726,23716,23712,23733,23727,23720,23724,23711,23715,23725,23714,23722,23719,23709,23717,23734,23728,23718,24087,24084,24089,24360,24354,24355,24356,24404,24450,24446,24445,24542,24549,24621,24614,24601,24626,24587,24628,24586,24599,24627,24602,24606,24620,24610,24589,24592,24622,24595,24593,24588,24585,24604,25108,25149,25261,25268,25297,25278,25258,25270,25290,25262,25267,25263,25275,25257,25264,25272,25917,26024,26043,26121,26108,26116,26130,26120,26107,26115,26123,26125,26117,26109,26129,26128,26358,26378,26501,26476,26510,26514,26486,26491,26520,26502,26500,26484,26509,26508,26490,26527,26513,26521,26499,26493,26497,26488,26489,26516,27429,27520,27518,27614,27677,27795,27884,27883,27886,27865,27830,27860,27821,27879,27831,27856,27842,27834,27843,27846,27885,27890,27858,27869,27828,27786,27805,27776,27870,27840,27952,27853,27847,27824,27897,27855,27881,27857,28820,28824,28805,28819,28806,28804,28817,28822,28802,28826,28803,29290,29398,29387,29400,29385,29404,29394,29396,29402,29388,29393,29604,29601,29613,29606,29602,29600,29612,29597,29917,29928,30015,30016,30014,30092,30104,30383,30451,30449,30448,30453,30712,30716,30713,30715,30714,30711,31042,31039,31173,31352,31355,31483,31861,31997,32821,32911,32942,32931,32952,32949,32941,33312,33440,33472,33451,33434,33432,33435,33461,33447,33454,33468,33438,33466,33460,33448,33441,33449,33474,33444,33475,33462,33442,34416,34415,34413,34414,35926,36818,36811,36819,36813,36822,36821,36823,37042,37044,37039,37043,37040,38457,38461,38460,38458,38467,20429,20421,20435,20402,20425,20427,20417,20436,20444,20441,20411,20403,20443,20423,20438,20410,20416,20409,20460,21060,21065,21184,21186,21309,21372,21399,21398,21401,21400,21690,21665,21677,21669,21711,21699,33549,21687,21678,21718,21686,21701,21702,21664,21616,21692,21666,21694,21618,21726,21680,22453,22430,22431,22436,22412,22423,22429,22427,22420,22424,22415,22425,22437,22426,22421,22772,22797,22867,23009,23006,23022,23040,23025,23005,23034,23037,23036,23030,23012,23026,23031,23003,23017,23027,23029,23008,23038,23028,23021,23464,23628,23760,23768,23756,23767,23755,23771,23774,23770,23753,23751,23754,23766,23763,23764,23759,23752,23750,23758,23775,23800,24057,24097,24098,24099,24096,24100,24240,24228,24226,24219,24227,24229,24327,24366,24406,24454,24631,24633,24660,24690,24670,24645,24659,24647,24649,24667,24652,24640,24642,24671,24612,24644,24664,24678,24686,25154,25155,25295,25357,25355,25333,25358,25347,25323,25337,25359,25356,25336,25334,25344,25363,25364,25338,25365,25339,25328,25921,25923,26026,26047,26166,26145,26162,26165,26140,26150,26146,26163,26155,26170,26141,26164,26169,26158,26383,26384,26561,26610,26568,26554,26588,26555,26616,26584,26560,26551,26565,26603,26596,26591,26549,26573,26547,26615,26614,26606,26595,26562,26553,26574,26599,26608,26546,26620,26566,26605,26572,26542,26598,26587,26618,26569,26570,26563,26602,26571,27432,27522,27524,27574,27606,27608,27616,27680,27681,27944,27956,27949,27935,27964,27967,27922,27914,27866,27955,27908,27929,27962,27930,27921,27904,27933,27970,27905,27928,27959,27907,27919,27968,27911,27936,27948,27912,27938,27913,27920,28855,28831,28862,28849,28848,28833,28852,28853,28841,29249,29257,29258,29292,29296,29299,29294,29386,29412,29416,29419,29407,29418,29414,29411,29573,29644,29634,29640,29637,29625,29622,29621,29620,29675,29631,29639,29630,29635,29638,29624,29643,29932,29934,29998,30023,30024,30119,30122,30329,30404,30472,30467,30468,30469,30474,30455,30459,30458,30695,30696,30726,30737,30738,30725,30736,30735,30734,30729,30723,30739,31050,31052,31051,31045,31044,31189,31181,31183,31190,31182,31360,31358,31441,31488,31489,31866,31864,31865,31871,31872,31873,32003,32008,32001,32600,32657,32653,32702,32775,32782,32783,32788,32823,32984,32967,32992,32977,32968,32962,32976,32965,32995,32985,32988,32970,32981,32969,32975,32983,32998,32973,33279,33313,33428,33497,33534,33529,33543,33512,33536,33493,33594,33515,33494,33524,33516,33505,33522,33525,33548,33531,33526,33520,33514,33508,33504,33530,33523,33517,34423,34420,34428,34419,34881,34894,34919,34922,34921,35283,35332,35335,36210,36835,36833,36846,36832,37105,37053,37055,37077,37061,37054,37063,37067,37064,37332,37331,38484,38479,38481,38483,38474,38478,20510,20485,20487,20499,20514,20528,20507,20469,20468,20531,20535,20524,20470,20471,20503,20508,20512,20519,20533,20527,20529,20494,20826,20884,20883,20938,20932,20933,20936,20942,21089,21082,21074,21086,21087,21077,21090,21197,21262,21406,21798,21730,21783,21778,21735,21747,21732,21786,21759,21764,21768,21739,21777,21765,21745,21770,21755,21751,21752,21728,21774,21763,21771,22273,22274,22476,22578,22485,22482,22458,22470,22461,22460,22456,22454,22463,22471,22480,22457,22465,22798,22858,23065,23062,23085,23086,23061,23055,23063,23050,23070,23091,23404,23463,23469,23468,23555,23638,23636,23788,23807,23790,23793,23799,23808,23801,24105,24104,24232,24238,24234,24236,24371,24368,24423,24669,24666,24679,24641,24738,24712,24704,24722,24705,24733,24707,24725,24731,24727,24711,24732,24718,25113,25158,25330,25360,25430,25388,25412,25413,25398,25411,25572,25401,25419,25418,25404,25385,25409,25396,25432,25428,25433,25389,25415,25395,25434,25425,25400,25431,25408,25416,25930,25926,26054,26051,26052,26050,26186,26207,26183,26193,26386,26387,26655,26650,26697,26674,26675,26683,26699,26703,26646,26673,26652,26677,26667,26669,26671,26702,26692,26676,26653,26642,26644,26662,26664,26670,26701,26682,26661,26656,27436,27439,27437,27441,27444,27501,32898,27528,27622,27620,27624,27619,27618,27623,27685,28026,28003,28004,28022,27917,28001,28050,27992,28002,28013,28015,28049,28045,28143,28031,28038,27998,28007,28e3,28055,28016,28028,27999,28034,28056,27951,28008,28043,28030,28032,28036,27926,28035,28027,28029,28021,28048,28892,28883,28881,28893,28875,32569,28898,28887,28882,28894,28896,28884,28877,28869,28870,28871,28890,28878,28897,29250,29304,29303,29302,29440,29434,29428,29438,29430,29427,29435,29441,29651,29657,29669,29654,29628,29671,29667,29673,29660,29650,29659,29652,29661,29658,29655,29656,29672,29918,29919,29940,29941,29985,30043,30047,30128,30145,30139,30148,30144,30143,30134,30138,30346,30409,30493,30491,30480,30483,30482,30499,30481,30485,30489,30490,30498,30503,30755,30764,30754,30773,30767,30760,30766,30763,30753,30761,30771,30762,30769,31060,31067,31055,31068,31059,31058,31057,31211,31212,31200,31214,31213,31210,31196,31198,31197,31366,31369,31365,31371,31372,31370,31367,31448,31504,31492,31507,31493,31503,31496,31498,31502,31497,31506,31876,31889,31882,31884,31880,31885,31877,32030,32029,32017,32014,32024,32022,32019,32031,32018,32015,32012,32604,32609,32606,32608,32605,32603,32662,32658,32707,32706,32704,32790,32830,32825,33018,33010,33017,33013,33025,33019,33024,33281,33327,33317,33587,33581,33604,33561,33617,33573,33622,33599,33601,33574,33564,33570,33602,33614,33563,33578,33544,33596,33613,33558,33572,33568,33591,33583,33577,33607,33605,33612,33619,33566,33580,33611,33575,33608,34387,34386,34466,34472,34454,34445,34449,34462,34439,34455,34438,34443,34458,34437,34469,34457,34465,34471,34453,34456,34446,34461,34448,34452,34883,34884,34925,34933,34934,34930,34944,34929,34943,34927,34947,34942,34932,34940,35346,35911,35927,35963,36004,36003,36214,36216,36277,36279,36278,36561,36563,36862,36853,36866,36863,36859,36868,36860,36854,37078,37088,37081,37082,37091,37087,37093,37080,37083,37079,37084,37092,37200,37198,37199,37333,37346,37338,38492,38495,38588,39139,39647,39727,20095,20592,20586,20577,20574,20576,20563,20555,20573,20594,20552,20557,20545,20571,20554,20578,20501,20549,20575,20585,20587,20579,20580,20550,20544,20590,20595,20567,20561,20944,21099,21101,21100,21102,21206,21203,21293,21404,21877,21878,21820,21837,21840,21812,21802,21841,21858,21814,21813,21808,21842,21829,21772,21810,21861,21838,21817,21832,21805,21819,21824,21835,22282,22279,22523,22548,22498,22518,22492,22516,22528,22509,22525,22536,22520,22539,22515,22479,22535,22510,22499,22514,22501,22508,22497,22542,22524,22544,22503,22529,22540,22513,22505,22512,22541,22532,22876,23136,23128,23125,23143,23134,23096,23093,23149,23120,23135,23141,23148,23123,23140,23127,23107,23133,23122,23108,23131,23112,23182,23102,23117,23097,23116,23152,23145,23111,23121,23126,23106,23132,23410,23406,23489,23488,23641,23838,23819,23837,23834,23840,23820,23848,23821,23846,23845,23823,23856,23826,23843,23839,23854,24126,24116,24241,24244,24249,24242,24243,24374,24376,24475,24470,24479,24714,24720,24710,24766,24752,24762,24787,24788,24783,24804,24793,24797,24776,24753,24795,24759,24778,24767,24771,24781,24768,25394,25445,25482,25474,25469,25533,25502,25517,25501,25495,25515,25486,25455,25479,25488,25454,25519,25461,25500,25453,25518,25468,25508,25403,25503,25464,25477,25473,25489,25485,25456,25939,26061,26213,26209,26203,26201,26204,26210,26392,26745,26759,26768,26780,26733,26734,26798,26795,26966,26735,26787,26796,26793,26741,26740,26802,26767,26743,26770,26748,26731,26738,26794,26752,26737,26750,26779,26774,26763,26784,26761,26788,26744,26747,26769,26764,26762,26749,27446,27443,27447,27448,27537,27535,27533,27534,27532,27690,28096,28075,28084,28083,28276,28076,28137,28130,28087,28150,28116,28160,28104,28128,28127,28118,28094,28133,28124,28125,28123,28148,28106,28093,28141,28144,28090,28117,28098,28111,28105,28112,28146,28115,28157,28119,28109,28131,28091,28922,28941,28919,28951,28916,28940,28912,28932,28915,28944,28924,28927,28934,28947,28928,28920,28918,28939,28930,28942,29310,29307,29308,29311,29469,29463,29447,29457,29464,29450,29448,29439,29455,29470,29576,29686,29688,29685,29700,29697,29693,29703,29696,29690,29692,29695,29708,29707,29684,29704,30052,30051,30158,30162,30159,30155,30156,30161,30160,30351,30345,30419,30521,30511,30509,30513,30514,30516,30515,30525,30501,30523,30517,30792,30802,30793,30797,30794,30796,30758,30789,30800,31076,31079,31081,31082,31075,31083,31073,31163,31226,31224,31222,31223,31375,31380,31376,31541,31559,31540,31525,31536,31522,31524,31539,31512,31530,31517,31537,31531,31533,31535,31538,31544,31514,31523,31892,31896,31894,31907,32053,32061,32056,32054,32058,32069,32044,32041,32065,32071,32062,32063,32074,32059,32040,32611,32661,32668,32669,32667,32714,32715,32717,32720,32721,32711,32719,32713,32799,32798,32795,32839,32835,32840,33048,33061,33049,33051,33069,33055,33068,33054,33057,33045,33063,33053,33058,33297,33336,33331,33338,33332,33330,33396,33680,33699,33704,33677,33658,33651,33700,33652,33679,33665,33685,33689,33653,33684,33705,33661,33667,33676,33693,33691,33706,33675,33662,33701,33711,33672,33687,33712,33663,33702,33671,33710,33654,33690,34393,34390,34495,34487,34498,34497,34501,34490,34480,34504,34489,34483,34488,34508,34484,34491,34492,34499,34493,34494,34898,34953,34965,34984,34978,34986,34970,34961,34977,34975,34968,34983,34969,34971,34967,34980,34988,34956,34963,34958,35202,35286,35289,35285,35376,35367,35372,35358,35897,35899,35932,35933,35965,36005,36221,36219,36217,36284,36290,36281,36287,36289,36568,36574,36573,36572,36567,36576,36577,36900,36875,36881,36892,36876,36897,37103,37098,37104,37108,37106,37107,37076,37099,37100,37097,37206,37208,37210,37203,37205,37356,37364,37361,37363,37368,37348,37369,37354,37355,37367,37352,37358,38266,38278,38280,38524,38509,38507,38513,38511,38591,38762,38916,39141,39319,20635,20629,20628,20638,20619,20643,20611,20620,20622,20637,20584,20636,20626,20610,20615,20831,20948,21266,21265,21412,21415,21905,21928,21925,21933,21879,22085,21922,21907,21896,21903,21941,21889,21923,21906,21924,21885,21900,21926,21887,21909,21921,21902,22284,22569,22583,22553,22558,22567,22563,22568,22517,22600,22565,22556,22555,22579,22591,22582,22574,22585,22584,22573,22572,22587,22881,23215,23188,23199,23162,23202,23198,23160,23206,23164,23205,23212,23189,23214,23095,23172,23178,23191,23171,23179,23209,23163,23165,23180,23196,23183,23187,23197,23530,23501,23499,23508,23505,23498,23502,23564,23600,23863,23875,23915,23873,23883,23871,23861,23889,23886,23893,23859,23866,23890,23869,23857,23897,23874,23865,23881,23864,23868,23858,23862,23872,23877,24132,24129,24408,24486,24485,24491,24777,24761,24780,24802,24782,24772,24852,24818,24842,24854,24837,24821,24851,24824,24828,24830,24769,24835,24856,24861,24848,24831,24836,24843,25162,25492,25521,25520,25550,25573,25576,25583,25539,25757,25587,25546,25568,25590,25557,25586,25589,25697,25567,25534,25565,25564,25540,25560,25555,25538,25543,25548,25547,25544,25584,25559,25561,25906,25959,25962,25956,25948,25960,25957,25996,26013,26014,26030,26064,26066,26236,26220,26235,26240,26225,26233,26218,26226,26369,26892,26835,26884,26844,26922,26860,26858,26865,26895,26838,26871,26859,26852,26870,26899,26896,26867,26849,26887,26828,26888,26992,26804,26897,26863,26822,26900,26872,26832,26877,26876,26856,26891,26890,26903,26830,26824,26845,26846,26854,26868,26833,26886,26836,26857,26901,26917,26823,27449,27451,27455,27452,27540,27543,27545,27541,27581,27632,27634,27635,27696,28156,28230,28231,28191,28233,28296,28220,28221,28229,28258,28203,28223,28225,28253,28275,28188,28211,28235,28224,28241,28219,28163,28206,28254,28264,28252,28257,28209,28200,28256,28273,28267,28217,28194,28208,28243,28261,28199,28280,28260,28279,28245,28281,28242,28262,28213,28214,28250,28960,28958,28975,28923,28974,28977,28963,28965,28962,28978,28959,28968,28986,28955,29259,29274,29320,29321,29318,29317,29323,29458,29451,29488,29474,29489,29491,29479,29490,29485,29478,29475,29493,29452,29742,29740,29744,29739,29718,29722,29729,29741,29745,29732,29731,29725,29737,29728,29746,29947,29999,30063,30060,30183,30170,30177,30182,30173,30175,30180,30167,30357,30354,30426,30534,30535,30532,30541,30533,30538,30542,30539,30540,30686,30700,30816,30820,30821,30812,30829,30833,30826,30830,30832,30825,30824,30814,30818,31092,31091,31090,31088,31234,31242,31235,31244,31236,31385,31462,31460,31562,31547,31556,31560,31564,31566,31552,31576,31557,31906,31902,31912,31905,32088,32111,32099,32083,32086,32103,32106,32079,32109,32092,32107,32082,32084,32105,32081,32095,32078,32574,32575,32613,32614,32674,32672,32673,32727,32849,32847,32848,33022,32980,33091,33098,33106,33103,33095,33085,33101,33082,33254,33262,33271,33272,33273,33284,33340,33341,33343,33397,33595,33743,33785,33827,33728,33768,33810,33767,33764,33788,33782,33808,33734,33736,33771,33763,33727,33793,33757,33765,33752,33791,33761,33739,33742,33750,33781,33737,33801,33807,33758,33809,33798,33730,33779,33749,33786,33735,33745,33770,33811,33731,33772,33774,33732,33787,33751,33762,33819,33755,33790,34520,34530,34534,34515,34531,34522,34538,34525,34539,34524,34540,34537,34519,34536,34513,34888,34902,34901,35002,35031,35001,35e3,35008,35006,34998,35004,34999,35005,34994,35073,35017,35221,35224,35223,35293,35290,35291,35406,35405,35385,35417,35392,35415,35416,35396,35397,35410,35400,35409,35402,35404,35407,35935,35969,35968,36026,36030,36016,36025,36021,36228,36224,36233,36312,36307,36301,36295,36310,36316,36303,36309,36313,36296,36311,36293,36591,36599,36602,36601,36582,36590,36581,36597,36583,36584,36598,36587,36593,36588,36596,36585,36909,36916,36911,37126,37164,37124,37119,37116,37128,37113,37115,37121,37120,37127,37125,37123,37217,37220,37215,37218,37216,37377,37386,37413,37379,37402,37414,37391,37388,37376,37394,37375,37373,37382,37380,37415,37378,37404,37412,37401,37399,37381,37398,38267,38285,38284,38288,38535,38526,38536,38537,38531,38528,38594,38600,38595,38641,38640,38764,38768,38766,38919,39081,39147,40166,40697,20099,20100,20150,20669,20671,20678,20654,20676,20682,20660,20680,20674,20656,20673,20666,20657,20683,20681,20662,20664,20951,21114,21112,21115,21116,21955,21979,21964,21968,21963,21962,21981,21952,21972,21956,21993,21951,21970,21901,21967,21973,21986,21974,21960,22002,21965,21977,21954,22292,22611,22632,22628,22607,22605,22601,22639,22613,22606,22621,22617,22629,22619,22589,22627,22641,22780,23239,23236,23243,23226,23224,23217,23221,23216,23231,23240,23227,23238,23223,23232,23242,23220,23222,23245,23225,23184,23510,23512,23513,23583,23603,23921,23907,23882,23909,23922,23916,23902,23912,23911,23906,24048,24143,24142,24138,24141,24139,24261,24268,24262,24267,24263,24384,24495,24493,24823,24905,24906,24875,24901,24886,24882,24878,24902,24879,24911,24873,24896,25120,37224,25123,25125,25124,25541,25585,25579,25616,25618,25609,25632,25636,25651,25667,25631,25621,25624,25657,25655,25634,25635,25612,25638,25648,25640,25665,25653,25647,25610,25626,25664,25637,25639,25611,25575,25627,25646,25633,25614,25967,26002,26067,26246,26252,26261,26256,26251,26250,26265,26260,26232,26400,26982,26975,26936,26958,26978,26993,26943,26949,26986,26937,26946,26967,26969,27002,26952,26953,26933,26988,26931,26941,26981,26864,27e3,26932,26985,26944,26991,26948,26998,26968,26945,26996,26956,26939,26955,26935,26972,26959,26961,26930,26962,26927,27003,26940,27462,27461,27459,27458,27464,27457,27547,64013,27643,27644,27641,27639,27640,28315,28374,28360,28303,28352,28319,28307,28308,28320,28337,28345,28358,28370,28349,28353,28318,28361,28343,28336,28365,28326,28367,28338,28350,28355,28380,28376,28313,28306,28302,28301,28324,28321,28351,28339,28368,28362,28311,28334,28323,28999,29012,29010,29027,29024,28993,29021,29026,29042,29048,29034,29025,28994,29016,28995,29003,29040,29023,29008,29011,28996,29005,29018,29263,29325,29324,29329,29328,29326,29500,29506,29499,29498,29504,29514,29513,29764,29770,29771,29778,29777,29783,29760,29775,29776,29774,29762,29766,29773,29780,29921,29951,29950,29949,29981,30073,30071,27011,30191,30223,30211,30199,30206,30204,30201,30200,30224,30203,30198,30189,30197,30205,30361,30389,30429,30549,30559,30560,30546,30550,30554,30569,30567,30548,30553,30573,30688,30855,30874,30868,30863,30852,30869,30853,30854,30881,30851,30841,30873,30848,30870,30843,31100,31106,31101,31097,31249,31256,31257,31250,31255,31253,31266,31251,31259,31248,31395,31394,31390,31467,31590,31588,31597,31604,31593,31602,31589,31603,31601,31600,31585,31608,31606,31587,31922,31924,31919,32136,32134,32128,32141,32127,32133,32122,32142,32123,32131,32124,32140,32148,32132,32125,32146,32621,32619,32615,32616,32620,32678,32677,32679,32731,32732,32801,33124,33120,33143,33116,33129,33115,33122,33138,26401,33118,33142,33127,33135,33092,33121,33309,33353,33348,33344,33346,33349,34033,33855,33878,33910,33913,33935,33933,33893,33873,33856,33926,33895,33840,33869,33917,33882,33881,33908,33907,33885,34055,33886,33847,33850,33844,33914,33859,33912,33842,33861,33833,33753,33867,33839,33858,33837,33887,33904,33849,33870,33868,33874,33903,33989,33934,33851,33863,33846,33843,33896,33918,33860,33835,33888,33876,33902,33872,34571,34564,34551,34572,34554,34518,34549,34637,34552,34574,34569,34561,34550,34573,34565,35030,35019,35021,35022,35038,35035,35034,35020,35024,35205,35227,35295,35301,35300,35297,35296,35298,35292,35302,35446,35462,35455,35425,35391,35447,35458,35460,35445,35459,35457,35444,35450,35900,35915,35914,35941,35940,35942,35974,35972,35973,36044,36200,36201,36241,36236,36238,36239,36237,36243,36244,36240,36242,36336,36320,36332,36337,36334,36304,36329,36323,36322,36327,36338,36331,36340,36614,36607,36609,36608,36613,36615,36616,36610,36619,36946,36927,36932,36937,36925,37136,37133,37135,37137,37142,37140,37131,37134,37230,37231,37448,37458,37424,37434,37478,37427,37477,37470,37507,37422,37450,37446,37485,37484,37455,37472,37479,37487,37430,37473,37488,37425,37460,37475,37456,37490,37454,37459,37452,37462,37426,38303,38300,38302,38299,38546,38547,38545,38551,38606,38650,38653,38648,38645,38771,38775,38776,38770,38927,38925,38926,39084,39158,39161,39343,39346,39344,39349,39597,39595,39771,40170,40173,40167,40576,40701,20710,20692,20695,20712,20723,20699,20714,20701,20708,20691,20716,20720,20719,20707,20704,20952,21120,21121,21225,21227,21296,21420,22055,22037,22028,22034,22012,22031,22044,22017,22035,22018,22010,22045,22020,22015,22009,22665,22652,22672,22680,22662,22657,22655,22644,22667,22650,22663,22673,22670,22646,22658,22664,22651,22676,22671,22782,22891,23260,23278,23269,23253,23274,23258,23277,23275,23283,23266,23264,23259,23276,23262,23261,23257,23272,23263,23415,23520,23523,23651,23938,23936,23933,23942,23930,23937,23927,23946,23945,23944,23934,23932,23949,23929,23935,24152,24153,24147,24280,24273,24279,24270,24284,24277,24281,24274,24276,24388,24387,24431,24502,24876,24872,24897,24926,24945,24947,24914,24915,24946,24940,24960,24948,24916,24954,24923,24933,24891,24938,24929,24918,25129,25127,25131,25643,25677,25691,25693,25716,25718,25714,25715,25725,25717,25702,25766,25678,25730,25694,25692,25675,25683,25696,25680,25727,25663,25708,25707,25689,25701,25719,25971,26016,26273,26272,26271,26373,26372,26402,27057,27062,27081,27040,27086,27030,27056,27052,27068,27025,27033,27022,27047,27021,27049,27070,27055,27071,27076,27069,27044,27092,27065,27082,27034,27087,27059,27027,27050,27041,27038,27097,27031,27024,27074,27061,27045,27078,27466,27469,27467,27550,27551,27552,27587,27588,27646,28366,28405,28401,28419,28453,28408,28471,28411,28462,28425,28494,28441,28442,28455,28440,28475,28434,28397,28426,28470,28531,28409,28398,28461,28480,28464,28476,28469,28395,28423,28430,28483,28421,28413,28406,28473,28444,28412,28474,28447,28429,28446,28424,28449,29063,29072,29065,29056,29061,29058,29071,29051,29062,29057,29079,29252,29267,29335,29333,29331,29507,29517,29521,29516,29794,29811,29809,29813,29810,29799,29806,29952,29954,29955,30077,30096,30230,30216,30220,30229,30225,30218,30228,30392,30593,30588,30597,30594,30574,30592,30575,30590,30595,30898,30890,30900,30893,30888,30846,30891,30878,30885,30880,30892,30882,30884,31128,31114,31115,31126,31125,31124,31123,31127,31112,31122,31120,31275,31306,31280,31279,31272,31270,31400,31403,31404,31470,31624,31644,31626,31633,31632,31638,31629,31628,31643,31630,31621,31640,21124,31641,31652,31618,31931,31935,31932,31930,32167,32183,32194,32163,32170,32193,32192,32197,32157,32206,32196,32198,32203,32204,32175,32185,32150,32188,32159,32166,32174,32169,32161,32201,32627,32738,32739,32741,32734,32804,32861,32860,33161,33158,33155,33159,33165,33164,33163,33301,33943,33956,33953,33951,33978,33998,33986,33964,33966,33963,33977,33972,33985,33997,33962,33946,33969,34e3,33949,33959,33979,33954,33940,33991,33996,33947,33961,33967,33960,34006,33944,33974,33999,33952,34007,34004,34002,34011,33968,33937,34401,34611,34595,34600,34667,34624,34606,34590,34593,34585,34587,34627,34604,34625,34622,34630,34592,34610,34602,34605,34620,34578,34618,34609,34613,34626,34598,34599,34616,34596,34586,34608,34577,35063,35047,35057,35058,35066,35070,35054,35068,35062,35067,35056,35052,35051,35229,35233,35231,35230,35305,35307,35304,35499,35481,35467,35474,35471,35478,35901,35944,35945,36053,36047,36055,36246,36361,36354,36351,36365,36349,36362,36355,36359,36358,36357,36350,36352,36356,36624,36625,36622,36621,37155,37148,37152,37154,37151,37149,37146,37156,37153,37147,37242,37234,37241,37235,37541,37540,37494,37531,37498,37536,37524,37546,37517,37542,37530,37547,37497,37527,37503,37539,37614,37518,37506,37525,37538,37501,37512,37537,37514,37510,37516,37529,37543,37502,37511,37545,37533,37515,37421,38558,38561,38655,38744,38781,38778,38782,38787,38784,38786,38779,38788,38785,38783,38862,38861,38934,39085,39086,39170,39168,39175,39325,39324,39363,39353,39355,39354,39362,39357,39367,39601,39651,39655,39742,39743,39776,39777,39775,40177,40178,40181,40615,20735,20739,20784,20728,20742,20743,20726,20734,20747,20748,20733,20746,21131,21132,21233,21231,22088,22082,22092,22069,22081,22090,22089,22086,22104,22106,22080,22067,22077,22060,22078,22072,22058,22074,22298,22699,22685,22705,22688,22691,22703,22700,22693,22689,22783,23295,23284,23293,23287,23286,23299,23288,23298,23289,23297,23303,23301,23311,23655,23961,23959,23967,23954,23970,23955,23957,23968,23964,23969,23962,23966,24169,24157,24160,24156,32243,24283,24286,24289,24393,24498,24971,24963,24953,25009,25008,24994,24969,24987,24979,25007,25005,24991,24978,25002,24993,24973,24934,25011,25133,25710,25712,25750,25760,25733,25751,25756,25743,25739,25738,25740,25763,25759,25704,25777,25752,25974,25978,25977,25979,26034,26035,26293,26288,26281,26290,26295,26282,26287,27136,27142,27159,27109,27128,27157,27121,27108,27168,27135,27116,27106,27163,27165,27134,27175,27122,27118,27156,27127,27111,27200,27144,27110,27131,27149,27132,27115,27145,27140,27160,27173,27151,27126,27174,27143,27124,27158,27473,27557,27555,27554,27558,27649,27648,27647,27650,28481,28454,28542,28551,28614,28562,28557,28553,28556,28514,28495,28549,28506,28566,28534,28524,28546,28501,28530,28498,28496,28503,28564,28563,28509,28416,28513,28523,28541,28519,28560,28499,28555,28521,28543,28565,28515,28535,28522,28539,29106,29103,29083,29104,29088,29082,29097,29109,29085,29093,29086,29092,29089,29098,29084,29095,29107,29336,29338,29528,29522,29534,29535,29536,29533,29531,29537,29530,29529,29538,29831,29833,29834,29830,29825,29821,29829,29832,29820,29817,29960,29959,30078,30245,30238,30233,30237,30236,30243,30234,30248,30235,30364,30365,30366,30363,30605,30607,30601,30600,30925,30907,30927,30924,30929,30926,30932,30920,30915,30916,30921,31130,31137,31136,31132,31138,31131,27510,31289,31410,31412,31411,31671,31691,31678,31660,31694,31663,31673,31690,31669,31941,31944,31948,31947,32247,32219,32234,32231,32215,32225,32259,32250,32230,32246,32241,32240,32238,32223,32630,32684,32688,32685,32749,32747,32746,32748,32742,32744,32868,32871,33187,33183,33182,33173,33186,33177,33175,33302,33359,33363,33362,33360,33358,33361,34084,34107,34063,34048,34089,34062,34057,34061,34079,34058,34087,34076,34043,34091,34042,34056,34060,34036,34090,34034,34069,34039,34027,34035,34044,34066,34026,34025,34070,34046,34088,34077,34094,34050,34045,34078,34038,34097,34086,34023,34024,34032,34031,34041,34072,34080,34096,34059,34073,34095,34402,34646,34659,34660,34679,34785,34675,34648,34644,34651,34642,34657,34650,34641,34654,34669,34666,34640,34638,34655,34653,34671,34668,34682,34670,34652,34661,34639,34683,34677,34658,34663,34665,34906,35077,35084,35092,35083,35095,35096,35097,35078,35094,35089,35086,35081,35234,35236,35235,35309,35312,35308,35535,35526,35512,35539,35537,35540,35541,35515,35543,35518,35520,35525,35544,35523,35514,35517,35545,35902,35917,35983,36069,36063,36057,36072,36058,36061,36071,36256,36252,36257,36251,36384,36387,36389,36388,36398,36373,36379,36374,36369,36377,36390,36391,36372,36370,36376,36371,36380,36375,36378,36652,36644,36632,36634,36640,36643,36630,36631,36979,36976,36975,36967,36971,37167,37163,37161,37162,37170,37158,37166,37253,37254,37258,37249,37250,37252,37248,37584,37571,37572,37568,37593,37558,37583,37617,37599,37592,37609,37591,37597,37580,37615,37570,37608,37578,37576,37582,37606,37581,37589,37577,37600,37598,37607,37585,37587,37557,37601,37574,37556,38268,38316,38315,38318,38320,38564,38562,38611,38661,38664,38658,38746,38794,38798,38792,38864,38863,38942,38941,38950,38953,38952,38944,38939,38951,39090,39176,39162,39185,39188,39190,39191,39189,39388,39373,39375,39379,39380,39374,39369,39382,39384,39371,39383,39372,39603,39660,39659,39667,39666,39665,39750,39747,39783,39796,39793,39782,39798,39797,39792,39784,39780,39788,40188,40186,40189,40191,40183,40199,40192,40185,40187,40200,40197,40196,40579,40659,40719,40720,20764,20755,20759,20762,20753,20958,21300,21473,22128,22112,22126,22131,22118,22115,22125,22130,22110,22135,22300,22299,22728,22717,22729,22719,22714,22722,22716,22726,23319,23321,23323,23329,23316,23315,23312,23318,23336,23322,23328,23326,23535,23980,23985,23977,23975,23989,23984,23982,23978,23976,23986,23981,23983,23988,24167,24168,24166,24175,24297,24295,24294,24296,24293,24395,24508,24989,25e3,24982,25029,25012,25030,25025,25036,25018,25023,25016,24972,25815,25814,25808,25807,25801,25789,25737,25795,25819,25843,25817,25907,25983,25980,26018,26312,26302,26304,26314,26315,26319,26301,26299,26298,26316,26403,27188,27238,27209,27239,27186,27240,27198,27229,27245,27254,27227,27217,27176,27226,27195,27199,27201,27242,27236,27216,27215,27220,27247,27241,27232,27196,27230,27222,27221,27213,27214,27206,27477,27476,27478,27559,27562,27563,27592,27591,27652,27651,27654,28589,28619,28579,28615,28604,28622,28616,28510,28612,28605,28574,28618,28584,28676,28581,28590,28602,28588,28586,28623,28607,28600,28578,28617,28587,28621,28591,28594,28592,29125,29122,29119,29112,29142,29120,29121,29131,29140,29130,29127,29135,29117,29144,29116,29126,29146,29147,29341,29342,29545,29542,29543,29548,29541,29547,29546,29823,29850,29856,29844,29842,29845,29857,29963,30080,30255,30253,30257,30269,30259,30268,30261,30258,30256,30395,30438,30618,30621,30625,30620,30619,30626,30627,30613,30617,30615,30941,30953,30949,30954,30942,30947,30939,30945,30946,30957,30943,30944,31140,31300,31304,31303,31414,31416,31413,31409,31415,31710,31715,31719,31709,31701,31717,31706,31720,31737,31700,31722,31714,31708,31723,31704,31711,31954,31956,31959,31952,31953,32274,32289,32279,32268,32287,32288,32275,32270,32284,32277,32282,32290,32267,32271,32278,32269,32276,32293,32292,32579,32635,32636,32634,32689,32751,32810,32809,32876,33201,33190,33198,33209,33205,33195,33200,33196,33204,33202,33207,33191,33266,33365,33366,33367,34134,34117,34155,34125,34131,34145,34136,34112,34118,34148,34113,34146,34116,34129,34119,34147,34110,34139,34161,34126,34158,34165,34133,34151,34144,34188,34150,34141,34132,34149,34156,34403,34405,34404,34715,34703,34711,34707,34706,34696,34689,34710,34712,34681,34695,34723,34693,34704,34705,34717,34692,34708,34716,34714,34697,35102,35110,35120,35117,35118,35111,35121,35106,35113,35107,35119,35116,35103,35313,35552,35554,35570,35572,35573,35549,35604,35556,35551,35568,35528,35550,35553,35560,35583,35567,35579,35985,35986,35984,36085,36078,36081,36080,36083,36204,36206,36261,36263,36403,36414,36408,36416,36421,36406,36412,36413,36417,36400,36415,36541,36662,36654,36661,36658,36665,36663,36660,36982,36985,36987,36998,37114,37171,37173,37174,37267,37264,37265,37261,37263,37671,37662,37640,37663,37638,37647,37754,37688,37692,37659,37667,37650,37633,37702,37677,37646,37645,37579,37661,37626,37669,37651,37625,37623,37684,37634,37668,37631,37673,37689,37685,37674,37652,37644,37643,37630,37641,37632,37627,37654,38332,38349,38334,38329,38330,38326,38335,38325,38333,38569,38612,38667,38674,38672,38809,38807,38804,38896,38904,38965,38959,38962,39204,39199,39207,39209,39326,39406,39404,39397,39396,39408,39395,39402,39401,39399,39609,39615,39604,39611,39670,39674,39673,39671,39731,39808,39813,39815,39804,39806,39803,39810,39827,39826,39824,39802,39829,39805,39816,40229,40215,40224,40222,40212,40233,40221,40216,40226,40208,40217,40223,40584,40582,40583,40622,40621,40661,40662,40698,40722,40765,20774,20773,20770,20772,20768,20777,21236,22163,22156,22157,22150,22148,22147,22142,22146,22143,22145,22742,22740,22735,22738,23341,23333,23346,23331,23340,23335,23334,23343,23342,23419,23537,23538,23991,24172,24170,24510,24507,25027,25013,25020,25063,25056,25061,25060,25064,25054,25839,25833,25827,25835,25828,25832,25985,25984,26038,26074,26322,27277,27286,27265,27301,27273,27295,27291,27297,27294,27271,27283,27278,27285,27267,27304,27300,27281,27263,27302,27290,27269,27276,27282,27483,27565,27657,28620,28585,28660,28628,28643,28636,28653,28647,28646,28638,28658,28637,28642,28648,29153,29169,29160,29170,29156,29168,29154,29555,29550,29551,29847,29874,29867,29840,29866,29869,29873,29861,29871,29968,29969,29970,29967,30084,30275,30280,30281,30279,30372,30441,30645,30635,30642,30647,30646,30644,30641,30632,30704,30963,30973,30978,30971,30972,30962,30981,30969,30974,30980,31147,31144,31324,31323,31318,31320,31316,31322,31422,31424,31425,31749,31759,31730,31744,31743,31739,31758,31732,31755,31731,31746,31753,31747,31745,31736,31741,31750,31728,31729,31760,31754,31976,32301,32316,32322,32307,38984,32312,32298,32329,32320,32327,32297,32332,32304,32315,32310,32324,32314,32581,32639,32638,32637,32756,32754,32812,33211,33220,33228,33226,33221,33223,33212,33257,33371,33370,33372,34179,34176,34191,34215,34197,34208,34187,34211,34171,34212,34202,34206,34167,34172,34185,34209,34170,34168,34135,34190,34198,34182,34189,34201,34205,34177,34210,34178,34184,34181,34169,34166,34200,34192,34207,34408,34750,34730,34733,34757,34736,34732,34745,34741,34748,34734,34761,34755,34754,34764,34743,34735,34756,34762,34740,34742,34751,34744,34749,34782,34738,35125,35123,35132,35134,35137,35154,35127,35138,35245,35247,35246,35314,35315,35614,35608,35606,35601,35589,35595,35618,35599,35602,35605,35591,35597,35592,35590,35612,35603,35610,35919,35952,35954,35953,35951,35989,35988,36089,36207,36430,36429,36435,36432,36428,36423,36675,36672,36997,36990,37176,37274,37282,37275,37273,37279,37281,37277,37280,37793,37763,37807,37732,37718,37703,37756,37720,37724,37750,37705,37712,37713,37728,37741,37775,37708,37738,37753,37719,37717,37714,37711,37745,37751,37755,37729,37726,37731,37735,37760,37710,37721,38343,38336,38345,38339,38341,38327,38574,38576,38572,38688,38687,38680,38685,38681,38810,38817,38812,38814,38813,38869,38868,38897,38977,38980,38986,38985,38981,38979,39205,39211,39212,39210,39219,39218,39215,39213,39217,39216,39320,39331,39329,39426,39418,39412,39415,39417,39416,39414,39419,39421,39422,39420,39427,39614,39678,39677,39681,39676,39752,39834,39848,39838,39835,39846,39841,39845,39844,39814,39842,39840,39855,40243,40257,40295,40246,40238,40239,40241,40248,40240,40261,40258,40259,40254,40247,40256,40253,32757,40237,40586,40585,40589,40624,40648,40666,40699,40703,40740,40739,40738,40788,40864,20785,20781,20782,22168,22172,22167,22170,22173,22169,22896,23356,23657,23658,24e3,24173,24174,25048,25055,25069,25070,25073,25066,25072,25067,25046,25065,25855,25860,25853,25848,25857,25859,25852,26004,26075,26330,26331,26328,27333,27321,27325,27361,27334,27322,27318,27319,27335,27316,27309,27486,27593,27659,28679,28684,28685,28673,28677,28692,28686,28671,28672,28667,28710,28668,28663,28682,29185,29183,29177,29187,29181,29558,29880,29888,29877,29889,29886,29878,29883,29890,29972,29971,30300,30308,30297,30288,30291,30295,30298,30374,30397,30444,30658,30650,30975,30988,30995,30996,30985,30992,30994,30993,31149,31148,31327,31772,31785,31769,31776,31775,31789,31773,31782,31784,31778,31781,31792,32348,32336,32342,32355,32344,32354,32351,32337,32352,32343,32339,32693,32691,32759,32760,32885,33233,33234,33232,33375,33374,34228,34246,34240,34243,34242,34227,34229,34237,34247,34244,34239,34251,34254,34248,34245,34225,34230,34258,34340,34232,34231,34238,34409,34791,34790,34786,34779,34795,34794,34789,34783,34803,34788,34772,34780,34771,34797,34776,34787,34724,34775,34777,34817,34804,34792,34781,35155,35147,35151,35148,35142,35152,35153,35145,35626,35623,35619,35635,35632,35637,35655,35631,35644,35646,35633,35621,35639,35622,35638,35630,35620,35643,35645,35642,35906,35957,35993,35992,35991,36094,36100,36098,36096,36444,36450,36448,36439,36438,36446,36453,36455,36443,36442,36449,36445,36457,36436,36678,36679,36680,36683,37160,37178,37179,37182,37288,37285,37287,37295,37290,37813,37772,37778,37815,37787,37789,37769,37799,37774,37802,37790,37798,37781,37768,37785,37791,37773,37809,37777,37810,37796,37800,37812,37795,37797,38354,38355,38353,38579,38615,38618,24002,38623,38616,38621,38691,38690,38693,38828,38830,38824,38827,38820,38826,38818,38821,38871,38873,38870,38872,38906,38992,38993,38994,39096,39233,39228,39226,39439,39435,39433,39437,39428,39441,39434,39429,39431,39430,39616,39644,39688,39684,39685,39721,39733,39754,39756,39755,39879,39878,39875,39871,39873,39861,39864,39891,39862,39876,39865,39869,40284,40275,40271,40266,40283,40267,40281,40278,40268,40279,40274,40276,40287,40280,40282,40590,40588,40671,40705,40704,40726,40741,40747,40746,40745,40744,40780,40789,20788,20789,21142,21239,21428,22187,22189,22182,22183,22186,22188,22746,22749,22747,22802,23357,23358,23359,24003,24176,24511,25083,25863,25872,25869,25865,25868,25870,25988,26078,26077,26334,27367,27360,27340,27345,27353,27339,27359,27356,27344,27371,27343,27341,27358,27488,27568,27660,28697,28711,28704,28694,28715,28705,28706,28707,28713,28695,28708,28700,28714,29196,29194,29191,29186,29189,29349,29350,29348,29347,29345,29899,29893,29879,29891,29974,30304,30665,30666,30660,30705,31005,31003,31009,31004,30999,31006,31152,31335,31336,31795,31804,31801,31788,31803,31980,31978,32374,32373,32376,32368,32375,32367,32378,32370,32372,32360,32587,32586,32643,32646,32695,32765,32766,32888,33239,33237,33380,33377,33379,34283,34289,34285,34265,34273,34280,34266,34263,34284,34290,34296,34264,34271,34275,34268,34257,34288,34278,34287,34270,34274,34816,34810,34819,34806,34807,34825,34828,34827,34822,34812,34824,34815,34826,34818,35170,35162,35163,35159,35169,35164,35160,35165,35161,35208,35255,35254,35318,35664,35656,35658,35648,35667,35670,35668,35659,35669,35665,35650,35666,35671,35907,35959,35958,35994,36102,36103,36105,36268,36266,36269,36267,36461,36472,36467,36458,36463,36475,36546,36690,36689,36687,36688,36691,36788,37184,37183,37296,37293,37854,37831,37839,37826,37850,37840,37881,37868,37836,37849,37801,37862,37834,37844,37870,37859,37845,37828,37838,37824,37842,37863,38269,38362,38363,38625,38697,38699,38700,38696,38694,38835,38839,38838,38877,38878,38879,39004,39001,39005,38999,39103,39101,39099,39102,39240,39239,39235,39334,39335,39450,39445,39461,39453,39460,39451,39458,39456,39463,39459,39454,39452,39444,39618,39691,39690,39694,39692,39735,39914,39915,39904,39902,39908,39910,39906,39920,39892,39895,39916,39900,39897,39909,39893,39905,39898,40311,40321,40330,40324,40328,40305,40320,40312,40326,40331,40332,40317,40299,40308,40309,40304,40297,40325,40307,40315,40322,40303,40313,40319,40327,40296,40596,40593,40640,40700,40749,40768,40769,40781,40790,40791,40792,21303,22194,22197,22195,22755,23365,24006,24007,24302,24303,24512,24513,25081,25879,25878,25877,25875,26079,26344,26339,26340,27379,27376,27370,27368,27385,27377,27374,27375,28732,28725,28719,28727,28724,28721,28738,28728,28735,28730,28729,28736,28731,28723,28737,29203,29204,29352,29565,29564,29882,30379,30378,30398,30445,30668,30670,30671,30669,30706,31013,31011,31015,31016,31012,31017,31154,31342,31340,31341,31479,31817,31816,31818,31815,31813,31982,32379,32382,32385,32384,32698,32767,32889,33243,33241,33291,33384,33385,34338,34303,34305,34302,34331,34304,34294,34308,34313,34309,34316,34301,34841,34832,34833,34839,34835,34838,35171,35174,35257,35319,35680,35690,35677,35688,35683,35685,35687,35693,36270,36486,36488,36484,36697,36694,36695,36693,36696,36698,37005,37187,37185,37303,37301,37298,37299,37899,37907,37883,37920,37903,37908,37886,37909,37904,37928,37913,37901,37877,37888,37879,37895,37902,37910,37906,37882,37897,37880,37898,37887,37884,37900,37878,37905,37894,38366,38368,38367,38702,38703,38841,38843,38909,38910,39008,39010,39011,39007,39105,39106,39248,39246,39257,39244,39243,39251,39474,39476,39473,39468,39466,39478,39465,39470,39480,39469,39623,39626,39622,39696,39698,39697,39947,39944,39927,39941,39954,39928,4e4,39943,39950,39942,39959,39956,39945,40351,40345,40356,40349,40338,40344,40336,40347,40352,40340,40348,40362,40343,40353,40346,40354,40360,40350,40355,40383,40361,40342,40358,40359,40601,40603,40602,40677,40676,40679,40678,40752,40750,40795,40800,40798,40797,40793,40849,20794,20793,21144,21143,22211,22205,22206,23368,23367,24011,24015,24305,25085,25883,27394,27388,27395,27384,27392,28739,28740,28746,28744,28745,28741,28742,29213,29210,29209,29566,29975,30314,30672,31021,31025,31023,31828,31827,31986,32394,32391,32392,32395,32390,32397,32589,32699,32816,33245,34328,34346,34342,34335,34339,34332,34329,34343,34350,34337,34336,34345,34334,34341,34857,34845,34843,34848,34852,34844,34859,34890,35181,35177,35182,35179,35322,35705,35704,35653,35706,35707,36112,36116,36271,36494,36492,36702,36699,36701,37190,37188,37189,37305,37951,37947,37942,37929,37949,37948,37936,37945,37930,37943,37932,37952,37937,38373,38372,38371,38709,38714,38847,38881,39012,39113,39110,39104,39256,39254,39481,39485,39494,39492,39490,39489,39482,39487,39629,39701,39703,39704,39702,39738,39762,39979,39965,39964,39980,39971,39976,39977,39972,39969,40375,40374,40380,40385,40391,40394,40399,40382,40389,40387,40379,40373,40398,40377,40378,40364,40392,40369,40365,40396,40371,40397,40370,40570,40604,40683,40686,40685,40731,40728,40730,40753,40782,40805,40804,40850,20153,22214,22213,22219,22897,23371,23372,24021,24017,24306,25889,25888,25894,25890,27403,27400,27401,27661,28757,28758,28759,28754,29214,29215,29353,29567,29912,29909,29913,29911,30317,30381,31029,31156,31344,31345,31831,31836,31833,31835,31834,31988,31985,32401,32591,32647,33246,33387,34356,34357,34355,34348,34354,34358,34860,34856,34854,34858,34853,35185,35263,35262,35323,35710,35716,35714,35718,35717,35711,36117,36501,36500,36506,36498,36496,36502,36503,36704,36706,37191,37964,37968,37962,37963,37967,37959,37957,37960,37961,37958,38719,38883,39018,39017,39115,39252,39259,39502,39507,39508,39500,39503,39496,39498,39497,39506,39504,39632,39705,39723,39739,39766,39765,40006,40008,39999,40004,39993,39987,40001,39996,39991,39988,39986,39997,39990,40411,40402,40414,40410,40395,40400,40412,40401,40415,40425,40409,40408,40406,40437,40405,40413,40630,40688,40757,40755,40754,40770,40811,40853,40866,20797,21145,22760,22759,22898,23373,24024,34863,24399,25089,25091,25092,25897,25893,26006,26347,27409,27410,27407,27594,28763,28762,29218,29570,29569,29571,30320,30676,31847,31846,32405,33388,34362,34368,34361,34364,34353,34363,34366,34864,34866,34862,34867,35190,35188,35187,35326,35724,35726,35723,35720,35909,36121,36504,36708,36707,37308,37986,37973,37981,37975,37982,38852,38853,38912,39510,39513,39710,39711,39712,40018,40024,40016,40010,40013,40011,40021,40025,40012,40014,40443,40439,40431,40419,40427,40440,40420,40438,40417,40430,40422,40434,40432,40418,40428,40436,40435,40424,40429,40642,40656,40690,40691,40710,40732,40760,40759,40758,40771,40783,40817,40816,40814,40815,22227,22221,23374,23661,25901,26349,26350,27411,28767,28769,28765,28768,29219,29915,29925,30677,31032,31159,31158,31850,32407,32649,33389,34371,34872,34871,34869,34891,35732,35733,36510,36511,36512,36509,37310,37309,37314,37995,37992,37993,38629,38726,38723,38727,38855,38885,39518,39637,39769,40035,40039,40038,40034,40030,40032,40450,40446,40455,40451,40454,40453,40448,40449,40457,40447,40445,40452,40608,40734,40774,40820,40821,40822,22228,25902,26040,27416,27417,27415,27418,28770,29222,29354,30680,30681,31033,31849,31851,31990,32410,32408,32411,32409,33248,33249,34374,34375,34376,35193,35194,35196,35195,35327,35736,35737,36517,36516,36515,37998,37997,37999,38001,38003,38729,39026,39263,40040,40046,40045,40459,40461,40464,40463,40466,40465,40609,40693,40713,40775,40824,40827,40826,40825,22302,28774,31855,34876,36274,36518,37315,38004,38008,38006,38005,39520,40052,40051,40049,40053,40468,40467,40694,40714,40868,28776,28773,31991,34410,34878,34877,34879,35742,35996,36521,36553,38731,39027,39028,39116,39265,39339,39524,39526,39527,39716,40469,40471,40776,25095,27422,29223,34380,36520,38018,38016,38017,39529,39528,39726,40473,29225,34379,35743,38019,40057,40631,30325,39531,40058,40477,28777,28778,40612,40830,40777,40856,30849,37561,35023,22715,24658,31911,23290,9556,9574,9559,9568,9580,9571,9562,9577,9565,9554,9572,9557,9566,9578,9569,9560,9575,9563,9555,9573,9558,9567,9579,9570,9561,9576,9564,9553,9552,9581,9582,9584,9583,65517,132423,37595,132575,147397,34124,17077,29679,20917,13897,149826,166372,37700,137691,33518,146632,30780,26436,25311,149811,166314,131744,158643,135941,20395,140525,20488,159017,162436,144896,150193,140563,20521,131966,24484,131968,131911,28379,132127,20605,20737,13434,20750,39020,14147,33814,149924,132231,20832,144308,20842,134143,139516,131813,140592,132494,143923,137603,23426,34685,132531,146585,20914,20920,40244,20937,20943,20945,15580,20947,150182,20915,20962,21314,20973,33741,26942,145197,24443,21003,21030,21052,21173,21079,21140,21177,21189,31765,34114,21216,34317,158483,21253,166622,21833,28377,147328,133460,147436,21299,21316,134114,27851,136998,26651,29653,24650,16042,14540,136936,29149,17570,21357,21364,165547,21374,21375,136598,136723,30694,21395,166555,21408,21419,21422,29607,153458,16217,29596,21441,21445,27721,20041,22526,21465,15019,134031,21472,147435,142755,21494,134263,21523,28793,21803,26199,27995,21613,158547,134516,21853,21647,21668,18342,136973,134877,15796,134477,166332,140952,21831,19693,21551,29719,21894,21929,22021,137431,147514,17746,148533,26291,135348,22071,26317,144010,26276,26285,22093,22095,30961,22257,38791,21502,22272,22255,22253,166758,13859,135759,22342,147877,27758,28811,22338,14001,158846,22502,136214,22531,136276,148323,22566,150517,22620,22698,13665,22752,22748,135740,22779,23551,22339,172368,148088,37843,13729,22815,26790,14019,28249,136766,23076,21843,136850,34053,22985,134478,158849,159018,137180,23001,137211,137138,159142,28017,137256,136917,23033,159301,23211,23139,14054,149929,23159,14088,23190,29797,23251,159649,140628,15749,137489,14130,136888,24195,21200,23414,25992,23420,162318,16388,18525,131588,23509,24928,137780,154060,132517,23539,23453,19728,23557,138052,23571,29646,23572,138405,158504,23625,18653,23685,23785,23791,23947,138745,138807,23824,23832,23878,138916,23738,24023,33532,14381,149761,139337,139635,33415,14390,15298,24110,27274,24181,24186,148668,134355,21414,20151,24272,21416,137073,24073,24308,164994,24313,24315,14496,24316,26686,37915,24333,131521,194708,15070,18606,135994,24378,157832,140240,24408,140401,24419,38845,159342,24434,37696,166454,24487,23990,15711,152144,139114,159992,140904,37334,131742,166441,24625,26245,137335,14691,15815,13881,22416,141236,31089,15936,24734,24740,24755,149890,149903,162387,29860,20705,23200,24932,33828,24898,194726,159442,24961,20980,132694,24967,23466,147383,141407,25043,166813,170333,25040,14642,141696,141505,24611,24924,25886,25483,131352,25285,137072,25301,142861,25452,149983,14871,25656,25592,136078,137212,25744,28554,142902,38932,147596,153373,25825,25829,38011,14950,25658,14935,25933,28438,150056,150051,25989,25965,25951,143486,26037,149824,19255,26065,16600,137257,26080,26083,24543,144384,26136,143863,143864,26180,143780,143781,26187,134773,26215,152038,26227,26228,138813,143921,165364,143816,152339,30661,141559,39332,26370,148380,150049,15147,27130,145346,26462,26471,26466,147917,168173,26583,17641,26658,28240,37436,26625,144358,159136,26717,144495,27105,27147,166623,26995,26819,144845,26881,26880,15666,14849,144956,15232,26540,26977,166474,17148,26934,27032,15265,132041,33635,20624,27129,144985,139562,27205,145155,27293,15347,26545,27336,168348,15373,27421,133411,24798,27445,27508,141261,28341,146139,132021,137560,14144,21537,146266,27617,147196,27612,27703,140427,149745,158545,27738,33318,27769,146876,17605,146877,147876,149772,149760,146633,14053,15595,134450,39811,143865,140433,32655,26679,159013,159137,159211,28054,27996,28284,28420,149887,147589,159346,34099,159604,20935,27804,28189,33838,166689,28207,146991,29779,147330,31180,28239,23185,143435,28664,14093,28573,146992,28410,136343,147517,17749,37872,28484,28508,15694,28532,168304,15675,28575,147780,28627,147601,147797,147513,147440,147380,147775,20959,147798,147799,147776,156125,28747,28798,28839,28801,28876,28885,28886,28895,16644,15848,29108,29078,148087,28971,28997,23176,29002,29038,23708,148325,29007,37730,148161,28972,148570,150055,150050,29114,166888,28861,29198,37954,29205,22801,37955,29220,37697,153093,29230,29248,149876,26813,29269,29271,15957,143428,26637,28477,29314,29482,29483,149539,165931,18669,165892,29480,29486,29647,29610,134202,158254,29641,29769,147938,136935,150052,26147,14021,149943,149901,150011,29687,29717,26883,150054,29753,132547,16087,29788,141485,29792,167602,29767,29668,29814,33721,29804,14128,29812,37873,27180,29826,18771,150156,147807,150137,166799,23366,166915,137374,29896,137608,29966,29929,29982,167641,137803,23511,167596,37765,30029,30026,30055,30062,151426,16132,150803,30094,29789,30110,30132,30210,30252,30289,30287,30319,30326,156661,30352,33263,14328,157969,157966,30369,30373,30391,30412,159647,33890,151709,151933,138780,30494,30502,30528,25775,152096,30552,144044,30639,166244,166248,136897,30708,30729,136054,150034,26826,30895,30919,30931,38565,31022,153056,30935,31028,30897,161292,36792,34948,166699,155779,140828,31110,35072,26882,31104,153687,31133,162617,31036,31145,28202,160038,16040,31174,168205,31188],"euc-kr":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,45081,45082,45083,45086,45087,45088,45089,45090,45091,45092,45093,45094,45095,45097,45098,45099,45100,45101,45102,45103,45104,45105,45106,45107,45108,45109,45110,45111,45112,45113,45114,45115,45116,45117,45118,45119,45120,45121,45122,45123,45126,45127,45129,45131,45133,45135,45136,45137,45138,45142,45144,45146,45147,45148,45150,45151,45152,45153,45154,45155,45156,45157,45158,45159,45160,45161,45162,45163,45164,45165,45166,45167,45168,45169,45170,45171,45172,45173,45174,45175,45176,45177,45178,45179,45182,45183,45185,45186,45187,45189,45190,45191,45192,45193,45194,45195,45198,45200,45202,45203,45204,45205,45206,45207,45211,45213,45214,45219,45220,45221,45222,45223,45226,45232,45234,45238,45239,45241,45242,45243,45245,45246,45247,45248,45249,45250,45251,45254,45258,45259,45260,45261,45262,45263,45266,null,null,null,null,null,null,45267,45269,45270,45271,45273,45274,45275,45276,45277,45278,45279,45281,45282,45283,45284,45286,45287,45288,45289,45290,45291,45292,45293,45294,45295,45296,null,null,null,null,null,null,45297,45298,45299,45300,45301,45302,45303,45304,45305,45306,45307,45308,45309,45310,45311,45312,45313,45314,45315,45316,45317,45318,45319,45322,45325,45326,45327,45329,45332,45333,45334,45335,45338,45342,45343,45344,45345,45346,45350,45351,45353,45354,45355,45357,45358,45359,45360,45361,45362,45363,45366,45370,45371,45372,45373,45374,45375,45378,45379,45381,45382,45383,45385,45386,45387,45388,45389,45390,45391,45394,45395,45398,45399,45401,45402,45403,45405,45406,45407,45409,45410,45411,45412,45413,45414,45415,45416,45417,45418,45419,45420,45421,45422,45423,45424,45425,45426,45427,45428,45429,45430,45431,45434,45435,45437,45438,45439,45441,45443,45444,45445,45446,45447,45450,45452,45454,45455,45456,45457,45461,45462,45463,45465,45466,45467,45469,45470,45471,45472,45473,45474,45475,45476,45477,45478,45479,45481,45482,45483,45484,45485,45486,45487,45488,45489,45490,45491,45492,45493,45494,45495,45496,null,null,null,null,null,null,45497,45498,45499,45500,45501,45502,45503,45504,45505,45506,45507,45508,45509,45510,45511,45512,45513,45514,45515,45517,45518,45519,45521,45522,45523,45525,null,null,null,null,null,null,45526,45527,45528,45529,45530,45531,45534,45536,45537,45538,45539,45540,45541,45542,45543,45546,45547,45549,45550,45551,45553,45554,45555,45556,45557,45558,45559,45560,45562,45564,45566,45567,45568,45569,45570,45571,45574,45575,45577,45578,45581,45582,45583,45584,45585,45586,45587,45590,45592,45594,45595,45596,45597,45598,45599,45601,45602,45603,45604,45605,45606,45607,45608,45609,45610,45611,45612,45613,45614,45615,45616,45617,45618,45619,45621,45622,45623,45624,45625,45626,45627,45629,45630,45631,45632,45633,45634,45635,45636,45637,45638,45639,45640,45641,45642,45643,45644,45645,45646,45647,45648,45649,45650,45651,45652,45653,45654,45655,45657,45658,45659,45661,45662,45663,45665,45666,45667,45668,45669,45670,45671,45674,45675,45676,45677,45678,45679,45680,45681,45682,45683,45686,45687,45688,45689,45690,45691,45693,45694,45695,45696,45697,45698,45699,45702,45703,45704,45706,45707,45708,45709,45710,null,null,null,null,null,null,45711,45714,45715,45717,45718,45719,45723,45724,45725,45726,45727,45730,45732,45735,45736,45737,45739,45741,45742,45743,45745,45746,45747,45749,45750,45751,null,null,null,null,null,null,45752,45753,45754,45755,45756,45757,45758,45759,45760,45761,45762,45763,45764,45765,45766,45767,45770,45771,45773,45774,45775,45777,45779,45780,45781,45782,45783,45786,45788,45790,45791,45792,45793,45795,45799,45801,45802,45808,45809,45810,45814,45820,45821,45822,45826,45827,45829,45830,45831,45833,45834,45835,45836,45837,45838,45839,45842,45846,45847,45848,45849,45850,45851,45853,45854,45855,45856,45857,45858,45859,45860,45861,45862,45863,45864,45865,45866,45867,45868,45869,45870,45871,45872,45873,45874,45875,45876,45877,45878,45879,45880,45881,45882,45883,45884,45885,45886,45887,45888,45889,45890,45891,45892,45893,45894,45895,45896,45897,45898,45899,45900,45901,45902,45903,45904,45905,45906,45907,45911,45913,45914,45917,45920,45921,45922,45923,45926,45928,45930,45932,45933,45935,45938,45939,45941,45942,45943,45945,45946,45947,45948,45949,45950,45951,45954,45958,45959,45960,45961,45962,45963,45965,null,null,null,null,null,null,45966,45967,45969,45970,45971,45973,45974,45975,45976,45977,45978,45979,45980,45981,45982,45983,45986,45987,45988,45989,45990,45991,45993,45994,45995,45997,null,null,null,null,null,null,45998,45999,46e3,46001,46002,46003,46004,46005,46006,46007,46008,46009,46010,46011,46012,46013,46014,46015,46016,46017,46018,46019,46022,46023,46025,46026,46029,46031,46033,46034,46035,46038,46040,46042,46044,46046,46047,46049,46050,46051,46053,46054,46055,46057,46058,46059,46060,46061,46062,46063,46064,46065,46066,46067,46068,46069,46070,46071,46072,46073,46074,46075,46077,46078,46079,46080,46081,46082,46083,46084,46085,46086,46087,46088,46089,46090,46091,46092,46093,46094,46095,46097,46098,46099,46100,46101,46102,46103,46105,46106,46107,46109,46110,46111,46113,46114,46115,46116,46117,46118,46119,46122,46124,46125,46126,46127,46128,46129,46130,46131,46133,46134,46135,46136,46137,46138,46139,46140,46141,46142,46143,46144,46145,46146,46147,46148,46149,46150,46151,46152,46153,46154,46155,46156,46157,46158,46159,46162,46163,46165,46166,46167,46169,46170,46171,46172,46173,46174,46175,46178,46180,46182,null,null,null,null,null,null,46183,46184,46185,46186,46187,46189,46190,46191,46192,46193,46194,46195,46196,46197,46198,46199,46200,46201,46202,46203,46204,46205,46206,46207,46209,46210,null,null,null,null,null,null,46211,46212,46213,46214,46215,46217,46218,46219,46220,46221,46222,46223,46224,46225,46226,46227,46228,46229,46230,46231,46232,46233,46234,46235,46236,46238,46239,46240,46241,46242,46243,46245,46246,46247,46249,46250,46251,46253,46254,46255,46256,46257,46258,46259,46260,46262,46264,46266,46267,46268,46269,46270,46271,46273,46274,46275,46277,46278,46279,46281,46282,46283,46284,46285,46286,46287,46289,46290,46291,46292,46294,46295,46296,46297,46298,46299,46302,46303,46305,46306,46309,46311,46312,46313,46314,46315,46318,46320,46322,46323,46324,46325,46326,46327,46329,46330,46331,46332,46333,46334,46335,46336,46337,46338,46339,46340,46341,46342,46343,46344,46345,46346,46347,46348,46349,46350,46351,46352,46353,46354,46355,46358,46359,46361,46362,46365,46366,46367,46368,46369,46370,46371,46374,46379,46380,46381,46382,46383,46386,46387,46389,46390,46391,46393,46394,46395,46396,46397,46398,46399,46402,46406,null,null,null,null,null,null,46407,46408,46409,46410,46414,46415,46417,46418,46419,46421,46422,46423,46424,46425,46426,46427,46430,46434,46435,46436,46437,46438,46439,46440,46441,46442,null,null,null,null,null,null,46443,46444,46445,46446,46447,46448,46449,46450,46451,46452,46453,46454,46455,46456,46457,46458,46459,46460,46461,46462,46463,46464,46465,46466,46467,46468,46469,46470,46471,46472,46473,46474,46475,46476,46477,46478,46479,46480,46481,46482,46483,46484,46485,46486,46487,46488,46489,46490,46491,46492,46493,46494,46495,46498,46499,46501,46502,46503,46505,46508,46509,46510,46511,46514,46518,46519,46520,46521,46522,46526,46527,46529,46530,46531,46533,46534,46535,46536,46537,46538,46539,46542,46546,46547,46548,46549,46550,46551,46553,46554,46555,46556,46557,46558,46559,46560,46561,46562,46563,46564,46565,46566,46567,46568,46569,46570,46571,46573,46574,46575,46576,46577,46578,46579,46580,46581,46582,46583,46584,46585,46586,46587,46588,46589,46590,46591,46592,46593,46594,46595,46596,46597,46598,46599,46600,46601,46602,46603,46604,46605,46606,46607,46610,46611,46613,46614,46615,46617,46618,46619,46620,46621,null,null,null,null,null,null,46622,46623,46624,46625,46626,46627,46628,46630,46631,46632,46633,46634,46635,46637,46638,46639,46640,46641,46642,46643,46645,46646,46647,46648,46649,46650,null,null,null,null,null,null,46651,46652,46653,46654,46655,46656,46657,46658,46659,46660,46661,46662,46663,46665,46666,46667,46668,46669,46670,46671,46672,46673,46674,46675,46676,46677,46678,46679,46680,46681,46682,46683,46684,46685,46686,46687,46688,46689,46690,46691,46693,46694,46695,46697,46698,46699,46700,46701,46702,46703,46704,46705,46706,46707,46708,46709,46710,46711,46712,46713,46714,46715,46716,46717,46718,46719,46720,46721,46722,46723,46724,46725,46726,46727,46728,46729,46730,46731,46732,46733,46734,46735,46736,46737,46738,46739,46740,46741,46742,46743,46744,46745,46746,46747,46750,46751,46753,46754,46755,46757,46758,46759,46760,46761,46762,46765,46766,46767,46768,46770,46771,46772,46773,46774,46775,46776,46777,46778,46779,46780,46781,46782,46783,46784,46785,46786,46787,46788,46789,46790,46791,46792,46793,46794,46795,46796,46797,46798,46799,46800,46801,46802,46803,46805,46806,46807,46808,46809,46810,46811,46812,46813,null,null,null,null,null,null,46814,46815,46816,46817,46818,46819,46820,46821,46822,46823,46824,46825,46826,46827,46828,46829,46830,46831,46833,46834,46835,46837,46838,46839,46841,46842,null,null,null,null,null,null,46843,46844,46845,46846,46847,46850,46851,46852,46854,46855,46856,46857,46858,46859,46860,46861,46862,46863,46864,46865,46866,46867,46868,46869,46870,46871,46872,46873,46874,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46885,46886,46887,46890,46891,46893,46894,46897,46898,46899,46900,46901,46902,46903,46906,46908,46909,46910,46911,46912,46913,46914,46915,46917,46918,46919,46921,46922,46923,46925,46926,46927,46928,46929,46930,46931,46934,46935,46936,46937,46938,46939,46940,46941,46942,46943,46945,46946,46947,46949,46950,46951,46953,46954,46955,46956,46957,46958,46959,46962,46964,46966,46967,46968,46969,46970,46971,46974,46975,46977,46978,46979,46981,46982,46983,46984,46985,46986,46987,46990,46995,46996,46997,47002,47003,47005,47006,47007,47009,47010,47011,47012,47013,47014,47015,47018,47022,47023,47024,47025,47026,47027,47030,47031,47033,47034,47035,47036,47037,47038,47039,47040,47041,null,null,null,null,null,null,47042,47043,47044,47045,47046,47048,47050,47051,47052,47053,47054,47055,47056,47057,47058,47059,47060,47061,47062,47063,47064,47065,47066,47067,47068,47069,null,null,null,null,null,null,47070,47071,47072,47073,47074,47075,47076,47077,47078,47079,47080,47081,47082,47083,47086,47087,47089,47090,47091,47093,47094,47095,47096,47097,47098,47099,47102,47106,47107,47108,47109,47110,47114,47115,47117,47118,47119,47121,47122,47123,47124,47125,47126,47127,47130,47132,47134,47135,47136,47137,47138,47139,47142,47143,47145,47146,47147,47149,47150,47151,47152,47153,47154,47155,47158,47162,47163,47164,47165,47166,47167,47169,47170,47171,47173,47174,47175,47176,47177,47178,47179,47180,47181,47182,47183,47184,47186,47188,47189,47190,47191,47192,47193,47194,47195,47198,47199,47201,47202,47203,47205,47206,47207,47208,47209,47210,47211,47214,47216,47218,47219,47220,47221,47222,47223,47225,47226,47227,47229,47230,47231,47232,47233,47234,47235,47236,47237,47238,47239,47240,47241,47242,47243,47244,47246,47247,47248,47249,47250,47251,47252,47253,47254,47255,47256,47257,47258,47259,47260,47261,47262,47263,null,null,null,null,null,null,47264,47265,47266,47267,47268,47269,47270,47271,47273,47274,47275,47276,47277,47278,47279,47281,47282,47283,47285,47286,47287,47289,47290,47291,47292,47293,null,null,null,null,null,null,47294,47295,47298,47300,47302,47303,47304,47305,47306,47307,47309,47310,47311,47313,47314,47315,47317,47318,47319,47320,47321,47322,47323,47324,47326,47328,47330,47331,47332,47333,47334,47335,47338,47339,47341,47342,47343,47345,47346,47347,47348,47349,47350,47351,47354,47356,47358,47359,47360,47361,47362,47363,47365,47366,47367,47368,47369,47370,47371,47372,47373,47374,47375,47376,47377,47378,47379,47380,47381,47382,47383,47385,47386,47387,47388,47389,47390,47391,47393,47394,47395,47396,47397,47398,47399,47400,47401,47402,47403,47404,47405,47406,47407,47408,47409,47410,47411,47412,47413,47414,47415,47416,47417,47418,47419,47422,47423,47425,47426,47427,47429,47430,47431,47432,47433,47434,47435,47437,47438,47440,47442,47443,47444,47445,47446,47447,47450,47451,47453,47454,47455,47457,47458,47459,47460,47461,47462,47463,47466,47468,47470,47471,47472,47473,47474,47475,47478,47479,47481,47482,47483,47485,null,null,null,null,null,null,47486,47487,47488,47489,47490,47491,47494,47496,47499,47500,47503,47504,47505,47506,47507,47508,47509,47510,47511,47512,47513,47514,47515,47516,47517,47518,null,null,null,null,null,null,47519,47520,47521,47522,47523,47524,47525,47526,47527,47528,47529,47530,47531,47534,47535,47537,47538,47539,47541,47542,47543,47544,47545,47546,47547,47550,47552,47554,47555,47556,47557,47558,47559,47562,47563,47565,47571,47572,47573,47574,47575,47578,47580,47583,47584,47586,47590,47591,47593,47594,47595,47597,47598,47599,47600,47601,47602,47603,47606,47611,47612,47613,47614,47615,47618,47619,47620,47621,47622,47623,47625,47626,47627,47628,47629,47630,47631,47632,47633,47634,47635,47636,47638,47639,47640,47641,47642,47643,47644,47645,47646,47647,47648,47649,47650,47651,47652,47653,47654,47655,47656,47657,47658,47659,47660,47661,47662,47663,47664,47665,47666,47667,47668,47669,47670,47671,47674,47675,47677,47678,47679,47681,47683,47684,47685,47686,47687,47690,47692,47695,47696,47697,47698,47702,47703,47705,47706,47707,47709,47710,47711,47712,47713,47714,47715,47718,47722,47723,47724,47725,47726,47727,null,null,null,null,null,null,47730,47731,47733,47734,47735,47737,47738,47739,47740,47741,47742,47743,47744,47745,47746,47750,47752,47753,47754,47755,47757,47758,47759,47760,47761,47762,null,null,null,null,null,null,47763,47764,47765,47766,47767,47768,47769,47770,47771,47772,47773,47774,47775,47776,47777,47778,47779,47780,47781,47782,47783,47786,47789,47790,47791,47793,47795,47796,47797,47798,47799,47802,47804,47806,47807,47808,47809,47810,47811,47813,47814,47815,47817,47818,47819,47820,47821,47822,47823,47824,47825,47826,47827,47828,47829,47830,47831,47834,47835,47836,47837,47838,47839,47840,47841,47842,47843,47844,47845,47846,47847,47848,47849,47850,47851,47852,47853,47854,47855,47856,47857,47858,47859,47860,47861,47862,47863,47864,47865,47866,47867,47869,47870,47871,47873,47874,47875,47877,47878,47879,47880,47881,47882,47883,47884,47886,47888,47890,47891,47892,47893,47894,47895,47897,47898,47899,47901,47902,47903,47905,47906,47907,47908,47909,47910,47911,47912,47914,47916,47917,47918,47919,47920,47921,47922,47923,47927,47929,47930,47935,47936,47937,47938,47939,47942,47944,47946,47947,47948,47950,47953,47954,null,null,null,null,null,null,47955,47957,47958,47959,47961,47962,47963,47964,47965,47966,47967,47968,47970,47972,47973,47974,47975,47976,47977,47978,47979,47981,47982,47983,47984,47985,null,null,null,null,null,null,47986,47987,47988,47989,47990,47991,47992,47993,47994,47995,47996,47997,47998,47999,48e3,48001,48002,48003,48004,48005,48006,48007,48009,48010,48011,48013,48014,48015,48017,48018,48019,48020,48021,48022,48023,48024,48025,48026,48027,48028,48029,48030,48031,48032,48033,48034,48035,48037,48038,48039,48041,48042,48043,48045,48046,48047,48048,48049,48050,48051,48053,48054,48056,48057,48058,48059,48060,48061,48062,48063,48065,48066,48067,48069,48070,48071,48073,48074,48075,48076,48077,48078,48079,48081,48082,48084,48085,48086,48087,48088,48089,48090,48091,48092,48093,48094,48095,48096,48097,48098,48099,48100,48101,48102,48103,48104,48105,48106,48107,48108,48109,48110,48111,48112,48113,48114,48115,48116,48117,48118,48119,48122,48123,48125,48126,48129,48131,48132,48133,48134,48135,48138,48142,48144,48146,48147,48153,48154,48160,48161,48162,48163,48166,48168,48170,48171,48172,48174,48175,48178,48179,48181,null,null,null,null,null,null,48182,48183,48185,48186,48187,48188,48189,48190,48191,48194,48198,48199,48200,48202,48203,48206,48207,48209,48210,48211,48212,48213,48214,48215,48216,48217,null,null,null,null,null,null,48218,48219,48220,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48234,48235,48236,48237,48238,48239,48240,48241,48242,48243,48244,48245,48246,48247,48248,48249,48250,48251,48252,48253,48254,48255,48256,48257,48258,48259,48262,48263,48265,48266,48269,48271,48272,48273,48274,48275,48278,48280,48283,48284,48285,48286,48287,48290,48291,48293,48294,48297,48298,48299,48300,48301,48302,48303,48306,48310,48311,48312,48313,48314,48315,48318,48319,48321,48322,48323,48325,48326,48327,48328,48329,48330,48331,48332,48334,48338,48339,48340,48342,48343,48345,48346,48347,48349,48350,48351,48352,48353,48354,48355,48356,48357,48358,48359,48360,48361,48362,48363,48364,48365,48366,48367,48368,48369,48370,48371,48375,48377,48378,48379,48381,48382,48383,48384,48385,48386,48387,48390,48392,48394,48395,48396,48397,48398,48399,48401,48402,48403,48405,48406,48407,48408,48409,48410,48411,48412,48413,null,null,null,null,null,null,48414,48415,48416,48417,48418,48419,48421,48422,48423,48424,48425,48426,48427,48429,48430,48431,48432,48433,48434,48435,48436,48437,48438,48439,48440,48441,null,null,null,null,null,null,48442,48443,48444,48445,48446,48447,48449,48450,48451,48452,48453,48454,48455,48458,48459,48461,48462,48463,48465,48466,48467,48468,48469,48470,48471,48474,48475,48476,48477,48478,48479,48480,48481,48482,48483,48485,48486,48487,48489,48490,48491,48492,48493,48494,48495,48496,48497,48498,48499,48500,48501,48502,48503,48504,48505,48506,48507,48508,48509,48510,48511,48514,48515,48517,48518,48523,48524,48525,48526,48527,48530,48532,48534,48535,48536,48539,48541,48542,48543,48544,48545,48546,48547,48549,48550,48551,48552,48553,48554,48555,48556,48557,48558,48559,48561,48562,48563,48564,48565,48566,48567,48569,48570,48571,48572,48573,48574,48575,48576,48577,48578,48579,48580,48581,48582,48583,48584,48585,48586,48587,48588,48589,48590,48591,48592,48593,48594,48595,48598,48599,48601,48602,48603,48605,48606,48607,48608,48609,48610,48611,48612,48613,48614,48615,48616,48618,48619,48620,48621,48622,48623,48625,null,null,null,null,null,null,48626,48627,48629,48630,48631,48633,48634,48635,48636,48637,48638,48639,48641,48642,48644,48646,48647,48648,48649,48650,48651,48654,48655,48657,48658,48659,null,null,null,null,null,null,48661,48662,48663,48664,48665,48666,48667,48670,48672,48673,48674,48675,48676,48677,48678,48679,48680,48681,48682,48683,48684,48685,48686,48687,48688,48689,48690,48691,48692,48693,48694,48695,48696,48697,48698,48699,48700,48701,48702,48703,48704,48705,48706,48707,48710,48711,48713,48714,48715,48717,48719,48720,48721,48722,48723,48726,48728,48732,48733,48734,48735,48738,48739,48741,48742,48743,48745,48747,48748,48749,48750,48751,48754,48758,48759,48760,48761,48762,48766,48767,48769,48770,48771,48773,48774,48775,48776,48777,48778,48779,48782,48786,48787,48788,48789,48790,48791,48794,48795,48796,48797,48798,48799,48800,48801,48802,48803,48804,48805,48806,48807,48809,48810,48811,48812,48813,48814,48815,48816,48817,48818,48819,48820,48821,48822,48823,48824,48825,48826,48827,48828,48829,48830,48831,48832,48833,48834,48835,48836,48837,48838,48839,48840,48841,48842,48843,48844,48845,48846,48847,48850,48851,null,null,null,null,null,null,48853,48854,48857,48858,48859,48860,48861,48862,48863,48865,48866,48870,48871,48872,48873,48874,48875,48877,48878,48879,48880,48881,48882,48883,48884,48885,null,null,null,null,null,null,48886,48887,48888,48889,48890,48891,48892,48893,48894,48895,48896,48898,48899,48900,48901,48902,48903,48906,48907,48908,48909,48910,48911,48912,48913,48914,48915,48916,48917,48918,48919,48922,48926,48927,48928,48929,48930,48931,48932,48933,48934,48935,48936,48937,48938,48939,48940,48941,48942,48943,48944,48945,48946,48947,48948,48949,48950,48951,48952,48953,48954,48955,48956,48957,48958,48959,48962,48963,48965,48966,48967,48969,48970,48971,48972,48973,48974,48975,48978,48979,48980,48982,48983,48984,48985,48986,48987,48988,48989,48990,48991,48992,48993,48994,48995,48996,48997,48998,48999,49e3,49001,49002,49003,49004,49005,49006,49007,49008,49009,49010,49011,49012,49013,49014,49015,49016,49017,49018,49019,49020,49021,49022,49023,49024,49025,49026,49027,49028,49029,49030,49031,49032,49033,49034,49035,49036,49037,49038,49039,49040,49041,49042,49043,49045,49046,49047,49048,49049,49050,49051,49052,49053,null,null,null,null,null,null,49054,49055,49056,49057,49058,49059,49060,49061,49062,49063,49064,49065,49066,49067,49068,49069,49070,49071,49073,49074,49075,49076,49077,49078,49079,49080,null,null,null,null,null,null,49081,49082,49083,49084,49085,49086,49087,49088,49089,49090,49091,49092,49094,49095,49096,49097,49098,49099,49102,49103,49105,49106,49107,49109,49110,49111,49112,49113,49114,49115,49117,49118,49120,49122,49123,49124,49125,49126,49127,49128,49129,49130,49131,49132,49133,49134,49135,49136,49137,49138,49139,49140,49141,49142,49143,49144,49145,49146,49147,49148,49149,49150,49151,49152,49153,49154,49155,49156,49157,49158,49159,49160,49161,49162,49163,49164,49165,49166,49167,49168,49169,49170,49171,49172,49173,49174,49175,49176,49177,49178,49179,49180,49181,49182,49183,49184,49185,49186,49187,49188,49189,49190,49191,49192,49193,49194,49195,49196,49197,49198,49199,49200,49201,49202,49203,49204,49205,49206,49207,49208,49209,49210,49211,49213,49214,49215,49216,49217,49218,49219,49220,49221,49222,49223,49224,49225,49226,49227,49228,49229,49230,49231,49232,49234,49235,49236,49237,49238,49239,49241,49242,49243,null,null,null,null,null,null,49245,49246,49247,49249,49250,49251,49252,49253,49254,49255,49258,49259,49260,49261,49262,49263,49264,49265,49266,49267,49268,49269,49270,49271,49272,49273,null,null,null,null,null,null,49274,49275,49276,49277,49278,49279,49280,49281,49282,49283,49284,49285,49286,49287,49288,49289,49290,49291,49292,49293,49294,49295,49298,49299,49301,49302,49303,49305,49306,49307,49308,49309,49310,49311,49314,49316,49318,49319,49320,49321,49322,49323,49326,49329,49330,49335,49336,49337,49338,49339,49342,49346,49347,49348,49350,49351,49354,49355,49357,49358,49359,49361,49362,49363,49364,49365,49366,49367,49370,49374,49375,49376,49377,49378,49379,49382,49383,49385,49386,49387,49389,49390,49391,49392,49393,49394,49395,49398,49400,49402,49403,49404,49405,49406,49407,49409,49410,49411,49413,49414,49415,49417,49418,49419,49420,49421,49422,49423,49425,49426,49427,49428,49430,49431,49432,49433,49434,49435,49441,49442,49445,49448,49449,49450,49451,49454,49458,49459,49460,49461,49463,49466,49467,49469,49470,49471,49473,49474,49475,49476,49477,49478,49479,49482,49486,49487,49488,49489,49490,49491,49494,49495,null,null,null,null,null,null,49497,49498,49499,49501,49502,49503,49504,49505,49506,49507,49510,49514,49515,49516,49517,49518,49519,49521,49522,49523,49525,49526,49527,49529,49530,49531,null,null,null,null,null,null,49532,49533,49534,49535,49536,49537,49538,49539,49540,49542,49543,49544,49545,49546,49547,49551,49553,49554,49555,49557,49559,49560,49561,49562,49563,49566,49568,49570,49571,49572,49574,49575,49578,49579,49581,49582,49583,49585,49586,49587,49588,49589,49590,49591,49592,49593,49594,49595,49596,49598,49599,49600,49601,49602,49603,49605,49606,49607,49609,49610,49611,49613,49614,49615,49616,49617,49618,49619,49621,49622,49625,49626,49627,49628,49629,49630,49631,49633,49634,49635,49637,49638,49639,49641,49642,49643,49644,49645,49646,49647,49650,49652,49653,49654,49655,49656,49657,49658,49659,49662,49663,49665,49666,49667,49669,49670,49671,49672,49673,49674,49675,49678,49680,49682,49683,49684,49685,49686,49687,49690,49691,49693,49694,49697,49698,49699,49700,49701,49702,49703,49706,49708,49710,49712,49715,49717,49718,49719,49720,49721,49722,49723,49724,49725,49726,49727,49728,49729,49730,49731,49732,49733,null,null,null,null,null,null,49734,49735,49737,49738,49739,49740,49741,49742,49743,49746,49747,49749,49750,49751,49753,49754,49755,49756,49757,49758,49759,49761,49762,49763,49764,49766,null,null,null,null,null,null,49767,49768,49769,49770,49771,49774,49775,49777,49778,49779,49781,49782,49783,49784,49785,49786,49787,49790,49792,49794,49795,49796,49797,49798,49799,49802,49803,49804,49805,49806,49807,49809,49810,49811,49812,49813,49814,49815,49817,49818,49820,49822,49823,49824,49825,49826,49827,49830,49831,49833,49834,49835,49838,49839,49840,49841,49842,49843,49846,49848,49850,49851,49852,49853,49854,49855,49856,49857,49858,49859,49860,49861,49862,49863,49864,49865,49866,49867,49868,49869,49870,49871,49872,49873,49874,49875,49876,49877,49878,49879,49880,49881,49882,49883,49886,49887,49889,49890,49893,49894,49895,49896,49897,49898,49902,49904,49906,49907,49908,49909,49911,49914,49917,49918,49919,49921,49922,49923,49924,49925,49926,49927,49930,49931,49934,49935,49936,49937,49938,49942,49943,49945,49946,49947,49949,49950,49951,49952,49953,49954,49955,49958,49959,49962,49963,49964,49965,49966,49967,49968,49969,49970,null,null,null,null,null,null,49971,49972,49973,49974,49975,49976,49977,49978,49979,49980,49981,49982,49983,49984,49985,49986,49987,49988,49990,49991,49992,49993,49994,49995,49996,49997,null,null,null,null,null,null,49998,49999,5e4,50001,50002,50003,50004,50005,50006,50007,50008,50009,50010,50011,50012,50013,50014,50015,50016,50017,50018,50019,50020,50021,50022,50023,50026,50027,50029,50030,50031,50033,50035,50036,50037,50038,50039,50042,50043,50046,50047,50048,50049,50050,50051,50053,50054,50055,50057,50058,50059,50061,50062,50063,50064,50065,50066,50067,50068,50069,50070,50071,50072,50073,50074,50075,50076,50077,50078,50079,50080,50081,50082,50083,50084,50085,50086,50087,50088,50089,50090,50091,50092,50093,50094,50095,50096,50097,50098,50099,50100,50101,50102,50103,50104,50105,50106,50107,50108,50109,50110,50111,50113,50114,50115,50116,50117,50118,50119,50120,50121,50122,50123,50124,50125,50126,50127,50128,50129,50130,50131,50132,50133,50134,50135,50138,50139,50141,50142,50145,50147,50148,50149,50150,50151,50154,50155,50156,50158,50159,50160,50161,50162,50163,50166,50167,50169,50170,50171,50172,50173,50174,null,null,null,null,null,null,50175,50176,50177,50178,50179,50180,50181,50182,50183,50185,50186,50187,50188,50189,50190,50191,50193,50194,50195,50196,50197,50198,50199,50200,50201,50202,null,null,null,null,null,null,50203,50204,50205,50206,50207,50208,50209,50210,50211,50213,50214,50215,50216,50217,50218,50219,50221,50222,50223,50225,50226,50227,50229,50230,50231,50232,50233,50234,50235,50238,50239,50240,50241,50242,50243,50244,50245,50246,50247,50249,50250,50251,50252,50253,50254,50255,50256,50257,50258,50259,50260,50261,50262,50263,50264,50265,50266,50267,50268,50269,50270,50271,50272,50273,50274,50275,50278,50279,50281,50282,50283,50285,50286,50287,50288,50289,50290,50291,50294,50295,50296,50298,50299,50300,50301,50302,50303,50305,50306,50307,50308,50309,50310,50311,50312,50313,50314,50315,50316,50317,50318,50319,50320,50321,50322,50323,50325,50326,50327,50328,50329,50330,50331,50333,50334,50335,50336,50337,50338,50339,50340,50341,50342,50343,50344,50345,50346,50347,50348,50349,50350,50351,50352,50353,50354,50355,50356,50357,50358,50359,50361,50362,50363,50365,50366,50367,50368,50369,50370,50371,50372,50373,null,null,null,null,null,null,50374,50375,50376,50377,50378,50379,50380,50381,50382,50383,50384,50385,50386,50387,50388,50389,50390,50391,50392,50393,50394,50395,50396,50397,50398,50399,null,null,null,null,null,null,50400,50401,50402,50403,50404,50405,50406,50407,50408,50410,50411,50412,50413,50414,50415,50418,50419,50421,50422,50423,50425,50427,50428,50429,50430,50434,50435,50436,50437,50438,50439,50440,50441,50442,50443,50445,50446,50447,50449,50450,50451,50453,50454,50455,50456,50457,50458,50459,50461,50462,50463,50464,50465,50466,50467,50468,50469,50470,50471,50474,50475,50477,50478,50479,50481,50482,50483,50484,50485,50486,50487,50490,50492,50494,50495,50496,50497,50498,50499,50502,50503,50507,50511,50512,50513,50514,50518,50522,50523,50524,50527,50530,50531,50533,50534,50535,50537,50538,50539,50540,50541,50542,50543,50546,50550,50551,50552,50553,50554,50555,50558,50559,50561,50562,50563,50565,50566,50568,50569,50570,50571,50574,50576,50578,50579,50580,50582,50585,50586,50587,50589,50590,50591,50593,50594,50595,50596,50597,50598,50599,50600,50602,50603,50604,50605,50606,50607,50608,50609,50610,50611,50614,null,null,null,null,null,null,50615,50618,50623,50624,50625,50626,50627,50635,50637,50639,50642,50643,50645,50646,50647,50649,50650,50651,50652,50653,50654,50655,50658,50660,50662,50663,null,null,null,null,null,null,50664,50665,50666,50667,50671,50673,50674,50675,50677,50680,50681,50682,50683,50690,50691,50692,50697,50698,50699,50701,50702,50703,50705,50706,50707,50708,50709,50710,50711,50714,50717,50718,50719,50720,50721,50722,50723,50726,50727,50729,50730,50731,50735,50737,50738,50742,50744,50746,50748,50749,50750,50751,50754,50755,50757,50758,50759,50761,50762,50763,50764,50765,50766,50767,50770,50774,50775,50776,50777,50778,50779,50782,50783,50785,50786,50787,50788,50789,50790,50791,50792,50793,50794,50795,50797,50798,50800,50802,50803,50804,50805,50806,50807,50810,50811,50813,50814,50815,50817,50818,50819,50820,50821,50822,50823,50826,50828,50830,50831,50832,50833,50834,50835,50838,50839,50841,50842,50843,50845,50846,50847,50848,50849,50850,50851,50854,50856,50858,50859,50860,50861,50862,50863,50866,50867,50869,50870,50871,50875,50876,50877,50878,50879,50882,50884,50886,50887,50888,50889,50890,50891,50894,null,null,null,null,null,null,50895,50897,50898,50899,50901,50902,50903,50904,50905,50906,50907,50910,50911,50914,50915,50916,50917,50918,50919,50922,50923,50925,50926,50927,50929,50930,null,null,null,null,null,null,50931,50932,50933,50934,50935,50938,50939,50940,50942,50943,50944,50945,50946,50947,50950,50951,50953,50954,50955,50957,50958,50959,50960,50961,50962,50963,50966,50968,50970,50971,50972,50973,50974,50975,50978,50979,50981,50982,50983,50985,50986,50987,50988,50989,50990,50991,50994,50996,50998,51e3,51001,51002,51003,51006,51007,51009,51010,51011,51013,51014,51015,51016,51017,51019,51022,51024,51033,51034,51035,51037,51038,51039,51041,51042,51043,51044,51045,51046,51047,51049,51050,51052,51053,51054,51055,51056,51057,51058,51059,51062,51063,51065,51066,51067,51071,51072,51073,51074,51078,51083,51084,51085,51087,51090,51091,51093,51097,51099,51100,51101,51102,51103,51106,51111,51112,51113,51114,51115,51118,51119,51121,51122,51123,51125,51126,51127,51128,51129,51130,51131,51134,51138,51139,51140,51141,51142,51143,51146,51147,51149,51151,51153,51154,51155,51156,51157,51158,51159,51161,51162,51163,51164,null,null,null,null,null,null,51166,51167,51168,51169,51170,51171,51173,51174,51175,51177,51178,51179,51181,51182,51183,51184,51185,51186,51187,51188,51189,51190,51191,51192,51193,51194,null,null,null,null,null,null,51195,51196,51197,51198,51199,51202,51203,51205,51206,51207,51209,51211,51212,51213,51214,51215,51218,51220,51223,51224,51225,51226,51227,51230,51231,51233,51234,51235,51237,51238,51239,51240,51241,51242,51243,51246,51248,51250,51251,51252,51253,51254,51255,51257,51258,51259,51261,51262,51263,51265,51266,51267,51268,51269,51270,51271,51274,51275,51278,51279,51280,51281,51282,51283,51285,51286,51287,51288,51289,51290,51291,51292,51293,51294,51295,51296,51297,51298,51299,51300,51301,51302,51303,51304,51305,51306,51307,51308,51309,51310,51311,51314,51315,51317,51318,51319,51321,51323,51324,51325,51326,51327,51330,51332,51336,51337,51338,51342,51343,51344,51345,51346,51347,51349,51350,51351,51352,51353,51354,51355,51356,51358,51360,51362,51363,51364,51365,51366,51367,51369,51370,51371,51372,51373,51374,51375,51376,51377,51378,51379,51380,51381,51382,51383,51384,51385,51386,51387,51390,51391,51392,51393,null,null,null,null,null,null,51394,51395,51397,51398,51399,51401,51402,51403,51405,51406,51407,51408,51409,51410,51411,51414,51416,51418,51419,51420,51421,51422,51423,51426,51427,51429,null,null,null,null,null,null,51430,51431,51432,51433,51434,51435,51436,51437,51438,51439,51440,51441,51442,51443,51444,51446,51447,51448,51449,51450,51451,51454,51455,51457,51458,51459,51463,51464,51465,51466,51467,51470,12288,12289,12290,183,8229,8230,168,12291,173,8213,8741,65340,8764,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,177,215,247,8800,8804,8805,8734,8756,176,8242,8243,8451,8491,65504,65505,65509,9794,9792,8736,8869,8978,8706,8711,8801,8786,167,8251,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8594,8592,8593,8595,8596,12307,8810,8811,8730,8765,8733,8757,8747,8748,8712,8715,8838,8839,8834,8835,8746,8745,8743,8744,65506,51472,51474,51475,51476,51477,51478,51479,51481,51482,51483,51484,51485,51486,51487,51488,51489,51490,51491,51492,51493,51494,51495,51496,51497,51498,51499,null,null,null,null,null,null,51501,51502,51503,51504,51505,51506,51507,51509,51510,51511,51512,51513,51514,51515,51516,51517,51518,51519,51520,51521,51522,51523,51524,51525,51526,51527,null,null,null,null,null,null,51528,51529,51530,51531,51532,51533,51534,51535,51538,51539,51541,51542,51543,51545,51546,51547,51548,51549,51550,51551,51554,51556,51557,51558,51559,51560,51561,51562,51563,51565,51566,51567,8658,8660,8704,8707,180,65374,711,728,733,730,729,184,731,161,191,720,8750,8721,8719,164,8457,8240,9665,9664,9655,9654,9828,9824,9825,9829,9831,9827,8857,9672,9635,9680,9681,9618,9636,9637,9640,9639,9638,9641,9832,9743,9742,9756,9758,182,8224,8225,8597,8599,8601,8598,8600,9837,9833,9834,9836,12927,12828,8470,13255,8482,13250,13272,8481,8364,174,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51569,51570,51571,51573,51574,51575,51576,51577,51578,51579,51581,51582,51583,51584,51585,51586,51587,51588,51589,51590,51591,51594,51595,51597,51598,51599,null,null,null,null,null,null,51601,51602,51603,51604,51605,51606,51607,51610,51612,51614,51615,51616,51617,51618,51619,51620,51621,51622,51623,51624,51625,51626,51627,51628,51629,51630,null,null,null,null,null,null,51631,51632,51633,51634,51635,51636,51637,51638,51639,51640,51641,51642,51643,51644,51645,51646,51647,51650,51651,51653,51654,51657,51659,51660,51661,51662,51663,51666,51668,51671,51672,51675,65281,65282,65283,65284,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65510,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,51678,51679,51681,51683,51685,51686,51688,51689,51690,51691,51694,51698,51699,51700,51701,51702,51703,51706,51707,51709,51710,51711,51713,51714,51715,51716,null,null,null,null,null,null,51717,51718,51719,51722,51726,51727,51728,51729,51730,51731,51733,51734,51735,51737,51738,51739,51740,51741,51742,51743,51744,51745,51746,51747,51748,51749,null,null,null,null,null,null,51750,51751,51752,51754,51755,51756,51757,51758,51759,51760,51761,51762,51763,51764,51765,51766,51767,51768,51769,51770,51771,51772,51773,51774,51775,51776,51777,51778,51779,51780,51781,51782,12593,12594,12595,12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,51783,51784,51785,51786,51787,51790,51791,51793,51794,51795,51797,51798,51799,51800,51801,51802,51803,51806,51810,51811,51812,51813,51814,51815,51817,51818,null,null,null,null,null,null,51819,51820,51821,51822,51823,51824,51825,51826,51827,51828,51829,51830,51831,51832,51833,51834,51835,51836,51838,51839,51840,51841,51842,51843,51845,51846,null,null,null,null,null,null,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,null,null,null,null,null,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892,51893,51894,51895,51896,51897,51898,51899,51902,51903,51905,51906,51907,51909,null,null,null,null,null,null,51910,51911,51912,51913,51914,51915,51918,51920,51922,51924,51925,51926,51927,51930,51931,51932,51933,51934,51935,51937,51938,51939,51940,51941,51942,51943,null,null,null,null,null,null,51944,51945,51946,51947,51949,51950,51951,51952,51953,51954,51955,51957,51958,51959,51960,51961,51962,51963,51964,51965,51966,51967,51968,51969,51970,51971,51972,51973,51974,51975,51977,51978,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,9490,9489,9498,9497,9494,9493,9486,9485,9502,9503,9505,9506,9510,9511,9513,9514,9517,9518,9521,9522,9525,9526,9529,9530,9533,9534,9536,9537,9539,9540,9541,9542,9543,9544,9545,9546,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51979,51980,51981,51982,51983,51985,51986,51987,51989,51990,51991,51993,51994,51995,51996,51997,51998,51999,52002,52003,52004,52005,52006,52007,52008,52009,null,null,null,null,null,null,52010,52011,52012,52013,52014,52015,52016,52017,52018,52019,52020,52021,52022,52023,52024,52025,52026,52027,52028,52029,52030,52031,52032,52034,52035,52036,null,null,null,null,null,null,52037,52038,52039,52042,52043,52045,52046,52047,52049,52050,52051,52052,52053,52054,52055,52058,52059,52060,52062,52063,52064,52065,52066,52067,52069,52070,52071,52072,52073,52074,52075,52076,13205,13206,13207,8467,13208,13252,13219,13220,13221,13222,13209,13210,13211,13212,13213,13214,13215,13216,13217,13218,13258,13197,13198,13199,13263,13192,13193,13256,13223,13224,13232,13233,13234,13235,13236,13237,13238,13239,13240,13241,13184,13185,13186,13187,13188,13242,13243,13244,13245,13246,13247,13200,13201,13202,13203,13204,8486,13248,13249,13194,13195,13196,13270,13253,13229,13230,13231,13275,13225,13226,13227,13228,13277,13264,13267,13251,13257,13276,13254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52077,52078,52079,52080,52081,52082,52083,52084,52085,52086,52087,52090,52091,52092,52093,52094,52095,52096,52097,52098,52099,52100,52101,52102,52103,52104,null,null,null,null,null,null,52105,52106,52107,52108,52109,52110,52111,52112,52113,52114,52115,52116,52117,52118,52119,52120,52121,52122,52123,52125,52126,52127,52128,52129,52130,52131,null,null,null,null,null,null,52132,52133,52134,52135,52136,52137,52138,52139,52140,52141,52142,52143,52144,52145,52146,52147,52148,52149,52150,52151,52153,52154,52155,52156,52157,52158,52159,52160,52161,52162,52163,52164,198,208,170,294,null,306,null,319,321,216,338,186,222,358,330,null,12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911,12912,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,9424,9425,9426,9427,9428,9429,9430,9431,9432,9433,9434,9435,9436,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,189,8531,8532,188,190,8539,8540,8541,8542,52165,52166,52167,52168,52169,52170,52171,52172,52173,52174,52175,52176,52177,52178,52179,52181,52182,52183,52184,52185,52186,52187,52188,52189,52190,52191,null,null,null,null,null,null,52192,52193,52194,52195,52197,52198,52200,52202,52203,52204,52205,52206,52207,52208,52209,52210,52211,52212,52213,52214,52215,52216,52217,52218,52219,52220,null,null,null,null,null,null,52221,52222,52223,52224,52225,52226,52227,52228,52229,52230,52231,52232,52233,52234,52235,52238,52239,52241,52242,52243,52245,52246,52247,52248,52249,52250,52251,52254,52255,52256,52259,52260,230,273,240,295,305,307,312,320,322,248,339,223,254,359,331,329,12800,12801,12802,12803,12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819,12820,12821,12822,12823,12824,12825,12826,12827,9372,9373,9374,9375,9376,9377,9378,9379,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,9393,9394,9395,9396,9397,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,185,178,179,8308,8319,8321,8322,8323,8324,52261,52262,52266,52267,52269,52271,52273,52274,52275,52276,52277,52278,52279,52282,52287,52288,52289,52290,52291,52294,52295,52297,52298,52299,52301,52302,null,null,null,null,null,null,52303,52304,52305,52306,52307,52310,52314,52315,52316,52317,52318,52319,52321,52322,52323,52325,52327,52329,52330,52331,52332,52333,52334,52335,52337,52338,null,null,null,null,null,null,52339,52340,52342,52343,52344,52345,52346,52347,52348,52349,52350,52351,52352,52353,52354,52355,52356,52357,52358,52359,52360,52361,52362,52363,52364,52365,52366,52367,52368,52369,52370,52371,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,52372,52373,52374,52375,52378,52379,52381,52382,52383,52385,52386,52387,52388,52389,52390,52391,52394,52398,52399,52400,52401,52402,52403,52406,52407,52409,null,null,null,null,null,null,52410,52411,52413,52414,52415,52416,52417,52418,52419,52422,52424,52426,52427,52428,52429,52430,52431,52433,52434,52435,52437,52438,52439,52440,52441,52442,null,null,null,null,null,null,52443,52444,52445,52446,52447,52448,52449,52450,52451,52453,52454,52455,52456,52457,52458,52459,52461,52462,52463,52465,52466,52467,52468,52469,52470,52471,52472,52473,52474,52475,52476,52477,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,52478,52479,52480,52482,52483,52484,52485,52486,52487,52490,52491,52493,52494,52495,52497,52498,52499,52500,52501,52502,52503,52506,52508,52510,52511,52512,null,null,null,null,null,null,52513,52514,52515,52517,52518,52519,52521,52522,52523,52525,52526,52527,52528,52529,52530,52531,52532,52533,52534,52535,52536,52538,52539,52540,52541,52542,null,null,null,null,null,null,52543,52544,52545,52546,52547,52548,52549,52550,52551,52552,52553,52554,52555,52556,52557,52558,52559,52560,52561,52562,52563,52564,52565,52566,52567,52568,52569,52570,52571,52573,52574,52575,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,52577,52578,52579,52581,52582,52583,52584,52585,52586,52587,52590,52592,52594,52595,52596,52597,52598,52599,52601,52602,52603,52604,52605,52606,52607,52608,null,null,null,null,null,null,52609,52610,52611,52612,52613,52614,52615,52617,52618,52619,52620,52621,52622,52623,52624,52625,52626,52627,52630,52631,52633,52634,52635,52637,52638,52639,null,null,null,null,null,null,52640,52641,52642,52643,52646,52648,52650,52651,52652,52653,52654,52655,52657,52658,52659,52660,52661,52662,52663,52664,52665,52666,52667,52668,52669,52670,52671,52672,52673,52674,52675,52677,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52678,52679,52680,52681,52682,52683,52685,52686,52687,52689,52690,52691,52692,52693,52694,52695,52696,52697,52698,52699,52700,52701,52702,52703,52704,52705,null,null,null,null,null,null,52706,52707,52708,52709,52710,52711,52713,52714,52715,52717,52718,52719,52721,52722,52723,52724,52725,52726,52727,52730,52732,52734,52735,52736,52737,52738,null,null,null,null,null,null,52739,52741,52742,52743,52745,52746,52747,52749,52750,52751,52752,52753,52754,52755,52757,52758,52759,52760,52762,52763,52764,52765,52766,52767,52770,52771,52773,52774,52775,52777,52778,52779,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52780,52781,52782,52783,52786,52788,52790,52791,52792,52793,52794,52795,52796,52797,52798,52799,52800,52801,52802,52803,52804,52805,52806,52807,52808,52809,null,null,null,null,null,null,52810,52811,52812,52813,52814,52815,52816,52817,52818,52819,52820,52821,52822,52823,52826,52827,52829,52830,52834,52835,52836,52837,52838,52839,52842,52844,null,null,null,null,null,null,52846,52847,52848,52849,52850,52851,52854,52855,52857,52858,52859,52861,52862,52863,52864,52865,52866,52867,52870,52872,52874,52875,52876,52877,52878,52879,52882,52883,52885,52886,52887,52889,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52890,52891,52892,52893,52894,52895,52898,52902,52903,52904,52905,52906,52907,52910,52911,52912,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,null,null,null,null,null,null,52923,52924,52925,52926,52927,52928,52930,52931,52932,52933,52934,52935,52936,52937,52938,52939,52940,52941,52942,52943,52944,52945,52946,52947,52948,52949,null,null,null,null,null,null,52950,52951,52952,52953,52954,52955,52956,52957,52958,52959,52960,52961,52962,52963,52966,52967,52969,52970,52973,52974,52975,52976,52977,52978,52979,52982,52986,52987,52988,52989,52990,52991,44032,44033,44036,44039,44040,44041,44042,44048,44049,44050,44051,44052,44053,44054,44055,44057,44058,44059,44060,44061,44064,44068,44076,44077,44079,44080,44081,44088,44089,44092,44096,44107,44109,44116,44120,44124,44144,44145,44148,44151,44152,44154,44160,44161,44163,44164,44165,44166,44169,44170,44171,44172,44176,44180,44188,44189,44191,44192,44193,44200,44201,44202,44204,44207,44208,44216,44217,44219,44220,44221,44225,44228,44232,44236,44245,44247,44256,44257,44260,44263,44264,44266,44268,44271,44272,44273,44275,44277,44278,44284,44285,44288,44292,44294,52994,52995,52997,52998,52999,53001,53002,53003,53004,53005,53006,53007,53010,53012,53014,53015,53016,53017,53018,53019,53021,53022,53023,53025,53026,53027,null,null,null,null,null,null,53029,53030,53031,53032,53033,53034,53035,53038,53042,53043,53044,53045,53046,53047,53049,53050,53051,53052,53053,53054,53055,53056,53057,53058,53059,53060,null,null,null,null,null,null,53061,53062,53063,53064,53065,53066,53067,53068,53069,53070,53071,53072,53073,53074,53075,53078,53079,53081,53082,53083,53085,53086,53087,53088,53089,53090,53091,53094,53096,53098,53099,53100,44300,44301,44303,44305,44312,44316,44320,44329,44332,44333,44340,44341,44344,44348,44356,44357,44359,44361,44368,44372,44376,44385,44387,44396,44397,44400,44403,44404,44405,44406,44411,44412,44413,44415,44417,44418,44424,44425,44428,44432,44444,44445,44452,44471,44480,44481,44484,44488,44496,44497,44499,44508,44512,44516,44536,44537,44540,44543,44544,44545,44552,44553,44555,44557,44564,44592,44593,44596,44599,44600,44602,44608,44609,44611,44613,44614,44618,44620,44621,44622,44624,44628,44630,44636,44637,44639,44640,44641,44645,44648,44649,44652,44656,44664,53101,53102,53103,53106,53107,53109,53110,53111,53113,53114,53115,53116,53117,53118,53119,53121,53122,53123,53124,53126,53127,53128,53129,53130,53131,53133,null,null,null,null,null,null,53134,53135,53136,53137,53138,53139,53140,53141,53142,53143,53144,53145,53146,53147,53148,53149,53150,53151,53152,53154,53155,53156,53157,53158,53159,53161,null,null,null,null,null,null,53162,53163,53164,53165,53166,53167,53169,53170,53171,53172,53173,53174,53175,53176,53177,53178,53179,53180,53181,53182,53183,53184,53185,53186,53187,53189,53190,53191,53192,53193,53194,53195,44665,44667,44668,44669,44676,44677,44684,44732,44733,44734,44736,44740,44748,44749,44751,44752,44753,44760,44761,44764,44776,44779,44781,44788,44792,44796,44807,44808,44813,44816,44844,44845,44848,44850,44852,44860,44861,44863,44865,44866,44867,44872,44873,44880,44892,44893,44900,44901,44921,44928,44932,44936,44944,44945,44949,44956,44984,44985,44988,44992,44999,45e3,45001,45003,45005,45006,45012,45020,45032,45033,45040,45041,45044,45048,45056,45057,45060,45068,45072,45076,45084,45085,45096,45124,45125,45128,45130,45132,45134,45139,45140,45141,45143,45145,53196,53197,53198,53199,53200,53201,53202,53203,53204,53205,53206,53207,53208,53209,53210,53211,53212,53213,53214,53215,53218,53219,53221,53222,53223,53225,null,null,null,null,null,null,53226,53227,53228,53229,53230,53231,53234,53236,53238,53239,53240,53241,53242,53243,53245,53246,53247,53249,53250,53251,53253,53254,53255,53256,53257,53258,null,null,null,null,null,null,53259,53260,53261,53262,53263,53264,53266,53267,53268,53269,53270,53271,53273,53274,53275,53276,53277,53278,53279,53280,53281,53282,53283,53284,53285,53286,53287,53288,53289,53290,53291,53292,45149,45180,45181,45184,45188,45196,45197,45199,45201,45208,45209,45210,45212,45215,45216,45217,45218,45224,45225,45227,45228,45229,45230,45231,45233,45235,45236,45237,45240,45244,45252,45253,45255,45256,45257,45264,45265,45268,45272,45280,45285,45320,45321,45323,45324,45328,45330,45331,45336,45337,45339,45340,45341,45347,45348,45349,45352,45356,45364,45365,45367,45368,45369,45376,45377,45380,45384,45392,45393,45396,45397,45400,45404,45408,45432,45433,45436,45440,45442,45448,45449,45451,45453,45458,45459,45460,45464,45468,45480,45516,45520,45524,45532,45533,53294,53295,53296,53297,53298,53299,53302,53303,53305,53306,53307,53309,53310,53311,53312,53313,53314,53315,53318,53320,53322,53323,53324,53325,53326,53327,null,null,null,null,null,null,53329,53330,53331,53333,53334,53335,53337,53338,53339,53340,53341,53342,53343,53345,53346,53347,53348,53349,53350,53351,53352,53353,53354,53355,53358,53359,null,null,null,null,null,null,53361,53362,53363,53365,53366,53367,53368,53369,53370,53371,53374,53375,53376,53378,53379,53380,53381,53382,53383,53384,53385,53386,53387,53388,53389,53390,53391,53392,53393,53394,53395,53396,45535,45544,45545,45548,45552,45561,45563,45565,45572,45573,45576,45579,45580,45588,45589,45591,45593,45600,45620,45628,45656,45660,45664,45672,45673,45684,45685,45692,45700,45701,45705,45712,45713,45716,45720,45721,45722,45728,45729,45731,45733,45734,45738,45740,45744,45748,45768,45769,45772,45776,45778,45784,45785,45787,45789,45794,45796,45797,45798,45800,45803,45804,45805,45806,45807,45811,45812,45813,45815,45816,45817,45818,45819,45823,45824,45825,45828,45832,45840,45841,45843,45844,45845,45852,45908,45909,45910,45912,45915,45916,45918,45919,45924,45925,53397,53398,53399,53400,53401,53402,53403,53404,53405,53406,53407,53408,53409,53410,53411,53414,53415,53417,53418,53419,53421,53422,53423,53424,53425,53426,null,null,null,null,null,null,53427,53430,53432,53434,53435,53436,53437,53438,53439,53442,53443,53445,53446,53447,53450,53451,53452,53453,53454,53455,53458,53462,53463,53464,53465,53466,null,null,null,null,null,null,53467,53470,53471,53473,53474,53475,53477,53478,53479,53480,53481,53482,53483,53486,53490,53491,53492,53493,53494,53495,53497,53498,53499,53500,53501,53502,53503,53504,53505,53506,53507,53508,45927,45929,45931,45934,45936,45937,45940,45944,45952,45953,45955,45956,45957,45964,45968,45972,45984,45985,45992,45996,46020,46021,46024,46027,46028,46030,46032,46036,46037,46039,46041,46043,46045,46048,46052,46056,46076,46096,46104,46108,46112,46120,46121,46123,46132,46160,46161,46164,46168,46176,46177,46179,46181,46188,46208,46216,46237,46244,46248,46252,46261,46263,46265,46272,46276,46280,46288,46293,46300,46301,46304,46307,46308,46310,46316,46317,46319,46321,46328,46356,46357,46360,46363,46364,46372,46373,46375,46376,46377,46378,46384,46385,46388,46392,53509,53510,53511,53512,53513,53514,53515,53516,53518,53519,53520,53521,53522,53523,53524,53525,53526,53527,53528,53529,53530,53531,53532,53533,53534,53535,null,null,null,null,null,null,53536,53537,53538,53539,53540,53541,53542,53543,53544,53545,53546,53547,53548,53549,53550,53551,53554,53555,53557,53558,53559,53561,53563,53564,53565,53566,null,null,null,null,null,null,53567,53570,53574,53575,53576,53577,53578,53579,53582,53583,53585,53586,53587,53589,53590,53591,53592,53593,53594,53595,53598,53600,53602,53603,53604,53605,53606,53607,53609,53610,53611,53613,46400,46401,46403,46404,46405,46411,46412,46413,46416,46420,46428,46429,46431,46432,46433,46496,46497,46500,46504,46506,46507,46512,46513,46515,46516,46517,46523,46524,46525,46528,46532,46540,46541,46543,46544,46545,46552,46572,46608,46609,46612,46616,46629,46636,46644,46664,46692,46696,46748,46749,46752,46756,46763,46764,46769,46804,46832,46836,46840,46848,46849,46853,46888,46889,46892,46895,46896,46904,46905,46907,46916,46920,46924,46932,46933,46944,46948,46952,46960,46961,46963,46965,46972,46973,46976,46980,46988,46989,46991,46992,46993,46994,46998,46999,53614,53615,53616,53617,53618,53619,53620,53621,53622,53623,53624,53625,53626,53627,53629,53630,53631,53632,53633,53634,53635,53637,53638,53639,53641,53642,null,null,null,null,null,null,53643,53644,53645,53646,53647,53648,53649,53650,53651,53652,53653,53654,53655,53656,53657,53658,53659,53660,53661,53662,53663,53666,53667,53669,53670,53671,null,null,null,null,null,null,53673,53674,53675,53676,53677,53678,53679,53682,53684,53686,53687,53688,53689,53691,53693,53694,53695,53697,53698,53699,53700,53701,53702,53703,53704,53705,53706,53707,53708,53709,53710,53711,47e3,47001,47004,47008,47016,47017,47019,47020,47021,47028,47029,47032,47047,47049,47084,47085,47088,47092,47100,47101,47103,47104,47105,47111,47112,47113,47116,47120,47128,47129,47131,47133,47140,47141,47144,47148,47156,47157,47159,47160,47161,47168,47172,47185,47187,47196,47197,47200,47204,47212,47213,47215,47217,47224,47228,47245,47272,47280,47284,47288,47296,47297,47299,47301,47308,47312,47316,47325,47327,47329,47336,47337,47340,47344,47352,47353,47355,47357,47364,47384,47392,47420,47421,47424,47428,47436,47439,47441,47448,47449,47452,47456,47464,47465,53712,53713,53714,53715,53716,53717,53718,53719,53721,53722,53723,53724,53725,53726,53727,53728,53729,53730,53731,53732,53733,53734,53735,53736,53737,53738,null,null,null,null,null,null,53739,53740,53741,53742,53743,53744,53745,53746,53747,53749,53750,53751,53753,53754,53755,53756,53757,53758,53759,53760,53761,53762,53763,53764,53765,53766,null,null,null,null,null,null,53768,53770,53771,53772,53773,53774,53775,53777,53778,53779,53780,53781,53782,53783,53784,53785,53786,53787,53788,53789,53790,53791,53792,53793,53794,53795,53796,53797,53798,53799,53800,53801,47467,47469,47476,47477,47480,47484,47492,47493,47495,47497,47498,47501,47502,47532,47533,47536,47540,47548,47549,47551,47553,47560,47561,47564,47566,47567,47568,47569,47570,47576,47577,47579,47581,47582,47585,47587,47588,47589,47592,47596,47604,47605,47607,47608,47609,47610,47616,47617,47624,47637,47672,47673,47676,47680,47682,47688,47689,47691,47693,47694,47699,47700,47701,47704,47708,47716,47717,47719,47720,47721,47728,47729,47732,47736,47747,47748,47749,47751,47756,47784,47785,47787,47788,47792,47794,47800,47801,47803,47805,47812,47816,47832,47833,47868,53802,53803,53806,53807,53809,53810,53811,53813,53814,53815,53816,53817,53818,53819,53822,53824,53826,53827,53828,53829,53830,53831,53833,53834,53835,53836,null,null,null,null,null,null,53837,53838,53839,53840,53841,53842,53843,53844,53845,53846,53847,53848,53849,53850,53851,53853,53854,53855,53856,53857,53858,53859,53861,53862,53863,53864,null,null,null,null,null,null,53865,53866,53867,53868,53869,53870,53871,53872,53873,53874,53875,53876,53877,53878,53879,53880,53881,53882,53883,53884,53885,53886,53887,53890,53891,53893,53894,53895,53897,53898,53899,53900,47872,47876,47885,47887,47889,47896,47900,47904,47913,47915,47924,47925,47926,47928,47931,47932,47933,47934,47940,47941,47943,47945,47949,47951,47952,47956,47960,47969,47971,47980,48008,48012,48016,48036,48040,48044,48052,48055,48064,48068,48072,48080,48083,48120,48121,48124,48127,48128,48130,48136,48137,48139,48140,48141,48143,48145,48148,48149,48150,48151,48152,48155,48156,48157,48158,48159,48164,48165,48167,48169,48173,48176,48177,48180,48184,48192,48193,48195,48196,48197,48201,48204,48205,48208,48221,48260,48261,48264,48267,48268,48270,48276,48277,48279,53901,53902,53903,53906,53907,53908,53910,53911,53912,53913,53914,53915,53917,53918,53919,53921,53922,53923,53925,53926,53927,53928,53929,53930,53931,53933,null,null,null,null,null,null,53934,53935,53936,53938,53939,53940,53941,53942,53943,53946,53947,53949,53950,53953,53955,53956,53957,53958,53959,53962,53964,53965,53966,53967,53968,53969,null,null,null,null,null,null,53970,53971,53973,53974,53975,53977,53978,53979,53981,53982,53983,53984,53985,53986,53987,53990,53991,53992,53993,53994,53995,53996,53997,53998,53999,54002,54003,54005,54006,54007,54009,54010,48281,48282,48288,48289,48292,48295,48296,48304,48305,48307,48308,48309,48316,48317,48320,48324,48333,48335,48336,48337,48341,48344,48348,48372,48373,48374,48376,48380,48388,48389,48391,48393,48400,48404,48420,48428,48448,48456,48457,48460,48464,48472,48473,48484,48488,48512,48513,48516,48519,48520,48521,48522,48528,48529,48531,48533,48537,48538,48540,48548,48560,48568,48596,48597,48600,48604,48617,48624,48628,48632,48640,48643,48645,48652,48653,48656,48660,48668,48669,48671,48708,48709,48712,48716,48718,48724,48725,48727,48729,48730,48731,48736,48737,48740,54011,54012,54013,54014,54015,54018,54020,54022,54023,54024,54025,54026,54027,54031,54033,54034,54035,54037,54039,54040,54041,54042,54043,54046,54050,54051,null,null,null,null,null,null,54052,54054,54055,54058,54059,54061,54062,54063,54065,54066,54067,54068,54069,54070,54071,54074,54078,54079,54080,54081,54082,54083,54086,54087,54088,54089,null,null,null,null,null,null,54090,54091,54092,54093,54094,54095,54096,54097,54098,54099,54100,54101,54102,54103,54104,54105,54106,54107,54108,54109,54110,54111,54112,54113,54114,54115,54116,54117,54118,54119,54120,54121,48744,48746,48752,48753,48755,48756,48757,48763,48764,48765,48768,48772,48780,48781,48783,48784,48785,48792,48793,48808,48848,48849,48852,48855,48856,48864,48867,48868,48869,48876,48897,48904,48905,48920,48921,48923,48924,48925,48960,48961,48964,48968,48976,48977,48981,49044,49072,49093,49100,49101,49104,49108,49116,49119,49121,49212,49233,49240,49244,49248,49256,49257,49296,49297,49300,49304,49312,49313,49315,49317,49324,49325,49327,49328,49331,49332,49333,49334,49340,49341,49343,49344,49345,49349,49352,49353,49356,49360,49368,49369,49371,49372,49373,49380,54122,54123,54124,54125,54126,54127,54128,54129,54130,54131,54132,54133,54134,54135,54136,54137,54138,54139,54142,54143,54145,54146,54147,54149,54150,54151,null,null,null,null,null,null,54152,54153,54154,54155,54158,54162,54163,54164,54165,54166,54167,54170,54171,54173,54174,54175,54177,54178,54179,54180,54181,54182,54183,54186,54188,54190,null,null,null,null,null,null,54191,54192,54193,54194,54195,54197,54198,54199,54201,54202,54203,54205,54206,54207,54208,54209,54210,54211,54214,54215,54218,54219,54220,54221,54222,54223,54225,54226,54227,54228,54229,54230,49381,49384,49388,49396,49397,49399,49401,49408,49412,49416,49424,49429,49436,49437,49438,49439,49440,49443,49444,49446,49447,49452,49453,49455,49456,49457,49462,49464,49465,49468,49472,49480,49481,49483,49484,49485,49492,49493,49496,49500,49508,49509,49511,49512,49513,49520,49524,49528,49541,49548,49549,49550,49552,49556,49558,49564,49565,49567,49569,49573,49576,49577,49580,49584,49597,49604,49608,49612,49620,49623,49624,49632,49636,49640,49648,49649,49651,49660,49661,49664,49668,49676,49677,49679,49681,49688,49689,49692,49695,49696,49704,49705,49707,49709,54231,54233,54234,54235,54236,54237,54238,54239,54240,54242,54244,54245,54246,54247,54248,54249,54250,54251,54254,54255,54257,54258,54259,54261,54262,54263,null,null,null,null,null,null,54264,54265,54266,54267,54270,54272,54274,54275,54276,54277,54278,54279,54281,54282,54283,54284,54285,54286,54287,54288,54289,54290,54291,54292,54293,54294,null,null,null,null,null,null,54295,54296,54297,54298,54299,54300,54302,54303,54304,54305,54306,54307,54308,54309,54310,54311,54312,54313,54314,54315,54316,54317,54318,54319,54320,54321,54322,54323,54324,54325,54326,54327,49711,49713,49714,49716,49736,49744,49745,49748,49752,49760,49765,49772,49773,49776,49780,49788,49789,49791,49793,49800,49801,49808,49816,49819,49821,49828,49829,49832,49836,49837,49844,49845,49847,49849,49884,49885,49888,49891,49892,49899,49900,49901,49903,49905,49910,49912,49913,49915,49916,49920,49928,49929,49932,49933,49939,49940,49941,49944,49948,49956,49957,49960,49961,49989,50024,50025,50028,50032,50034,50040,50041,50044,50045,50052,50056,50060,50112,50136,50137,50140,50143,50144,50146,50152,50153,50157,50164,50165,50168,50184,50192,50212,50220,50224,54328,54329,54330,54331,54332,54333,54334,54335,54337,54338,54339,54341,54342,54343,54344,54345,54346,54347,54348,54349,54350,54351,54352,54353,54354,54355,null,null,null,null,null,null,54356,54357,54358,54359,54360,54361,54362,54363,54365,54366,54367,54369,54370,54371,54373,54374,54375,54376,54377,54378,54379,54380,54382,54384,54385,54386,null,null,null,null,null,null,54387,54388,54389,54390,54391,54394,54395,54397,54398,54401,54403,54404,54405,54406,54407,54410,54412,54414,54415,54416,54417,54418,54419,54421,54422,54423,54424,54425,54426,54427,54428,54429,50228,50236,50237,50248,50276,50277,50280,50284,50292,50293,50297,50304,50324,50332,50360,50364,50409,50416,50417,50420,50424,50426,50431,50432,50433,50444,50448,50452,50460,50472,50473,50476,50480,50488,50489,50491,50493,50500,50501,50504,50505,50506,50508,50509,50510,50515,50516,50517,50519,50520,50521,50525,50526,50528,50529,50532,50536,50544,50545,50547,50548,50549,50556,50557,50560,50564,50567,50572,50573,50575,50577,50581,50583,50584,50588,50592,50601,50612,50613,50616,50617,50619,50620,50621,50622,50628,50629,50630,50631,50632,50633,50634,50636,50638,54430,54431,54432,54433,54434,54435,54436,54437,54438,54439,54440,54442,54443,54444,54445,54446,54447,54448,54449,54450,54451,54452,54453,54454,54455,54456,null,null,null,null,null,null,54457,54458,54459,54460,54461,54462,54463,54464,54465,54466,54467,54468,54469,54470,54471,54472,54473,54474,54475,54477,54478,54479,54481,54482,54483,54485,null,null,null,null,null,null,54486,54487,54488,54489,54490,54491,54493,54494,54496,54497,54498,54499,54500,54501,54502,54503,54505,54506,54507,54509,54510,54511,54513,54514,54515,54516,54517,54518,54519,54521,54522,54524,50640,50641,50644,50648,50656,50657,50659,50661,50668,50669,50670,50672,50676,50678,50679,50684,50685,50686,50687,50688,50689,50693,50694,50695,50696,50700,50704,50712,50713,50715,50716,50724,50725,50728,50732,50733,50734,50736,50739,50740,50741,50743,50745,50747,50752,50753,50756,50760,50768,50769,50771,50772,50773,50780,50781,50784,50796,50799,50801,50808,50809,50812,50816,50824,50825,50827,50829,50836,50837,50840,50844,50852,50853,50855,50857,50864,50865,50868,50872,50873,50874,50880,50881,50883,50885,50892,50893,50896,50900,50908,50909,50912,50913,50920,54526,54527,54528,54529,54530,54531,54533,54534,54535,54537,54538,54539,54541,54542,54543,54544,54545,54546,54547,54550,54552,54553,54554,54555,54556,54557,null,null,null,null,null,null,54558,54559,54560,54561,54562,54563,54564,54565,54566,54567,54568,54569,54570,54571,54572,54573,54574,54575,54576,54577,54578,54579,54580,54581,54582,54583,null,null,null,null,null,null,54584,54585,54586,54587,54590,54591,54593,54594,54595,54597,54598,54599,54600,54601,54602,54603,54606,54608,54610,54611,54612,54613,54614,54615,54618,54619,54621,54622,54623,54625,54626,54627,50921,50924,50928,50936,50937,50941,50948,50949,50952,50956,50964,50965,50967,50969,50976,50977,50980,50984,50992,50993,50995,50997,50999,51004,51005,51008,51012,51018,51020,51021,51023,51025,51026,51027,51028,51029,51030,51031,51032,51036,51040,51048,51051,51060,51061,51064,51068,51069,51070,51075,51076,51077,51079,51080,51081,51082,51086,51088,51089,51092,51094,51095,51096,51098,51104,51105,51107,51108,51109,51110,51116,51117,51120,51124,51132,51133,51135,51136,51137,51144,51145,51148,51150,51152,51160,51165,51172,51176,51180,51200,51201,51204,51208,51210,54628,54630,54631,54634,54636,54638,54639,54640,54641,54642,54643,54646,54647,54649,54650,54651,54653,54654,54655,54656,54657,54658,54659,54662,54666,54667,null,null,null,null,null,null,54668,54669,54670,54671,54673,54674,54675,54676,54677,54678,54679,54680,54681,54682,54683,54684,54685,54686,54687,54688,54689,54690,54691,54692,54694,54695,null,null,null,null,null,null,54696,54697,54698,54699,54700,54701,54702,54703,54704,54705,54706,54707,54708,54709,54710,54711,54712,54713,54714,54715,54716,54717,54718,54719,54720,54721,54722,54723,54724,54725,54726,54727,51216,51217,51219,51221,51222,51228,51229,51232,51236,51244,51245,51247,51249,51256,51260,51264,51272,51273,51276,51277,51284,51312,51313,51316,51320,51322,51328,51329,51331,51333,51334,51335,51339,51340,51341,51348,51357,51359,51361,51368,51388,51389,51396,51400,51404,51412,51413,51415,51417,51424,51425,51428,51445,51452,51453,51456,51460,51461,51462,51468,51469,51471,51473,51480,51500,51508,51536,51537,51540,51544,51552,51553,51555,51564,51568,51572,51580,51592,51593,51596,51600,51608,51609,51611,51613,51648,51649,51652,51655,51656,51658,51664,51665,51667,54730,54731,54733,54734,54735,54737,54739,54740,54741,54742,54743,54746,54748,54750,54751,54752,54753,54754,54755,54758,54759,54761,54762,54763,54765,54766,null,null,null,null,null,null,54767,54768,54769,54770,54771,54774,54776,54778,54779,54780,54781,54782,54783,54786,54787,54789,54790,54791,54793,54794,54795,54796,54797,54798,54799,54802,null,null,null,null,null,null,54806,54807,54808,54809,54810,54811,54813,54814,54815,54817,54818,54819,54821,54822,54823,54824,54825,54826,54827,54828,54830,54831,54832,54833,54834,54835,54836,54837,54838,54839,54842,54843,51669,51670,51673,51674,51676,51677,51680,51682,51684,51687,51692,51693,51695,51696,51697,51704,51705,51708,51712,51720,51721,51723,51724,51725,51732,51736,51753,51788,51789,51792,51796,51804,51805,51807,51808,51809,51816,51837,51844,51864,51900,51901,51904,51908,51916,51917,51919,51921,51923,51928,51929,51936,51948,51956,51976,51984,51988,51992,52e3,52001,52033,52040,52041,52044,52048,52056,52057,52061,52068,52088,52089,52124,52152,52180,52196,52199,52201,52236,52237,52240,52244,52252,52253,52257,52258,52263,52264,52265,52268,52270,52272,52280,52281,52283,54845,54846,54847,54849,54850,54851,54852,54854,54855,54858,54860,54862,54863,54864,54866,54867,54870,54871,54873,54874,54875,54877,54878,54879,54880,54881,null,null,null,null,null,null,54882,54883,54884,54885,54886,54888,54890,54891,54892,54893,54894,54895,54898,54899,54901,54902,54903,54904,54905,54906,54907,54908,54909,54910,54911,54912,null,null,null,null,null,null,54913,54914,54916,54918,54919,54920,54921,54922,54923,54926,54927,54929,54930,54931,54933,54934,54935,54936,54937,54938,54939,54940,54942,54944,54946,54947,54948,54949,54950,54951,54953,54954,52284,52285,52286,52292,52293,52296,52300,52308,52309,52311,52312,52313,52320,52324,52326,52328,52336,52341,52376,52377,52380,52384,52392,52393,52395,52396,52397,52404,52405,52408,52412,52420,52421,52423,52425,52432,52436,52452,52460,52464,52481,52488,52489,52492,52496,52504,52505,52507,52509,52516,52520,52524,52537,52572,52576,52580,52588,52589,52591,52593,52600,52616,52628,52629,52632,52636,52644,52645,52647,52649,52656,52676,52684,52688,52712,52716,52720,52728,52729,52731,52733,52740,52744,52748,52756,52761,52768,52769,52772,52776,52784,52785,52787,52789,54955,54957,54958,54959,54961,54962,54963,54964,54965,54966,54967,54968,54970,54972,54973,54974,54975,54976,54977,54978,54979,54982,54983,54985,54986,54987,null,null,null,null,null,null,54989,54990,54991,54992,54994,54995,54997,54998,55e3,55002,55003,55004,55005,55006,55007,55009,55010,55011,55013,55014,55015,55017,55018,55019,55020,55021,null,null,null,null,null,null,55022,55023,55025,55026,55027,55028,55030,55031,55032,55033,55034,55035,55038,55039,55041,55042,55043,55045,55046,55047,55048,55049,55050,55051,55052,55053,55054,55055,55056,55058,55059,55060,52824,52825,52828,52831,52832,52833,52840,52841,52843,52845,52852,52853,52856,52860,52868,52869,52871,52873,52880,52881,52884,52888,52896,52897,52899,52900,52901,52908,52909,52929,52964,52965,52968,52971,52972,52980,52981,52983,52984,52985,52992,52993,52996,53e3,53008,53009,53011,53013,53020,53024,53028,53036,53037,53039,53040,53041,53048,53076,53077,53080,53084,53092,53093,53095,53097,53104,53105,53108,53112,53120,53125,53132,53153,53160,53168,53188,53216,53217,53220,53224,53232,53233,53235,53237,53244,53248,53252,53265,53272,53293,53300,53301,53304,53308,55061,55062,55063,55066,55067,55069,55070,55071,55073,55074,55075,55076,55077,55078,55079,55082,55084,55086,55087,55088,55089,55090,55091,55094,55095,55097,null,null,null,null,null,null,55098,55099,55101,55102,55103,55104,55105,55106,55107,55109,55110,55112,55114,55115,55116,55117,55118,55119,55122,55123,55125,55130,55131,55132,55133,55134,null,null,null,null,null,null,55135,55138,55140,55142,55143,55144,55146,55147,55149,55150,55151,55153,55154,55155,55157,55158,55159,55160,55161,55162,55163,55166,55167,55168,55170,55171,55172,55173,55174,55175,55178,55179,53316,53317,53319,53321,53328,53332,53336,53344,53356,53357,53360,53364,53372,53373,53377,53412,53413,53416,53420,53428,53429,53431,53433,53440,53441,53444,53448,53449,53456,53457,53459,53460,53461,53468,53469,53472,53476,53484,53485,53487,53488,53489,53496,53517,53552,53553,53556,53560,53562,53568,53569,53571,53572,53573,53580,53581,53584,53588,53596,53597,53599,53601,53608,53612,53628,53636,53640,53664,53665,53668,53672,53680,53681,53683,53685,53690,53692,53696,53720,53748,53752,53767,53769,53776,53804,53805,53808,53812,53820,53821,53823,53825,53832,53852,55181,55182,55183,55185,55186,55187,55188,55189,55190,55191,55194,55196,55198,55199,55200,55201,55202,55203,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,53860,53888,53889,53892,53896,53904,53905,53909,53916,53920,53924,53932,53937,53944,53945,53948,53951,53952,53954,53960,53961,53963,53972,53976,53980,53988,53989,54e3,54001,54004,54008,54016,54017,54019,54021,54028,54029,54030,54032,54036,54038,54044,54045,54047,54048,54049,54053,54056,54057,54060,54064,54072,54073,54075,54076,54077,54084,54085,54140,54141,54144,54148,54156,54157,54159,54160,54161,54168,54169,54172,54176,54184,54185,54187,54189,54196,54200,54204,54212,54213,54216,54217,54224,54232,54241,54243,54252,54253,54256,54260,54268,54269,54271,54273,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54280,54301,54336,54340,54364,54368,54372,54381,54383,54392,54393,54396,54399,54400,54402,54408,54409,54411,54413,54420,54441,54476,54480,54484,54492,54495,54504,54508,54512,54520,54523,54525,54532,54536,54540,54548,54549,54551,54588,54589,54592,54596,54604,54605,54607,54609,54616,54617,54620,54624,54629,54632,54633,54635,54637,54644,54645,54648,54652,54660,54661,54663,54664,54665,54672,54693,54728,54729,54732,54736,54738,54744,54745,54747,54749,54756,54757,54760,54764,54772,54773,54775,54777,54784,54785,54788,54792,54800,54801,54803,54804,54805,54812,54816,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54820,54829,54840,54841,54844,54848,54853,54856,54857,54859,54861,54865,54868,54869,54872,54876,54887,54889,54896,54897,54900,54915,54917,54924,54925,54928,54932,54941,54943,54945,54952,54956,54960,54969,54971,54980,54981,54984,54988,54993,54996,54999,55001,55008,55012,55016,55024,55029,55036,55037,55040,55044,55057,55064,55065,55068,55072,55080,55081,55083,55085,55092,55093,55096,55100,55108,55111,55113,55120,55121,55124,55126,55127,55128,55129,55136,55137,55139,55141,55145,55148,55152,55156,55164,55165,55169,55176,55177,55180,55184,55192,55193,55195,55197,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20285,20339,20551,20729,21152,21487,21621,21733,22025,23233,23478,26247,26550,26551,26607,27468,29634,30146,31292,33499,33540,34903,34952,35382,36040,36303,36603,36838,39381,21051,21364,21508,24682,24932,27580,29647,33050,35258,35282,38307,20355,21002,22718,22904,23014,24178,24185,25031,25536,26438,26604,26751,28567,30286,30475,30965,31240,31487,31777,32925,33390,33393,35563,38291,20075,21917,26359,28212,30883,31469,33883,35088,34638,38824,21208,22350,22570,23884,24863,25022,25121,25954,26577,27204,28187,29976,30131,30435,30640,32058,37039,37969,37970,40853,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21283,23724,30002,32987,37440,38296,21083,22536,23004,23713,23831,24247,24378,24394,24951,27743,30074,30086,31968,32115,32177,32652,33108,33313,34193,35137,35611,37628,38477,40007,20171,20215,20491,20977,22607,24887,24894,24936,25913,27114,28433,30117,30342,30422,31623,33445,33995,63744,37799,38283,21888,23458,22353,63745,31923,32697,37301,20520,21435,23621,24040,25298,25454,25818,25831,28192,28844,31067,36317,36382,63746,36989,37445,37624,20094,20214,20581,24062,24314,24838,26967,33137,34388,36423,37749,39467,20062,20625,26480,26688,20745,21133,21138,27298,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30652,37392,40660,21163,24623,36850,20552,25001,25581,25802,26684,27268,28608,33160,35233,38548,22533,29309,29356,29956,32121,32365,32937,35211,35700,36963,40273,25225,27770,28500,32080,32570,35363,20860,24906,31645,35609,37463,37772,20140,20435,20510,20670,20742,21185,21197,21375,22384,22659,24218,24465,24950,25004,25806,25964,26223,26299,26356,26775,28039,28805,28913,29855,29861,29898,30169,30828,30956,31455,31478,32069,32147,32789,32831,33051,33686,35686,36629,36885,37857,38915,38968,39514,39912,20418,21843,22586,22865,23395,23622,24760,25106,26690,26800,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26856,28330,30028,30328,30926,31293,31995,32363,32380,35336,35489,35903,38542,40388,21476,21481,21578,21617,22266,22993,23396,23611,24235,25335,25911,25925,25970,26272,26543,27073,27837,30204,30352,30590,31295,32660,32771,32929,33167,33510,33533,33776,34241,34865,34996,35493,63747,36764,37678,38599,39015,39640,40723,21741,26011,26354,26767,31296,35895,40288,22256,22372,23825,26118,26801,26829,28414,29736,34974,39908,27752,63748,39592,20379,20844,20849,21151,23380,24037,24656,24685,25329,25511,25915,29657,31354,34467,36002,38799,20018,23521,25096,26524,29916,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31185,33747,35463,35506,36328,36942,37707,38982,24275,27112,34303,37101,63749,20896,23448,23532,24931,26874,27454,28748,29743,29912,31649,32592,33733,35264,36011,38364,39208,21038,24669,25324,36866,20362,20809,21281,22745,24291,26336,27960,28826,29378,29654,31568,33009,37979,21350,25499,32619,20054,20608,22602,22750,24618,24871,25296,27088,39745,23439,32024,32945,36703,20132,20689,21676,21932,23308,23968,24039,25898,25934,26657,27211,29409,30350,30703,32094,32761,33184,34126,34527,36611,36686,37066,39171,39509,39851,19992,20037,20061,20167,20465,20855,21246,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21312,21475,21477,21646,22036,22389,22434,23495,23943,24272,25084,25304,25937,26552,26601,27083,27472,27590,27628,27714,28317,28792,29399,29590,29699,30655,30697,31350,32127,32777,33276,33285,33290,33503,34914,35635,36092,36544,36881,37041,37476,37558,39378,39493,40169,40407,40860,22283,23616,33738,38816,38827,40628,21531,31384,32676,35033,36557,37089,22528,23624,25496,31391,23470,24339,31353,31406,33422,36524,20518,21048,21240,21367,22280,25331,25458,27402,28099,30519,21413,29527,34152,36470,38357,26426,27331,28528,35437,36556,39243,63750,26231,27512,36020,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,39740,63751,21483,22317,22862,25542,27131,29674,30789,31418,31429,31998,33909,35215,36211,36917,38312,21243,22343,30023,31584,33740,37406,63752,27224,20811,21067,21127,25119,26840,26997,38553,20677,21156,21220,25027,26020,26681,27135,29822,31563,33465,33771,35250,35641,36817,39241,63753,20170,22935,25810,26129,27278,29748,31105,31165,33449,34942,34943,35167,63754,37670,20235,21450,24613,25201,27762,32026,32102,20120,20834,30684,32943,20225,20238,20854,20864,21980,22120,22331,22522,22524,22804,22855,22931,23492,23696,23822,24049,24190,24524,25216,26071,26083,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26398,26399,26462,26827,26820,27231,27450,27683,27773,27778,28103,29592,29734,29738,29826,29859,30072,30079,30849,30959,31041,31047,31048,31098,31637,32e3,32186,32648,32774,32813,32908,35352,35663,35912,36215,37665,37668,39138,39249,39438,39439,39525,40594,32202,20342,21513,25326,26708,37329,21931,20794,63755,63756,23068,25062,63757,25295,25343,63758,63759,63760,63761,63762,63763,37027,63764,63765,63766,63767,63768,35582,63769,63770,63771,63772,26262,63773,29014,63774,63775,38627,63776,25423,25466,21335,63777,26511,26976,28275,63778,30007,63779,63780,63781,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32013,63782,63783,34930,22218,23064,63784,63785,63786,63787,63788,20035,63789,20839,22856,26608,32784,63790,22899,24180,25754,31178,24565,24684,25288,25467,23527,23511,21162,63791,22900,24361,24594,63792,63793,63794,29785,63795,63796,63797,63798,63799,63800,39377,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,28611,63812,63813,33215,36786,24817,63814,63815,33126,63816,63817,23615,63818,63819,63820,63821,63822,63823,63824,63825,23273,35365,26491,32016,63826,63827,63828,63829,63830,63831,33021,63832,63833,23612,27877,21311,28346,22810,33590,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20025,20150,20294,21934,22296,22727,24406,26039,26086,27264,27573,28237,30701,31471,31774,32222,34507,34962,37170,37723,25787,28606,29562,30136,36948,21846,22349,25018,25812,26311,28129,28251,28525,28601,30192,32835,33213,34113,35203,35527,35674,37663,27795,30035,31572,36367,36957,21776,22530,22616,24162,25095,25758,26848,30070,31958,34739,40680,20195,22408,22382,22823,23565,23729,24118,24453,25140,25825,29619,33274,34955,36024,38538,40667,23429,24503,24755,20498,20992,21040,22294,22581,22615,23566,23648,23798,23947,24230,24466,24764,25361,25481,25623,26691,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26873,27330,28120,28193,28372,28644,29182,30428,30585,31153,31291,33796,35241,36077,36339,36424,36867,36884,36947,37117,37709,38518,38876,27602,28678,29272,29346,29544,30563,31167,31716,32411,35712,22697,24775,25958,26109,26302,27788,28958,29129,35930,38931,20077,31361,20189,20908,20941,21205,21516,24999,26481,26704,26847,27934,28540,30140,30643,31461,33012,33891,37509,20828,26007,26460,26515,30168,31431,33651,63834,35910,36887,38957,23663,33216,33434,36929,36975,37389,24471,23965,27225,29128,30331,31561,34276,35588,37159,39472,21895,25078,63835,30313,32645,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34367,34746,35064,37007,63836,27931,28889,29662,32097,33853,63837,37226,39409,63838,20098,21365,27396,27410,28734,29211,34349,40478,21068,36771,23888,25829,25900,27414,28651,31811,32412,34253,35172,35261,25289,33240,34847,24266,26391,28010,29436,29701,29807,34690,37086,20358,23821,24480,33802,20919,25504,30053,20142,20486,20841,20937,26753,27153,31918,31921,31975,33391,35538,36635,37327,20406,20791,21237,21570,24300,24942,25150,26053,27354,28670,31018,34268,34851,38317,39522,39530,40599,40654,21147,26310,27511,28701,31019,36706,38722,24976,25088,25891,28451,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29001,29833,32244,32879,34030,36646,36899,37706,20925,21015,21155,27916,28872,35010,24265,25986,27566,28610,31806,29557,20196,20278,22265,63839,23738,23994,24604,29618,31533,32666,32718,32838,36894,37428,38646,38728,38936,40801,20363,28583,31150,37300,38583,21214,63840,25736,25796,27347,28510,28696,29200,30439,32769,34310,34396,36335,36613,38706,39791,40442,40565,30860,31103,32160,33737,37636,40575,40595,35542,22751,24324,26407,28711,29903,31840,32894,20769,28712,29282,30922,36034,36058,36084,38647,20102,20698,23534,24278,26009,29134,30274,30637,32842,34044,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36988,39719,40845,22744,23105,23650,27155,28122,28431,30267,32047,32311,34078,35128,37860,38475,21129,26066,26611,27060,27969,28316,28687,29705,29792,30041,30244,30827,35628,39006,20845,25134,38520,20374,20523,23833,28138,32184,36650,24459,24900,26647,63841,38534,21202,32907,20956,20940,26974,31260,32190,33777,38517,20442,21033,21400,21519,21774,23653,24743,26446,26792,28012,29313,29432,29702,29827,63842,30178,31852,32633,32696,33673,35023,35041,37324,37328,38626,39881,21533,28542,29136,29848,34298,36522,38563,40023,40607,26519,28107,29747,33256,38678,30764,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31435,31520,31890,25705,29802,30194,30908,30952,39340,39764,40635,23518,24149,28448,33180,33707,37e3,19975,21325,23081,24018,24398,24930,25405,26217,26364,28415,28459,28771,30622,33836,34067,34875,36627,39237,39995,21788,25273,26411,27819,33545,35178,38778,20129,22916,24536,24537,26395,32178,32596,33426,33579,33725,36638,37017,22475,22969,23186,23504,26151,26522,26757,27599,29028,32629,36023,36067,36993,39749,33032,35978,38476,39488,40613,23391,27667,29467,30450,30431,33804,20906,35219,20813,20885,21193,26825,27796,30468,30496,32191,32236,38754,40629,28357,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34065,20901,21517,21629,26126,26269,26919,28319,30399,30609,33559,33986,34719,37225,37528,40180,34946,20398,20882,21215,22982,24125,24917,25720,25721,26286,26576,27169,27597,27611,29279,29281,29761,30520,30683,32791,33468,33541,35584,35624,35980,26408,27792,29287,30446,30566,31302,40361,27519,27794,22818,26406,33945,21359,22675,22937,24287,25551,26164,26483,28218,29483,31447,33495,37672,21209,24043,25006,25035,25098,25287,25771,26080,26969,27494,27595,28961,29687,30045,32326,33310,33538,34154,35491,36031,38695,40289,22696,40664,20497,21006,21563,21839,25991,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27766,32010,32011,32862,34442,38272,38639,21247,27797,29289,21619,23194,23614,23883,24396,24494,26410,26806,26979,28220,28228,30473,31859,32654,34183,35598,36855,38753,40692,23735,24758,24845,25003,25935,26107,26108,27665,27887,29599,29641,32225,38292,23494,34588,35600,21085,21338,25293,25615,25778,26420,27192,27850,29632,29854,31636,31893,32283,33162,33334,34180,36843,38649,39361,20276,21322,21453,21467,25292,25644,25856,26001,27075,27886,28504,29677,30036,30242,30436,30460,30928,30971,31020,32070,33324,34784,36820,38930,39151,21187,25300,25765,28196,28497,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30332,36299,37297,37474,39662,39747,20515,20621,22346,22952,23592,24135,24439,25151,25918,26041,26049,26121,26507,27036,28354,30917,32033,32938,33152,33323,33459,33953,34444,35370,35607,37030,38450,40848,20493,20467,63843,22521,24472,25308,25490,26479,28227,28953,30403,32972,32986,35060,35061,35097,36064,36649,37197,38506,20271,20336,24091,26575,26658,30333,30334,39748,24161,27146,29033,29140,30058,63844,32321,34115,34281,39132,20240,31567,32624,38309,20961,24070,26805,27710,27726,27867,29359,31684,33539,27861,29754,20731,21128,22721,25816,27287,29863,30294,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30887,34327,38370,38713,63845,21342,24321,35722,36776,36783,37002,21029,30629,40009,40712,19993,20482,20853,23643,24183,26142,26170,26564,26821,28851,29953,30149,31177,31453,36647,39200,39432,20445,22561,22577,23542,26222,27493,27921,28282,28541,29668,29995,33769,35036,35091,35676,36628,20239,20693,21264,21340,23443,24489,26381,31119,33145,33583,34068,35079,35206,36665,36667,39333,39954,26412,20086,20472,22857,23553,23791,23792,25447,26834,28925,29090,29739,32299,34028,34562,36898,37586,40179,19981,20184,20463,20613,21078,21103,21542,21648,22496,22827,23142,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23386,23413,23500,24220,63846,25206,25975,26023,28014,28325,29238,31526,31807,32566,33104,33105,33178,33344,33433,33705,35331,36e3,36070,36091,36212,36282,37096,37340,38428,38468,39385,40167,21271,20998,21545,22132,22707,22868,22894,24575,24996,25198,26128,27774,28954,30406,31881,31966,32027,33452,36033,38640,63847,20315,24343,24447,25282,23849,26379,26842,30844,32323,40300,19989,20633,21269,21290,21329,22915,23138,24199,24754,24970,25161,25209,26e3,26503,27047,27604,27606,27607,27608,27832,63848,29749,30202,30738,30865,31189,31192,31875,32203,32737,32933,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,33086,33218,33778,34586,35048,35513,35692,36027,37145,38750,39131,40763,22188,23338,24428,25996,27315,27567,27996,28657,28693,29277,29613,36007,36051,38971,24977,27703,32856,39425,20045,20107,20123,20181,20282,20284,20351,20447,20735,21490,21496,21766,21987,22235,22763,22882,23057,23531,23546,23556,24051,24107,24473,24605,25448,26012,26031,26614,26619,26797,27515,27801,27863,28195,28681,29509,30722,31038,31040,31072,31169,31721,32023,32114,32902,33293,33678,34001,34503,35039,35408,35422,35613,36060,36198,36781,37034,39164,39391,40605,21066,63849,26388,63850,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20632,21034,23665,25955,27733,29642,29987,30109,31639,33948,37240,38704,20087,25746,27578,29022,34217,19977,63851,26441,26862,28183,33439,34072,34923,25591,28545,37394,39087,19978,20663,20687,20767,21830,21930,22039,23360,23577,23776,24120,24202,24224,24258,24819,26705,27233,28248,29245,29248,29376,30456,31077,31665,32724,35059,35316,35443,35937,36062,38684,22622,29885,36093,21959,63852,31329,32034,33394,29298,29983,29989,63853,31513,22661,22779,23996,24207,24246,24464,24661,25234,25471,25933,26257,26329,26360,26646,26866,29312,29790,31598,32110,32214,32626,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32997,33298,34223,35199,35475,36893,37604,40653,40736,22805,22893,24109,24796,26132,26227,26512,27728,28101,28511,30707,30889,33990,37323,37675,20185,20682,20808,21892,23307,23459,25159,25982,26059,28210,29053,29697,29764,29831,29887,30316,31146,32218,32341,32680,33146,33203,33337,34330,34796,35445,36323,36984,37521,37925,39245,39854,21352,23633,26964,27844,27945,28203,33292,34203,35131,35373,35498,38634,40807,21089,26297,27570,32406,34814,36109,38275,38493,25885,28041,29166,63854,22478,22995,23468,24615,24826,25104,26143,26207,29481,29689,30427,30465,31596,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32854,32882,33125,35488,37266,19990,21218,27506,27927,31237,31545,32048,63855,36016,21484,22063,22609,23477,23567,23569,24034,25152,25475,25620,26157,26803,27836,28040,28335,28703,28836,29138,29990,30095,30094,30233,31505,31712,31787,32032,32057,34092,34157,34311,35380,36877,36961,37045,37559,38902,39479,20439,23660,26463,28049,31903,32396,35606,36118,36895,23403,24061,25613,33984,36956,39137,29575,23435,24730,26494,28126,35359,35494,36865,38924,21047,63856,28753,30862,37782,34928,37335,20462,21463,22013,22234,22402,22781,23234,23432,23723,23744,24101,24833,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,25101,25163,25480,25628,25910,25976,27193,27530,27700,27929,28465,29159,29417,29560,29703,29874,30246,30561,31168,31319,31466,31929,32143,32172,32353,32670,33065,33585,33936,34010,34282,34966,35504,35728,36664,36930,36995,37228,37526,37561,38539,38567,38568,38614,38656,38920,39318,39635,39706,21460,22654,22809,23408,23487,28113,28506,29087,29729,29881,32901,33789,24033,24455,24490,24642,26092,26642,26991,27219,27529,27957,28147,29667,30462,30636,31565,32020,33059,33308,33600,34036,34147,35426,35524,37255,37662,38918,39348,25100,34899,36848,37477,23815,23847,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23913,29791,33181,34664,28629,25342,32722,35126,35186,19998,20056,20711,21213,21319,25215,26119,32361,34821,38494,20365,21273,22070,22987,23204,23608,23630,23629,24066,24337,24643,26045,26159,26178,26558,26612,29468,30690,31034,32709,33940,33997,35222,35430,35433,35553,35925,35962,22516,23508,24335,24687,25325,26893,27542,28252,29060,31698,34645,35672,36606,39135,39166,20280,20353,20449,21627,23072,23480,24892,26032,26216,29180,30003,31070,32051,33102,33251,33688,34218,34254,34563,35338,36523,36763,63857,36805,22833,23460,23526,24713,23529,23563,24515,27777,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63858,28145,28683,29978,33455,35574,20160,21313,63859,38617,27663,20126,20420,20818,21854,23077,23784,25105,29273,33469,33706,34558,34905,35357,38463,38597,39187,40201,40285,22538,23731,23997,24132,24801,24853,25569,27138,28197,37122,37716,38990,39952,40823,23433,23736,25353,26191,26696,30524,38593,38797,38996,39839,26017,35585,36555,38332,21813,23721,24022,24245,26263,30284,33780,38343,22739,25276,29390,40232,20208,22830,24591,26171,27523,31207,40230,21395,21696,22467,23830,24859,26326,28079,30861,33406,38552,38724,21380,25212,25494,28082,32266,33099,38989,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27387,32588,40367,40474,20063,20539,20918,22812,24825,25590,26928,29242,32822,63860,37326,24369,63861,63862,32004,33509,33903,33979,34277,36493,63863,20335,63864,63865,22756,23363,24665,25562,25880,25965,26264,63866,26954,27171,27915,28673,29036,30162,30221,31155,31344,63867,32650,63868,35140,63869,35731,37312,38525,63870,39178,22276,24481,26044,28417,30208,31142,35486,39341,39770,40812,20740,25014,25233,27277,33222,20547,22576,24422,28937,35328,35578,23420,34326,20474,20796,22196,22852,25513,28153,23978,26989,20870,20104,20313,63871,63872,63873,22914,63874,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63875,27487,27741,63876,29877,30998,63877,33287,33349,33593,36671,36701,63878,39192,63879,63880,63881,20134,63882,22495,24441,26131,63883,63884,30123,32377,35695,63885,36870,39515,22181,22567,23032,23071,23476,63886,24310,63887,63888,25424,25403,63889,26941,27783,27839,28046,28051,28149,28436,63890,28895,28982,29017,63891,29123,29141,63892,30799,30831,63893,31605,32227,63894,32303,63895,34893,36575,63896,63897,63898,37467,63899,40182,63900,63901,63902,24709,28037,63903,29105,63904,63905,38321,21421,63906,63907,63908,26579,63909,28814,28976,29744,33398,33490,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63910,38331,39653,40573,26308,63911,29121,33865,63912,63913,22603,63914,63915,23992,24433,63916,26144,26254,27001,27054,27704,27891,28214,28481,28634,28699,28719,29008,29151,29552,63917,29787,63918,29908,30408,31310,32403,63919,63920,33521,35424,36814,63921,37704,63922,38681,63923,63924,20034,20522,63925,21e3,21473,26355,27757,28618,29450,30591,31330,33454,34269,34306,63926,35028,35427,35709,35947,63927,37555,63928,38675,38928,20116,20237,20425,20658,21320,21566,21555,21978,22626,22714,22887,23067,23524,24735,63929,25034,25942,26111,26212,26791,27738,28595,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28879,29100,29522,31613,34568,35492,39986,40711,23627,27779,29508,29577,37434,28331,29797,30239,31337,32277,34314,20800,22725,25793,29934,29973,30320,32705,37013,38605,39252,28198,29926,31401,31402,33253,34521,34680,35355,23113,23436,23451,26785,26880,28003,29609,29715,29740,30871,32233,32747,33048,33109,33694,35916,38446,38929,26352,24448,26106,26505,27754,29579,20525,23043,27498,30702,22806,23916,24013,29477,30031,63930,63931,20709,20985,22575,22829,22934,23002,23525,63932,63933,23970,25303,25622,25747,25854,63934,26332,63935,27208,63936,29183,29796,63937,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31368,31407,32327,32350,32768,33136,63938,34799,35201,35616,36953,63939,36992,39250,24958,27442,28020,32287,35109,36785,20433,20653,20887,21191,22471,22665,23481,24248,24898,27029,28044,28263,28342,29076,29794,29992,29996,32883,33592,33993,36362,37780,37854,63940,20110,20305,20598,20778,21448,21451,21491,23431,23507,23588,24858,24962,26100,29275,29591,29760,30402,31056,31121,31161,32006,32701,33419,34261,34398,36802,36935,37109,37354,38533,38632,38633,21206,24423,26093,26161,26671,29020,31286,37057,38922,20113,63941,27218,27550,28560,29065,32792,33464,34131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36939,38549,38642,38907,34074,39729,20112,29066,38596,20803,21407,21729,22291,22290,22435,23195,23236,23491,24616,24895,25588,27781,27961,28274,28304,29232,29503,29783,33489,34945,36677,36960,63942,38498,39e3,40219,26376,36234,37470,20301,20553,20702,21361,22285,22996,23041,23561,24944,26256,28205,29234,29771,32239,32963,33806,33894,34111,34655,34907,35096,35586,36949,38859,39759,20083,20369,20754,20842,63943,21807,21929,23418,23461,24188,24189,24254,24736,24799,24840,24841,25540,25912,26377,63944,26580,26586,63945,26977,26978,27833,27943,63946,28216,63947,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28641,29494,29495,63948,29788,30001,63949,30290,63950,63951,32173,33278,33848,35029,35480,35547,35565,36400,36418,36938,36926,36986,37193,37321,37742,63952,63953,22537,63954,27603,32905,32946,63955,63956,20801,22891,23609,63957,63958,28516,29607,32996,36103,63959,37399,38287,63960,63961,63962,63963,32895,25102,28700,32104,34701,63964,22432,24681,24903,27575,35518,37504,38577,20057,21535,28139,34093,38512,38899,39150,25558,27875,37009,20957,25033,33210,40441,20381,20506,20736,23452,24847,25087,25836,26885,27589,30097,30691,32681,33380,34191,34811,34915,35516,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,35696,37291,20108,20197,20234,63965,63966,22839,23016,63967,24050,24347,24411,24609,63968,63969,63970,63971,29246,29669,63972,30064,30157,63973,31227,63974,32780,32819,32900,33505,33617,63975,63976,36029,36019,36999,63977,63978,39156,39180,63979,63980,28727,30410,32714,32716,32764,35610,20154,20161,20995,21360,63981,21693,22240,23035,23493,24341,24525,28270,63982,63983,32106,33589,63984,34451,35469,63985,38765,38775,63986,63987,19968,20314,20350,22777,26085,28322,36920,37808,39353,20219,22764,22922,23001,24641,63988,63989,31252,63990,33615,36035,20837,21316,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63991,63992,63993,20173,21097,23381,33471,20180,21050,21672,22985,23039,23376,23383,23388,24675,24904,28363,28825,29038,29574,29943,30133,30913,32043,32773,33258,33576,34071,34249,35566,36039,38604,20316,21242,22204,26027,26152,28796,28856,29237,32189,33421,37196,38592,40306,23409,26855,27544,28538,30430,23697,26283,28507,31668,31786,34870,38620,19976,20183,21280,22580,22715,22767,22892,23559,24115,24196,24373,25484,26290,26454,27167,27299,27404,28479,29254,63994,29520,29835,31456,31911,33144,33247,33255,33674,33900,34083,34196,34255,35037,36115,37292,38263,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38556,20877,21705,22312,23472,25165,26448,26685,26771,28221,28371,28797,32289,35009,36001,36617,40779,40782,29229,31631,35533,37658,20295,20302,20786,21632,22992,24213,25269,26485,26990,27159,27822,28186,29401,29482,30141,31672,32053,33511,33785,33879,34295,35419,36015,36487,36889,37048,38606,40799,21219,21514,23265,23490,25688,25973,28404,29380,63995,30340,31309,31515,31821,32318,32735,33659,35627,36042,36196,36321,36447,36842,36857,36969,37841,20291,20346,20659,20840,20856,21069,21098,22625,22652,22880,23560,23637,24283,24731,25136,26643,27583,27656,28593,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29006,29728,3e4,30008,30033,30322,31564,31627,31661,31686,32399,35438,36670,36681,37439,37523,37666,37931,38651,39002,39019,39198,20999,25130,25240,27993,30308,31434,31680,32118,21344,23742,24215,28472,28857,31896,38673,39822,40670,25509,25722,34678,19969,20117,20141,20572,20597,21576,22979,23450,24128,24237,24311,24449,24773,25402,25919,25972,26060,26230,26232,26622,26984,27273,27491,27712,28096,28136,28191,28254,28702,28833,29582,29693,30010,30555,30855,31118,31243,31357,31934,32142,33351,35330,35562,35998,37165,37194,37336,37478,37580,37664,38662,38742,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38748,38914,40718,21046,21137,21884,22564,24093,24351,24716,25552,26799,28639,31085,31532,33229,34234,35069,35576,36420,37261,38500,38555,38717,38988,40778,20430,20806,20939,21161,22066,24340,24427,25514,25805,26089,26177,26362,26361,26397,26781,26839,27133,28437,28526,29031,29157,29226,29866,30522,31062,31066,31199,31264,31381,31895,31967,32068,32368,32903,34299,34468,35412,35519,36249,36481,36896,36973,37347,38459,38613,40165,26063,31751,36275,37827,23384,23562,21330,25305,29469,20519,23447,24478,24752,24939,26837,28121,29742,31278,32066,32156,32305,33131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36394,36405,37758,37912,20304,22352,24038,24231,25387,32618,20027,20303,20367,20570,23005,32964,21610,21608,22014,22863,23449,24030,24282,26205,26417,26609,26666,27880,27954,28234,28557,28855,29664,30087,31820,32002,32044,32162,33311,34523,35387,35461,36208,36490,36659,36913,37198,37202,37956,39376,31481,31909,20426,20737,20934,22472,23535,23803,26201,27197,27994,28310,28652,28940,30063,31459,34850,36897,36981,38603,39423,33537,20013,20210,34886,37325,21373,27355,26987,27713,33914,22686,24974,26366,25327,28893,29969,30151,32338,33976,35657,36104,20043,21482,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21675,22320,22336,24535,25345,25351,25711,25903,26088,26234,26525,26547,27490,27744,27802,28460,30693,30757,31049,31063,32025,32930,33026,33267,33437,33463,34584,35468,63996,36100,36286,36978,30452,31257,31287,32340,32887,21767,21972,22645,25391,25634,26185,26187,26733,27035,27524,27941,28337,29645,29800,29857,30043,30137,30433,30494,30603,31206,32265,32285,33275,34095,34967,35386,36049,36587,36784,36914,37805,38499,38515,38663,20356,21489,23018,23241,24089,26702,29894,30142,31209,31378,33187,34541,36074,36300,36845,26015,26389,63997,22519,28503,32221,36655,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37878,38598,24501,25074,28548,19988,20376,20511,21449,21983,23919,24046,27425,27492,30923,31642,63998,36425,36554,36974,25417,25662,30528,31364,37679,38015,40810,25776,28591,29158,29864,29914,31428,31762,32386,31922,32408,35738,36106,38013,39184,39244,21049,23519,25830,26413,32046,20717,21443,22649,24920,24921,25082,26028,31449,35730,35734,20489,20513,21109,21809,23100,24288,24432,24884,25950,26124,26166,26274,27085,28356,28466,29462,30241,31379,33081,33369,33750,33980,20661,22512,23488,23528,24425,25505,30758,32181,33756,34081,37319,37365,20874,26613,31574,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36012,20932,22971,24765,34389,20508,63999,21076,23610,24957,25114,25299,25842,26021,28364,30240,33034,36448,38495,38587,20191,21315,21912,22825,24029,25797,27849,28154,29588,31359,33307,34214,36068,36368,36983,37351,38369,38433,38854,20984,21746,21894,24505,25764,28552,32180,36639,36685,37941,20681,23574,27838,28155,29979,30651,31805,31844,35449,35522,22558,22974,24086,25463,29266,30090,30571,35548,36028,36626,24307,26228,28152,32893,33729,35531,38737,39894,64e3,21059,26367,28053,28399,32224,35558,36910,36958,39636,21021,21119,21736,24980,25220,25307,26786,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26898,26970,27189,28818,28966,30813,30977,30990,31186,31245,32918,33400,33493,33609,34121,35970,36229,37218,37259,37294,20419,22225,29165,30679,34560,35320,23544,24534,26449,37032,21474,22618,23541,24740,24961,25696,32317,32880,34085,37507,25774,20652,23828,26368,22684,25277,25512,26894,27e3,27166,28267,30394,31179,33467,33833,35535,36264,36861,37138,37195,37276,37648,37656,37786,38619,39478,39949,19985,30044,31069,31482,31569,31689,32302,33988,36441,36468,36600,36880,26149,26943,29763,20986,26414,40668,20805,24544,27798,34802,34909,34935,24756,33205,33795,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36101,21462,21561,22068,23094,23601,28810,32736,32858,33030,33261,36259,37257,39519,40434,20596,20164,21408,24827,28204,23652,20360,20516,21988,23769,24159,24677,26772,27835,28100,29118,30164,30196,30305,31258,31305,32199,32251,32622,33268,34473,36636,38601,39347,40786,21063,21189,39149,35242,19971,26578,28422,20405,23522,26517,27784,28024,29723,30759,37341,37756,34756,31204,31281,24555,20182,21668,21822,22702,22949,24816,25171,25302,26422,26965,33333,38464,39345,39389,20524,21331,21828,22396,64001,25176,64002,25826,26219,26589,28609,28655,29730,29752,35351,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37944,21585,22022,22374,24392,24986,27470,28760,28845,32187,35477,22890,33067,25506,30472,32829,36010,22612,25645,27067,23445,24081,28271,64003,34153,20812,21488,22826,24608,24907,27526,27760,27888,31518,32974,33492,36294,37040,39089,64004,25799,28580,25745,25860,20814,21520,22303,35342,24927,26742,64005,30171,31570,32113,36890,22534,27084,33151,35114,36864,38969,20600,22871,22956,25237,36879,39722,24925,29305,38358,22369,23110,24052,25226,25773,25850,26487,27874,27966,29228,29750,30772,32631,33453,36315,38935,21028,22338,26495,29256,29923,36009,36774,37393,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38442,20843,21485,25420,20329,21764,24726,25943,27803,28031,29260,29437,31255,35207,35997,24429,28558,28921,33192,24846,20415,20559,25153,29255,31687,32232,32745,36941,38829,39449,36022,22378,24179,26544,33805,35413,21536,23318,24163,24290,24330,25987,32954,34109,38281,38491,20296,21253,21261,21263,21638,21754,22275,24067,24598,25243,25265,25429,64006,27873,28006,30129,30770,32990,33071,33502,33889,33970,34957,35090,36875,37610,39165,39825,24133,26292,26333,28689,29190,64007,20469,21117,24426,24915,26451,27161,28418,29922,31080,34920,35961,39111,39108,39491,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21697,31263,26963,35575,35914,39080,39342,24444,25259,30130,30382,34987,36991,38466,21305,24380,24517,27852,29644,30050,30091,31558,33534,39325,20047,36924,19979,20309,21414,22799,24264,26160,27827,29781,33655,34662,36032,36944,38686,39957,22737,23416,34384,35604,40372,23506,24680,24717,26097,27735,28450,28579,28698,32597,32752,38289,38290,38480,38867,21106,36676,20989,21547,21688,21859,21898,27323,28085,32216,33382,37532,38519,40569,21512,21704,30418,34532,38308,38356,38492,20130,20233,23022,23270,24055,24658,25239,26477,26689,27782,28207,32568,32923,33322,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,64008,64009,38917,20133,20565,21683,22419,22874,23401,23475,25032,26999,28023,28707,34809,35299,35442,35559,36994,39405,39608,21182,26680,20502,24184,26447,33607,34892,20139,21521,22190,29670,37141,38911,39177,39255,39321,22099,22687,34395,35377,25010,27382,29563,36562,27463,38570,39511,22869,29184,36203,38761,20436,23796,24358,25080,26203,27883,28843,29572,29625,29694,30505,30541,32067,32098,32291,33335,34898,64010,36066,37449,39023,23377,31348,34880,38913,23244,20448,21332,22846,23805,25406,28025,29433,33029,33031,33698,37583,38960,20136,20804,21009,22411,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24418,27842,28366,28677,28752,28847,29074,29673,29801,33610,34722,34913,36872,37026,37795,39336,20846,24407,24800,24935,26291,34137,36426,37295,38795,20046,20114,21628,22741,22778,22909,23733,24359,25142,25160,26122,26215,27627,28009,28111,28246,28408,28564,28640,28649,28765,29392,29733,29786,29920,30355,31068,31946,32286,32993,33446,33899,33983,34382,34399,34676,35703,35946,37804,38912,39013,24785,25110,37239,23130,26127,28151,28222,29759,39746,24573,24794,31503,21700,24344,27742,27859,27946,28888,32005,34425,35340,40251,21270,21644,23301,27194,28779,30069,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31117,31166,33457,33775,35441,35649,36008,38772,64011,25844,25899,30906,30907,31339,20024,21914,22864,23462,24187,24739,25563,27489,26213,26707,28185,29029,29872,32008,36996,39529,39973,27963,28369,29502,35905,38346,20976,24140,24488,24653,24822,24880,24908,26179,26180,27045,27841,28255,28361,28514,29004,29852,30343,31681,31783,33618,34647,36945,38541,40643,21295,22238,24315,24458,24674,24724,25079,26214,26371,27292,28142,28590,28784,29546,32362,33214,33588,34516,35496,36036,21123,29554,23446,27243,37892,21742,22150,23389,25928,25989,26313,26783,28045,28102,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29243,32948,37237,39501,20399,20505,21402,21518,21564,21897,21957,24127,24460,26429,29030,29661,36869,21211,21235,22628,22734,28932,29071,29179,34224,35347,26248,34216,21927,26244,29002,33841,21321,21913,27585,24409,24509,25582,26249,28999,35569,36637,40638,20241,25658,28875,30054,34407,24676,35662,40440,20807,20982,21256,27958,33016,40657,26133,27427,28824,30165,21507,23673,32007,35350,27424,27453,27462,21560,24688,27965,32725,33288,20694,20958,21916,22123,22221,23020,23305,24076,24985,24984,25137,26206,26342,29081,29113,29114,29351,31143,31232,32690,35440,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],gb18030:[19970,19972,19973,19974,19983,19986,19991,19999,2e4,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,21403,21404,21406,21408,21409,21412,21415,21418,21419,21420,21421,21423,21424,21425,21426,21427,21428,21429,21431,21432,21433,21434,21436,21437,21438,21440,21443,21444,21445,21446,21447,21454,21455,21456,21458,21459,21461,21466,21468,21469,21470,21473,21474,21479,21492,21498,21502,21503,21504,21506,21509,21511,21515,21524,21528,21529,21530,21532,21538,21540,21541,21546,21552,21555,21558,21559,21562,21565,21567,21569,21570,21572,21573,21575,21577,21580,21581,21582,21583,21585,21594,21597,21598,21599,21600,21601,21603,21605,21607,21609,21610,21611,21612,21613,21614,21615,21616,21620,21625,21626,21630,21631,21633,21635,21637,21639,21640,21641,21642,21645,21649,21651,21655,21656,21660,21662,21663,21664,21665,21666,21669,21678,21680,21682,21685,21686,21687,21689,21690,21692,21694,21699,21701,21706,21707,21718,21720,21723,21728,21729,21730,21731,21732,21739,21740,21743,21744,21745,21748,21749,21750,21751,21752,21753,21755,21758,21760,21762,21763,21764,21765,21768,21770,21771,21772,21773,21774,21778,21779,21781,21782,21783,21784,21785,21786,21788,21789,21790,21791,21793,21797,21798,21800,21801,21803,21805,21810,21812,21813,21814,21816,21817,21818,21819,21821,21824,21826,21829,21831,21832,21835,21836,21837,21838,21839,21841,21842,21843,21844,21847,21848,21849,21850,21851,21853,21854,21855,21856,21858,21859,21864,21865,21867,21871,21872,21873,21874,21875,21876,21881,21882,21885,21887,21893,21894,21900,21901,21902,21904,21906,21907,21909,21910,21911,21914,21915,21918,21920,21921,21922,21923,21924,21925,21926,21928,21929,21930,21931,21932,21933,21934,21935,21936,21938,21940,21942,21944,21946,21948,21951,21952,21953,21954,21955,21958,21959,21960,21962,21963,21966,21967,21968,21973,21975,21976,21977,21978,21979,21982,21984,21986,21991,21993,21997,21998,22e3,22001,22004,22006,22008,22009,22010,22011,22012,22015,22018,22019,22020,22021,22022,22023,22026,22027,22029,22032,22033,22034,22035,22036,22037,22038,22039,22041,22042,22044,22045,22048,22049,22050,22053,22054,22056,22057,22058,22059,22062,22063,22064,22067,22069,22071,22072,22074,22076,22077,22078,22080,22081,22082,22083,22084,22085,22086,22087,22088,22089,22090,22091,22095,22096,22097,22098,22099,22101,22102,22106,22107,22109,22110,22111,22112,22113,22115,22117,22118,22119,22125,22126,22127,22128,22130,22131,22132,22133,22135,22136,22137,22138,22141,22142,22143,22144,22145,22146,22147,22148,22151,22152,22153,22154,22155,22156,22157,22160,22161,22162,22164,22165,22166,22167,22168,22169,22170,22171,22172,22173,22174,22175,22176,22177,22178,22180,22181,22182,22183,22184,22185,22186,22187,22188,22189,22190,22192,22193,22194,22195,22196,22197,22198,22200,22201,22202,22203,22205,22206,22207,22208,22209,22210,22211,22212,22213,22214,22215,22216,22217,22219,22220,22221,22222,22223,22224,22225,22226,22227,22229,22230,22232,22233,22236,22243,22245,22246,22247,22248,22249,22250,22252,22254,22255,22258,22259,22262,22263,22264,22267,22268,22272,22273,22274,22277,22279,22283,22284,22285,22286,22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22301,22302,22304,22305,22306,22308,22309,22310,22311,22315,22321,22322,22324,22325,22326,22327,22328,22332,22333,22335,22337,22339,22340,22341,22342,22344,22345,22347,22354,22355,22356,22357,22358,22360,22361,22370,22371,22373,22375,22380,22382,22384,22385,22386,22388,22389,22392,22393,22394,22397,22398,22399,22400,22401,22407,22408,22409,22410,22413,22414,22415,22416,22417,22420,22421,22422,22423,22424,22425,22426,22428,22429,22430,22431,22437,22440,22442,22444,22447,22448,22449,22451,22453,22454,22455,22457,22458,22459,22460,22461,22462,22463,22464,22465,22468,22469,22470,22471,22472,22473,22474,22476,22477,22480,22481,22483,22486,22487,22491,22492,22494,22497,22498,22499,22501,22502,22503,22504,22505,22506,22507,22508,22510,22512,22513,22514,22515,22517,22518,22519,22523,22524,22526,22527,22529,22531,22532,22533,22536,22537,22538,22540,22542,22543,22544,22546,22547,22548,22550,22551,22552,22554,22555,22556,22557,22559,22562,22563,22565,22566,22567,22568,22569,22571,22572,22573,22574,22575,22577,22578,22579,22580,22582,22583,22584,22585,22586,22587,22588,22589,22590,22591,22592,22593,22594,22595,22597,22598,22599,22600,22601,22602,22603,22606,22607,22608,22610,22611,22613,22614,22615,22617,22618,22619,22620,22621,22623,22624,22625,22626,22627,22628,22630,22631,22632,22633,22634,22637,22638,22639,22640,22641,22642,22643,22644,22645,22646,22647,22648,22649,22650,22651,22652,22653,22655,22658,22660,22662,22663,22664,22666,22667,22668,22669,22670,22671,22672,22673,22676,22677,22678,22679,22680,22683,22684,22685,22688,22689,22690,22691,22692,22693,22694,22695,22698,22699,22700,22701,22702,22703,22704,22705,22706,22707,22708,22709,22710,22711,22712,22713,22714,22715,22717,22718,22719,22720,22722,22723,22724,22726,22727,22728,22729,22730,22731,22732,22733,22734,22735,22736,22738,22739,22740,22742,22743,22744,22745,22746,22747,22748,22749,22750,22751,22752,22753,22754,22755,22757,22758,22759,22760,22761,22762,22765,22767,22769,22770,22772,22773,22775,22776,22778,22779,22780,22781,22782,22783,22784,22785,22787,22789,22790,22792,22793,22794,22795,22796,22798,22800,22801,22802,22803,22807,22808,22811,22813,22814,22816,22817,22818,22819,22822,22824,22828,22832,22834,22835,22837,22838,22843,22845,22846,22847,22848,22851,22853,22854,22858,22860,22861,22864,22866,22867,22873,22875,22876,22877,22878,22879,22881,22883,22884,22886,22887,22888,22889,22890,22891,22892,22893,22894,22895,22896,22897,22898,22901,22903,22906,22907,22908,22910,22911,22912,22917,22921,22923,22924,22926,22927,22928,22929,22932,22933,22936,22938,22939,22940,22941,22943,22944,22945,22946,22950,22951,22956,22957,22960,22961,22963,22964,22965,22966,22967,22968,22970,22972,22973,22975,22976,22977,22978,22979,22980,22981,22983,22984,22985,22988,22989,22990,22991,22997,22998,23001,23003,23006,23007,23008,23009,23010,23012,23014,23015,23017,23018,23019,23021,23022,23023,23024,23025,23026,23027,23028,23029,23030,23031,23032,23034,23036,23037,23038,23040,23042,23050,23051,23053,23054,23055,23056,23058,23060,23061,23062,23063,23065,23066,23067,23069,23070,23073,23074,23076,23078,23079,23080,23082,23083,23084,23085,23086,23087,23088,23091,23093,23095,23096,23097,23098,23099,23101,23102,23103,23105,23106,23107,23108,23109,23111,23112,23115,23116,23117,23118,23119,23120,23121,23122,23123,23124,23126,23127,23128,23129,23131,23132,23133,23134,23135,23136,23137,23139,23140,23141,23142,23144,23145,23147,23148,23149,23150,23151,23152,23153,23154,23155,23160,23161,23163,23164,23165,23166,23168,23169,23170,23171,23172,23173,23174,23175,23176,23177,23178,23179,23180,23181,23182,23183,23184,23185,23187,23188,23189,23190,23191,23192,23193,23196,23197,23198,23199,23200,23201,23202,23203,23204,23205,23206,23207,23208,23209,23211,23212,23213,23214,23215,23216,23217,23220,23222,23223,23225,23226,23227,23228,23229,23231,23232,23235,23236,23237,23238,23239,23240,23242,23243,23245,23246,23247,23248,23249,23251,23253,23255,23257,23258,23259,23261,23262,23263,23266,23268,23269,23271,23272,23274,23276,23277,23278,23279,23280,23282,23283,23284,23285,23286,23287,23288,23289,23290,23291,23292,23293,23294,23295,23296,23297,23298,23299,23300,23301,23302,23303,23304,23306,23307,23308,23309,23310,23311,23312,23313,23314,23315,23316,23317,23320,23321,23322,23323,23324,23325,23326,23327,23328,23329,23330,23331,23332,23333,23334,23335,23336,23337,23338,23339,23340,23341,23342,23343,23344,23345,23347,23349,23350,23352,23353,23354,23355,23356,23357,23358,23359,23361,23362,23363,23364,23365,23366,23367,23368,23369,23370,23371,23372,23373,23374,23375,23378,23382,23390,23392,23393,23399,23400,23403,23405,23406,23407,23410,23412,23414,23415,23416,23417,23419,23420,23422,23423,23426,23430,23434,23437,23438,23440,23441,23442,23444,23446,23455,23463,23464,23465,23468,23469,23470,23471,23473,23474,23479,23482,23483,23484,23488,23489,23491,23496,23497,23498,23499,23501,23502,23503,23505,23508,23509,23510,23511,23512,23513,23514,23515,23516,23520,23522,23523,23526,23527,23529,23530,23531,23532,23533,23535,23537,23538,23539,23540,23541,23542,23543,23549,23550,23552,23554,23555,23557,23559,23560,23563,23564,23565,23566,23568,23570,23571,23575,23577,23579,23582,23583,23584,23585,23587,23590,23592,23593,23594,23595,23597,23598,23599,23600,23602,23603,23605,23606,23607,23619,23620,23622,23623,23628,23629,23634,23635,23636,23638,23639,23640,23642,23643,23644,23645,23647,23650,23652,23655,23656,23657,23658,23659,23660,23661,23664,23666,23667,23668,23669,23670,23671,23672,23675,23676,23677,23678,23680,23683,23684,23685,23686,23687,23689,23690,23691,23694,23695,23698,23699,23701,23709,23710,23711,23712,23713,23716,23717,23718,23719,23720,23722,23726,23727,23728,23730,23732,23734,23737,23738,23739,23740,23742,23744,23746,23747,23749,23750,23751,23752,23753,23754,23756,23757,23758,23759,23760,23761,23763,23764,23765,23766,23767,23768,23770,23771,23772,23773,23774,23775,23776,23778,23779,23783,23785,23787,23788,23790,23791,23793,23794,23795,23796,23797,23798,23799,23800,23801,23802,23804,23805,23806,23807,23808,23809,23812,23813,23816,23817,23818,23819,23820,23821,23823,23824,23825,23826,23827,23829,23831,23832,23833,23834,23836,23837,23839,23840,23841,23842,23843,23845,23848,23850,23851,23852,23855,23856,23857,23858,23859,23861,23862,23863,23864,23865,23866,23867,23868,23871,23872,23873,23874,23875,23876,23877,23878,23880,23881,23885,23886,23887,23888,23889,23890,23891,23892,23893,23894,23895,23897,23898,23900,23902,23903,23904,23905,23906,23907,23908,23909,23910,23911,23912,23914,23917,23918,23920,23921,23922,23923,23925,23926,23927,23928,23929,23930,23931,23932,23933,23934,23935,23936,23937,23939,23940,23941,23942,23943,23944,23945,23946,23947,23948,23949,23950,23951,23952,23953,23954,23955,23956,23957,23958,23959,23960,23962,23963,23964,23966,23967,23968,23969,23970,23971,23972,23973,23974,23975,23976,23977,23978,23979,23980,23981,23982,23983,23984,23985,23986,23987,23988,23989,23990,23992,23993,23994,23995,23996,23997,23998,23999,24e3,24001,24002,24003,24004,24006,24007,24008,24009,24010,24011,24012,24014,24015,24016,24017,24018,24019,24020,24021,24022,24023,24024,24025,24026,24028,24031,24032,24035,24036,24042,24044,24045,24048,24053,24054,24056,24057,24058,24059,24060,24063,24064,24068,24071,24073,24074,24075,24077,24078,24082,24083,24087,24094,24095,24096,24097,24098,24099,24100,24101,24104,24105,24106,24107,24108,24111,24112,24114,24115,24116,24117,24118,24121,24122,24126,24127,24128,24129,24131,24134,24135,24136,24137,24138,24139,24141,24142,24143,24144,24145,24146,24147,24150,24151,24152,24153,24154,24156,24157,24159,24160,24163,24164,24165,24166,24167,24168,24169,24170,24171,24172,24173,24174,24175,24176,24177,24181,24183,24185,24190,24193,24194,24195,24197,24200,24201,24204,24205,24206,24210,24216,24219,24221,24225,24226,24227,24228,24232,24233,24234,24235,24236,24238,24239,24240,24241,24242,24244,24250,24251,24252,24253,24255,24256,24257,24258,24259,24260,24261,24262,24263,24264,24267,24268,24269,24270,24271,24272,24276,24277,24279,24280,24281,24282,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24297,24299,24300,24301,24302,24303,24304,24305,24306,24307,24309,24312,24313,24315,24316,24317,24325,24326,24327,24329,24332,24333,24334,24336,24338,24340,24342,24345,24346,24348,24349,24350,24353,24354,24355,24356,24360,24363,24364,24366,24368,24370,24371,24372,24373,24374,24375,24376,24379,24381,24382,24383,24385,24386,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24399,24401,24404,24409,24410,24411,24412,24414,24415,24416,24419,24421,24423,24424,24427,24430,24431,24434,24436,24437,24438,24440,24442,24445,24446,24447,24451,24454,24461,24462,24463,24465,24467,24468,24470,24474,24475,24477,24478,24479,24480,24482,24483,24484,24485,24486,24487,24489,24491,24492,24495,24496,24497,24498,24499,24500,24502,24504,24505,24506,24507,24510,24511,24512,24513,24514,24519,24520,24522,24523,24526,24531,24532,24533,24538,24539,24540,24542,24543,24546,24547,24549,24550,24552,24553,24556,24559,24560,24562,24563,24564,24566,24567,24569,24570,24572,24583,24584,24585,24587,24588,24592,24593,24595,24599,24600,24602,24606,24607,24610,24611,24612,24620,24621,24622,24624,24625,24626,24627,24628,24630,24631,24632,24633,24634,24637,24638,24640,24644,24645,24646,24647,24648,24649,24650,24652,24654,24655,24657,24659,24660,24662,24663,24664,24667,24668,24670,24671,24672,24673,24677,24678,24686,24689,24690,24692,24693,24695,24702,24704,24705,24706,24709,24710,24711,24712,24714,24715,24718,24719,24720,24721,24723,24725,24727,24728,24729,24732,24734,24737,24738,24740,24741,24743,24745,24746,24750,24752,24755,24757,24758,24759,24761,24762,24765,24766,24767,24768,24769,24770,24771,24772,24775,24776,24777,24780,24781,24782,24783,24784,24786,24787,24788,24790,24791,24793,24795,24798,24801,24802,24803,24804,24805,24810,24817,24818,24821,24823,24824,24827,24828,24829,24830,24831,24834,24835,24836,24837,24839,24842,24843,24844,24848,24849,24850,24851,24852,24854,24855,24856,24857,24859,24860,24861,24862,24865,24866,24869,24872,24873,24874,24876,24877,24878,24879,24880,24881,24882,24883,24884,24885,24886,24887,24888,24889,24890,24891,24892,24893,24894,24896,24897,24898,24899,24900,24901,24902,24903,24905,24907,24909,24911,24912,24914,24915,24916,24918,24919,24920,24921,24922,24923,24924,24926,24927,24928,24929,24931,24932,24933,24934,24937,24938,24939,24940,24941,24942,24943,24945,24946,24947,24948,24950,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24972,24973,24975,24976,24977,24978,24979,24981,24982,24983,24984,24985,24986,24987,24988,24990,24991,24992,24993,24994,24995,24996,24997,24998,25002,25003,25005,25006,25007,25008,25009,25010,25011,25012,25013,25014,25016,25017,25018,25019,25020,25021,25023,25024,25025,25027,25028,25029,25030,25031,25033,25036,25037,25038,25039,25040,25043,25045,25046,25047,25048,25049,25050,25051,25052,25053,25054,25055,25056,25057,25058,25059,25060,25061,25063,25064,25065,25066,25067,25068,25069,25070,25071,25072,25073,25074,25075,25076,25078,25079,25080,25081,25082,25083,25084,25085,25086,25088,25089,25090,25091,25092,25093,25095,25097,25107,25108,25113,25116,25117,25118,25120,25123,25126,25127,25128,25129,25131,25133,25135,25136,25137,25138,25141,25142,25144,25145,25146,25147,25148,25154,25156,25157,25158,25162,25167,25168,25173,25174,25175,25177,25178,25180,25181,25182,25183,25184,25185,25186,25188,25189,25192,25201,25202,25204,25205,25207,25208,25210,25211,25213,25217,25218,25219,25221,25222,25223,25224,25227,25228,25229,25230,25231,25232,25236,25241,25244,25245,25246,25251,25254,25255,25257,25258,25261,25262,25263,25264,25266,25267,25268,25270,25271,25272,25274,25278,25280,25281,25283,25291,25295,25297,25301,25309,25310,25312,25313,25316,25322,25323,25328,25330,25333,25336,25337,25338,25339,25344,25347,25348,25349,25350,25354,25355,25356,25357,25359,25360,25362,25363,25364,25365,25367,25368,25369,25372,25382,25383,25385,25388,25389,25390,25392,25393,25395,25396,25397,25398,25399,25400,25403,25404,25406,25407,25408,25409,25412,25415,25416,25418,25425,25426,25427,25428,25430,25431,25432,25433,25434,25435,25436,25437,25440,25444,25445,25446,25448,25450,25451,25452,25455,25456,25458,25459,25460,25461,25464,25465,25468,25469,25470,25471,25473,25475,25476,25477,25478,25483,25485,25489,25491,25492,25493,25495,25497,25498,25499,25500,25501,25502,25503,25505,25508,25510,25515,25519,25521,25522,25525,25526,25529,25531,25533,25535,25536,25537,25538,25539,25541,25543,25544,25546,25547,25548,25553,25555,25556,25557,25559,25560,25561,25562,25563,25564,25565,25567,25570,25572,25573,25574,25575,25576,25579,25580,25582,25583,25584,25585,25587,25589,25591,25593,25594,25595,25596,25598,25603,25604,25606,25607,25608,25609,25610,25613,25614,25617,25618,25621,25622,25623,25624,25625,25626,25629,25631,25634,25635,25636,25637,25639,25640,25641,25643,25646,25647,25648,25649,25650,25651,25653,25654,25655,25656,25657,25659,25660,25662,25664,25666,25667,25673,25675,25676,25677,25678,25679,25680,25681,25683,25685,25686,25687,25689,25690,25691,25692,25693,25695,25696,25697,25698,25699,25700,25701,25702,25704,25706,25707,25708,25710,25711,25712,25713,25714,25715,25716,25717,25718,25719,25723,25724,25725,25726,25727,25728,25729,25731,25734,25736,25737,25738,25739,25740,25741,25742,25743,25744,25747,25748,25751,25752,25754,25755,25756,25757,25759,25760,25761,25762,25763,25765,25766,25767,25768,25770,25771,25775,25777,25778,25779,25780,25782,25785,25787,25789,25790,25791,25793,25795,25796,25798,25799,25800,25801,25802,25803,25804,25807,25809,25811,25812,25813,25814,25817,25818,25819,25820,25821,25823,25824,25825,25827,25829,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25857,25858,25859,25860,25861,25862,25863,25864,25866,25867,25868,25869,25870,25871,25872,25873,25875,25876,25877,25878,25879,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25894,25895,25896,25897,25898,25900,25901,25904,25905,25906,25907,25911,25914,25916,25917,25920,25921,25922,25923,25924,25926,25927,25930,25931,25933,25934,25936,25938,25939,25940,25943,25944,25946,25948,25951,25952,25953,25956,25957,25959,25960,25961,25962,25965,25966,25967,25969,25971,25973,25974,25976,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25992,25993,25994,25997,25998,25999,26002,26004,26005,26006,26008,26010,26013,26014,26016,26018,26019,26022,26024,26026,26028,26030,26033,26034,26035,26036,26037,26038,26039,26040,26042,26043,26046,26047,26048,26050,26055,26056,26057,26058,26061,26064,26065,26067,26068,26069,26072,26073,26074,26075,26076,26077,26078,26079,26081,26083,26084,26090,26091,26098,26099,26100,26101,26104,26105,26107,26108,26109,26110,26111,26113,26116,26117,26119,26120,26121,26123,26125,26128,26129,26130,26134,26135,26136,26138,26139,26140,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26162,26163,26167,26168,26169,26170,26171,26173,26175,26176,26178,26180,26181,26182,26183,26184,26185,26186,26189,26190,26192,26193,26200,26201,26203,26204,26205,26206,26208,26210,26211,26213,26215,26217,26218,26219,26220,26221,26225,26226,26227,26229,26232,26233,26235,26236,26237,26239,26240,26241,26243,26245,26246,26248,26249,26250,26251,26253,26254,26255,26256,26258,26259,26260,26261,26264,26265,26266,26267,26268,26270,26271,26272,26273,26274,26275,26276,26277,26278,26281,26282,26283,26284,26285,26287,26288,26289,26290,26291,26293,26294,26295,26296,26298,26299,26300,26301,26303,26304,26305,26306,26307,26308,26309,26310,26311,26312,26313,26314,26315,26316,26317,26318,26319,26320,26321,26322,26323,26324,26325,26326,26327,26328,26330,26334,26335,26336,26337,26338,26339,26340,26341,26343,26344,26346,26347,26348,26349,26350,26351,26353,26357,26358,26360,26362,26363,26365,26369,26370,26371,26372,26373,26374,26375,26380,26382,26383,26385,26386,26387,26390,26392,26393,26394,26396,26398,26400,26401,26402,26403,26404,26405,26407,26409,26414,26416,26418,26419,26422,26423,26424,26425,26427,26428,26430,26431,26433,26436,26437,26439,26442,26443,26445,26450,26452,26453,26455,26456,26457,26458,26459,26461,26466,26467,26468,26470,26471,26475,26476,26478,26481,26484,26486,26488,26489,26490,26491,26493,26496,26498,26499,26501,26502,26504,26506,26508,26509,26510,26511,26513,26514,26515,26516,26518,26521,26523,26527,26528,26529,26532,26534,26537,26540,26542,26545,26546,26548,26553,26554,26555,26556,26557,26558,26559,26560,26562,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26581,26582,26583,26587,26591,26593,26595,26596,26598,26599,26600,26602,26603,26605,26606,26610,26613,26614,26615,26616,26617,26618,26619,26620,26622,26625,26626,26627,26628,26630,26637,26640,26642,26644,26645,26648,26649,26650,26651,26652,26654,26655,26656,26658,26659,26660,26661,26662,26663,26664,26667,26668,26669,26670,26671,26672,26673,26676,26677,26678,26682,26683,26687,26695,26699,26701,26703,26706,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26730,26732,26733,26734,26735,26736,26737,26738,26739,26741,26744,26745,26746,26747,26748,26749,26750,26751,26752,26754,26756,26759,26760,26761,26762,26763,26764,26765,26766,26768,26769,26770,26772,26773,26774,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26787,26788,26789,26793,26794,26795,26796,26798,26801,26802,26804,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26817,26819,26820,26821,26822,26823,26824,26826,26828,26830,26831,26832,26833,26835,26836,26838,26839,26841,26843,26844,26845,26846,26847,26849,26850,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26863,26866,26867,26868,26870,26871,26872,26875,26877,26878,26879,26880,26882,26883,26884,26886,26887,26888,26889,26890,26892,26895,26897,26899,26900,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26913,26914,26915,26917,26918,26919,26920,26921,26922,26923,26924,26926,26927,26929,26930,26931,26933,26934,26935,26936,26938,26939,26940,26942,26944,26945,26947,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26968,26969,26971,26972,26975,26977,26978,26980,26981,26983,26984,26985,26986,26988,26989,26991,26992,26994,26995,26996,26997,26998,27002,27003,27005,27006,27007,27009,27011,27013,27018,27019,27020,27022,27023,27024,27025,27026,27027,27030,27031,27033,27034,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27049,27050,27052,27054,27055,27056,27058,27059,27061,27062,27064,27065,27066,27068,27069,27070,27071,27072,27074,27075,27076,27077,27078,27079,27080,27081,27083,27085,27087,27089,27090,27091,27093,27094,27095,27096,27097,27098,27100,27101,27102,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27118,27119,27120,27121,27123,27124,27125,27126,27127,27128,27129,27130,27131,27132,27134,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27161,27162,27163,27164,27165,27166,27168,27170,27171,27172,27173,27174,27175,27177,27179,27180,27181,27182,27184,27186,27187,27188,27190,27191,27192,27193,27194,27195,27196,27199,27200,27201,27202,27203,27205,27206,27208,27209,27210,27211,27212,27213,27214,27215,27217,27218,27219,27220,27221,27222,27223,27226,27228,27229,27230,27231,27232,27234,27235,27236,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27250,27251,27252,27253,27254,27255,27256,27258,27259,27261,27262,27263,27265,27266,27267,27269,27270,27271,27272,27273,27274,27275,27276,27277,27279,27282,27283,27284,27285,27286,27288,27289,27290,27291,27292,27293,27294,27295,27297,27298,27299,27300,27301,27302,27303,27304,27306,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27321,27322,27323,27324,27325,27326,27327,27328,27329,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27381,27382,27383,27384,27385,27386,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27423,27429,27430,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27443,27444,27445,27446,27448,27451,27452,27453,27455,27456,27457,27458,27460,27461,27464,27466,27467,27469,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27482,27483,27484,27485,27486,27487,27488,27489,27496,27497,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27514,27517,27518,27519,27520,27525,27528,27532,27534,27535,27536,27537,27540,27541,27543,27544,27545,27548,27549,27550,27551,27552,27554,27555,27556,27557,27558,27559,27560,27561,27563,27564,27565,27566,27567,27568,27569,27570,27574,27576,27577,27578,27579,27580,27581,27582,27584,27587,27588,27590,27591,27592,27593,27594,27596,27598,27600,27601,27608,27610,27612,27613,27614,27615,27616,27618,27619,27620,27621,27622,27623,27624,27625,27628,27629,27630,27632,27633,27634,27636,27638,27639,27640,27642,27643,27644,27646,27647,27648,27649,27650,27651,27652,27656,27657,27658,27659,27660,27662,27666,27671,27676,27677,27678,27680,27683,27685,27691,27692,27693,27697,27699,27702,27703,27705,27706,27707,27708,27710,27711,27715,27716,27717,27720,27723,27724,27725,27726,27727,27729,27730,27731,27734,27736,27737,27738,27746,27747,27749,27750,27751,27755,27756,27757,27758,27759,27761,27763,27765,27767,27768,27770,27771,27772,27775,27776,27780,27783,27786,27787,27789,27790,27793,27794,27797,27798,27799,27800,27802,27804,27805,27806,27808,27810,27816,27820,27823,27824,27828,27829,27830,27831,27834,27840,27841,27842,27843,27846,27847,27848,27851,27853,27854,27855,27857,27858,27864,27865,27866,27868,27869,27871,27876,27878,27879,27881,27884,27885,27890,27892,27897,27903,27904,27906,27907,27909,27910,27912,27913,27914,27917,27919,27920,27921,27923,27924,27925,27926,27928,27932,27933,27935,27936,27937,27938,27939,27940,27942,27944,27945,27948,27949,27951,27952,27956,27958,27959,27960,27962,27967,27968,27970,27972,27977,27980,27984,27989,27990,27991,27992,27995,27997,27999,28001,28002,28004,28005,28007,28008,28011,28012,28013,28016,28017,28018,28019,28021,28022,28025,28026,28027,28029,28030,28031,28032,28033,28035,28036,28038,28039,28042,28043,28045,28047,28048,28050,28054,28055,28056,28057,28058,28060,28066,28069,28076,28077,28080,28081,28083,28084,28086,28087,28089,28090,28091,28092,28093,28094,28097,28098,28099,28104,28105,28106,28109,28110,28111,28112,28114,28115,28116,28117,28119,28122,28123,28124,28127,28130,28131,28133,28135,28136,28137,28138,28141,28143,28144,28146,28148,28149,28150,28152,28154,28157,28158,28159,28160,28161,28162,28163,28164,28166,28167,28168,28169,28171,28175,28178,28179,28181,28184,28185,28187,28188,28190,28191,28194,28198,28199,28200,28202,28204,28206,28208,28209,28211,28213,28214,28215,28217,28219,28220,28221,28222,28223,28224,28225,28226,28229,28230,28231,28232,28233,28234,28235,28236,28239,28240,28241,28242,28245,28247,28249,28250,28252,28253,28254,28256,28257,28258,28259,28260,28261,28262,28263,28264,28265,28266,28268,28269,28271,28272,28273,28274,28275,28276,28277,28278,28279,28280,28281,28282,28283,28284,28285,28288,28289,28290,28292,28295,28296,28298,28299,28300,28301,28302,28305,28306,28307,28308,28309,28310,28311,28313,28314,28315,28317,28318,28320,28321,28323,28324,28326,28328,28329,28331,28332,28333,28334,28336,28339,28341,28344,28345,28348,28350,28351,28352,28355,28356,28357,28358,28360,28361,28362,28364,28365,28366,28368,28370,28374,28376,28377,28379,28380,28381,28387,28391,28394,28395,28396,28397,28398,28399,28400,28401,28402,28403,28405,28406,28407,28408,28410,28411,28412,28413,28414,28415,28416,28417,28419,28420,28421,28423,28424,28426,28427,28428,28429,28430,28432,28433,28434,28438,28439,28440,28441,28442,28443,28444,28445,28446,28447,28449,28450,28451,28453,28454,28455,28456,28460,28462,28464,28466,28468,28469,28471,28472,28473,28474,28475,28476,28477,28479,28480,28481,28482,28483,28484,28485,28488,28489,28490,28492,28494,28495,28496,28497,28498,28499,28500,28501,28502,28503,28505,28506,28507,28509,28511,28512,28513,28515,28516,28517,28519,28520,28521,28522,28523,28524,28527,28528,28529,28531,28533,28534,28535,28537,28539,28541,28542,28543,28544,28545,28546,28547,28549,28550,28551,28554,28555,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28573,28574,28575,28576,28578,28579,28580,28581,28582,28584,28585,28586,28587,28588,28589,28590,28591,28592,28593,28594,28596,28597,28599,28600,28602,28603,28604,28605,28606,28607,28609,28611,28612,28613,28614,28615,28616,28618,28619,28620,28621,28622,28623,28624,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28639,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28683,28684,28685,28686,28687,28688,28690,28691,28692,28693,28694,28695,28696,28697,28700,28701,28702,28703,28704,28705,28706,28708,28709,28710,28711,28712,28713,28714,28715,28716,28717,28718,28719,28720,28721,28722,28723,28724,28726,28727,28728,28730,28731,28732,28733,28734,28735,28736,28737,28738,28739,28740,28741,28742,28743,28744,28745,28746,28747,28749,28750,28752,28753,28754,28755,28756,28757,28758,28759,28760,28761,28762,28763,28764,28765,28767,28768,28769,28770,28771,28772,28773,28774,28775,28776,28777,28778,28782,28785,28786,28787,28788,28791,28793,28794,28795,28797,28801,28802,28803,28804,28806,28807,28808,28811,28812,28813,28815,28816,28817,28819,28823,28824,28826,28827,28830,28831,28832,28833,28834,28835,28836,28837,28838,28839,28840,28841,28842,28848,28850,28852,28853,28854,28858,28862,28863,28868,28869,28870,28871,28873,28875,28876,28877,28878,28879,28880,28881,28882,28883,28884,28885,28886,28887,28890,28892,28893,28894,28896,28897,28898,28899,28901,28906,28910,28912,28913,28914,28915,28916,28917,28918,28920,28922,28923,28924,28926,28927,28928,28929,28930,28931,28932,28933,28934,28935,28936,28939,28940,28941,28942,28943,28945,28946,28948,28951,28955,28956,28957,28958,28959,28960,28961,28962,28963,28964,28965,28967,28968,28969,28970,28971,28972,28973,28974,28978,28979,28980,28981,28983,28984,28985,28986,28987,28988,28989,28990,28991,28992,28993,28994,28995,28996,28998,28999,29e3,29001,29003,29005,29007,29008,29009,29010,29011,29012,29013,29014,29015,29016,29017,29018,29019,29021,29023,29024,29025,29026,29027,29029,29033,29034,29035,29036,29037,29039,29040,29041,29044,29045,29046,29047,29049,29051,29052,29054,29055,29056,29057,29058,29059,29061,29062,29063,29064,29065,29067,29068,29069,29070,29072,29073,29074,29075,29077,29078,29079,29082,29083,29084,29085,29086,29089,29090,29091,29092,29093,29094,29095,29097,29098,29099,29101,29102,29103,29104,29105,29106,29108,29110,29111,29112,29114,29115,29116,29117,29118,29119,29120,29121,29122,29124,29125,29126,29127,29128,29129,29130,29131,29132,29133,29135,29136,29137,29138,29139,29142,29143,29144,29145,29146,29147,29148,29149,29150,29151,29153,29154,29155,29156,29158,29160,29161,29162,29163,29164,29165,29167,29168,29169,29170,29171,29172,29173,29174,29175,29176,29178,29179,29180,29181,29182,29183,29184,29185,29186,29187,29188,29189,29191,29192,29193,29194,29195,29196,29197,29198,29199,29200,29201,29202,29203,29204,29205,29206,29207,29208,29209,29210,29211,29212,29214,29215,29216,29217,29218,29219,29220,29221,29222,29223,29225,29227,29229,29230,29231,29234,29235,29236,29242,29244,29246,29248,29249,29250,29251,29252,29253,29254,29257,29258,29259,29262,29263,29264,29265,29267,29268,29269,29271,29272,29274,29276,29278,29280,29283,29284,29285,29288,29290,29291,29292,29293,29296,29297,29299,29300,29302,29303,29304,29307,29308,29309,29314,29315,29317,29318,29319,29320,29321,29324,29326,29328,29329,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29358,29361,29362,29363,29365,29370,29371,29372,29373,29374,29375,29376,29381,29382,29383,29385,29386,29387,29388,29391,29393,29395,29396,29397,29398,29400,29402,29403,58566,58567,58568,58569,58570,58571,58572,58573,58574,58575,58576,58577,58578,58579,58580,58581,58582,58583,58584,58585,58586,58587,58588,58589,58590,58591,58592,58593,58594,58595,58596,58597,58598,58599,58600,58601,58602,58603,58604,58605,58606,58607,58608,58609,58610,58611,58612,58613,58614,58615,58616,58617,58618,58619,58620,58621,58622,58623,58624,58625,58626,58627,58628,58629,58630,58631,58632,58633,58634,58635,58636,58637,58638,58639,58640,58641,58642,58643,58644,58645,58646,58647,58648,58649,58650,58651,58652,58653,58654,58655,58656,58657,58658,58659,58660,58661,12288,12289,12290,183,713,711,168,12291,12293,8212,65374,8214,8230,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12310,12311,12304,12305,177,215,247,8758,8743,8744,8721,8719,8746,8745,8712,8759,8730,8869,8741,8736,8978,8857,8747,8750,8801,8780,8776,8765,8733,8800,8814,8815,8804,8805,8734,8757,8756,9794,9792,176,8242,8243,8451,65284,164,65504,65505,8240,167,8470,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,8251,8594,8592,8593,8595,12307,58662,58663,58664,58665,58666,58667,58668,58669,58670,58671,58672,58673,58674,58675,58676,58677,58678,58679,58680,58681,58682,58683,58684,58685,58686,58687,58688,58689,58690,58691,58692,58693,58694,58695,58696,58697,58698,58699,58700,58701,58702,58703,58704,58705,58706,58707,58708,58709,58710,58711,58712,58713,58714,58715,58716,58717,58718,58719,58720,58721,58722,58723,58724,58725,58726,58727,58728,58729,58730,58731,58732,58733,58734,58735,58736,58737,58738,58739,58740,58741,58742,58743,58744,58745,58746,58747,58748,58749,58750,58751,58752,58753,58754,58755,58756,58757,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,59238,59239,59240,59241,59242,59243,9352,9353,9354,9355,9356,9357,9358,9359,9360,9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,9347,9348,9349,9350,9351,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,8364,59245,12832,12833,12834,12835,12836,12837,12838,12839,12840,12841,59246,59247,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,59248,59249,58758,58759,58760,58761,58762,58763,58764,58765,58766,58767,58768,58769,58770,58771,58772,58773,58774,58775,58776,58777,58778,58779,58780,58781,58782,58783,58784,58785,58786,58787,58788,58789,58790,58791,58792,58793,58794,58795,58796,58797,58798,58799,58800,58801,58802,58803,58804,58805,58806,58807,58808,58809,58810,58811,58812,58813,58814,58815,58816,58817,58818,58819,58820,58821,58822,58823,58824,58825,58826,58827,58828,58829,58830,58831,58832,58833,58834,58835,58836,58837,58838,58839,58840,58841,58842,58843,58844,58845,58846,58847,58848,58849,58850,58851,58852,12288,65281,65282,65283,65509,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,58854,58855,58856,58857,58858,58859,58860,58861,58862,58863,58864,58865,58866,58867,58868,58869,58870,58871,58872,58873,58874,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58886,58887,58888,58889,58890,58891,58892,58893,58894,58895,58896,58897,58898,58899,58900,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920,58921,58922,58923,58924,58925,58926,58927,58928,58929,58930,58931,58932,58933,58934,58935,58936,58937,58938,58939,58940,58941,58942,58943,58944,58945,58946,58947,58948,58949,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,59250,59251,59252,59253,59254,59255,59256,59257,59258,59259,59260,58950,58951,58952,58953,58954,58955,58956,58957,58958,58959,58960,58961,58962,58963,58964,58965,58966,58967,58968,58969,58970,58971,58972,58973,58974,58975,58976,58977,58978,58979,58980,58981,58982,58983,58984,58985,58986,58987,58988,58989,58990,58991,58992,58993,58994,58995,58996,58997,58998,58999,59e3,59001,59002,59003,59004,59005,59006,59007,59008,59009,59010,59011,59012,59013,59014,59015,59016,59017,59018,59019,59020,59021,59022,59023,59024,59025,59026,59027,59028,59029,59030,59031,59032,59033,59034,59035,59036,59037,59038,59039,59040,59041,59042,59043,59044,59045,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,59261,59262,59263,59264,59265,59266,59267,59268,59046,59047,59048,59049,59050,59051,59052,59053,59054,59055,59056,59057,59058,59059,59060,59061,59062,59063,59064,59065,59066,59067,59068,59069,59070,59071,59072,59073,59074,59075,59076,59077,59078,59079,59080,59081,59082,59083,59084,59085,59086,59087,59088,59089,59090,59091,59092,59093,59094,59095,59096,59097,59098,59099,59100,59101,59102,59103,59104,59105,59106,59107,59108,59109,59110,59111,59112,59113,59114,59115,59116,59117,59118,59119,59120,59121,59122,59123,59124,59125,59126,59127,59128,59129,59130,59131,59132,59133,59134,59135,59136,59137,59138,59139,59140,59141,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,59269,59270,59271,59272,59273,59274,59275,59276,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,59277,59278,59279,59280,59281,59282,59283,65077,65078,65081,65082,65087,65088,65085,65086,65089,65090,65091,65092,59284,59285,65083,65084,65079,65080,65073,59286,65075,65076,59287,59288,59289,59290,59291,59292,59293,59294,59295,59142,59143,59144,59145,59146,59147,59148,59149,59150,59151,59152,59153,59154,59155,59156,59157,59158,59159,59160,59161,59162,59163,59164,59165,59166,59167,59168,59169,59170,59171,59172,59173,59174,59175,59176,59177,59178,59179,59180,59181,59182,59183,59184,59185,59186,59187,59188,59189,59190,59191,59192,59193,59194,59195,59196,59197,59198,59199,59200,59201,59202,59203,59204,59205,59206,59207,59208,59209,59210,59211,59212,59213,59214,59215,59216,59217,59218,59219,59220,59221,59222,59223,59224,59225,59226,59227,59228,59229,59230,59231,59232,59233,59234,59235,59236,59237,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,59296,59297,59298,59299,59300,59301,59302,59303,59304,59305,59306,59307,59308,59309,59310,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,59311,59312,59313,59314,59315,59316,59317,59318,59319,59320,59321,59322,59323,714,715,729,8211,8213,8229,8245,8453,8457,8598,8599,8600,8601,8725,8735,8739,8786,8806,8807,8895,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584,9585,9586,9587,9601,9602,9603,9604,9605,9606,9607,9608,9609,9610,9611,9612,9613,9614,9615,9619,9620,9621,9660,9661,9698,9699,9700,9701,9737,8853,12306,12317,12318,59324,59325,59326,59327,59328,59329,59330,59331,59332,59333,59334,257,225,462,224,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,234,593,7743,324,328,505,609,59337,59338,59339,59340,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,59341,59342,59343,59344,59345,59346,59347,59348,59349,59350,59351,59352,59353,59354,59355,59356,59357,59358,59359,59360,59361,12321,12322,12323,12324,12325,12326,12327,12328,12329,12963,13198,13199,13212,13213,13214,13217,13252,13262,13265,13266,13269,65072,65506,65508,59362,8481,12849,59363,8208,59364,59365,59366,12540,12443,12444,12541,12542,12294,12445,12446,65097,65098,65099,65100,65101,65102,65103,65104,65105,65106,65108,65109,65110,65111,65113,65114,65115,65116,65117,65118,65119,65120,65121,65122,65123,65124,65125,65126,65128,65129,65130,65131,12350,12272,12273,12274,12275,12276,12277,12278,12279,12280,12281,12282,12283,12295,59380,59381,59382,59383,59384,59385,59386,59387,59388,59389,59390,59391,59392,9472,9473,9474,9475,9476,9477,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,9489,9490,9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506,9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,9521,9522,9523,9524,9525,9526,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,59393,59394,59395,59396,59397,59398,59399,59400,59401,59402,59403,59404,59405,59406,59407,29404,29405,29407,29410,29411,29412,29413,29414,29415,29418,29419,29429,29430,29433,29437,29438,29439,29440,29442,29444,29445,29446,29447,29448,29449,29451,29452,29453,29455,29456,29457,29458,29460,29464,29465,29466,29471,29472,29475,29476,29478,29479,29480,29485,29487,29488,29490,29491,29493,29494,29498,29499,29500,29501,29504,29505,29506,29507,29508,29509,29510,29511,29512,29513,29514,29515,29516,29518,29519,29521,29523,29524,29525,29526,29528,29529,29530,29531,29532,29533,29534,29535,29537,29538,29539,29540,29541,29542,29543,29544,29545,29546,29547,29550,29552,29553,57344,57345,57346,57347,57348,57349,57350,57351,57352,57353,57354,57355,57356,57357,57358,57359,57360,57361,57362,57363,57364,57365,57366,57367,57368,57369,57370,57371,57372,57373,57374,57375,57376,57377,57378,57379,57380,57381,57382,57383,57384,57385,57386,57387,57388,57389,57390,57391,57392,57393,57394,57395,57396,57397,57398,57399,57400,57401,57402,57403,57404,57405,57406,57407,57408,57409,57410,57411,57412,57413,57414,57415,57416,57417,57418,57419,57420,57421,57422,57423,57424,57425,57426,57427,57428,57429,57430,57431,57432,57433,57434,57435,57436,57437,29554,29555,29556,29557,29558,29559,29560,29561,29562,29563,29564,29565,29567,29568,29569,29570,29571,29573,29574,29576,29578,29580,29581,29583,29584,29586,29587,29588,29589,29591,29592,29593,29594,29596,29597,29598,29600,29601,29603,29604,29605,29606,29607,29608,29610,29612,29613,29617,29620,29621,29622,29624,29625,29628,29629,29630,29631,29633,29635,29636,29637,29638,29639,29643,29644,29646,29650,29651,29652,29653,29654,29655,29656,29658,29659,29660,29661,29663,29665,29666,29667,29668,29670,29672,29674,29675,29676,29678,29679,29680,29681,29683,29684,29685,29686,29687,57438,57439,57440,57441,57442,57443,57444,57445,57446,57447,57448,57449,57450,57451,57452,57453,57454,57455,57456,57457,57458,57459,57460,57461,57462,57463,57464,57465,57466,57467,57468,57469,57470,57471,57472,57473,57474,57475,57476,57477,57478,57479,57480,57481,57482,57483,57484,57485,57486,57487,57488,57489,57490,57491,57492,57493,57494,57495,57496,57497,57498,57499,57500,57501,57502,57503,57504,57505,57506,57507,57508,57509,57510,57511,57512,57513,57514,57515,57516,57517,57518,57519,57520,57521,57522,57523,57524,57525,57526,57527,57528,57529,57530,57531,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29700,29703,29704,29707,29708,29709,29710,29713,29714,29715,29716,29717,29718,29719,29720,29721,29724,29725,29726,29727,29728,29729,29731,29732,29735,29737,29739,29741,29743,29745,29746,29751,29752,29753,29754,29755,29757,29758,29759,29760,29762,29763,29764,29765,29766,29767,29768,29769,29770,29771,29772,29773,29774,29775,29776,29777,29778,29779,29780,29782,29784,29789,29792,29793,29794,29795,29796,29797,29798,29799,29800,29801,29802,29803,29804,29806,29807,29809,29810,29811,29812,29813,29816,29817,29818,57532,57533,57534,57535,57536,57537,57538,57539,57540,57541,57542,57543,57544,57545,57546,57547,57548,57549,57550,57551,57552,57553,57554,57555,57556,57557,57558,57559,57560,57561,57562,57563,57564,57565,57566,57567,57568,57569,57570,57571,57572,57573,57574,57575,57576,57577,57578,57579,57580,57581,57582,57583,57584,57585,57586,57587,57588,57589,57590,57591,57592,57593,57594,57595,57596,57597,57598,57599,57600,57601,57602,57603,57604,57605,57606,57607,57608,57609,57610,57611,57612,57613,57614,57615,57616,57617,57618,57619,57620,57621,57622,57623,57624,57625,29819,29820,29821,29823,29826,29828,29829,29830,29832,29833,29834,29836,29837,29839,29841,29842,29843,29844,29845,29846,29847,29848,29849,29850,29851,29853,29855,29856,29857,29858,29859,29860,29861,29862,29866,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29883,29884,29885,29886,29887,29888,29889,29890,29891,29892,29893,29894,29895,29896,29897,29898,29899,29900,29901,29902,29903,29904,29905,29907,29908,29909,29910,29911,29912,29913,29914,29915,29917,29919,29921,29925,29927,29928,29929,29930,29931,29932,29933,29936,29937,29938,57626,57627,57628,57629,57630,57631,57632,57633,57634,57635,57636,57637,57638,57639,57640,57641,57642,57643,57644,57645,57646,57647,57648,57649,57650,57651,57652,57653,57654,57655,57656,57657,57658,57659,57660,57661,57662,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57677,57678,57679,57680,57681,57682,57683,57684,57685,57686,57687,57688,57689,57690,57691,57692,57693,57694,57695,57696,57697,57698,57699,57700,57701,57702,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57717,57718,57719,29939,29941,29944,29945,29946,29947,29948,29949,29950,29952,29953,29954,29955,29957,29958,29959,29960,29961,29962,29963,29964,29966,29968,29970,29972,29973,29974,29975,29979,29981,29982,29984,29985,29986,29987,29988,29990,29991,29994,29998,30004,30006,30009,30012,30013,30015,30017,30018,30019,30020,30022,30023,30025,30026,30029,30032,30033,30034,30035,30037,30038,30039,30040,30045,30046,30047,30048,30049,30050,30051,30052,30055,30056,30057,30059,30060,30061,30062,30063,30064,30065,30067,30069,30070,30071,30074,30075,30076,30077,30078,30080,30081,30082,30084,30085,30087,57720,57721,57722,57723,57724,57725,57726,57727,57728,57729,57730,57731,57732,57733,57734,57735,57736,57737,57738,57739,57740,57741,57742,57743,57744,57745,57746,57747,57748,57749,57750,57751,57752,57753,57754,57755,57756,57757,57758,57759,57760,57761,57762,57763,57764,57765,57766,57767,57768,57769,57770,57771,57772,57773,57774,57775,57776,57777,57778,57779,57780,57781,57782,57783,57784,57785,57786,57787,57788,57789,57790,57791,57792,57793,57794,57795,57796,57797,57798,57799,57800,57801,57802,57803,57804,57805,57806,57807,57808,57809,57810,57811,57812,57813,30088,30089,30090,30092,30093,30094,30096,30099,30101,30104,30107,30108,30110,30114,30118,30119,30120,30121,30122,30125,30134,30135,30138,30139,30143,30144,30145,30150,30155,30156,30158,30159,30160,30161,30163,30167,30169,30170,30172,30173,30175,30176,30177,30181,30185,30188,30189,30190,30191,30194,30195,30197,30198,30199,30200,30202,30203,30205,30206,30210,30212,30214,30215,30216,30217,30219,30221,30222,30223,30225,30226,30227,30228,30230,30234,30236,30237,30238,30241,30243,30247,30248,30252,30254,30255,30257,30258,30262,30263,30265,30266,30267,30269,30273,30274,30276,57814,57815,57816,57817,57818,57819,57820,57821,57822,57823,57824,57825,57826,57827,57828,57829,57830,57831,57832,57833,57834,57835,57836,57837,57838,57839,57840,57841,57842,57843,57844,57845,57846,57847,57848,57849,57850,57851,57852,57853,57854,57855,57856,57857,57858,57859,57860,57861,57862,57863,57864,57865,57866,57867,57868,57869,57870,57871,57872,57873,57874,57875,57876,57877,57878,57879,57880,57881,57882,57883,57884,57885,57886,57887,57888,57889,57890,57891,57892,57893,57894,57895,57896,57897,57898,57899,57900,57901,57902,57903,57904,57905,57906,57907,30277,30278,30279,30280,30281,30282,30283,30286,30287,30288,30289,30290,30291,30293,30295,30296,30297,30298,30299,30301,30303,30304,30305,30306,30308,30309,30310,30311,30312,30313,30314,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30329,30330,30332,30335,30336,30337,30339,30341,30345,30346,30348,30349,30351,30352,30354,30356,30357,30359,30360,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30373,30374,30375,30376,30377,30378,30379,30380,30381,30383,30384,30387,30389,30390,30391,30392,30393,30394,30395,30396,30397,30398,30400,30401,30403,21834,38463,22467,25384,21710,21769,21696,30353,30284,34108,30702,33406,30861,29233,38552,38797,27688,23433,20474,25353,26263,23736,33018,26696,32942,26114,30414,20985,25942,29100,32753,34948,20658,22885,25034,28595,33453,25420,25170,21485,21543,31494,20843,30116,24052,25300,36299,38774,25226,32793,22365,38712,32610,29240,30333,26575,30334,25670,20336,36133,25308,31255,26001,29677,25644,25203,33324,39041,26495,29256,25198,25292,20276,29923,21322,21150,32458,37030,24110,26758,27036,33152,32465,26834,30917,34444,38225,20621,35876,33502,32990,21253,35090,21093,30404,30407,30409,30411,30412,30419,30421,30425,30426,30428,30429,30430,30432,30433,30434,30435,30436,30438,30439,30440,30441,30442,30443,30444,30445,30448,30451,30453,30454,30455,30458,30459,30461,30463,30464,30466,30467,30469,30470,30474,30476,30478,30479,30480,30481,30482,30483,30484,30485,30486,30487,30488,30491,30492,30493,30494,30497,30499,30500,30501,30503,30506,30507,30508,30510,30512,30513,30514,30515,30516,30521,30523,30525,30526,30527,30530,30532,30533,30534,30536,30537,30538,30539,30540,30541,30542,30543,30546,30547,30548,30549,30550,30551,30552,30553,30556,34180,38649,20445,22561,39281,23453,25265,25253,26292,35961,40077,29190,26479,30865,24754,21329,21271,36744,32972,36125,38049,20493,29384,22791,24811,28953,34987,22868,33519,26412,31528,23849,32503,29997,27893,36454,36856,36924,40763,27604,37145,31508,24444,30887,34006,34109,27605,27609,27606,24065,24199,30201,38381,25949,24330,24517,36767,22721,33218,36991,38491,38829,36793,32534,36140,25153,20415,21464,21342,36776,36777,36779,36941,26631,24426,33176,34920,40150,24971,21035,30250,24428,25996,28626,28392,23486,25672,20853,20912,26564,19993,31177,39292,28851,30557,30558,30559,30560,30564,30567,30569,30570,30573,30574,30575,30576,30577,30578,30579,30580,30581,30582,30583,30584,30586,30587,30588,30593,30594,30595,30598,30599,30600,30601,30602,30603,30607,30608,30611,30612,30613,30614,30615,30616,30617,30618,30619,30620,30621,30622,30625,30627,30628,30630,30632,30635,30637,30638,30639,30641,30642,30644,30646,30647,30648,30649,30650,30652,30654,30656,30657,30658,30659,30660,30661,30662,30663,30664,30665,30666,30667,30668,30670,30671,30672,30673,30674,30675,30676,30677,30678,30680,30681,30682,30685,30686,30687,30688,30689,30692,30149,24182,29627,33760,25773,25320,38069,27874,21338,21187,25615,38082,31636,20271,24091,33334,33046,33162,28196,27850,39539,25429,21340,21754,34917,22496,19981,24067,27493,31807,37096,24598,25830,29468,35009,26448,25165,36130,30572,36393,37319,24425,33756,34081,39184,21442,34453,27531,24813,24808,28799,33485,33329,20179,27815,34255,25805,31961,27133,26361,33609,21397,31574,20391,20876,27979,23618,36461,25554,21449,33580,33590,26597,30900,25661,23519,23700,24046,35815,25286,26612,35962,25600,25530,34633,39307,35863,32544,38130,20135,38416,39076,26124,29462,30694,30696,30698,30703,30704,30705,30706,30708,30709,30711,30713,30714,30715,30716,30723,30724,30725,30726,30727,30728,30730,30731,30734,30735,30736,30739,30741,30745,30747,30750,30752,30753,30754,30756,30760,30762,30763,30766,30767,30769,30770,30771,30773,30774,30781,30783,30785,30786,30787,30788,30790,30792,30793,30794,30795,30797,30799,30801,30803,30804,30808,30809,30810,30811,30812,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30831,30832,30833,30834,30835,30836,30837,30838,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30851,22330,23581,24120,38271,20607,32928,21378,25950,30021,21809,20513,36229,25220,38046,26397,22066,28526,24034,21557,28818,36710,25199,25764,25507,24443,28552,37108,33251,36784,23576,26216,24561,27785,38472,36225,34924,25745,31216,22478,27225,25104,21576,20056,31243,24809,28548,35802,25215,36894,39563,31204,21507,30196,25345,21273,27744,36831,24347,39536,32827,40831,20360,23610,36196,32709,26021,28861,20805,20914,34411,23815,23456,25277,37228,30068,36364,31264,24833,31609,20167,32504,30597,19985,33261,21021,20986,27249,21416,36487,38148,38607,28353,38500,26970,30852,30853,30854,30856,30858,30859,30863,30864,30866,30868,30869,30870,30873,30877,30878,30880,30882,30884,30886,30888,30889,30890,30891,30892,30893,30894,30895,30901,30902,30903,30904,30906,30907,30908,30909,30911,30912,30914,30915,30916,30918,30919,30920,30924,30925,30926,30927,30929,30930,30931,30934,30935,30936,30938,30939,30940,30941,30942,30943,30944,30945,30946,30947,30948,30949,30950,30951,30953,30954,30955,30957,30958,30959,30960,30961,30963,30965,30966,30968,30969,30971,30972,30973,30974,30975,30976,30978,30979,30980,30982,30983,30984,30985,30986,30987,30988,30784,20648,30679,25616,35302,22788,25571,24029,31359,26941,20256,33337,21912,20018,30126,31383,24162,24202,38383,21019,21561,28810,25462,38180,22402,26149,26943,37255,21767,28147,32431,34850,25139,32496,30133,33576,30913,38604,36766,24904,29943,35789,27492,21050,36176,27425,32874,33905,22257,21254,20174,19995,20945,31895,37259,31751,20419,36479,31713,31388,25703,23828,20652,33030,30209,31929,28140,32736,26449,23384,23544,30923,25774,25619,25514,25387,38169,25645,36798,31572,30249,25171,22823,21574,27513,20643,25140,24102,27526,20195,36151,34955,24453,36910,30989,30990,30991,30992,30993,30994,30996,30997,30998,30999,31e3,31001,31002,31003,31004,31005,31007,31008,31009,31010,31011,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023,31024,31025,31026,31027,31029,31030,31031,31032,31033,31037,31039,31042,31043,31044,31045,31047,31050,31051,31052,31053,31054,31055,31056,31057,31058,31060,31061,31064,31065,31073,31075,31076,31078,31081,31082,31083,31084,31086,31088,31089,31090,31091,31092,31093,31094,31097,31099,31100,31101,31102,31103,31106,31107,31110,31111,31112,31113,31115,31116,31117,31118,31120,31121,31122,24608,32829,25285,20025,21333,37112,25528,32966,26086,27694,20294,24814,28129,35806,24377,34507,24403,25377,20826,33633,26723,20992,25443,36424,20498,23707,31095,23548,21040,31291,24764,36947,30423,24503,24471,30340,36460,28783,30331,31561,30634,20979,37011,22564,20302,28404,36842,25932,31515,29380,28068,32735,23265,25269,24213,22320,33922,31532,24093,24351,36882,32532,39072,25474,28359,30872,28857,20856,38747,22443,30005,20291,30008,24215,24806,22880,28096,27583,30857,21500,38613,20939,20993,25481,21514,38035,35843,36300,29241,30879,34678,36845,35853,21472,31123,31124,31125,31126,31127,31128,31129,31131,31132,31133,31134,31135,31136,31137,31138,31139,31140,31141,31142,31144,31145,31146,31147,31148,31149,31150,31151,31152,31153,31154,31156,31157,31158,31159,31160,31164,31167,31170,31172,31173,31175,31176,31178,31180,31182,31183,31184,31187,31188,31190,31191,31193,31194,31195,31196,31197,31198,31200,31201,31202,31205,31208,31210,31212,31214,31217,31218,31219,31220,31221,31222,31223,31225,31226,31228,31230,31231,31233,31236,31237,31239,31240,31241,31242,31244,31247,31248,31249,31250,31251,31253,31254,31256,31257,31259,31260,19969,30447,21486,38025,39030,40718,38189,23450,35746,20002,19996,20908,33891,25026,21160,26635,20375,24683,20923,27934,20828,25238,26007,38497,35910,36887,30168,37117,30563,27602,29322,29420,35835,22581,30585,36172,26460,38208,32922,24230,28193,22930,31471,30701,38203,27573,26029,32526,22534,20817,38431,23545,22697,21544,36466,25958,39039,22244,38045,30462,36929,25479,21702,22810,22842,22427,36530,26421,36346,33333,21057,24816,22549,34558,23784,40517,20420,39069,35769,23077,24694,21380,25212,36943,37122,39295,24681,32780,20799,32819,23572,39285,27953,20108,31261,31263,31265,31266,31268,31269,31270,31271,31272,31273,31274,31275,31276,31277,31278,31279,31280,31281,31282,31284,31285,31286,31288,31290,31294,31296,31297,31298,31299,31300,31301,31303,31304,31305,31306,31307,31308,31309,31310,31311,31312,31314,31315,31316,31317,31318,31320,31321,31322,31323,31324,31325,31326,31327,31328,31329,31330,31331,31332,31333,31334,31335,31336,31337,31338,31339,31340,31341,31342,31343,31345,31346,31347,31349,31355,31356,31357,31358,31362,31365,31367,31369,31370,31371,31372,31374,31375,31376,31379,31380,31385,31386,31387,31390,31393,31394,36144,21457,32602,31567,20240,20047,38400,27861,29648,34281,24070,30058,32763,27146,30718,38034,32321,20961,28902,21453,36820,33539,36137,29359,39277,27867,22346,33459,26041,32938,25151,38450,22952,20223,35775,32442,25918,33778,38750,21857,39134,32933,21290,35837,21536,32954,24223,27832,36153,33452,37210,21545,27675,20998,32439,22367,28954,27774,31881,22859,20221,24575,24868,31914,20016,23553,26539,34562,23792,38155,39118,30127,28925,36898,20911,32541,35773,22857,20964,20315,21542,22827,25975,32932,23413,25206,25282,36752,24133,27679,31526,20239,20440,26381,31395,31396,31399,31401,31402,31403,31406,31407,31408,31409,31410,31412,31413,31414,31415,31416,31417,31418,31419,31420,31421,31422,31424,31425,31426,31427,31428,31429,31430,31431,31432,31433,31434,31436,31437,31438,31439,31440,31441,31442,31443,31444,31445,31447,31448,31450,31451,31452,31453,31457,31458,31460,31463,31464,31465,31466,31467,31468,31470,31472,31473,31474,31475,31476,31477,31478,31479,31480,31483,31484,31486,31488,31489,31490,31493,31495,31497,31500,31501,31502,31504,31506,31507,31510,31511,31512,31514,31516,31517,31519,31521,31522,31523,31527,31529,31533,28014,28074,31119,34993,24343,29995,25242,36741,20463,37340,26023,33071,33105,24220,33104,36212,21103,35206,36171,22797,20613,20184,38428,29238,33145,36127,23500,35747,38468,22919,32538,21648,22134,22030,35813,25913,27010,38041,30422,28297,24178,29976,26438,26577,31487,32925,36214,24863,31174,25954,36195,20872,21018,38050,32568,32923,32434,23703,28207,26464,31705,30347,39640,33167,32660,31957,25630,38224,31295,21578,21733,27468,25601,25096,40509,33011,30105,21106,38761,33883,26684,34532,38401,38548,38124,20010,21508,32473,26681,36319,32789,26356,24218,32697,31535,31536,31538,31540,31541,31542,31543,31545,31547,31549,31551,31552,31553,31554,31555,31556,31558,31560,31562,31565,31566,31571,31573,31575,31577,31580,31582,31583,31585,31587,31588,31589,31590,31591,31592,31593,31594,31595,31596,31597,31599,31600,31603,31604,31606,31608,31610,31612,31613,31615,31617,31618,31619,31620,31622,31623,31624,31625,31626,31627,31628,31630,31631,31633,31634,31635,31638,31640,31641,31642,31643,31646,31647,31648,31651,31652,31653,31662,31663,31664,31666,31667,31669,31670,31671,31673,31674,31675,31676,31677,31678,31679,31680,31682,31683,31684,22466,32831,26775,24037,25915,21151,24685,40858,20379,36524,20844,23467,24339,24041,27742,25329,36129,20849,38057,21246,27807,33503,29399,22434,26500,36141,22815,36764,33735,21653,31629,20272,27837,23396,22993,40723,21476,34506,39592,35895,32929,25925,39038,22266,38599,21038,29916,21072,23521,25346,35074,20054,25296,24618,26874,20851,23448,20896,35266,31649,39302,32592,24815,28748,36143,20809,24191,36891,29808,35268,22317,30789,24402,40863,38394,36712,39740,35809,30328,26690,26588,36330,36149,21053,36746,28378,26829,38149,37101,22269,26524,35065,36807,21704,31685,31688,31689,31690,31691,31693,31694,31695,31696,31698,31700,31701,31702,31703,31704,31707,31708,31710,31711,31712,31714,31715,31716,31719,31720,31721,31723,31724,31725,31727,31728,31730,31731,31732,31733,31734,31736,31737,31738,31739,31741,31743,31744,31745,31746,31747,31748,31749,31750,31752,31753,31754,31757,31758,31760,31761,31762,31763,31764,31765,31767,31768,31769,31770,31771,31772,31773,31774,31776,31777,31778,31779,31780,31781,31784,31785,31787,31788,31789,31790,31791,31792,31793,31794,31795,31796,31797,31798,31799,31801,31802,31803,31804,31805,31806,31810,39608,23401,28023,27686,20133,23475,39559,37219,25e3,37039,38889,21547,28085,23506,20989,21898,32597,32752,25788,25421,26097,25022,24717,28938,27735,27721,22831,26477,33322,22741,22158,35946,27627,37085,22909,32791,21495,28009,21621,21917,33655,33743,26680,31166,21644,20309,21512,30418,35977,38402,27827,28088,36203,35088,40548,36154,22079,40657,30165,24456,29408,24680,21756,20136,27178,34913,24658,36720,21700,28888,34425,40511,27946,23439,24344,32418,21897,20399,29492,21564,21402,20505,21518,21628,20046,24573,29786,22774,33899,32993,34676,29392,31946,28246,31811,31812,31813,31814,31815,31816,31817,31818,31819,31820,31822,31823,31824,31825,31826,31827,31828,31829,31830,31831,31832,31833,31834,31835,31836,31837,31838,31839,31840,31841,31842,31843,31844,31845,31846,31847,31848,31849,31850,31851,31852,31853,31854,31855,31856,31857,31858,31861,31862,31863,31864,31865,31866,31870,31871,31872,31873,31874,31875,31876,31877,31878,31879,31880,31882,31883,31884,31885,31886,31887,31888,31891,31892,31894,31897,31898,31899,31904,31905,31907,31910,31911,31912,31913,31915,31916,31917,31919,31920,31924,31925,31926,31927,31928,31930,31931,24359,34382,21804,25252,20114,27818,25143,33457,21719,21326,29502,28369,30011,21010,21270,35805,27088,24458,24576,28142,22351,27426,29615,26707,36824,32531,25442,24739,21796,30186,35938,28949,28067,23462,24187,33618,24908,40644,30970,34647,31783,30343,20976,24822,29004,26179,24140,24653,35854,28784,25381,36745,24509,24674,34516,22238,27585,24724,24935,21321,24800,26214,36159,31229,20250,28905,27719,35763,35826,32472,33636,26127,23130,39746,27985,28151,35905,27963,20249,28779,33719,25110,24785,38669,36135,31096,20987,22334,22522,26426,30072,31293,31215,31637,31935,31936,31938,31939,31940,31942,31945,31947,31950,31951,31952,31953,31954,31955,31956,31960,31962,31963,31965,31966,31969,31970,31971,31972,31973,31974,31975,31977,31978,31979,31980,31981,31982,31984,31985,31986,31987,31988,31989,31990,31991,31993,31994,31996,31997,31998,31999,32e3,32001,32002,32003,32004,32005,32006,32007,32008,32009,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32035,32036,32037,32038,32040,32041,32042,32044,32045,32046,32048,32049,32050,32051,32052,32053,32054,32908,39269,36857,28608,35749,40481,23020,32489,32521,21513,26497,26840,36753,31821,38598,21450,24613,30142,27762,21363,23241,32423,25380,20960,33034,24049,34015,25216,20864,23395,20238,31085,21058,24760,27982,23492,23490,35745,35760,26082,24524,38469,22931,32487,32426,22025,26551,22841,20339,23478,21152,33626,39050,36158,30002,38078,20551,31292,20215,26550,39550,23233,27516,30417,22362,23574,31546,38388,29006,20860,32937,33392,22904,32516,33575,26816,26604,30897,30839,25315,25441,31616,20461,21098,20943,33616,27099,37492,36341,36145,35265,38190,31661,20214,32055,32056,32057,32058,32059,32060,32061,32062,32063,32064,32065,32066,32067,32068,32069,32070,32071,32072,32073,32074,32075,32076,32077,32078,32079,32080,32081,32082,32083,32084,32085,32086,32087,32088,32089,32090,32091,32092,32093,32094,32095,32096,32097,32098,32099,32100,32101,32102,32103,32104,32105,32106,32107,32108,32109,32111,32112,32113,32114,32115,32116,32117,32118,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32131,32132,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,20581,33328,21073,39279,28176,28293,28071,24314,20725,23004,23558,27974,27743,30086,33931,26728,22870,35762,21280,37233,38477,34121,26898,30977,28966,33014,20132,37066,27975,39556,23047,22204,25605,38128,30699,20389,33050,29409,35282,39290,32564,32478,21119,25945,37237,36735,36739,21483,31382,25581,25509,30342,31224,34903,38454,25130,21163,33410,26708,26480,25463,30571,31469,27905,32467,35299,22992,25106,34249,33445,30028,20511,20171,30117,35819,23626,24062,31563,26020,37329,20170,27941,35167,32039,38182,20165,35880,36827,38771,26187,31105,36817,28908,28024,32153,32154,32155,32156,32157,32158,32159,32160,32161,32162,32163,32164,32165,32167,32168,32169,32170,32171,32172,32173,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,23613,21170,33606,20834,33550,30555,26230,40120,20140,24778,31934,31923,32463,20117,35686,26223,39048,38745,22659,25964,38236,24452,30153,38742,31455,31454,20928,28847,31384,25578,31350,32416,29590,38893,20037,28792,20061,37202,21417,25937,26087,33276,33285,21646,23601,30106,38816,25304,29401,30141,23621,39545,33738,23616,21632,30697,20030,27822,32858,25298,25454,24040,20855,36317,36382,38191,20465,21477,24807,28844,21095,25424,40515,23071,20518,30519,21367,32482,25733,25899,25225,25496,20500,29237,35273,20915,35776,32477,22343,33740,38055,20891,21531,23803,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32261,32262,32263,32264,32265,32266,32267,32268,32269,32270,32271,32272,32273,32274,32275,32276,32277,32278,32279,32280,32281,32282,32283,32284,32285,32286,32287,32288,32289,32290,32291,32292,32293,32294,32295,32296,32297,32298,32299,32300,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32316,32317,32318,32319,32320,32322,32323,32324,32325,32326,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,20426,31459,27994,37089,39567,21888,21654,21345,21679,24320,25577,26999,20975,24936,21002,22570,21208,22350,30733,30475,24247,24951,31968,25179,25239,20130,28821,32771,25335,28900,38752,22391,33499,26607,26869,30933,39063,31185,22771,21683,21487,28212,20811,21051,23458,35838,32943,21827,22438,24691,22353,21549,31354,24656,23380,25511,25248,21475,25187,23495,26543,21741,31391,33510,37239,24211,35044,22840,22446,25358,36328,33007,22359,31607,20393,24555,23485,27454,21281,31568,29378,26694,30719,30518,26103,20917,20111,30420,23743,31397,33909,22862,39745,20608,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32361,32362,32363,32364,32365,32366,32367,32368,32369,32370,32371,32372,32373,32374,32375,32376,32377,32378,32379,32380,32381,32382,32383,32384,32385,32387,32388,32389,32390,32391,32392,32393,32394,32395,32396,32397,32398,32399,32400,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32412,32413,32414,32430,32436,32443,32444,32470,32484,32492,32505,32522,32528,32542,32567,32569,32571,32572,32573,32574,32575,32576,32577,32579,32582,32583,32584,32585,32586,32587,32588,32589,32590,32591,32594,32595,39304,24871,28291,22372,26118,25414,22256,25324,25193,24275,38420,22403,25289,21895,34593,33098,36771,21862,33713,26469,36182,34013,23146,26639,25318,31726,38417,20848,28572,35888,25597,35272,25042,32518,28866,28389,29701,27028,29436,24266,37070,26391,28010,25438,21171,29282,32769,20332,23013,37226,28889,28061,21202,20048,38647,38253,34174,30922,32047,20769,22418,25794,32907,31867,27882,26865,26974,20919,21400,26792,29313,40654,31729,29432,31163,28435,29702,26446,37324,40100,31036,33673,33620,21519,26647,20029,21385,21169,30782,21382,21033,20616,20363,20432,32598,32601,32603,32604,32605,32606,32608,32611,32612,32613,32614,32615,32619,32620,32621,32623,32624,32627,32629,32630,32631,32632,32634,32635,32636,32637,32639,32640,32642,32643,32644,32645,32646,32647,32648,32649,32651,32653,32655,32656,32657,32658,32659,32661,32662,32663,32664,32665,32667,32668,32672,32674,32675,32677,32678,32680,32681,32682,32683,32684,32685,32686,32689,32691,32692,32693,32694,32695,32698,32699,32702,32704,32706,32707,32708,32710,32711,32712,32713,32715,32717,32719,32720,32721,32722,32723,32726,32727,32729,32730,32731,32732,32733,32734,32738,32739,30178,31435,31890,27813,38582,21147,29827,21737,20457,32852,33714,36830,38256,24265,24604,28063,24088,25947,33080,38142,24651,28860,32451,31918,20937,26753,31921,33391,20004,36742,37327,26238,20142,35845,25769,32842,20698,30103,29134,23525,36797,28518,20102,25730,38243,24278,26009,21015,35010,28872,21155,29454,29747,26519,30967,38678,20020,37051,40158,28107,20955,36161,21533,25294,29618,33777,38646,40836,38083,20278,32666,20940,28789,38517,23725,39046,21478,20196,28316,29705,27060,30827,39311,30041,21016,30244,27969,26611,20845,40857,32843,21657,31548,31423,32740,32743,32744,32746,32747,32748,32749,32751,32754,32756,32757,32758,32759,32760,32761,32762,32765,32766,32767,32770,32775,32776,32777,32778,32782,32783,32785,32787,32794,32795,32797,32798,32799,32801,32803,32804,32811,32812,32813,32814,32815,32816,32818,32820,32825,32826,32828,32830,32832,32833,32836,32837,32839,32840,32841,32846,32847,32848,32849,32851,32853,32854,32855,32857,32859,32860,32861,32862,32863,32864,32865,32866,32867,32868,32869,32870,32871,32872,32875,32876,32877,32878,32879,32880,32882,32883,32884,32885,32886,32887,32888,32889,32890,32891,32892,32893,38534,22404,25314,38471,27004,23044,25602,31699,28431,38475,33446,21346,39045,24208,28809,25523,21348,34383,40065,40595,30860,38706,36335,36162,40575,28510,31108,24405,38470,25134,39540,21525,38109,20387,26053,23653,23649,32533,34385,27695,24459,29575,28388,32511,23782,25371,23402,28390,21365,20081,25504,30053,25249,36718,20262,20177,27814,32438,35770,33821,34746,32599,36923,38179,31657,39585,35064,33853,27931,39558,32476,22920,40635,29595,30721,34434,39532,39554,22043,21527,22475,20080,40614,21334,36808,33033,30610,39314,34542,28385,34067,26364,24930,28459,32894,32897,32898,32901,32904,32906,32909,32910,32911,32912,32913,32914,32916,32917,32919,32921,32926,32931,32934,32935,32936,32940,32944,32947,32949,32950,32952,32953,32955,32965,32967,32968,32969,32970,32971,32975,32976,32977,32978,32979,32980,32981,32984,32991,32992,32994,32995,32998,33006,33013,33015,33017,33019,33022,33023,33024,33025,33027,33028,33029,33031,33032,33035,33036,33045,33047,33049,33051,33052,33053,33055,33056,33057,33058,33059,33060,33061,33062,33063,33064,33065,33066,33067,33069,33070,33072,33075,33076,33077,33079,33081,33082,33083,33084,33085,33087,35881,33426,33579,30450,27667,24537,33725,29483,33541,38170,27611,30683,38086,21359,33538,20882,24125,35980,36152,20040,29611,26522,26757,37238,38665,29028,27809,30473,23186,38209,27599,32654,26151,23504,22969,23194,38376,38391,20204,33804,33945,27308,30431,38192,29467,26790,23391,30511,37274,38753,31964,36855,35868,24357,31859,31192,35269,27852,34588,23494,24130,26825,30496,32501,20885,20813,21193,23081,32517,38754,33495,25551,30596,34256,31186,28218,24217,22937,34065,28781,27665,25279,30399,25935,24751,38397,26126,34719,40483,38125,21517,21629,35884,25720,33088,33089,33090,33091,33092,33093,33095,33097,33101,33102,33103,33106,33110,33111,33112,33115,33116,33117,33118,33119,33121,33122,33123,33124,33126,33128,33130,33131,33132,33135,33138,33139,33141,33142,33143,33144,33153,33155,33156,33157,33158,33159,33161,33163,33164,33165,33166,33168,33170,33171,33172,33173,33174,33175,33177,33178,33182,33183,33184,33185,33186,33188,33189,33191,33193,33195,33196,33197,33198,33199,33200,33201,33202,33204,33205,33206,33207,33208,33209,33212,33213,33214,33215,33220,33221,33223,33224,33225,33227,33229,33230,33231,33232,33233,33234,33235,25721,34321,27169,33180,30952,25705,39764,25273,26411,33707,22696,40664,27819,28448,23518,38476,35851,29279,26576,25287,29281,20137,22982,27597,22675,26286,24149,21215,24917,26408,30446,30566,29287,31302,25343,21738,21584,38048,37027,23068,32435,27670,20035,22902,32784,22856,21335,30007,38590,22218,25376,33041,24700,38393,28118,21602,39297,20869,23273,33021,22958,38675,20522,27877,23612,25311,20320,21311,33147,36870,28346,34091,25288,24180,30910,25781,25467,24565,23064,37247,40479,23615,25423,32834,23421,21870,38218,38221,28037,24744,26592,29406,20957,23425,33236,33237,33238,33239,33240,33241,33242,33243,33244,33245,33246,33247,33248,33249,33250,33252,33253,33254,33256,33257,33259,33262,33263,33264,33265,33266,33269,33270,33271,33272,33273,33274,33277,33279,33283,33287,33288,33289,33290,33291,33294,33295,33297,33299,33301,33302,33303,33304,33305,33306,33309,33312,33316,33317,33318,33319,33321,33326,33330,33338,33340,33341,33343,33344,33345,33346,33347,33349,33350,33352,33354,33356,33357,33358,33360,33361,33362,33363,33364,33365,33366,33367,33369,33371,33372,33373,33374,33376,33377,33378,33379,33380,33381,33382,33383,33385,25319,27870,29275,25197,38062,32445,33043,27987,20892,24324,22900,21162,24594,22899,26262,34384,30111,25386,25062,31983,35834,21734,27431,40485,27572,34261,21589,20598,27812,21866,36276,29228,24085,24597,29750,25293,25490,29260,24472,28227,27966,25856,28504,30424,30928,30460,30036,21028,21467,20051,24222,26049,32810,32982,25243,21638,21032,28846,34957,36305,27873,21624,32986,22521,35060,36180,38506,37197,20329,27803,21943,30406,30768,25256,28921,28558,24429,34028,26842,30844,31735,33192,26379,40527,25447,30896,22383,30738,38713,25209,25259,21128,29749,27607,33386,33387,33388,33389,33393,33397,33398,33399,33400,33403,33404,33408,33409,33411,33413,33414,33415,33417,33420,33424,33427,33428,33429,33430,33434,33435,33438,33440,33442,33443,33447,33458,33461,33462,33466,33467,33468,33471,33472,33474,33475,33477,33478,33481,33488,33494,33497,33498,33501,33506,33511,33512,33513,33514,33516,33517,33518,33520,33522,33523,33525,33526,33528,33530,33532,33533,33534,33535,33536,33546,33547,33549,33552,33554,33555,33558,33560,33561,33565,33566,33567,33568,33569,33570,33571,33572,33573,33574,33577,33578,33582,33584,33586,33591,33595,33597,21860,33086,30130,30382,21305,30174,20731,23617,35692,31687,20559,29255,39575,39128,28418,29922,31080,25735,30629,25340,39057,36139,21697,32856,20050,22378,33529,33805,24179,20973,29942,35780,23631,22369,27900,39047,23110,30772,39748,36843,31893,21078,25169,38138,20166,33670,33889,33769,33970,22484,26420,22275,26222,28006,35889,26333,28689,26399,27450,26646,25114,22971,19971,20932,28422,26578,27791,20854,26827,22855,27495,30054,23822,33040,40784,26071,31048,31041,39569,36215,23682,20062,20225,21551,22865,30732,22120,27668,36804,24323,27773,27875,35755,25488,33598,33599,33601,33602,33604,33605,33608,33610,33611,33612,33613,33614,33619,33621,33622,33623,33624,33625,33629,33634,33648,33649,33650,33651,33652,33653,33654,33657,33658,33662,33663,33664,33665,33666,33667,33668,33671,33672,33674,33675,33676,33677,33679,33680,33681,33684,33685,33686,33687,33689,33690,33693,33695,33697,33698,33699,33700,33701,33702,33703,33708,33709,33710,33711,33717,33723,33726,33727,33730,33731,33732,33734,33736,33737,33739,33741,33742,33744,33745,33746,33747,33749,33751,33753,33754,33755,33758,33762,33763,33764,33766,33767,33768,33771,33772,33773,24688,27965,29301,25190,38030,38085,21315,36801,31614,20191,35878,20094,40660,38065,38067,21069,28508,36963,27973,35892,22545,23884,27424,27465,26538,21595,33108,32652,22681,34103,24378,25250,27207,38201,25970,24708,26725,30631,20052,20392,24039,38808,25772,32728,23789,20431,31373,20999,33540,19988,24623,31363,38054,20405,20146,31206,29748,21220,33465,25810,31165,23517,27777,38738,36731,27682,20542,21375,28165,25806,26228,27696,24773,39031,35831,24198,29756,31351,31179,19992,37041,29699,27714,22234,37195,27845,36235,21306,34502,26354,36527,23624,39537,28192,33774,33775,33779,33780,33781,33782,33783,33786,33787,33788,33790,33791,33792,33794,33797,33799,33800,33801,33802,33808,33810,33811,33812,33813,33814,33815,33817,33818,33819,33822,33823,33824,33825,33826,33827,33833,33834,33835,33836,33837,33838,33839,33840,33842,33843,33844,33845,33846,33847,33849,33850,33851,33854,33855,33856,33857,33858,33859,33860,33861,33863,33864,33865,33866,33867,33868,33869,33870,33871,33872,33874,33875,33876,33877,33878,33880,33885,33886,33887,33888,33890,33892,33893,33894,33895,33896,33898,33902,33903,33904,33906,33908,33911,33913,33915,33916,21462,23094,40843,36259,21435,22280,39079,26435,37275,27849,20840,30154,25331,29356,21048,21149,32570,28820,30264,21364,40522,27063,30830,38592,35033,32676,28982,29123,20873,26579,29924,22756,25880,22199,35753,39286,25200,32469,24825,28909,22764,20161,20154,24525,38887,20219,35748,20995,22922,32427,25172,20173,26085,25102,33592,33993,33635,34701,29076,28342,23481,32466,20887,25545,26580,32905,33593,34837,20754,23418,22914,36785,20083,27741,20837,35109,36719,38446,34122,29790,38160,38384,28070,33509,24369,25746,27922,33832,33134,40131,22622,36187,19977,21441,33917,33918,33919,33920,33921,33923,33924,33925,33926,33930,33933,33935,33936,33937,33938,33939,33940,33941,33942,33944,33946,33947,33949,33950,33951,33952,33954,33955,33956,33957,33958,33959,33960,33961,33962,33963,33964,33965,33966,33968,33969,33971,33973,33974,33975,33979,33980,33982,33984,33986,33987,33989,33990,33991,33992,33995,33996,33998,33999,34002,34004,34005,34007,34008,34009,34010,34011,34012,34014,34017,34018,34020,34023,34024,34025,34026,34027,34029,34030,34031,34033,34034,34035,34036,34037,34038,34039,34040,34041,34042,34043,34045,34046,34048,34049,34050,20254,25955,26705,21971,20007,25620,39578,25195,23234,29791,33394,28073,26862,20711,33678,30722,26432,21049,27801,32433,20667,21861,29022,31579,26194,29642,33515,26441,23665,21024,29053,34923,38378,38485,25797,36193,33203,21892,27733,25159,32558,22674,20260,21830,36175,26188,19978,23578,35059,26786,25422,31245,28903,33421,21242,38902,23569,21736,37045,32461,22882,36170,34503,33292,33293,36198,25668,23556,24913,28041,31038,35774,30775,30003,21627,20280,36523,28145,23072,32453,31070,27784,23457,23158,29978,32958,24910,28183,22768,29983,29989,29298,21319,32499,34051,34052,34053,34054,34055,34056,34057,34058,34059,34061,34062,34063,34064,34066,34068,34069,34070,34072,34073,34075,34076,34077,34078,34080,34082,34083,34084,34085,34086,34087,34088,34089,34090,34093,34094,34095,34096,34097,34098,34099,34100,34101,34102,34110,34111,34112,34113,34114,34116,34117,34118,34119,34123,34124,34125,34126,34127,34128,34129,34130,34131,34132,34133,34135,34136,34138,34139,34140,34141,34143,34144,34145,34146,34147,34149,34150,34151,34153,34154,34155,34156,34157,34158,34159,34160,34161,34163,34165,34166,34167,34168,34172,34173,34175,34176,34177,30465,30427,21097,32988,22307,24072,22833,29422,26045,28287,35799,23608,34417,21313,30707,25342,26102,20160,39135,34432,23454,35782,21490,30690,20351,23630,39542,22987,24335,31034,22763,19990,26623,20107,25325,35475,36893,21183,26159,21980,22124,36866,20181,20365,37322,39280,27663,24066,24643,23460,35270,35797,25910,25163,39318,23432,23551,25480,21806,21463,30246,20861,34092,26530,26803,27530,25234,36755,21460,33298,28113,30095,20070,36174,23408,29087,34223,26257,26329,32626,34560,40653,40736,23646,26415,36848,26641,26463,25101,31446,22661,24246,25968,28465,34178,34179,34182,34184,34185,34186,34187,34188,34189,34190,34192,34193,34194,34195,34196,34197,34198,34199,34200,34201,34202,34205,34206,34207,34208,34209,34210,34211,34213,34214,34215,34217,34219,34220,34221,34225,34226,34227,34228,34229,34230,34232,34234,34235,34236,34237,34238,34239,34240,34242,34243,34244,34245,34246,34247,34248,34250,34251,34252,34253,34254,34257,34258,34260,34262,34263,34264,34265,34266,34267,34269,34270,34271,34272,34273,34274,34275,34277,34278,34279,34280,34282,34283,34284,34285,34286,34287,34288,34289,34290,34291,34292,34293,34294,34295,34296,24661,21047,32781,25684,34928,29993,24069,26643,25332,38684,21452,29245,35841,27700,30561,31246,21550,30636,39034,33308,35828,30805,26388,28865,26031,25749,22070,24605,31169,21496,19997,27515,32902,23546,21987,22235,20282,20284,39282,24051,26494,32824,24578,39042,36865,23435,35772,35829,25628,33368,25822,22013,33487,37221,20439,32032,36895,31903,20723,22609,28335,23487,35785,32899,37240,33948,31639,34429,38539,38543,32485,39635,30862,23681,31319,36930,38567,31071,23385,25439,31499,34001,26797,21766,32553,29712,32034,38145,25152,22604,20182,23427,22905,22612,34297,34298,34300,34301,34302,34304,34305,34306,34307,34308,34310,34311,34312,34313,34314,34315,34316,34317,34318,34319,34320,34322,34323,34324,34325,34327,34328,34329,34330,34331,34332,34333,34334,34335,34336,34337,34338,34339,34340,34341,34342,34344,34346,34347,34348,34349,34350,34351,34352,34353,34354,34355,34356,34357,34358,34359,34361,34362,34363,34365,34366,34367,34368,34369,34370,34371,34372,34373,34374,34375,34376,34377,34378,34379,34380,34386,34387,34389,34390,34391,34392,34393,34395,34396,34397,34399,34400,34401,34403,34404,34405,34406,34407,34408,34409,34410,29549,25374,36427,36367,32974,33492,25260,21488,27888,37214,22826,24577,27760,22349,25674,36138,30251,28393,22363,27264,30192,28525,35885,35848,22374,27631,34962,30899,25506,21497,28845,27748,22616,25642,22530,26848,33179,21776,31958,20504,36538,28108,36255,28907,25487,28059,28372,32486,33796,26691,36867,28120,38518,35752,22871,29305,34276,33150,30140,35466,26799,21076,36386,38161,25552,39064,36420,21884,20307,26367,22159,24789,28053,21059,23625,22825,28155,22635,3e4,29980,24684,33300,33094,25361,26465,36834,30522,36339,36148,38081,24086,21381,21548,28867,34413,34415,34416,34418,34419,34420,34421,34422,34423,34424,34435,34436,34437,34438,34439,34440,34441,34446,34447,34448,34449,34450,34452,34454,34455,34456,34457,34458,34459,34462,34463,34464,34465,34466,34469,34470,34475,34477,34478,34482,34483,34487,34488,34489,34491,34492,34493,34494,34495,34497,34498,34499,34501,34504,34508,34509,34514,34515,34517,34518,34519,34522,34524,34525,34528,34529,34530,34531,34533,34534,34535,34536,34538,34539,34540,34543,34549,34550,34551,34554,34555,34556,34557,34559,34561,34564,34565,34566,34571,34572,34574,34575,34576,34577,34580,34582,27712,24311,20572,20141,24237,25402,33351,36890,26704,37230,30643,21516,38108,24420,31461,26742,25413,31570,32479,30171,20599,25237,22836,36879,20984,31171,31361,22270,24466,36884,28034,23648,22303,21520,20820,28237,22242,25512,39059,33151,34581,35114,36864,21534,23663,33216,25302,25176,33073,40501,38464,39534,39548,26925,22949,25299,21822,25366,21703,34521,27964,23043,29926,34972,27498,22806,35916,24367,28286,29609,39037,20024,28919,23436,30871,25405,26202,30358,24779,23451,23113,19975,33109,27754,29579,20129,26505,32593,24448,26106,26395,24536,22916,23041,34585,34587,34589,34591,34592,34596,34598,34599,34600,34602,34603,34604,34605,34607,34608,34610,34611,34613,34614,34616,34617,34618,34620,34621,34624,34625,34626,34627,34628,34629,34630,34634,34635,34637,34639,34640,34641,34642,34644,34645,34646,34648,34650,34651,34652,34653,34654,34655,34657,34658,34662,34663,34664,34665,34666,34667,34668,34669,34671,34673,34674,34675,34677,34679,34680,34681,34682,34687,34688,34689,34692,34694,34695,34697,34698,34700,34702,34703,34704,34705,34706,34708,34709,34710,34712,34713,34714,34715,34716,34717,34718,34720,34721,34722,34723,34724,24013,24494,21361,38886,36829,26693,22260,21807,24799,20026,28493,32500,33479,33806,22996,20255,20266,23614,32428,26410,34074,21619,30031,32963,21890,39759,20301,28205,35859,23561,24944,21355,30239,28201,34442,25991,38395,32441,21563,31283,32010,38382,21985,32705,29934,25373,34583,28065,31389,25105,26017,21351,25569,27779,24043,21596,38056,20044,27745,35820,23627,26080,33436,26791,21566,21556,27595,27494,20116,25410,21320,33310,20237,20398,22366,25098,38654,26212,29289,21247,21153,24735,35823,26132,29081,26512,35199,30802,30717,26224,22075,21560,38177,29306,34725,34726,34727,34729,34730,34734,34736,34737,34738,34740,34742,34743,34744,34745,34747,34748,34750,34751,34753,34754,34755,34756,34757,34759,34760,34761,34764,34765,34766,34767,34768,34772,34773,34774,34775,34776,34777,34778,34780,34781,34782,34783,34785,34786,34787,34788,34790,34791,34792,34793,34795,34796,34797,34799,34800,34801,34802,34803,34804,34805,34806,34807,34808,34810,34811,34812,34813,34815,34816,34817,34818,34820,34821,34822,34823,34824,34825,34827,34828,34829,34830,34831,34832,34833,34834,34836,34839,34840,34841,34842,34844,34845,34846,34847,34848,34851,31232,24687,24076,24713,33181,22805,24796,29060,28911,28330,27728,29312,27268,34989,24109,20064,23219,21916,38115,27927,31995,38553,25103,32454,30606,34430,21283,38686,36758,26247,23777,20384,29421,19979,21414,22799,21523,25472,38184,20808,20185,40092,32420,21688,36132,34900,33335,38386,28046,24358,23244,26174,38505,29616,29486,21439,33146,39301,32673,23466,38519,38480,32447,30456,21410,38262,39321,31665,35140,28248,20065,32724,31077,35814,24819,21709,20139,39033,24055,27233,20687,21521,35937,33831,30813,38660,21066,21742,22179,38144,28040,23477,28102,26195,34852,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34867,34868,34869,34870,34871,34872,34874,34875,34877,34878,34879,34881,34882,34883,34886,34887,34888,34889,34890,34891,34894,34895,34896,34897,34898,34899,34901,34902,34904,34906,34907,34908,34909,34910,34911,34912,34918,34919,34922,34925,34927,34929,34931,34932,34933,34934,34936,34937,34938,34939,34940,34944,34947,34950,34951,34953,34954,34956,34958,34959,34960,34961,34963,34964,34965,34967,34968,34969,34970,34971,34973,34974,34975,34976,34977,34979,34981,34982,34983,34984,34985,34986,23567,23389,26657,32918,21880,31505,25928,26964,20123,27463,34638,38795,21327,25375,25658,37034,26012,32961,35856,20889,26800,21368,34809,25032,27844,27899,35874,23633,34218,33455,38156,27427,36763,26032,24571,24515,20449,34885,26143,33125,29481,24826,20852,21009,22411,24418,37026,34892,37266,24184,26447,24615,22995,20804,20982,33016,21256,27769,38596,29066,20241,20462,32670,26429,21957,38152,31168,34966,32483,22687,25100,38656,34394,22040,39035,24464,35768,33988,37207,21465,26093,24207,30044,24676,32110,23167,32490,32493,36713,21927,23459,24748,26059,29572,34988,34990,34991,34992,34994,34995,34996,34997,34998,35e3,35001,35002,35003,35005,35006,35007,35008,35011,35012,35015,35016,35018,35019,35020,35021,35023,35024,35025,35027,35030,35031,35034,35035,35036,35037,35038,35040,35041,35046,35047,35049,35050,35051,35052,35053,35054,35055,35058,35061,35062,35063,35066,35067,35069,35071,35072,35073,35075,35076,35077,35078,35079,35080,35081,35083,35084,35085,35086,35087,35089,35092,35093,35094,35095,35096,35100,35101,35102,35103,35104,35106,35107,35108,35110,35111,35112,35113,35116,35117,35118,35119,35121,35122,35123,35125,35127,36873,30307,30505,32474,38772,34203,23398,31348,38634,34880,21195,29071,24490,26092,35810,23547,39535,24033,27529,27739,35757,35759,36874,36805,21387,25276,40486,40493,21568,20011,33469,29273,34460,23830,34905,28079,38597,21713,20122,35766,28937,21693,38409,28895,28153,30416,20005,30740,34578,23721,24310,35328,39068,38414,28814,27839,22852,25513,30524,34893,28436,33395,22576,29141,21388,30746,38593,21761,24422,28976,23476,35866,39564,27523,22830,40495,31207,26472,25196,20335,30113,32650,27915,38451,27687,20208,30162,20859,26679,28478,36992,33136,22934,29814,35128,35129,35130,35131,35132,35133,35134,35135,35136,35138,35139,35141,35142,35143,35144,35145,35146,35147,35148,35149,35150,35151,35152,35153,35154,35155,35156,35157,35158,35159,35160,35161,35162,35163,35164,35165,35168,35169,35170,35171,35172,35173,35175,35176,35177,35178,35179,35180,35181,35182,35183,35184,35185,35186,35187,35188,35189,35190,35191,35192,35193,35194,35196,35197,35198,35200,35202,35204,35205,35207,35208,35209,35210,35211,35212,35213,35214,35215,35216,35217,35218,35219,35220,35221,35222,35223,35224,35225,35226,35227,35228,35229,35230,35231,35232,35233,25671,23591,36965,31377,35875,23002,21676,33280,33647,35201,32768,26928,22094,32822,29239,37326,20918,20063,39029,25494,19994,21494,26355,33099,22812,28082,19968,22777,21307,25558,38129,20381,20234,34915,39056,22839,36951,31227,20202,33008,30097,27778,23452,23016,24413,26885,34433,20506,24050,20057,30691,20197,33402,25233,26131,37009,23673,20159,24441,33222,36920,32900,30123,20134,35028,24847,27589,24518,20041,30410,28322,35811,35758,35850,35793,24322,32764,32716,32462,33589,33643,22240,27575,38899,38452,23035,21535,38134,28139,23493,39278,23609,24341,38544,35234,35235,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245,35246,35247,35248,35249,35250,35251,35252,35253,35254,35255,35256,35257,35258,35259,35260,35261,35262,35263,35264,35267,35277,35283,35284,35285,35287,35288,35289,35291,35293,35295,35296,35297,35298,35300,35303,35304,35305,35306,35308,35309,35310,35312,35313,35314,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35329,35330,35331,35332,35333,35334,35336,35337,35338,35339,35340,35341,35342,35343,35344,35345,35346,35347,35348,35349,35350,35351,35352,35353,35354,35355,35356,35357,21360,33521,27185,23156,40560,24212,32552,33721,33828,33829,33639,34631,36814,36194,30408,24433,39062,30828,26144,21727,25317,20323,33219,30152,24248,38605,36362,34553,21647,27891,28044,27704,24703,21191,29992,24189,20248,24736,24551,23588,30001,37038,38080,29369,27833,28216,37193,26377,21451,21491,20305,37321,35825,21448,24188,36802,28132,20110,30402,27014,34398,24858,33286,20313,20446,36926,40060,24841,28189,28180,38533,20104,23089,38632,19982,23679,31161,23431,35821,32701,29577,22495,33419,37057,21505,36935,21947,23786,24481,24840,27442,29425,32946,35465,35358,35359,35360,35361,35362,35363,35364,35365,35366,35367,35368,35369,35370,35371,35372,35373,35374,35375,35376,35377,35378,35379,35380,35381,35382,35383,35384,35385,35386,35387,35388,35389,35391,35392,35393,35394,35395,35396,35397,35398,35399,35401,35402,35403,35404,35405,35406,35407,35408,35409,35410,35411,35412,35413,35414,35415,35416,35417,35418,35419,35420,35421,35422,35423,35424,35425,35426,35427,35428,35429,35430,35431,35432,35433,35434,35435,35436,35437,35438,35439,35440,35441,35442,35443,35444,35445,35446,35447,35448,35450,35451,35452,35453,35454,35455,35456,28020,23507,35029,39044,35947,39533,40499,28170,20900,20803,22435,34945,21407,25588,36757,22253,21592,22278,29503,28304,32536,36828,33489,24895,24616,38498,26352,32422,36234,36291,38053,23731,31908,26376,24742,38405,32792,20113,37095,21248,38504,20801,36816,34164,37213,26197,38901,23381,21277,30776,26434,26685,21705,28798,23472,36733,20877,22312,21681,25874,26242,36190,36163,33039,33900,36973,31967,20991,34299,26531,26089,28577,34468,36481,22122,36896,30338,28790,29157,36131,25321,21017,27901,36156,24590,22686,24974,26366,36192,25166,21939,28195,26413,36711,35457,35458,35459,35460,35461,35462,35463,35464,35467,35468,35469,35470,35471,35472,35473,35474,35476,35477,35478,35479,35480,35481,35482,35483,35484,35485,35486,35487,35488,35489,35490,35491,35492,35493,35494,35495,35496,35497,35498,35499,35500,35501,35502,35503,35504,35505,35506,35507,35508,35509,35510,35511,35512,35513,35514,35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538,35539,35540,35541,35542,35543,35544,35545,35546,35547,35548,35549,35550,35551,35552,35553,35554,35555,38113,38392,30504,26629,27048,21643,20045,28856,35784,25688,25995,23429,31364,20538,23528,30651,27617,35449,31896,27838,30415,26025,36759,23853,23637,34360,26632,21344,25112,31449,28251,32509,27167,31456,24432,28467,24352,25484,28072,26454,19976,24080,36134,20183,32960,30260,38556,25307,26157,25214,27836,36213,29031,32617,20806,32903,21484,36974,25240,21746,34544,36761,32773,38167,34071,36825,27993,29645,26015,30495,29956,30759,33275,36126,38024,20390,26517,30137,35786,38663,25391,38215,38453,33976,25379,30529,24449,29424,20105,24596,25972,25327,27491,25919,35556,35557,35558,35559,35560,35561,35562,35563,35564,35565,35566,35567,35568,35569,35570,35571,35572,35573,35574,35575,35576,35577,35578,35579,35580,35581,35582,35583,35584,35585,35586,35587,35588,35589,35590,35592,35593,35594,35595,35596,35597,35598,35599,35600,35601,35602,35603,35604,35605,35606,35607,35608,35609,35610,35611,35612,35613,35614,35615,35616,35617,35618,35619,35620,35621,35623,35624,35625,35626,35627,35628,35629,35630,35631,35632,35633,35634,35635,35636,35637,35638,35639,35640,35641,35642,35643,35644,35645,35646,35647,35648,35649,35650,35651,35652,35653,24103,30151,37073,35777,33437,26525,25903,21553,34584,30693,32930,33026,27713,20043,32455,32844,30452,26893,27542,25191,20540,20356,22336,25351,27490,36286,21482,26088,32440,24535,25370,25527,33267,33268,32622,24092,23769,21046,26234,31209,31258,36136,28825,30164,28382,27835,31378,20013,30405,24544,38047,34935,32456,31181,32959,37325,20210,20247,33311,21608,24030,27954,35788,31909,36724,32920,24090,21650,30385,23449,26172,39588,29664,26666,34523,26417,29482,35832,35803,36880,31481,28891,29038,25284,30633,22065,20027,33879,26609,21161,34496,36142,38136,31569,35654,35655,35656,35657,35658,35659,35660,35661,35662,35663,35664,35665,35666,35667,35668,35669,35670,35671,35672,35673,35674,35675,35676,35677,35678,35679,35680,35681,35682,35683,35684,35685,35687,35688,35689,35690,35691,35693,35694,35695,35696,35697,35698,35699,35700,35701,35702,35703,35704,35705,35706,35707,35708,35709,35710,35711,35712,35713,35714,35715,35716,35717,35718,35719,35720,35721,35722,35723,35724,35725,35726,35727,35728,35729,35730,35731,35732,35733,35734,35735,35736,35737,35738,35739,35740,35741,35742,35743,35756,35761,35771,35783,35792,35818,35849,35870,20303,27880,31069,39547,25235,29226,25341,19987,30742,36716,25776,36186,31686,26729,24196,35013,22918,25758,22766,29366,26894,38181,36861,36184,22368,32512,35846,20934,25417,25305,21331,26700,29730,33537,37196,21828,30528,28796,27978,20857,21672,36164,23039,28363,28100,23388,32043,20180,31869,28371,23376,33258,28173,23383,39683,26837,36394,23447,32508,24635,32437,37049,36208,22863,25549,31199,36275,21330,26063,31062,35781,38459,32452,38075,32386,22068,37257,26368,32618,23562,36981,26152,24038,20304,26590,20570,20316,22352,24231,59408,59409,59410,59411,59412,35896,35897,35898,35899,35900,35901,35902,35903,35904,35906,35907,35908,35909,35912,35914,35915,35917,35918,35919,35920,35921,35922,35923,35924,35926,35927,35928,35929,35931,35932,35933,35934,35935,35936,35939,35940,35941,35942,35943,35944,35945,35948,35949,35950,35951,35952,35953,35954,35956,35957,35958,35959,35963,35964,35965,35966,35967,35968,35969,35971,35972,35974,35975,35976,35979,35981,35982,35983,35984,35985,35986,35987,35989,35990,35991,35993,35994,35995,35996,35997,35998,35999,36e3,36001,36002,36003,36004,36005,36006,36007,36008,36009,36010,36011,36012,36013,20109,19980,20800,19984,24319,21317,19989,20120,19998,39730,23404,22121,20008,31162,20031,21269,20039,22829,29243,21358,27664,22239,32996,39319,27603,30590,40727,20022,20127,40720,20060,20073,20115,33416,23387,21868,22031,20164,21389,21405,21411,21413,21422,38757,36189,21274,21493,21286,21294,21310,36188,21350,21347,20994,21e3,21006,21037,21043,21055,21056,21068,21086,21089,21084,33967,21117,21122,21121,21136,21139,20866,32596,20155,20163,20169,20162,20200,20193,20203,20190,20251,20211,20258,20324,20213,20261,20263,20233,20267,20318,20327,25912,20314,20317,36014,36015,36016,36017,36018,36019,36020,36021,36022,36023,36024,36025,36026,36027,36028,36029,36030,36031,36032,36033,36034,36035,36036,36037,36038,36039,36040,36041,36042,36043,36044,36045,36046,36047,36048,36049,36050,36051,36052,36053,36054,36055,36056,36057,36058,36059,36060,36061,36062,36063,36064,36065,36066,36067,36068,36069,36070,36071,36072,36073,36074,36075,36076,36077,36078,36079,36080,36081,36082,36083,36084,36085,36086,36087,36088,36089,36090,36091,36092,36093,36094,36095,36096,36097,36098,36099,36100,36101,36102,36103,36104,36105,36106,36107,36108,36109,20319,20311,20274,20285,20342,20340,20369,20361,20355,20367,20350,20347,20394,20348,20396,20372,20454,20456,20458,20421,20442,20451,20444,20433,20447,20472,20521,20556,20467,20524,20495,20526,20525,20478,20508,20492,20517,20520,20606,20547,20565,20552,20558,20588,20603,20645,20647,20649,20666,20694,20742,20717,20716,20710,20718,20743,20747,20189,27709,20312,20325,20430,40864,27718,31860,20846,24061,40649,39320,20865,22804,21241,21261,35335,21264,20971,22809,20821,20128,20822,20147,34926,34980,20149,33044,35026,31104,23348,34819,32696,20907,20913,20925,20924,36110,36111,36112,36113,36114,36115,36116,36117,36118,36119,36120,36121,36122,36123,36124,36128,36177,36178,36183,36191,36197,36200,36201,36202,36204,36206,36207,36209,36210,36216,36217,36218,36219,36220,36221,36222,36223,36224,36226,36227,36230,36231,36232,36233,36236,36237,36238,36239,36240,36242,36243,36245,36246,36247,36248,36249,36250,36251,36252,36253,36254,36256,36257,36258,36260,36261,36262,36263,36264,36265,36266,36267,36268,36269,36270,36271,36272,36274,36278,36279,36281,36283,36285,36288,36289,36290,36293,36295,36296,36297,36298,36301,36304,36306,36307,36308,20935,20886,20898,20901,35744,35750,35751,35754,35764,35765,35767,35778,35779,35787,35791,35790,35794,35795,35796,35798,35800,35801,35804,35807,35808,35812,35816,35817,35822,35824,35827,35830,35833,35836,35839,35840,35842,35844,35847,35852,35855,35857,35858,35860,35861,35862,35865,35867,35864,35869,35871,35872,35873,35877,35879,35882,35883,35886,35887,35890,35891,35893,35894,21353,21370,38429,38434,38433,38449,38442,38461,38460,38466,38473,38484,38495,38503,38508,38514,38516,38536,38541,38551,38576,37015,37019,37021,37017,37036,37025,37044,37043,37046,37050,36309,36312,36313,36316,36320,36321,36322,36325,36326,36327,36329,36333,36334,36336,36337,36338,36340,36342,36348,36350,36351,36352,36353,36354,36355,36356,36358,36359,36360,36363,36365,36366,36368,36369,36370,36371,36373,36374,36375,36376,36377,36378,36379,36380,36384,36385,36388,36389,36390,36391,36392,36395,36397,36400,36402,36403,36404,36406,36407,36408,36411,36412,36414,36415,36419,36421,36422,36428,36429,36430,36431,36432,36435,36436,36437,36438,36439,36440,36442,36443,36444,36445,36446,36447,36448,36449,36450,36451,36452,36453,36455,36456,36458,36459,36462,36465,37048,37040,37071,37061,37054,37072,37060,37063,37075,37094,37090,37084,37079,37083,37099,37103,37118,37124,37154,37150,37155,37169,37167,37177,37187,37190,21005,22850,21154,21164,21165,21182,21759,21200,21206,21232,21471,29166,30669,24308,20981,20988,39727,21430,24321,30042,24047,22348,22441,22433,22654,22716,22725,22737,22313,22316,22314,22323,22329,22318,22319,22364,22331,22338,22377,22405,22379,22406,22396,22395,22376,22381,22390,22387,22445,22436,22412,22450,22479,22439,22452,22419,22432,22485,22488,22490,22489,22482,22456,22516,22511,22520,22500,22493,36467,36469,36471,36472,36473,36474,36475,36477,36478,36480,36482,36483,36484,36486,36488,36489,36490,36491,36492,36493,36494,36497,36498,36499,36501,36502,36503,36504,36505,36506,36507,36509,36511,36512,36513,36514,36515,36516,36517,36518,36519,36520,36521,36522,36525,36526,36528,36529,36531,36532,36533,36534,36535,36536,36537,36539,36540,36541,36542,36543,36544,36545,36546,36547,36548,36549,36550,36551,36552,36553,36554,36555,36556,36557,36559,36560,36561,36562,36563,36564,36565,36566,36567,36568,36569,36570,36571,36572,36573,36574,36575,36576,36577,36578,36579,36580,22539,22541,22525,22509,22528,22558,22553,22596,22560,22629,22636,22657,22665,22682,22656,39336,40729,25087,33401,33405,33407,33423,33418,33448,33412,33422,33425,33431,33433,33451,33464,33470,33456,33480,33482,33507,33432,33463,33454,33483,33484,33473,33449,33460,33441,33450,33439,33476,33486,33444,33505,33545,33527,33508,33551,33543,33500,33524,33490,33496,33548,33531,33491,33553,33562,33542,33556,33557,33504,33493,33564,33617,33627,33628,33544,33682,33596,33588,33585,33691,33630,33583,33615,33607,33603,33631,33600,33559,33632,33581,33594,33587,33638,33637,36581,36582,36583,36584,36585,36586,36587,36588,36589,36590,36591,36592,36593,36594,36595,36596,36597,36598,36599,36600,36601,36602,36603,36604,36605,36606,36607,36608,36609,36610,36611,36612,36613,36614,36615,36616,36617,36618,36619,36620,36621,36622,36623,36624,36625,36626,36627,36628,36629,36630,36631,36632,36633,36634,36635,36636,36637,36638,36639,36640,36641,36642,36643,36644,36645,36646,36647,36648,36649,36650,36651,36652,36653,36654,36655,36656,36657,36658,36659,36660,36661,36662,36663,36664,36665,36666,36667,36668,36669,36670,36671,36672,36673,36674,36675,36676,33640,33563,33641,33644,33642,33645,33646,33712,33656,33715,33716,33696,33706,33683,33692,33669,33660,33718,33705,33661,33720,33659,33688,33694,33704,33722,33724,33729,33793,33765,33752,22535,33816,33803,33757,33789,33750,33820,33848,33809,33798,33748,33759,33807,33795,33784,33785,33770,33733,33728,33830,33776,33761,33884,33873,33882,33881,33907,33927,33928,33914,33929,33912,33852,33862,33897,33910,33932,33934,33841,33901,33985,33997,34e3,34022,33981,34003,33994,33983,33978,34016,33953,33977,33972,33943,34021,34019,34060,29965,34104,34032,34105,34079,34106,36677,36678,36679,36680,36681,36682,36683,36684,36685,36686,36687,36688,36689,36690,36691,36692,36693,36694,36695,36696,36697,36698,36699,36700,36701,36702,36703,36704,36705,36706,36707,36708,36709,36714,36736,36748,36754,36765,36768,36769,36770,36772,36773,36774,36775,36778,36780,36781,36782,36783,36786,36787,36788,36789,36791,36792,36794,36795,36796,36799,36800,36803,36806,36809,36810,36811,36812,36813,36815,36818,36822,36823,36826,36832,36833,36835,36839,36844,36847,36849,36850,36852,36853,36854,36858,36859,36860,36862,36863,36871,36872,36876,36878,36883,36885,36888,34134,34107,34047,34044,34137,34120,34152,34148,34142,34170,30626,34115,34162,34171,34212,34216,34183,34191,34169,34222,34204,34181,34233,34231,34224,34259,34241,34268,34303,34343,34309,34345,34326,34364,24318,24328,22844,22849,32823,22869,22874,22872,21263,23586,23589,23596,23604,25164,25194,25247,25275,25290,25306,25303,25326,25378,25334,25401,25419,25411,25517,25590,25457,25466,25486,25524,25453,25516,25482,25449,25518,25532,25586,25592,25568,25599,25540,25566,25550,25682,25542,25534,25669,25665,25611,25627,25632,25612,25638,25633,25694,25732,25709,25750,36889,36892,36899,36900,36901,36903,36904,36905,36906,36907,36908,36912,36913,36914,36915,36916,36919,36921,36922,36925,36927,36928,36931,36933,36934,36936,36937,36938,36939,36940,36942,36948,36949,36950,36953,36954,36956,36957,36958,36959,36960,36961,36964,36966,36967,36969,36970,36971,36972,36975,36976,36977,36978,36979,36982,36983,36984,36985,36986,36987,36988,36990,36993,36996,36997,36998,36999,37001,37002,37004,37005,37006,37007,37008,37010,37012,37014,37016,37018,37020,37022,37023,37024,37028,37029,37031,37032,37033,37035,37037,37042,37047,37052,37053,37055,37056,25722,25783,25784,25753,25786,25792,25808,25815,25828,25826,25865,25893,25902,24331,24530,29977,24337,21343,21489,21501,21481,21480,21499,21522,21526,21510,21579,21586,21587,21588,21590,21571,21537,21591,21593,21539,21554,21634,21652,21623,21617,21604,21658,21659,21636,21622,21606,21661,21712,21677,21698,21684,21714,21671,21670,21715,21716,21618,21667,21717,21691,21695,21708,21721,21722,21724,21673,21674,21668,21725,21711,21726,21787,21735,21792,21757,21780,21747,21794,21795,21775,21777,21799,21802,21863,21903,21941,21833,21869,21825,21845,21823,21840,21820,37058,37059,37062,37064,37065,37067,37068,37069,37074,37076,37077,37078,37080,37081,37082,37086,37087,37088,37091,37092,37093,37097,37098,37100,37102,37104,37105,37106,37107,37109,37110,37111,37113,37114,37115,37116,37119,37120,37121,37123,37125,37126,37127,37128,37129,37130,37131,37132,37133,37134,37135,37136,37137,37138,37139,37140,37141,37142,37143,37144,37146,37147,37148,37149,37151,37152,37153,37156,37157,37158,37159,37160,37161,37162,37163,37164,37165,37166,37168,37170,37171,37172,37173,37174,37175,37176,37178,37179,37180,37181,37182,37183,37184,37185,37186,37188,21815,21846,21877,21878,21879,21811,21808,21852,21899,21970,21891,21937,21945,21896,21889,21919,21886,21974,21905,21883,21983,21949,21950,21908,21913,21994,22007,21961,22047,21969,21995,21996,21972,21990,21981,21956,21999,21989,22002,22003,21964,21965,21992,22005,21988,36756,22046,22024,22028,22017,22052,22051,22014,22016,22055,22061,22104,22073,22103,22060,22093,22114,22105,22108,22092,22100,22150,22116,22129,22123,22139,22140,22149,22163,22191,22228,22231,22237,22241,22261,22251,22265,22271,22276,22282,22281,22300,24079,24089,24084,24081,24113,24123,24124,37189,37191,37192,37201,37203,37204,37205,37206,37208,37209,37211,37212,37215,37216,37222,37223,37224,37227,37229,37235,37242,37243,37244,37248,37249,37250,37251,37252,37254,37256,37258,37262,37263,37267,37268,37269,37270,37271,37272,37273,37276,37277,37278,37279,37280,37281,37284,37285,37286,37287,37288,37289,37291,37292,37296,37297,37298,37299,37302,37303,37304,37305,37307,37308,37309,37310,37311,37312,37313,37314,37315,37316,37317,37318,37320,37323,37328,37330,37331,37332,37333,37334,37335,37336,37337,37338,37339,37341,37342,37343,37344,37345,37346,37347,37348,37349,24119,24132,24148,24155,24158,24161,23692,23674,23693,23696,23702,23688,23704,23705,23697,23706,23708,23733,23714,23741,23724,23723,23729,23715,23745,23735,23748,23762,23780,23755,23781,23810,23811,23847,23846,23854,23844,23838,23814,23835,23896,23870,23860,23869,23916,23899,23919,23901,23915,23883,23882,23913,23924,23938,23961,23965,35955,23991,24005,24435,24439,24450,24455,24457,24460,24469,24473,24476,24488,24493,24501,24508,34914,24417,29357,29360,29364,29367,29368,29379,29377,29390,29389,29394,29416,29423,29417,29426,29428,29431,29441,29427,29443,29434,37350,37351,37352,37353,37354,37355,37356,37357,37358,37359,37360,37361,37362,37363,37364,37365,37366,37367,37368,37369,37370,37371,37372,37373,37374,37375,37376,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37387,37388,37389,37390,37391,37392,37393,37394,37395,37396,37397,37398,37399,37400,37401,37402,37403,37404,37405,37406,37407,37408,37409,37410,37411,37412,37413,37414,37415,37416,37417,37418,37419,37420,37421,37422,37423,37424,37425,37426,37427,37428,37429,37430,37431,37432,37433,37434,37435,37436,37437,37438,37439,37440,37441,37442,37443,37444,37445,29435,29463,29459,29473,29450,29470,29469,29461,29474,29497,29477,29484,29496,29489,29520,29517,29527,29536,29548,29551,29566,33307,22821,39143,22820,22786,39267,39271,39272,39273,39274,39275,39276,39284,39287,39293,39296,39300,39303,39306,39309,39312,39313,39315,39316,39317,24192,24209,24203,24214,24229,24224,24249,24245,24254,24243,36179,24274,24273,24283,24296,24298,33210,24516,24521,24534,24527,24579,24558,24580,24545,24548,24574,24581,24582,24554,24557,24568,24601,24629,24614,24603,24591,24589,24617,24619,24586,24639,24609,24696,24697,24699,24698,24642,37446,37447,37448,37449,37450,37451,37452,37453,37454,37455,37456,37457,37458,37459,37460,37461,37462,37463,37464,37465,37466,37467,37468,37469,37470,37471,37472,37473,37474,37475,37476,37477,37478,37479,37480,37481,37482,37483,37484,37485,37486,37487,37488,37489,37490,37491,37493,37494,37495,37496,37497,37498,37499,37500,37501,37502,37503,37504,37505,37506,37507,37508,37509,37510,37511,37512,37513,37514,37515,37516,37517,37519,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,24682,24701,24726,24730,24749,24733,24707,24722,24716,24731,24812,24763,24753,24797,24792,24774,24794,24756,24864,24870,24853,24867,24820,24832,24846,24875,24906,24949,25004,24980,24999,25015,25044,25077,24541,38579,38377,38379,38385,38387,38389,38390,38396,38398,38403,38404,38406,38408,38410,38411,38412,38413,38415,38418,38421,38422,38423,38425,38426,20012,29247,25109,27701,27732,27740,27722,27811,27781,27792,27796,27788,27752,27753,27764,27766,27782,27817,27856,27860,27821,27895,27896,27889,27863,27826,27872,27862,27898,27883,27886,27825,27859,27887,27902,37544,37545,37546,37547,37548,37549,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37611,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37622,37623,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,27961,27943,27916,27971,27976,27911,27908,27929,27918,27947,27981,27950,27957,27930,27983,27986,27988,27955,28049,28015,28062,28064,27998,28051,28052,27996,28e3,28028,28003,28186,28103,28101,28126,28174,28095,28128,28177,28134,28125,28121,28182,28075,28172,28078,28203,28270,28238,28267,28338,28255,28294,28243,28244,28210,28197,28228,28383,28337,28312,28384,28461,28386,28325,28327,28349,28347,28343,28375,28340,28367,28303,28354,28319,28514,28486,28487,28452,28437,28409,28463,28470,28491,28532,28458,28425,28457,28553,28557,28556,28536,28530,28540,28538,28625,37642,37643,37644,37645,37646,37647,37648,37649,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37670,37671,37672,37673,37674,37675,37676,37677,37678,37679,37680,37681,37682,37683,37684,37685,37686,37687,37688,37689,37690,37691,37692,37693,37695,37696,37697,37698,37699,37700,37701,37702,37703,37704,37705,37706,37707,37708,37709,37710,37711,37712,37713,37714,37715,37716,37717,37718,37719,37720,37721,37722,37723,37724,37725,37726,37727,37728,37729,37730,37731,37732,37733,37734,37735,37736,37737,37739,28617,28583,28601,28598,28610,28641,28654,28638,28640,28655,28698,28707,28699,28729,28725,28751,28766,23424,23428,23445,23443,23461,23480,29999,39582,25652,23524,23534,35120,23536,36423,35591,36790,36819,36821,36837,36846,36836,36841,36838,36851,36840,36869,36868,36875,36902,36881,36877,36886,36897,36917,36918,36909,36911,36932,36945,36946,36944,36968,36952,36962,36955,26297,36980,36989,36994,37e3,36995,37003,24400,24407,24406,24408,23611,21675,23632,23641,23409,23651,23654,32700,24362,24361,24365,33396,24380,39739,23662,22913,22915,22925,22953,22954,22947,37740,37741,37742,37743,37744,37745,37746,37747,37748,37749,37750,37751,37752,37753,37754,37755,37756,37757,37758,37759,37760,37761,37762,37763,37764,37765,37766,37767,37768,37769,37770,37771,37772,37773,37774,37776,37777,37778,37779,37780,37781,37782,37783,37784,37785,37786,37787,37788,37789,37790,37791,37792,37793,37794,37795,37796,37797,37798,37799,37800,37801,37802,37803,37804,37805,37806,37807,37808,37809,37810,37811,37812,37813,37814,37815,37816,37817,37818,37819,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37835,37836,37837,22935,22986,22955,22942,22948,22994,22962,22959,22999,22974,23045,23046,23005,23048,23011,23e3,23033,23052,23049,23090,23092,23057,23075,23059,23104,23143,23114,23125,23100,23138,23157,33004,23210,23195,23159,23162,23230,23275,23218,23250,23252,23224,23264,23267,23281,23254,23270,23256,23260,23305,23319,23318,23346,23351,23360,23573,23580,23386,23397,23411,23377,23379,23394,39541,39543,39544,39546,39551,39549,39552,39553,39557,39560,39562,39568,39570,39571,39574,39576,39579,39580,39581,39583,39584,39586,39587,39589,39591,32415,32417,32419,32421,32424,32425,37838,37839,37840,37841,37842,37843,37844,37845,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37857,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37876,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,37898,37899,37900,37901,37902,37903,37904,37905,37906,37907,37908,37909,37910,37911,37912,37913,37914,37915,37916,37917,37918,37919,37920,37921,37922,37923,37924,37925,37926,37927,37928,37929,37930,37931,37932,37933,37934,32429,32432,32446,32448,32449,32450,32457,32459,32460,32464,32468,32471,32475,32480,32481,32488,32491,32494,32495,32497,32498,32525,32502,32506,32507,32510,32513,32514,32515,32519,32520,32523,32524,32527,32529,32530,32535,32537,32540,32539,32543,32545,32546,32547,32548,32549,32550,32551,32554,32555,32556,32557,32559,32560,32561,32562,32563,32565,24186,30079,24027,30014,37013,29582,29585,29614,29602,29599,29647,29634,29649,29623,29619,29632,29641,29640,29669,29657,39036,29706,29673,29671,29662,29626,29682,29711,29738,29787,29734,29733,29736,29744,29742,29740,37935,37936,37937,37938,37939,37940,37941,37942,37943,37944,37945,37946,37947,37948,37949,37951,37952,37953,37954,37955,37956,37957,37958,37959,37960,37961,37962,37963,37964,37965,37966,37967,37968,37969,37970,37971,37972,37973,37974,37975,37976,37977,37978,37979,37980,37981,37982,37983,37984,37985,37986,37987,37988,37989,37990,37991,37992,37993,37994,37996,37997,37998,37999,38e3,38001,38002,38003,38004,38005,38006,38007,38008,38009,38010,38011,38012,38013,38014,38015,38016,38017,38018,38019,38020,38033,38038,38040,38087,38095,38099,38100,38106,38118,38139,38172,38176,29723,29722,29761,29788,29783,29781,29785,29815,29805,29822,29852,29838,29824,29825,29831,29835,29854,29864,29865,29840,29863,29906,29882,38890,38891,38892,26444,26451,26462,26440,26473,26533,26503,26474,26483,26520,26535,26485,26536,26526,26541,26507,26487,26492,26608,26633,26584,26634,26601,26544,26636,26585,26549,26586,26547,26589,26624,26563,26552,26594,26638,26561,26621,26674,26675,26720,26721,26702,26722,26692,26724,26755,26653,26709,26726,26689,26727,26688,26686,26698,26697,26665,26805,26767,26740,26743,26771,26731,26818,26990,26876,26911,26912,26873,38183,38195,38205,38211,38216,38219,38229,38234,38240,38254,38260,38261,38263,38264,38265,38266,38267,38268,38269,38270,38272,38273,38274,38275,38276,38277,38278,38279,38280,38281,38282,38283,38284,38285,38286,38287,38288,38289,38290,38291,38292,38293,38294,38295,38296,38297,38298,38299,38300,38301,38302,38303,38304,38305,38306,38307,38308,38309,38310,38311,38312,38313,38314,38315,38316,38317,38318,38319,38320,38321,38322,38323,38324,38325,38326,38327,38328,38329,38330,38331,38332,38333,38334,38335,38336,38337,38338,38339,38340,38341,38342,38343,38344,38345,38346,38347,26916,26864,26891,26881,26967,26851,26896,26993,26937,26976,26946,26973,27012,26987,27008,27032,27e3,26932,27084,27015,27016,27086,27017,26982,26979,27001,27035,27047,27067,27051,27053,27092,27057,27073,27082,27103,27029,27104,27021,27135,27183,27117,27159,27160,27237,27122,27204,27198,27296,27216,27227,27189,27278,27257,27197,27176,27224,27260,27281,27280,27305,27287,27307,29495,29522,27521,27522,27527,27524,27538,27539,27533,27546,27547,27553,27562,36715,36717,36721,36722,36723,36725,36726,36728,36727,36729,36730,36732,36734,36737,36738,36740,36743,36747,38348,38349,38350,38351,38352,38353,38354,38355,38356,38357,38358,38359,38360,38361,38362,38363,38364,38365,38366,38367,38368,38369,38370,38371,38372,38373,38374,38375,38380,38399,38407,38419,38424,38427,38430,38432,38435,38436,38437,38438,38439,38440,38441,38443,38444,38445,38447,38448,38455,38456,38457,38458,38462,38465,38467,38474,38478,38479,38481,38482,38483,38486,38487,38488,38489,38490,38492,38493,38494,38496,38499,38501,38502,38507,38509,38510,38511,38512,38513,38515,38520,38521,38522,38523,38524,38525,38526,38527,38528,38529,38530,38531,38532,38535,38537,38538,36749,36750,36751,36760,36762,36558,25099,25111,25115,25119,25122,25121,25125,25124,25132,33255,29935,29940,29951,29967,29969,29971,25908,26094,26095,26096,26122,26137,26482,26115,26133,26112,28805,26359,26141,26164,26161,26166,26165,32774,26207,26196,26177,26191,26198,26209,26199,26231,26244,26252,26279,26269,26302,26331,26332,26342,26345,36146,36147,36150,36155,36157,36160,36165,36166,36168,36169,36167,36173,36181,36185,35271,35274,35275,35276,35278,35279,35280,35281,29294,29343,29277,29286,29295,29310,29311,29316,29323,29325,29327,29330,25352,25394,25520,38540,38542,38545,38546,38547,38549,38550,38554,38555,38557,38558,38559,38560,38561,38562,38563,38564,38565,38566,38568,38569,38570,38571,38572,38573,38574,38575,38577,38578,38580,38581,38583,38584,38586,38587,38591,38594,38595,38600,38602,38603,38608,38609,38611,38612,38614,38615,38616,38617,38618,38619,38620,38621,38622,38623,38625,38626,38627,38628,38629,38630,38631,38635,38636,38637,38638,38640,38641,38642,38644,38645,38648,38650,38651,38652,38653,38655,38658,38659,38661,38666,38667,38668,38672,38673,38674,38676,38677,38679,38680,38681,38682,38683,38685,38687,38688,25663,25816,32772,27626,27635,27645,27637,27641,27653,27655,27654,27661,27669,27672,27673,27674,27681,27689,27684,27690,27698,25909,25941,25963,29261,29266,29270,29232,34402,21014,32927,32924,32915,32956,26378,32957,32945,32939,32941,32948,32951,32999,33e3,33001,33002,32987,32962,32964,32985,32973,32983,26384,32989,33003,33009,33012,33005,33037,33038,33010,33020,26389,33042,35930,33078,33054,33068,33048,33074,33096,33100,33107,33140,33113,33114,33137,33120,33129,33148,33149,33133,33127,22605,23221,33160,33154,33169,28373,33187,33194,33228,26406,33226,33211,38689,38690,38691,38692,38693,38694,38695,38696,38697,38699,38700,38702,38703,38705,38707,38708,38709,38710,38711,38714,38715,38716,38717,38719,38720,38721,38722,38723,38724,38725,38726,38727,38728,38729,38730,38731,38732,38733,38734,38735,38736,38737,38740,38741,38743,38744,38746,38748,38749,38751,38755,38756,38758,38759,38760,38762,38763,38764,38765,38766,38767,38768,38769,38770,38773,38775,38776,38777,38778,38779,38781,38782,38783,38784,38785,38786,38787,38788,38790,38791,38792,38793,38794,38796,38798,38799,38800,38803,38805,38806,38807,38809,38810,38811,38812,38813,33217,33190,27428,27447,27449,27459,27462,27481,39121,39122,39123,39125,39129,39130,27571,24384,27586,35315,26e3,40785,26003,26044,26054,26052,26051,26060,26062,26066,26070,28800,28828,28822,28829,28859,28864,28855,28843,28849,28904,28874,28944,28947,28950,28975,28977,29043,29020,29032,28997,29042,29002,29048,29050,29080,29107,29109,29096,29088,29152,29140,29159,29177,29213,29224,28780,28952,29030,29113,25150,25149,25155,25160,25161,31035,31040,31046,31049,31067,31068,31059,31066,31074,31063,31072,31087,31079,31098,31109,31114,31130,31143,31155,24529,24528,38814,38815,38817,38818,38820,38821,38822,38823,38824,38825,38826,38828,38830,38832,38833,38835,38837,38838,38839,38840,38841,38842,38843,38844,38845,38846,38847,38848,38849,38850,38851,38852,38853,38854,38855,38856,38857,38858,38859,38860,38861,38862,38863,38864,38865,38866,38867,38868,38869,38870,38871,38872,38873,38874,38875,38876,38877,38878,38879,38880,38881,38882,38883,38884,38885,38888,38894,38895,38896,38897,38898,38900,38903,38904,38905,38906,38907,38908,38909,38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920,38921,38922,38923,38924,38925,38926,24636,24669,24666,24679,24641,24665,24675,24747,24838,24845,24925,25001,24989,25035,25041,25094,32896,32895,27795,27894,28156,30710,30712,30720,30729,30743,30744,30737,26027,30765,30748,30749,30777,30778,30779,30751,30780,30757,30764,30755,30761,30798,30829,30806,30807,30758,30800,30791,30796,30826,30875,30867,30874,30855,30876,30881,30883,30898,30905,30885,30932,30937,30921,30956,30962,30981,30964,30995,31012,31006,31028,40859,40697,40699,40700,30449,30468,30477,30457,30471,30472,30490,30498,30489,30509,30502,30517,30520,30544,30545,30535,30531,30554,30568,38927,38928,38929,38930,38931,38932,38933,38934,38935,38936,38937,38938,38939,38940,38941,38942,38943,38944,38945,38946,38947,38948,38949,38950,38951,38952,38953,38954,38955,38956,38957,38958,38959,38960,38961,38962,38963,38964,38965,38966,38967,38968,38969,38970,38971,38972,38973,38974,38975,38976,38977,38978,38979,38980,38981,38982,38983,38984,38985,38986,38987,38988,38989,38990,38991,38992,38993,38994,38995,38996,38997,38998,38999,39e3,39001,39002,39003,39004,39005,39006,39007,39008,39009,39010,39011,39012,39013,39014,39015,39016,39017,39018,39019,39020,39021,39022,30562,30565,30591,30605,30589,30592,30604,30609,30623,30624,30640,30645,30653,30010,30016,30030,30027,30024,30043,30066,30073,30083,32600,32609,32607,35400,32616,32628,32625,32633,32641,32638,30413,30437,34866,38021,38022,38023,38027,38026,38028,38029,38031,38032,38036,38039,38037,38042,38043,38044,38051,38052,38059,38058,38061,38060,38063,38064,38066,38068,38070,38071,38072,38073,38074,38076,38077,38079,38084,38088,38089,38090,38091,38092,38093,38094,38096,38097,38098,38101,38102,38103,38105,38104,38107,38110,38111,38112,38114,38116,38117,38119,38120,38122,39023,39024,39025,39026,39027,39028,39051,39054,39058,39061,39065,39075,39080,39081,39082,39083,39084,39085,39086,39087,39088,39089,39090,39091,39092,39093,39094,39095,39096,39097,39098,39099,39100,39101,39102,39103,39104,39105,39106,39107,39108,39109,39110,39111,39112,39113,39114,39115,39116,39117,39119,39120,39124,39126,39127,39131,39132,39133,39136,39137,39138,39139,39140,39141,39142,39145,39146,39147,39148,39149,39150,39151,39152,39153,39154,39155,39156,39157,39158,39159,39160,39161,39162,39163,39164,39165,39166,39167,39168,39169,39170,39171,39172,39173,39174,39175,38121,38123,38126,38127,38131,38132,38133,38135,38137,38140,38141,38143,38147,38146,38150,38151,38153,38154,38157,38158,38159,38162,38163,38164,38165,38166,38168,38171,38173,38174,38175,38178,38186,38187,38185,38188,38193,38194,38196,38198,38199,38200,38204,38206,38207,38210,38197,38212,38213,38214,38217,38220,38222,38223,38226,38227,38228,38230,38231,38232,38233,38235,38238,38239,38237,38241,38242,38244,38245,38246,38247,38248,38249,38250,38251,38252,38255,38257,38258,38259,38202,30695,30700,38601,31189,31213,31203,31211,31238,23879,31235,31234,31262,31252,39176,39177,39178,39179,39180,39182,39183,39185,39186,39187,39188,39189,39190,39191,39192,39193,39194,39195,39196,39197,39198,39199,39200,39201,39202,39203,39204,39205,39206,39207,39208,39209,39210,39211,39212,39213,39215,39216,39217,39218,39219,39220,39221,39222,39223,39224,39225,39226,39227,39228,39229,39230,39231,39232,39233,39234,39235,39236,39237,39238,39239,39240,39241,39242,39243,39244,39245,39246,39247,39248,39249,39250,39251,39254,39255,39256,39257,39258,39259,39260,39261,39262,39263,39264,39265,39266,39268,39270,39283,39288,39289,39291,39294,39298,39299,39305,31289,31287,31313,40655,39333,31344,30344,30350,30355,30361,30372,29918,29920,29996,40480,40482,40488,40489,40490,40491,40492,40498,40497,40502,40504,40503,40505,40506,40510,40513,40514,40516,40518,40519,40520,40521,40523,40524,40526,40529,40533,40535,40538,40539,40540,40542,40547,40550,40551,40552,40553,40554,40555,40556,40561,40557,40563,30098,30100,30102,30112,30109,30124,30115,30131,30132,30136,30148,30129,30128,30147,30146,30166,30157,30179,30184,30182,30180,30187,30183,30211,30193,30204,30207,30224,30208,30213,30220,30231,30218,30245,30232,30229,30233,39308,39310,39322,39323,39324,39325,39326,39327,39328,39329,39330,39331,39332,39334,39335,39337,39338,39339,39340,39341,39342,39343,39344,39345,39346,39347,39348,39349,39350,39351,39352,39353,39354,39355,39356,39357,39358,39359,39360,39361,39362,39363,39364,39365,39366,39367,39368,39369,39370,39371,39372,39373,39374,39375,39376,39377,39378,39379,39380,39381,39382,39383,39384,39385,39386,39387,39388,39389,39390,39391,39392,39393,39394,39395,39396,39397,39398,39399,39400,39401,39402,39403,39404,39405,39406,39407,39408,39409,39410,39411,39412,39413,39414,39415,39416,39417,30235,30268,30242,30240,30272,30253,30256,30271,30261,30275,30270,30259,30285,30302,30292,30300,30294,30315,30319,32714,31462,31352,31353,31360,31366,31368,31381,31398,31392,31404,31400,31405,31411,34916,34921,34930,34941,34943,34946,34978,35014,34999,35004,35017,35042,35022,35043,35045,35057,35098,35068,35048,35070,35056,35105,35097,35091,35099,35082,35124,35115,35126,35137,35174,35195,30091,32997,30386,30388,30684,32786,32788,32790,32796,32800,32802,32805,32806,32807,32809,32808,32817,32779,32821,32835,32838,32845,32850,32873,32881,35203,39032,39040,39043,39418,39419,39420,39421,39422,39423,39424,39425,39426,39427,39428,39429,39430,39431,39432,39433,39434,39435,39436,39437,39438,39439,39440,39441,39442,39443,39444,39445,39446,39447,39448,39449,39450,39451,39452,39453,39454,39455,39456,39457,39458,39459,39460,39461,39462,39463,39464,39465,39466,39467,39468,39469,39470,39471,39472,39473,39474,39475,39476,39477,39478,39479,39480,39481,39482,39483,39484,39485,39486,39487,39488,39489,39490,39491,39492,39493,39494,39495,39496,39497,39498,39499,39500,39501,39502,39503,39504,39505,39506,39507,39508,39509,39510,39511,39512,39513,39049,39052,39053,39055,39060,39066,39067,39070,39071,39073,39074,39077,39078,34381,34388,34412,34414,34431,34426,34428,34427,34472,34445,34443,34476,34461,34471,34467,34474,34451,34473,34486,34500,34485,34510,34480,34490,34481,34479,34505,34511,34484,34537,34545,34546,34541,34547,34512,34579,34526,34548,34527,34520,34513,34563,34567,34552,34568,34570,34573,34569,34595,34619,34590,34597,34606,34586,34622,34632,34612,34609,34601,34615,34623,34690,34594,34685,34686,34683,34656,34672,34636,34670,34699,34643,34659,34684,34660,34649,34661,34707,34735,34728,34770,39514,39515,39516,39517,39518,39519,39520,39521,39522,39523,39524,39525,39526,39527,39528,39529,39530,39531,39538,39555,39561,39565,39566,39572,39573,39577,39590,39593,39594,39595,39596,39597,39598,39599,39602,39603,39604,39605,39609,39611,39613,39614,39615,39619,39620,39622,39623,39624,39625,39626,39629,39630,39631,39632,39634,39636,39637,39638,39639,39641,39642,39643,39644,39645,39646,39648,39650,39651,39652,39653,39655,39656,39657,39658,39660,39662,39664,39665,39666,39667,39668,39669,39670,39671,39672,39674,39676,39677,39678,39679,39680,39681,39682,39684,39685,39686,34758,34696,34693,34733,34711,34691,34731,34789,34732,34741,34739,34763,34771,34749,34769,34752,34762,34779,34794,34784,34798,34838,34835,34814,34826,34843,34849,34873,34876,32566,32578,32580,32581,33296,31482,31485,31496,31491,31492,31509,31498,31531,31503,31559,31544,31530,31513,31534,31537,31520,31525,31524,31539,31550,31518,31576,31578,31557,31605,31564,31581,31584,31598,31611,31586,31602,31601,31632,31654,31655,31672,31660,31645,31656,31621,31658,31644,31650,31659,31668,31697,31681,31692,31709,31706,31717,31718,31722,31756,31742,31740,31759,31766,31755,39687,39689,39690,39691,39692,39693,39694,39696,39697,39698,39700,39701,39702,39703,39704,39705,39706,39707,39708,39709,39710,39712,39713,39714,39716,39717,39718,39719,39720,39721,39722,39723,39724,39725,39726,39728,39729,39731,39732,39733,39734,39735,39736,39737,39738,39741,39742,39743,39744,39750,39754,39755,39756,39758,39760,39762,39763,39765,39766,39767,39768,39769,39770,39771,39772,39773,39774,39775,39776,39777,39778,39779,39780,39781,39782,39783,39784,39785,39786,39787,39788,39789,39790,39791,39792,39793,39794,39795,39796,39797,39798,39799,39800,39801,39802,39803,31775,31786,31782,31800,31809,31808,33278,33281,33282,33284,33260,34884,33313,33314,33315,33325,33327,33320,33323,33336,33339,33331,33332,33342,33348,33353,33355,33359,33370,33375,33384,34942,34949,34952,35032,35039,35166,32669,32671,32679,32687,32688,32690,31868,25929,31889,31901,31900,31902,31906,31922,31932,31933,31937,31943,31948,31949,31944,31941,31959,31976,33390,26280,32703,32718,32725,32741,32737,32742,32745,32750,32755,31992,32119,32166,32174,32327,32411,40632,40628,36211,36228,36244,36241,36273,36199,36205,35911,35913,37194,37200,37198,37199,37220,39804,39805,39806,39807,39808,39809,39810,39811,39812,39813,39814,39815,39816,39817,39818,39819,39820,39821,39822,39823,39824,39825,39826,39827,39828,39829,39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39840,39841,39842,39843,39844,39845,39846,39847,39848,39849,39850,39851,39852,39853,39854,39855,39856,39857,39858,39859,39860,39861,39862,39863,39864,39865,39866,39867,39868,39869,39870,39871,39872,39873,39874,39875,39876,39877,39878,39879,39880,39881,39882,39883,39884,39885,39886,39887,39888,39889,39890,39891,39892,39893,39894,39895,39896,39897,39898,39899,37218,37217,37232,37225,37231,37245,37246,37234,37236,37241,37260,37253,37264,37261,37265,37282,37283,37290,37293,37294,37295,37301,37300,37306,35925,40574,36280,36331,36357,36441,36457,36277,36287,36284,36282,36292,36310,36311,36314,36318,36302,36303,36315,36294,36332,36343,36344,36323,36345,36347,36324,36361,36349,36372,36381,36383,36396,36398,36387,36399,36410,36416,36409,36405,36413,36401,36425,36417,36418,36433,36434,36426,36464,36470,36476,36463,36468,36485,36495,36500,36496,36508,36510,35960,35970,35978,35973,35992,35988,26011,35286,35294,35290,35292,39900,39901,39902,39903,39904,39905,39906,39907,39908,39909,39910,39911,39912,39913,39914,39915,39916,39917,39918,39919,39920,39921,39922,39923,39924,39925,39926,39927,39928,39929,39930,39931,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39969,39970,39971,39972,39973,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39987,39988,39989,39990,39991,39992,39993,39994,39995,35301,35307,35311,35390,35622,38739,38633,38643,38639,38662,38657,38664,38671,38670,38698,38701,38704,38718,40832,40835,40837,40838,40839,40840,40841,40842,40844,40702,40715,40717,38585,38588,38589,38606,38610,30655,38624,37518,37550,37576,37694,37738,37834,37775,37950,37995,40063,40066,40069,40070,40071,40072,31267,40075,40078,40080,40081,40082,40084,40085,40090,40091,40094,40095,40096,40097,40098,40099,40101,40102,40103,40104,40105,40107,40109,40110,40112,40113,40114,40115,40116,40117,40118,40119,40122,40123,40124,40125,40132,40133,40134,40135,40138,40139,39996,39997,39998,39999,4e4,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40018,40019,40020,40021,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40035,40036,40037,40038,40039,40040,40041,40042,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40061,40062,40064,40067,40068,40073,40074,40076,40079,40083,40086,40087,40088,40089,40093,40106,40108,40111,40121,40126,40127,40128,40129,40130,40136,40137,40145,40146,40154,40155,40160,40161,40140,40141,40142,40143,40144,40147,40148,40149,40151,40152,40153,40156,40157,40159,40162,38780,38789,38801,38802,38804,38831,38827,38819,38834,38836,39601,39600,39607,40536,39606,39610,39612,39617,39616,39621,39618,39627,39628,39633,39749,39747,39751,39753,39752,39757,39761,39144,39181,39214,39253,39252,39647,39649,39654,39663,39659,39675,39661,39673,39688,39695,39699,39711,39715,40637,40638,32315,40578,40583,40584,40587,40594,37846,40605,40607,40667,40668,40669,40672,40671,40674,40681,40679,40677,40682,40687,40738,40748,40751,40761,40759,40765,40766,40772,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40183,40184,40185,40186,40187,40188,40189,40190,40191,40192,40193,40194,40195,40196,40197,40198,40199,40200,40201,40202,40203,40204,40205,40206,40207,40208,40209,40210,40211,40212,40213,40214,40215,40216,40217,40218,40219,40220,40221,40222,40223,40224,40225,40226,40227,40228,40229,40230,40231,40232,40233,40234,40235,40236,40237,40238,40239,40240,40241,40242,40243,40244,40245,40246,40247,40248,40249,40250,40251,40252,40253,40254,40255,40256,40257,40258,57908,57909,57910,57911,57912,57913,57914,57915,57916,57917,57918,57919,57920,57921,57922,57923,57924,57925,57926,57927,57928,57929,57930,57931,57932,57933,57934,57935,57936,57937,57938,57939,57940,57941,57942,57943,57944,57945,57946,57947,57948,57949,57950,57951,57952,57953,57954,57955,57956,57957,57958,57959,57960,57961,57962,57963,57964,57965,57966,57967,57968,57969,57970,57971,57972,57973,57974,57975,57976,57977,57978,57979,57980,57981,57982,57983,57984,57985,57986,57987,57988,57989,57990,57991,57992,57993,57994,57995,57996,57997,57998,57999,58e3,58001,40259,40260,40261,40262,40263,40264,40265,40266,40267,40268,40269,40270,40271,40272,40273,40274,40275,40276,40277,40278,40279,40280,40281,40282,40283,40284,40285,40286,40287,40288,40289,40290,40291,40292,40293,40294,40295,40296,40297,40298,40299,40300,40301,40302,40303,40304,40305,40306,40307,40308,40309,40310,40311,40312,40313,40314,40315,40316,40317,40318,40319,40320,40321,40322,40323,40324,40325,40326,40327,40328,40329,40330,40331,40332,40333,40334,40335,40336,40337,40338,40339,40340,40341,40342,40343,40344,40345,40346,40347,40348,40349,40350,40351,40352,40353,40354,58002,58003,58004,58005,58006,58007,58008,58009,58010,58011,58012,58013,58014,58015,58016,58017,58018,58019,58020,58021,58022,58023,58024,58025,58026,58027,58028,58029,58030,58031,58032,58033,58034,58035,58036,58037,58038,58039,58040,58041,58042,58043,58044,58045,58046,58047,58048,58049,58050,58051,58052,58053,58054,58055,58056,58057,58058,58059,58060,58061,58062,58063,58064,58065,58066,58067,58068,58069,58070,58071,58072,58073,58074,58075,58076,58077,58078,58079,58080,58081,58082,58083,58084,58085,58086,58087,58088,58089,58090,58091,58092,58093,58094,58095,40355,40356,40357,40358,40359,40360,40361,40362,40363,40364,40365,40366,40367,40368,40369,40370,40371,40372,40373,40374,40375,40376,40377,40378,40379,40380,40381,40382,40383,40384,40385,40386,40387,40388,40389,40390,40391,40392,40393,40394,40395,40396,40397,40398,40399,40400,40401,40402,40403,40404,40405,40406,40407,40408,40409,40410,40411,40412,40413,40414,40415,40416,40417,40418,40419,40420,40421,40422,40423,40424,40425,40426,40427,40428,40429,40430,40431,40432,40433,40434,40435,40436,40437,40438,40439,40440,40441,40442,40443,40444,40445,40446,40447,40448,40449,40450,58096,58097,58098,58099,58100,58101,58102,58103,58104,58105,58106,58107,58108,58109,58110,58111,58112,58113,58114,58115,58116,58117,58118,58119,58120,58121,58122,58123,58124,58125,58126,58127,58128,58129,58130,58131,58132,58133,58134,58135,58136,58137,58138,58139,58140,58141,58142,58143,58144,58145,58146,58147,58148,58149,58150,58151,58152,58153,58154,58155,58156,58157,58158,58159,58160,58161,58162,58163,58164,58165,58166,58167,58168,58169,58170,58171,58172,58173,58174,58175,58176,58177,58178,58179,58180,58181,58182,58183,58184,58185,58186,58187,58188,58189,40451,40452,40453,40454,40455,40456,40457,40458,40459,40460,40461,40462,40463,40464,40465,40466,40467,40468,40469,40470,40471,40472,40473,40474,40475,40476,40477,40478,40484,40487,40494,40496,40500,40507,40508,40512,40525,40528,40530,40531,40532,40534,40537,40541,40543,40544,40545,40546,40549,40558,40559,40562,40564,40565,40566,40567,40568,40569,40570,40571,40572,40573,40576,40577,40579,40580,40581,40582,40585,40586,40588,40589,40590,40591,40592,40593,40596,40597,40598,40599,40600,40601,40602,40603,40604,40606,40608,40609,40610,40611,40612,40613,40615,40616,40617,40618,58190,58191,58192,58193,58194,58195,58196,58197,58198,58199,58200,58201,58202,58203,58204,58205,58206,58207,58208,58209,58210,58211,58212,58213,58214,58215,58216,58217,58218,58219,58220,58221,58222,58223,58224,58225,58226,58227,58228,58229,58230,58231,58232,58233,58234,58235,58236,58237,58238,58239,58240,58241,58242,58243,58244,58245,58246,58247,58248,58249,58250,58251,58252,58253,58254,58255,58256,58257,58258,58259,58260,58261,58262,58263,58264,58265,58266,58267,58268,58269,58270,58271,58272,58273,58274,58275,58276,58277,58278,58279,58280,58281,58282,58283,40619,40620,40621,40622,40623,40624,40625,40626,40627,40629,40630,40631,40633,40634,40636,40639,40640,40641,40642,40643,40645,40646,40647,40648,40650,40651,40652,40656,40658,40659,40661,40662,40663,40665,40666,40670,40673,40675,40676,40678,40680,40683,40684,40685,40686,40688,40689,40690,40691,40692,40693,40694,40695,40696,40698,40701,40703,40704,40705,40706,40707,40708,40709,40710,40711,40712,40713,40714,40716,40719,40721,40722,40724,40725,40726,40728,40730,40731,40732,40733,40734,40735,40737,40739,40740,40741,40742,40743,40744,40745,40746,40747,40749,40750,40752,40753,58284,58285,58286,58287,58288,58289,58290,58291,58292,58293,58294,58295,58296,58297,58298,58299,58300,58301,58302,58303,58304,58305,58306,58307,58308,58309,58310,58311,58312,58313,58314,58315,58316,58317,58318,58319,58320,58321,58322,58323,58324,58325,58326,58327,58328,58329,58330,58331,58332,58333,58334,58335,58336,58337,58338,58339,58340,58341,58342,58343,58344,58345,58346,58347,58348,58349,58350,58351,58352,58353,58354,58355,58356,58357,58358,58359,58360,58361,58362,58363,58364,58365,58366,58367,58368,58369,58370,58371,58372,58373,58374,58375,58376,58377,40754,40755,40756,40757,40758,40760,40762,40764,40767,40768,40769,40770,40771,40773,40774,40775,40776,40777,40778,40779,40780,40781,40782,40783,40786,40787,40788,40789,40790,40791,40792,40793,40794,40795,40796,40797,40798,40799,40800,40801,40802,40803,40804,40805,40806,40807,40808,40809,40810,40811,40812,40813,40814,40815,40816,40817,40818,40819,40820,40821,40822,40823,40824,40825,40826,40827,40828,40829,40830,40833,40834,40845,40846,40847,40848,40849,40850,40851,40852,40853,40854,40855,40856,40860,40861,40862,40865,40866,40867,40868,40869,63788,63865,63893,63975,63985,58378,58379,58380,58381,58382,58383,58384,58385,58386,58387,58388,58389,58390,58391,58392,58393,58394,58395,58396,58397,58398,58399,58400,58401,58402,58403,58404,58405,58406,58407,58408,58409,58410,58411,58412,58413,58414,58415,58416,58417,58418,58419,58420,58421,58422,58423,58424,58425,58426,58427,58428,58429,58430,58431,58432,58433,58434,58435,58436,58437,58438,58439,58440,58441,58442,58443,58444,58445,58446,58447,58448,58449,58450,58451,58452,58453,58454,58455,58456,58457,58458,58459,58460,58461,58462,58463,58464,58465,58466,58467,58468,58469,58470,58471,64012,64013,64014,64015,64017,64019,64020,64024,64031,64032,64033,64035,64036,64039,64040,64041,11905,59414,59415,59416,11908,13427,13383,11912,11915,59422,13726,13850,13838,11916,11927,14702,14616,59430,14799,14815,14963,14800,59435,59436,15182,15470,15584,11943,59441,59442,11946,16470,16735,11950,17207,11955,11958,11959,59451,17329,17324,11963,17373,17622,18017,17996,59459,18211,18217,18300,18317,11978,18759,18810,18813,18818,18819,18821,18822,18847,18843,18871,18870,59476,59477,19619,19615,19616,19617,19575,19618,19731,19732,19733,19734,19735,19736,19737,19886,59492,58472,58473,58474,58475,58476,58477,58478,58479,58480,58481,58482,58483,58484,58485,58486,58487,58488,58489,58490,58491,58492,58493,58494,58495,58496,58497,58498,58499,58500,58501,58502,58503,58504,58505,58506,58507,58508,58509,58510,58511,58512,58513,58514,58515,58516,58517,58518,58519,58520,58521,58522,58523,58524,58525,58526,58527,58528,58529,58530,58531,58532,58533,58534,58535,58536,58537,58538,58539,58540,58541,58542,58543,58544,58545,58546,58547,58548,58549,58550,58551,58552,58553,58554,58555,58556,58557,58558,58559,58560,58561,58562,58563,58564,58565],"gb18030-ranges":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,18318],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189e3,65536]],jis0208:[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,9327,9328,9329,9330,9331,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,13129,13076,13090,13133,13080,13095,13059,13110,13137,13143,13069,13094,13091,13099,13130,13115,13212,13213,13214,13198,13199,13252,13217,null,null,null,null,null,null,null,null,13179,12317,12319,8470,13261,8481,12964,12965,12966,12967,12968,12849,12850,12857,13182,13181,13180,8786,8801,8747,8750,8721,8730,8869,8736,8735,8895,8757,8745,8746,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20124,21782,23043,38463,21696,24859,25384,23030,36898,33909,33564,31312,24746,25569,28197,26093,33894,33446,39925,26771,22311,26017,25201,23451,22992,34427,39156,32098,32190,39822,25110,31903,34999,23433,24245,25353,26263,26696,38343,38797,26447,20197,20234,20301,20381,20553,22258,22839,22996,23041,23561,24799,24847,24944,26131,26885,28858,30031,30064,31227,32173,32239,32963,33806,34915,35586,36949,36986,21307,20117,20133,22495,32946,37057,30959,19968,22769,28322,36920,31282,33576,33419,39983,20801,21360,21693,21729,22240,23035,24341,39154,28139,32996,34093,38498,38512,38560,38907,21515,21491,23431,28879,32701,36802,38632,21359,40284,31418,19985,30867,33276,28198,22040,21764,27421,34074,39995,23013,21417,28006,29916,38287,22082,20113,36939,38642,33615,39180,21473,21942,23344,24433,26144,26355,26628,27704,27891,27945,29787,30408,31310,38964,33521,34907,35424,37613,28082,30123,30410,39365,24742,35585,36234,38322,27022,21421,20870,22290,22576,22852,23476,24310,24616,25513,25588,27839,28436,28814,28948,29017,29141,29503,32257,33398,33489,34199,36960,37467,40219,22633,26044,27738,29989,20985,22830,22885,24448,24540,25276,26106,27178,27431,27572,29579,32705,35158,40236,40206,40644,23713,27798,33659,20740,23627,25014,33222,26742,29281,20057,20474,21368,24681,28201,31311,38899,19979,21270,20206,20309,20285,20385,20339,21152,21487,22025,22799,23233,23478,23521,31185,26247,26524,26550,27468,27827,28779,29634,31117,31166,31292,31623,33457,33499,33540,33655,33775,33747,34662,35506,22057,36008,36838,36942,38686,34442,20420,23784,25105,29273,30011,33253,33469,34558,36032,38597,39187,39381,20171,20250,35299,22238,22602,22730,24315,24555,24618,24724,24674,25040,25106,25296,25913,39745,26214,26800,28023,28784,30028,30342,32117,33445,34809,38283,38542,35997,20977,21182,22806,21683,23475,23830,24936,27010,28079,30861,33995,34903,35442,37799,39608,28012,39336,34521,22435,26623,34510,37390,21123,22151,21508,24275,25313,25785,26684,26680,27579,29554,30906,31339,35226,35282,36203,36611,37101,38307,38548,38761,23398,23731,27005,38989,38990,25499,31520,27179,27263,26806,39949,28511,21106,21917,24688,25324,27963,28167,28369,33883,35088,36676,19988,39993,21494,26907,27194,38788,26666,20828,31427,33970,37340,37772,22107,40232,26658,33541,33841,31909,21e3,33477,29926,20094,20355,20896,23506,21002,21208,21223,24059,21914,22570,23014,23436,23448,23515,24178,24185,24739,24863,24931,25022,25563,25954,26577,26707,26874,27454,27475,27735,28450,28567,28485,29872,29976,30435,30475,31487,31649,31777,32233,32566,32752,32925,33382,33694,35251,35532,36011,36996,37969,38291,38289,38306,38501,38867,39208,33304,20024,21547,23736,24012,29609,30284,30524,23721,32747,36107,38593,38929,38996,39e3,20225,20238,21361,21916,22120,22522,22855,23305,23492,23696,24076,24190,24524,25582,26426,26071,26082,26399,26827,26820,27231,24112,27589,27671,27773,30079,31048,23395,31232,32e3,24509,35215,35352,36020,36215,36556,36637,39138,39438,39740,20096,20605,20736,22931,23452,25135,25216,25836,27450,29344,30097,31047,32681,34811,35516,35696,25516,33738,38816,21513,21507,21931,26708,27224,35440,30759,26485,40653,21364,23458,33050,34384,36870,19992,20037,20167,20241,21450,21560,23470,24339,24613,25937,26429,27714,27762,27875,28792,29699,31350,31406,31496,32026,31998,32102,26087,29275,21435,23621,24040,25298,25312,25369,28192,34394,35377,36317,37624,28417,31142,39770,20136,20139,20140,20379,20384,20689,20807,31478,20849,20982,21332,21281,21375,21483,21932,22659,23777,24375,24394,24623,24656,24685,25375,25945,27211,27841,29378,29421,30703,33016,33029,33288,34126,37111,37857,38911,39255,39514,20208,20957,23597,26241,26989,23616,26354,26997,29577,26704,31873,20677,21220,22343,24062,37670,26020,27427,27453,29748,31105,31165,31563,32202,33465,33740,34943,35167,35641,36817,37329,21535,37504,20061,20534,21477,21306,29399,29590,30697,33510,36527,39366,39368,39378,20855,24858,34398,21936,31354,20598,23507,36935,38533,20018,27355,37351,23633,23624,25496,31391,27795,38772,36705,31402,29066,38536,31874,26647,32368,26705,37740,21234,21531,34219,35347,32676,36557,37089,21350,34952,31041,20418,20670,21009,20804,21843,22317,29674,22411,22865,24418,24452,24693,24950,24935,25001,25522,25658,25964,26223,26690,28179,30054,31293,31995,32076,32153,32331,32619,33550,33610,34509,35336,35427,35686,36605,38938,40335,33464,36814,39912,21127,25119,25731,28608,38553,26689,20625,27424,27770,28500,31348,32080,34880,35363,26376,20214,20537,20518,20581,20860,21048,21091,21927,22287,22533,23244,24314,25010,25080,25331,25458,26908,27177,29309,29356,29486,30740,30831,32121,30476,32937,35211,35609,36066,36562,36963,37749,38522,38997,39443,40568,20803,21407,21427,24187,24358,28187,28304,29572,29694,32067,33335,35328,35578,38480,20046,20491,21476,21628,22266,22993,23396,24049,24235,24359,25144,25925,26543,28246,29392,31946,34996,32929,32993,33776,34382,35463,36328,37431,38599,39015,40723,20116,20114,20237,21320,21577,21566,23087,24460,24481,24735,26791,27278,29786,30849,35486,35492,35703,37264,20062,39881,20132,20348,20399,20505,20502,20809,20844,21151,21177,21246,21402,21475,21521,21518,21897,22353,22434,22909,23380,23389,23439,24037,24039,24055,24184,24195,24218,24247,24344,24658,24908,25239,25304,25511,25915,26114,26179,26356,26477,26657,26775,27083,27743,27946,28009,28207,28317,30002,30343,30828,31295,31968,32005,32024,32094,32177,32789,32771,32943,32945,33108,33167,33322,33618,34892,34913,35611,36002,36092,37066,37237,37489,30783,37628,38308,38477,38917,39321,39640,40251,21083,21163,21495,21512,22741,25335,28640,35946,36703,40633,20811,21051,21578,22269,31296,37239,40288,40658,29508,28425,33136,29969,24573,24794,39592,29403,36796,27492,38915,20170,22256,22372,22718,23130,24680,25031,26127,26118,26681,26801,28151,30165,32058,33390,39746,20123,20304,21449,21766,23919,24038,24046,26619,27801,29811,30722,35408,37782,35039,22352,24231,25387,20661,20652,20877,26368,21705,22622,22971,23472,24425,25165,25505,26685,27507,28168,28797,37319,29312,30741,30758,31085,25998,32048,33756,35009,36617,38555,21092,22312,26448,32618,36001,20916,22338,38442,22586,27018,32948,21682,23822,22524,30869,40442,20316,21066,21643,25662,26152,26388,26613,31364,31574,32034,37679,26716,39853,31545,21273,20874,21047,23519,25334,25774,25830,26413,27578,34217,38609,30352,39894,25420,37638,39851,30399,26194,19977,20632,21442,23665,24808,25746,25955,26719,29158,29642,29987,31639,32386,34453,35715,36059,37240,39184,26028,26283,27531,20181,20180,20282,20351,21050,21496,21490,21987,22235,22763,22987,22985,23039,23376,23629,24066,24107,24535,24605,25351,25903,23388,26031,26045,26088,26525,27490,27515,27663,29509,31049,31169,31992,32025,32043,32930,33026,33267,35222,35422,35433,35430,35468,35566,36039,36060,38604,39164,27503,20107,20284,20365,20816,23383,23546,24904,25345,26178,27425,28363,27835,29246,29885,30164,30913,31034,32780,32819,33258,33940,36766,27728,40575,24335,35672,40235,31482,36600,23437,38635,19971,21489,22519,22833,23241,23460,24713,28287,28422,30142,36074,23455,34048,31712,20594,26612,33437,23649,34122,32286,33294,20889,23556,25448,36198,26012,29038,31038,32023,32773,35613,36554,36974,34503,37034,20511,21242,23610,26451,28796,29237,37196,37320,37675,33509,23490,24369,24825,20027,21462,23432,25163,26417,27530,29417,29664,31278,33131,36259,37202,39318,20754,21463,21610,23551,25480,27193,32172,38656,22234,21454,21608,23447,23601,24030,20462,24833,25342,27954,31168,31179,32066,32333,32722,33261,33311,33936,34886,35186,35728,36468,36655,36913,37195,37228,38598,37276,20160,20303,20805,21313,24467,25102,26580,27713,28171,29539,32294,37325,37507,21460,22809,23487,28113,31069,32302,31899,22654,29087,20986,34899,36848,20426,23803,26149,30636,31459,33308,39423,20934,24490,26092,26991,27529,28147,28310,28516,30462,32020,24033,36981,37255,38918,20966,21021,25152,26257,26329,28186,24246,32210,32626,26360,34223,34295,35576,21161,21465,22899,24207,24464,24661,37604,38500,20663,20767,21213,21280,21319,21484,21736,21830,21809,22039,22888,22974,23100,23477,23558,23567,23569,23578,24196,24202,24288,24432,25215,25220,25307,25484,25463,26119,26124,26157,26230,26494,26786,27167,27189,27836,28040,28169,28248,28988,28966,29031,30151,30465,30813,30977,31077,31216,31456,31505,31911,32057,32918,33750,33931,34121,34909,35059,35359,35388,35412,35443,35937,36062,37284,37478,37758,37912,38556,38808,19978,19976,19998,20055,20887,21104,22478,22580,22732,23330,24120,24773,25854,26465,26454,27972,29366,30067,31331,33976,35698,37304,37664,22065,22516,39166,25325,26893,27542,29165,32340,32887,33394,35302,39135,34645,36785,23611,20280,20449,20405,21767,23072,23517,23529,24515,24910,25391,26032,26187,26862,27035,28024,28145,30003,30137,30495,31070,31206,32051,33251,33455,34218,35242,35386,36523,36763,36914,37341,38663,20154,20161,20995,22645,22764,23563,29978,23613,33102,35338,36805,38499,38765,31525,35535,38920,37218,22259,21416,36887,21561,22402,24101,25512,27700,28810,30561,31883,32736,34928,36930,37204,37648,37656,38543,29790,39620,23815,23913,25968,26530,36264,38619,25454,26441,26905,33733,38935,38592,35070,28548,25722,23544,19990,28716,30045,26159,20932,21046,21218,22995,24449,24615,25104,25919,25972,26143,26228,26866,26646,27491,28165,29298,29983,30427,31934,32854,22768,35069,35199,35488,35475,35531,36893,37266,38738,38745,25993,31246,33030,38587,24109,24796,25114,26021,26132,26512,30707,31309,31821,32318,33034,36012,36196,36321,36447,30889,20999,25305,25509,25666,25240,35373,31363,31680,35500,38634,32118,33292,34633,20185,20808,21315,21344,23459,23554,23574,24029,25126,25159,25776,26643,26676,27849,27973,27927,26579,28508,29006,29053,26059,31359,31661,32218,32330,32680,33146,33307,33337,34214,35438,36046,36341,36984,36983,37549,37521,38275,39854,21069,21892,28472,28982,20840,31109,32341,33203,31950,22092,22609,23720,25514,26366,26365,26970,29401,30095,30094,30990,31062,31199,31895,32032,32068,34311,35380,38459,36961,40736,20711,21109,21452,21474,20489,21930,22766,22863,29245,23435,23652,21277,24803,24819,25436,25475,25407,25531,25805,26089,26361,24035,27085,27133,28437,29157,20105,30185,30456,31379,31967,32207,32156,32865,33609,33624,33900,33980,34299,35013,36208,36865,36973,37783,38684,39442,20687,22679,24974,33235,34101,36104,36896,20419,20596,21063,21363,24687,25417,26463,28204,36275,36895,20439,23646,36042,26063,32154,21330,34966,20854,25539,23384,23403,23562,25613,26449,36956,20182,22810,22826,27760,35409,21822,22549,22949,24816,25171,26561,33333,26965,38464,39364,39464,20307,22534,23550,32784,23729,24111,24453,24608,24907,25140,26367,27888,28382,32974,33151,33492,34955,36024,36864,36910,38538,40667,39899,20195,21488,22823,31532,37261,38988,40441,28381,28711,21331,21828,23429,25176,25246,25299,27810,28655,29730,35351,37944,28609,35582,33592,20967,34552,21482,21481,20294,36948,36784,22890,33073,24061,31466,36799,26842,35895,29432,40008,27197,35504,20025,21336,22022,22374,25285,25506,26086,27470,28129,28251,28845,30701,31471,31658,32187,32829,32966,34507,35477,37723,22243,22727,24382,26029,26262,27264,27573,30007,35527,20516,30693,22320,24347,24677,26234,27744,30196,31258,32622,33268,34584,36933,39347,31689,30044,31481,31569,33988,36880,31209,31378,33590,23265,30528,20013,20210,23449,24544,25277,26172,26609,27880,34411,34935,35387,37198,37619,39376,27159,28710,29482,33511,33879,36015,19969,20806,20939,21899,23541,24086,24115,24193,24340,24373,24427,24500,25074,25361,26274,26397,28526,29266,30010,30522,32884,33081,33144,34678,35519,35548,36229,36339,37530,38263,38914,40165,21189,25431,30452,26389,27784,29645,36035,37806,38515,27941,22684,26894,27084,36861,37786,30171,36890,22618,26626,25524,27131,20291,28460,26584,36795,34086,32180,37716,26943,28528,22378,22775,23340,32044,29226,21514,37347,40372,20141,20302,20572,20597,21059,35998,21576,22564,23450,24093,24213,24237,24311,24351,24716,25269,25402,25552,26799,27712,30855,31118,31243,32224,33351,35330,35558,36420,36883,37048,37165,37336,40718,27877,25688,25826,25973,28404,30340,31515,36969,37841,28346,21746,24505,25764,36685,36845,37444,20856,22635,22825,23637,24215,28155,32399,29980,36028,36578,39003,28857,20253,27583,28593,3e4,38651,20814,21520,22581,22615,22956,23648,24466,26007,26460,28193,30331,33759,36077,36884,37117,37709,30757,30778,21162,24230,22303,22900,24594,20498,20826,20908,20941,20992,21776,22612,22616,22871,23445,23798,23947,24764,25237,25645,26481,26691,26812,26847,30423,28120,28271,28059,28783,29128,24403,30168,31095,31561,31572,31570,31958,32113,21040,33891,34153,34276,35342,35588,35910,36367,36867,36879,37913,38518,38957,39472,38360,20685,21205,21516,22530,23566,24999,25758,27934,30643,31461,33012,33796,36947,37509,23776,40199,21311,24471,24499,28060,29305,30563,31167,31716,27602,29420,35501,26627,27233,20984,31361,26932,23626,40182,33515,23493,37193,28702,22136,23663,24775,25958,27788,35930,36929,38931,21585,26311,37389,22856,37027,20869,20045,20970,34201,35598,28760,25466,37707,26978,39348,32260,30071,21335,26976,36575,38627,27741,20108,23612,24336,36841,21250,36049,32905,34425,24319,26085,20083,20837,22914,23615,38894,20219,22922,24525,35469,28641,31152,31074,23527,33905,29483,29105,24180,24565,25467,25754,29123,31896,20035,24316,20043,22492,22178,24745,28611,32013,33021,33075,33215,36786,35223,34468,24052,25226,25773,35207,26487,27874,27966,29750,30772,23110,32629,33453,39340,20467,24259,25309,25490,25943,26479,30403,29260,32972,32954,36649,37197,20493,22521,23186,26757,26995,29028,29437,36023,22770,36064,38506,36889,34687,31204,30695,33833,20271,21093,21338,25293,26575,27850,30333,31636,31893,33334,34180,36843,26333,28448,29190,32283,33707,39361,40614,20989,31665,30834,31672,32903,31560,27368,24161,32908,30033,30048,20843,37474,28300,30330,37271,39658,20240,32624,25244,31567,38309,40169,22138,22617,34532,38588,20276,21028,21322,21453,21467,24070,25644,26001,26495,27710,27726,29256,29359,29677,30036,32321,33324,34281,36009,31684,37318,29033,38930,39151,25405,26217,30058,30436,30928,34115,34542,21290,21329,21542,22915,24199,24444,24754,25161,25209,25259,26e3,27604,27852,30130,30382,30865,31192,32203,32631,32933,34987,35513,36027,36991,38750,39131,27147,31800,20633,23614,24494,26503,27608,29749,30473,32654,40763,26570,31255,21305,30091,39661,24422,33181,33777,32920,24380,24517,30050,31558,36924,26727,23019,23195,32016,30334,35628,20469,24426,27161,27703,28418,29922,31080,34920,35413,35961,24287,25551,30149,31186,33495,37672,37618,33948,34541,39981,21697,24428,25996,27996,28693,36007,36051,38971,25935,29942,19981,20184,22496,22827,23142,23500,20904,24067,24220,24598,25206,25975,26023,26222,28014,29238,31526,33104,33178,33433,35676,36e3,36070,36212,38428,38468,20398,25771,27494,33310,33889,34154,37096,23553,26963,39080,33914,34135,20239,21103,24489,24133,26381,31119,33145,35079,35206,28149,24343,25173,27832,20175,29289,39826,20998,21563,22132,22707,24996,25198,28954,22894,31881,31966,32027,38640,25991,32862,19993,20341,20853,22592,24163,24179,24330,26564,20006,34109,38281,38491,31859,38913,20731,22721,30294,30887,21029,30629,34065,31622,20559,22793,29255,31687,32232,36794,36820,36941,20415,21193,23081,24321,38829,20445,33303,37610,22275,25429,27497,29995,35036,36628,31298,21215,22675,24917,25098,26286,27597,31807,33769,20515,20472,21253,21574,22577,22857,23453,23792,23791,23849,24214,25265,25447,25918,26041,26379,27861,27873,28921,30770,32299,32990,33459,33804,34028,34562,35090,35370,35914,37030,37586,39165,40179,40300,20047,20129,20621,21078,22346,22952,24125,24536,24537,25151,26292,26395,26576,26834,20882,32033,32938,33192,35584,35980,36031,37502,38450,21536,38956,21271,20693,21340,22696,25778,26420,29287,30566,31302,37350,21187,27809,27526,22528,24140,22868,26412,32763,20961,30406,25705,30952,39764,40635,22475,22969,26151,26522,27598,21737,27097,24149,33180,26517,39850,26622,40018,26717,20134,20451,21448,25273,26411,27819,36804,20397,32365,40639,19975,24930,28288,28459,34067,21619,26410,39749,24051,31637,23724,23494,34588,28234,34001,31252,33032,22937,31885,27665,30496,21209,22818,28961,29279,30683,38695,40289,26891,23167,23064,20901,21517,21629,26126,30431,36855,37528,40180,23018,29277,28357,20813,26825,32191,32236,38754,40634,25720,27169,33538,22916,23391,27611,29467,30450,32178,32791,33945,20786,26408,40665,30446,26466,21247,39173,23588,25147,31870,36016,21839,24758,32011,38272,21249,20063,20918,22812,29242,32822,37326,24357,30690,21380,24441,32004,34220,35379,36493,38742,26611,34222,37971,24841,24840,27833,30290,35565,36664,21807,20305,20778,21191,21451,23461,24189,24736,24962,25558,26377,26586,28263,28044,29494,29495,30001,31056,35029,35480,36938,37009,37109,38596,34701,22805,20104,20313,19982,35465,36671,38928,20653,24188,22934,23481,24248,25562,25594,25793,26332,26954,27096,27915,28342,29076,29992,31407,32650,32768,33865,33993,35201,35617,36362,36965,38525,39178,24958,25233,27442,27779,28020,32716,32764,28096,32645,34746,35064,26469,33713,38972,38647,27931,32097,33853,37226,20081,21365,23888,27396,28651,34253,34349,35239,21033,21519,23653,26446,26792,29702,29827,30178,35023,35041,37324,38626,38520,24459,29575,31435,33870,25504,30053,21129,27969,28316,29705,30041,30827,31890,38534,31452,40845,20406,24942,26053,34396,20102,20142,20698,20001,20940,23534,26009,26753,28092,29471,30274,30637,31260,31975,33391,35538,36988,37327,38517,38936,21147,32209,20523,21400,26519,28107,29136,29747,33256,36650,38563,40023,40607,29792,22593,28057,32047,39006,20196,20278,20363,20919,21169,23994,24604,29618,31036,33491,37428,38583,38646,38666,40599,40802,26278,27508,21015,21155,28872,35010,24265,24651,24976,28451,29001,31806,32244,32879,34030,36899,37676,21570,39791,27347,28809,36034,36335,38706,21172,23105,24266,24324,26391,27004,27028,28010,28431,29282,29436,31725,32769,32894,34635,37070,20845,40595,31108,32907,37682,35542,20525,21644,35441,27498,36036,33031,24785,26528,40434,20121,20120,39952,35435,34241,34152,26880,28286,30871,33109,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24332,19984,19989,20010,20017,20022,20028,20031,20034,20054,20056,20098,20101,35947,20106,33298,24333,20110,20126,20127,20128,20130,20144,20147,20150,20174,20173,20164,20166,20162,20183,20190,20205,20191,20215,20233,20314,20272,20315,20317,20311,20295,20342,20360,20367,20376,20347,20329,20336,20369,20335,20358,20374,20760,20436,20447,20430,20440,20443,20433,20442,20432,20452,20453,20506,20520,20500,20522,20517,20485,20252,20470,20513,20521,20524,20478,20463,20497,20486,20547,20551,26371,20565,20560,20552,20570,20566,20588,20600,20608,20634,20613,20660,20658,20681,20682,20659,20674,20694,20702,20709,20717,20707,20718,20729,20725,20745,20737,20738,20758,20757,20756,20762,20769,20794,20791,20796,20795,20799,20800,20818,20812,20820,20834,31480,20841,20842,20846,20864,20866,22232,20876,20873,20879,20881,20883,20885,20886,20900,20902,20898,20905,20906,20907,20915,20913,20914,20912,20917,20925,20933,20937,20955,20960,34389,20969,20973,20976,20981,20990,20996,21003,21012,21006,21031,21034,21038,21043,21049,21071,21060,21067,21068,21086,21076,21098,21108,21097,21107,21119,21117,21133,21140,21138,21105,21128,21137,36776,36775,21164,21165,21180,21173,21185,21197,21207,21214,21219,21222,39149,21216,21235,21237,21240,21241,21254,21256,30008,21261,21264,21263,21269,21274,21283,21295,21297,21299,21304,21312,21318,21317,19991,21321,21325,20950,21342,21353,21358,22808,21371,21367,21378,21398,21408,21414,21413,21422,21424,21430,21443,31762,38617,21471,26364,29166,21486,21480,21485,21498,21505,21565,21568,21548,21549,21564,21550,21558,21545,21533,21582,21647,21621,21646,21599,21617,21623,21616,21650,21627,21632,21622,21636,21648,21638,21703,21666,21688,21669,21676,21700,21704,21672,21675,21698,21668,21694,21692,21720,21733,21734,21775,21780,21757,21742,21741,21754,21730,21817,21824,21859,21836,21806,21852,21829,21846,21847,21816,21811,21853,21913,21888,21679,21898,21919,21883,21886,21912,21918,21934,21884,21891,21929,21895,21928,21978,21957,21983,21956,21980,21988,21972,22036,22007,22038,22014,22013,22043,22009,22094,22096,29151,22068,22070,22066,22072,22123,22116,22063,22124,22122,22150,22144,22154,22176,22164,22159,22181,22190,22198,22196,22210,22204,22209,22211,22208,22216,22222,22225,22227,22231,22254,22265,22272,22271,22276,22281,22280,22283,22285,22291,22296,22294,21959,22300,22310,22327,22328,22350,22331,22336,22351,22377,22464,22408,22369,22399,22409,22419,22432,22451,22436,22442,22448,22467,22470,22484,22482,22483,22538,22486,22499,22539,22553,22557,22642,22561,22626,22603,22640,27584,22610,22589,22649,22661,22713,22687,22699,22714,22750,22715,22712,22702,22725,22739,22737,22743,22745,22744,22757,22748,22756,22751,22767,22778,22777,22779,22780,22781,22786,22794,22800,22811,26790,22821,22828,22829,22834,22840,22846,31442,22869,22864,22862,22874,22872,22882,22880,22887,22892,22889,22904,22913,22941,20318,20395,22947,22962,22982,23016,23004,22925,23001,23002,23077,23071,23057,23068,23049,23066,23104,23148,23113,23093,23094,23138,23146,23194,23228,23230,23243,23234,23229,23267,23255,23270,23273,23254,23290,23291,23308,23307,23318,23346,23248,23338,23350,23358,23363,23365,23360,23377,23381,23386,23387,23397,23401,23408,23411,23413,23416,25992,23418,23424,23427,23462,23480,23491,23495,23497,23508,23504,23524,23526,23522,23518,23525,23531,23536,23542,23539,23557,23559,23560,23565,23571,23584,23586,23592,23608,23609,23617,23622,23630,23635,23632,23631,23409,23660,23662,20066,23670,23673,23692,23697,23700,22939,23723,23739,23734,23740,23735,23749,23742,23751,23769,23785,23805,23802,23789,23948,23786,23819,23829,23831,23900,23839,23835,23825,23828,23842,23834,23833,23832,23884,23890,23886,23883,23916,23923,23926,23943,23940,23938,23970,23965,23980,23982,23997,23952,23991,23996,24009,24013,24019,24018,24022,24027,24043,24050,24053,24075,24090,24089,24081,24091,24118,24119,24132,24131,24128,24142,24151,24148,24159,24162,24164,24135,24181,24182,24186,40636,24191,24224,24257,24258,24264,24272,24271,24278,24291,24285,24282,24283,24290,24289,24296,24297,24300,24305,24307,24304,24308,24312,24318,24323,24329,24413,24412,24331,24337,24342,24361,24365,24376,24385,24392,24396,24398,24367,24401,24406,24407,24409,24417,24429,24435,24439,24451,24450,24447,24458,24456,24465,24455,24478,24473,24472,24480,24488,24493,24508,24534,24571,24548,24568,24561,24541,24755,24575,24609,24672,24601,24592,24617,24590,24625,24603,24597,24619,24614,24591,24634,24666,24641,24682,24695,24671,24650,24646,24653,24675,24643,24676,24642,24684,24683,24665,24705,24717,24807,24707,24730,24708,24731,24726,24727,24722,24743,24715,24801,24760,24800,24787,24756,24560,24765,24774,24757,24792,24909,24853,24838,24822,24823,24832,24820,24826,24835,24865,24827,24817,24845,24846,24903,24894,24872,24871,24906,24895,24892,24876,24884,24893,24898,24900,24947,24951,24920,24921,24922,24939,24948,24943,24933,24945,24927,24925,24915,24949,24985,24982,24967,25004,24980,24986,24970,24977,25003,25006,25036,25034,25033,25079,25032,25027,25030,25018,25035,32633,25037,25062,25059,25078,25082,25076,25087,25085,25084,25086,25088,25096,25097,25101,25100,25108,25115,25118,25121,25130,25134,25136,25138,25139,25153,25166,25182,25187,25179,25184,25192,25212,25218,25225,25214,25234,25235,25238,25300,25219,25236,25303,25297,25275,25295,25343,25286,25812,25288,25308,25292,25290,25282,25287,25243,25289,25356,25326,25329,25383,25346,25352,25327,25333,25424,25406,25421,25628,25423,25494,25486,25472,25515,25462,25507,25487,25481,25503,25525,25451,25449,25534,25577,25536,25542,25571,25545,25554,25590,25540,25622,25652,25606,25619,25638,25654,25885,25623,25640,25615,25703,25711,25718,25678,25898,25749,25747,25765,25769,25736,25788,25818,25810,25797,25799,25787,25816,25794,25841,25831,33289,25824,25825,25260,25827,25839,25900,25846,25844,25842,25850,25856,25853,25880,25884,25861,25892,25891,25899,25908,25909,25911,25910,25912,30027,25928,25942,25941,25933,25944,25950,25949,25970,25976,25986,25987,35722,26011,26015,26027,26039,26051,26054,26049,26052,26060,26066,26075,26073,26080,26081,26097,26482,26122,26115,26107,26483,26165,26166,26164,26140,26191,26180,26185,26177,26206,26205,26212,26215,26216,26207,26210,26224,26243,26248,26254,26249,26244,26264,26269,26305,26297,26313,26302,26300,26308,26296,26326,26330,26336,26175,26342,26345,26352,26357,26359,26383,26390,26398,26406,26407,38712,26414,26431,26422,26433,26424,26423,26438,26462,26464,26457,26467,26468,26505,26480,26537,26492,26474,26508,26507,26534,26529,26501,26551,26607,26548,26604,26547,26601,26552,26596,26590,26589,26594,26606,26553,26574,26566,26599,27292,26654,26694,26665,26688,26701,26674,26702,26803,26667,26713,26723,26743,26751,26783,26767,26797,26772,26781,26779,26755,27310,26809,26740,26805,26784,26810,26895,26765,26750,26881,26826,26888,26840,26914,26918,26849,26892,26829,26836,26855,26837,26934,26898,26884,26839,26851,26917,26873,26848,26863,26920,26922,26906,26915,26913,26822,27001,26999,26972,27e3,26987,26964,27006,26990,26937,26996,26941,26969,26928,26977,26974,26973,27009,26986,27058,27054,27088,27071,27073,27091,27070,27086,23528,27082,27101,27067,27075,27047,27182,27025,27040,27036,27029,27060,27102,27112,27138,27163,27135,27402,27129,27122,27111,27141,27057,27166,27117,27156,27115,27146,27154,27329,27171,27155,27204,27148,27250,27190,27256,27207,27234,27225,27238,27208,27192,27170,27280,27277,27296,27268,27298,27299,27287,34327,27323,27331,27330,27320,27315,27308,27358,27345,27359,27306,27354,27370,27387,27397,34326,27386,27410,27414,39729,27423,27448,27447,30428,27449,39150,27463,27459,27465,27472,27481,27476,27483,27487,27489,27512,27513,27519,27520,27524,27523,27533,27544,27541,27550,27556,27562,27563,27567,27570,27569,27571,27575,27580,27590,27595,27603,27615,27628,27627,27635,27631,40638,27656,27667,27668,27675,27684,27683,27742,27733,27746,27754,27778,27789,27802,27777,27803,27774,27752,27763,27794,27792,27844,27889,27859,27837,27863,27845,27869,27822,27825,27838,27834,27867,27887,27865,27882,27935,34893,27958,27947,27965,27960,27929,27957,27955,27922,27916,28003,28051,28004,27994,28025,27993,28046,28053,28644,28037,28153,28181,28170,28085,28103,28134,28088,28102,28140,28126,28108,28136,28114,28101,28154,28121,28132,28117,28138,28142,28205,28270,28206,28185,28274,28255,28222,28195,28267,28203,28278,28237,28191,28227,28218,28238,28196,28415,28189,28216,28290,28330,28312,28361,28343,28371,28349,28335,28356,28338,28372,28373,28303,28325,28354,28319,28481,28433,28748,28396,28408,28414,28479,28402,28465,28399,28466,28364,28478,28435,28407,28550,28538,28536,28545,28544,28527,28507,28659,28525,28546,28540,28504,28558,28561,28610,28518,28595,28579,28577,28580,28601,28614,28586,28639,28629,28652,28628,28632,28657,28654,28635,28681,28683,28666,28689,28673,28687,28670,28699,28698,28532,28701,28696,28703,28720,28734,28722,28753,28771,28825,28818,28847,28913,28844,28856,28851,28846,28895,28875,28893,28889,28937,28925,28956,28953,29029,29013,29064,29030,29026,29004,29014,29036,29071,29179,29060,29077,29096,29100,29143,29113,29118,29138,29129,29140,29134,29152,29164,29159,29173,29180,29177,29183,29197,29200,29211,29224,29229,29228,29232,29234,29243,29244,29247,29248,29254,29259,29272,29300,29310,29314,29313,29319,29330,29334,29346,29351,29369,29362,29379,29382,29380,29390,29394,29410,29408,29409,29433,29431,20495,29463,29450,29468,29462,29469,29492,29487,29481,29477,29502,29518,29519,40664,29527,29546,29544,29552,29560,29557,29563,29562,29640,29619,29646,29627,29632,29669,29678,29662,29858,29701,29807,29733,29688,29746,29754,29781,29759,29791,29785,29761,29788,29801,29808,29795,29802,29814,29822,29835,29854,29863,29898,29903,29908,29681,29920,29923,29927,29929,29934,29938,29936,29937,29944,29943,29956,29955,29957,29964,29966,29965,29973,29971,29982,29990,29996,30012,30020,30029,30026,30025,30043,30022,30042,30057,30052,30055,30059,30061,30072,30070,30086,30087,30068,30090,30089,30082,30100,30106,30109,30117,30115,30146,30131,30147,30133,30141,30136,30140,30129,30157,30154,30162,30169,30179,30174,30206,30207,30204,30209,30192,30202,30194,30195,30219,30221,30217,30239,30247,30240,30241,30242,30244,30260,30256,30267,30279,30280,30278,30300,30296,30305,30306,30312,30313,30314,30311,30316,30320,30322,30326,30328,30332,30336,30339,30344,30347,30350,30358,30355,30361,30362,30384,30388,30392,30393,30394,30402,30413,30422,30418,30430,30433,30437,30439,30442,34351,30459,30472,30471,30468,30505,30500,30494,30501,30502,30491,30519,30520,30535,30554,30568,30571,30555,30565,30591,30590,30585,30606,30603,30609,30624,30622,30640,30646,30649,30655,30652,30653,30651,30663,30669,30679,30682,30684,30691,30702,30716,30732,30738,31014,30752,31018,30789,30862,30836,30854,30844,30874,30860,30883,30901,30890,30895,30929,30918,30923,30932,30910,30908,30917,30922,30956,30951,30938,30973,30964,30983,30994,30993,31001,31020,31019,31040,31072,31063,31071,31066,31061,31059,31098,31103,31114,31133,31143,40779,31146,31150,31155,31161,31162,31177,31189,31207,31212,31201,31203,31240,31245,31256,31257,31264,31263,31104,31281,31291,31294,31287,31299,31319,31305,31329,31330,31337,40861,31344,31353,31357,31368,31383,31381,31384,31382,31401,31432,31408,31414,31429,31428,31423,36995,31431,31434,31437,31439,31445,31443,31449,31450,31453,31457,31458,31462,31469,31472,31490,31503,31498,31494,31539,31512,31513,31518,31541,31528,31542,31568,31610,31492,31565,31499,31564,31557,31605,31589,31604,31591,31600,31601,31596,31598,31645,31640,31647,31629,31644,31642,31627,31634,31631,31581,31641,31691,31681,31692,31695,31668,31686,31709,31721,31761,31764,31718,31717,31840,31744,31751,31763,31731,31735,31767,31757,31734,31779,31783,31786,31775,31799,31787,31805,31820,31811,31828,31823,31808,31824,31832,31839,31844,31830,31845,31852,31861,31875,31888,31908,31917,31906,31915,31905,31912,31923,31922,31921,31918,31929,31933,31936,31941,31938,31960,31954,31964,31970,39739,31983,31986,31988,31990,31994,32006,32002,32028,32021,32010,32069,32075,32046,32050,32063,32053,32070,32115,32086,32078,32114,32104,32110,32079,32099,32147,32137,32091,32143,32125,32155,32186,32174,32163,32181,32199,32189,32171,32317,32162,32175,32220,32184,32159,32176,32216,32221,32228,32222,32251,32242,32225,32261,32266,32291,32289,32274,32305,32287,32265,32267,32290,32326,32358,32315,32309,32313,32323,32311,32306,32314,32359,32349,32342,32350,32345,32346,32377,32362,32361,32380,32379,32387,32213,32381,36782,32383,32392,32393,32396,32402,32400,32403,32404,32406,32398,32411,32412,32568,32570,32581,32588,32589,32590,32592,32593,32597,32596,32600,32607,32608,32616,32617,32615,32632,32642,32646,32643,32648,32647,32652,32660,32670,32669,32666,32675,32687,32690,32697,32686,32694,32696,35697,32709,32710,32714,32725,32724,32737,32742,32745,32755,32761,39132,32774,32772,32779,32786,32792,32793,32796,32801,32808,32831,32827,32842,32838,32850,32856,32858,32863,32866,32872,32883,32882,32880,32886,32889,32893,32895,32900,32902,32901,32923,32915,32922,32941,20880,32940,32987,32997,32985,32989,32964,32986,32982,33033,33007,33009,33051,33065,33059,33071,33099,38539,33094,33086,33107,33105,33020,33137,33134,33125,33126,33140,33155,33160,33162,33152,33154,33184,33173,33188,33187,33119,33171,33193,33200,33205,33214,33208,33213,33216,33218,33210,33225,33229,33233,33241,33240,33224,33242,33247,33248,33255,33274,33275,33278,33281,33282,33285,33287,33290,33293,33296,33302,33321,33323,33336,33331,33344,33369,33368,33373,33370,33375,33380,33378,33384,33386,33387,33326,33393,33399,33400,33406,33421,33426,33451,33439,33467,33452,33505,33507,33503,33490,33524,33523,33530,33683,33539,33531,33529,33502,33542,33500,33545,33497,33589,33588,33558,33586,33585,33600,33593,33616,33605,33583,33579,33559,33560,33669,33690,33706,33695,33698,33686,33571,33678,33671,33674,33660,33717,33651,33653,33696,33673,33704,33780,33811,33771,33742,33789,33795,33752,33803,33729,33783,33799,33760,33778,33805,33826,33824,33725,33848,34054,33787,33901,33834,33852,34138,33924,33911,33899,33965,33902,33922,33897,33862,33836,33903,33913,33845,33994,33890,33977,33983,33951,34009,33997,33979,34010,34e3,33985,33990,34006,33953,34081,34047,34036,34071,34072,34092,34079,34069,34068,34044,34112,34147,34136,34120,34113,34306,34123,34133,34176,34212,34184,34193,34186,34216,34157,34196,34203,34282,34183,34204,34167,34174,34192,34249,34234,34255,34233,34256,34261,34269,34277,34268,34297,34314,34323,34315,34302,34298,34310,34338,34330,34352,34367,34381,20053,34388,34399,34407,34417,34451,34467,34473,34474,34443,34444,34486,34479,34500,34502,34480,34505,34851,34475,34516,34526,34537,34540,34527,34523,34543,34578,34566,34568,34560,34563,34555,34577,34569,34573,34553,34570,34612,34623,34615,34619,34597,34601,34586,34656,34655,34680,34636,34638,34676,34647,34664,34670,34649,34643,34659,34666,34821,34722,34719,34690,34735,34763,34749,34752,34768,38614,34731,34756,34739,34759,34758,34747,34799,34802,34784,34831,34829,34814,34806,34807,34830,34770,34833,34838,34837,34850,34849,34865,34870,34873,34855,34875,34884,34882,34898,34905,34910,34914,34923,34945,34942,34974,34933,34941,34997,34930,34946,34967,34962,34990,34969,34978,34957,34980,34992,35007,34993,35011,35012,35028,35032,35033,35037,35065,35074,35068,35060,35048,35058,35076,35084,35082,35091,35139,35102,35109,35114,35115,35137,35140,35131,35126,35128,35148,35101,35168,35166,35174,35172,35181,35178,35183,35188,35191,35198,35203,35208,35210,35219,35224,35233,35241,35238,35244,35247,35250,35258,35261,35263,35264,35290,35292,35293,35303,35316,35320,35331,35350,35344,35340,35355,35357,35365,35382,35393,35419,35410,35398,35400,35452,35437,35436,35426,35461,35458,35460,35496,35489,35473,35493,35494,35482,35491,35524,35533,35522,35546,35563,35571,35559,35556,35569,35604,35552,35554,35575,35550,35547,35596,35591,35610,35553,35606,35600,35607,35616,35635,38827,35622,35627,35646,35624,35649,35660,35663,35662,35657,35670,35675,35674,35691,35679,35692,35695,35700,35709,35712,35724,35726,35730,35731,35734,35737,35738,35898,35905,35903,35912,35916,35918,35920,35925,35938,35948,35960,35962,35970,35977,35973,35978,35981,35982,35988,35964,35992,25117,36013,36010,36029,36018,36019,36014,36022,36040,36033,36068,36067,36058,36093,36090,36091,36100,36101,36106,36103,36111,36109,36112,40782,36115,36045,36116,36118,36199,36205,36209,36211,36225,36249,36290,36286,36282,36303,36314,36310,36300,36315,36299,36330,36331,36319,36323,36348,36360,36361,36351,36381,36382,36368,36383,36418,36405,36400,36404,36426,36423,36425,36428,36432,36424,36441,36452,36448,36394,36451,36437,36470,36466,36476,36481,36487,36485,36484,36491,36490,36499,36497,36500,36505,36522,36513,36524,36528,36550,36529,36542,36549,36552,36555,36571,36579,36604,36603,36587,36606,36618,36613,36629,36626,36633,36627,36636,36639,36635,36620,36646,36659,36667,36665,36677,36674,36670,36684,36681,36678,36686,36695,36700,36706,36707,36708,36764,36767,36771,36781,36783,36791,36826,36837,36834,36842,36847,36999,36852,36869,36857,36858,36881,36885,36897,36877,36894,36886,36875,36903,36918,36917,36921,36856,36943,36944,36945,36946,36878,36937,36926,36950,36952,36958,36968,36975,36982,38568,36978,36994,36989,36993,36992,37002,37001,37007,37032,37039,37041,37045,37090,37092,25160,37083,37122,37138,37145,37170,37168,37194,37206,37208,37219,37221,37225,37235,37234,37259,37257,37250,37282,37291,37295,37290,37301,37300,37306,37312,37313,37321,37323,37328,37334,37343,37345,37339,37372,37365,37366,37406,37375,37396,37420,37397,37393,37470,37463,37445,37449,37476,37448,37525,37439,37451,37456,37532,37526,37523,37531,37466,37583,37561,37559,37609,37647,37626,37700,37678,37657,37666,37658,37667,37690,37685,37691,37724,37728,37756,37742,37718,37808,37804,37805,37780,37817,37846,37847,37864,37861,37848,37827,37853,37840,37832,37860,37914,37908,37907,37891,37895,37904,37942,37931,37941,37921,37946,37953,37970,37956,37979,37984,37986,37982,37994,37417,38e3,38005,38007,38013,37978,38012,38014,38017,38015,38274,38279,38282,38292,38294,38296,38297,38304,38312,38311,38317,38332,38331,38329,38334,38346,28662,38339,38349,38348,38357,38356,38358,38364,38369,38373,38370,38433,38440,38446,38447,38466,38476,38479,38475,38519,38492,38494,38493,38495,38502,38514,38508,38541,38552,38549,38551,38570,38567,38577,38578,38576,38580,38582,38584,38585,38606,38603,38601,38605,35149,38620,38669,38613,38649,38660,38662,38664,38675,38670,38673,38671,38678,38681,38692,38698,38704,38713,38717,38718,38724,38726,38728,38722,38729,38748,38752,38756,38758,38760,21202,38763,38769,38777,38789,38780,38785,38778,38790,38795,38799,38800,38812,38824,38822,38819,38835,38836,38851,38854,38856,38859,38876,38893,40783,38898,31455,38902,38901,38927,38924,38968,38948,38945,38967,38973,38982,38991,38987,39019,39023,39024,39025,39028,39027,39082,39087,39089,39094,39108,39107,39110,39145,39147,39171,39177,39186,39188,39192,39201,39197,39198,39204,39200,39212,39214,39229,39230,39234,39241,39237,39248,39243,39249,39250,39244,39253,39319,39320,39333,39341,39342,39356,39391,39387,39389,39384,39377,39405,39406,39409,39410,39419,39416,39425,39439,39429,39394,39449,39467,39479,39493,39490,39488,39491,39486,39509,39501,39515,39511,39519,39522,39525,39524,39529,39531,39530,39597,39600,39612,39616,39631,39633,39635,39636,39646,39647,39650,39651,39654,39663,39659,39662,39668,39665,39671,39675,39686,39704,39706,39711,39714,39715,39717,39719,39720,39721,39722,39726,39727,39730,39748,39747,39759,39757,39758,39761,39768,39796,39827,39811,39825,39830,39831,39839,39840,39848,39860,39872,39882,39865,39878,39887,39889,39890,39907,39906,39908,39892,39905,39994,39922,39921,39920,39957,39956,39945,39955,39948,39942,39944,39954,39946,39940,39982,39963,39973,39972,39969,39984,40007,39986,40006,39998,40026,40032,40039,40054,40056,40167,40172,40176,40201,40200,40171,40195,40198,40234,40230,40367,40227,40223,40260,40213,40210,40257,40255,40254,40262,40264,40285,40286,40292,40273,40272,40281,40306,40329,40327,40363,40303,40314,40346,40356,40361,40370,40388,40385,40379,40376,40378,40390,40399,40386,40409,40403,40440,40422,40429,40431,40445,40474,40475,40478,40565,40569,40573,40577,40584,40587,40588,40594,40597,40593,40605,40613,40617,40632,40618,40621,38753,40652,40654,40655,40656,40660,40668,40670,40669,40672,40677,40680,40687,40692,40694,40695,40697,40699,40700,40701,40711,40712,30391,40725,40737,40748,40766,40778,40786,40788,40803,40799,40800,40801,40806,40807,40812,40810,40823,40818,40822,40853,40860,40864,22575,27079,36953,29796,20956,29081,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,65506,65508,65287,65282,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,65506,65508,65287,65282,12849,8470,8481,8757,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],jis0212:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19970,19972,19973,19980,19986,19999,20003,20004,20008,20011,20014,20015,20016,20021,20032,20033,20036,20039,20049,20058,20060,20067,20072,20073,20084,20085,20089,20095,20109,20118,20119,20125,20143,20153,20163,20176,20186,20187,20192,20193,20194,20200,20207,20209,20211,20213,20221,20222,20223,20224,20226,20227,20232,20235,20236,20242,20245,20246,20247,20249,20270,20273,20320,20275,20277,20279,20281,20283,20286,20288,20290,20296,20297,20299,20300,20306,20308,20310,20312,20319,20323,20330,20332,20334,20337,20343,20344,20345,20346,20349,20350,20353,20354,20356,20357,20361,20362,20364,20366,20368,20370,20371,20372,20375,20377,20378,20382,20383,20402,20407,20409,20411,20412,20413,20414,20416,20417,20421,20422,20424,20425,20427,20428,20429,20431,20434,20444,20448,20450,20464,20466,20476,20477,20479,20480,20481,20484,20487,20490,20492,20494,20496,20499,20503,20504,20507,20508,20509,20510,20514,20519,20526,20528,20530,20531,20533,20544,20545,20546,20549,20550,20554,20556,20558,20561,20562,20563,20567,20569,20575,20576,20578,20579,20582,20583,20586,20589,20592,20593,20539,20609,20611,20612,20614,20618,20622,20623,20624,20626,20627,20628,20630,20635,20636,20638,20639,20640,20641,20642,20650,20655,20656,20665,20666,20669,20672,20675,20676,20679,20684,20686,20688,20691,20692,20696,20700,20701,20703,20706,20708,20710,20712,20713,20719,20721,20726,20730,20734,20739,20742,20743,20744,20747,20748,20749,20750,20722,20752,20759,20761,20763,20764,20765,20766,20771,20775,20776,20780,20781,20783,20785,20787,20788,20789,20792,20793,20802,20810,20815,20819,20821,20823,20824,20831,20836,20838,20862,20867,20868,20875,20878,20888,20893,20897,20899,20909,20920,20922,20924,20926,20927,20930,20936,20943,20945,20946,20947,20949,20952,20958,20962,20965,20974,20978,20979,20980,20983,20993,20994,20997,21010,21011,21013,21014,21016,21026,21032,21041,21042,21045,21052,21061,21065,21077,21079,21080,21082,21084,21087,21088,21089,21094,21102,21111,21112,21113,21120,21122,21125,21130,21132,21139,21141,21142,21143,21144,21146,21148,21156,21157,21158,21159,21167,21168,21174,21175,21176,21178,21179,21181,21184,21188,21190,21192,21196,21199,21201,21204,21206,21211,21212,21217,21221,21224,21225,21226,21228,21232,21233,21236,21238,21239,21248,21251,21258,21259,21260,21265,21267,21272,21275,21276,21278,21279,21285,21287,21288,21289,21291,21292,21293,21296,21298,21301,21308,21309,21310,21314,21324,21323,21337,21339,21345,21347,21349,21356,21357,21362,21369,21374,21379,21383,21384,21390,21395,21396,21401,21405,21409,21412,21418,21419,21423,21426,21428,21429,21431,21432,21434,21437,21440,21445,21455,21458,21459,21461,21466,21469,21470,21472,21478,21479,21493,21506,21523,21530,21537,21543,21544,21546,21551,21553,21556,21557,21571,21572,21575,21581,21583,21598,21602,21604,21606,21607,21609,21611,21613,21614,21620,21631,21633,21635,21637,21640,21641,21645,21649,21653,21654,21660,21663,21665,21670,21671,21673,21674,21677,21678,21681,21687,21689,21690,21691,21695,21702,21706,21709,21710,21728,21738,21740,21743,21750,21756,21758,21759,21760,21761,21765,21768,21769,21772,21773,21774,21781,21802,21803,21810,21813,21814,21819,21820,21821,21825,21831,21833,21834,21837,21840,21841,21848,21850,21851,21854,21856,21857,21860,21862,21887,21889,21890,21894,21896,21902,21903,21905,21906,21907,21908,21911,21923,21924,21933,21938,21951,21953,21955,21958,21961,21963,21964,21966,21969,21970,21971,21975,21976,21979,21982,21986,21993,22006,22015,22021,22024,22026,22029,22030,22031,22032,22033,22034,22041,22060,22064,22067,22069,22071,22073,22075,22076,22077,22079,22080,22081,22083,22084,22086,22089,22091,22093,22095,22100,22110,22112,22113,22114,22115,22118,22121,22125,22127,22129,22130,22133,22148,22149,22152,22155,22156,22165,22169,22170,22173,22174,22175,22182,22183,22184,22185,22187,22188,22189,22193,22195,22199,22206,22213,22217,22218,22219,22223,22224,22220,22221,22233,22236,22237,22239,22241,22244,22245,22246,22247,22248,22257,22251,22253,22262,22263,22273,22274,22279,22282,22284,22289,22293,22298,22299,22301,22304,22306,22307,22308,22309,22313,22314,22316,22318,22319,22323,22324,22333,22334,22335,22341,22342,22348,22349,22354,22370,22373,22375,22376,22379,22381,22382,22383,22384,22385,22387,22388,22389,22391,22393,22394,22395,22396,22398,22401,22403,22412,22420,22423,22425,22426,22428,22429,22430,22431,22433,22421,22439,22440,22441,22444,22456,22461,22471,22472,22476,22479,22485,22493,22494,22500,22502,22503,22505,22509,22512,22517,22518,22520,22525,22526,22527,22531,22532,22536,22537,22497,22540,22541,22555,22558,22559,22560,22566,22567,22573,22578,22585,22591,22601,22604,22605,22607,22608,22613,22623,22625,22628,22631,22632,22648,22652,22655,22656,22657,22663,22664,22665,22666,22668,22669,22671,22672,22676,22678,22685,22688,22689,22690,22694,22697,22705,22706,22724,22716,22722,22728,22733,22734,22736,22738,22740,22742,22746,22749,22753,22754,22761,22771,22789,22790,22795,22796,22802,22803,22804,34369,22813,22817,22819,22820,22824,22831,22832,22835,22837,22838,22847,22851,22854,22866,22867,22873,22875,22877,22878,22879,22881,22883,22891,22893,22895,22898,22901,22902,22905,22907,22908,22923,22924,22926,22930,22933,22935,22943,22948,22951,22957,22958,22959,22960,22963,22967,22970,22972,22977,22979,22980,22984,22986,22989,22994,23005,23006,23007,23011,23012,23015,23022,23023,23025,23026,23028,23031,23040,23044,23052,23053,23054,23058,23059,23070,23075,23076,23079,23080,23082,23085,23088,23108,23109,23111,23112,23116,23120,23125,23134,23139,23141,23143,23149,23159,23162,23163,23166,23179,23184,23187,23190,23193,23196,23198,23199,23200,23202,23207,23212,23217,23218,23219,23221,23224,23226,23227,23231,23236,23238,23240,23247,23258,23260,23264,23269,23274,23278,23285,23286,23293,23296,23297,23304,23319,23348,23321,23323,23325,23329,23333,23341,23352,23361,23371,23372,23378,23382,23390,23400,23406,23407,23420,23421,23422,23423,23425,23428,23430,23434,23438,23440,23441,23443,23444,23446,23464,23465,23468,23469,23471,23473,23474,23479,23482,23484,23488,23489,23501,23503,23510,23511,23512,23513,23514,23520,23535,23537,23540,23549,23564,23575,23582,23583,23587,23590,23593,23595,23596,23598,23600,23602,23605,23606,23641,23642,23644,23650,23651,23655,23656,23657,23661,23664,23668,23669,23674,23675,23676,23677,23687,23688,23690,23695,23698,23709,23711,23712,23714,23715,23718,23722,23730,23732,23733,23738,23753,23755,23762,23773,23767,23790,23793,23794,23796,23809,23814,23821,23826,23851,23843,23844,23846,23847,23857,23860,23865,23869,23871,23874,23875,23878,23880,23893,23889,23897,23882,23903,23904,23905,23906,23908,23914,23917,23920,23929,23930,23934,23935,23937,23939,23944,23946,23954,23955,23956,23957,23961,23963,23967,23968,23975,23979,23984,23988,23992,23993,24003,24007,24011,24016,24014,24024,24025,24032,24036,24041,24056,24057,24064,24071,24077,24082,24084,24085,24088,24095,24096,24110,24104,24114,24117,24126,24139,24144,24137,24145,24150,24152,24155,24156,24158,24168,24170,24171,24172,24173,24174,24176,24192,24203,24206,24226,24228,24229,24232,24234,24236,24241,24243,24253,24254,24255,24262,24268,24267,24270,24273,24274,24276,24277,24284,24286,24293,24299,24322,24326,24327,24328,24334,24345,24348,24349,24353,24354,24355,24356,24360,24363,24364,24366,24368,24372,24374,24379,24381,24383,24384,24388,24389,24391,24397,24400,24404,24408,24411,24416,24419,24420,24423,24431,24434,24436,24437,24440,24442,24445,24446,24457,24461,24463,24470,24476,24477,24482,24487,24491,24484,24492,24495,24496,24497,24504,24516,24519,24520,24521,24523,24528,24529,24530,24531,24532,24542,24545,24546,24552,24553,24554,24556,24557,24558,24559,24562,24563,24566,24570,24572,24583,24586,24589,24595,24596,24599,24600,24602,24607,24612,24621,24627,24629,24640,24647,24648,24649,24652,24657,24660,24662,24663,24669,24673,24679,24689,24702,24703,24706,24710,24712,24714,24718,24721,24723,24725,24728,24733,24734,24738,24740,24741,24744,24752,24753,24759,24763,24766,24770,24772,24776,24777,24778,24779,24782,24783,24788,24789,24793,24795,24797,24798,24802,24805,24818,24821,24824,24828,24829,24834,24839,24842,24844,24848,24849,24850,24851,24852,24854,24855,24857,24860,24862,24866,24874,24875,24880,24881,24885,24886,24887,24889,24897,24901,24902,24905,24926,24928,24940,24946,24952,24955,24956,24959,24960,24961,24963,24964,24971,24973,24978,24979,24983,24984,24988,24989,24991,24992,24997,25e3,25002,25005,25016,25017,25020,25024,25025,25026,25038,25039,25045,25052,25053,25054,25055,25057,25058,25063,25065,25061,25068,25069,25071,25089,25091,25092,25095,25107,25109,25116,25120,25122,25123,25127,25129,25131,25145,25149,25154,25155,25156,25158,25164,25168,25169,25170,25172,25174,25178,25180,25188,25197,25199,25203,25210,25213,25229,25230,25231,25232,25254,25256,25267,25270,25271,25274,25278,25279,25284,25294,25301,25302,25306,25322,25330,25332,25340,25341,25347,25348,25354,25355,25357,25360,25363,25366,25368,25385,25386,25389,25397,25398,25401,25404,25409,25410,25411,25412,25414,25418,25419,25422,25426,25427,25428,25432,25435,25445,25446,25452,25453,25457,25460,25461,25464,25468,25469,25471,25474,25476,25479,25482,25488,25492,25493,25497,25498,25502,25508,25510,25517,25518,25519,25533,25537,25541,25544,25550,25553,25555,25556,25557,25564,25568,25573,25578,25580,25586,25587,25589,25592,25593,25609,25610,25616,25618,25620,25624,25630,25632,25634,25636,25637,25641,25642,25647,25648,25653,25661,25663,25675,25679,25681,25682,25683,25684,25690,25691,25692,25693,25695,25696,25697,25699,25709,25715,25716,25723,25725,25733,25735,25743,25744,25745,25752,25753,25755,25757,25759,25761,25763,25766,25768,25772,25779,25789,25790,25791,25796,25801,25802,25803,25804,25806,25808,25809,25813,25815,25828,25829,25833,25834,25837,25840,25845,25847,25851,25855,25857,25860,25864,25865,25866,25871,25875,25876,25878,25881,25883,25886,25887,25890,25894,25897,25902,25905,25914,25916,25917,25923,25927,25929,25936,25938,25940,25951,25952,25959,25963,25978,25981,25985,25989,25994,26002,26005,26008,26013,26016,26019,26022,26030,26034,26035,26036,26047,26050,26056,26057,26062,26064,26068,26070,26072,26079,26096,26098,26100,26101,26105,26110,26111,26112,26116,26120,26121,26125,26129,26130,26133,26134,26141,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26161,26163,26169,26167,26176,26181,26182,26186,26188,26193,26190,26199,26200,26201,26203,26204,26208,26209,26363,26218,26219,26220,26238,26227,26229,26239,26231,26232,26233,26235,26240,26236,26251,26252,26253,26256,26258,26265,26266,26267,26268,26271,26272,26276,26285,26289,26290,26293,26299,26303,26304,26306,26307,26312,26316,26318,26319,26324,26331,26335,26344,26347,26348,26350,26362,26373,26375,26382,26387,26393,26396,26400,26402,26419,26430,26437,26439,26440,26444,26452,26453,26461,26470,26476,26478,26484,26486,26491,26497,26500,26510,26511,26513,26515,26518,26520,26521,26523,26544,26545,26546,26549,26555,26556,26557,26617,26560,26562,26563,26565,26568,26569,26578,26583,26585,26588,26593,26598,26608,26610,26614,26615,26706,26644,26649,26653,26655,26664,26663,26668,26669,26671,26672,26673,26675,26683,26687,26692,26693,26698,26700,26709,26711,26712,26715,26731,26734,26735,26736,26737,26738,26741,26745,26746,26747,26748,26754,26756,26758,26760,26774,26776,26778,26780,26785,26787,26789,26793,26794,26798,26802,26811,26821,26824,26828,26831,26832,26833,26835,26838,26841,26844,26845,26853,26856,26858,26859,26860,26861,26864,26865,26869,26870,26875,26876,26877,26886,26889,26890,26896,26897,26899,26902,26903,26929,26931,26933,26936,26939,26946,26949,26953,26958,26967,26971,26979,26980,26981,26982,26984,26985,26988,26992,26993,26994,27002,27003,27007,27008,27021,27026,27030,27032,27041,27045,27046,27048,27051,27053,27055,27063,27064,27066,27068,27077,27080,27089,27094,27095,27106,27109,27118,27119,27121,27123,27125,27134,27136,27137,27139,27151,27153,27157,27162,27165,27168,27172,27176,27184,27186,27188,27191,27195,27198,27199,27205,27206,27209,27210,27214,27216,27217,27218,27221,27222,27227,27236,27239,27242,27249,27251,27262,27265,27267,27270,27271,27273,27275,27281,27291,27293,27294,27295,27301,27307,27311,27312,27313,27316,27325,27326,27327,27334,27337,27336,27340,27344,27348,27349,27350,27356,27357,27364,27367,27372,27376,27377,27378,27388,27389,27394,27395,27398,27399,27401,27407,27408,27409,27415,27419,27422,27428,27432,27435,27436,27439,27445,27446,27451,27455,27462,27466,27469,27474,27478,27480,27485,27488,27495,27499,27502,27504,27509,27517,27518,27522,27525,27543,27547,27551,27552,27554,27555,27560,27561,27564,27565,27566,27568,27576,27577,27581,27582,27587,27588,27593,27596,27606,27610,27617,27619,27622,27623,27630,27633,27639,27641,27647,27650,27652,27653,27657,27661,27662,27664,27666,27673,27679,27686,27687,27688,27692,27694,27699,27701,27702,27706,27707,27711,27722,27723,27725,27727,27730,27732,27737,27739,27740,27755,27757,27759,27764,27766,27768,27769,27771,27781,27782,27783,27785,27796,27797,27799,27800,27804,27807,27824,27826,27828,27842,27846,27853,27855,27856,27857,27858,27860,27862,27866,27868,27872,27879,27881,27883,27884,27886,27890,27892,27908,27911,27914,27918,27919,27921,27923,27930,27942,27943,27944,27751,27950,27951,27953,27961,27964,27967,27991,27998,27999,28001,28005,28007,28015,28016,28028,28034,28039,28049,28050,28052,28054,28055,28056,28074,28076,28084,28087,28089,28093,28095,28100,28104,28106,28110,28111,28118,28123,28125,28127,28128,28130,28133,28137,28143,28144,28148,28150,28156,28160,28164,28190,28194,28199,28210,28214,28217,28219,28220,28228,28229,28232,28233,28235,28239,28241,28242,28243,28244,28247,28252,28253,28254,28258,28259,28264,28275,28283,28285,28301,28307,28313,28320,28327,28333,28334,28337,28339,28347,28351,28352,28353,28355,28359,28360,28362,28365,28366,28367,28395,28397,28398,28409,28411,28413,28420,28424,28426,28428,28429,28438,28440,28442,28443,28454,28457,28458,28463,28464,28467,28470,28475,28476,28461,28495,28497,28498,28499,28503,28505,28506,28509,28510,28513,28514,28520,28524,28541,28542,28547,28551,28552,28555,28556,28557,28560,28562,28563,28564,28566,28570,28575,28576,28581,28582,28583,28584,28590,28591,28592,28597,28598,28604,28613,28615,28616,28618,28634,28638,28648,28649,28656,28661,28665,28668,28669,28672,28677,28678,28679,28685,28695,28704,28707,28719,28724,28727,28729,28732,28739,28740,28744,28745,28746,28747,28756,28757,28765,28766,28750,28772,28773,28780,28782,28789,28790,28798,28801,28805,28806,28820,28821,28822,28823,28824,28827,28836,28843,28848,28849,28852,28855,28874,28881,28883,28884,28885,28886,28888,28892,28900,28922,28931,28932,28933,28934,28935,28939,28940,28943,28958,28960,28971,28973,28975,28976,28977,28984,28993,28997,28998,28999,29002,29003,29008,29010,29015,29018,29020,29022,29024,29032,29049,29056,29061,29063,29068,29074,29082,29083,29088,29090,29103,29104,29106,29107,29114,29119,29120,29121,29124,29131,29132,29139,29142,29145,29146,29148,29176,29182,29184,29191,29192,29193,29203,29207,29210,29213,29215,29220,29227,29231,29236,29240,29241,29249,29250,29251,29253,29262,29263,29264,29267,29269,29270,29274,29276,29278,29280,29283,29288,29291,29294,29295,29297,29303,29304,29307,29308,29311,29316,29321,29325,29326,29331,29339,29352,29357,29358,29361,29364,29374,29377,29383,29385,29388,29397,29398,29400,29407,29413,29427,29428,29434,29435,29438,29442,29444,29445,29447,29451,29453,29458,29459,29464,29465,29470,29474,29476,29479,29480,29484,29489,29490,29493,29498,29499,29501,29507,29517,29520,29522,29526,29528,29533,29534,29535,29536,29542,29543,29545,29547,29548,29550,29551,29553,29559,29561,29564,29568,29569,29571,29573,29574,29582,29584,29587,29589,29591,29592,29596,29598,29599,29600,29602,29605,29606,29610,29611,29613,29621,29623,29625,29628,29629,29631,29637,29638,29641,29643,29644,29647,29650,29651,29654,29657,29661,29665,29667,29670,29671,29673,29684,29685,29687,29689,29690,29691,29693,29695,29696,29697,29700,29703,29706,29713,29722,29723,29732,29734,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29753,29760,29763,29764,29766,29767,29771,29773,29777,29778,29783,29789,29794,29798,29799,29800,29803,29805,29806,29809,29810,29824,29825,29829,29830,29831,29833,29839,29840,29841,29842,29848,29849,29850,29852,29855,29856,29857,29859,29862,29864,29865,29866,29867,29870,29871,29873,29874,29877,29881,29883,29887,29896,29897,29900,29904,29907,29912,29914,29915,29918,29919,29924,29928,29930,29931,29935,29940,29946,29947,29948,29951,29958,29970,29974,29975,29984,29985,29988,29991,29993,29994,29999,30006,30009,30013,30014,30015,30016,30019,30023,30024,30030,30032,30034,30039,30046,30047,30049,30063,30065,30073,30074,30075,30076,30077,30078,30081,30085,30096,30098,30099,30101,30105,30108,30114,30116,30132,30138,30143,30144,30145,30148,30150,30156,30158,30159,30167,30172,30175,30176,30177,30180,30183,30188,30190,30191,30193,30201,30208,30210,30211,30212,30215,30216,30218,30220,30223,30226,30227,30229,30230,30233,30235,30236,30237,30238,30243,30245,30246,30249,30253,30258,30259,30261,30264,30265,30266,30268,30282,30272,30273,30275,30276,30277,30281,30283,30293,30297,30303,30308,30309,30317,30318,30319,30321,30324,30337,30341,30348,30349,30357,30363,30364,30365,30367,30368,30370,30371,30372,30373,30374,30375,30376,30378,30381,30397,30401,30405,30409,30411,30412,30414,30420,30425,30432,30438,30440,30444,30448,30449,30454,30457,30460,30464,30470,30474,30478,30482,30484,30485,30487,30489,30490,30492,30498,30504,30509,30510,30511,30516,30517,30518,30521,30525,30526,30530,30533,30534,30538,30541,30542,30543,30546,30550,30551,30556,30558,30559,30560,30562,30564,30567,30570,30572,30576,30578,30579,30580,30586,30589,30592,30596,30604,30605,30612,30613,30614,30618,30623,30626,30631,30634,30638,30639,30641,30645,30654,30659,30665,30673,30674,30677,30681,30686,30687,30688,30692,30694,30698,30700,30704,30705,30708,30712,30715,30725,30726,30729,30733,30734,30737,30749,30753,30754,30755,30765,30766,30768,30773,30775,30787,30788,30791,30792,30796,30798,30802,30812,30814,30816,30817,30819,30820,30824,30826,30830,30842,30846,30858,30863,30868,30872,30881,30877,30878,30879,30884,30888,30892,30893,30896,30897,30898,30899,30907,30909,30911,30919,30920,30921,30924,30926,30930,30931,30933,30934,30948,30939,30943,30944,30945,30950,30954,30962,30963,30976,30966,30967,30970,30971,30975,30982,30988,30992,31002,31004,31006,31007,31008,31013,31015,31017,31021,31025,31028,31029,31035,31037,31039,31044,31045,31046,31050,31051,31055,31057,31060,31064,31067,31068,31079,31081,31083,31090,31097,31099,31100,31102,31115,31116,31121,31123,31124,31125,31126,31128,31131,31132,31137,31144,31145,31147,31151,31153,31156,31160,31163,31170,31172,31175,31176,31178,31183,31188,31190,31194,31197,31198,31200,31202,31205,31210,31211,31213,31217,31224,31228,31234,31235,31239,31241,31242,31244,31249,31253,31259,31262,31265,31271,31275,31277,31279,31280,31284,31285,31288,31289,31290,31300,31301,31303,31304,31308,31317,31318,31321,31324,31325,31327,31328,31333,31335,31338,31341,31349,31352,31358,31360,31362,31365,31366,31370,31371,31376,31377,31380,31390,31392,31395,31404,31411,31413,31417,31419,31420,31430,31433,31436,31438,31441,31451,31464,31465,31467,31468,31473,31476,31483,31485,31486,31495,31508,31519,31523,31527,31529,31530,31531,31533,31534,31535,31536,31537,31540,31549,31551,31552,31553,31559,31566,31573,31584,31588,31590,31593,31594,31597,31599,31602,31603,31607,31620,31625,31630,31632,31633,31638,31643,31646,31648,31653,31660,31663,31664,31666,31669,31670,31674,31675,31676,31677,31682,31685,31688,31690,31700,31702,31703,31705,31706,31707,31720,31722,31730,31732,31733,31736,31737,31738,31740,31742,31745,31746,31747,31748,31750,31753,31755,31756,31758,31759,31769,31771,31776,31781,31782,31784,31788,31793,31795,31796,31798,31801,31802,31814,31818,31829,31825,31826,31827,31833,31834,31835,31836,31837,31838,31841,31843,31847,31849,31853,31854,31856,31858,31865,31868,31869,31878,31879,31887,31892,31902,31904,31910,31920,31926,31927,31930,31931,31932,31935,31940,31943,31944,31945,31949,31951,31955,31956,31957,31959,31961,31962,31965,31974,31977,31979,31989,32003,32007,32008,32009,32015,32017,32018,32019,32022,32029,32030,32035,32038,32042,32045,32049,32060,32061,32062,32064,32065,32071,32072,32077,32081,32083,32087,32089,32090,32092,32093,32101,32103,32106,32112,32120,32122,32123,32127,32129,32130,32131,32133,32134,32136,32139,32140,32141,32145,32150,32151,32157,32158,32166,32167,32170,32179,32182,32183,32185,32194,32195,32196,32197,32198,32204,32205,32206,32215,32217,32256,32226,32229,32230,32234,32235,32237,32241,32245,32246,32249,32250,32264,32272,32273,32277,32279,32284,32285,32288,32295,32296,32300,32301,32303,32307,32310,32319,32324,32325,32327,32334,32336,32338,32344,32351,32353,32354,32357,32363,32366,32367,32371,32376,32382,32385,32390,32391,32394,32397,32401,32405,32408,32410,32413,32414,32572,32571,32573,32574,32575,32579,32580,32583,32591,32594,32595,32603,32604,32605,32609,32611,32612,32613,32614,32621,32625,32637,32638,32639,32640,32651,32653,32655,32656,32657,32662,32663,32668,32673,32674,32678,32682,32685,32692,32700,32703,32704,32707,32712,32718,32719,32731,32735,32739,32741,32744,32748,32750,32751,32754,32762,32765,32766,32767,32775,32776,32778,32781,32782,32783,32785,32787,32788,32790,32797,32798,32799,32800,32804,32806,32812,32814,32816,32820,32821,32823,32825,32826,32828,32830,32832,32836,32864,32868,32870,32877,32881,32885,32897,32904,32910,32924,32926,32934,32935,32939,32952,32953,32968,32973,32975,32978,32980,32981,32983,32984,32992,33005,33006,33008,33010,33011,33014,33017,33018,33022,33027,33035,33046,33047,33048,33052,33054,33056,33060,33063,33068,33072,33077,33082,33084,33093,33095,33098,33100,33106,33111,33120,33121,33127,33128,33129,33133,33135,33143,33153,33168,33156,33157,33158,33163,33166,33174,33176,33179,33182,33186,33198,33202,33204,33211,33227,33219,33221,33226,33230,33231,33237,33239,33243,33245,33246,33249,33252,33259,33260,33264,33265,33266,33269,33270,33272,33273,33277,33279,33280,33283,33295,33299,33300,33305,33306,33309,33313,33314,33320,33330,33332,33338,33347,33348,33349,33350,33355,33358,33359,33361,33366,33372,33376,33379,33383,33389,33396,33403,33405,33407,33408,33409,33411,33412,33415,33417,33418,33422,33425,33428,33430,33432,33434,33435,33440,33441,33443,33444,33447,33448,33449,33450,33454,33456,33458,33460,33463,33466,33468,33470,33471,33478,33488,33493,33498,33504,33506,33508,33512,33514,33517,33519,33526,33527,33533,33534,33536,33537,33543,33544,33546,33547,33620,33563,33565,33566,33567,33569,33570,33580,33581,33582,33584,33587,33591,33594,33596,33597,33602,33603,33604,33607,33613,33614,33617,33621,33622,33623,33648,33656,33661,33663,33664,33666,33668,33670,33677,33682,33684,33685,33688,33689,33691,33692,33693,33702,33703,33705,33708,33726,33727,33728,33735,33737,33743,33744,33745,33748,33757,33619,33768,33770,33782,33784,33785,33788,33793,33798,33802,33807,33809,33813,33817,33709,33839,33849,33861,33863,33864,33866,33869,33871,33873,33874,33878,33880,33881,33882,33884,33888,33892,33893,33895,33898,33904,33907,33908,33910,33912,33916,33917,33921,33925,33938,33939,33941,33950,33958,33960,33961,33962,33967,33969,33972,33978,33981,33982,33984,33986,33991,33992,33996,33999,34003,34012,34023,34026,34031,34032,34033,34034,34039,34098,34042,34043,34045,34050,34051,34055,34060,34062,34064,34076,34078,34082,34083,34084,34085,34087,34090,34091,34095,34099,34100,34102,34111,34118,34127,34128,34129,34130,34131,34134,34137,34140,34141,34142,34143,34144,34145,34146,34148,34155,34159,34169,34170,34171,34173,34175,34177,34181,34182,34185,34187,34188,34191,34195,34200,34205,34207,34208,34210,34213,34215,34228,34230,34231,34232,34236,34237,34238,34239,34242,34247,34250,34251,34254,34221,34264,34266,34271,34272,34278,34280,34285,34291,34294,34300,34303,34304,34308,34309,34317,34318,34320,34321,34322,34328,34329,34331,34334,34337,34343,34345,34358,34360,34362,34364,34365,34368,34370,34374,34386,34387,34390,34391,34392,34393,34397,34400,34401,34402,34403,34404,34409,34412,34415,34421,34422,34423,34426,34445,34449,34454,34456,34458,34460,34465,34470,34471,34472,34477,34481,34483,34484,34485,34487,34488,34489,34495,34496,34497,34499,34501,34513,34514,34517,34519,34522,34524,34528,34531,34533,34535,34440,34554,34556,34557,34564,34565,34567,34571,34574,34575,34576,34579,34580,34585,34590,34591,34593,34595,34600,34606,34607,34609,34610,34617,34618,34620,34621,34622,34624,34627,34629,34637,34648,34653,34657,34660,34661,34671,34673,34674,34683,34691,34692,34693,34694,34695,34696,34697,34699,34700,34704,34707,34709,34711,34712,34713,34718,34720,34723,34727,34732,34733,34734,34737,34741,34750,34751,34753,34760,34761,34762,34766,34773,34774,34777,34778,34780,34783,34786,34787,34788,34794,34795,34797,34801,34803,34808,34810,34815,34817,34819,34822,34825,34826,34827,34832,34841,34834,34835,34836,34840,34842,34843,34844,34846,34847,34856,34861,34862,34864,34866,34869,34874,34876,34881,34883,34885,34888,34889,34890,34891,34894,34897,34901,34902,34904,34906,34908,34911,34912,34916,34921,34929,34937,34939,34944,34968,34970,34971,34972,34975,34976,34984,34986,35002,35005,35006,35008,35018,35019,35020,35021,35022,35025,35026,35027,35035,35038,35047,35055,35056,35057,35061,35063,35073,35078,35085,35086,35087,35093,35094,35096,35097,35098,35100,35104,35110,35111,35112,35120,35121,35122,35125,35129,35130,35134,35136,35138,35141,35142,35145,35151,35154,35159,35162,35163,35164,35169,35170,35171,35179,35182,35184,35187,35189,35194,35195,35196,35197,35209,35213,35216,35220,35221,35227,35228,35231,35232,35237,35248,35252,35253,35254,35255,35260,35284,35285,35286,35287,35288,35301,35305,35307,35309,35313,35315,35318,35321,35325,35327,35332,35333,35335,35343,35345,35346,35348,35349,35358,35360,35362,35364,35366,35371,35372,35375,35381,35383,35389,35390,35392,35395,35397,35399,35401,35405,35406,35411,35414,35415,35416,35420,35421,35425,35429,35431,35445,35446,35447,35449,35450,35451,35454,35455,35456,35459,35462,35467,35471,35472,35474,35478,35479,35481,35487,35495,35497,35502,35503,35507,35510,35511,35515,35518,35523,35526,35528,35529,35530,35537,35539,35540,35541,35543,35549,35551,35564,35568,35572,35573,35574,35580,35583,35589,35590,35595,35601,35612,35614,35615,35594,35629,35632,35639,35644,35650,35651,35652,35653,35654,35656,35666,35667,35668,35673,35661,35678,35683,35693,35702,35704,35705,35708,35710,35713,35716,35717,35723,35725,35727,35732,35733,35740,35742,35743,35896,35897,35901,35902,35909,35911,35913,35915,35919,35921,35923,35924,35927,35928,35931,35933,35929,35939,35940,35942,35944,35945,35949,35955,35957,35958,35963,35966,35974,35975,35979,35984,35986,35987,35993,35995,35996,36004,36025,36026,36037,36038,36041,36043,36047,36054,36053,36057,36061,36065,36072,36076,36079,36080,36082,36085,36087,36088,36094,36095,36097,36099,36105,36114,36119,36123,36197,36201,36204,36206,36223,36226,36228,36232,36237,36240,36241,36245,36254,36255,36256,36262,36267,36268,36271,36274,36277,36279,36281,36283,36288,36293,36294,36295,36296,36298,36302,36305,36308,36309,36311,36313,36324,36325,36327,36332,36336,36284,36337,36338,36340,36349,36353,36356,36357,36358,36363,36369,36372,36374,36384,36385,36386,36387,36390,36391,36401,36403,36406,36407,36408,36409,36413,36416,36417,36427,36429,36430,36431,36436,36443,36444,36445,36446,36449,36450,36457,36460,36461,36463,36464,36465,36473,36474,36475,36482,36483,36489,36496,36498,36501,36506,36507,36509,36510,36514,36519,36521,36525,36526,36531,36533,36538,36539,36544,36545,36547,36548,36551,36559,36561,36564,36572,36584,36590,36592,36593,36599,36601,36602,36589,36608,36610,36615,36616,36623,36624,36630,36631,36632,36638,36640,36641,36643,36645,36647,36648,36652,36653,36654,36660,36661,36662,36663,36666,36672,36673,36675,36679,36687,36689,36690,36691,36692,36693,36696,36701,36702,36709,36765,36768,36769,36772,36773,36774,36789,36790,36792,36798,36800,36801,36806,36810,36811,36813,36816,36818,36819,36821,36832,36835,36836,36840,36846,36849,36853,36854,36859,36862,36866,36868,36872,36876,36888,36891,36904,36905,36911,36906,36908,36909,36915,36916,36919,36927,36931,36932,36940,36955,36957,36962,36966,36967,36972,36976,36980,36985,36997,37e3,37003,37004,37006,37008,37013,37015,37016,37017,37019,37024,37025,37026,37029,37040,37042,37043,37044,37046,37053,37068,37054,37059,37060,37061,37063,37064,37077,37079,37080,37081,37084,37085,37087,37093,37074,37110,37099,37103,37104,37108,37118,37119,37120,37124,37125,37126,37128,37133,37136,37140,37142,37143,37144,37146,37148,37150,37152,37157,37154,37155,37159,37161,37166,37167,37169,37172,37174,37175,37177,37178,37180,37181,37187,37191,37192,37199,37203,37207,37209,37210,37211,37217,37220,37223,37229,37236,37241,37242,37243,37249,37251,37253,37254,37258,37262,37265,37267,37268,37269,37272,37278,37281,37286,37288,37292,37293,37294,37296,37297,37298,37299,37302,37307,37308,37309,37311,37314,37315,37317,37331,37332,37335,37337,37338,37342,37348,37349,37353,37354,37356,37357,37358,37359,37360,37361,37367,37369,37371,37373,37376,37377,37380,37381,37382,37383,37385,37386,37388,37392,37394,37395,37398,37400,37404,37405,37411,37412,37413,37414,37416,37422,37423,37424,37427,37429,37430,37432,37433,37434,37436,37438,37440,37442,37443,37446,37447,37450,37453,37454,37455,37457,37464,37465,37468,37469,37472,37473,37477,37479,37480,37481,37486,37487,37488,37493,37494,37495,37496,37497,37499,37500,37501,37503,37512,37513,37514,37517,37518,37522,37527,37529,37535,37536,37540,37541,37543,37544,37547,37551,37554,37558,37560,37562,37563,37564,37565,37567,37568,37569,37570,37571,37573,37574,37575,37576,37579,37580,37581,37582,37584,37587,37589,37591,37592,37593,37596,37597,37599,37600,37601,37603,37605,37607,37608,37612,37614,37616,37625,37627,37631,37632,37634,37640,37645,37649,37652,37653,37660,37661,37662,37663,37665,37668,37669,37671,37673,37674,37683,37684,37686,37687,37703,37704,37705,37712,37713,37714,37717,37719,37720,37722,37726,37732,37733,37735,37737,37738,37741,37743,37744,37745,37747,37748,37750,37754,37757,37759,37760,37761,37762,37768,37770,37771,37773,37775,37778,37781,37784,37787,37790,37793,37795,37796,37798,37800,37803,37812,37813,37814,37818,37801,37825,37828,37829,37830,37831,37833,37834,37835,37836,37837,37843,37849,37852,37854,37855,37858,37862,37863,37881,37879,37880,37882,37883,37885,37889,37890,37892,37896,37897,37901,37902,37903,37909,37910,37911,37919,37934,37935,37937,37938,37939,37940,37947,37951,37949,37955,37957,37960,37962,37964,37973,37977,37980,37983,37985,37987,37992,37995,37997,37998,37999,38001,38002,38020,38019,38264,38265,38270,38276,38280,38284,38285,38286,38301,38302,38303,38305,38310,38313,38315,38316,38324,38326,38330,38333,38335,38342,38344,38345,38347,38352,38353,38354,38355,38361,38362,38365,38366,38367,38368,38372,38374,38429,38430,38434,38436,38437,38438,38444,38449,38451,38455,38456,38457,38458,38460,38461,38465,38482,38484,38486,38487,38488,38497,38510,38516,38523,38524,38526,38527,38529,38530,38531,38532,38537,38545,38550,38554,38557,38559,38564,38565,38566,38569,38574,38575,38579,38586,38602,38610,23986,38616,38618,38621,38622,38623,38633,38639,38641,38650,38658,38659,38661,38665,38682,38683,38685,38689,38690,38691,38696,38705,38707,38721,38723,38730,38734,38735,38741,38743,38744,38746,38747,38755,38759,38762,38766,38771,38774,38775,38776,38779,38781,38783,38784,38793,38805,38806,38807,38809,38810,38814,38815,38818,38828,38830,38833,38834,38837,38838,38840,38841,38842,38844,38846,38847,38849,38852,38853,38855,38857,38858,38860,38861,38862,38864,38865,38868,38871,38872,38873,38877,38878,38880,38875,38881,38884,38895,38897,38900,38903,38904,38906,38919,38922,38937,38925,38926,38932,38934,38940,38942,38944,38947,38950,38955,38958,38959,38960,38962,38963,38965,38949,38974,38980,38983,38986,38993,38994,38995,38998,38999,39001,39002,39010,39011,39013,39014,39018,39020,39083,39085,39086,39088,39092,39095,39096,39098,39099,39103,39106,39109,39112,39116,39137,39139,39141,39142,39143,39146,39155,39158,39170,39175,39176,39185,39189,39190,39191,39194,39195,39196,39199,39202,39206,39207,39211,39217,39218,39219,39220,39221,39225,39226,39227,39228,39232,39233,39238,39239,39240,39245,39246,39252,39256,39257,39259,39260,39262,39263,39264,39323,39325,39327,39334,39344,39345,39346,39349,39353,39354,39357,39359,39363,39369,39379,39380,39385,39386,39388,39390,39399,39402,39403,39404,39408,39412,39413,39417,39421,39422,39426,39427,39428,39435,39436,39440,39441,39446,39454,39456,39458,39459,39460,39463,39469,39470,39475,39477,39478,39480,39495,39489,39492,39498,39499,39500,39502,39505,39508,39510,39517,39594,39596,39598,39599,39602,39604,39605,39606,39609,39611,39614,39615,39617,39619,39622,39624,39630,39632,39634,39637,39638,39639,39643,39644,39648,39652,39653,39655,39657,39660,39666,39667,39669,39673,39674,39677,39679,39680,39681,39682,39683,39684,39685,39688,39689,39691,39692,39693,39694,39696,39698,39702,39705,39707,39708,39712,39718,39723,39725,39731,39732,39733,39735,39737,39738,39741,39752,39755,39756,39765,39766,39767,39771,39774,39777,39779,39781,39782,39784,39786,39787,39788,39789,39790,39795,39797,39799,39800,39801,39807,39808,39812,39813,39814,39815,39817,39818,39819,39821,39823,39824,39828,39834,39837,39838,39846,39847,39849,39852,39856,39857,39858,39863,39864,39867,39868,39870,39871,39873,39879,39880,39886,39888,39895,39896,39901,39903,39909,39911,39914,39915,39919,39923,39927,39928,39929,39930,39933,39935,39936,39938,39947,39951,39953,39958,39960,39961,39962,39964,39966,39970,39971,39974,39975,39976,39977,39978,39985,39989,39990,39991,39997,40001,40003,40004,40005,40009,40010,40014,40015,40016,40019,40020,40022,40024,40027,40029,40030,40031,40035,40041,40042,40028,40043,40040,40046,40048,40050,40053,40055,40059,40166,40178,40183,40185,40203,40194,40209,40215,40216,40220,40221,40222,40239,40240,40242,40243,40244,40250,40252,40261,40253,40258,40259,40263,40266,40275,40276,40287,40291,40290,40293,40297,40298,40299,40304,40310,40311,40315,40316,40318,40323,40324,40326,40330,40333,40334,40338,40339,40341,40342,40343,40344,40353,40362,40364,40366,40369,40373,40377,40380,40383,40387,40391,40393,40394,40404,40405,40406,40407,40410,40414,40415,40416,40421,40423,40425,40427,40430,40432,40435,40436,40446,40458,40450,40455,40462,40464,40465,40466,40469,40470,40473,40476,40477,40570,40571,40572,40576,40578,40579,40580,40581,40583,40590,40591,40598,40600,40603,40606,40612,40616,40620,40622,40623,40624,40627,40628,40629,40646,40648,40651,40661,40671,40676,40679,40684,40685,40686,40688,40689,40690,40693,40696,40703,40706,40707,40713,40719,40720,40721,40722,40724,40726,40727,40729,40730,40731,40735,40738,40742,40746,40747,40751,40753,40754,40756,40759,40761,40762,40764,40765,40767,40769,40771,40772,40773,40774,40775,40787,40789,40790,40791,40792,40794,40797,40798,40808,40809,40813,40814,40815,40816,40817,40819,40821,40826,40829,40847,40848,40849,40850,40852,40854,40855,40862,40865,40866,40867,40869,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]}}(this||{})},290:function(module,__unused_webpack_exports,__webpack_require__){!function(global2){"use strict";function inRange(a,min,max){return min<=a&&a<=max}module.exports&&!global2["encoding-indexes"]&&(global2["encoding-indexes"]=__webpack_require__(6413)["encoding-indexes"]);var floor=Math.floor;function ToDictionary(o){if(void 0===o)return{};if(o===Object(o))return o;throw TypeError("Could not convert argument to dictionary")}function isASCIIByte(a){return 0<=a&&a<=127}var isASCIICodePoint=isASCIIByte;function Stream(tokens){this.tokens=[].slice.call(tokens),this.tokens.reverse()}function decoderError(fatal,opt_code_point){if(fatal)throw TypeError("Decoder error");return opt_code_point||65533}function encoderError(code_point){throw TypeError("The code point "+code_point+" could not be encoded.")}function getEncoding(label){return label=String(label).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(label_to_encoding,label)?label_to_encoding[label]:null}Stream.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():-1},prepend:function(token){if(Array.isArray(token))for(var tokens=token;tokens.length;)this.tokens.push(tokens.pop());else this.tokens.push(token)},push:function(token){if(Array.isArray(token))for(var tokens=token;tokens.length;)this.tokens.unshift(tokens.shift());else this.tokens.unshift(token)}};var encodings=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],label_to_encoding={};encodings.forEach(function(category){category.encodings.forEach(function(encoding){encoding.labels.forEach(function(label){label_to_encoding[label]=encoding})})});var shift_jis_index,big5_index_no_hkscs,encoders={},decoders={};function indexCodePointFor(pointer,index2){return index2&&index2[pointer]||null}function indexPointerFor(code_point,index2){var pointer=index2.indexOf(code_point);return-1===pointer?null:pointer}function index(name){if(!("encoding-indexes"in global2))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return global2["encoding-indexes"][name]}function TextDecoder2(label,options){if(!(this instanceof TextDecoder2))throw TypeError("Called as a function. Did you forget 'new'?");label=void 0!==label?String(label):"utf-8",options=ToDictionary(options),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var encoding=getEncoding(label);if(null===encoding||"replacement"===encoding.name)throw RangeError("Unknown encoding: "+label);if(!decoders[encoding.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");return this._encoding=encoding,options.fatal&&(this._error_mode="fatal"),options.ignoreBOM&&(this._ignoreBOM=!0),Object.defineProperty||(this.encoding=this._encoding.name.toLowerCase(),this.fatal="fatal"===this._error_mode,this.ignoreBOM=this._ignoreBOM),this}function TextEncoder2(label,options){if(!(this instanceof TextEncoder2))throw TypeError("Called as a function. Did you forget 'new'?");if(options=ToDictionary(options),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=options.fatal?"fatal":"replacement",options.NONSTANDARD_allowLegacyEncoding){var encoding=getEncoding(label=void 0!==label?String(label):"utf-8");if(null===encoding||"replacement"===encoding.name)throw RangeError("Unknown encoding: "+label);if(!encoders[encoding.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");this._encoding=encoding}else this._encoding=getEncoding("utf-8"),void 0!==label&&"console"in global2&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=this._encoding.name.toLowerCase()),this}function UTF8Decoder(options){var fatal=options.fatal,utf8_code_point=0,utf8_bytes_seen=0,utf8_bytes_needed=0,utf8_lower_boundary=128,utf8_upper_boundary=191;this.handler=function(stream,bite){if(-1===bite&&0!==utf8_bytes_needed)return utf8_bytes_needed=0,decoderError(fatal);if(-1===bite)return-1;if(0===utf8_bytes_needed){if(inRange(bite,0,127))return bite;if(inRange(bite,194,223))utf8_bytes_needed=1,utf8_code_point=31&bite;else if(inRange(bite,224,239))224===bite&&(utf8_lower_boundary=160),237===bite&&(utf8_upper_boundary=159),utf8_bytes_needed=2,utf8_code_point=15&bite;else{if(!inRange(bite,240,244))return decoderError(fatal);240===bite&&(utf8_lower_boundary=144),244===bite&&(utf8_upper_boundary=143),utf8_bytes_needed=3,utf8_code_point=7&bite}return null}if(!inRange(bite,utf8_lower_boundary,utf8_upper_boundary))return utf8_code_point=utf8_bytes_needed=utf8_bytes_seen=0,utf8_lower_boundary=128,utf8_upper_boundary=191,stream.prepend(bite),decoderError(fatal);if(utf8_lower_boundary=128,utf8_upper_boundary=191,utf8_code_point=utf8_code_point<<6|63&bite,(utf8_bytes_seen+=1)!==utf8_bytes_needed)return null;var code_point=utf8_code_point;return utf8_code_point=utf8_bytes_needed=utf8_bytes_seen=0,code_point}}function UTF8Encoder(options){this.handler=function(stream,code_point){if(-1===code_point)return-1;if(isASCIICodePoint(code_point))return code_point;var count,offset;inRange(code_point,128,2047)?(count=1,offset=192):inRange(code_point,2048,65535)?(count=2,offset=224):inRange(code_point,65536,1114111)&&(count=3,offset=240);for(var bytes=[(code_point>>6*count)+offset];count>0;)bytes.push(128|63&code_point>>6*(count-1)),count-=1;return bytes}}function SingleByteDecoder(index2,options){var fatal=options.fatal;this.handler=function(stream,bite){if(-1===bite)return-1;if(isASCIIByte(bite))return bite;var code_point=index2[bite-128];return null===code_point?decoderError(fatal):code_point}}function SingleByteEncoder(index2,options){this.handler=function(stream,code_point){if(-1===code_point)return-1;if(isASCIICodePoint(code_point))return code_point;var pointer=indexPointerFor(code_point,index2);return null===pointer&&encoderError(code_point),pointer+128}}function GB18030Decoder(options){var fatal=options.fatal,gb18030_first=0,gb18030_second=0,gb18030_third=0;this.handler=function(stream,bite){if(-1===bite&&0===gb18030_first&&0===gb18030_second&&0===gb18030_third)return-1;var code_point;if(-1===bite&&(0!==gb18030_first||0!==gb18030_second||0!==gb18030_third)&&(gb18030_first=0,gb18030_second=0,gb18030_third=0,decoderError(fatal)),0!==gb18030_third){code_point=null,inRange(bite,48,57)&&(code_point=function indexGB18030RangesCodePointFor(pointer){if(pointer>39419&&pointer<189e3||pointer>1237575)return null;if(7457===pointer)return 59335;var i,offset=0,code_point_offset=0,idx=index("gb18030-ranges");for(i=0;i>8,byte2=255&code_unit;return utf16be?[byte1,byte2]:[byte2,byte1]}function UTF16Decoder(utf16_be,options){var fatal=options.fatal,utf16_lead_byte=null,utf16_lead_surrogate=null;this.handler=function(stream,bite){if(-1===bite&&(null!==utf16_lead_byte||null!==utf16_lead_surrogate))return decoderError(fatal);if(-1===bite&&null===utf16_lead_byte&&null===utf16_lead_surrogate)return-1;if(null===utf16_lead_byte)return utf16_lead_byte=bite,null;var code_unit;if(code_unit=utf16_be?(utf16_lead_byte<<8)+bite:(bite<<8)+utf16_lead_byte,utf16_lead_byte=null,null!==utf16_lead_surrogate){var lead_surrogate=utf16_lead_surrogate;return utf16_lead_surrogate=null,inRange(code_unit,56320,57343)?65536+1024*(lead_surrogate-55296)+(code_unit-56320):(stream.prepend(convertCodeUnitToBytes(code_unit,utf16_be)),decoderError(fatal))}return inRange(code_unit,55296,56319)?(utf16_lead_surrogate=code_unit,null):inRange(code_unit,56320,57343)?decoderError(fatal):code_unit}}function UTF16Encoder(utf16_be,options){this.handler=function(stream,code_point){if(-1===code_point)return-1;if(inRange(code_point,0,65535))return convertCodeUnitToBytes(code_point,utf16_be);var lead=convertCodeUnitToBytes(55296+(code_point-65536>>10),utf16_be),trail=convertCodeUnitToBytes(56320+(code_point-65536&1023),utf16_be);return lead.concat(trail)}}function XUserDefinedDecoder(options){this.handler=function(stream,bite){return-1===bite?-1:isASCIIByte(bite)?bite:63360+bite-128}}function XUserDefinedEncoder(options){this.handler=function(stream,code_point){return-1===code_point?-1:isASCIICodePoint(code_point)?code_point:inRange(code_point,63360,63487)?code_point-63360+128:encoderError(code_point)}}Object.defineProperty&&(Object.defineProperty(TextDecoder2.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(TextDecoder2.prototype,"fatal",{get:function(){return"fatal"===this._error_mode}}),Object.defineProperty(TextDecoder2.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}})),TextDecoder2.prototype.decode=function(input,options){var bytes;bytes="object"==typeof input&&input instanceof ArrayBuffer?new Uint8Array(input):"object"==typeof input&&"buffer"in input&&input.buffer instanceof ArrayBuffer?new Uint8Array(input.buffer,input.byteOffset,input.byteLength):new Uint8Array(0),options=ToDictionary(options),this._do_not_flush||(this._decoder=decoders[this._encoding.name]({fatal:"fatal"===this._error_mode}),this._BOMseen=!1),this._do_not_flush=!!options.stream;for(var result,input_stream=new Stream(bytes),output=[];;){var token=input_stream.read();if(-1===token||-1===(result=this._decoder.handler(input_stream,token)))break;null!==result&&(Array.isArray(result)?output.push.apply(output,result):output.push(result))}if(!this._do_not_flush){do{if(-1===(result=this._decoder.handler(input_stream,input_stream.read())))break;null!==result&&(Array.isArray(result)?output.push.apply(output,result):output.push(result))}while(!input_stream.endOfStream());this._decoder=null}return function serializeStream(stream){return function includes(array,item){return-1!==array.indexOf(item)}(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(stream.length>0&&65279===stream[0]?(this._BOMseen=!0,stream.shift()):stream.length>0&&(this._BOMseen=!0)),function codePointsToString(code_points){for(var s="",i=0;i>10),56320+(1023&cp)))}return s}(stream)}.call(this,output)},Object.defineProperty&&Object.defineProperty(TextEncoder2.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),TextEncoder2.prototype.encode=function(opt_string,options){opt_string=void 0===opt_string?"":String(opt_string),options=ToDictionary(options),this._do_not_flush||(this._encoder=encoders[this._encoding.name]({fatal:"fatal"===this._fatal})),this._do_not_flush=!!options.stream;for(var result,input=new Stream(function stringToCodePoints(string){for(var s=String(string),n=s.length,i=0,u=[];i57343)u.push(c);else if(56320<=c&&c<=57343)u.push(65533);else if(55296<=c&&c<=56319)if(i===n-1)u.push(65533);else{var d=s.charCodeAt(i+1);56320<=d&&d<=57343?(u.push(65536+((1023&c)<<10)+(1023&d)),i+=1):u.push(65533)}i+=1}return u}(opt_string)),output=[];;){var token=input.read();if(-1===token||-1===(result=this._encoder.handler(input,token)))break;Array.isArray(result)?output.push.apply(output,result):output.push(result)}if(!this._do_not_flush){for(;-1!==(result=this._encoder.handler(input,input.read()));)Array.isArray(result)?output.push.apply(output,result):output.push(result);this._encoder=null}return new Uint8Array(output)},encoders["UTF-8"]=function(options){return new UTF8Encoder(options)},decoders["UTF-8"]=function(options){return new UTF8Decoder(options)},"encoding-indexes"in global2&&encodings.forEach(function(category){"Legacy single-byte encodings"===category.heading&&category.encodings.forEach(function(encoding){var name=encoding.name,idx=index(name.toLowerCase());decoders[name]=function(options){return new SingleByteDecoder(idx,options)},encoders[name]=function(options){return new SingleByteEncoder(idx,options)}})}),decoders.GBK=function(options){return new GB18030Decoder(options)},encoders.GBK=function(options){return new GB18030Encoder(options,!0)},encoders.gb18030=function(options){return new GB18030Encoder(options)},decoders.gb18030=function(options){return new GB18030Decoder(options)},encoders.Big5=function(options){return new Big5Encoder(options)},decoders.Big5=function(options){return new Big5Decoder(options)},encoders["EUC-JP"]=function(options){return new EUCJPEncoder(options)},decoders["EUC-JP"]=function(options){return new EUCJPDecoder(options)},encoders["ISO-2022-JP"]=function(options){return new ISO2022JPEncoder(options)},decoders["ISO-2022-JP"]=function(options){return new ISO2022JPDecoder(options)},encoders.Shift_JIS=function(options){return new ShiftJISEncoder(options)},decoders.Shift_JIS=function(options){return new ShiftJISDecoder(options)},encoders["EUC-KR"]=function(options){return new EUCKREncoder(options)},decoders["EUC-KR"]=function(options){return new EUCKRDecoder(options)},encoders["UTF-16BE"]=function(options){return new UTF16Encoder(!0,options)},decoders["UTF-16BE"]=function(options){return new UTF16Decoder(!0,options)},encoders["UTF-16LE"]=function(options){return new UTF16Encoder(!1,options)},decoders["UTF-16LE"]=function(options){return new UTF16Decoder(!1,options)},encoders["x-user-defined"]=function(options){return new XUserDefinedEncoder(options)},decoders["x-user-defined"]=function(options){return new XUserDefinedDecoder(options)},global2.TextEncoder||(global2.TextEncoder=TextEncoder2),global2.TextDecoder||(global2.TextDecoder=TextDecoder2),module.exports&&(module.exports={TextEncoder:global2.TextEncoder,TextDecoder:global2.TextDecoder,EncodingIndexes:global2["encoding-indexes"]})}(this||{})},4750:module=>{module.exports=function(arg){return arg&&"object"==typeof arg&&"function"==typeof arg.copy&&"function"==typeof arg.fill&&"function"==typeof arg.readUInt8}},6758:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";var isArgumentsObject=__webpack_require__(8147),isGeneratorFunction=__webpack_require__(3286),whichTypedArray=__webpack_require__(6326),isTypedArray=__webpack_require__(2462);function uncurryThis(f){return f.call.bind(f)}var BigIntSupported=typeof BigInt<"u",SymbolSupported=typeof Symbol<"u",ObjectToString=uncurryThis(Object.prototype.toString),numberValue=uncurryThis(Number.prototype.valueOf),stringValue=uncurryThis(String.prototype.valueOf),booleanValue=uncurryThis(Boolean.prototype.valueOf);if(BigIntSupported)var bigIntValue=uncurryThis(BigInt.prototype.valueOf);if(SymbolSupported)var symbolValue=uncurryThis(Symbol.prototype.valueOf);function checkBoxedPrimitive(value,prototypeValueOf){if("object"!=typeof value)return!1;try{return prototypeValueOf(value),!0}catch{return!1}}function isMapToString(value){return"[object Map]"===ObjectToString(value)}function isSetToString(value){return"[object Set]"===ObjectToString(value)}function isWeakMapToString(value){return"[object WeakMap]"===ObjectToString(value)}function isWeakSetToString(value){return"[object WeakSet]"===ObjectToString(value)}function isArrayBufferToString(value){return"[object ArrayBuffer]"===ObjectToString(value)}function isArrayBuffer(value){return!(typeof ArrayBuffer>"u")&&(isArrayBufferToString.working?isArrayBufferToString(value):value instanceof ArrayBuffer)}function isDataViewToString(value){return"[object DataView]"===ObjectToString(value)}function isDataView(value){return!(typeof DataView>"u")&&(isDataViewToString.working?isDataViewToString(value):value instanceof DataView)}exports.isArgumentsObject=isArgumentsObject,exports.isGeneratorFunction=isGeneratorFunction,exports.isTypedArray=isTypedArray,exports.isPromise=function isPromise(input){return typeof Promise<"u"&&input instanceof Promise||null!==input&&"object"==typeof input&&"function"==typeof input.then&&"function"==typeof input.catch},exports.isArrayBufferView=function isArrayBufferView(value){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(value):isTypedArray(value)||isDataView(value)},exports.isUint8Array=function isUint8Array(value){return"Uint8Array"===whichTypedArray(value)},exports.isUint8ClampedArray=function isUint8ClampedArray(value){return"Uint8ClampedArray"===whichTypedArray(value)},exports.isUint16Array=function isUint16Array(value){return"Uint16Array"===whichTypedArray(value)},exports.isUint32Array=function isUint32Array(value){return"Uint32Array"===whichTypedArray(value)},exports.isInt8Array=function isInt8Array(value){return"Int8Array"===whichTypedArray(value)},exports.isInt16Array=function isInt16Array(value){return"Int16Array"===whichTypedArray(value)},exports.isInt32Array=function isInt32Array(value){return"Int32Array"===whichTypedArray(value)},exports.isFloat32Array=function isFloat32Array(value){return"Float32Array"===whichTypedArray(value)},exports.isFloat64Array=function isFloat64Array(value){return"Float64Array"===whichTypedArray(value)},exports.isBigInt64Array=function isBigInt64Array(value){return"BigInt64Array"===whichTypedArray(value)},exports.isBigUint64Array=function isBigUint64Array(value){return"BigUint64Array"===whichTypedArray(value)},isMapToString.working=typeof Map<"u"&&isMapToString(new Map),exports.isMap=function isMap(value){return!(typeof Map>"u")&&(isMapToString.working?isMapToString(value):value instanceof Map)},isSetToString.working=typeof Set<"u"&&isSetToString(new Set),exports.isSet=function isSet(value){return!(typeof Set>"u")&&(isSetToString.working?isSetToString(value):value instanceof Set)},isWeakMapToString.working=typeof WeakMap<"u"&&isWeakMapToString(new WeakMap),exports.isWeakMap=function isWeakMap(value){return!(typeof WeakMap>"u")&&(isWeakMapToString.working?isWeakMapToString(value):value instanceof WeakMap)},isWeakSetToString.working=typeof WeakSet<"u"&&isWeakSetToString(new WeakSet),exports.isWeakSet=function isWeakSet(value){return isWeakSetToString(value)},isArrayBufferToString.working=typeof ArrayBuffer<"u"&&isArrayBufferToString(new ArrayBuffer),exports.isArrayBuffer=isArrayBuffer,isDataViewToString.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&isDataViewToString(new DataView(new ArrayBuffer(1),0,1)),exports.isDataView=isDataView;var SharedArrayBufferCopy=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function isSharedArrayBufferToString(value){return"[object SharedArrayBuffer]"===ObjectToString(value)}function isSharedArrayBuffer(value){return!(typeof SharedArrayBufferCopy>"u")&&(typeof isSharedArrayBufferToString.working>"u"&&(isSharedArrayBufferToString.working=isSharedArrayBufferToString(new SharedArrayBufferCopy)),isSharedArrayBufferToString.working?isSharedArrayBufferToString(value):value instanceof SharedArrayBufferCopy)}function isNumberObject(value){return checkBoxedPrimitive(value,numberValue)}function isStringObject(value){return checkBoxedPrimitive(value,stringValue)}function isBooleanObject(value){return checkBoxedPrimitive(value,booleanValue)}function isBigIntObject(value){return BigIntSupported&&checkBoxedPrimitive(value,bigIntValue)}function isSymbolObject(value){return SymbolSupported&&checkBoxedPrimitive(value,symbolValue)}exports.isSharedArrayBuffer=isSharedArrayBuffer,exports.isAsyncFunction=function isAsyncFunction(value){return"[object AsyncFunction]"===ObjectToString(value)},exports.isMapIterator=function isMapIterator(value){return"[object Map Iterator]"===ObjectToString(value)},exports.isSetIterator=function isSetIterator(value){return"[object Set Iterator]"===ObjectToString(value)},exports.isGeneratorObject=function isGeneratorObject(value){return"[object Generator]"===ObjectToString(value)},exports.isWebAssemblyCompiledModule=function isWebAssemblyCompiledModule(value){return"[object WebAssembly.Module]"===ObjectToString(value)},exports.isNumberObject=isNumberObject,exports.isStringObject=isStringObject,exports.isBooleanObject=isBooleanObject,exports.isBigIntObject=isBigIntObject,exports.isSymbolObject=isSymbolObject,exports.isBoxedPrimitive=function isBoxedPrimitive(value){return isNumberObject(value)||isStringObject(value)||isBooleanObject(value)||isBigIntObject(value)||isSymbolObject(value)},exports.isAnyArrayBuffer=function isAnyArrayBuffer(value){return typeof Uint8Array<"u"&&(isArrayBuffer(value)||isSharedArrayBuffer(value))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(method){Object.defineProperty(exports,method,{enumerable:!1,value:function(){throw new Error(method+" is not supported in userland")}})})},179:(__unused_webpack_module,exports,__webpack_require__)=>{var getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors||function(obj){for(var keys=Object.keys(obj),descriptors={},i=0;i=len)return x2;switch(x2){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch{return"[Circular]"}default:return x2}}),x=args[i];i"u")return function(){return exports.deprecate(fn,msg).apply(this,arguments)};var warned=!1;return function deprecated(){if(!warned){if(process.throwDeprecation)throw new Error(msg);process.traceDeprecation?console.trace(msg):console.error(msg),warned=!0}return fn.apply(this,arguments)}};var debugs={},debugEnvRegex=/^$/;if(process.env.NODE_DEBUG){var debugEnv=process.env.NODE_DEBUG;debugEnv=debugEnv.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),debugEnvRegex=new RegExp("^"+debugEnv+"$","i")}function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(ctx.depth=arguments[2]),arguments.length>=4&&(ctx.colors=arguments[3]),isBoolean(opts)?ctx.showHidden=opts:opts&&exports._extend(ctx,opts),isUndefined(ctx.showHidden)&&(ctx.showHidden=!1),isUndefined(ctx.depth)&&(ctx.depth=2),isUndefined(ctx.colors)&&(ctx.colors=!1),isUndefined(ctx.customInspect)&&(ctx.customInspect=!0),ctx.colors&&(ctx.stylize=stylizeWithColor),formatValue(ctx,obj,ctx.depth)}function stylizeWithColor(str,styleType){var style2=inspect.styles[styleType];return style2?"\x1b["+inspect.colors[style2][0]+"m"+str+"\x1b["+inspect.colors[style2][1]+"m":str}function stylizeNoColor(str,styleType){return str}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&(!value.constructor||value.constructor.prototype!==value)){var ret=value.inspect(recurseTimes,ctx);return isString(ret)||(ret=formatValue(ctx,ret,recurseTimes)),ret}var primitive=function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}return isNumber(value)?ctx.stylize(""+value,"number"):isBoolean(value)?ctx.stylize(""+value,"boolean"):isNull(value)?ctx.stylize("null","null"):void 0}(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}(keys);if(ctx.showHidden&&(keys=Object.getOwnPropertyNames(value)),isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0))return formatError(value);if(0===keys.length){if(isFunction(value))return ctx.stylize("[Function"+(value.name?": "+value.name:"")+"]","special");if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),"regexp");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),"date");if(isError(value))return formatError(value)}var output,base="",array=!1,braces=["{","}"];return isArray(value)&&(array=!0,braces=["[","]"]),isFunction(value)&&(base=" [Function"+(value.name?": "+value.name:"")+"]"),isRegExp(value)&&(base=" "+RegExp.prototype.toString.call(value)),isDate(value)&&(base=" "+Date.prototype.toUTCString.call(value)),isError(value)&&(base=" "+formatError(value)),0!==keys.length||array&&0!=value.length?recurseTimes<0?isRegExp(value)?ctx.stylize(RegExp.prototype.toString.call(value),"regexp"):ctx.stylize("[Object]","special"):(ctx.seen.push(value),output=array?function formatArray(ctx,value,recurseTimes,visibleKeys,keys){for(var output=[],i=0,l=value.length;i60?braces[0]+(""===base?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]:braces[0]+base+" "+output.join(", ")+" "+braces[1]}(output,base,braces)):braces[0]+base+braces[1]}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if((desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]}).get?str=ctx.stylize(desc.set?"[Getter/Setter]":"[Getter]","special"):desc.set&&(str=ctx.stylize("[Setter]","special")),hasOwnProperty(visibleKeys,key)||(name="["+key+"]"),str||(ctx.seen.indexOf(desc.value)<0?(str=isNull(recurseTimes)?formatValue(ctx,desc.value,null):formatValue(ctx,desc.value,recurseTimes-1)).indexOf("\n")>-1&&(str=array?str.split("\n").map(function(line){return" "+line}).join("\n").slice(2):"\n"+str.split("\n").map(function(line){return" "+line}).join("\n")):str=ctx.stylize("[Circular]","special")),isUndefined(name)){if(array&&key.match(/^\d+$/))return str;(name=JSON.stringify(""+key)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(name=name.slice(1,-1),name=ctx.stylize(name,"name")):(name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),name=ctx.stylize(name,"string"))}return name+": "+str}function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return"boolean"==typeof arg}function isNull(arg){return null===arg}function isNumber(arg){return"number"==typeof arg}function isString(arg){return"string"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return isObject(re)&&"[object RegExp]"===objectToString(re)}function isObject(arg){return"object"==typeof arg&&null!==arg}function isDate(d){return isObject(d)&&"[object Date]"===objectToString(d)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(arg){return"function"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}exports.debuglog=function(set){if(set=set.toUpperCase(),!debugs[set])if(debugEnvRegex.test(set)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else debugs[set]=function(){};return debugs[set]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.types=__webpack_require__(6758),exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=function isNullOrUndefined(arg){return null==arg},exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=function isSymbol(arg){return"symbol"==typeof arg},exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.types.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.types.isDate=isDate,exports.isError=isError,exports.types.isNativeError=isError,exports.isFunction=isFunction,exports.isPrimitive=function isPrimitive2(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||typeof arg>"u"},exports.isBuffer=__webpack_require__(4750);var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}exports.log=function(){console.log("%s - %s",function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}(),exports.format.apply(exports,arguments))},exports.inherits=__webpack_require__(6698),exports._extend=function(origin,add){if(!add||!isObject(add))return origin;for(var keys=Object.keys(add),i=keys.length;i--;)origin[keys[i]]=add[keys[i]];return origin};var kCustomPromisifiedSymbol=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function callbackifyOnRejected(reason,cb){if(!reason){var newReason=new Error("Promise was rejected with a falsy value");newReason.reason=reason,reason=newReason}return cb(reason)}exports.promisify=function(original){if("function"!=typeof original)throw new TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn;if("function"!=typeof(fn=original[kCustomPromisifiedSymbol]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0}),fn}function fn(){for(var promiseResolve,promiseReject,promise=new Promise(function(resolve,reject){promiseResolve=resolve,promiseReject=reject}),args=[],i=0;i{"use strict";var forEach=__webpack_require__(3307),availableTypedArrays=__webpack_require__(9067),callBind=__webpack_require__(5436),callBound=__webpack_require__(1098),gOPD=__webpack_require__(9262),$toString=callBound("Object.prototype.toString"),hasToStringTag=__webpack_require__(8041)(),g=typeof globalThis>"u"?global:globalThis,typedArrays=availableTypedArrays(),$slice=callBound("String.prototype.slice"),getPrototypeOf=Object.getPrototypeOf,$indexOf=callBound("Array.prototype.indexOf",!0)||function(array,value){for(var i=0;i-1?tag:"Object"===tag&&function(value){var found=!1;return forEach(cache,function(getter,name){if(!found)try{getter(value),found=$slice(name,1)}catch{}}),found}(value)}return gOPD?function(value){var found=!1;return forEach(cache,function(getter,typedArray){if(!found)try{"$"+getter(value)===typedArray&&(found=$slice(typedArray,1))}catch{}}),found}(value):null}},9067:module=>{"use strict";var possibleNames=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],g=typeof globalThis>"u"?global:globalThis;module.exports=function(){for(var out=[],i=0;i{__webpack_require__(__webpack_require__.s=1774)}]); \ No newline at end of file